Skip to content

Latest commit

 

History

82 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

retroasm

CI Codecov Release Go Reference License LLM assisted: human reviewed

An assembler for retro systems. It converts assembly source or an abstract syntax tree (AST) to machine code and ROM files.

Features

  • 6502 assembly - Assembles source for NES output
  • Library API - Assembles source text or an AST from Go programs
  • Configuration files - Uses ca65-style files to define memory and segments
  • Macros and conditionals - Processes macros and conditional assembly directives
  • Expressions - Evaluates arithmetic and bitwise expressions in assembly source

Supported Systems

System CPU Status
NES 6502 Supported

Quick Start

Installation

Download a binary from Releases, or install from source with Go 1.25 or newer:

go install github.com/retroenv/retroasm/cmd/retroasm@latest

Basic Usage

Assemble a 6502 source file for NES. Use -o to set the output file:

retroasm -o game.nes program.asm

Use a ca65-style configuration file to set the memory layout:

retroasm -c memory.cfg -o game.nes program.asm

See the library guide for Go integration. Run retroasm -h to see all command options.

About

Modern Assembler for Retro Computer Systems

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages