ОПИСАНИЕ ПОРТОВ ПК "ВЕКТОР-06Ц" по материалам из разных источников составил Тимошенко А.В. timsoft@mail.ru 00H РУС (регистр управляющего слова трехканального порта ВВ55) 01H Чтение: порт РС ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │x│x│x│x║ ╙╥┴╥┴╥┴╥┴─┴─┴─┴─╜ бит ║ ║ ║ ╚═════════ 4: входной сигнал с магнитофона ║ ║ ╚═══════════ 5: клавиша СС 0(1) - нажата(отжата) ║ ╚═════════════ 6: клавиша УС 0(1) - нажата(отжата) ╚═══════════════ 7: клавиша РУС/LAT 0(1) - нажата(отжата) Запись: порт РС ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║x│x│x│x│ │ │ │ ║ ╙─┴─┴─┴─┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ╚═ 0: выходной сигнал на магнитофон ║ ║ ╚═══ 1: управление реле (автосброс из режима ВВОД) ║ ╚═════ 2: "СО" клавиатуры (не используется) ╚═══════ 3: управление светодиодом РУС/LAT 0(1)-выкл(вкл) 02H Чтение: Режим "Клавиатура" при обратном ходе кадровой развертки ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │ │ │ │ ║ ╙╥┴╥┴╥┴╥┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ║ ║ ╚═ 0: \ ║ ║ ║ ║ ║ ║ ╚═══ 1: \ ║ ║ ║ ║ ║ ╚═════ 2: \ ║ ║ ║ ║ ╚═══════ 3: \ состояние рядов ║ ║ ║ ╚═════════ 4: / матрицы клавиатуры ║ ║ ╚═══════════ 5: / ║ ╚═════════════ 6: / ╚═══════════════ 7: / Запись: Режим "Клавиатура" при обратном ходе кадровой развертки ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║х│х│х│х│ │ │ │ ║ ╙─┴─┴─┴─┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ╚═ 0: \ ║ ║ ╚═══ 1: \ номер регистра палитры ║ ╚═════ 2: / при программировании ╚═══════ 3: / Запись: Режим "Дисплей" при отображении информации ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║х│х│х│ │ │ │ │ ║ ╙─┴─┴─┴╥┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ╚═ 0: \ ║ ║ ║ ╚═══ 1: \ "математический" код ║ ║ ╚═════ 2: / текущего цвета бордюра ║ ╚═══════ 3: / ╚═════════ 4: текущий режим экрана (1=512 точек, 0=256 точек) 03H Запись: Режим "Клавиатура" при обратном ходе кадровой развертки ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │ │ │ │ ║ ╙╥┴╥┴╥┴╥┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ║ ║ ╚═ 0: \ ║ ║ ║ ║ ║ ║ ╚═══ 1: \ ║ ║ ║ ║ ║ ╚═════ 2: \ ║ ║ ║ ║ ╚═══════ 3: \ опрос рядов матрицы клавиатуры ║ ║ ║ ╚═════════ 4: / 0=опрос ряда разрешен ║ ║ ╚═══════════ 5: / ║ ╚═════════════ 6: / ╚═══════════════ 7: / Запись: Режим "Дисплей" при отображении информации ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │ │ │ │ ║ ╙╥┴╥┴╥┴╥┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ║ ║ ╚═ 0: \ ║ ║ ║ ║ ║ ║ ╚═══ 1: \ ║ ║ ║ ║ ║ ╚═════ 2: \ ║ ║ ║ ║ ╚═══════ 3: \ позиция вертикального скроллинга экрана, ║ ║ ║ ╚═════════ 4: / младший байт адреса начала растра ║ ║ ╚═══════════ 5: / ║ ╚═════════════ 6: / ╚═══════════════ 7: / 04H РУС (регистр управляющего слова трехканального порта ВВ55) 05H порт PС параллельного интерфейса (разъем "ПУ") Запись: Манипулятор типа "Мышь" ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║x│x│ │x│x│x│x│x║ ╙─┴─┴╥┴─┴─┴─┴─┴─╜ бит ╚═══════════ 5: 1=сброс Запись: Опрос джойстиков П1, П2 ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║х│ │ │x│х│х│х│х║ ╙─┴╥┴╥┴─┴─┴─┴─┴─╜ бит ║ ╚═══════════ 5: 0=джойстик П1, 1=джойстик П2 ╚═════════════ 6: 1=джойстик П1, 0=джойстик П2 06H порт PB параллельного интерфейса (разъем "ПУ") Чтение: Манипулятор типа "Мышь" (аналогично джойстикам П1, П2) Чтение: Джойстики П1, П2 (0 - клавиша нажата, 1 - отжата) ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │x│x│ │ │ │ ║ ╙╥┴╥┴─┴─┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ╚═ 0: "вправо" ║ ║ ║ ║ ╚═══ 1: "влево" ║ ║ ║ ╚═════ 2: "вверх" ║ ║ ╚═══════ 3: "вниз" ║ ╚═════════════ 6: кнопка 2 ╚═══════════════ 7: кнопка 1 07H порт PA параллельного интерфейса (разъем "ПУ") Чтение: Джойстик УСПИД (1 - клавиша нажата, 0 - отжата) ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │ │x│x│x║ ╙╥┴╥┴╥┴╥┴╥┴─┴─┴─╜ бит ║ ║ ║ ║ ╚═══════ 3: "кнопка" ║ ║ ║ ╚═════════ 4: "влево" ║ ║ ╚═══════════ 5: "вниз" ║ ╚═════════════ 6: "вправо" ╚═══════════════ 7: "вверх" 08H РУС (регистр управляющего слова интегрального таймера ВИ53) 09H Счетчик №2 таймера 0АH Счетчик №1 таймера 0ВH Счетчик №0 таймера 0CH Регистр записи байта данных в таблицу цветности 0DH Запись: таблица цветности 0EH Запись: таблица цветности Чтение: Регистр 1-го джойстика (0 - клавиша нажата, 1 - отжата) ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │1│1│ │ │ │ ║ ╙╥┴╥┴─┴─┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ╚═ 0: "вправо" ║ ║ ║ ║ ╚═══ 1: "влево" ║ ║ ║ ╚═════ 2: "вверх" ║ ║ ╚═══════ 3: "вниз" ║ ╚═════════════ 6: кнопка 1 ╚═══════════════ 7: кнопка 2 0FH Запись: таблица цветности Чтение: Регистр 2-го джойстика (0 - клавиша нажата, 1 - отжата) ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │1│1│ │ │ │ ║ ╙╥┴╥┴─┴─┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ╚═ 0: "вправо" ║ ║ ║ ║ ╚═══ 1: "влево" ║ ║ ║ ╚═════ 2: "вверх" ║ ║ ╚═══════ 3: "вниз" ║ ╚═════════════ 6: кнопка 1 ╚═══════════════ 7: кнопка 2 10H Управление переключением ОЗУ электронного диска Запись ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │ │ │ │ ║ ╙╥┴╥┴╥┴╥┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ║ ║ ╚═ 0: \ номер блока при обращении к электронному диску ║ ║ ║ ║ ║ ║ ╚═══ 1: / "как ОЗУ" ║ ║ ║ ║ ║ ╚═════ 2: \ номер блока при обращении к электронному диску ║ ║ ║ ║ ╚═══════ 3: / "как стек" ║ ║ ║ ╚═════════ 4: 0-выкл/1-вкл режима обращения "как стек" ║ ║ ╚═══════════ 5: 0-выкл/1-вкл режима обращения "как ОЗУ" ║ ╚═════════════ 6: \ только для кировского диска! (автор Саттаров) ╚═══════════════ 7: / выбор области для обращения "как ОЗУ" 00 - 0A000h-0DFFFh (как в кишиневском) 01 - 0A000h-0FFFFh 10 - 8000h-0DFFFh 11 - 8000h-0FFFFh 14H Регистр данных Sound Tracker 15H Номер регистра Sound Tracker 18H Регистр данных контроллера НГМД 19H Регистр сектора дорожки контролллера НГМД 1AH Регистр дорожки контроллера НГМД 1BH Регистр команд и статуса контроллера НГМД 1CH Регистр выбора и управления контроллера НГМД 20H Часы реального времени 22H Часы реального времени 28H Порт модема 30H Порт модема 38H Порт модема Описание портов контроллера жесткого диска 50H Регистр данных. Чтение(запись) данных в(из) буфер сектора контроллера 51H Запись: Write Precompensation register. Turn on write precompensation. Чтение: Регистр ошибок. Содержит признаки последней ошибки. ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │0│ │0│ │ │ ║ ╙╥┴╥┴─┴╥┴─┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ╚═ 0: адресный маркер данных не найден ║ ║ ║ ║ ╚═══ 1: ошибка на дорожке 0 ║ ║ ║ ╚═════ 2: команда отвергнута ║ ║ ╚═════════ 4: ID сектора не найден ║ ╚═════════════ 6: ошибка ECC: некорректируемая ошибка данных ╚═══════════════ 7: плохой блок 52H Счетчик числа секторов для операции чтения/записи 53H Текущий/начальный номер логического сектора для чтения/записи 54H Цилиндр, старшие (биты 0-1 - это биты 8-9 10-битового номера цилиндра) 55H Цилиндр, младшие (биты 0-7 10-битового номера цилиндра) 56H Биты определяют устройство и головку для операции чтения/записи 57H Запись: регистр команды (См. Tech Ref о подробностях) 1xH = сброс на цилиндр 0 (x = step rate) 7xH = искать до цилиндра (x = step rate) 2xH = сектор чтения (x = retry and ECC-read) 3xH = сектор записи (x = retry and ECC-read) 50H = форматировать дорожку 4xH = чтение для верификации (x = retry) 90H = диагностика 91H = уст.параметры (число головок, секторов) для выбр.устр. Чтение: регистр статуса ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │ │ │ │ ║ ╙╥┴╥┴╥┴╥┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ║ ║ ╚═ 0: 1=предыдущая команда закончилась с ошибкой ║ ║ ║ ║ ║ ║ ╚═══ 1: уст. в 1 при обнаружении индексного отверстия ║ ║ ║ ║ ║ ╚═════ 2: данные исправлены. Была ошибка, но ECC исправил. ║ ║ ║ ║ ╚═══════ 3: запрос данных. Буфер ждет данных (занято) ║ ║ ║ ╚═════════ 4: поиск завершен ║ ║ ╚═══════════ 5: сбой записи ║ ╚═════════════ 6: устройство готово к операции (если бит 4=1) ╚═══════════════ 7: занято. 1=работает команда (другие биты неверны) 58H Регистр данных. Чтение(запись) данных в(из) буфер сектора контроллера 5fH Системный сброс (лучше не пользоваться, сходство с 57Н без обнуления микросхем жесткого диска). 80H-8FH, 0A0H-0AFH Управляющий порт адаптера Z80 80H Управляющий порт адаптера Z80 (вариант "Кишинев" автор Фролов) Запись ╓7┬6┬5┬4┬3┬2┬1┬0╖ ║ │ │ │ │ │ │ │ ║ ╙╥┴╥┴╥┴╥┴╥┴╥┴╥┴╥╜ бит ║ ║ ║ ║ ║ ║ ║ ╚═ 0: включение синклеровского экрана ║ ║ ║ ║ ║ ║ ╚═══ 1: инверсия старшего бита адреса ОЗУ ║ ║ ║ ║ ║ ╚═════ 2: взаимная замена ОЗУ ПК <-> ОЗУ Эл.диска - ║ ║ ║ ║ ║ инверсия сигнала STEC ║ ║ ║ ║ ╚═══════ 3: обращение к квазидиску в операциях с (HL). ║ ║ ║ ║ формирование STEC при обращении к адресу (HL) ║ ║ ║ ╚═════════ 4: немаскируемое прерывание по незнакомым портам ║ ║ ╚═══════════ 5: блокировка STEC при обращении к адресам ОЗУ ║ ║ 4000-5FFFH (блокировка эл.диска), блокировка записи ║ ║ при обращении к адресам 0-3FFFH (имитация ПЗУ) ║ ╚═════════════ 6: увеличение быстродействия некоторых операций ╚═══════════════ 7: блокировка обращения к квазидиску в стековых операциях - выключение сигнала STEC при обращении к адресу (STEC) EDH Шлюз с IBM PC