Как и обещал, выкладываю исходники
Описание принципа работы RAM картриджаПри подключенном аддоне Sega CD сигнал CE_0# на слоте картриджа имеет активный (низкий) уровень при обращении к адресам 0x400000-0x7fffff.
Размер картриджа определяется значением 8-битного (используются только младшие 3 бита) регистра по 0x400001 (на самом деле по любому нечетному адресу в диапазоне 0x400000-0x4fffff, так как адрес декодируется не полностью). Он может принимать следующие значения:
Значение | Размер (кБит) | Размер (кБайт) |
000 | 64 | 8 |
001 | 128 | 16 |
010 | 256 | 32 |
011 | 512 | 64 |
100 | 1024 | 128 |
101 | 2048 | 256 |
110 | 4096 | 512 |
111 | - | - |
Таким образом, максимальный поддерживаемый размер такого картриджа - 4Мбит (512кБайт, 8189 доступных пользователю блоков по 128Байт + 3 блока зарезервированы системой). Единственный официально выпускавшийся картридж имел емкость 1Мбит (128кБайт, 2045 доступных блоков).
Память картриджа находится в диапазон адресов 0x600000-0x6fffff. Это позволяет адресовать 1МБайт данных (512k x 16 бит), но используется только младший байт, именно поэтому максимальный объем - 512кБайт.
Запись в картридж контролируется с помощью 1-битного регистра по адресу 0x700001 (на самом деле по любому нечетному адресу в диапазоне 0x700000-0x7fffff, так как адрес декодируется не полностью).
Значения:
1 - запись разрешена
0 - запись запрещена
При включении приставки этот регистр устанавливается в 0 (запись запрещена).
Моя схема картриджа без батарейки (используется FRAM 4Мбит).Исходники платы в аттаче.
P.S. Осталось 3 платки от заказа, если кому нужно, пишите в ЛС.