Мультирежимные контроллеры дисковода "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
с указанным старшим байтом объемом памяти.