Порты БКБез подключенного дисковода, порты занимают адреса 177600-177776. При подключенном блоке дисковода, его ПЗУ занимает адреса 160000-167776, при этом адреса 170000-177776 остаются под порты. 176560 -- 176567Регистры ИРПС для школьного Бейсика. 177130Регистр управления НГМД -- КНГМД и АльтПро. По чтению: - бит 0: признак 0-ой дорожки
- бит 1: готовность к работе
- бит 2: защита от записи
- бит 7: запрос на чтение/запись данных из регистра данных
- бит 14: признак записи циклического контрольного кода на диск
- бит 15: признак 0-го сектора (индексного отверстия)
По записи: - биты 0-3: выбор накопителя; бит 3: см. примечание (АльтПро)
- бит 4: включение мотора
- бит 5: выбор головки, "0" -- верхняя, "1" -- нижняя.
- бит 6: направление перемещения головок
- бит 7: шаг (40/80 дорожек?)
- бит 8: признак "начало чтения"
- бит 9: признак "запись маркера"
- бит 10: включение схемы предкоррекции
(АльтПро) При установленном бите 010 при записи в регистр 0177130 для контроллеров с количеством ДОЗУ 64 или 128Кб подключается ПЗУ Бейсика. Для остальных контроллеров Бейсик подключается полным его копированием в одну из страниц. Однако бит 010 всё равно надо записать в 0177130 (иначе при чтении по адресам портов контроллера будет читаться не Бейсик, а содержимое портов). 177132Регистр данных НГМД -- КНГМД и АльтПро. Доступен по чтению и записи. 177560 -- 0177567Регистры ИРПС для школьного Фокала. Также, стандартные адреса терминала в PDP-11. 177560 - бит 6: "1" -- разрешение прерывания при приеме данных, адрес прерывания читается из регистра 177566
- бит 7: "1" -- во входном регистре 177562 готов новый байт
177562 -- Входной регистр данных. Доступен по чтению, по записи ничего не делает. 177564 - бит 6: "1" -- разрешение прерывания после завершения передачи байта данных, адрес прерывания читается из регистра 177566 плюс 4
- бит 7: "1" -- в выходном регистре 177566 готов новый байт для передачи
177566 - По записи -- выходной регистр данных.
- По чтению -- адрес вектора прерывания, равен 060 для приемника и 064 для передатчика.
177660Регистр состояния клавиатуры. - бит 6 -- маскирование прерывание от клавиатуры, "0" -- разрешено прерывание по вектору 060 либо 0274. Прерываение вызывается при появлении "1" в бите 7. Начальное состояние: "0".
- бит 7 -- готовность: "1" -- в регистре данных клавиатуры (177662) готов код нажатой клавиши. Устанавливается при нажатии на клавишу, сбрасывается при чтении регистра данных клавиатуры. Начальное состояние: "1". Доступен только по чтению.
- другие биты: "0".
См. также: порт 177716 бит 6 -- установлен в "0" если нажата клавиша клавиатуры, "1" если нет нажатых клавиш. 177662Регистр данных клавиатуры. - биты 0-6: код клавиши. Доступ только по чтению.
- биты 8-11: (БК-0011) палитра. Доступны только по записи
- бит 14: разрешение прерывания по таймеру (50 Гц), "0" -- прерывание разрешено, "1" -- таймер отключен. Доступен только по записи.
- бит 15: (БК-0011) текущий буфер экрана, "0" -- страница 5, "1" -- страница 6. Доступен только по записи.
177664Регистр скроллинга. Доступен по записи и чтению. - биты 0-7: смещение скроллинга, строк. Начальное значение -- 0330.
- бит 9: сокращенный режим экрана, "0" -- сокращенный (1/4 экрана, старшие адреса), "1" -- полный экран 256 строк.
177674, 177676Сюда записывается PC и PSW при обработке прерывания HALT. Эта память на БК никуда не размаплена, при обращении вызывает прерывание по адресу 000004. 177700..177705Регистры ВМ1 (наследие от 1801ВЕ1). 177700 -- Регистр режима (РР) ВМ1, читается значение 177740. ("Биты 0,1,2 регистра режима используются для синхронизации пуска подчиненных процессоров главным процессором в многопроцессорной системе, т.к. блок регистров каждого процессора доступен на шине любому другому процессору вне зависимости от состояния процессора-хозяина.") 177702 -- Регистр адреса прерывания (РАП) ВМ1, читается значение 177777. ("странное свойство регистра 0177702 - при записи в него любого значения, он пропадает из адресного пространства до перезапуска процессора") 177704 -- Регистр ошибки (РОШ) ВМ1, читается значение 177440. 177706, 177710, 177712Программируемый таймер ВМ1. 177706 -- Регистр начального значения таймера. Доступен по чтению и записи. 177710 -- Реверсивный счетчик. Доступен по чтению, запись в регистр игнорируется. 177712 -- Программируемый таймер -- регистр управления. - бит 0: STOP: "1" - остановка
- бит 1: WRAPAROUND: "1" - вслед за 0 всегда идет 177777, независимо от значения 177706 и режима одновибратора
- бит 2: EXPENABLE: "1" - разрешение установки сигнала EXPIRY ("конец счета")
- бит 3: ONESHOT: режим одновибратора
- бит 4: RUN: запуск счетчика, запись "1" -- загружает счетчик из регистра 177706 и начинает отсчет
- бит 5: делитель на 16, "1" -- включен
- бит 6: делитель на 4, "1" -- включен
- бит 7: EXPIRY: флаг окончания счета, устанавливается в "1" при достижении счетчиком нуля, сбрасывается только программно
- биты 8-15 не используются, "1".
177714Порт принтера -- два регистра, входной по чтению и выходной по записи. Принтер: TODO Covox (запись): - биты 0-7 -- данные для формирования высоты сигнала
Джойстик (чтение): - бит 0 -- кнопка 1
- бит 1 -- кнопка 2
- бит 2 -- кнопка 3
- бит 3 -- кнопка 4
- бит 4 -- вправо
- бит 5 -- вниз
- бит 9 -- влево
- бит 10 -- вверх
AY-3-891x (запись): - запись слова: код 362..377 -- выбор регистра 13..0
- запись байта: помещение значения в текущий регистр
177716Системный регистр. Внешний регистр 1 (ВР1, SEL1) процессора ВМ1, регистр начального пуска. По чтению: - бит 2: признак записи в системный регистр. Устанавливаеся в "1" при любой записи в регистр, сбрасывается в "0" по окончании операции чтения из регистра.
- бит 4: данные с ТЛГ-линии
- бит 5: данные с магнитофона
- бит 6: нажатие клавиши, установлен в "0" если нажата клавиша клавиатуры, "1" если нет нажатых клавиш.
- бит 7: сигнал готовности с ТЛГ-линии
- биты 8-15: адрес начального пуска, 100000 (БК-0010), 140000 (БК-0011).
- биты 0,1, 3,4 не используются, "0".
По записи, бит 11 = "0": - бит 2: данные на магнитофон
- бит 4: данные для передачи на ТЛГ-линию. Начальное состояние "1".
- бит 5: данные на магнитофон либо сигнал готовности на ТЛГ-линию. Начальное состояние "0".
- бит 6: данные на магнитофон и на пьезодинамик. Начальное состояние "0".
- бит 7: включение двигателя магнитофона, "1" -- стоп, "0" -- пуск. Начальное состояние "1".
- бит 11: "0"
- бит 12: разрешение прерывания по клавише СТОП
По записи, бит 11 = "1" -- управление памятью БК-0011: - бит 0: (БК-0011) подключение страницы 0 ПЗУ на адреса 100000-140000, отключение ОЗУ
- бит 1: (БК-0011) подключение страницы 1 ПЗУ на адреса 100000-140000, отключение ОЗУ
- бит 3: (БК-0011) подключение страницы 2 ПЗУ на адреса 100000-140000, отключение ОЗУ
- бит 4: (БК-0011) подключение страницы 3 ПЗУ на адреса 100000-140000, отключение ОЗУ
- биты 8,9,10: (БК-0011) окно ОЗУ #1 -- номер страницы ОЗУ, подключаемой на адреса 100000-140000
- бит 11: "1"
- биты 12,13,14: (БК-0011) окно ОЗУ #0 -- номер страницы ОЗУ, подключаемой на адреса 040000-100000
177740 -- 177756(АльтПро) Регистры портов контроллера винчестера. 177740 -- по чтению: статус, по записи: команда 177741 -- по чтению: адрес накопителя, по записи не используется 177742 -- выбор НЖМД и головки 177743 -- по чтению: 2-й статус, по записи: сброс 177744 -- старший байт номера дорожки 177746 -- младший байт номера дорожки 177750 -- номер сектора 177754 -- по чтению: код ошибки, по записи не используется 177756 -- по чтению: данные чтения, по записи: данные записи |