┌──────────────────────────────────────────────────────────────┐ │ Виртуальное ПЗУ │ └──────────────────────────────────────────────────────────────┘ (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 архиве, там же и прошивки, которые у меня на данный момент есть и которые я коллекционирую, так что если у кого то есть прошивка которой нет у меня то присылайте, буду рад. Пока схема существует только для пентагона. По всем вопросам обращаться по адресам редакции.