-
Маппер спека +3
Возник вопрос - Если bit 0 регистра 1FFDh находится в 1 , то маппер порта 7FFDh не фунцеклирует ? В четвёртую банку ничего не подставляется ?
Становятся возможны только такие комбинации страниц ?
Код:
┌─────────────┬─────────────┬─────────────────────────────────┐
│ bit 2 1FFDh │ bit 1 1FFDh │ Страницы RAM в адресах CPU │
│ │ │ 0000h...3FFFh,4000h...7FFFh,... │
├─────────────┼─────────────┼─────────────────────────────────┤
│ 0 │ 0 │ RAM0, RAM1, RAM2, RAM3 │
│ 0 │ 1 │ RAM4, RAM5, RAM6, RAM7 │
│ 1 │ 0 │ RAM4, RAM5, RAM6, RAM3 │
│ 1 │ 1 │ RAM4, RAM7, RAM6, RAM3 │
└─────────────┴─────────────┴─────────────────────────────────┘
-
Слюшай, зачэм порт Скорпиона 1FFD мучишь?
Пишэм 1 в нулёвый бит в 1FFD - РОМ отключаем, в 0 страницу на место ПЗУ читаем-пишем, 7FFD по прежнему работает, вах! :)
-
Дык это для совместимости нужно . И как мне сказали на восе - Если bit 0 регистра 1FFDh находится в 1 , то маппер порта 7FFDh не фунцеклирует ! Т.е. в четвёртую банку 7FFDh ничего не подставляет (хотя я начал ваять исходя из принципа что подставляется %) ).
Впринципе можно извратится и сделать чтоб работало и то и то , но скорпиону это просто не нужно , ибо уже есть контроллер винта (если есть ;) ).
А вот простому спеку это даст халявное подключение винта (всего одна микруха ZX-MMC (если не считать микрух затраченных на маппер) , и чуть менне халявное подключение карточек аля SD/MMC . Хотя SPI можно впринципе сделать и на дискретах (там ведь практически всего два сдвиговых регисстра и всякая мелочёвка), но подробности этого процесса я смутно себе представляю %) Главное что все эти интерфейсы поддержаны в ПЗУ +3е и ResiDOS .