Skip to content

Releases: StewBC/a2m

Mockingboard support and small enhancements

05 Apr 21:08

Choose a tag to compare

Changes Since V2.11

This update builds on the V2.11 release with a mix of emulator improvements, assembler enhancements, audio work, and usability fixes.

Highlights

  • Added Mockingboard support, including ongoing performance and fidelity improvements.
  • Reworked Mockingboard audio timing and mixing for better sound quality and lower overhead.
  • All Mockingboard files were created using agentic programming with Codex.
  • Introduced LUT-driven DHGR rendering.
  • Improved Apple ][+ and //e behavior with fixes for I/O, 80-column handling, and SmartPort autostart on Apple ][+.
  • Added double-click support in key UI dialogs for expected file and symbol selection.

Assembler Updates

  • Added named .scope support so scopes can define output targets such in files or banks.
  • Documented named scopes.
  • Allowed .include inside control flow.
  • Added scoped forward lookup support.
  • Fixed scope and target closing behavior.
  • Added a ProDOS loader target to the MMINER sample.

Audio Work (done by Codex)

  • Added initial Mockingboard support.
  • Optimized Mockingboard overhead.
  • Changed VIA timer evaluation to be lazy/on-demand.
  • Added and refactored rt_audio_update.
  • Cleaned up general audio handling.
  • Improved Mockingboard audio fidelity.

UI and Workflow

  • Added double-click activation in the file browser.
  • Added double-click activation in symbol lookup.
  • Included a few documentation and sample updates alongside the feature work.

UI Improvements

11 Feb 21:31

Choose a tag to compare

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

05 Feb 01:04

Choose a tag to compare

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 / .endscope and .proc / .endproc.
  • Segment system added: .segdef and .segment, with segment-based output reporting (overruns/gaps).
  • Macro locals expanded: .local supports macro name replacement and forward-reference lookup fixes.
  • Repeat blocks added: .repeat and .endrep / .endrepeat.
  • .addr accepted as alias for .word.
  • .asciiz added.
  • .res added and documented.
  • .byte now 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+F4 and config to Ctrl+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

23 Dec 11:58

Choose a tag to compare

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 .6502 and .65c02 directives.
  • 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

11 Dec 01:01

Choose a tag to compare

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

09 Dec 00:48

Choose a tag to compare

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.