[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]