I built a configurable 6502 SBC emulator as a development lab for my own 65C02 hardware
Hi everyone,
I wanted to share a project I have been working on:
https://github.com/rudolfstepan/6502-sbc-emulator
At first glance it may look a bit like “oh no, not another C64 emulator”, but that is not what this is.
This is not a C64 emulator and it does not try to emulate the full C64 hardware. It is a configurable 6502 single board computer emulator, originally created because I built my own real 65(C)02 SBC in hardware and wanted a more convenient way to develop and test ROMs without constantly flashing EEPROMs.
The real hardware currently has a 65C02, RAM, EEPROM, glue logic, a VIA, a PS/2 keyboard interface connected through the VIA, and UART output. The emulator started as a software model of that idea, but it has grown into something more like a small custom retro computer platform.
It currently includes:
6502 CPU emulation
configurable memory mapping
RAM and ROM support
VIA 6522
UART 6551
simple disk support
graphical output using SDL2
sound output using SDL2
a simple VIC-like video system
monitor/debugger with memory dump, disassembly, breakpoints and single stepping
support for running ROMs such as MS BASIC
native 6502 assembler programs, including a chess program adapted to my own system routines
The goal is not perfect historical compatibility with any specific Commodore machine. It is more like a PET/VC-20/C64-inspired fantasy SBC, but with a hardware-oriented design that could later be built for real.
For me, the interesting part is the workflow:
write or adapt 6502 code
test it in the emulator
inspect memory, registers and I/O
adjust the memory map if needed
only flash real EEPROMs when the code is already reasonably tested
So the emulator is both a development tool and a small retro playground.
I also added CI builds. Linux and Windows binaries are built automatically and attached to the release page as ZIP files. So if you do not want to build it yourself, you can just download the ZIP, extract it and run it.
Latest release:
https://github.com/rudolfstepan/6502-sbc-emulator/releases/tag/1.1.1
Long term, I am thinking of turning this into a larger “RS-65” project: a small open 65C02-based retro computer platform, first as an emulator, later possibly as real hardware. Very much in the spirit of “by enthusiasts, for enthusiasts”.
To get something running in the hands I build a tiny kernel with msbasic Integration and a chess rom.
Feedback, ideas and criticism are very welcome.