Суббота, 19.08.2017, 17:52

..



Главная Регистрация Вход
Приветствую Вас, Гость · Браузер: « v»
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Всё об «Электроника БК0010(-01), БК0011(М)»! » Программы | Утилиты | ДОСы » Дисковые Операционные Системы (DOS) » «ANDOS v3.30» » Техническое руководство (Часть 1) («ANDOS v3.30»)
Техническое руководство (Часть 1)
-=RUS=-Дата: Вторник, 22.04.2014, 20:24 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 350
Репутация: 1
Статус: Offline

  Дисковая операционная система для БК0010, БК0011, БК0011М

     ##┐      ###┐   ###┐ ########┐     ######┐     ######┐
    ####┐     ###│   ###│ ###┌──####┐ ####┌─####┐ ####┌─####┐
   ######┐    ####┐  ###│ ###│   ###│ ###┌┘  ###│ ###┌┘  ###│
  ###┌─###┐   #####┐ ###│ ###│   ###│ ###│   ###│ ####┐  └──┘
 ###┌┘  ###┐  ###│##┐###│ ###│   ###│ ###│   ###│ └─######┐
 ###│   ###│  ###│ #####│ ###│   ###│ ###│   ###│   └───####┐
 ##########│  ###│  ####│ ###│   ###│ ###│   ###│ ###┐   ###│
 ###┌───###│  ###│   ###│ ###│  ####│ ####┐ ####│ ####┐ ####│
 ###│   ###│  ###│   ###│ ########┌─┘ └─######┌─┘ └─######┌─┘
 └──┘   └──┘  └──┘   └──┘ └───────┘     └─────┘     └─────┘

                         Версия 3.30

                   Техническое руководство

=====================© 1997 А.М.Надежин =====================

                           Введение

     В этом документе описывается структура операционной систе-
мы ANDOS V3.30, ее программный интерфейс, формат диска, а также
программный интерфейс контроллера дисководов.
    Эта информация может использоваться  для  разработки  прог-
рамм, работающих в среде ANDOS (за исключением вирусов и  прог-
рамм, назначение которых - причинять какой-либо вред кому-либо)
и не должна использоваться в других целях.
     Использование в  программах пользователя фрагментов ANDOS,
ее утилит и оболочки возможно только с согласия авторов.

                       1. Загрузка ANDOS

     Первоначальная загрузка производится программой  начальной
загрузки, размещенной в ПЗУ контроллера дисковода, и вызываемой
обращением по адресу 160000.  На БК0010 вызов осуществляется из
монитора  вводом команды S160000; на БК0011М монитор обращается
к этому адресу автоматически,  на БК0011 из монитора дается ко-
манда 160000G или команда B, при которой монитор читает с диска
нулевой блок, не пользуясь драйвером дисковода.
     В программе начальной загрузки ПЗУ 1801РЕ2-253, использую-
щейся в контроллере от БК0011 (БЛОК КНГМД 3.059.001)  применена
команда  EMT112,  поэтому  для запуска начального загрузчика на
БК0010 необходимо предварительно поместить код команды возврата
из  подпрограммы  207  по  адресу 10546 (по случайному стечению
обстоятельств команда EMT112 на БК0010 приводит к обращению  по
этому адресу).
     Программа начальной загрузки считывает нулевой блок  нуле-
вого  диска  с  адреса 1000,  после чего проверяет соответствие
первого слова считанного блока коду 240 (команда NOP),  несоот-
ветствие второго слова коду 5 (команда RESET) и запускает прог-
рамму загрузки с адреса 1000.  Если по каким-либо причинам счи-
тать 0 блок с нулевого привода не удалось,  первое слово в счи-
танном блоке отличается от 240 или второе слово равно 5,  - на-
чальный  загрузчик  пытается  считать  0 блок с первого привода
(загрузчик в ПЗУ 1801РЕ2-253 производит также чтение со 2  и  3
привода).  Если  и  в этом случае загрузка оказалась неудачной,
начальный загрузчик возвращает управление в вызвавшую его прог-
рамму  (монитор БК).  Загрузчик из ПЗУ 1801РЕ2-253 при возврате
после неудачной  загрузки  дает  команду  EMT0,  приводящую  на
БК0010 и БК0011М к зависанию.
     В нулевом  блоке  системного  диска  размещается  програм-
ма-загрузчик,  позволяющая  производить загрузку на компьютерах
БК0011, БК0011М и БК0010 с дополнительным ОЗУ 4-16Кбайт.
     Первые 100  байт  загрузчика  занимает  таблица параметров
диска,  описанная в разделе "Таблица параметров диска" приложе-
ния  "Структура  диска ANDOS".  С сотого байта начинается собс-
твенно загрузчик.
    Загрузчик ANDOS работает следующим образом: проверяется тип
компьютера (на БК0011 и БК0011М устанавливается 4 страница  ОЗУ
в нижнее окно и 6 страница в верхнее окно, выключается и  сбра-
сывается таймер, устанавливается пятая палитра), очищается  эк-
ран и выводится сообщение "Идет загрузка ANDOS". Далее происхо-
дит определение области, читаемой из файла ANDOS.SYS (на  самом
деле чтение происходит по физическим номерам блоков,  при  этом
предполагается, что файл ANDOS.SYS последователен, и записан  в
начале диска). На БК0011 и БК0011М файл ANDOS.SYS читается  це-
ликом с самого начала (первые  16.  блоков  файла  ANDOS.SYS  -
стандартный монитор БК), на БК0010 начиная с шестнадцатого бло-
ка, при этом размер  читаемой  области  определяется  доступным
ОЗУ: при отсутствии ОЗУ по адресу 120000 в основное ОЗУ  загру-
жаются 48-63 блоки ANDOS.SYS (60-75  блоки  диска),  содержащие
модуль заставки, после чего ему передается управление. При  на-
личии ОЗУ 4Кбайт читается ядро ANDOS  (10000  байт)  по  адресу
120000 и заставка в основное ОЗУ. При наличии ОЗУ 8Кбайт  чита-
ется ядро ANDOS, файлер, эмулятор MicroDOS (20000 байт) и  зас-
тавка. При ОЗУ 16Кбайт (только с таким ОЗУ возможна полноценная
работа на БК0010) читается  ядро,  файлер,  эмулятор,  оболочка
Disk MASTER и заставка (40000 байт).
     При ошибке чтения на  экран  выводится  сообщение  "Ошибка
загрузки #n, повторить" (n - номер ошибки контроллера) и разда-
ется звуковой сигнал. При нажатии любой клавиши происходит пов-
торная попытка чтения.
     Когда чтение успешно завершено: на БК0010 управление сразу
передается заставке;  на БК0011 и БК0011М оверлейная часть обо-
лочки из первой половины шестой страницы пересылается во вторую
половину  седьмой  страницы,  а заставка из второй части шестой
страницы пересылается в основное ОЗУ; кроме того на БК0011 про-
исходит модификация монитора для обеспечения работы звука нажа-
той клавиши, затем управление передается заставке.
     Модуль заставки, находящийся в основном ОЗУ определяет на-
личие ДОЗУ, и если его нет, блокирует клавиатуру и выводит зас-
тавку  с бегущей строкой,  содержащей сообщение о невозможности
работы ANDOS на БК0010 без дополнительного ОЗУ.  Если  дополни-
тельное ОЗУ обнаружено, происходит обращение к модулю начальной
инициализации, находящемуся в буфере ANDOS по адресу 125000.
     Модуль начальной инициализации подключает файлер, эмулятор
MicroDOS,  и оболочку Disk MASTER при наличии ОЗУ, необходимого
для работы каждого из них.  На БК0011(М) подключается виртуаль-
ный  диск (если ячейка VD$ON содержит не 0) и анализируется его
содержимое: если таблица параметров в нулевом блоке виртуально-
го  диска не отвечает требованиям ANDOS происходит форматирова-
ние и инициализация виртуального диска.
     Затем управление возвращается в модуль заставки и на экран
выводится динамическая заставка ANDOS,  при этом модуль началь-
ной инициализации ожидает нажатия управляющих клавиш для  изме-
нения даты, выхода в ANDOS или запуска ключа.
     При нажатии клавиши ПРОБЕЛ  устанавливается  нулевая  дата
(00.00.80),  которая в оболочке индицируется,  как пустая.  При
выходе в монитор по клавише КТ,  запуске ключей по клавишам 0-9
или  вызове стартовой функции по алфавитным клавишам вызов обо-
лочки отключается (очищается ячейка  MASTER).  Вызов  стартовой
функции представляет собой запуск программы,  размещенной с ад-
реса 137000 (первой командой подпрограммы должен быть NOP). Эта
возможность  предусмотрена для реализации стартового командного
файла.
     Если дата была изменена (за исключением  сброса  даты  по
ПРОБЕЛу)  при  любом  выходе из заставки происходит сохранение
даты на диске, при этом анализируется диск, и, если он был за-
менен, дата не сохраняется. При сохранении даты дисковые ошиб-
ки не анализируются.  Это позволяет отказаться  от  сохранения
даты,  открыв дисковод,  а также решает проблемы с заклеенными
дисками.

           2. Распределение памяти, структура ANDOS

     ANDOS практически   не   использует  память  пользователя
(0-77777),  и все свои переменные,  буфер и стек хранит в ОЗУ,
расположенном по адресу 120000. Это позволяет повысить качест-
во перехвата EMT36 и соответственно повысить процент  магнито-
фонных программ, нормально работающих с диском (именно поэтому
невозможна работа ANDOS в ПЗУ).  Единственные ячейки ОЗУ поль-
зователя,  изменяемые  ANDOS - это стандартные ячейки драйвера
магнитофона 264 ,  266, 301 и ячейки блока параметров магнито-
фона  (обычно  320-371).  Кроме  того  ANDOS использует ячейки
126-151 для установки ключей при инициализации или EMT14, байт
105  для  сброса  клавиатуры после нажатия клавиш,  вектора 30
(только на БК0010) и 4.  Кроме того драйвер дисковода  заносит
код ошибки в байт с адресом 52.
     Функционально ANDOS состоит из модуля инициализации, дис-
петчера  EMT,  модуля дисковой эмуляции EMT36 и модуля связи с
программой   пользователя.   Эти   модули   занимают    адреса
120000-124777. Далее в адресах 125000-126177 располагается бу-
фер. Адреса 126200-126352 занимают тексты программируемых клю-
чей.  Адреса 126352-126477 занимает внутренний стек ANDOS. Ад-
реса 126500-136777  занимает  резидентный модуль оболочки Disk
MASTER,  и входящие в него файлер, эмулятор MicroDOS и драйвер
принтера. Адреса  140000-147777  на  БК0010  и вторую половину
седьмой страницы на БК0011(М) занимает вторая часть оболочки.
     Система и  оболочка  (а также файлер,  эмулятор MicroDOS и
драйвер принтера) полностью независимы, поэтому наличие оболоч-
ки  и остальных модулей необязательно (вместо них на этих адре-
сах может, к примеру, находиться ассемблер).

                   Структура файла ANDOS.SYS

    На рисунке показана структура ANDOS.SYS. Цифры слева -  фи-
зические номера блоков диска, с которых начинаются соответству-
ющие области. Справа от таблицы показывается, какие части файла
загружаются на каких компьютерах, а также адреса их загрузки.

                    БК10+0 10+4 10+8 10+16 11,11M
           ANDOS.SYS     ↓    ↓    ↓    ↓    ↓
  14/12.┌──────────────┐- - - - - - - - - - -┐ 100000
        │Монитор БК0010│                     │
  34/28.├--------------┤- - - ┐ - -┐- - ┐    │ 120000
        │ANDOS,буф,стек│      │    │    │    │
        ├--------------┤- - - ┘    │    │    │ 126500
        │MASTER (резид)│           │    │    │
  53/43.├--------------┤           │    │    │ 137000
        │Функкц. польз.│           │    │    │
  54/44.├--------------┤- - - - - -┘    │    │ 40000/140000
        │MASTER (оверл)│                │    │
  74/60.├--------------┤-┐- - ┐ - -┐- - ╡    │
        │Заставка ANDOS│ │    │    │    │    │
 114/76.├--------------┤-┘- - ┘ - -┘- - ┘ - -┘
        │Подгр. MASTERa│
150/104.└──────────────┘

      3. Назначение и содержание модулей и областей ANDOS

                   3.1. Модуль инициализации

     Модуль инициализации запускается при обращении  по  адресу
120000  (например  при  перезапуске  БК)  и выполняет следующие
функции: сбрасывает  регистр  состояния  контроллера  дисковода
(останавливает дисководы); очищает ячейки SCREEN и USRERR (опи-
сание этих ячеек см. далее); проверяет контрольную сумму ANDOS,
и если она не совпадает с эталоном выходит в монитор БК; прове-
ряет ячейку монитора 100036 - если ее содержимое отличается  от
120002 (монитор в ПЗУ) происходит перехват вектора 30; проверя-
ет ячейку CONFIG,  и, если значение в ней положительно, (компь-
ютер  БК0011(М)  устанавливается  палитра,  указанная  в ячейке
PALET.  Затем происходит установка ячеек пользователя (см.  да-
лее) и  ключей  клавиатуры,  после  чего  анализируется  ячейка
MASTER: если в ней не 0,  ее содержимое воспринимается, как ад-
рес оболочки Disk MASTER, запускаемой со следующего адреса, ес-
ли первым ее словом идет 104130.  Если оболочка отключена (0  в
ячейке SCREEN) или испорчена (первое слово оболочки не 104130),
происходит вывод на экран приглашения "ANDOS V3.30" и  выход  в
монитор БК0010 по команде HALT.

                      3.2. Диспетчер EMT

     Диспетчер EMT обрабатывает EMT-прерывания. При возникнове-
нии прерывания происходит сохранение значения 30 вектора.  Если
возникло прерывание EMT36,  диспетчер запускает модуль дисковой
эмуляции EMT36,  при любом другом EMT происходит вызов из мони-
тора БК0010 подпрограммы,  выполняющей соответствующее EMT (при
этом после каждого EMT14 происходит установка ячеек пользовате-
ля (см. далее) и ключей клавиатуры), после чего в 30 вектор за-
писывается сохраненное значение.

              3.3. Модуль дисковой эмуляции EMT36

     Модуль эмулирует работу  EMT-прерывания  чтения/записи  на
магнитофон для работы с диском и позволяет: считывать и записы-
вать файлы на диске и магнитофоне,  удалять файлы и  просматри-
вать  на экране каталог диска,  переходить с устройства на уст-
ройство.  Основной стек при работе  эмулятора  не  используется
(эмулятор использует стековую область ANDOS).

     Обращение к  эмулятору  осуществляется  командой EMT36 или
CALL @#120002 (в последнем случае работа с диском возможна даже
в  том случае,  когда вектор 30 испорчен программой пользовате-
ля). При любом обращении эмулятор выполняет следующие действия:

                    3.3.1. Обработка имени.

     При обработке  имени происходит отслеживание команд в име-
ни,  а также преобразование шестнадцатисимвольного имени  БК  в
восьмисимвольное  имя  с трехсимвольным расширением в стандарте
MS-DOS (IBM).
     Перепаковка имени осуществляется по  следующим  принципам:
первая точка имени является границей между именем и расширением
(если точки в имени  нет,  расширение  отсутствует),  остальные
точки являются обычными символами расширения. Если имя превыша-
ет 8 символов берутся первые семь символов и последний,  то  же
происходит,  когда расширение превышает 3 символа (берутся пер-
вые 2 и последний). Такой механизм упаковки позволяет в автома-
тическом режиме копировать на диски ANDOS файлы с магнитофона и
из других дисковых систем,  не заботясь о переименовании файлов
с длинными именами. Необходимо понимать, что все преобразования
имени осуществляются внутри ANDOS,  имя-же в  блоке  параметров
магнитофона  остается  без изменений.  Таким образом программа,
пытающаяся считать файл с длинным именем получает после  считы-
вания  в  блоке  параметров то имя,  которое сама там и указала
(хотя на диске имя перепаковано).

                 3.3.2. Настройка на тип диска

     После перепаковки имени осуществляется инициализация драй-
вера дисковода и считывание таблицы параметров диска из его ну-
левого блока.
     В случае, если формат используемого диска не соответствует
формату ANDOS, происходит определение наличия в памяти эмулято-
ра формата "MicroDOS" и передача ему управления. Для этого про-
веряется ячейка MDOSEM, содержащая адрес эмулятора (определение
наличия и целостности эмулятора происходит также, как и при за-
пуске оболочки).  Если эмулятор неработоспособен выдается сооб-
щение "ANDOS - Non-DOS disk".  Это же сообщение  выводится  при
выходе из эмулятора "MicroDOS" по команде "RET" (RTS PC).
     Если диск соответствует формату ANDOS происходит установка
размера диска, количества сторон, и определение состояния режи-
ма пропуска дорожек. Более подробно настройка параметров описа-
на далее (см. п.3.4.2. описание функции INIDRV).

                  3.3.3. Выполнение операции

     Основной входной информацией для эмулятора является  стан-
дартный блок параметров магнитофона,  адрес которого помещается
программой пользователя или монитором БК в R1.

                   Формат блока параметров:
            ┌──────┬────────────────────────────┐
            │ Смещ.│         Параметр.          │
            ├──────┼────────────────────────────┤
            │  0   │.BYTE Команда               │
            │  1   │.BYTE Ответ                 │
            │  2   │.WORD Адрес                 │
            │  4   │.WORD Длина                 │
            │  6   │.ASCII /Имя (16. символов)/ │
            │  26  │.WORD Адрес текущего файла  │
            │  30  │.WORD Длина текущего файла  │
            │  32  │.ASCII /Имя текущего файла/ │
            └──────┴────────────────────────────┘

     В байт команды помещается один из кодов команд:

                         Коды команд
┌───────────┬───────────────────────┬─────────────────────────┐
│Код команды│ Стандартное назначение│    Назначение в ANDOS   │
├───────────┼───────────────────────┼─────────────────────────┤
│     0     │ Выкл. двигателя магн. │┐Перепаковка имени,  вы- │
│     1     │ Вкл. двигателя магн.  │┘кл. двигателя дисковода │
│     2     │ Запись файла          │ Запись файла            │
│     3     │ Чтение файла          │ Чтение файла            │
│     4     │ Фиктивное чтение      │ Не отрабатывается       │
│    200    │         -             │ Удаление файла          │
│    203    │         -             │ Быстрое чтение файла    │
│    202    │         -             │ Запись по друг. адресу  │
│    204    │         -             │ Вывод каталога на экран │
└───────────┴───────────────────────┴─────────────────────────┘

     Как видно из таблицы,  ANDOS имеет  четыре  дополнительных
кода  команд.
     По коду  200  происходит  удаление файла с запросом (как и
при использовании команды ANDOS "-").
     По коду  202 происходит запись по другому адресу,  т.е.  в
блоке параметров магнитофона указывается реальный адрес  файла,
а в ячейку ADRDIR (120152), описанную в разделе "Модуль связи с
программой пользователя",  помещается адрес для занесения в ка-
талог.
     Код 203 используется  оболочкой  (и  может  использоваться
другими программами) для быстрого чтения файла в случаях:  если
драйвер дисковода настроен, дисковод включен, нужный блок ката-
лога загружен в память,  и уже известно, где находится запись о
нужном файле (ее адрес должен быть помещен в R2). Если при этом
блок  каталога  находится вне буфера ANDOS,  а в буфер загружен
FAT,  и номер блока FAT на диске (1) помещен в  ячейку  TEKBLK,
чтение FAT также не будет производиться.
     По коду 204 на экран выводится каталог (как и при  исполь-
зовании команды ANDOS ":".

     Через год  после  выпуска  в свет первой версии ANDOS была
обнаружена новая возможность,  связанная с тем, что коды опера-
ций 0 или 1 могут использоваться для перепаковки имени. При вы-
полнении этих операций происходит  перепаковка  имени  в  буфер
NAMBUF с логической обработкой. При этом команды смены устройс-
тва и режима записи будут отрабатываться сразу,  а при командах
удаления файла и вывода каталога их коды будут помещены в ячей-
ку COMAND.  Эти операции могут использоваться в программах, са-
мостоятельно  (не  пользуясь  EMT 36) читающих или записывающих
файлы.

     В поля адреса,  длины и имени  помещаются  соответствующие
величины, причем при чтении длина не указывается, а адрес может
быть нулевым, в этом случае файл читается по адресу, записанно-
му в каталоге.

     При выполнении большинства операций происходит поиск файла
в каталоге,  при этом по пустому имени вызывается файлер (вызов
файлера происходит по ячейке FILER аналогично вызову оболочки и
эмулятора MicroDOS  по  ячейкам MASTER и MDOSEM).  После выбора
файла с помощью файлера имя выбранного файла заносится в  буфер
имени NAMBUF и в поле имени блока параметров EMT36.

                  3.3.4. Завершение операции

     После выполнения  операции в байт ответа (а также в ячейку
301) помещается код ошибки.  При работе с  диском  используются
только два кода: "0" - операция завершена без ошибок, и "4" при
любых ошибках и выполнении нестандартных операций (например та-
ких как удаление или вывод каталога на экран). Именно из-за ко-
да ошибки "4" после просмотра каталога и других дисковых опера-
ций, вызываемых из монитора БК0010, выдается сообщение "ОШИБКА"
(выход из нестандартных операций  без  ошибки  недопустим,  так
как,  например,  в  этом  случае во многих текстовых редакторах
после чтения каталога уничтожался-бы текст, находящийся в памя-
ти).
     После чтения файла в поле имени текущего массива переписы-
вается имя из поля имени,  в поля адреса и длины  текущего мас-
сива помещаются соответствующие данные, взятые из каталога дис-
ка (т.е.  даже, когда явно указан адрес, в поле адреса текущего
массива помещается адрес из каталога),  в ячейку 264 помещается
реальный  адрес  загрузки  файла,  а  в ячейку 266 - его длина.

          3.4. Модуль связи с программой пользователя

     Модуль состоит из рабочих ячеек ANDOS и ячеек,  содержащих
адреса подпрограмм,  используемых самой ANDOS, ее утилитами, и,
возможно, программами пользователя. Гарантируется неизменение в
последующих версиях ANDOS адресов в модуле связи.

                  3.4.1. Рабочие ячейки ANDOS

┌──────┬──┬──────┬─┬──────────────────────────────────────────┐
│Адрес │Дл│Метка │Т│       Назначение ячейки или массива      │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120004│6 │DRV$A │S│Таблица параметров дисковода A:           │
│      │  │      │ │ .WORD Задержка опускания головки         │
│      │  │      │ │ .WORD Задержка шага                      │
│      │  │      │ │ .BYTE Дорожка прекоррекции               │
│      │  │      │ │ .BYTE Тип дисковода.  Единица  в  старшем│
│      │  │      │ │ бите - 80 дорожек, в 7 бите - 1 сторона).│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120012│6 │DRV$B │S│Таблица параметров остальных дисководов.  │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120020│66│DRVTAB│S│Рабочая  область  драйвера  НГМД (описание│
│      │  │      │ │см. в приложении "Контроллер дисковода"). │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120106│ 2│DRIVER│S│Адрес входа "чтение/запись блока " драйве-│
│      │  │      │ │ра НГМД (160004). Может использоваться для│
│      │  │      │ │обслуживания нестандартных  устройств, на-│
│      │  │      │ │пример виртуального диска).               │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120110│ 2│IOBUFF│S│Адрес буфера ANDOS (125000).              │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120112│ 2│E36STK│S│Адрес вершины стека ANDOS  (126476).      │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120114│11│NAMBUF│B│Буфер имени.                              │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120150│ 2│SCREEN│I│Ячейка перехвата вывода на экран сообщений│
│      │  │      │ │ANDOS (Значение по умолчанию 0). При нену-│
│      │  │      │ │левом значении  этой ячейки при выводе со-│
│      │  │      │ │общений вместо  EMT 16  выполняется  вызов│
│      │  │      │ │подпрограммы, адрес  которой  находится  в│
│      │  │      │ │этой ячейке. Для запрета вывода  на  экран│
│      │  │      │ │достаточно поместить в SCREEN адрес любого│
│      │  │      │ │кода 207, например 100256 . При перезапус-│
│      │  │      │ │ке ANDOS ячейка SCREEN очищается.         │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120152│ 2│ADRDIR│I│Адрес, помещаемый в каталог.  Используется│
│      │  │      │ │при исполнении EMT36 с кодом операции 202 │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120154│ 1│DEVICE│P│Текущее устройство (0-@:, 1-32 - A:-Z:).  │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120155│ 1│DEVTEK│P│Временное текущее устройство. Совпадает  с│
│      │  │      │ │DEVICE при  запуске  операции,  изменяется│
│      │  │      │ │при явном указании устройства в имени.    │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120156│ 1│DEVSYS│P│Устройство с которого произведена загрузка│
│      │  │      │ │ANDOS (0 - A, 1 - B ...)                  │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120157│ 1│DEVMAS│P│Устройство, с которого Disk MASTER подгру-│
│      │  │      │ │жает необходимые модули оболочки. Совпада-│
│      │  │      │ │ет с системным до запуска OVL.M, после ко-│
│      │  │      │ │торого становится виртуальным диском "E"  │
│      │  │      │ │При повреждении или отключении V-diska    │
│      │  │      │ │снова становится системным.               │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120162│ 2│SIZE  │O│Общее количество кластеров на диске. Опре-│
│      │  │      │ │деляется подпрограммой INIDRV после считы-│
│      │  │      │ │вания таблицы параметров из загрузчика.   │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120166│ 2│TEKBLK│O│Номер блока диска, находящегося в буфере. │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120170│ 2│VERS  │K│Версия ANDOS (для V3.1 - 100466)          │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120127│ 1│ATTRIB│I│Аттрибут файла, присваиваемый при записи. │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120130│ 1│SUBDIR│I│Номер катал., в котор. будет помещен файл.│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120132│ 2│DATE  │S│Системная дата (присв. файлу при записи). │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120134│ 2│PALET │S│Палитра, уст. на БК11(М) при перезапуске. │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120140│ 1│WREGIM│P│Режим записи (код буквы "П" на любом реги-│
│      │  │      │ │стре (120) - перезапись, "Д" (104) -дубль,│
│      │  │      │ │другой код - вывод запроса).              │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120141│ 1│TEKREG│P│Текущий режим записи. Эти две ячейки очень│
│      │  │      │ │похожи по своей работе на DEVICE и DEVTEK.│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120142│ 2│CONFIG│K│Конфигурация ЭВМ (60000 - БК11(М), 140000-│
│      │  │      │ │БК10+16, 140002 - БК10+8, 0 - БК10+4).    │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120146│ 2│USRERR│I│Ячейка перехвата сообщений об ошибках. См.│
│      │  │      │ │раздел "Обработка ошибок".                │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120155│ 1│VD$ON │S│Ненулевое значение в этой ячейке разрешает│
│      │  │      │ │подключение виртуального диска при загруз-│
│      │  │      │ │ке на БК11(М). Адрес VD$ON совп. с DEVTEK.│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120164│ 1│COMAND│P│Команда EMT36. В эту ячейку заносится  код│
│      │  │      │ │команды из первого байта блока пар. EMT36,│
│      │  │      │ │он может изменятся командами ANDOS.       │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120172│ 2│MASTER│K│Признак включения/адрес оболочки.         │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120174│ 2│FILER │K│Признак включения/адрес файлера.          │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120176│ 2│MDOSEM│K│Признак включения/адрес эмулятора MicroDOS│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120244│12│USER  │I│Ячейки, восстанавливаемые при  перезапуске│
│      │  │      │ │или EMT14. Значение первой ячейки  записы-│
│      │  │      │ │вается по адресу из второй, 3->@4, 5->@6. │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120314│ 2│INIPRN│K│Адрес подп. инициализации принтера. Вызов:│
│      │  │      │ │CALL @120312 .WORD 120314 . Бит C означает│
│      │  │      │ │отсутствие драйвера принтера. Рег.не сохр.│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120316│ 2│OUTPRN│K│Адрес п/п вывода на принтер байта из R0  с│
│      │  │      │ │перекодировкой в соотв. с тек. кодовой та-│
│      │  │      │ │блицей. Перед LF (12) авт. вывод. CR (15).│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120320│ 2│GRFPRN│K│Адрес п/п выв. на принтер байта из R0  без│
│      │  │      │ │перекодировки (напр. для печати графики). │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120322│ 1│XY$FIL│S│(Кол-во столбцов)X(кол-во строк в файлере)│
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120323│ 1│ST$FIL│S│Количество текстовых строк файлера.       │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120324│ 1│W$FIL │S│Ширина окна файлера в байтах.             │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120325│ 1│H$FIL │S│Высота окна файлера в строках.            │
├──────┼──┼──────┼─┼──────────────────────────────────────────┤
│120326│ 2│AD$FIL│S│Смещение левого верхнего угла файлера, от │
│      │  │      │ │начала экрана (в байтах).                 │
└──────┴──┴──────┴─┴──────────────────────────────────────────┘
     Типы ячеек,  указанные в графе "Т": S - параметр, устанав-
ливаемый пользователем или утилитой ANSETUP, и неизменяемый AN-
DOS, B - буфер, К - неизменяемая константа, P - переменная, I -
входной параметр, О - выходные данные (и переменная).

               Продолжение в Части 2.
 
Всё об «Электроника БК0010(-01), БК0011(М)»! » Программы | Утилиты | ДОСы » Дисковые Операционные Системы (DOS) » «ANDOS v3.30» » Техническое руководство (Часть 1) («ANDOS v3.30»)
Страница 1 из 11
Поиск:

-=RUS=-
ICQ: 320867225