Абзац
:: Поиск
:: Поддержка проекта
Webmoney:
  • Z610389805629
  • R427996570517
  • E023541002978
  • :: №23 (24.02.2005) Просмотров: 9710

    Автор: Дмитрий Терентьев.

    Рубрика: Железо.

    Номер: №23 (24.02.2005).



    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

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

    http://abzac.retropc.ru/images/i23_s1.gif

    Примечание:

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

    * C39 = /RESET

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


    Схема 2.

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

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

    http://abzac.retropc.ru/images/i23_s2.gif

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

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

    x - разрезать

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

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

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


    Схема 3.

    http://abzac.retropc.ru/images/i23_s3.gif

    © 2004-2013 Perspective group