DRAM





DRAM stands for "Dynamic RAM". It's a type of fast and cheap volatile memory, which needs to be regularly refreshed in order to keep its contents.

DRAM is used in the NeoGeo CD as a virtual cartridge, which is filled with data loaded from files in the game CD. The rest of the hardware then sees the DRAM memories as if they were a regular cartridge of fixed size. Accesses to DRAM are made through NEO-BUF chips to switch between the corresponding subsystem bus (video, audio...) and the 68k's bus.

DRAM organization changed with the different revisions of the NeoGeo CD PCB but doesn't matter for games. Multiple 16, 8 and 4 bits chips were used and grouped as banks.

The total amount of DRAM in the NeoGeo CD always was 7MBit organized as follows:


 * 2MB for the 68k's program
 * 4MB for sprites tiles
 * 1MB for the ADPCM data

One example of chip configuration:
 * 1x 2MB in 16bits for the 68k program
 * 2x 2MB in 16bits (4MB) for sprites
 * 2x 512k in 4bits (1MB) for ADPCM data

Fix tiles are stored in 128kB of PSRAM. The Z80 program (sound driver) is stored in a 64kB RAM block (self modifying code possible ?).