SNES Coprocessors: Super FX

The Super FX chip is easily the most well-known SNES coprocessor, primarily because of Star Fox which renders real-time 3D graphics on the SNES with the help of the Super FX. Yoshi’s Island also uses the Super FX, though mainly for sprite scaling/rotation and various graphical effects rather than 3D rendering.

SNES Coprocessors: SPC7110

SPC7110 is a data decompression chip very similar to S-DD1, but it also has a number of other features that games make use of, with one of the three SPC7110 games even including a real-time clock chip on the cartridge. This chip was used in 3 games, all Japan-only games by Hudson: Tengai Makyou Zero, Momotarou Dentetsu Happy, and Super Power League 4.

SNES Coprocessors: S-DD1

There are two SNES coprocessors that contain hardware data decompression chips: S-DD1 and SPC7110 (no relation to the SPC700 CPU as far as I know). These chips allow the SNES CPU to read compressed data from ROM without the CPU needing to do any decompression work - the hardware decompresses the data on-the-fly while the CPU is reading it.

SNES Coprocessors: SA-1

The SA-1 coprocessor, or Super Accelerator 1, is a somewhat fascinating chip in that it has quite a lot of hardware that almost no games ever used. Its primary attraction is an additional 65816 CPU clocked at 3x the speed of the SNES CPU, and most of the SA-1 games only used it for that.

SNES Coprocessors: Cx4

The Cx4, or Capcom Consumer Custom Chip, is a coprocessor that Capcom used in Mega Man X2 and Mega Man X3. It’s most well-known as the coprocessor that enables those games’ 3D wireframe models, but they also use it for sprite scaling/rotation effects and to help out with managing the sprite table.

SNES Coprocessors: The Simple Ones

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.

SNES Coprocessors: DSP-1 and Friends

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.

Game Boy Color

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 APU

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.

Rewriting My Game Boy Emulator: The Pixel FIFO

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.