Бытовой ретро-компьютер своими руками
http://forum.pk-fpga.ru/

Мультирежимные контроллеры дисковода "А16" И "A16M"
http://forum.pk-fpga.ru/viewtopic.php?f=39&t=5407
Страница 1 из 1

Автор:  Voland [ 06 июн 2013, 11:28 ]
Заголовок сообщения:  Мультирежимные контроллеры дисковода "А16" И "A16M"



МУЛЬТИРЕЖИМНЫЕ КОНТРОЛЛЕРЫ ДИСКОВОДА "А16" И "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 сек и более) приводит к установке стандартного режима работы ДОЗУ (режимы описаны ниже) и:
- запуску тестов, если ни одна клавиша в момент отпускания RESET не нажата;

на А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.



ПРИМЕЧАНИЯ:
══════════
  1. Встроенный тест включает в себя проверку программируемого таймера, который находится в процессоре БК 1801ВМ1 и к контроллеру отношения не имеет. В случае появления сообщений об ошибках других узлов необходимо обратиться к изготовителям.
  2. В тесте корректно определяется тактовая частота БК 3 МГц, 4 МГц и 6 МГц. При использовании неправильной схемы "турбирования" БК, опубликованной в журнале "ИНФО", точность определения тактовой частоты не гарантируется. Если ваш экземпляр контроллера на повышенной тактовой частоте не работает, обратитесь в фирму-изготовитель.
  3. Наращивание памяти до 64 или 128 Кбайт можно произвести в фирме "АльтПро" или у официальных дилеров на льготных условиях.


НАЗНАЧЕНИЕ КОНТАКТОВ ВЫХОДНОГО РАЗЪЕМА КОНТРОЛЛЕРА
(выход к дисководу)

┌────┬─────┬───────────────────┐┌────┬─────┬───────────────────┐
КонтСигн.Назначение контакта││ 22 │ ЗПД │ Данные записи │
├────┼─────┼───────────────────┤│ 24 │ РЗП │ Разрешение записи │
│ 8 │ ИНД │ Индексный маркер ││ 26 │ Д00 │ Нулевая дорожка │
│ 10 │ ВН0 │ Выбор накопителя 0││ 28 │ ЗЗП │ Запрет записи │
│ 12 │ ВН1 │ Выбор накопителя 1││ 30 │ ДЧТ │ Данные чтения │
│ 14 │ ВН2 │ Выбор накопителя 2││ 32 │ ВП0 │ Выбор поверхности │
│ 16 │ МВК │ Включ. двигателя ││ 34 │ ГОТ │ Готовность │
│ 18 │ НПШ │ Направление шага │├────┴─────┴───────────────────┤
│ 20 │ ШАГ │ Шаг ││ Все нечетные - ОБЩИЙ │
└────┴─────┴───────────────────┘└──────────────────────────────┘

В А16М сигнал ВН2 незадействован.


Первый провод в плоском кабеле соответствует 8-му контакту разъема. Используется кабель 2 видов: 27 жил или 26 жил. В случае, если в кабеле 26 жил, 33 контакт разъема пропускается.




НАЗНАЧЕНИЕ КОНТАКТОВ ВХОДНОГО РАЗЪЕМА КОНТРОЛЛЕРА (МПИ)

┌──────┬─────┐  ┌──────┬─────┐  ┌──────┬─────┐  ┌──────┬─────┐
СигналКонт.│ │СигналКонт.│ │СигналКонт.│ │СигналКонт.
├──────┼─────┤ ├──────┼─────┤ ├──────┼─────┤ ├──────┼─────┤
│ AD0 │ A31 │ │ AD8 │ B26 │ │ SYNC │ B22 │ │ BAS2 │ A29 │
│ AD1 │ B31 │ │ AD9 │ A27 │ │ RPLY │ B20 │ │ MON10│ B1 │
│ AD2 │ B29 │ │ AD10 │ B25 │ │ DIN │ A23 │ │ GND │AB2,3│
│ AD3 │ B30 │ │ AD11 │ A26 │ │ DOUT │ B21 │ │ +5V │AB12 │
│ AD4 │ B28 │ │ AD12 │ B24 │ │ WTBT │ B11 │ │ +5V │ A4 │
│ AD5 │ A28 │ │ AD13 │ A25 │ │ RESET│ B19 │ │ │ │
│ AD6 │ B27 │ │ AD14 │ B23 │ │ RESTA│ A1 │ │ MON11│ B6 │
│ AD7 │ B32 │ │ AD15 │ B7 │ │ BAS1 │ A14 │ │ 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

╔════════════════╤═════╤═════╤═════╤═════╤═════╤═════╤═════╤═════╗
Название режимаStartStd10ОЗУ10BasicStd11ОЗУ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

╔════════════════╦═════╤═════╤═════╤═════╦═════╤──B──A──S──I──C──
Название режимаStartStdОЗУззОЗУрз║ - │ 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). В старшем байте закодирован номер модели контроллера, в младшем - номер версии прошивки ПЗУ:



• 174000 ─ A16;
• 174400 ─ A16 + контроллер "винта" с доп. ОЗУ 4 Кб (170-177000);
• 175000 ─ A16M;
• 175400 ─ не используется;
• 176000 ─   64 Кб ──> ┐
• 176400 ─ 128 Кб ──> │
• 177000 ─ 256 Кб ──> │
• 177400 ─ 512 Кб ──> ┘
если младший байт > 0 - то это старая версия ПЗУ совмещенного контр. винчестера и дисковода SMK64, ее нужно заменить (ПЗУ установлено на панелях);
если мл. байт имеет значение от 200 до 300 - это номер версии ПЗУ контроллера SMK с указанным объемом ОЗУ;
если > 300 - это номер версии ПЗУ дисководного контроллера A..M с указанным старшим байтом объемом памяти.
---------------------------------


В. Е. Новак, фирма "АльтПро"




Исходный текст с оригинальным форматированием:
A16TECH.TXT [23.5 KiB]
Скачиваний: 1214

Автор:  Voland [ 23 июн 2013, 17:28 ]
Заголовок сообщения:  Re: Мультирежимные контроллеры дисковода "А16" И "A16M"



КРАТКАЯ ИНФОРМАЦИЯ О КОНТРОЛЛЕРАХ А64М, А128М

Тестирование контроллера производится программой ALT_test, код К.С. должен быть равен "IBFL" для А64М, "ICFL" для А128М.


Все содержимое доп. ОЗУ контроллера сохраняется между сеансами работы (на БК11М это скрытые страницы), для этого в контроллере установлен литиевый элемент питания (трехвольтовый). Одного элемента должно хватать на несколько лет, однако опишем порядок замены без нарушения пломбы: для этого необходимо открутить 2 дальних от разъема МПИ самореза и вытянуть вкладыш с элементом питания - он несколько выступает наружу между плоским кабелем и дном корпуса контроллера. При замене необходимо особое внимание обратить на правильную полярность и установку и сборку, полностью идентичную исходной.


Контроллер позволяет выходить из программ в ДОС минуя операцию загрузки ("перезапуск на 100000") - для этого нужно в момент отпускания кнопки перезапуска и после удерживать НЕ МЕНЕЕ 1 сек кнопку '!'; аналогичное нажатие 'КТ' обеспечивает выход в монитор. На БК0010(-01) перезапуск (или включение питания) с нажатой кнопкой '!' позволяет выйти в ДОС без загрузки с дисковода. Более подробное описание наших новых контроллеров мы надеемся оформить в ближайшее время; готовятся также программы, активно использующие дополнительную память.



Новак В. Е.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/