When such a chip is configured or used (e.g., storing fixed graphics data), it is colloquially called a DPR ROM — even though technically it is still RAM, just written once (at boot or manufacturing) and then treated as read-only. 3. Why Use DPR Instead of Regular ROM? Regular ROM (e.g., 27C020 EPROM) allows only one bus master to access it at a time. In complex arcade systems, two CPUs often need to share the same data simultaneously:
| Use Case | Why DPR is needed | |----------|-------------------| | | The main 68000 CPU and the graphics ASIC both read tile/sprite data. With a regular ROM, the CPU would stall the GPU or vice versa. | | Neo Geo (certain revisions) | 68k and Z80 share sound program data. | | Sega System 32 | Dual CPU architecture requires shared object tables. | dpr roms
// Dual-port ROM region region("dpram", 0x20000) .rom("game_dpr.bin") .share("shared_gfx"); // CPU 1 maps it at 0x400000 cpu1->map(0x400000, 0x41ffff).ram().share("shared_gfx").readonly(); When such a chip is configured or used (e
1. Introduction In the world of vintage arcade boards (e.g., Capcom CPS-2, CPS-3, Sega System 32) and classic computers, you will occasionally encounter the term DPR ROM . It is not a distinct "type" of ROM chip like EPROM or Mask ROM, but rather a functional description: Dual-Ported RAM used in a read-only manner or a hybrid component that allows two independent systems to access the same memory simultaneously. Regular ROM (e
A: The dump is a concatenation of both chip images because they occupy different address ranges from the perspective of each CPU. MAME splits them internally based on the memory map.
A dual-port memory chip has two independent address/data buses. Two different processors (or one processor and a DMA controller) can read from or write to the same memory location at the same time without contention or wait states.