This post will cover the two simplest SNES coprocessors: OBC1 and S-RTC. OBC1 is an “OBJ controller” chip while S-RTC is a real-time clock chip. Neither one does any real computation on the chip itself, unlike nearly all of the other SNES coprocessors.
While Sega tried to expand the Genesis’ capabilities by adding on to the console hardware with the Sega CD and 32X, Nintendo took a different approach with the SNES: put additional hardware into the cartridge on a game-by-game basis. This post will cover the first SNES coprocessor, DSP-1, and its close relatives.
The Game Boy Color is an interesting piece of hardware. In some ways it’s a significant upgrade over the original Game Boy (it has color!!), but in other ways it feels like a minor hardware revision despite releasing 9 years later.
Well, let’s see what it takes to make a Game Boy emulator support Game Boy Color software!
The Game Boy’s APU (audio processing unit) is responsible for generating the chiptunes that you (probably) know and love. Unlike with the PPU and the CPU, it’s possible to write a Game Boy emulator that runs most things pretty well without emulating the APU at all, though you’ll obviously have no audio.
First of all, if you are writing your own Game Boy emulator, you don’t need to emulate the pixel FIFO! Almost nothing depends on it for correct rendering, it’s a lot more complex to implement than a scanline-based renderer, and it’s also significantly more difficult to debug than a scanline-based renderer.
My Game Boy emulator was both the first emulator I wrote and my first real project written in Rust. Needless to say, there’s a lot of room for improvement. I briefly thought about porting it into my multi-system emulator which doesn’t currently have a Game Boy core, but this also seemed like a good opportunity to go back and clean things up, and it frankly seemed easier to do a complete rewrite while using my v1 as a reference for trickier details (e.
This is a continuation of my attempt to get Titan Overdrive 2 working in my Genesis emulator. It will be more technical than Part 1 as fixing the remaining effects requires getting into low-level details of how the Genesis VDP functions, which these effects depend on.
When I first saw Titan’s Overdrive 2 demo I was blown away, both by the presentation itself and by how in the world they managed to push that out of the Mega Drive. After how much I struggled to get Overdrive 1 to work in my emulator, I just assumed that getting Overdrive 2 to work was out of reach.
The Titan Overdrive and Overdrive 2 Mega Drive demos are well-known for pushing the Mega Drive / Genesis hardware to its limits. I decided to try the first one in my own Genesis emulator and see what it would take to get it working!