Bass is a macro assembler for 6502 cross-development written by Aleksi Eeben in 2025. Development will continue into the foreseeable future, with features added as needed and bugs fixed as they are found. The latest update introduces memory banking, support for exporting large REU files, ROM image generation for game consoles, and 65C02 instruction set as an option.
Bass is designed to be minimalistic, clutter-free, precise, beautiful, and fun — with minimal mental overhead from remembering directive structures or unnecessary formalities. Just write code and sip some coffee all night. If you’ve used DASM or ASM-One, you’ll feel instantly at home.
Target platforms include C64, VIC 20, C128, C16/Plus4, NES, Apple II/IIe/IIc, Atari 2600, Atari Lynx, Atari 400/800/5200/7800, Oric-1, Oric Atmos, Acorn Atom, Acorn Electron, BBC Micro, Acorn Master 128, Commander X16, PC Engine/TurboGrafx-16, and T-800 Model 101.
Bass is written in Lua, with precompiled binaries available for macOS, Windows, Linux PCs, and the Raspberry Pi 5. (Pi 3 or 4 with 64-bit OS installed should work too.)
Lua bytecode version is also provided, built on Lua 5.4.8.
Version 1.02 (18 Nov 2025) adds support for memory banking, exporting large REU files, building ROM images for game consoles, and optional 65C02 mode. New directives: bank, reusave, append.
Version 1.01 (25 Sep 2025) added one directive, a few error checks, and corrects a blocked variable name.
See the Bass Manual for detailed information.
Download the latest version of Bass via Dropbox or Google Drive.
Note: You may not use Bass to compile T-800 Model 101 code that could be harmful to humans.