Мультирежимные
контроллеры дисковода "A16" и "A16M": техническое описание
(В.Е.Новак, фирма “АльтПро”)
A16 предназначен для подключения от одного до трех дисководов к
БК0010(-01); A16M - для подключения 1 или 2 дисководов к
БК0010(-01) или БК0011М, на БК0011М обеспечивает доступ к
HALT-режиму.
В А16М реализована защита от стирания информации на дискетах при
выключении питания (без использования потребляющих большую мощность
микросхем 531 серии).
Как различить контроллеры “К+16”,
А16 и А16М: если у Вас А16 или А16М, то при включении питания (без
нажатия каких-либо клавиш) на экран автоматически выводится
сообщение о контроллере. Если у Вас А16М, то в сообщении сказано,
что контроллер годится и для БК0011М ( А16 - только для
БК0010(-01) ).
ПЕРЕЗАПУСК компьютера, осуществляемый нажатием кнопки “RESET”
контроллера, возможен двух типов: кратковременное нажатие на кнопку
работает традиционно и приводит к выходу в текущий режим; длительное
удержание кнопки (1 сек и более) приводит к установке стандартного
режима работы ДОЗУ (режимы описаны ниже) и:
на А16:
загрузке операционной системы, если
нажат “пробел”;
сохранению регистров R0-R6 в ячейках
37762-37776 и выходу в монитор БК, если нажат “0”;
сохранению регистров R0-R6 в
ячейках 7762-7776 и областей памяти 0-10000 в 10000-20000 и
120000-140000 (или 140-160000) в 20000-40000, если нажата клавиша “1”
(или “2”);
передаче управления на адреса:
130000 при нажатой клавише “3”, 140000 - “4”, 150000 - “5”, 137000 -
“6”, 157000 - “7”, и на адрес, содержащийся в ячейке 376, если нажата
клавиша “8”;
на А16М:
старое значение SP сохраняется в
37776, SP устанавливается на 37776; если установлен признак “перехвата
перезапуска” - содержимое ячейки 137720 “стартового” режима = 37776,
то управление сразу передается на 137722; иначе устанавливается
стандартный для данной модели БК (10-01 или 11М) режим работы доп. ОЗУ
и:
если нажата клавиша “0” или “1” -
произойдет попытка загрузки с соответствующего привода;
если нажата клавиша “2” -
передается управление на 100000 (таким образом на БК0011М достигается
“перезапуск на 100000”);
клавиши “3”-”8” обрабатываются так
же, как и на А16.
И на А16, и на А16М команды монитора БК10 “T0”, “T1” (а на А16 и
“T2”) вызывают загрузку с привода с соответствующим номером;
“T3”-”T7”, “T10” работают аналогично перезапуску с нажатием клавиш
3-7, 8 соответственно; “Т2” на А16М передает управление на 100000.
Примечания:
Встроенный тест включает в себя
проверку программируемого таймера, который находится в процессоре БК
1801ВМ1 и к контроллеру отношения не имеет. В случае появления
сообщений об ошибках других узлов необходимо обратиться к изготовителям.
В тесте корректно определяется
тактовая частота БК 3 МГц, 4 МГц и 6 МГц. При использовании
неправильной схемы “турбирования” БК, опубликованной в журнале “ИНФО”,
точность определения тактовой частоты не гарантируется. Если ваш
экземпляр контроллера на повышенной тактовой частоте не работает,
обратитесь в фирму-изготовитель.
Наращивание памяти до 64 или 128
Кбайт можно произвести в фирме “АльтПро” или у официальных дилеров на
льготных условиях.
Назначение
контактов выходного разъема контроллера
(выход к дисководу)
Контакт | Сигнал | Назначение контакта |
8 | ИНД | Индексный маркер |
10 | ВН0 | Выбор накопителя 0 |
12 | ВН1 | Выбор накопителя 1 |
14 | ВН2 | Выбор накопителя 2 |
16 | МВК | Включ. двигателя |
18 | НПШ | Направление шага |
20 | ШАГ | Шаг |
22 | ЗПД | Данные записи |
24 | РЗП | Разрешение записи |
26 | Д00 | Нулевая дорожка |
28 | ЗЗП | Запрет записи |
30 | ДЧТ | Данные чтения |
32 | ВП0 | Выбор поверхности |
34 | ГОТ | Готовность |
Все нечетные - ОБЩИЙ.
В А16М сигнал ВН2 незадействован.
Первый провод в плоском кабеле соответствует 8-му контакту разъема.
Используется кабель 2 видов: 27 жил или 26 жил. В случае, если в
кабеле 26 жил, 33 контакт разъема пропускается.
Назначение
контактов входного разъема контроллера (МПИ)
Сигнал | Контакт |
AD0 | A31
|
AD1 | B31
|
AD2 | B29
|
AD3 | B30
|
AD4 | B28
|
AD5 | A28
|
AD6 | B27
|
AD7 | B32
|
AD8 | B26
|
AD9 | A27
|
AD10 | B25
|
AD11 | A26
|
AD12 | B24
|
AD13 | A25
|
AD14 | B23
|
AD15 | B7
|
SYNC | B22
|
RPLY | B20
|
DIN | A23
|
DOUT | B21
|
WTBT | B11
|
RESET | B19
|
RESTA | A1
|
BAS1 | A14
|
BAS2 | A29
|
MON10 | B1
|
GND | AB2,3
|
+5V | AB12
|
+5V | A4
|
MON11 | B6
|
RAM11 | A22
|
AD0-AD15-...-RESET - стандартные сигналы шины;
RESTA - перезапуск процессора (низким уровнем);
BAS1,BAS2 - блокировка ПЗУ Бейсика на БК0010(-01) (высоким);
MON10 - сигнал отключения ПЗУ монитора БК0010(-01) (высоким), схема
отключения реализована не на всех БК (зависит от завода-изготовителя -
см. ниже);
MON11 (только для A16M) - сигнал отключения ПЗУ монитора БК11М
(высоким), для отключения требуется доработка БК0011М;
RAM11 (только для А16М) - сигнал отключения верхней страницы ОЗУ
(100000-140000) БК0011М (низким); при выставленном сигнале RAM11
потребление увеличивается на 30-50 мА.
Дополнительные возможности
На БК0010-01 последней версии, выпускаемой заводом “Экситон” с 1991
года, возможно программное отключение монитора-ПЗУ БК и подключение на
его место вторых 8 Кбайт ДОЗУ, что дает возможность внесения
изменений в монитор БК, максимально надежного перехвата обращений
программ к магнитофону за счет изменения содержимого ячейки 100036,
загрузки любых экранных шрифтов.
Доработка БК0010-01 предыдущих выпусков заключается в следующем:
1) отсоединить от схемы вывод B1 разъема МПИ и вывод 23 микросхемы
1801РЕ2-017; 2) в образовавшийся разрыв между выводом 23 и “общим”
впаять резистор 1 кОм и соединить вывод 23 с контактом B1 МПИ.
По многочисленным просьбам в А16М предусмотрена возможность отключения
монитора БК0011М, сигнал отключения выведен на контакт B6
разъема МПИ (как было предложено в статье в журнале “Персональный
компьютер БК”). Контакт B6 в БК незадействован - для того, чтобы
отключение монитора БК11М работало, необходимо сделать доработку,
аналогичную предложенной для БК0010 - только B6 отделять от схемы не
надо и номер микросхемы другой: DS17 (1801РЕ2-324 или 1801РР1).
Сигнал отключения верхней страницы ОЗУ БК0011М используется при обмене
данными с дополнительной памятью контроллера.
Режимы
подключения ОЗУ контроллера A16M
Название режима | Start | Std10 | ОЗУ10 |
Basic | Std11 | ОЗУ11 | ОЗУзз | Hlt11 |
Код включения | 160
| 60 | 120
| 20 | 140
| 40 | 100
| 20000 |
Откл. мон. БК10 | | | + | + | | | + | + |
-/- мон. БК11М | | + | | + | | + | | + |
-/- верх.ОЗУ-11М | + | + | + | + | | | | |
170000-177777 | ПЗУ
| - | -
| - | -
| - | -
| 3W |
160000-167777 | ПЗУ
| ПЗУ | ПЗУ
| - | ПЗУ
| 2 | ПЗУ
| 2 |
150000-157777 | 1
| 1 | -
| - | -
| 1 | -
| 1 |
140000-147777 | 0
| 0 | -
| - | -
| 0 | -
| 0 |
130000-137777 | 3
| 3 | 3
| - | -
| - | 3
| - |
120000-127777 | 2
| 2 | 2
| - | -
| - | 2
| - |
110000-117777 | -
| - | 1
| 1 | -
| - | 1
| - |
100000-107777 | -
| - | 0
| 0R | -
| - |
0R | - |
Обозначения: ПЗУ - ПЗУ объемом 10000; 0,1,2,3 - 4 сегмента ОЗУ по
10000 (по 4 Кб); R,W (0R,3W) - указанный сегмент доступен только по
чтению или записи соответственно.
Назначение режимов:
Start - аппаратно подключается при
вкл. питания и “длинном” перезапуске, перехватывается управление при
запуске;
Std10 - стандартный для БК10 с доп.
ОЗУ 16 Кб;
ОЗУ10 - для БК10: вместо монитора
подкл. вторые 8 Кб ОЗУ; этот же режим используется на БК0011М для
доступа к доп. ОЗУ контроллера (верхняя страница ОЗУ БК11М отключается);
ОЗУзз - то же, но нижние 10000 ОЗУ
подключаются в режиме квази-ПЗУ (с запретом записи - отсюда “зз”), что
позволяет обеспечить максимально надежную эмуляцию БК0010 с
магнитофоном - работают даже савинские программы, стирающие экран до
прерывания по вектору 4;
Basic - режим для подключения ПЗУ
Бейсика БК0010-01;
Std11 - стандартный для БК0011М -
ОЗУ отключено (при запуске подключается стандартный для каждой модели
БК режим!);
ОЗУ11 - на место монитора БК11М и
ПЗУ-160000 подключается ОЗУ, на МПИ выставляется сигнал отключения
монитора БК11М;
Hlt11 - то же, плюс обеспечивается
доступ к HALT-режиму.
Режимы включаются следующим образом:
MOV #6,@#177130 ;стробирующий код
MOV CODE,@#177130 ;код включения режима
MOV #0,@#177130 ;очистка
Для очистки в данной модели контроллера можно использовать и команду
CLR, команда “MOV #0,...” приведена для совместимости с контроллерами с
доп. ОЗУ 128 Кб и выше - там CLR использовать нельзя (MOV #0 и CLR -
не одно и то же).
ПЗУ Бейсика БК0010-01 подключается традиционно установкой 3 разряда
регистра 177130, правда при этом, как видите, режим работы ОЗУ не
меняется. Регистры контроллера дисковода отключаются по чтению
установкой 2 разряда того же регистра. (Т.е., для подключения Бейсика
после соотв. подготовки используется команда MOV #14,@#177130; для
работы в Бейсике есть готовая программа - BASIC16M).
Режимы
подключения ОЗУ контроллера A16
Название режима | Start |
Std | ОЗУзз | ОЗУрз | -
| Std | ОЗУзз |
ОЗУрз |
Код включения |
140 | 40 |
100 | 0 |
/150 | /50 |
/110 | /10 |
Откл. мон. БК10 | | | + | + | | | + | + |
170000-177777 |
ПЗУ | - |
- | - |
BAS | BAS |
BAS | BAS |
160000-167777 |
ПЗУ | ПЗУ |
ПЗУ | ПЗУ |
BAS | BAS |
BAS | BAS |
150000-157777 |
1 | 1 |
- | - |
BAS | BAS |
BAS | BAS |
140000-147777 |
0 | 0 |
- | - |
BAS | BAS |
BAS | BAS |
130000-137777 |
3 | 3 |
3 | 3 |
BAS | BAS |
BAS | BAS |
120000-127777 |
2 | 2 |
2 | 2 |
BAS | BAS |
BAS | BAS |
110000-117777 |
- | - |
1 | 1 |
- | - |
1 | 1 |
100000-107777 |
- | - |
0R | 0 |
- | - |
0R | 0 |
Назначение первых четырех режимов совпадает с назначением
аналогично названных режимов контроллера A16M (зз = запрет записи,
рз = разрешение записи). Их включение тоже выполняется аналогично
контроллеру A16M.
Установка 3-го разряда регистра 177130 автоматически увеличивает номер
режима на 4 (т.е. перебрасывает в правую половину приведенной
таблицы режимов), отключает регистры контроллера (177130,177132) по
чтению и подключает ПЗУ с Бейсиком.
Нумерация версий
контроллеров "АльтПро"
Номер версии доступен программно - он содержится в последнем слове ПЗУ
(по адресу 167776). В старшем байте закодирован номер модели
контроллера, в младшем - номер версии прошивки ПЗУ:
Для четырех последних: если младший байт > 0 - то это старая
версия ПЗУ совмещенного контр. винчестера и дисковода SMK64, ее нужно
заменить (ПЗУ установлено на панелях); если мл. байт имеет значение от
200 до 300 - это номер версии ПЗУ контроллера SMK с указанным объемом
ОЗУ; если > 300 - это номер версии ПЗУ дисководного контроллера
A..M с указанным старшим байтом объемом памяти.