Deja Vu
#07
31 декабря 1997 |
|
Капля припоя - Эмулятор ПЗУ для компьютера ZX-Spectrum v1.0.
AY-Track: "LAMERZ MUST DIE !" __________________________________________ (C) Prusak __________________________________________ ╔════════════════════════════════════════╗ ║ ║ │ Эмулятор ПЗУ │ │ для компьютера "ZX-Spectrum". │ │ Версия 1.0. │ ║ ║ ╚════════════════════════════════════════╝ Данная разработка предназначена для от- ладки и испытания встроенного программного обеспечения компьютера. Эта схема подменя- ет ПЗУ компьютера на ОЗУ размером 64 кб. Я владелец компьютера Profi,поэтому все сиг- налы указаны исходя из его схемы. Посему приведу расшифровку некоторых названий, т. к. на схемах разных моделей машин они мо- гут различаться. TRDOS - один из двух сигналов переключения страниц ПЗУ. Когда он активен, то подключается та половина ПЗУ,в ко- торой содержатся TR-DOS и старто- вое меню Profi. ROMCS - активен при обращении по адресам: #0000 - #3FFF, если ПЗУ не забло- кировано. ROM14 - второй сигнал переключения страниц ПЗУ. Идет с порта #7FFD. Эмулятор управляется программно по пор- ту #F7. Конфликтов с другими устройствами не создается, потому что дешифрация адреса происходит по всем 8 битам. Раскладка би- тов такова: 0 - подключает ОЗУ вместо ПЗУ. Запись в ОЗУ возможна только при его подключе- нии. 1 - блокировка записи в ОЗУ. Полезен для полной эмуляции ПЗУ. 2 - блокировка сброса устройства.Если этот бит сброшен, то нажатие кнопки reset будет подключать обратно ПЗУ. При ус- тановленном бите сброс никак не будет влиять на состояние устройства. Выйти из этого состояния можно только путем программного обнуления этого бита,либо путем выключения питания. Введен также для полной эмуляции ПЗУ. 3 - установка этого бита в 1 будет подклю- чать ту страницу ОЗУ или ПЗУ,в которой содержится TR-DOS и что-то там еще в зависимости от конкретной машины. Вы- бор конкретно TR-DOS или дополнитель- ной страницы производится 4 битом пор- та #7FFD. Введен для облегчения досту- па к странице TR-DOS,а также для обес- печения доступа к дополнительной стра- нице в машинах, в которых его нет(Pro- fi, GRM, Радон и т. д.). Данное устройство рассчитано на исполь- зование ПЗУ 27512. К сожалению, по многим причинам я не могу реализовать работу уст- ройства с ПрофПЗУ на Скорпионе. Естествен- но, само ПрофПЗУ с ним работать будет, но вот замену всех страниц сделать нельзя. Поэтому, в 4 страницу ОЗУ для работы необ- ходимо загружать старые версии теневого монитора, работающие с обычным ПЗУ. Вторым подобным случаем является интерфейс "ZX- -LPRINT". Если его программа расположена в отдельном ПЗУ, а не в четвертой странице 27512, то это ПЗУ также эмулироваться не будет. При установке эмулятора, ПЗУ, нахо- дящееся в компьютере, необходимо переста- вить на его плату.Схема рассчитана на под- ключение к системной шине. Никаких допол- нительных сигналов не требуется. На данный момент эмулятор собран и ра- ботает, посему схема не должна содержать ошибок. Опытный образец показал блестящие результаты. Теперь вы сможете делать со своим ПЗУ все, что угодно. Например,вы мо- жете полностью изменить подпрограмму обра- ботки NMI в TR-DOS - эта доселе никчемная кнопка может стать действительно волшеб- ной! Испытания опытного образца показали только один нюанс, который касается работы TR-DOS в памяти устройства. При инициали- зации TR-DOS подключает на место ПЗУ. Это явление - следствие работы подпрограммы с адреса 15672, целью которой является про- верка наличия Интерфейса-1. Для этого она обнуляет порт #F7 в надежде получить ответ от интерфейса. Ниже приведен ее полный текст: 15672 XOR A ;обнуляем порт #F7 OUT (247),A IN A,(247) ;смотрим его состояние CP 30 ;интерфейс-1 отвечает ? JR Z,15684 ;если да,то создание его ;системных переменных CP 31 RET NZ ;если нет, то возврат 15684 RST 8 ;создание системных пе- ;ременных интерфейса-1 DEFB #31 LD A,1 ;по команде SAVE записы- ;вать 1 копию LD (23791),A RET ;возврат Для обеспечения работы TR-DOS в памяти эмулятора необходимо подправить эту под- программу,занеся два нуля по адресам 15673 и 15674. После этого порт #F7 перестанет обнулять. FD ;(если он у вас не читается, то ;SORRY).
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября