My Speccy web paper < Home >
Issue < 1 >< 2 >< 3 > < 4 >< 4.1 >< 5 > < 6 >
Содержание:

От редакции
Обзор софта
Обзор прессы
С мира по нитке
Креатив
Demo scene
Мнения

Креатив:

Виртуальное ПЗУ:

Однажды, после установки на своем пентагоне новой прошивки (NeOS v1.00, Gluk Reset Service v5.3, TrDos v5.13f), я обнаружил, что в бэйсике команда PRINT 2^2 выдает совершенно неожиданные результаты (что-то вроде 0. 8232839109-e10). Лиха беда начало, как говорится, дальнейшие исследования показали, что знак копирайта лишен нижней линии, в тестах прошивка NeOS неопределяется, да и к тому же версия явно не 1. 00, много чего не работает. Но больше всего меня убило то, что не работает моя любимая игруха Terminator 2. Покопавшись в коде я обнаружил привязку на прерывания Basic128, но так как там NeOS или Service, то наступал облом.

На тот момент существовал один выход перепрошить ПЗУ, но к этому времени у нас Спектрум в Курске загнулся (а я на Спек пришел в 1999 году) и чел через которого я прошивал ПЗУ мало того, что свалил со Спека - вообще куда-то свалил. Но в какой-то газетке я прочитал статейку, где упоминалось виртуальное ПЗУ, где реальное ПЗУ подменялось на страницы памяти, но не приводилась схема, и пришлось думать самому. Не знаю как выглядела схема у того чувака, но у меня получилось так:

                ТМ2              КП12
               +---+              +-------+
     S1 ON --1-oR +5------------2-|S1 |   |
 0v ---\ --+  -+D  |    DD61/1-14-+S0 | YA+7- DD18/5
        \--+  -+C  |              +---+   |
       OFF +-4-oS  o-6-+    0v--1-+SA |   |
               +---+   |          +---+   |
                       |          |   |   |
                   -------------6-+A0 |   |
                   |   |   0v --5-+A1 |   |
         ЛЕ1/1-----+------------4-+A2 |   |
                       |  ------3-+A3 |   |
                       |  |       +---+---+
       +----------------  |
       |                  |       КП11
       |             +----+     +--T---+
       |             |  /DOSEN-3+A0|   +4- DD61/3
       |             |   ROM2 -6+A1|   +7- DD61/6
       |             |         -+A2|   +
       |             |         -+A3|   +
       |             |          +--+   |
       |             |    A15 -2+B0|   |
       |             |    A16 -5+B1|   |
       |   подать на |         -+B2|   |
       |      DD50/1 |         -+B3|   |
       |  +--+  |    |          +--+   |
       +--+& +--+----+---------1+S |   |
DD50/1----+  |  |      0v ---15-+OE|   |
          +--+  |               +--+---+
          ЛИ1   |    ЛЛ1
                |   +--+
                +---+1 +-- DD51/4
         DD51/4 ----+  |
                    +--+

Рис.1. Схема виртуального ПЗУ (для Пентагона)

Прошивки грузятся в страницы #31 - basic128, #32 - dos, #33 - basic48. Когда это все заработало, я сильно обрадовался, стал прыгать,хлопать в ладоши (шутка, со стороны это выглядело гораздо при-кольнее ;)) и подумал, что неплохо бы прогу написать которая подгружала бы прошивки. Ну... ну я ее и написал.

По всем вопросам обращаться по адресам редакции.

(c) 2003 Demon / DPC