Время доступа - это минимальный параметр. Оно показывает через какое время после обращения к памяти на выходе появляются достоверные данные. Чем меньше время, тем быстрее память. Соответственно вместо медленной быструю всегда можно ставить, наоборот - нет
Тут есть один нюанс. Объясню. Речь пойдет об памяти, применяемой в качестве
WRAM. Создатели
FC сформировали сигнал
#ROMCS как
not (A15 and F2), чтобы на заре картриджестроения не делать полный дешифратор в простых картриджах. Таким образом, у нас на картридже нет
A15, но есть
#ROMCS, из которого сей сигнал можно вычленить. Это известно всем. Так же известно, что ядро
6502 требует шину при
F2 = 1, для чего сигнал
A15 и был по
ANDен, чтобы в простейшем картридже подключать напрямую к
OE ПЗУ. Сама
WRAM находится в младшей половине адресного пространства, поэтому сигнал
#ROMCS не будет активен (будет лог.1) при
F2 = 1. Это позволяет восстановить нам
A15, не добавляя его на гнездо. Формула такова:
#WRAMCS = not (F2 and #ROMCS and A14 and A13).
Известные моменты озвучены, а теперь самое интересное. Дело в том, что
#ROMSEL формируется набортной
74х139, что есть дешифратор 2 к 4. И его устройство заметно сложнее, чем просто двухвходовый
NAND элемент. Это обусловлено упрощением схемотехники, т.к. этот же дешифратор (вторая половинка) используется для адресации внутреннего
ОЗУ и
PPU. И что же тут примечательного, спросите вы? Да то, что остальные сигналы идут напрямую. А
#ROMCS имеет задержку. Причем, если применяется
74139 (т.е. даже не
LS, в некоторых Денди видел), то она может занимать почти половину сигнала
F2. И вот тут получается казус. При обращении игры к мапперу по адресам
E000..FFFF сигнал
#ROMCS запаздывает, выдавая лог.1 в течение почти четверти активного периода
F2. И если поставить слишком быструю память, она ее гарантированно словит. Имеем порчу
WRAM, обычно по нулевому байту числом
E0, что есть хвост команды обращения к
E000, управлению
IRQ у
MMC3. Для быстрых памятей лечится установкой сопротивления и конденсатора. Так что осторожнее с этим.