6502 8-bit CPU and 6850 ACIA emulator for the STM32F103 blue pill microcontroller boards and similar. Turn your modern micro into a retrocomputing processor.
To build, run make
, to install, flash src/pill_6502.bin
to the blue pill.
Prebuilt binaries are available from CircleCI.
Connect the board to your computer using USB, this will reset the CPU
and a virtual serial port should appear (e.g., /dev/cu.usbmodem6502
),
connect using GNU Screen, and you should see the output from the emulated
ACIA communication interface chip. Type to send to the ACIA.
Special commands built-in, not passed to the ACIA and 6502:
Keystroke | Action |
---|---|
^V | Show pill_6502 version |
^P | Pause/resume 6502 processor execution |
^R | Reset the 6502 processor (also reset on USB reset) |
^E | Local echo toggle, off by default |
^T | Show clock ticks, instruction count, and frequency since last ^T |
^G | Show help |
Intended to be somewhat compatible with Grant Searle's Simple6502,
and includes the Microsoft OSI BASIC ROM by default (C) Microsoft 1977. Other ROMs can be loaded
by replacing ROM.HEX
and rebuilding. Memory map:
Start | End | Usage |
---|---|---|
0x0000 | 0x3fff | 16KB internal RAM |
0x4000 | 0x9fff | (unused) |
0xa000 | 0xbfff | 6850 ACIA serial comm interface, emulated connecting to USB CDC-ACM virtual serial port |
0xc000 | 0xffff | 16KB internal ROM |
Thanks to Mike Chambers for the fake6502 processor emulation core.
For implementation notes see blog post pill_6502: 8-bit 6502 CPU and 6850 ACIA emulation on the STM32 blue pill to run Microsoft BASIC from 1977.