My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Ports  
Порты (регистры) БК.
Featured
Updated Dec 17, 2010 by nzeemin

Порты БК

Без подключенного дисковода, порты занимают адреса 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 -- по чтению: данные чтения, по записи: данные записи

Ссылки


Sign in to add a comment
Powered by Google Project Hosting