Retro Assembler
Updated on April 29, 2022Retro Assembler is a lightweight but powerful macro assembler that can be used to develop software for classic computers and game consoles built with various CPU types. With its portability and Visual Studio Code integration it makes assembly development a pleasant experience on most mainstream operating systems.
Retro Assembler in Visual Studio Code
Current Version
- Version 2022.1 – Released on April 29, 2022
Platforms
- Portable package built for .NET 6
- Runs on Windows, macOS and Linux, on X86, X64 and ARM architectures
Supported CPU Types
- MOS 6502 with standard and undocumented instructions
- WDC 65C02 / 65SC02 with standard and vendor specific instructions
- WDC 65816 with standard instructions
- CSC 4510 with standard instructions
- MEGA65 45GS02 with standard instructions
- Intel 4004 with standard instructions
- Intel 4040 with standard instructions
- Intel 8008 with standard instructions
- Intel 8080 with standard instructions
- Intel 8085 with standard and undocumented instructions
- Nintendo Gameboy with standard and alternative instructions
- Zilog Z80 with standard and undocumented instructions
Output Formats
- BIN – Binary file
- PRG – Binary file with load address header
- SBIN – Binary file with load address and data length header
- T64 – Tape image format for Commodore computers
- D64 – Disk image format for Commodore computers
- TXT – Configurable text file format
- XEX – Binary file with data chunks and launcher for Atari DOS
- GB – Nintendo Gameboy ROM format
- NES – Nintendo Entertainment System ROM format
- SFC – Super Nintendo Entertainment System ROM format
- SMS – Sega Master System ROM format
- GG – Sega Game Gear ROM format
- TAP – ZX Spectrum 48K Tape format
Features
- Support for multiple CPU types in one easy to learn, familiar package
- Customizable binary output to target various classic computers and game consoles without the need for an external linker
- Practically unlimited target memory with 32 bit address space
- Versatile memory management using Memory Banks and relocatable Memory Segments, in support of complex file structures
- Global, Local and in-Macro labels using Namespaces
- Constants, Variables, complex Expressions and Operators
- Various control Directives and customizable Settings
- Nested source code with include files, binary includes and custom include paths
- Powerful Macro capabilities with parameters and default values
- Loop, If and While directives for advanced code building
- Byte, Word and String management in memory
- Data generators (Sine waves etc)
- Long Branch support and other code optimizations
- Reasonable compatibility with other assemblers
- Disassembler (binary code file to text conversion)
- Customizable Debugger output file with code/data view and launcher
- Exhaustive Documentation
- And a lot more...
Supported Editors
- Visual Studio Code Extension with Light, Dark and Blue themes
- Notepad++
Guides
Get it, it's free!
RetroAssembler.zip Version 2022.1 with documentation and examples
See the documentation for details.
Windows Version
For the time being I can still build a Windows version which uses .NET Framework 4.8, and also can run on macOS and Linux using Mono. The latest build is Retro Assembler for Windows V2022.1 but it's recommended to switch to the now standard .NET 6 version for future updates.