Пока все всё не забыли, нужно как-то систематизировать наши знания о контроллере дисков.
Пока имеем:
- команда УВВ 3/4:
27-24 рр - номер блока памяти
21 - считывание только служебных слов
19 - листовой обмен
18 - направление обмена (1 - в память)
17-13 - номер листа
12 - номер половины листа
В этих командах иногда бывает установлен 9-й разряд (что, который мы игнорируем.
- команда 23/24:
Если установлен 12-й разряд, то в младших разрядах - номер дорожки,
иначе, если установлен 11-й разряд, то 8-1 рр выбирают устройство 7...0 приоритетным кодом; установленный 9-й разряд, если бывает, мы игнорируем;
иначе, если установлен 10-й (или 9-й?) разряд, то это, по-видимому, выбор номера линейки, указанного в младших разрядах (встречаются как 00001400, так и 00001401, 00011401 с 13-м разрядом). Сейчас игнорируется, разве что прерывание возбуждается;
иначе это команда:
000 - ресет? (игнорируется)
001 - сброс на 0 цилиндр (игнорируется)
002 - подвод (игнорируется)
003(043) - чтение (резервной дорожки)
004(044) - запись (резервной дорожки)
005 - разметка
006 - сравнение кодов (игнорируется)
007(047) - чтение заголовка (резервной) дорожки
010 - гашение регистра состояния (РС)
011 - опрос 12-1 рр РС
031 - опрос 24-13 рр РС
050 - освобождение направления (игнорируется)
Остальные команды игнорируются (С. А. Зельдинова прислала мне список команд, работающих с регистрами захвата/перестановки; пока мы не собрались эмулировать многомашинный комплекс, их точно можно игнорировать).
Значения разрядов регистра состояния мы не знаем совсем. Сейчас используется магическое значение 14000400, при возвращении которого для устройств, на которых стоят диски, и 0 - для остальных устройств, всё как-то работает.
Так что если у кого что-то сохранилось в памяти (хотя бы на уровне "а вот еще бывал в КУСе разряд, который означал то-то и то-то из неупомянутого") или, паче чаяния, в записных книжках - пишите.
Leo