DRAM

From NeoGeo Development Wiki
Jump to: navigation, search
2x2MiB of DRAM for sprite tiles in a CD2 system.
A different arrangement (8x512KiB) in a CD1 system.

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 7MByte organized as follows:

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 ?).