Основные достоинства этой разработки — предельная простота схемы и компактность программы. Плюс условия неплохого сервиса.
Действительно, даже при тщательном изучении принципиальной схемы ROM-диска для ПК «Специалист» никаких излишеств здесь не отыскать. Ведь состоит она из разъема и колодки для ИМС 27256 (или равноценного аналога). А конструктивно может быть выполнена в виде металлической скобы, на которой и закрепляются соединенные между собой проводниками элементы схемы.
Объем ROM-диска составляет 32 Кб. Подключается он к дополнительному порту К580ВВ55 для внешних устройств.
Основная идея драйвера обслуживания позаимствована из ряда технических изданий, среди которых можно выделить журналы «Радио» (№ 12 за 1992 г.) и «Моделист-конструктор» (№ 9 за 1988 г.). При отсутствии ИМС 27256 в качестве ROM-диска приемлемо использование предложенной там схемы.
Коды программы приведены в таблице. Она встраивается в монитор-2 на месте директивы «X» («Моделист-конструктор» № 9 за 1988 г.), практически не используемой. Во избежание путаницы ее можно переименовать в «Р», для чего в ячейку С874 необходимо записать код 50Н. Ну а в качестве буфера используются ячейки 8FB0…8FC0.
Меню состоит из трех команд:
«У» — загрузка;
«N» —переход на следующую строку каталога;
«М» — выход в монитор.
При нажатии клавиш «Р», «ВК» на экран выводится первая строка каталога, включающая имя программы, начальный и конечный адреса в ПЗУ и начальный адрес в ОЗУ. Если необходима загрузка данной программы, нажимают клавишу «У», и программа перегружается тогда в ОЗУ. И происходит выход в монитор. Автозапуск исключен, поскольку не все программы запускаются с начального адреса.
Для перехода к следующей программе нажимают клавишу «N», и на экран выводится следующая строка каталога.
Запись программ в ПЗУ производится друг за другом, с нулевого адреса. Каталог идет, начиная с последней строки ПЗУ. И вниз, по одной строке на программу. Формат строки каталога следующий:
7FF0-0AH — код клавиши (ПС);
7FF1 …7FF8 — коды символов имени программы (лишние ячейки заполняются кодом 20Н-пробел);
7FF9-00H — признак конца текста;
7FFA…7FFB — начальный адрес в ОЗУ;
7FFC…7FFD — конечный адрес в ПЗУ;
7FFE…7FFF— начальный адрес в ПЗУ.
Адреса записываются в обратном порядке, то есть сначала младший байт, потом — старший. Кроме того, старший бит адресов в ПЗУ должен быть единицей. Например, вместо адреса 4АВ0 нужно записать CAB0. Эти условия — плата за компактность драйвера. Порядок же записи каталога произвольный, не зависящий от порядка записи самих программ.
Коды программ
C8D | 11 | 00 | 00 | 01 | В0 | 8F | 7В | D6 | 10 | 6F | ||||||
С8Е | 26 | FF | F5 | С5 | 3Е | 90 | 32 | 03 | F0 | С | 0F | С9 | Е1 | С5 | С | 1D |
C8F | СЕ | Е1 | 2В | С | 0С | С | 7D | FE | ВА | С2 | F2 | С8 | С | 03 | С8 | D1 |
С90 | FE | 4Е | СА | D9 | С8 | D8 | F9 | С1 | D1 | Е1 | 31 | FD | 7F | 00 | 00 | 22 |
С91 | 01 | F0 | 3Е | 0Е | 32 | 03 | F0 | 3А | 00 | F0 | 02 | 23 | 03 | С | 27 | С4 |
С92 | С2 | 0F | С9 | 00 | ||||||||||||
Контрольная сумма блока C8D6-C923: А881 |
Объем ROM-диска вполне достаточен для размещения программ, необходимых начинающему пользователю. Это могут быть, например, «Бейсик», «Редактор», «Ассемблер», «Дизассемблер», «Отладчик», «Копировщик», «Программатор» и другие.
В.ПОНОМАРЕВ, Витебская обл.