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

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


Аппаратное обеспечениеЭксплуатация и доработкиПамятьТеневое ОЗУ

     ▒  ▒  ▒▒  ▒  ▒ ▒  ▒ ▒  ▒ ▒▒▒   ▒▒
     ▓ ▓  ▓  ▓ ▓  ▓ ▓ ▓  ▓  ▓ ▓  ▓ ▓  ▓
     ░░   ░  ░ ░░░░ ░░    ░░░ ░░░  ░
     ▓ ▓  ▓  ▓ ▓  ▓ ▓ ▓     ▓ ▓    ▓  ▓
     ▒  ▒  ▒▒  ▒  ▒ ▒  ▒ ▒▒▒  ▒     ▒▒


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

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


 В.Ковалев

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

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

               Привет, All !

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

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


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

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


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

                  Рис.1


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

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

   Теперь о реализации порта #7E. Порт де-
лается на одной 1533ЛЛ1 и  1533ИР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 (bit3-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

bit0 - запись в ОЗУ (1-yes,0-no);
bit1 - ОЗУ (1-вкл,0-выкл);
bit2 - DOS принудительно (1-вкл,0-выкл);
bit3 - теневое ОЗУ (0-вкл,1-выкл);
bit4 - запись в теневое ОЗУ (1-вкл,0-выкл)
bit5 - 512K Mode (1-off,0-on);
bit6 - зарезервирован;
bit7 - зарезервирован.





              *   *   *



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

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

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

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

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

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

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

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

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

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

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


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

Похожие статьи:
Железо - подключение к спектруму статической памяти (кэша).
Железо - схема виртаульного ПЗУ.
Капля припоя - Эмулятор ПЗУ для компьютера ZX-Spectrum v1.0.

В этот день...   17 июля