Retro Development

Written by

in

ASM48 is an open-source cross-assembler specifically designed for the Intel MCS-48 (8048) family of 8-bit microcontrollers. Originally created by David Hovemeyer for personal enjoyment, it has evolved through collaborative efforts into a stable, production-quality tool for retrocomputing enthusiasts and hardware developers. Core Purpose and Functionality

As a cross-assembler, ASM48 runs on modern host operating systems but compiles assembly language into machine code meant for target vintage processors.

Target Hardware: It targets the ubiquitous Intel 8048 architecture and its compatible variants, including the 8035, 8039, and 8049.

Output Format: It converts human-readable assembly mnemonics into standard Intel HEX format (.HEX), which can be directly read by device programmers or hardware emulators to flash onto the microcontrollers.

Disassembler Included: The package bundles a companion disassembler tool. Developers are encouraged to pass their compiled binaries back through it to visually audit and verify the accuracy of the output machine code. Technical Architecture

The tool is built with a focus on cross-platform portability and clean standard-compliant programming:

Language Stack: Written entirely in Standard C, utilizing the classic Flex (lexical analyzer) and Bison (parser generator) tools to read and process source files. Build System: Relies on a flexible GNU Make environment.

Host Compatibility: The code compiles and executes smoothly across Windows (including Cygwin environments), Linux, and macOS. Evolution and Project History

The software’s development is divided into two major eras of progression:

The 2003 Original (v0.1): Initially authored by Dave Hovemeyer, the codebase established a functional, crash-proof core for parsing 8048 instructions.

The 2013 Expansion (v0.4.1): The Adventure Vision Development Team of MEGA adopted the code to support homebrew game design for the Entex Adventure Vision console (which relies on an Intel 8048 variant). They introduced advanced directives, conditional branching logic, file inclusions (include), and bug fixes, pushing the utility to a highly stable v0.4.1 milestone.

Modern Hosting: In December 2020, the project formally migrated away from its historic SourceForge presence onto its current asm48 GitHub Repository.

If you are planning to build a project with this assembler, let me know:

What host operating system are you planning to run the assembler on?

Are you writing code for a specific retro console (like the Adventure Vision) or a custom development board?

Do you need help setting up the build environment using Flex and Bison?

daveho/asm48: Cross assembler for the Intel 8048 … – GitHub

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *