Releases: StewBC/a2m
UI Improvements
Release Notes (since V2.1 / 99a088c, Feb 4, 2026)
Summary
This release focuses mainly on config/UI workflow improvements, file browser usability, debugger/breakpoint behavior, audio fixes, and documentation/manual updates.
Highlights
- Added a new button to load an INI file and reconfigure based on the loaded file.
- Added a config dialog so INI files no longer have to be edited by hand.
- Enabled directory selection in FILE_BROWSER and use of relative paths for readability.
- File browser now includes a cursor selector.
- Symbol lookup now supports cursor and keyboard selection.
- Breakpoints now respect bank selectors.
- Speaker code fixes and updates.
- Multiple documentation/manual updates.
a2m Version 2.1 -- Assembler more ca65 like
Release Notes
- This release fixes bugs from the the V2.0 release.
- The new work is mostly in the assembler.
Assembler Language Features
- Scoped symbols implemented with a tree model; root-anchored labels supported.
- New scope directives:
.scope/.endscopeand.proc/.endproc. - Segment system added:
.segdefand.segment, with segment-based output reporting (overruns/gaps). - Macro locals expanded:
.localsupports macro name replacement and forward-reference lookup fixes. - Repeat blocks added:
.repeatand.endrep/.endrepeat. .addraccepted as alias for.word..asciizadded..resadded and documented..bytenow accepts strings; tokenization improved to respect quoted strings.
Assembler Engine / Correctness
- Better error reporting, symbol dumping (with symbol types), and safer symbol lookups.
- Macro forward-reference fixes and safer emit behavior.
- Assembler refactor and settings: runs in input file's folder; INI-based config.
- Keybindings: assembler mapped to
Ctrl+F4and config toCtrl+Shift+F4.
Emulator / UI & Input
- Memory view improvements and selector upgrades.
- Input handling cleanup: paste fixes, KBD handling tweaks, removal of
SDL_StartTextInput. - IO/page-mapping cleanup; breakpoint UI improvements and display changes.
- Windows/Linux/macOS build and performance fixes.
- Command line parameters and help improved/fixed (esp. under Windows)
Assembler Keywords Added (V2.00 - Present)
.addr.asciiz.endproc.endrep,.endrepeat.endscope.local.proc.repeat.res.segdef.segment.scope
a2m Version 2.00 - Apple //e Enhanced
v2.00 — Major Release
Big picture
- Complete rearchitecture of the codebase.
- New 6502 core + added 65C02 core.
- Apple II now runs at 140–160 MHz on an M2 Mac Mini (~60 FPS).
Emulation & Performance
- 60 FPS video output (intentionally not cycle-accurate; performance first).
- Apple //e Enhanced support.
- Disk II NIB read support.
- Improved address decoding in disassembly.
Debugging & Tooling
- Enhanced assembler macros.
- New
.6502and.65c02directives. - Breakpoints with actions:
tron,troff,fast,slow,swap,type. - Break on read/write/access/PC or address ranges.
- Track and display last 4 writes per address (memory view, right-click).
- Paste directly into memory view.
- Cursor decoupled from PC in disassembly & memory views (editor-style, off-screen capable).
Disk & Input
- Disk II disk queues with swap button or breakpoint action.
- Joystick support added.
UI & UX
- Major UI overhaul.
- Resizable windows and pane sliders.
- New curses-based terminal UI (
--ui text). - Command-line parameters added.
- Improved mouse handling.
Documentation
- User manual available as PDF here in releases and in-app via F1.
- Significantly improved help system.
(Plus many other fixes and refinements throughout.)
V1.1
Changes since V1.
- Added a call-stack.
- Fixes a bug in the Miscellaneous window where it had to be re-focused after a breakpoint dialog.
- Added an option to the Assembly Project Config dialog to reset the stack pointer.
- Added HOME/END and CTRL+HOME+END keys to Disassembly and Memory windows.
- Updated the in-emulator Help screens (F1).
Release 1.0
This is Release 1.0 of the a2m Apple ][+ emulator. I have no idea if the Ubuntu and macOS versions will work for anyone else, or if they need to be compiled by people themselves, but fwiw, here they are along with the Windows version. The Windows version comes with the SDL2.dll, I think that's all that is needed to run the program. Again, on Linux and macOS, I don't know what else may be needed.
The readme on GitHub contains a lot of documentation, and in the emulator, pressing F1 will show 2 pages of help (close help by pressing F1 again).
The zip files also contain the manic miner sources for the built-in assembler (in the samples/mminer folder), as well as the command line assembler called asm6502.
For a disk image I suggest Total Replay, the latest version can be downloaded here: https://github.com/a2-4am/4cade/releases
I downloaded the Windows version onto a Windows 10 machine and it reported a virus infection. I uploaded the affected files (both apple2.exe and asm6502.exe) to https://www.virustotal.com/ and only Microsoft reported a virus infection. The other 71 anti-virus checkers all reported no issues, no infections.