Собственно, вот тут немного подробностей по divmmc в разделе "Some techtalk". Возможно не скажу ничего нового, но для меня это было находкой: DivMMC - это гибрид из 1) DivIDE в части маппирования 8К-страниц памяти ROM+RAM и управления ей через регистр конфигурации (порт #E3) и из 2) ZXMMC в части обмена с картой памяти по SPI. Только здесь для SPI используются порты #E7 (zxmmc_control_port) и #EB (zxmmc_spi_port) вместо #1F и #3F соответственно.
В итоге мы имеем два почти независимых устройства и первое всего слегка сложнее порта конфигурации #7FFD, причем ему не нужен clock. ПЗУ должно мапиться в нижние 8К сразу после reset-а.
Но на Ленине этого не происходит ((
Конфликтовать divmmc на ленинграде может разве что с портом кемпстон-джойстика - все три адреса портов divmmc имеют A0=1 и в исходном Ленине при чтении любого из портов #E3, #E7, #EB отзовется кемпстон. У меня кемпстон зарублен (/CS мультиплексоров выбирается только при A0=0) и соот-но конфликта нет. Но и не в этом причина.
У меня есть DivIDE 5.7C, который точно работал на Арлекине. При подключении его к Ленину я тоже вижу МАТРАС. То есть при сбросе у него /ROMCS правильно встает в единицу, отключает штатное ПЗУ, но он не включает свое. Есть идеи, почему ?




Ответить с цитированием