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. When not refreshed fast enough, the DRAM chips contents gradually fades towards random values.

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 (basically the same as in the AES and MVS) then sees the DRAM as it was a regular cartridge of fixed size.

DRAM organization changed with the different revisions of the NeoGeo CD PCB. 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:


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

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

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