В дополнение используются новые инструкции для работы с этими портами. Сами порты занимают всегда пространство в 64 байта, от #00 до #3F, но конечный адресс каждого порта определяется значением двух старших битов в IСR. По дефолту(сбросу) они в 0, т.е. все внутренние порты располагаются в пространстве #00-#3F (порт #FE допустим при этом свободен, клава работаетСообщение от Ronin
, зато не работают джойстик и пол-ВГ). Но можно перенести эти порты в участок #40-#7F, он вроде в Спектруме при упрощёной адрессации не используется. Что ещё важно, при доступе к внутренним портам линии А8-А15 должны быть в нуле, что при жсёткой дешифрации портов не есть случай (#7FFD например). Поэтому понадобится какой-нить StartupROM, который внутренние порты релоцирует.
Не понял. Как ты конкретно собрался перехватывать обращения к внутренним портам, если сигналы процессора для работы с переферией в этом случае вообще похоже в 3-м состоянии? Т.е. внешне по сигналам ты это не отловишь, порты не переместишь - что делать?Сообщение от Ronin
А ну ка, поделись подробностями. Каким образом тебе помогут 512 кил SRAM? Я думал над похожим вопросом для расширение граф. возможностей. Пока надумал, что хватит экранчика 640х480х8, из которых 512х384 видимы, а остальное - бордюр. Спектрум в этом случае работает с карточкой через набор команд (в качестве исполнителя второй Z80, но уже на карте), т.е. напрямую писать в эту память не выйдет. Размер выбран потому что каждый пиксель старого режиме 256х192 может быть отображен 4-мя пикселями при 512х384, т.е. можно будет использовать и старый и новый экран одновременно. Запись в область стандартного экрана "прослушиваются" и здесь есть две возможности записать эти данные в новую область: 1 - программно высчитывать позицию и цвет пикселя под данным, записаным в стандартный экран 2-делать тоже самое, но аппаратно. В первом случае повесить это дело можно на второй Z80 на NMI. А можно сделать на PIC.Сообщение от Ronin




, зато не работают джойстик и пол-ВГ). Но можно перенести эти порты в участок #40-#7F, он вроде в Спектруме при упрощёной адрессации не используется. Что ещё важно, при доступе к внутренним портам линии А8-А15 должны быть в нуле, что при жсёткой дешифрации портов не есть случай (#7FFD например). Поэтому понадобится какой-нить StartupROM, который внутренние порты релоцирует.
) который "узкие" места совместимости z80 будет обходиить своими макросами. Тут возможны и более высокоуровневые "подстройки" типа фикса под разные времянки Скорпиона/Пентагона/итп.
Ответить с цитированием