(C) Musa Khaybullin/Star Vision
Music: BY ZHENYA/ZER0
───────────────────────────────────────────────────
╔════════════════════════════════════╗
║ ║
║ Схема полной дешифрации портов ║
║ расширенной памяти для Profi ║
║ и не только... ║
║ ║
╚════════════════════════════════════╝
Начнем немного с истории... Примерно летом
1994 года у меня появился Профи v3.2 со 128 Кб
ОЗУ (уже 3 по счету компьютер!, а начинал я с 48
"Ленинграда"). Со 128 Кб я просидел недолго, где-то
до середины 1995 года, а потом, поменяв 2 линейки
РУ5 на РУ7, стал наслаждаться работой в 512 Кб
режиме: гонял CP/M и iS-Dos в рам-диске. Вскоре я
часто стал замечать, что некоторые проги, в особен-
ности музыкалки, очень не любили включенных 512 Кб.
Очень скоро выяснилось, что авторы этих самых про-
грамм обращались не совсем корректно :-( к 128 па-
мяти и музыкалке, в следствии чего срабатывал порт
расширений у Profi - самопроизвольно включался рас-
ширенный экран, отключалось ПЗУ и т.д.
В середине 1996 года у нас в Ташкенте появил-
ся 16 номер Spectrofon'a, где в разделе "Конструк-
тор" Кириллом Громовым приводилась очень удобная
схемка по устранению данных глюков. Быстренько ус-
тановив ее, я долгое время наслаждался работой в
Honey Commader'e с резидентом в памяти ;-). Прибли-
зительно в это же время стали появляться програм-
мы, использующие 6 и 7 биты порта #7FFD для ра-
боты с памятью 512 Кб. В скором времени я его
тоже себе установил. И столкнулся с самым большим
глюком на белом свете! Eсли использовать дешифра-
цию от стандартного #7FFD для этого порта, то во-
обще переставал работать Digital Studio и ему по-
добные музыкальные редакторы, хотя авторы гаранти-
ровали 99% совместимость и безглючность работы
этого порта. В общем, если раньше мне изредка (по-
сле доработки) приходилось выключать расширенную
память, то после установки #7FFD, это приходилось
делать с каждой 4-ой программой. Вскоре это мне
зверски надоело, и на этот порт я установил полную
дешифрацию.
Через некоторое время мой знакомый указал
мне на некоторые очень приятные особенности порта
АТМ-TURBO 2+ - #FFF7. Он мог быть всегда (!) вклю-
чен, его не приходилось постоянно выключать, как ос-
тальные порты расширенной памяти, и это ни коим
образом не влияло на работу всех (!) без исключения
программ. И, что самое классное - его поддерживал
Honey Commander. В скором времени этот порт тоже
у меня стоял. При этом мне пришлось использовать
столько микросхем мелкой, и не только, логики, что,
посмотрев на свое детище, мне стало тошно... Какой
бы большой не была плата Профи, вешать столько
корпусов мне было жалко. :-(
После долгих раздумий было решено загнать
больше половины микрух в РТ4'ые, они здорово эко-
номили место, хотя и больше "кушали". В результате
чего и появилась схема, которую в текстовом форма-
те можно найти в ПРИЛОЖЕНИИ нашего журнала.
Вот список использованных деталей:
┌─────────────────────────┬─────────────────────┐
│ D1,D4,D8 - K556РT4 │ D2 - К555ТМ8 │
│ D3,D10 - К555ТМ2 │ D5 - K555ЛН1 │
│ D6 - К555ТМ9 │ D7,D9 - К555ЛЛ1 │
│ D11 - К555КП11 │ R1-R9 - 1,5 кOm. │
└─────────────────────────┴─────────────────────┘
Выхода Q0, Q1, Q2 нужно подавать туда, куда
раньше шли биты с триггеров управления памятью, в
случае с Профи, на входы ЛИ3.
Выходы с D1 означают следующее:
12 ножка - сигнал выборки порта полной дешифра-
ции Профи и АТМ-TURBO 1;
11 ножка - сигнал выборки порта полной дешифра-
ции Пентагона 512;
10 ножка - сигнал выборки порта полной дешифра-
ции Scorpion 256;
09 ножка - сигнал выборки порта неполной дешифра-
ции Spectrum 128.
9 ножка м/с D1 нужна только для того, чтобы
высвободить лишние элементы на плате и использо-
вать их потом по своему усмотрению.
Прошивка м/с D4 заключает в себе целую кучу
ЛЛ1. Поэтому, у данной схемы есть свои особеннос-
ти - если включил бит по какому-нибудь порту, то
изволь его выключить перед обращением к другому
порту расширения. Хотя с этим Вы вряд ли столк-
нетесь, ведь драйвера автоопределения памяти тести-
руют память по очереди, и если какой-то порт най-
дется, то с ним они и будет работать.
Теперь я раскажу вам о некоторых особеннос-
тях работы порта #FFF7, например, чтобы включить
какую-либо страницу памяти, нужно записывать в бит
"0", а не "1", как обычно.
Когда Вы установите себе эту схему, то про-
тестить ее можно будет с помощью Test v4.21 от
CompoWellcome, который находится в приложении жур-
налa. В приложении также находятся прошивки РТ4,
соответственно:
в D1 - RAS512,
в D4 - 512SMS,
в D8 - PRFFF7, которые указаны в схеме и моя
прошивка РФ5 для Профи v3.2 с "Пентагоновским"
INT'ом и широким бордюром. Ну а дальше, надеюсь,
все, вроде бы, должно быть понятно. Если возникнут
какие-либо вопросы, пишите мне на фидошный адрес
2:5085/1.65 на имя Musa Khaybullin aka Star Vision.
* * *
Приложение #1.
──────────────
Порты расширенной памяти:
┌══════════════════════┬═══════════════════════┐
│ #7FFD (write): │ #1FFD: │
├══════════════════════┼═══════════════════════┤
│ bit 0 - PAGE 0 │ bit 0 - │
│ bit 1 - PAGE 1 │ bit 1 - │
│ bit 2 - PAGE 2 │ bit 2 - │
│ bit 3 - SCREEN 0/1 │ bit 3 - │
│ bit 4 - ROM 0/1 │ bit 4 - EXT PAGE 0 │
│ bit 5 - BLK PORT │ bit 5 - │
│ bit 6 - EXT PAGE 0│ bit 6 - │
│ bit 7 - EXT PAGE 1│ bit 7 - │
├══════════════════════┼═══════════════════════┤
│ #FDFD/#DFFD: │ #FFF7 (из Tr-Dos): │
├══════════════════════┼═══════════════════════┤
│ bit 0 - EXT PAGE 0│ bit 0 - │
│ bit 1 - EXT PAGE 1│ bit 1 - │
│ bit 2 - EXT PAGE 2│ bit 2 - │
│ bit 3 - │ bit 3 - EXT PAGE 0 │
│ bit 4 - │ bit 4 - EXT PAGE 1 │
│ bit 5 - │ bit 5 - EXT PAGE 2 │
│ bit 6 - │ bit 6 - ROM -> #C000│
│ bit 7 - │ bit 7 - │
├══════════════════════╧═══════════════════════┤
│ #FFE7 (из-под Tr-Dos): │
└════════╤═════════════════════════════╤═══════┘
│ bit 0 - EXT PAGE 3 │
│ bit 1 - EXT PAGE 4 │
│ bit 2 - EXT PAGE 5 │
│ bit 3 - EXT PORTS ОN/OFF│
│ bit 4 - INT FIRM/PЕNT │
│ bit 5 - ROM DISK ON/OFF │
│ bit 6 - ROM PAGE 0 │
│ bit 7 - ROM PAGE 1 │
└─────────────────────────────┘