Lprint #13
01 августа 1997
  Железо  

┌----------------------------------------┐
│░░░░░░░░░░░░░░ SHADOW RAM ░░░░░░░░░░░░░░│
└----------------------------------------┘
(C) Hamer                     MDM 221-8365
                                          
   Недавно я, сначала у Никифорова,  а за-
тем  и  у себя сделал маленькую,  но очень
удобную  вещицу,  называемой  Теневое ОЗУ.
За  основу была взята схема,  опубликован-
ная  в  17-ом Spectrofon'е. Там рассказано
о подключении 2-х килобайтных  ОЗУ'шек, но
нам  этого показалось очень  мало и мы ре-
шили установить себе аж 32 кг. В  Spectro-
fon'е  кстати рассказывалось о подключении
этого прибамбаса совместно с  COVOX'ом, но
так  как  эти COVOX'ы имеют  далеко не все
то схемку пришлось немного доработать.    
   Итак, схемка:                          
                                          
                    ТМ2             ┌───┐1                      
     _____      4┌─┬────┐          3│1  ├──── A14               
     RESET ──────┤R│    │ BLOK    ┌─┤   │2                      
                2├─┤   Q├────     │ │   ├──── A15               
        A7 ──────┤D│    │5        │ └───┘                       
                3├─┤    │         │4┌───┐                       
              ┌──┤C│   _│6        └─┤  1│6    ______            
       ___    │ 1├─┤   Qo────────┐ 5│   ├──── CS_RAM            
       MAG ───┼──┤S│    │        └──┤   │                       
              │  └─┴────┘    ЛЛ1    └───┘                       
              │   ┌───┐12   ┌───┐9    ____                      
              │ 11│1  ├───┐8│1  ├──── IORQ                      
              └───┤   │13 └─┤   │10                             
                  │   ├──┐  │   ├──── A2                        
        __        └───┘  │  └───┘                               
        RD ──────────────┘          ┌───┐1                      
                         _______   3│1  ├─── BLOK               
                         CS_ROM0 ───┤   │2   ______             
                                    │   ├─── CS_ROM             
                                    └───┘                       
                                                                
   Сигнал  BLOK  служит для блокировки об-
ращения  к  ПЗУ  во  время работы теневого
ОЗУ.  Сигнал  /CS_ROM  подключается к про-
воднику,  ведущему к 20-ой ноге микросхемы
ПЗУ,  которую  (ногу)  нужно  отделить  от
платы,  сигнал  /CS_ROMO  заводим на отор-
ванную  20-ую ногу ПЗУ'шки.  Если TR-DOS у
вас  прошита в той же ПЗУ, что и  BASIC то
вам  повезло,  иначе  с ПЗУ'шкой  TR-DOS'а
придется проделать тоже,  что и с основной
(добавив еще один элемент ИЛИ).  Если же в
вашем   компе  предусмотрена   возможность
блокировки  ПЗУ'х через  системный разъем,
или еще как-нибудь, то не надо будет уста-
навливать  дополнительную  микруху ЛЛ1.  В
Profi   это   6-ой   вывод   переключателя
ПЗУ'шек  на верхней плате,  но для его ис-
пользования  необходимо,  что  бы все  64K
ПЗУ  находились в одной микрухе  на нижней
плате,  тогда, кстати, колодку на  верхней
плате   можно   использовать   для   нашей
ОЗУ'шки.  В  Байте  такая возможность тоже
есть, но я не помню,  какая это нога сист.
разъема.                                  
   Теперь  об самих ОЗУ'шках.  Приведу ри-
сунок микросхеммы на 32к:                 
                                          
                ┌--┬┬--┐                  
           A14 -┤1 └┘28├- Vcc             
           A12 -┤      ├- /WE             
            A7 -┤      ├- A13             
            A6 -┤      ├- A8              
            A5 -┤      ├- A9              
            A4 -┤      ├- A11             
            A3 -┤      ├- /OE             
            A2 -┤      ├- A10             
            A1 -┤      ├- /CS             
            A0 -┤      ├- D7              
            D0 -┤      ├- D6              
            D1 -┤      ├- D5              
            D2 -┤      ├- D4              
           GND -┤14  15├- D3              
                └------┘                  
                                          
   В  микрухе на 16K  не используется 1-ая
нога.  Сигнал /OE  нужно завести на сигнал
процессора /MREQ  (19 нога процессора, или
B18  в сист. разъеме Profi).  Сигнал /CS -
на  сигнал /CS_RAM  в схеме этого девайса.
Сигнал  /WE - на сигнал процессора /WR (22
нога  процессора,  или B21 в сист. разъеме
Profi).  Выводы A0-A13 и D0-D7 к соответс-
твующим  выводам  процессора,  или  сист. 
разъема.  Если же вы счастливый обладатель
32K  ОЗУ, то вывод A14 ОЗУ'шки следует за-
вести  на  A14(27 нога) ПЗУ'шки, в которой
прошит 128-ой BASIC,  или к A31 сист. раз-
ъема  Profi  и  теперь  у вас есть возмож-
ность  переключать банки  теневого ОЗУ так
же,  как и банки овычного  128-ого ПЗУ че-
рез 4-ый бит порта #7FFD.                 
  Но  все это туфта,  если нет возможности
влететь в теневое ОЗУ по  MAGIC'у культур-
но и без глюков.  А весь прикол заключает-
ся в том,  что этот девайс не успевает пе-
реключать память с приходом сигнала  /NMI.
Для этого еще одна схемка:                
                                          
          MAGIC+          ___             
           ┌╥┐   ┌------- NMI             
            ║/   │                        
            /    │        ___             
    ┌------/  ---o------- MAG             
   -┴-           │                        
           ┌---┐ │ │/│    ____            
     +5V o-┤   ├-o-┤ ├--- WAIT            
           └---┘   ││                    
           1ОкОм  КД5O2                   
                                          
   Диод  можно  не ставить на тех машинах,
на  которых сигнал  /WAIT не вырабатывает-
ся,  например  на Пентагонах,  но на Profi
он желателен.  Кстати на Profi лучше будет
если  на  верхней плате сигнал /NMI  отре-
зать от схемы на самом системном разъеме. 
   Теперь  о  схемах: микрухи  ТМ2  и  ЛЛ1
можно  брать любой серии  (155, 555, 1533)
Сигналы,  обозначение  в тексте со значком
"/" инверсные.  Микрухи ОЗУ - 32K:  43256,
51256, 62256  , 16к -  62128  и т.д.      
   Теперь  о  программировании этого  при-
бамбаса:  включается теневое ОЗУ  командой
IN  A,(#FB)  ,  а возвращается  в исходное
состояние  командой  IN  A,(#7B)  (как   в
ZX-LPRINT III)                            
   И  в  заключение  о  ПО. Всем известный
Александр  Никифоров  уже  адаптировал под
это дело CONVER COMMANDER  (only 32k RAM),
PERFECT COMMANDER, MONSTER COMMANDER,  FPM
COMMANDER,  STSS.1 (16k RAM) и  продолжает
дальше заниматься адаптацией.  Поддержива-
ет теневое ОЗУ и демка OVER THE TOP , куда
она размещает COVOX PLAYER, для более чис-
того звука.                               



Other articles:


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

Similar articles:
Hall of Fame - Reserves: an attempt to present the perfect ZX Spectrum.

В этот день...   21 November