Close

An emulator for my 6502 + TMS9918A build

A project log for HBC-56: 65C02 + TMS9918A on a backplane

HBC-56 A homebrew 8-bit computer with a backplane. Initially with a 65C02 CPU card, a TMS9918A VDP and dual AY-3-8910 audio.

troy-schrapelTroy Schrapel 09/09/2021 at 03:390 Comments

I've started work on an emulator for my 6502-on-a-backplane with a TMS9918.

I started out by writing a TMS9918A emulator in C. Created that in a separate repo since others might find it useful: https://github.com/visrealm/vrEmuTms9918

Then I found existing code to emulate the 6502 and the AY-3-8910. Cobbled it together with rubber bands and sticky tape to produce a working emulator for my machine. I've updated the 6502 code to include instruction timing information which allows me to run the emulator at the same speed as my real machine (currently 4MHz).

I've started building out an embedded debugger/disassembler for it which can be docked to the right-side of the display window. Making use of the label map files produced by ACME assembler, I can step through the code with (most) labels. Very handy.

I've also added some other debugging regions to see the contents of RAM, the state of the TMS9918 registers and VRAM contents.

All source code and schematics: https://github.com/visrealm/hbc-56

Discussions