The Sega Master System has separate CPU and video ("VDP") and I now have them talking to each other. The test ROM I'm using looks like it zeroes out work RAM and VRAM, and then loops waiting for a screen refresh interrupt. So the next steps are building cycle counters and timing and interrupt management.
Also I am enjoying writing this in Rust, it's a surprisingly good kind of project given how much is shuffling data and shared state around.
(I forgot that I also tried writing a Game Boy emulator in C++ but uhhhhhhhh that did not last)
The original server operated by the Mastodon gGmbH non-profit