Что на данный момент удалось выяснить по семи гномам.
Для работы нужны следующие файлы:
GNOM.GEN - это редактор конфигурации и списка группы
GNOM.UPR - это загрузчик обучающих программ
GNOM7 - загружает первые два файла и передает управление GNOM.GEN
DISPL - драйвер ЯЗС, используется обучающими программами
GMUS, GMUS1, GMUS2 - три файла с музыкой для ЯЗС
KLNAZ - обучающая программа "клавиша-название"
KLSIM - обучающая программа "клавиша-символ"
NAZKL - обучающая программа "название-клавиша"
NAZSIM - обучающая программа "название-символ"
SIMKL - обучающая программа "символ-клавиша"
SIMNAZ - обучающая программа "символ-название"
GRD2, GRD3, GRD5, GRD6, GRISD, GRO2, GRO3, GRO4, GRO5, GRO6 - графические файлы
INSGNOM - текст инструкции пользователя
ГРУППА1.ФИО - пример списка учеников группы
ПОРЯДОК.TAБ, ОБЩЕЕ.TAБ, ПЕРВОЕ.TAБ - примеры списка порядка вызова обучающих программ
Для запуска при загрузке ИКП выбрать "Ассемблер" и выйти в отладчик.
Набрать [RUN GNOM7
Загрузится меню.
В меню выбрать пункт 2 (с цифровой клавиатуры).
Стрелками "вверх" и "вниз" выбрать программу "название-символ" в правой части экрана и нажать "ввод".
Программа добавится в список слева. Сделать то же самое для всех имеющихся программ (см. список файлов).
Выйти в меню.
Пункт 3 позволяет редактировать список группы.
Пункт 4 позволяет просмотреть оценки, выставленные программой ученикам.
Пункт 5 вызывает экран справки.
Пункты 6, 7, 8 не реализованы в коде.
При выборе пункта 1 начнется вызов обучающих программ в том порядке, который был указан в конфигурации.
Обучающие программы предполагают наличие звуковой карты и клавиатуры, однако проверить их наличие они даже не пытаются. Звуковой же драйвер построен так, что даже при отсутствии ЯЗС управление возвращается программе. Поэтому без ЯЗС ничего не виснет. А интерфейс программ, в большинстве случаев, позволяет выполнить задание используя только обычную клавиатуру. Поэтому можно запускать их даже в эмуляторе.
Например, при запуске обучающей программы "название-символ" надо нажать любую клавишу. На экране вверху появится символ ноты. Например, C. Этот символ обозначает ноту "До". Используя стрелки вверх и вниз надо "поставить" ноту на нотном стане на правильное место - первую дополнительную линию снизу. Затем нажать ввод. За правильный ответ вам дадут яблочко... или ягоду... Я не опознал, что это за фрукт :)
Каждая обучающая программа загружает драйвер ЯЗС и три мелодии. При запуске, вводе правильного и неправильного ответа они должны играться - вызовов драйвера в коде полно. Возможно и нужная нота должна озвучиваться, но в коде я это еще не нашел.
Когда ответите на все 28 вопросов, все начинается сначала. Пока я не понял, так и должно быть или просто это последствия отсутствия ЯЗС. Возможно, программа ждет установки какого-то флага при воспроизведении мелодии, и не получив его, продолжает работать по кругу. Нужно выйти по РЕД. Загрузится следующая обучающая программа и т.д. В конце программа вернется в меню. Там в пункте 4 можно просмотреть свои оценки.
В программах "клавиша-название" и "клавиша-символ" без ЯЗС видимо тоже не все работает корректно. Как я понимаю, для анимации движения гномов нужен таймер. Без таймера все тоже работает, только надо давить пробел на каждый кадр анимации и не нажать случайно "ввод" в тот момент, когда гном сядет на клавишу, иначе произойдет переход к следующему вопросу.
Программы "символ-клавиша" и "название-клавиша" предполагают наличие музыкальной клавиатуры. Пройти их без нее нельзя, только выйти. Наличие клавиатуры никак не проверяется - программа просто читает порт $C094, разные версии клавиатуры тоже не предполагаются. Определение правильности взятой ноты - захардкожено.
--- Дополнение ---
Вот чего я не нашел, так это построения таблиц звуковысотности. В драйвере нужный кусок просто выпилен. Более того, на адреса таблиц грузится GNOM.GEN. (Это еще можно списать на переключение страниц памяти.) Но где само построение таблиц - непонятно, а без них драйвер либо повиснет, либо будет издавать страшные звуки вместо музыки.