Выдалась свободная минутка, позанимался немного шитьем платы проводами.
Шаг 6. Подготавливаем сигналы для микросхем ОЗУ.
Напомню, что я хочу 1мб памяти и для этого необходимо две микрухи SRAM по 512кб.
В следствии этого и анализа схемы возникла необходимость в большом количестве сигналов, которые надо завести на CPLD. В случае варианта для 128кб можно обойтись гораздо меньшим мотком проводов. Но как говорится, мы не ищем легких путей.
Итак, что сделано:
- пришлось выпаять панельки памяти ОЗУ, так как необходимо было освободить сигнал CS микросхем DD25 (U35) и DD38 (U38) от сигнала GND. Теперь получается управление двумя банками CSRL/ и CSRH/.
- объединяем шины данных и адресов между двумя микрухами (так как сигналов, идущих на большую CPLD явно не хватает.
Код:
Нумерация сигналов соотвествует моей схемы
Шина данных
LD20 <-> HD10
LD21 <-> HD11
LD22 <-> HD12
LD23 <-> HD13
LD24 <-> HD14
LD25 <-> HD15
LD26 <-> HD16
LD27 <-> HD17
Шина адресов
VLA0 <-> HA0
VLA1 <-> HA1
VLA2 <-> HA2
VLA3 <-> HA3
LA0 <-> HA4
LA1 <-> HA5
LA2 <-> HA6
LA3 <-> HA7
LA4 <-> HA8
LA5 <-> HA9
LA6 <-> HA10
LA7 <-> HA12
LA8 <-> HA13
LA9 <-> HA14
LA10 <-> HA15
LA11 <-> HA16
LA12 <-> HA17
Сигналы SA0 и SA1 объедены по умолчанию
Также неоходимо соединить сигналы LWR/ <-> HWR/
-теперь соединяем полученные сигналы с выводами CPLD, опять же следуя нумерации моей схемы
Код:
MX00 <-> CSRL/
MX01 <-> LA0
MX02 <-> LA1
MX03 <-> LA8
MX04 <-> LA9
MX05 <-> LA2
MX10 <-> LA3
MX11 <-> LA10
MX12 <-> LA11
MX13 <-> LA4
MX14 <-> LA5
MX15 <-> LA12
MX20 <-> LWR/
MX21 <-> CSRH/
MX22 <-> LD24
MX23 <-> LD25
MX24 <-> LD26
MX25 <-> LD27
MX30 <-> LD20
MX31 <-> LD21
MX32 <-> LD22
MX33 <-> LD23
MX34 <-> LA6
MX35 <-> LA7
Если их виртуально представить как сигналы памяти, то будет следующая аналогия
Код:
Адреса
MA0 <-> SA0
MA1 <-> SA1
MA2 <-> VLA0
MA3 <-> VLA1
MA4 <-> VLA2
MA5 <-> VLA3
MA6 <-> MX01
MA7 <-> MX02
MA8 <-> MX05
MA9 <-> MX10
MA10 <-> MX13
MA11 <-> MX14
MA12 <-> MX34
MA13 <-> MX35
MA14 <-> MX03
MA15 <-> MX04
MA16 <-> MX11
MA17 <-> MX12
MA18 <-> MX15
Данные
MD0 <-> MX30
MD1 <-> MX31
MD2 <-> MX32
MD3 <-> MX33
MD4 <-> MX22
MD5 <-> MX23
MD6 <-> MX24
MD7 <-> MX25
С памятью вроде все, этого хватит для того, чтобы начать писать прошивку. Для начала мне будет проще ее сварганить на AHDL, по сути взяв за основу куски от Зефирки. А потом уже дальше думать.
Шаг 7. Доработка сигнала входной частоты AY.
Если поглядеть на схему, то можно заметить что входной частотой AY является сигнал SA1, который встречается еще во многих местах. Например, он также является адресом для микросхем памяти. Это для нас является неприемлимым фактом, посему этот сигнал я отрезал около разъема XS3 (HB1-2). И назначил на роль входной частоты сигнал SA2.
Их можно объединить например соединив 2 и 3 выводы любой из микросхем DD11...DD14 (U11...U14). Лично я соединил 2 вывод DD14 (U14) с 3 выводом DD13 (U13).
Как выглядит плата на текущий момент :

Фото кликабельно
Теперь можно переходить к прошивке. Ах да микрухи памяти уже лежат на почте, осталось их только забрать.
Также решил попробовать использовать место для PIC в качестве контроллера клавы. Не знаю что из этого выйдет, но остановился на PIC16F88, которые уже тоже заказал.