Hacker News new | ask | show | jobs
by digi_owl 3118 days ago
Cartiridges being more than just ROM has been a staple of Nintendo designs all the way back to the NES.

A common trick was to have a logic chip sit between the ROM and the console, doing bank switching. This allowed a game to consist of much more data than could be fitting directly on the data lines provided.

Some games, particularly those sold in Japan, had improved sound chips for example.

And by the time we reach the SNES, Nintendo used this to even introduce rudimentary 3D acceleration in the form of the SuperFX chip.

1 comments

For NES, another cool approach takes advantage of the fact that the cartridge is natively split between CPU memory and PPU memory. This means that it's possible to make a cartridge with RAM instead of ROM for the tile pattern data ("CHR" in NES jargon), thus enabling things like pseudo-framebuffer operation, compressed/generated graphics, and animations that work by modifying the tile data or depend on its organization in memory [1]. Strictly speaking, there's no reason that RAM and ROM couldn't be combined in this address space with a mapper, but I haven't heard of any cartridges that do so.

[1] https://wiki.nesdev.com/w/index.php/CHR_ROM_vs._CHR_RAM