=A=L=X=
Регистровые кнопки (ss/cs) не имея никакого кода, разве хоть в каких-то буферах/аккумуляция участвуют?
В 128к бейсике никогда не работал, возможно там враппер над 48к реализацией. Я помню ту тормозявость, лагучесть ввода в 128к, из-за которой собственно и не лез в неё.
Dexus
> В 128к бейсике никогда не работал, возможно там враппер над 48к реализацией.
Верхнее ПЗУ 128 почти всё что можно делегировало в нижнее ПЗУ 48 путём процедуры распрыжки, включая обработку типовых прерываний, я это подробно описывал тут: https://gamedev.ru/flame/forum/?id=226622&page=19#m271
Как раз вызов прерывания, когда ПЗУ сканирует клавиши и результат пишется в системную переменную KEY_B там расписан.
Как я понял в верхнем ПЗУ даже не было таблицы символов - ведь всё равно процедура печати находилась в нижнем ПЗУ.
Состояния CS/SS там протаскиваются кажется как флаги, т.е. KEYSCAN в одном регистре возвращает номер нажатой клавиши не учитывая шифтов, а в другом - состояние шифтов. Лень разбираться.
Но главное, что если у тебя SHIFT+M генерирует один код, а просто M генерирует другой код, то и получается, что отдельно учитывать состояние шифтов не надо для алгоритма который ждёт стабильного кода 5 циклов подряд.
В рамках виртуального спектрумостроения, - доработка последней "конструкции" до 128kb варианта
тему на nedopc.org тоже обновил.
0iStalker
С портами и вторыми экранами тоже? Но звуковой чип наверное всеже не реализован...
Dexus
> С портами и вторыми экранами тоже?
Второй экран есть. А какие порты имеются в виду? FE и 7FFD обрабатываю
Dexus
> Но звуковой чип наверное всеже не реализован...
Теоретически, можно было бы реализовать, используя библиотеку с сайта Бульбы,... но в симуляторе скорость симуляции где-то 0.01 от реальной, так что не имеет смысла.
0iStalker
> 7FFD обрабатываю
Собственно интересовал бит переключения активного экрана на этом порту.
> в симуляторе скорость симуляции где-то 0.01 от реальной, так что не имеет смысла.
Симулировать наверное и правда не стоит. Я про железную реализацию схемы)
Dexus
> Я про железную реализацию схемы)
Железную я ещё не начинал. Но там добавить AY (хоть два) не сложнее, чем клавиатуру, хватило бы ножек на микросхеме ПЛИС
В замечательное время всё таки живём - в качестве хобби, дома, на коленке, схемы компьютеров с процессорами, эмуляция полноценного железа в компе, а потом и реализация железа на дому через ПЛИС. Ех...
=A=L=X=
> В замечательное время всё таки живём …
Да, насчёт ножек на ПЛИС, чёт почитал форумы, подумал... осознал, что если не стремиться запихнуть всю оперативку в одну микросхему, а вынести память видеоконтроллера в отдельную на 32кб, то можно безболезненно освободить аж целых 12 ножек адресных линий A2 - A14 (они не нужны для упрощённой дешифрации портов клавиатуры, страниц памяти и AY)... хотя, если взять ПЛИС подороже в корпусе на 144, а не 100 ножек, то можно и не заморачиваться.
зы.
Кстати, хвалёный эмулятор FUSE не проходит тест на переключение страниц памяти... вот это хохма.
Alikberov
> Началoсь: Пылесос-камикадзе убивающий питомцев…
>
Причём тут 8/16 бит?!
0iStalker
> Причём тут 8/16 бит?!
просто оставлю это здесь
SuperInoy
Посмотрел ромчик - используется MMC-5, тот который с дополнительными звуковыми каналами. Но в игре они не используются потому что в американской NES они не выведены куда надо.
Зато используется 8 Кб дополнительного ОЗУ, ибо для такого сима встроенных 2 Кб явно бы не хватало.
P.S.
И вот статья где можно почитать про это подробнее: https://stopgame.ru/newsdata/36511
И там можно посмотреть на картридж разработки где этот MMC5 прекрасно виден:
Да, жуть...