ZX Ferrum #00
09 января 2004
  Железо  

Железо - схема виртаульного ПЗУ.


Аппаратное обеспечениеЭксплуатация и доработкиПамятьТеневое ОЗУ

┌──────────────────────────────────────────────────────────────┐
│                       Виртуальное ПЗУ                        │
└──────────────────────────────────────────────────────────────┘

(c) Demon/DPC

  Однажды, после  установки  на  своем  пентагоне новой прошивки
(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 ┌─1oR  ├5─────────2┤S1│   │
  0v ─── ──┘ ─┤D  │  DD61/1─14┤S0│ YA├7─ DD18/5
         ──┐ ─┤C  │           ├──┤   │
       OFF └─4oS  o6─┐  0v ──1┤SA│   │
              └───┘  │        ├──┤   │
                   ┌─────────6┤A0│   │
                   │ │  0v ──5┤A1│   │
         ЛЕ1/1─────┴─────────4┤A2│   │
                     │  ┌────3┤A3│   │
                     │  │     └──┴───┘
        ┌────────────┘  │
        │               │       КП11
        │            ┌──┘     ┌──┬───┐
        │            │/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. Схема виртуального ПЗУ (для Пентагона)

  Сигнал ЛЕ1/1 по схеме расширения памяти Пентагона и Ленинграда
на  1mb Simm (была в каком-то из номеров DejaVu), т. е. мультип-
лексор  КП12  ставится в разрыв сигнала обеспечивающего бита при
выборке адреса меньше #C000.
  Прошивки  грузятся в страницы #31 - basic128, #32 - dos, #33 -
basic48.
  Когда  это все заработало, я сильно обрадовался, стал прыгать,
хлопать  в  ладоши (шутка, со стороны это выглядело гораздо при-
кольнее ;)) и подумал, что неплохо бы прогу написать которая по-
дгружала  бы  прошивки. Ну... ну  я  ее и написал. Она находится
в  приложении  в  hrip архиве, там же и прошивки, которые у меня
на  данный  момент  есть  и  которые  я  коллекционирую, так что
если  у  кого то есть прошивка которой нет у меня то присылайте,
буду рад.
  Пока схема существует только для пентагона.
  По всем вопросам обращаться по адресам редакции.



Другие статьи номера:

Вступление - Привет, тебе читатель!

От редактора - Новогоднее обращение редактора!

Железо - схема виртаульного ПЗУ.

Авторы - Кто это сделал?


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Очумелые ручки - Реализация кэша.
Письма читателей - SunLion о газете. Псевдо ПЗУ.
Очумелые ручки - Питание для кэш.

В этот день...   24 февраля