[an error occurred while processing this directive]
.шп8
ИСПОЛЬЗОВАНИЕ ДРАЙВЕРА "CONFIG .SYS" ФИРМЫ FRIENDS' SOFTWARE
-------------------------------------------------------------
.шп0
Драйвер предназначен для определения конфигурации ПЭВМ АГАТ-9.
Может определить следующие контроллеры:
контроллер реального времени NIPPEL CLOCK CARD
контроллер ДОП. ОЗУ
контроллер принтера
контроллер НГМД ЕС 5323
контроллер НГМД ЕС 5088
контроллер сети
Для контроллеров дисководов определяется также кол-во подключенных приводов.
Примечание:
1. Для правильного определения приводов контроллера НГМД ЕС 5088 (Shugart) в дисководы должны быть вставлены диски и закрыты замки.
2. Количество приводов на контроллере НГМД ЕС 5323 (Teac) определяется по статусным битам регистра словосостояния контроллера, состояние которых зависит от распайки приводного жгута.
Если программа не может определить тип контроллера или соответствующая слота пуста, то в таблицу определения заносится "0".
Формат таблицы определения конфигурации:
TYPE DS 6 ;по одному байту на константу-тип конт- ;роллера SUBTYPE DS 6 ;по одному баиту на записи о приводах ;(для контроллеров НГМД) (Для остальных ;типов контроллеров не используются).
Константы - типы контроллеров:
NIPPEL CLOCK CARD EQU ¤02 MEMORY CARD EQU ¤10 PRINTER CARD EQU ¤4B SHUGART CARD EQU ¤F0 TEAC CARD EQU ¤BD NET CARD EQU ¤EA
Формат данных о приводах (для контроллеров НГМД)
00 - нет приводов (дисководы к контроллеру не подключены)
01 - первый привод
02 - второй привод
03 - первый и второй приводы (все)
После определения конфигурации машины работа драйвера зависит от состояния двух байтов самого драйвера (2-го и 3-его от начала драйвера в памяти).
Значение 2-го байта:
00 - записать конфигурацию (в формате таблицы определения в ячейки ¤30-¤3B "NIPPEL CLOCK CARD" не 00 - не записывать конфигурацию компьютера в контроллер "NIPPEL CLOCK CARD"
Примечание: Указанное действие производится естественно если в компьютере имеется этот контроллер. Если все же конфигурацию нужно записать (согласно значению 2-го байта, а "CLOCK CARD" в машине не обнаружен то возможны два варианта: либо программа выдаст сообщение "КОНФИГУРАЦИЯ НЕ СОХРАНЕНА" (при вызове драйвера из режима диалога), либо в ячейку ¤DE будет записан код ошибки ¤08 ("ОШИБКА ОБМЕНА") (при использовании оператора "ONERR GOTO" интерпретатора BASIC.
Значение 3-его байта:
00 - вывести конфигурацию машины на экран монитора не 00 - не выводить
Вы сами можете изменить содержимое 2-го или 3-его байтов программы, затем перезаписать программу и тем самым добиться той работы программы, которая Вас устраивает.
Возможно адрес начала программы будет различен для разных версий драйвера, по этому для определения его из BASICа можно польззоваться следующим алгоритмом:
10 A=PEEK(¤E8):REM состояние подключения банков на 4 и 5 сегм 20 B=PEEK(¤C150):REM запомнить банк, подключ. на 5 сегмент 30 POKE ¤C15D,0 :REM подключить банк D 40 ADR=PEEK(¤B81B)+256*(PEEK(¤B81C)):REM узнать адрес 50 POKE ¤C100,B:POKE ¤E8,A:REM восстановить состояние памяти
Либо это можно легко сделать в системе "BEST TOOL KIT"
Состояние байт 2 и 3 оригинале драйвера:
БАЙТ 2 - ¤01 БАЙТ 3 - ¤00
К драйверу "CONFIG .SYS" прилагается программа "DEFIN .BIN", которая предназначена для считывания конфигурации из контроллера "NIPPEL CLOCK CARD". "DEFIN .BIN" может быть загружена с любого адреса. При обращении к ней программа проверяет наличие в машине модуля "NIPPEL CLOCK CARD" и если он найден, то считывает содержимое ячеек ¤30-¤3B модуля в адреса памяти, указанные во 2-ом и 3-ем байтах "DEFIN .BIN" (в формате CPU 6502). Естественно их можно изменять аналогично выше сказанному для "CONFIG .SYS"
Возможно позже драйверы "CONFIG .SYS" и "DEFIN .BIN" будут реализованы в виде операторов к интерпретирующему драйверу (как это всегда делал автор).
23.05.94 г.Москва
Серков С.В. 400-68-65
[an error occurred while processing this directive]