Public Spirit #01
17 мая 1997
  Софт  

Железо - КОНТРОЛЛЕР Flash/RAM/ROM-DISK, ZX LPRINT III, AY-8910.

КОНТРОЛЛЕР  Flash/RAM/ROM-DISK,
    ZX LPRINT III, AY-8910.


музыка:               автор:
(c) Dave           (с) RZ-Soft

 Рубрика  железо  представляет
собой  набор  статей, и  схем,
которые помогут Вам  собрать  и
наладить те популярные примочки
которые вешаются на ваш любимый
SPECCY.
 Сегодня фирма RZ Soft расска-
жет Вам о такой интересной вещи
как ROM-DISK.


   "... все   виражи миную на
   пределе, при этом веря что
               предела нет..."


         1. НАЗНАЧЕНИЕ

          Контроллер
FlashRAMROM-DISK, ZX   LPRINT
III,  AY-8910,  (далее   просто
контроллер)  предназначен   для
использования в комплексе с  ПК
Sinclair     48/128     имеющим
системный разъем и позволяет: -
организовать  быструю  загрузку
программ в ОЗУ  ПК  по  желанию
пользователя. Суммарный   объем
программ хранящихся в ПЗУ  ROM-
DISKа зависит  от  используемых
типов  ПЗУ   или   ОЗУ   и   их
количества.;   -     установить
вместо  ПЗУ  (или  совместно  с
ним) статическое  ОЗУ   и   тем
самым   расширить   объем   ОЗУ
вашего   ПК    до    2    Мбайт
(максимально)  плюс   к    тому
объему который уже у вас был; -
сохранять программы или  данные
в энергонезависимой памяти  при
выключении   питания    ПК;   -
подключить к ПК принтер,имеющий
интерфейс СENTRONIX или RS-232;
- прослушивать через  музыкаль-
ный сопроцессор музыкальное со-
провождение к программам. Конт-
роллер может также  работать  с
ПК оснащенным контроллером дис-
ковода. Конструкция контроллера
и  расположение   сигналов   на
системном разъеме рассчитаны на
подключение к Таганрогскому
варианту ПК Sinclair 48/128, но
контроллер может быть подключен
и  к  ПК  другой   конструкции.

2. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ROM-
     DISK (версия 6. 20)

     Управляющая
программа  ROM-DISK   построена
таким образом, что при  включе-
нии ПК или при  нажатии  кнопки
<СБРОС> на экране поячвится ме-
ню (аналогичное меню  Sinclair-
128) с перечнем программ  запи-
санных в ПЗУ ROM-DISK. В  зави-
симости   от   числа   программ
записанных в ПЗУ  размер   меню
автоматически меняется и разме-
щается  по  центру  экрана. Для
запуска   требуемой   программы
необходимо   курсором   выбрать
нужную вам и нажать <ENTER>  на
клавиатуре или <FIRE> на джой-
стике.   Управление    курсором
осуществляется  либо  клавишами
курсора на клавиатуре  ПК, либо
джойстиком. Имеется возможность
изменения    адреса    загрузки
выбраной  программы.  Установив
курсор на запускаемую программу
и нажав  клавишу  <А>  появится
окно  в  котором  указанно  имя
программы и ее посадочный адрес
в   ОЗУ   ПК.  Если   программа
является    перемещаемой,    то
автоматически        включается
редактор для  изменения  адреса
загрузки. Клавиша  <M>  (Memory
Editor) - вход в  редактор  для
просмотра и ввода дампа кодов в
памяти. Управление производится
курсором.


┌───────────────────────────┐
│ Команды редактора:        ├┐
│                           ││
│ <м>-задание нового адреса;││
│ <CS>+<3>-страница назад;  ││
│ <CS>+<4>-страница вперед; ││
│ <CS>+<1>-выход д бейсик.  ││
└─┬─────────────────────────┘│
  └──────────────────────────┘

        Имеется  также
возможность выхода  из  меню  в
соответствующий режим работы ПК
Sinclair-128, Sinclair-48   или
TR-DOS.   Переход    в    режим
Sinclair-128  возможен  если  у
вас   соответствующий   ПК,   а
переход в режим TR-DOS  -  если
ваш  ПК  оснащен   контроллером
дисковода.   Если    необходимо
сразу по включении питания  или
сбросу войти в  соответствующий
режим    ПК,   то    необходимо
одновременно    с    включением
питания  или  нажатием   кнопки
<СБРОС> нажать одну из  клавиш:
<R>   -   Sinclair-48;  <S>   -
Sinclair-128; <T>   -   TR-DOS.
Имеется    также    возможность
перехода    в    ROM-DISK     с
сохранением  в  ОЗУ  ПК   ранее
загруженной   информации,   для
чего необходимо одновременно  с
нажатием кнопки <СБРОС>  нажать
клавишу  <SPACE>.  Переход   из
режима  ROM-DISK  в  бейсик   с
сохранением информации в ОЗУ ПК
осуществляется из меню клавишей
<Q>    -    Quit.   Управляющая
программа  ROM-DISK, занимающая
младшие 2 Кбайт ОЗУ может иметь
различные версии, но общим  для
любой  версии  является  формат
записи программ пользователя  в
ПЗУ.  Адрес    начала    первой
программы  пользователя  в  ПЗУ
помещается  в   ячейках   0064Н
(100) младший  байт  адреса   и
0065Н   (101)   старший    байт
адреса. А в ячейке  0063H  (99)
находится     номер      первой
страницы.    Все      программы
пользователя  в   ПЗУ   следуют
непосредственно одна за другой.
Каждая  программа  пользователя
состоит    из    одного     или
нескольких   блоков   и   имеет
следующий формат: X байт -  имя
программы  (к  коду  последнего
байта     имени      необходимо
прибавить число 128, т.е. 80Н);
2  байта  -  аргумент   команды
CLEAR, если  0  -  то   команда
CLEAR не выполняется; 2 байта -
адрес запуска программы в  ОЗУ;
1 байт - управляющий  байт: бит
7 - признак  запуска  программы
(если  0, то   после   загрузки
программы  ей  будет   передано
управление; если  1, то   после
загрузки   будет    осуществлен
выход в  Бейсик, что  позволяет
загружать блоки данных); бит  6
-   если   0,   то    программа
запустится после нажатия  любой
клавиши  (кроме  цифровых), что
позволяет   при   необходимости
продлить  отображение  заставки
программы; если 1, то программа
запустится   немедленно   после
загрузки; бит 5  -  если  0, то
производится инициализация  TR-
DOS, что необходимо для запуска
программ  которые  работают   с
дисководом; бит 4 - если  0, то
программа              является
перемещаемой;  бит   3   -   не
используется   (установить    в
"1"); биты 2-0 - цвет  бордюра.
Блок N1: 2  байта  -  начальный
адрес загрузки блока N1 в  ОЗУ;
2 байта  -  длина  блока  N1; 1
байт - признак блока: бит  7  -
признак последнего  блока: если
1, то это блок  последний; если
0, то это  блок  не  последний;
бит   6   -   не   используется
(установить  в  "1"); бит  5  -
установлен если включено ПЗУ 48
Basica, сброшен  если  включено
ПЗУ 128 Basica; бит 4 - признак
переключения   банков   памяти:
если 1, то переключение  банков
не  производится; если   0,  то
переключение             банков
производится в  соответствии  с
битами 3-1; биты  3-1  -  номер
страницы RAM  (2-0  биты  порта
7FFDH);  бит   0   -    признак
упаковки блока: если 1, то блок
упакован; если  0, то  блок  не
упакован; Х байт -  коды  блока
N1. Далее   следуют   остальные
блоки   программы,   если    их
количество  более   одного.  За
последней  программой   в   ПЗУ
должны  следовать  байты   FFH,
количество которых должно  быть
не менее одного. Это  позволяет
при необходимости дописывать  в
свободный    объем    ПЗУ    за
последней   программой    новые
программы     без      стирания
информации   в   ПЗУ.  Упаковка
блока      производится      по
следующему    алгоритму;   если
подряд  встречаются   два   или
более  повторяющихся  байта, то
они заменяются цепочкой из трех
байт;  первые   два    -    это
повторяющиеся  байты, а  третий
байт    -    это     количество
повторяющихся байт  минус  два,
которые  уже   переписаны.  Так
цепочка  из  десяти  байт   55Н
будет заменена цепочкой 55Н 55Н
08Н, а цепочка из  двух  байтов
23Н - цепочкой 23Н 23Н  00Н, т.
е. несколько   удлинится.  Если
длина цепочки больше 257  байт,
то  ее  неоходимо  разбить   на
несколько цепочек.
Неповторяющиеся байты
переписываются  без  изменений.
Таким      образом       каждый
пользователь, имеющий
программатор     ПЗУ,     может
самостоятельно     сформировать
необходимый ему набор программ,
для  чего  необходимо  выделить
чистый код программы, состоящий
из   одного   или    нескольких
блоков,     проверить       его
работоспособность, загрузив его
в ОЗУ и передав ему управление.
Если  код  программы   работает
корректно, то поместить  его  в
ПЗУ    в     соответствии     с
приведенным выше  форматом. Для
работы     в      iS-DOS      с
дополнительными страницами ROM-
DISKa имеются драйверы rom-con.
blk  и  rom_seg.  blk.  Драйвер
rom_con.     blk      позволяет
использовать            32-8192
дополнительных    блоков,    не
входящих     в     конфигурацию
Spectrum-128. Размер устройства
зависит от  типов  установленых
микросхем ПЗУ или  ОЗУ  в  ROM-
DISKe.    Минимальный     объем
данных,   к    которым    может
обеспечить   доступ    драйвер,
равен 8  Кбайт, что  составляет
32  блока  iS-DOS. Максимальный
объем данных, к  которым  может
обеспечить   доступ    драйвер,
равен 2  Mбайт, что  составляет
8192  блоков  iS-DOS. В  начале
тела   драйвера   по   смещению
+10h(шеснадцатиричное) имеется
управляющий  байт,  в   котором
находится номер первой страницы
с  которой  начинается  область
ROM-DISKa. Остальные   страницы
считаются расположеными  подряд
по  возрастанию  за  начальной.
Драйвер rom_seg. blk  позволяет
использовать     дополнительные
страницы    расположенные     в
произвольном порядке (в отличии
от rom_con. blk). В начале тела
драйвера   по   смещению    10h
имеется   управляющая   работой
драйвера  таблица, длинною  40h
байт, в   которую   вы   должны
внести  необходимые  изменения.
Минимальный  объем   данных,  к
которым может обеспечить доступ
драйвер, равен  8   Кбайт,  что
составляет  32  блока   iS-DOS.
Максимальный  объем  данных,  к
которым может обеспечить доступ
драйвер, равен  512  Кбайт, что
составляет  2048  блоков. После
загрузки драйвера в  ОЗУ  нужно
воспользоваться      программой
create. com  и  создать   новое
усторойство. Например это можно
сделать так: create.com ROM-DSK
/-c /d512  Где  ROM-DSK   Метка
устройства /-c  Логическое  имя
устройства /d512         Размер
устройства.


         3. ПРИМЕЧАНИЯ


        Для исправления
неправильной дешифрации адресов
портов и  исключения  конфликта
при  работе   ZX   LPRINT   III
необходимо    на    плате    ПК
(Таганрогский вариант) к выводу
9   элемента   D15   подключить
разряд  адреса  А5   (цепь   6)
вместо     А7     (цепь     8).

         4. ИНТЕРФЕЙС
    ПРИНТЕРА  ZX LPRINT III


        Интерфейс   ZX
LPRINT      III      программно
поддерживает два режима работы:
-   по   протоколу    CENTRONIX
(параллельный);    -      RS232
(последовательный). В
последовательном  режиме  можно
настраивать  скорость  передачи
данных  от  75  до  9600   бод.
Интерфейс  также   поддерживает
графический    режим    работы,
причем программно настраивается
на  один  из  нескольких  типов
графических   принтеров.  После
включения ПК с присоединенным к
нему   интерфейсом,  его   надо
инициализировать. Это  делается
командой     Бейсика     LPRINT
<ENTER>,   при   условии,   что
подключен принтер, то  есть  на
контакте   17    разъема    ХP7
присутствует  логический  ноль.
После  инициализации  интерфейс
входит в текстовый режим печати
80 знаков в строке. Для  работы
в графическом режиме  одной  из
следующих команд выбирается тип
принтера: 1. Seikosha GP 250X -
LPRINT CHR$0; CHR$1 2. Seikosha
100A - LPRINT  CHR$0; CHR$2  3.
Epson (с высоким  разрешением),
Star  DP510, Gemini  и  STX  80
LPRINT CHR$0; CHR$3  4. Welters
WM80, Shinwa, CTI CP80 - LPRINT
CHR$0; CHR$4 5. То же, что и п.
3, но   уменьшенная   копия   -
LPRINT    CHR$0;   CHR$5     6.
Microline 80 и 82, CG115, MCP в
4-х  цветах  -  LPRINT   CHR$0;
CHR$6 7. Переход  в  диалоговый
режим  выбора  (при  этом   тип
принтера    отображается     на
экране, перебор  осуществляется
клавишей     <SPACE>,     выбор
<ENTER>) - LPRINT  CHR$0; CHR$0
Кроме перечисленных выше команд
интерфейс    выполняет    также
следующие  команды:  -   LPRINT
CHR$2  -  возврат  каретки  без
перевода строки; - LPRINT CHR$3
- возврат каретки  с  переводом
строки; - LPRINT  CHR$1; "a"  -
здесь "а" - от 1 до  8. Столько
знаков после этой команды будут
восприниматься  принтером   как
команды; -   LPRINT   CHR$4   -
только        один         знак
интерпретируется  как   команда
принтеру; -  LPRINT   CHR$5   -
знакогенератор       компьютера
отключается, все  знаки   после
этого  будут   интерпретированы
как    коды    ASCII,   а    не
распечатываются  как   ключевые
слова Sinclair. Выход из  этого
режима     и     возврат      к
знакогенератору      компьютера
производится  командой  COPY. -
LPRINT     CHR$0;    "S"      -
переключение режима  работы  из
параллельного   "CENTRONIX"   в
последовательный    RS232;    -
LPRINT  CHR$5; "P"  -  обратное
переключение   режима    работы
интерфейса; - POKE 23697, n - n
задает число  знаков  в  строке
при печати (по умолчанию 80); -
POKE  23728, n   -   n   задает
скорость передачи при работе  в
последовательном        режиме:
скорость, бод - 75 110 150  300
600 1200 2400 4800 9600 n - 1 2
3  4  5  6  7  8  9   Подробное
описание интерфейса принтера ZX
LPRINT III приведено в  журнале
ZX-Ревю (ZX-РЕВЮ 1991  N7  стр.
171-176).     *       *       *
 ════════════════════════════
        Таганрог - 1997
 ════════════════════════════
    Остается сказать  только  о
стоимости   контроллера.   Сама
собранная плата без ПЗУ, ОЗУ  и
FLASH стоит 55т. р. Голая плата
без деталей-  30т. р. Остальная
сумма зависит от объема и  типа
микросхемы. Также  в  стоимость
не входят затраты на пересылку.
Чистая ПЗУ 27010 стоит  25т. р.
Прошивка  программ-  6т.  р.  В
каталоге   имеется   на   время
выхода   журнала   более    100
системных, прикладных и игровых
программ. Имеется   возможность
высылки программ на  диске  уже
готовых   для   прошивки.  (При
покупке   контроллера   каталог
высылается  БЕСПЛАТНО). Каталог
постоянно          обновляется.
Проживающие в  Таганроге  могут
преобрести  контроллер   каждые
выходные на  радиорынке  у  RZ-
SOFT. От себя (Steve from  C'A)
хочу  сказать, что   контроллер
повышает удобство в пользовании
компьютером. Например  Вы   его
только включили, а  уже  можете
пользоваться   кучей   программ
(почти  как  винт,  но   только
маленький  и   быстрее):  MASM,
TASM, STS, ART STUDIO (под мышу
и  не  только), ALASM,  TETRIS,
CHESS,   PRO    TRACKER,   DIG.
STUDIO, куча бутов, командеров,
копировщиков,       редакторов.
   На  этом  вроде   все.  Если
описание  вам  понравилось,  то
можете заказать  на  мой  адрес
ROM-DISK со  списком  программ,
какие бы  вам  хотелось  иметь.
Только не надо заказов типа:
    -Хочу  себе  MORTAL  KOMBAT
или ЧЕРНЫЙ ВОРОН.
    Ориентируйтесь на то, чтобы
заказанная программа  была  без
подзагрузок в  процессе  работы
(это не  относится, например  к
редакторам,  т.  е.  вы   смело
можете  подгружать   музоны   и
тексты, а  вот  блоки  к   игре
нет).
    Вот вам мой адрес:
    347939 г.Таганрог ул.Чехова
д.355 кв. 214 (STEVE)
    Или можете  кинуть  мессагу
BOB'у или CHiP Co. (их фидошные
координаты  поищите   в  статье
"АВТОРЫ" ).



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

Авторы - Обращение руководства CODERS' ACADEMY.

Новинки - MICROEDITOR v.3.09, PCX - VIEW, Spectrofon to ZX-Word coder, FAST READER, The Fast Packet v1.0x, RETURN TO HOME 4, STRIP REVERSI, MORTAL KOMBAT,

Шедевры - Новелла: ЗВЕЗДНОЕ НАСЛЕДИЕ или рокамболь на Раксле.

Хиты - Описание программ из приложения: HEAVY METAL MOVER, TRANTOR, PENTIX, DIGITAL STUDIO COMPILER (LPT-Colox version).

Дискуссия - Неплохо бы ассемблер обновить. "Почему так мало больших программ выходит для Спектрума?"

Кодерам - переброска экрана за прерывание, Паковщики.

Кодерам - обзор современных паковщиков данных: MS-Pack, Mega LZ, ZX-ZIP, ASC LZ PACK.

Железо - КОНТРОЛЛЕР Flash/RAM/ROM-DISK, ZX LPRINT III, AY-8910.

Ха-ха - Юмор.

TOP TEN - Игры лидеры продаж за 1997 год в Таганроге.

Прогноз - Представление еще не вышедших игр: HEAVY METAL MOVER II, WING COMMANDER, PENTIX, SODOM 3D.

Почта - Анонс раздела.

Реклама - Различные объявления.


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

Похожие статьи:
"Железная"... логика! - ликбез о логических микросхемах.
Стиль - Дизайн интерфейса ваших программ.
INTRO - Создание К. Синклером компьютера ZX-2000.

В этот день...   16 декабря