Skip to content

The emulator

An ACE you already own. Same ROM, same BASIC, same everything — it just runs on your laptop instead of your desk.

Use it to try the machine before you build one, to work on a program when the real one's in another room, or to test something without hunting for a CompactFlash card.

In the browser

https://acwright.github.io/6502-EMULATOR/

Nothing to install. Open it, and you get the splash and the OK prompt in a tab. Everything in this guide works there.

On your desktop

There's a proper application for macOS, Windows and Linux, and it's the better option if you're going to use it much: it can attach a CompactFlash image, connect to a real serial port, keep a debug server running, and remember your settings.

Grab it from the 6502-EMULATOR releases page.

The toolbar

Everything happens from the row of buttons across the top:

ButtonWhat it does
CPU chipLoad a ROM, in place of the built-in BIOS
Document+Load a cartridge
Document$Load a program (.prg / .bas) into memory
▶ / ■Run or stop the machine
Reset — exactly like the button on a real ACE. Memory survives.
Power cycle — the cold start. Memory is cleared.
1 MHz / 2 MHzSwitch CPU speed
ClipboardPaste text in as keystrokes
Settings

Settings has the same file rows, plus what's currently loaded and an to unload it again.

Pasting a program in

Ordinary ⌘V / Ctrl+V won't work, because the emulator sends every keystroke straight to the machine. Use the Clipboard button instead: paste your listing into the box it opens, and the emulator types it in for you. It's the quickest way to try anything longer than a couple of lines.

Attaching a card

Settings → CF Card. In the desktop app, Select… picks a .img file — the sort cffs builds — and it stays attached across restarts. In the browser, Load uploads one and Export downloads the current card so you can keep it.

Once it's attached, DIR, LOAD and SAVE work exactly as they do on hardware, and what you save is written back to the image. The goes back to the emulator's own blank card.

The NVRAM row works the same way, for the 256 battery-backed bytes.

Talking to real hardware

The desktop app can open one of your computer's serial ports. Pick the port, set it to 19200 8-N-1, connect — and now the emulated ACE is on the other end of a real serial cable. Which means you can use it as the terminal for a real ACE, or move files between the two with XModem. See Serial and a terminal.

Fullscreen

F11, or +Return on a Mac. The picture keeps its 4:3 shape whatever the window is doing.

Running it from the command line

The desktop app installs a 6502 command (Settings → Command Line → Install). It's how you'd fold the emulator into a build:

6502 run --headless mygame.prg

--headless runs with no window at all, wired to your terminal. Useful flags:

FlagWhat it does
--cf disk.imgAttach a card image
--console videoUse the video screen instead of the serial console
--freq 2Run the CPU at 2 MHz
--timeout 30sStop after a while, whatever happens

There's a debugger in there too — breakpoints, single-stepping, memory watching, screenshots — which the assembly chapters of this guide use heavily.

Written for BIOS v1.5. Released under the MIT License.