emulated 8-bit 6502 CPU and 6850 ACIA for STM32F103 blue pill
Go to file
Satoshi N. M 04e78a4b0b Merge branch 'speed', measure hz for #1 2018-01-15 14:24:08 -08:00
libopencm3@3922cc7d3e Add initial setup and USB CDC-ACM serial port 2018-01-11 20:36:47 -08:00
osi_bas Add osi_bas files from osi_bas.zip from http://searle.hostei.com/grant/6502/Simple6502.html 2018-01-13 00:05:15 -08:00
src Merge emulated frequency measurement into ^T command 2018-01-15 14:23:12 -08:00
.gitignore Remove .hex from gitignore 2018-01-13 00:05:43 -08:00
.gitmodules Add initial setup and USB CDC-ACM serial port 2018-01-11 20:36:47 -08:00
COPYING Add initial setup and USB CDC-ACM serial port 2018-01-11 20:36:47 -08:00
Makefile Add initial setup and USB CDC-ACM serial port 2018-01-11 20:36:47 -08:00
README.md Merge emulated frequency measurement into ^T command 2018-01-15 14:23:12 -08:00
circle.yml Add initial setup and USB CDC-ACM serial port 2018-01-11 20:36:47 -08:00

README.md

pill_6502: emulated 8-bit 6502 CPU and 6850 ACIA for STM32F103 blue pill

CircleCI

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.

screenshot

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.