Memory speed
Memory speed (or speed grade) is a value representing the maximum time it takes for a memory chip to output valid data after its address is changed.
It is essential for memory chips to be fast enough to avoid crashes or glitches. When replacing RAMs, replacing the system ROM or making cartmods, care must be taken to use chips with the appropriate speed grades.
Speed is usually indicated on the chip. It is actually a time value (speed = 1/t) specified in nanoseconds or tens of nanoseconds.
The data output is only guaranteed to be valid after the specified time. So if the chip is too slow, the system might read corrupt data resulting in unstable operation.
Regarding the NeoGeo and most other systems, faster than required (lower value) isn't a problem, slower than required (higher value) is bad.
A slower chip can work in some cases if you're lucky, but you should never expect stable operation in all conditions. For example, some 120ns chips might work in place of a 100ns one, but a slight variation in voltage or temperature could cause crashes or resets. Taking the risk isn't worth it.
Requirements summary
See the related section in the VRAM, Palette RAM, P ROM, V ROM, S ROM, C ROM, and M1 ROM pages.
| Memory kind | Maximum value | Mclks | Proof |
|---|---|---|---|
| Z80 RAM | <500ns (2 MHz) | 12? (500ns) | Z80 read cycle |
| M1 ROM | |||
| Lower VRAM | 120ns (8.33 MHz) | 3 (125ns) | Picture |
| Upper VRAM | 35ns (28.57 MHz) | 1 (41.7ns) | Picture |
| Palette RAM | 120ns (8.33 MHz) | 3 (125ns) | Picture |
| L0 ROM | 120ns ? (8.33 MHz) | ? | |
| P ROM | 250ns | 6 (3 68k clocks) ? | |
| System ROM | |||
| 68k RAM | |||
| Backup RAM | |||
| V ROM | 200ns (5 MHz) | 6 (250ns) | YM2610 read cycle |
| S ROM | 200ns ? (5 MHz) | 5? (208ns) | |
| C ROM | 200ns ? (5 MHz) | 5? (208ns) | |
| Memory card | 417ns ? | 10 (3 68k clocks + 2 waits) ? |
Standard speed grades
- -250 (250ns)
- -200 or -20 (200ns)
- -150 or -15 (150ns)
- -120 or -12 (120ns)
- -90 (90ns)
- -70 (70ns)
- -55 (55ns)
- -35 (35ns).
Note the possible confusion. If the value is less than 30 you probably have to add a 0, even if SRAM is now available in 25ns (not 250ns) speed grades.
Check the datasheets.
DRAM
DRAM (CD systems) is way more complex than SRAM, timings and sequences are primordial.