City #20
14 июля 1999
  Железо  

Планета Шелезяка - ДОПОЛНИТЕЛЬНОЕ ОЗУ КЕШ.

<b>Планета Шелезяка</b> - ДОПОЛНИТЕЛЬНОЕ ОЗУ КЕШ.
     ▒  ▒  ▒▒  ▒  ▒ ▒  ▒ ▒  ▒ ▒▒▒   ▒▒
     ▓ ▓  ▓  ▓ ▓  ▓ ▓ ▓  ▓  ▓ ▓  ▓ ▓  ▓
     ░░   ░  ░ ░░░░ ░░    ░░░ ░░░  ░
     ▓ ▓  ▓  ▓ ▓  ▓ ▓ ▓     ▓ ▓    ▓  ▓
     ▒  ▒  ▒▒  ▒  ▒ ▒  ▒ ▒▒▒  ▒     ▒▒


         ───     ЕЩЕ ОДНА    ───
       ───   ПЛАНЕТА ШЕЛЕЗЯКА   ───

  Вашему вниманию  предлагается  статья из
журнала DEJA VU #7. 


 В.Ковалев

            ДОПОЛНИТЕЛЬНОЕ ОЗУ

==========================================

               Привет, All !

   Ко мне тут PRUSAK принес свою новую ап-
паратную примочку,она стоит у него на Пен-
тагоне 512, и пока что глюков не было...

==========================================


   Суть сего девайса  состоит  в  том, что
вместо ПЗУшных BASIC 128 и TR DOS подстав-
ляется ОЗУ типа 62256 (32K), которое  эму-
лирует ПЗУ. Таким образом,вместо надоевшей
менюшки 128 Бейсика можно поставить собст-
венный коммандер или что-либо еще, а также
пользоваться собственными версиями  DOS'а.
Я, например, уже набрал коллекцию DOS'ов.
   Для постановки требуется:
а) Проверить способ дешифрации порта  кла-
виатуры #FE. Он должен выбираться при A0=0
и A7=1. В противном случае необходимо про-
извести доработку компьютера.
б) Необходимо  ОЗУ 62256-1шт, 15ЗЗЛЛ1-2шт,
15ЗЗЛН1, 15ЗЗЛИЗ, 15ЗЗИР23.

   Данная схема приводится для машин с ПЗУ
27512. Под другие типы ПЗУ переделать схе-
му несложно, но приводиться не будет.
Схема представлена на рис.1


                           RAM 62256 (32K)
                       ┌─┐          ┌────┐
/WR  ──────────────────┤1├──────────O/WR │
bitO ──────────────────┤ │┌─────────┤A14 │
                       └─┘│         │    │
                       ┌─┐│ ┌───────O/CS │
                +Up ───┤&││ │  /RD ─O/OE │
bit2 ────────┬─────────┤ ├┘ │       │    │
DOS  ────────┼─────────┤ │  │       │    │
/ROMCS ──────┼─────┐   └─┘  │       │    │
             │     │   ┌─┐  │       │    │
        ┌─┐  │ ┌─┐ └─┬─┤1├──┘       └────┘
bit1───┬┤1├──┼─┤&├─┬─┼─┤ │
Чbit───┼┤ │  └─┤ │ │ │ └─┘       ROM 27512
#7FFD  │└─┘   ┌┤ │ │ │              ┌────┐
       │┌─┐   │└─┘ │ └──┐ ┌─┐     22│    │
       └┤1├───┘    │┌─┐ └─┤ ├───────O/CS │
DOS ────┤ │        └┤1O───┤ │       │    │
        └─┘         └─┘   └─┘       │└────┘

                  Рис.1


   Теперь опишу принцип работы схемы.

   bitO,bit1,bit2 - это биты порта, на ко-
торый будет повешено это  устройство (порт
126 или  #7E). Бит  0  разрешает/запрещает
запись в ОЗУ. Бит 1 включает/выключает са-
мо ОЗУ. Бит 2 принудительно включает в ОЗУ
банк, соответствующий DOS. Это  необходимо
для того, чтобы  при  установке DOS  в ОЗУ
можно было без проблем  записать  его. ОЗУ
выключается, если  работает  48 BASIC. Это
достигается  заведением  4-го  бита  порта
#7FFD на схему устройства.

   Теперь о реализации порта #7E. Порт де-
лается на одной 15ЗЗЛЛ1 и  15ЗЗИР23. Схема
приведена на рис.2




                                  ┌─┐
                                ┌─┤1O── b0
                     ┌───┬──┬──┐│ └─┘
          D0      ───┤D0 │RG│Q0├┘ ┌─┐
          D1      ───┤D1 │  │Q1├──┤1O── b1
          D2      ───┤D2 │  │Q2├─┐└─┘
          D3      ───┤D3 │  │Q3│ │┌─┐
          D4      ───┤D4 │  │Q4│ └┤1O── b2
          D5      ───┤D5 │  │Q5│  └─┘
          D6      ───┤D6 │  │Q6│
          D7      ───┤D7 │  │Q7│
                     ├───┤  │  │
        ┌─┐     ┌────/C  │  │  │
A0    ──┤1├┐    │ ┌──o/CS│  │  │
A7    ──┤ ││ ┌─┐│ ┴  └───┴──┴──┘
        └─┘└─┤1├┘
        ┌─┐ ┌┤ │
IORQ  ──┤1├─┘└─┘
WR    ──┤ │
        └─┘
                  Рис.2

   Инверторы на выходе регистра поставлены
для того, чтобы при включениии  компьютера
доработка была выключена. Включить  какой-
-либо бит можно, записав в  него  единицу.
Так, например,установка DOS и BASIC на ас-
семблере будет выглядеть так:
DI
LD  A,%00000111 ;включаем принудительно
                ;DOS и разрешение записи,
                ;причем, бит 1 можно не
                ;устанавливать.
OUT (126),A
LD  HL,DOS_ADRES ;по этому адресу в памяти
                 ;должен находиться DOS.
LD DE,0
LD BC,16384
LDIR

LD BC,#7FFD
IN A,(C)


PUSH  AF  ;сохраняем значение порта #7FFD
          ;(если он у вас не читается, то
          ;SORRY).
LD A,%00000000
OUT (C),A ;устанавливаем ПЗУ со 128 BASIC
          ;(потому что при BASIC 48 допол-
          ;нительная RAM отключается).
PUSH BC
LD A,%00000011 ;включаем разрешение записи
               ;в RAM и саму RAM.
OUT (126),A
LD HL,BASIC_ADRES ;пересылаем из памяти
                  ;BASIC 128 в RAM.
LD DE,0
LD BC,16384
LDIR
LD  A,%00000000 ;выключаем RAM(при желании
                ;можно установить первый
                ;бит).
OUT (126),A


POP BC
POP AF
OUT (C),A ;восстанавливаем значение порта
          ;расширения.
EI
RET



   Остальные биты  порта 126 (bitЗ-bit7) в
данной доработке не  используются, но  при
посылке числа в порт их лучше  занулять. У
меня на них повешено: на бите 3 - вкл/выкл
теневого ОЗУ (0-вкл), на бите 4 - вкл/выкл
записи в теневое ОЗУ (0-выкл), на бите 5 -
вкл/выкл  512K (0-вкл). Ставя  или  убирая
инверторы,можно подобрать необходимую кон-
фигурацию при включении машины.

   И напоследок даю раскладку выводов мик-
росхемы ОЗУ 62256:

              ┌───┬───┬───┐
           10─┤A0 │RAM│D0 ├─11
            9─┤A1 │   │D1 ├─12
            8─┤A2 │   │D2 ├─13
            7─┤A3 │   │D3 ├─15
            6─┤A4 │   │D4 ├─16
            5─┤A5 │   │D5 ├─17
            4─┤A6 │   │D6 ├─18
            3─┤A7 │   │D7 ├─19
           25─┤A8 │   │   │
           24─┤A9 │   │   │
           21─┤A10│   │   │
           23─┤A11│   │   │
            2─┤A12│   │   │
           26─┤A13│   │   │
            1─┤A14│   │   │
              ├───┤   │   │
           20─O/CS│   │   │
           22─O/OE│   │   │
           27─O/WR│   │GNDX─14
              │   │   │UccX─28
              └───┴───┴───┘

Раскладка порта 126 DEC; #7E HEX

bitO - запись в ОЗУ (1-yes,0-no);
bit1 - ОЗУ (1-вкл,0-выкл);
bit2 - DOS принудительно (1-вкл,0-выкл);
bitЗ - теневое ОЗУ (0-вкл,1-выкл);
bitЧ - запись в теневое ОЗУ (1-вкл,0-выкл)
bitS - 512K Mode (1-off,0-on);
bitб - зарезервирован;
bit7 - зарезервирован.





              *   *   *



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

Вступление - юбилейный номер газеты "City".

Планета Шелезяка - программирование XTR модема.

Букашка - нова рубрика газеты.

Еще одна планета железяка - схема музыкальной карточки Soundrive v. 1.05

Смайлик - Юзеры с компютером- на "вы".

Ликбез - полный дизассемблеп ПЗУ TR-DOS'a.

БУК - Откудова у Герасима появилась энта Му-му.

Планета Шелезяка - ДОПОЛНИТЕЛЬНОЕ ОЗУ КЕШ.

Beatles Forever - "Как ветра осенние" (декабрь 1985 г).

Двиагтель торговли - Пpодам, куплю ,обменяю пpогpаммы для ZX Spectrum Каталог запишу бесплатно на ваши диски (5,25 или 3,5 дюйма).


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

Похожие статьи:
Железо - спектрум-наладонник: ZX-Pad - мнение.
Печатается с продолж. - Как ломаются полуоси (часть 1).
Реклама - Реклама и объявления ...
BBS - список станций BBS ZXNet.
Обзор - новые игры: RETURN TO HOME 4, CITADEL, KLADEMINER, BRIDGE PLAYER, CRUSHER, AMERICAN TURBO KING, RAD RAMP RACER, KUNG FU MASTER, CHOY LEE, SIDERAL WAR, ARKARUM, DIRT TRACK RACER, DOUBLE DRAGON 2, NIGHT BREED, THE CYCLES, MOONTORC, KOMMANDO 2.

В этот день...   15 мая