Pentagon. Скрытые резервы — Abzac


PeriodicalsAbzac2005 No. 23 → Pentagon. Скрытые резервы

Pentagon. Скрытые резервы

На компьютерах «Пентагон» существует небольшая проблема: нельзя попасть в нулевую четверть ПЗУ. Совершенно случайно я наткнулся на статью со схемой как это сделать. Смотри схему 1 и 2 из упомянутой мной статьи.

Я, конечно, обрадовался, сделал необходимые изменения, запустил компьютер и увидел знакомый Gluk Reset Service. Но чуть позже я разочаровался. Дело в том, что в Gluk’е есть опция «Basic 128», выбрав ее, я, к своему удивлению, попал в Basic 48. Получается, что ради того, чтобы поменять местами сервис и Basic 128, столько возни. Это все равно, что прошить на место Basic 128. Да к тому же теперь нельзя попасть ни в Basic 128, ни в Service прошивку, т.к. попадаем только в Basic 48.

Так дела не делаются, сказал я себе и стал думать над схемой. Через некоторое время появился следующий результат. Смотри схему 3.

Отличий от первоначальной схемы крайне мало. Режем проводник от DD84 (вывод 6) до DD83 (вывод 9) и соединяем ножки 9 и 10 DD83 между собой.

Как все работает. При поступлении сигнала /RESET на элемент ЛИ1 (помечен *), на выводе 9 микросхемы DD76 (TM2) образуется лог. «0», в то время как сигнал C36 тоже имеет лог. «0», включается нулевая четверть ПЗУ. Далее, программы при переключении страниц засылают значения в порт #7FFD с маской #10.

В итоге C36 устанавливается в лог. «1» и нулевая четверть ПЗУ перекрывается 3-ей (Basic 48).

Для примера и проверки привожу программку, которую нужно прошить в нулевую четверть ПЗУ.

0000    DI
        LD HL,LABEL ;В ПЗУ  основное тело программы
        LD DE,START ;Адрес работы в ОЗУ
        LD BC,LEN   ;Длинна тела программы
        LDIR
        JP START
        ...
LABEL   LD A,0  ;Нулевая стр. ОЗУ
        OR #10  ;Включаем Basic 48
        LD BC,#7FFD
        OUT (C),A
        ...

START   ;Адрес в ОЗУ
        ...

При сбросе компьютера наша программка перебрасывает небольшую процедуру куда-либо в ОЗУ, которая в свою очрередь включает Basic 48.

C36 - это сигнал выбора ПЗУ Basic 48 и Basic 128. При сбросе он в лог. «0». В итоге их комбинация при сбросе дает нулевую четверть ПЗУ. Проверить работу схемы можно только лишь прошив в ПЗУ сервисную программу (Gluk Reset Service, MadRom, Real Commander или что-то другое). Иначе при наличии схемы и отсутствии программы в нулевой четверти получим зависание компьютера.

У меня эта схема стоит уже достаточно давно и все нормально работает. Работает даже NeOS (что, собственно, мне и нужно было), только иногда при сбросе попадаю сразу в Basic 128. Для устранения этого эффекта, как сказано выше, необходимо заменить DD76 на серию 1533, но т.к. у меня стоит другая серия поэтому все так и происходит.


Схема 1.

(c) 2003 U#74

Как на схеме «Пентагона» изначально.

https://zxpress.ru/images/periodicals/articles/original/102.gif

Примечание:

* C36 = bit4 порта #7FFD

* C39 = /RESET

* C20 может быть не установлен.


Схема 2.

Отрывок из (c) 1998-1999 AXLR «Доработка контроллера для работы с HD-дисками».

Как должно быть.

https://zxpress.ru/images/periodicals/articles/original/103.gif

Обозначения:

o - присоеденить

x - разрезать

* - дополнительные элементы (2 элемента ЛИ1).

Сигнал с DD76 выв. 9 (ТМ2) подаем на DD36 выв. 1 (27c512), старый сигнал от DD36 выв. 1 отсоединяем.

При необходимости меняем DD76 (ТМ2) на более быстродействующую серию - 1533.


Схема 3.

https://zxpress.ru/images/periodicals/articles/original/104.gif