GRAFOR DVK

Материал из Emuverse
Версия от 01:50, 27 марта 2024; Nzeemin (обсуждение | вклад) (Новая страница: «{{ДИ|Источник=https://www.tis.kz/forum/topic.php?forum=28&topic=7#}} <pre> РУКОВОДСТВО ПО ПРИМЕНЕНИЮ СИСТЕМЫ ГРАФОР ДВК. Вторая редакция Белоножкин А.Н. ГГУ сл.тел. 65-75-23...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Данный материал защищён авторскими правами!

Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей.

Источник: https://www.tis.kz/forum/topic.php?forum=28&topic=7#


              РУКОВОДСТВО ПО ПРИМЕНЕНИЮ СИСТЕМЫ
                        ГРАФОР ДВК.
 
 
                      Вторая редакция
 
 
 
 
 
 
 
 
 
 
 
 
                      Белоножкин А.Н.
 
                           ГГУ
 
                     сл.тел. 65-75-23
 
 
 
 
 
 
 
 
 
 
                     Нижний Новгород
 
                         1990 год
 
 
 
 
 
                    А Н Н О Т А Ц И Я
 
    Описана реализация пакета ГРАФОР для ЭВМ типа ДВК под
управлeнием операционной системы RT11. Разобран порядок работы
в системе, даны примеры и справочный материал по использованию
конкретной версии пакета.
 
 
 
 
 
 
                  С О Д Е Р Ж А Н И Е
 
                                                             стр.
   От автора ................................................  3
 
1. Для чего это нужно? ......................................  4
 
2. Как этим пользоваться? ...................................  5
    2.1 Настройка системы (инициализация) ...................  5
    2.2 Написание и запуск программы ........................  5
    2.3 Получение рисунка ...................................  6
 
3. Подробности для любознательных ...........................  8
    3.1 Три интерфейса в ГРАФОРе ............................  8
    3.2 Форматы представления данных ........................  8
    3.3 Роль и назначение системных компонент ГРАФОРа .......  9
    3.4 Экранно-ориентированный вывод информации ............  9
 
4. Возможные причины неработоспособности пакета ............. 11
 
   Литература ............................................... 12
 
   Приложения:
    I   Изменения в ГРАФОРе ................................. 13
    II  Драйверы и их возможности ........................... 14
    III Особенности графики для печати ...................... 17
    IV  Дистрибутивы: их имена и место в системе ............ 18
    V   Перечень подпрограмм ГРАФОРа ........................ 19
    VI  КЦГД: дозагружаемый графический интерпретатор ....... 27
    VII КЦГД: дозагружаемые коды клавиатуры ................. 28
 
 
                        - 3 -
 
 
                       От автора.
 
    Данное описание не претендует на полное описание пакета
ГРАФОР, операционной системы, графических устройств и т.п.
Здесь Вы найдете лишь описание того, что является "особенным"
в реализации ГРАФОРа на ДВК.
 
    Первый раздел рекомендуется тем, кто интересуется
возможностями ГРАФОРа ДВК. Второй предназначен для тех, кто уже
приобрел пакет и собирается получить первые рисунки (здесь
могут буть полезны приложения I, V). Третий раздел содержит
наиболее подробную информацию о функционировании пакета. В
приложениях Вы найдете справочную информацию, снабженную
комментариями.
 
    Автор будет рад получить Ваши замечания, предложения,
дополнения по работе пакета. Обращайтесь либо напрямую, либо
через "Диалог"; все Ваши проблемы будут рассмотрены и по
возможности устранены в кратчайшие сроки.
 
 
                        - 4 -
 
 
                1. Для чего это нужно?
 
    Система ГРАФОР предназначена для графического представления
результатов инженерных вычислений и, согласно своему назначению,
позволяет строить графики, гистограммы, карты изолиний, проекции
поверхностей, применять методы сплайн-интерполяции, сглаживать
экспериментальные данные, производить афинные преобразования и
экранирование, выполнять геометрические вычисления и т.д.
Подробнее обо всем этом изложено в [1]. Целью же этого
руководства являлось более подробное описание конкретной
реализации ГРАФОРа на машинах типа ДВК.
 
    ГРАФОР - это достаточно громоздкая система, что до
некоторого времени сдерживало его распространение на микро-ЭВМ.
Первым прорывом в этой области можно считать появление ГРАФОРа
на персональных ЭВМ типа IBM PC, что опиралось на возросшую
вычислительную мощность, об'ем памяти и появление винчестеров.
Аналогичная тенденция наблюдается и в семействе микро-ЭВМ типа
ДВК.
 
    ГРАФОР адаптирован на ДВК под управлением операционной
системы RT11(SJ) (не младше версии 05.00), что позволило
реализовать высокий уровень удобства работы с пакетом. Это
обеспечивается поддержкой следующих воможностей:
 
    - создание промежуточного текстового файла рисунка;
    - вывод рисунка на экран монитора;
    - Print_Screen (печать кадра "точка в точку" с возможностью
      выбора типа печатающего устройства и плотности печати);
    - графическая печать рисунка с сохранением его линейных
      размеров;
    - вывод рисунка на графопостроитель.
 
    На данный момент в систему включена поддержка следующих
устройств вывода графической информации:
 
    - контроллеры КГД и КЦГД;
    - принтеры EPSON FX-800, ROBOTRON 6362, D100M, CM6337 и
      другие EPSON-совместимые печати;
    - графопостроители НЕЙРОН ИС.61, POLTIK.
 
    Данная версия ГРАФОРа эксплуатируется около года и
зарекомендовала себя как надежная, удобная и простая в
обращении система.
 
    В перспективе ведутся работы по переносу ГРАФОРа на ЭВМ
ЭЛЕКТРОНИКА-85 и расширение номенклатуры графической периферии
ДВК.
 
 
                        - 5 -
 
 
                2. Как этим пользоваться?
 
  2.1 Настройка системы (инициализация)
 
    Для нормальной работы с ГРАФОРом, после загрузки операционной
системы Вы должны подготовить системные компоненты ГРАФОРа к
работе. Для этого необходимо выполнить следующие команды:
 
        R GS.SYS    - загрузка графического интерпретатора в
                      КЦГД,
 
        LOAD TT     - необходимо для реализации Print_Screen.
 
Их можно отдать с клавиатуры или поместить в любой командный
файл, в частности, в STARTS.COM. В последнем случае, системные
компоненты ГРАФОРа включатся во время загрузки операционной
системы.
 
  2.2 Написание и запуск программы.
 
    Для того, чтобы получить рисунок, Вы должны написать
программу на ФОРТРАНе. Программа обязательно должна содержать
следующие строки:
 
            .
            .
        CALL GRINIT
        CALL PAGE(XL,YL,NAME,NNAME,J)
            .
            .
            .
        CALL ENDPG(NAME,NNAME)
            .
            .
 
Ее можно набрать в любом текстовом редакторе. Например,
Вы создали файл TEST.FOR, содержащий:
 
        PROGRAM TEST
        DIMENSION X(100),Y(100),Z(100)
 
C Заполнение массивов X,Y,Z
 
        X(1)=-1.9
        Y(1)=SIN(-1.9)
        Z(1)=COS(-1.9)*1.5
        DO 5 I=2,90
        X(I)=X(I-1)+.1
        Y(I)=SIN(X(I))
5       Z(I)=COS(X(I))*1.5
        XMN=-2.0
        AMN=-2.0
        XMX=7.0
        AMX=2.0
        UX=1.0
 
 
                        - 6 -
 
 
        UY=0.8
        KX=0
        KY=0
        M=0
        CALL GRINIT                     !Инициализация GRAFOR
        CALL PAGE(19.,10.,' ',-1,0)     !Открытие страницы PAGE
 
        CALL REGION(0.,0.,19.,10.,,0,1)
        CALL LIMITS(XMN,XMX,AMN,AMX)
        CALL AXES(6HAXIS X,6,UX,KX,6HAXIS Y,6,UY,KY,M)
        CALL LINEMO(X,Y,85,2,10)
        CALL LINEMO(X,Z,85,14,15)
 
        CALL ENDPG(,0)                  !Закрытие страницы PAGE
 
        END
 
После этого, Вы должны его оттранслировать командой
 
                FORTRAN TEST
 
и получить загрузочный модуль командой
 
                LINK TEST,GR01/BOT:2000,
 
где GR01.OBJ - базовый файл ГРАФОРа, а ключ /BOT необходим для
отведения места программе под стек.
    Далее программу можно запустить на счет командой
 
                RUN TEST
 
На экране появится запрос:
 
                Device or file_name?
 
на что Вы можете ответить:
    а) <ВК> или GS: - вывод рисунка на экран
    б) FILNAM       - вызовет создание файла FILNAM.PIC на DK:
    в) GP:          - вывод рисунка на графопостроитель
 
  2.3 Получение рисунка.
    Пользуясь описываемой системой, Вы имеете возможность
получить в любой момент времени твердую копию экрана на
принтере. Для этого Вам необходимо нажать на клавиатуре
клавишу <ПЕЧАТЬ КАДРА>, или комбинацию <СУ> А. Это наиболее
быстрый способ, но он не сохраняет масштаб изображения. При
необходимости, можно получить масштабное изображение на печати
командой
 
                RUN PS FILNAM    ,где
 
FILNAM.PIC - результат работы Вашей программы.
 
 
                        - 7 -
 
 
    Получить рисунок на графопостроителе можно двумя способами:
либо указав имя драйвера GP: в ответ на запрос Вашей программы
 
                Device or file_name?
 
либо командой
 
                COPY FILNAM.PIC GP:
 
 
                        - 8 -
 
 
            3. Подробности для любознательных.
 
  3.1 Три интерфейса в ГРАФОРе.
 
    При внимательном рассмотрении, в ГРАФОРе можно обнаружить
четыре логически завершенных уровня и три интерфейса между
ними. Схематично это можно изобразить следующим образом:
 
1) Самым верхним является уровень программы пользователя.
Интерфейсом между ней и подпрограммами ГРАФОРа является
механизм вызова подпрограмм на ФОРТРАНе.
 
2) Подпрограммы ГРАФОРа преобразуют всю поступающую к ним
информацию в команды виртуального графического устройства, что
и является интерфейсом между ГРАФОРом и драйверами графических
устройств.
 
3) Третьим и последним интерфейсом является интерфейс между
драйвером и внешним устройством. По сути, он совпадает или
является подмножеством интерфейса внешнего устройства.
 
    Преобразование информации в ГРАФОРе осуществляется в
несколько этапов. Сначала Вы должны из программы на ФОРТРАНе
обратиться к подпрограммам ГРАФОРа, ГРАФОР преобразует эти
вызовы в команды виртуальному графическому устройству. На этом
этапе их можно получить в виде обычного текстового файла с
расширением / .PIC /. Далее драйвер преобразует этот файл к
интерфейсу внешнего устройства (ВУ). Здесь уже учитываются
конкретные технические характеристики ВУ, такие как размер поля
вывода, разрешающая способность, число цветов и т.п. На выходе
Вы получаете готовый рисунок.
 
  3.2 Форматы представления данных.
 
    На уровне вызова подпрограмм ГРАФОРа, форматы данных
совпадают, с точностью до приложения I, с описанием, данным
в [1].
 
    Между ГРАФОРом и драйверами в передаче данных приняты
следующие соглашения:
    а) виртуальное графическое устройство является векторным;
    б) виртуальное графическое устройство обладает способностью
       генерировать прямую линию;
    в) информация о перемещении пера передается к устройству в
       виде целого числа шагов. Исходно принято, что устройство
       имеет разрешение 200 шагов на сантиметр;
    г) устройство может отрабатывать следующие команды:
        H       -Home- начальная установка устройства,
        B X,Y   -Base- выбор точки (X,Y) в качестве начала
                       отсчета,
        M X,Y   -Move- перемещение пера в точку (X,Y),
        D X,Y   -Draw- перемещение пера в точку (X,Y)
                       с рисованием,
        J N     -Pen - выбор пера (цвета).
 
 
                        - 9 -
 
 
    На внешнее устройство данные поступают в его "родном"
формате, и лучшее, что в данном случае можно сделать, это
отослать Вас к его техническому описанию.
 
  3.3 Роль и назначение системных компонент ГРАФОРа.
 
    С самого начала, ГРАФОР ДВК задумывался как система,
ориентированная на пользователя. Это повлекло за собой
некоторые изменения как в самом ГРАФОРе, так и создание
определенного сервиса на уровне драйверов операционной
системы. Отправной точкой развития ГРАФОРа для ДВК явились
контроллеры КГД и КЦГД. Под них и были созданы две версии
экранной графики и функции Print_Screen (копия экрана на
печать).
 
    На машинах с КГД драйвер GS.SYS необходим для получения
рисунка, а TT.SYS, кроме его обычных функций, еще и для
получения твердой копии экрана на печати.
 
    На машинах с КЦГД драйвер GS.SYS, как и в системах с КГД,
соответствует графическому выводу на экран, кроме того, в нем
есть программа загрузки в КЦГД интерпретатора графических
команд (R GS.SYS). TT.SYS необходим для функционирования
Print_Screen. Причем, он во время загрузки операционной системы
дозагружает в КЦГД ряд кодов клавиш, которые используются
редакторами текстов и клавишу <ПЕЧАТЬ КАДРА> кодом ^A.
 
    На обеих системах, Print_Screen работает только если TT.SYS
загружен в память командой
 
                   LOAD TT
 
При этом он перехватывает код ^A, интерпретируя его как команду
печати экрана, если же его выгрузить из памяти (сделать
нерезидентным), то он ничем не будет отличаться от обычного
драйвера терминала.
 
  3.4 Экранно-ориентированный вывод информации.
 
    В случае, если весь графический вывод осуществляется на
экран и разработчику прикладной программы не желательно
передавать пользователю системные компоненты ГРАФОРа, он может
вопользоваться библиотекой базовых примитивов с именем
 
                    GR01TT.OBJ
 
в которой не содержится обращений к драйверам. Эта библиотека
по вызовам подпрограмм целиком совпадает с GR01.OBJ, за
исключением того, что в ней есть подпрограмма печати экрана.
Этой подпрограммой можно воспользоваться из программы на
фортране написав вызов
 
        CALL GRAPRI(MODE)
 
 
 
                        - 10 -
 
 
MODE определяет тип печатающего устройства и плотность печати:
 
           код      плотность    тип принтера
 
    MODE = -1           -            D100
            0           60          EPSON
            1          120          EPSON
            2          120          EPSON
            3          240          EPSON
            4           80          EPSON
            5           72          EPSON
            6           90          EPSON
            7          144          EPSON
 
 
                        - 11 -
 
 
    4. Возможные причины неработоспособности пакета.
 
    Проверяйте количество и тип параметров в вызовах
подпрограмм.
 
    На стадии сборки задачи программой LINK не забывайте:
 
    а) Имена графических библиотек в командной строке должны
       следовать в порядке их вызова (самая низовая - в конце);
    б) ГРАФОР имеет большую вложенность подпрограмм; используйте
       ключ /BOT для увеличения области, резервируемой под
       стек;
    в) Размер графических библиотек большой, пользуйтесь ключем
       /SLOWLY.
 
 
                        - 12 -
 
 
                  Л И Т Е Р А Т У Р А
 
    1. Ю.М.Баяковский, В.А.Галактионов, Т.Н.Михайлова "Графор.
       Графическое расширение фортрана", М.,"Наука", 1985 г.
    2. Контроллер КГД. Техническое описание.
    3. Контроллер КЦГД. Техническое описание.
    4. Описание операционной системы RT-11. Программирование
       драйверов внешних устройств.
    5. EPSON FX-800. Техническое описание.
    6. НЕЙРОН ИС.61. Техническое описание.
    7. POLTIK. Техническое описание.
 
 
                        - 13 -
 
 
                      Приложение I
 
                   Изменения в ГРАФОРе.
 
    В связи с адаптацией ГРАФОРа на ДВК были изменены
следующие подпрограммы пакета:
 
GRINIT  производит инициализацию пакета.
 
PAGE (XL,YL,NAME,N,J)   открывает страницу
        XL,YL   - размеры страницы
        NAME    - название страницы
        N       - число литер названия страницы
                    N>0 страница подписывается и будет выведена
                        в файл с именем NAME
                    N=0 страница не подписывается,
                        автоматически генерируются имена на DK:
                        GR1.PIC, GR2.PIC, ...
                    N<0 страница подписывается, имя файла
                        запрашивается с терминала
                        <ВК> направляет вывод на экран
 
    Если имя файла содержит только имя устройства, то на нем
автоматически генерируются имена GR1.PIC, GR2.PIC, GR3.PIC ...,
при условии, что не было перезагрузки программы в ОЗУ.
 
        J       - признак очерчивания рамки
                    J>0 рамка очерчивается, выводится дата создания
                    J=0 рамка не очерчивается, дата не выводится
                    J<0 рамка очерчивается, дата не выводится
 
ENDPG(NAME,N)   закрывает страницу
        NAME    - подпись по линии отрыва
        N       - число литер подписи
                N>0 подписывается и перо уводится к началу
                    следующей страницы
                N=0 не подписывается, перо возвращается к
                    началу текущей страницы
                N<0 подписывается, перо возвращается к
                    началу текущей страницы
 
PEN(J)  производит смену пера (цвета)
 
SET(J)  устанавливает набор литер для подпрограммы SYMBOL:
            SET(0) набор больших русских и латинских букв
            SET(1) набор маленьких русских и латинских букв
            SET(2) набор греческих больших букв
            SET(3) набор греческих маленьких букв
    дополнительно введены:
            SET(4) набор латинских больших и маленьких букв
            SET(5) набор  русских  больших и маленьких букв
 
 
                        - 14 -
 
 
                      Приложение II
 
                Драйверы и их возможности.
 
    Назначение драйвера заключается в преобразовании интерфейса
виртуального графического устройства (информации из пакета
ГРАФОР) в команды конкретному устройству. В данном приложении
описаны SET параметры драйверов и их назначение.
 
    Во время работы программы, ГРАФОР "не знает" для какого
графического устройства подготавливаются данные. Поэтому,
возникла необходимость в промежуточном интерфейсе виртуального
графического устройства. Подробно он описан в 3.2, здесь же
только напомним, что цифровая информация из ГРАФОРа передается
целым числом шагов виртуального устройства. Ввиду того, что
разрешающая способность реального графопостроителя редко выше
100 шагов на сантиметр, было принято, при передаче данных,
разрешение в 200 шагов на сантиметр. При необходимости, эта
характеристика может быть изменена.
 
    Со стороны ФОРТРАНа она хранится в
 
                COMMON /GFTAB/ IRDB(5),RDB(17)
в элементе
                RDB(17)
(см. также RDB(1); табл.1 стр.12 [1])
 
    Со стороны драйвера ее можно изменить пользуясь командой
 
                SET <имя драйвера> NV=<число>
 
Изначально в драйвере, как и в библиотеке, принято разрешение
200 шагов на сантиметр, что обеспечивает масштабную передачу
изображений. При необходимости, механизмом SET параметров
можно воспользоваться для изменения размеров рисунка,
например:
 
                SET <имя драйвера> NV=400
 
вызовет уменьшение всех линейных размеров в два раза.
 
    Драйвер <GS:> производит пересчет координат линий рисунка
в координаты точек на экране. При этом может оказаться, что
рисунок получился больше размеров электронно лучевой трубки(ЭЛТ)
т.е. некоторые координаты точек вышли за рамки допустимых
значений (например, размер экрана КЦГД 240х800 точек). Такие
точки в процессе рисования отсекаются. Если Вам необходимо
посмотреть часть рисунка, находящуюся вне поля зрения, Вы
можете "переместить" Ваш экран (поле зрения), а точнее точку
его левого нижнего угла, в любое место сгенерированной картинки.
    Если, например, у вас получилась картинка в два раза выше
размера экрана, т.е. имеет размер 480х800 точек, то Вы увидите
на экране лишь нижнюю ее часть. Чтобы посмотреть верхнюю часть,
необходимо командами
 
 
                        - 15 -
 
 
                SET GS: X0=0        < не обязательно >
                SET GS: Y0=240
 
установить поле зрения "повыше" и заново скопировать рисунок на
<GS:>.
 
    В настоящее время, в наличии имеются следующие драйверы:
 
1)  GSKCGD.SYS - драйвер для КЦГД, имеет следующие SET параметры:
 
  SET GS NV=decimal_value
    задает число шагов виртуального устройства на сантиметр
  SET GS X0=decimal_value
  SET GS Y0=decimal_value
    задает начало отсчета в точках на экране ЭЛТ (графика КЦГД
    работает с разрешением 240х800 точек)
  SET GS [NO]HOME
    [запрещает]разрешает очистку экрана перед началом вывода
    рисунка;
    <NO HOME> реализует режим наложения рисунков.
  SET GS INIT
    производит инициализацию драйвера
  SET GS PRINT
    производит настройку на тип печати для Print_Screen.
 
2)  GSKGD.SYS - драйвер для КГД, имеет следующие SET параметры:
 
  SET GS INIT
    производит инициализацию драйвера
  SET GS NV=decimal_value
    задает число шагов виртуального устройства на сантиметр
  SET GS X0=decimal_value
  SET GS Y0=decimal_value
    задает начало отсчета в точках на экране ЭЛТ (графика КГД
    работает с разрешением 286х400 точек)
  SET GS INFORM
    выводит на экран справочное сообщение
 
3)  GPN.SYS - драйвер для графопостроителя НЕЙРОН ИС.61
 
  SET GP NV=decimal_value
    задает число шагов виртуального устройства на сантиметр
  SET GP [NO]PEN
    [запрещает]разрешает смену пера на графопостроителе
  SET GP [NO]QUIET
    [запрещает]разрешает выдачу запроса на экран перед каждой
    отработкой команды смены пера
 
4)  GPP.SYS - драйвер для графопостроителя POLTIK
 
  SET GP [NO]PEN
    [запрещает]разрешает смену пера на графопостроителе
  SET GP [NO]QUIET
    [запрещает]разрешает выдачу запроса на экран перед каждой
    отработкой команды смены пера
 
 
                        - 16 -
 
  SET GP NV=decimal_value
    задает число шагов виртуального устройства на сантиметр
  SET GP [NO]SWAXY
    [запрещает]разрешает поворот рисунка на 90 градусов
 
 
                        - 17 -
 
 
                      Приложение III
 
              Особенности графики для печати.
 
    Точную копию рисунка на печати Вы можете получить
воспользовавшись программой PS.SAV. Последовательность действий
может выглядеть следующим образом:
 
                .RUN PS
                *FILNAM
 
где FILNAM - файл рисунка, с полным именем FILNAM.PIC. По
истечении 3-15 секунд принтер должен начать печатать Ваш
рисунок. Эта программа ориентирована на EPSON-совместимые
принтеры.
 
    Еще один способ получения напечатанного рисунка - это
использование функции Print_Screen. Эта функция реализована на
системном уровне. Для ее нормальной работы, необходимо
выполнение следующих условий:
 1) драйвер TT.SYS должен быть загружен в память
 2) должна быть произведена настройка на тип Вашего принтера.
    В системе с КЦГД это достигается командой
 
            SET GS PRINT
 
      после чего Вы нажатием соответсвующих цифр должны выбрать
      тип принтера
 
    В системе с КГД настройка осуществляется командой
 
            R TT.SYS
 
В обоих случаях загруженный драйвер TT.SYS перехватывает код ^A,
интерпретируя его как команду печати экранного ОЗУ.
 
    Каждый из этих двух способов печати рисунка обладает своими
преимуществами и недостатками. Программа PS.SAV требует файл
рисунка, EPSON-совместимый принтер, работает как независимое
задание, но с ее помощью можно получить неискаженные рисунки.
Преимуществами Print_Screen является оперативность, возможность
настроить его на конкретный принтер, он не требует файла
рисунка, но при этом не соблюдается масштаб.
 
    Образно говоря, Print_Screen рекомендуется для получения
"черновых" рисунков, а PS.SAV - для "чистовых".
 
 
                        - 18 -
 
 
                      Приложение IV
 
         Дистрибутивы: их имена и место в системе.
 
    На поставляемых Вам дискетах Вы обнаружите все или некоторые
из следующих файлов:
 
    TT    .SYS  рабочие драйверы
    GS    .SYS
 
    TTKGD .SYS  комплект драйверов для КГД; перед использованием
    GSKGD .SYS  Вы должны их переименовать в TT.SYS и GS.SYS
                соответственно
 
    TTKCGD.SYS  тоже для контроллера КЦГД
    GSKCGD.SYS
 
    GPN   .SYS  драйвер графопостроителя НЕЙРОН ИС.61, перед
                использованием должен быть переименован в
                GP.SYS, использует параллельный порт ЭВМ.
 
    GPP   .SYS  тоже для графопостроителя POLTIK, использует
                плату параллельного интерфейса
                VECTOR=074, CSR=177554
 
    TEST  .FOR  тестовый пример на фортране
 
    GR01  .OBJ  основная библиотека ГРАФОРа, должна быть
                пристыкована к любой графической задаче
 
    GR01TT.OBJ  тоже, без обращения к драйверам (вывод жестко
                закреплен за экраном)
 
    GR2   .OBJ  имена библиотек ГРАФОРа
    GR3   .OBJ
    GR4   .OBJ
    GR6   .OBJ
    GR61  .OBJ
    GR7   .OBJ
    GR8   .OBJ
    GR9   .OBJ
    GR10  .OBJ
    GR11  .OBJ
    GR12  .OBJ
    GR13  .OBJ
    GR14  .OBJ
    GR16  .OBJ
 
 
                        - 19 -
 
 
                      Приложение V
 
               Перечень подпрограмм ГРАФОРа.
 
----------------------------------------------------------------
   Имя подпрограммы                     I         Имя библиотеки
----------------------------------------------------------------
 
ADDLEV(C,NCN,IS,CAD,NAD)                                GR8
ANGLER(DELX,DELY)                                       GR6
ANGRID(X0,Y0,XS,YS,M1,N1,SLOPE)                         GR13
APPOLY  (X,Y,RO,N,CFIT,K1,COF1)                         GR3
ARC(X1,Y1,X2,Y2,X3,Y3,J)                                GR3
ARC1(XS1,YS1,XF1,YF1,XC1,YC1,NCW)                       GR13
ARCANG(R,DELX,DELY,J,TH0A,THFA)                         GR61
ARCC1(XM,YM,XF,YF,J,R,JB)                               GR61
ARCELA(A,B,ALPHA,TH0,THF)                               GR61
ARCELB(A,B,ALPHA,XF,YF)                                 GR6
ARCIA(R,TH0,THF)                                        GR13
ARCIB(R,XF,YF,J)                                        GR6
ARCIC(XM,YM,XF,YF,J)                                    GR6
ARCID(XC,YC,PHI)                                        GR6
ARCOCC(R,XT1,YT1,XT2,YT2,J)                             GR61
ARCOLC(R,XT1,YT1,XT2,YT2,J)                             GR61
ARCOLL(R,XT1,YT1,XT2,YT2,J)                             GR61
AREB1(TH0,THF,G,TH02,THF2)                              GR6
ARRINL(X,Y,A,IX,IY,IXB,IXE,IYB,IYE,DX,DY,DZ,NL,NLBEG)   GR11
ARROW(J)                                                GR6
ASTEP(AN,AX,BS,MK,KD)                                   GR1
ATDX(Z,X,Y)                                             GR14
ATDX1(Z,X,Y)                                            GR14
ATDX2(Z,X,Y)                                            GR14
ATDX3(Z,X,Y)                                            GR14
ATDY(Z,X,Y)                                             GR14
ATDY1(Z,X,Y)                                            GR14
ATDY2(Z,X,Y)                                            GR14
ATDY3(Z,X,Y)                                            GR14
ATRAN2(A1,B1,C1,A2,B2,C2)                               GR2
ATRST                                                   GR2
AXES (NAMEX,NX,UX,KX,NAMEY,NY,UY,KY,M)                  GR1
AXISC(NAME,NC,MMIN,MS,NM)                               GR3
AXONOM(X,Y,Z)                                           GR4
BAR(X,Y,H,W,SH,IHAT,NP1)                                GR3
BARS(Y,YP,N,W,IHAT,NP1)                                 GR3
BCD(A,IB,N)                                             GR1
BEGLEV                                                  GR2
BITA(ITAGB,IXBD,IYBD,N1,N2,N5)                          GR8
BLAN                                                    GR2
BLANC(X,Y,N,IN)                                         GR2
BLANCH                                                  GR2
BOUND(Z,M,N,X,Y,NX,NY,KX,KY,NF,XMI,XMA,YMI,YMA)         GR14
BOX (X,Y,XL,YL)                                         GR1
BRLINE(X,Y,N)                                           GR8
BROKEN (AN1,AN2,AN3,AN4)                                GR8
BUFL(IXF,YFI,IBX,BYI,RMAX,RMIN)                         GR7
 
 
                        - 20 -
 
 
BYPASS(I)                                               GR1
CABIN(I)                                                GR4
CCNTL(CN,L,C)                                           GR13
CCNTRP(CN,P,C)                                          GR13
CELL(PHI,N1,N2)                                         GR8
CHENSP(YM,N,YH,K,C,M)                                   GR3
CILIND(R,HMN,HMX,NH,NFI,DX,DY,DZ,NLINES,NBEG)           GR11
CIRC(R)                                                 GR6
CIRCLE (XA,YA,TH0,THF,R0,RF,L)                          GR2
CIRTAC(R,XT,YT,J)                                       GR61
CIRTAL(R,XT,YT,J)                                       GR61
CMGRID(X,Y,N1,N2,MX,MY,SZ,KP,M,N,IKOP)                  GR8
CMLC(LM,C1,C2)                                          GR13
CMS                                                     GR1
CNCTCC(C1,C2,R,N)                                       GR12
CNCTCL(C,L,R,N)                                         GR12
CNCTLL(L1,L2,R,N)                                       GR12
CONDEK(LX,LY,X,Y,Z,STEP,K0,N,C)                         GR9
COORD (CO,J)                                            GR2
COORDT(DX,DY,DZ,NLINES,N1,N2,NCLUST,NLNDR,ITYP)         GR11
COPCHR(C,A)                                             GR0
CORNL (LXI1,LX1,LYJ1,LY1,K1,M1,K2,M2,X,Y,A,LXX,
       LYY,XF1,YF1,RMAX,RMIN)                           GR7
COSIN1(X1,Y1,X2,Y2)                                     GR10
COSIN2(X1,Y1,X2,Y2)                                     GR10
CPPP(P1,P2,P3,C)                                        GR13
CROSS(X,Y,J)                                            GR61
CROSSP(X,Y,RC,T)                                        GR11
CTCCP(C1,C2,P,N)                                        GR12
CTCPP(P1,P2,C,N)                                        GR13
CTLLL(L1,L2,L3,M)                                       GR12
CTLLP(L1,L2,P,N)                                        GR12
CTLPP(P1,P2,L1,N)                                       GR12
CUBPOL  (X1,X2,Y1,Y2,DY1,DY2,B)                         GR3
CXYR(X,Y,R,C)                                           GR12
DASHP(X,Y,DL)                                           GR2
DDIST(X,Y)                                              GR61
DERIV5 (DX,Y,N,I)                                       GR3
DIMDRO(D,J)                                             GR6
DIMET                                                   GR4
DIST(J)                                                 GR6
DRACON(LX,LY,X,Y,Z,STEP,K,N,C,FUNX,FUNY)                GR9
DRALIM(LX,LY,X,Y,FUNX,FUNY,S)                           GR9
DRAWEL(T,I)                                             GR11
DRAWTE                                                  GR11
DRFRAM(LX,LY,X,Y,FUNX,FUNY)                             GR9
DRW(DX,DY,DZ,NLINES,NL1,NL2)                            GR11
DRWHL(DX,DY,DZ,NLINES,NL1,NL2)                          GR11
ELIPS (X0,Y0,A,B,ALPHA,THETO,THETF)                     GR1
ELPS(A,B,ALPHA)                                         GR6
ENDLEV                                                  GR2
ENDPG(NUMB,LENN)                                        GR0
EXMIMA (Z,M,N,ZMI,ZMA)                                  GR14
EXTLN(X,Y,Z,G)                                          GR11
EXTREM(R,T,N1,N2,XMN,XMX,YMN,YMX,IKOP)                  GR8
 
 
                        - 21 -
 
 
EXUDE(Z,M,N,X,Y,NX,NY,KX,KY,NF,MRKA,MRKI,KD,H,TH)       GR14
FATARC(R,XF,YF,J,D)                                     GR6
FATLIN(XF,YF,D)                                         GR6
FINAL                                                   GR0
FNROOT(LX,LY,X,Y,Z,NROOTS,ROOT)                         GR9
FORFIT  (M,A,B,XBEG,XEND,MPTS)                          GR3
FORIF (FUN,N,M,A,B,IER)                                 GR3
FORIT (FNT,N,M,A,B,IER)                                 GR3
FULL                                                    GR8
GFFALS(N)                                               GR2
GRAFER(IT)                                              GR9
GRID (X,Y,XS,YS,M,N)                                    GR1
GRINIT                                                  GR0
HALLNE(DX,DY,DZ,NLINES,N1,N2,NCLUST,NLNDR,G,TOL,ITYP)   GR11
HALOED(DX,DY,DZ,NLINES,NDRAW1,NDRAW2,NC1,NC2,
       NCLUST,NLNDR,G1,TOL1,ITYP)                       GR11
HCIND(X,IST,IFN,EL)                                     GR4
HCINIT(A)                                               GR11
HCINV(X,Y,Z,XP,YP,ZP)                                   GR4
HCLINE(X,Y,NP)                                          GR4
HCMULT(A,B)                                             GR4
HCNCOR(X,Y,Z,T)                                         GR11
HCNCRD(X,Y,Z)                                           GR4
HCPRSP(H)                                               GR4
HCROT1(X,Y,Z)                                           GR4
HCSURF(X,Y,Z,NROW,NCOL,ISTA,IFN,JSTA,JFN,LNT,MOVX,
       MOVY,AMXMN,AR)                                   GR4
HCUNIT(A)                                               GR4
HISTGM(X0,DX,Y0,YV,N,NP1)                               GR3
HLDLN(DX,DY,DZ,NLINES,I,NC1,NC2,NCLUST,NLNDR,ITYP)      GR11
IBCD(IRI,IB)                                            GR1
IDENT(MD,ND)                                            GR0
ILIMTN(L,IR,IBOUND,NB)                                  GR10
INCHES                                                  GR1
INCLIN  (XBEG,DXEX,JX,Y,N,NM,JS)                        GR3
INIT                                                    GR4
INSDEK(LX,LY,X,Y,Z)                                     GR9
INSIDE(LX,LY,X,Y,Z,FUNX,FUNY)                           GR9
INTRSC(X1,Y1,X2,Y2,X3,Y3,X4,Y4,X0,Y0)                   GR7
ISOLIN(N1,N2,X,Y,PHI,ITAGB,NA,IXBD,IYBD,KC,CONT,IKOP)   GR8
ISOMET                                                  GR4
ITALIC(J)                                               GR1
ITPLBV(LX,LY,X,Y,Z,N,U,V,W)                             GR9
IVEST (A,B,EPS)                                         GR6
IZFLIN(Z,M,N,X,Y,ZIZ,L,NX,NY,KX,KY,NF,XI,YI,NL)         GR14
IZLIN(Z,M,N,X,Y,ZMI,ZIZ,NIZ,NX,NY,KX,KY,XI,YI,NL)       GR14
IZOLIN(Z,M,N,X,Y,ZIZ,L,XI,YI,NL)                        GR14
KEYPO (PHI,X,Y,N1,N2,IS1,IS2,NM,SZ,KP,IKOP)             GR8
LCROSS(X1,Y1,X2,Y2,X3,Y3,X4,Y4,C,D)                     GR10
LESQ (X,Y,RO,M,B,N)                                     GR3
LETIZO(XI,YI,ILM,ZIZ,NIZ,KIND)                          GR14
LETSPL(XI,YI,ILM,ZIZ,NIZ,KIND)                          GR14
LEVFUN(PHI,N1,N2,C,NCN)                                 GR8
LEVMAP(C,NC,F0,SP,SM,NP)                                GR8
LGLINE(X,Y,N,LG,NM,JS,L)                                GR2
 
 
                        - 22 -
 
 
LICON(XT1,YT1,XT2,YT2,J)                                GR6
LIMITS (XMIN,XMAX,YMIN,YMAX)                            GR1
LINEC(X,Y,N)                                            GR1
LINEMC(X,Y,N,NM,JS)                                     GR1
LINEMO(X,Y,N,NM,JS)                                     GR1
LINEO(X,Y,N)                                            GR1
LINFIL(A,B,N,M)                                         GR3
LININT(IBX,BYI,IXF,YFI,RMAX,RMIN)                       GR7
LINNUM(X,Y,KT)                                          GR8
LINT(X,Y,XX,YY,N1,N2,KT,IKOP)                           GR8
LITAN(XT,YT,J)                                          GR6
LOCEXT(PHI,X,Y,N1,N2,IKOP)                              GR8
LOOK(N1,N2,X,Y,PHI,ITAGB,XX,YY,KT,IKOP)                 GR8
LOWER (Z,M,N,ZMI)                                       GR14
LPAL(P,A,L1,L)                                          GR12
LPARLD(L1,D,L2)                                         GR12
LPARLP(L1,P,L2)                                         GR12
LPARX(D,L)                                              GR12
LPARY(D,L)                                              GR12
LPERLP(L1,P,L2)                                         GR12
LPP(P1,P2,L)                                            GR12
LSCALE(X1,Y1,X2,Y2,R)                                   GR2
LSFIT (X,Y,RO,M,N,MPTS)                                 GR3
MAP (X,Y,Z)                                             GR7
MARKBE (XI,YI,IL)                                       GR14
MARKER(NMARK)                                           GR1
MATEVL(XV,YV,ZV,XPL,YPL,ZPL,VX,VY,VZ)                   GR10
MINMAX(A,N,RMN,RMX)                                     GR1
MMS                                                     GR1
MNMX(VX,VY,VZ,X,Y,A,LLX,LLY,LXINI,LXE,LYIN,LYE,S)       GR7
MODGF(J)                                                GR10
MOVA(DL,TH,J)                                           GR61
MOVB(DX,DY,J)                                           GR6
MOVC(XM,YM,DL,J)                                        GR6
MOVE(X,Y,J)                                             GR1
MOVE(X,Y,J)                                             GR6
MOVE1(X,Y,J)                                            GR2
MOVE2(X,Y,J)                                            GR2
MOVE3(X,Y,J)                                            GR2
MTMPL(AL1,BL1,CL1,AL2,BL2,CL2,
      AT1,BT1,CT1,AT2,BT2,CT2,AE1,BE1,CE1,AE2,BE2,CE2)  GR2
MXMULT(A,B)                                             GR11
NEWFRM                                                  GR10
NEXTRG(IBOUND,X,Y,NET,NODES,NB,XV,YV)                   GR10
NOTCH(X,Y,N,NSIZE,STEP,J,ITR)                           GR2
NOTCH1                                                  GR2
NUMBER(X,Y,Z,FNUM,N,TH)                                 GR2
NUMLIN(SIZE,N)                                          GR8
OPER(LRP1,I,X,RZ)                                       GR9
PAC(C,A,P)                                              GR13
PAGE (XL,YL,NAME,N0,J)                                  GR0
PATA(C,A1,A2,N,I,P)                                     GR13
PATC(C,A,N,I,J,P)                                       GR13
PATCH(XF1,YF1,RMAX,RMIN)                                GR7
PATL(PH,PK,N,I,P)                                       GR13
 
 
                        - 23 -
 
 
PCNAP(PC,P1,ALPHA,P)                                    GR13
PCNTRC(C,P)                                             GR13
PEN(J)                                                  GR0
PICTUR(ISCR,SCRN,IDIM1,IDIM2,X1,Y1,X2,Y2)               GR10
PIEPP(P1,P2,A,B,K,P)                                    GR13
PILC(L,C,N)                                             GR12
PILL(L1,L2,P,N)                                         GR13
PISS(P1,P2,P3,P4,P,N)                                   GR13
PLOT(IXI,IYI,J)                                         GR0
PMIDPP(P1,P2,P)                                         GR13
PMLP(L,P1,P2)                                           GR13
PMP(P1,P2,J)                                            GR13
PMPP(P1,P,P2)                                           GR13
PNORDR(X,Y,NET,L,IB,IE)                                 GR10
POLG(R,M,PHI)                                           GR6
POLINE(R,TH,N,KS,NM,JS,L)                               GR2
POLREG(XOFC,YOFC,RIN,RFN,THETA1,THETA2,JTEXT,M,H,J)     GR2
POLYG (X,Y,SL,M,TH)                                     GR1
PRAP(P1,R,A,P2)                                         GR13
PREP(X,Y,Z,N0,XV,YV,ZV,XPL,YPL,ZPL,VX,VY,VZ,
     ISCR,IDIM1,RLYTOX)                                 GR10
PRJ(IT,X,Y,Z)                                           GR11
PRJHL(IT,X,Y,Z)                                         GR11
PRJT(VX,VY,VZ,X,Y,A,LX,LY,LXIN,LXE,LYIN,LYE,XF1,YF1)    GR7
PROJCT(XP,YP,ZP,XPJ,YPJ)                                GR10
PRSP(VX,VY,VZ,X,Y,A,LLX,LLY,LXINIT,LXEND,LYINIT,LYEND,
     XF1,YF1,RMAX,RMIN,NN)                              GR7
PSCALE(X,Y,R)                                           GR2
PTLPC(C,P,N)                                            GR12
PVAL(RES,ARG,B,N)                                       GR3
PXY(X,Y,P)                                              GR13
QUADRA(ITAGB,IXBD,IYBD,N1,N2,N5)                        GR8
RAISE (Z,M,N,ZMI)                                       GR14
RAND(RMIN,RMAX,K)                                       GR3
RAXES(NAME,N,H,UR,KR,M,T)                               GR2
RCCNTC(CN,C,R1,R2)                                      GR13
RDACA(X0,Y0,R,TH0,THF)                                  GR61
RDACB(X0,Y0,R,XF,YF,J)                                  GR61
RDACC(X0,Y0,XM,YM,XF,YF,J)                              GR61
RDACD(X0,Y0,XC,YC,PHI)                                  GR61
RDAEA(X0,Y0,A,B,ALPHA,TH0,THF)                          GR61
RDAEB(X0,Y0,A,B,ALPHA,XF,YF)                            GR61
RDCRC(XC,YC,R)                                          GR61
RDELP(XC,YC,A,B,ALPHA)                                  GR61
RDMVA(X0,Y0,DL,TH)                                      GR61
RDMVB(X0,Y0,DELTAX,DELTAY)                              GR61
RDMVC(X0,Y0,XM,YM,DL)                                   GR61
RDMVE(X0,Y0,X,Y)                                        GR61
RDSTR(STORE)                                            GR6
REBLAN                                                  GR2
RECT (X,Y,H,W,TH)                                       GR1
RECUR (Z,M,N,NX,NY,KX,KY)                               GR14
REGION(X,Y,XL,YL,NAME,N,J)                              GR1
RENTCH                                                  GR2
RENUM                                                   GR8
 
 
                        - 24 -
 
 
RESET                                                   GR2
ROTATE(X,Y,PSI)                                         GR2
ROTH(NAXES,FI,DX,DY,DZ,NLINES,NBEG,NEND)                GR11
SAVETR(A)                                               GR4
SCREN1(ISCR,SCRN,IDIM1,IDIM2,Y,N,IND)                   GR10
SCREN2(ISCR,SCRN,IDIM1,IDIM2,X,Y,NL,STEP,XBEG,A1,
       B1,A2,B2,IND)                                    GR10
SCRMOD(ISCR,SCRN,IDIM1,IDIM2,XL,YL,XIR,YIR,XK,YK)       GR10
SDPG(STEP,EPS,BETA)                                     GR2
SEARCH(IXF,YFI,IBX,BYI,XF1,YF1,RMAX,RMIN)               GR7
SECANT(SL,ALPHA,X,Y)                                    GR61
SEE(L,IR,IBOUND,X,Y,NB,IND,IDRWN,XV,YV)                 GR10
SEE1(I1,I2,I3,I4,X,Y,XV,YV,IND)                         GR10
SEGANG(X1,Y1,X2,Y2,A,STEP,IND)                          GR10
SET(J)                                                  GR1
SETBE (LSTEP,SIZEB)                                     GR14
SETTR(A)                                                GR4
SFCFIT(LX,LY,X,Y,Z,MX,MY,NU,NV,U,V,W)                   GR8
SHADE(X,Y,N,STEP,EPS,BETA)                              GR2
SHDOWN(I)                                               GR11
SHEAR(N1,N2,F)                                          GR4
SHIFT(DX,DY)                                            GR2
SHUP(I)                                                 GR11
SIGNA(NAME,N,H,XO,YO,RFN,UTR,KTR,A,B,BS,MK,
      KD,Q,S,K,R6,AR,C)                                 GR2
SINCL(XB,STEP,Y,N)                                      GR3
SIZLIN(SIZE,N,M)                                        GR8
SIZNUM(SIZE,FNUM,N,M)                                   GR8
SLINST(J)                                               GR14
SMINV(A,V,N)                                            GR3
SMTBVF(LP,LX,LY,X,Y,Z,N,U,V,W)                          GR9
SMTONE(LX,LY,X,Y,Z,MX,MY,NU,NV,U,V,W)                   GR9
SMTSIM(LX,LY,X,Y,Z,N,U,V,W)                             GR9
SORT3(PA,PB,K)                                          GR12
SORTC(J,C)                                              GR13
SORTCN(M,J,C)                                           GR12
SORTL(L,J,C)                                            GR13
SORTP(J,P)                                              GR12
SORTPT(J,PT1,PT2)                                       GR13
SORTY(DX,DY,DZ,NLINES,N1,N2)                            GR11
SPHERG(R,NFI,NTETA,DX,DY,DZ,NLINES,NBEG)                GR11
SPHERV(R,NFI,NTETA,DX,DY,DZ,NLINES,NBEG)                GR11
SPIRAL(TH0,THF,R0,RF)                                   GR6
SPLINE  (X,Y,U,N,A,B,C,D,KODE,IER)                      GR3
SPLINT  (X,N,A,B,C,D,Y,M)                               GR3
SPLITP(X,Y,Z)                                           GR11
SPLOT(IXI,IYI,J)                                        GR0
STAR(R,M,ALPHA,PHI)                                     GR61
STORIN(AL,AU)                                           GR11
STRMOD(J)                                               GR6
STROT3(NAXES,CS,SN,R)                                   GR11
SUPLIN(X,Y,N,NM,JS,L,IKOP)                              GR8
SVLSEG(AL,AU,I)                                         GR11
SYMBOL(X,Y,SIZE,JBCD,LIMIT,THETA)                       GR1
SYMTAB(JB,I,NPLOT,KK,IS1)                               GR1
 
 
                        - 25 -
 
 
TCALC (X,Y,T,N)                                         GR3
TDAXES(X,Y,REG,L)                                       GR4
TDLIM(X,Y,Z,NROW,NCOL,ISTA,IFN,JST,JFN,S)               GR4
TDLIML(X,Y,Z,N,S)                                       GR4
TDLINE(X,Y,Z,N)                                         GR4
TDMP(X,Y,N,A,B,C,D,KODE)                                GR3
TDROT(NAXES,ALPHA)                                      GR4
TDSCAL(NAXES,SCALE)                                     GR4
TDSECT(Z,X,Y,IX,IY,M,N,AMXMN,AR)                        GR4
TDTRAN(DX,DY,DZ)                                        GR4
TESTVS                                                  GR11
TFM(XF,YF,XM,YM)                                        GR2
THAXES(NAME,N,H,UT,KT,MT,R)                             GR2
THREED(X,Y,Z,NROW,NCOL,ISTA,IFN,JSTA,JFN,
       LNTP,NGRD,AMXMN,AR)                              GR4
TMF(XM,YM,XF,YF)                                        GR1
TMLGF (X,Y,LG,N,XF,YF)                                  GR2
TOKEN(X,Y,MRK,FZ,N,H,TH)                                GR14
TPF(RM,TM,KN,RF,P,X,Y)                                  GR2
TRANH(DELX,DELY,DELZ,DX,DY,DZ,NLINES,NBEG,NEND)         GR11
TRANSF(ZIZ,XI,YI,ILM)                                   GR14
TRANSL(DX,DY)                                           GR2
TRDRAW(ISCR,SCRN,IDIM1,IDIM2,X,Y,Z)                     GR10
TRG(L,IR,K,KL,KR,NET,NODES,IBOUND,NB,X,Y,XV,YV,IND)     GR10
TRGRID(X,Y,N0,NET,IBOUND,NODES,NET0,NT1)                GR10
TRIDIG  (U,N,A,B,C,D,KODE,IER)                          GR3
TRIG(X,Y,N0,NODES,NET0,IBOUND,NET,NT1)                  GR10
TRINGL(X,Y,N0,IBOUND,IDOM,NODES,NET,NT1)                GR10
TRSURF(X,Y,Z,N0,XV,YV,NODES,NET0,                       GR10
VIEW(X,Y,Z)                                             GR4
VPLIM(DX,DY,DZ,NLINES,NL11,NL2,S)                       GR11
WHERE(X,Y,F)                                            GR1
WHERP(X,Y,F)                                            GR61
WRACA(R,TH0,THF)                                        GR61
WRACB(R,XF,YF,J)                                        GR6
WRACC(XM,YM,XF,YF,J)                                    GR6
WRACD(XC,YC,PHI)                                        GR6
WRAEA(A,B,ALPHA,TH0,THF)                                GR6
WRAEB(A,B,ALPHA,XF,YF)                                  GR6
WRCRC(R)                                                GR6
WRELP(A,B,ALPHA)                                        GR6
WRMVA(DL,TH)                                            GR6
WRMVB(DELTAX,DELTAY)                                    GR6
WRMVC(XM,YM,DL)                                         GR6
WRMVE(X,Y)                                              GR61
WRSTR(STORE)                                            GR6
XAXIS(Y0,NAMEX,NX,UX,KX,M,J)                            GR2
XILIY (Z1,Z2,ARG1,ARG2,ZIZOL,I,J,IUS,JUS)               GR14
XILIY1 (Z1,Z2,ARG1,ARG2,ZIZOL,I,J,IUS,JUS)              GR14
XLGAX (YO,NAME,N,J,K,M)                                 GR2
XPOL(X,Y)                                               GR8
XYSORT (X,Y,N)                                          GR3
YAXIS(X0,NAMEY,NY,UY,KY,M,J)                            GR2
YLGAX (XO,NAME,N,J,K,M)                                 GR2
YPOL(X,Y)                                               GR8
 
 
                        - 26 -
 
 
ZAPIT(ITAGB,N1,N2)                                      GR8
ZINT(X1,Z1,X2,Z2,X)                                     GR4
 
 
                        - 27 -
 
 
                      Приложение VI
 
        КЦГД: дозагружаемый графический интерпретатор.
 
    По сути, данное приложение является инструкцией по
эксплуатации графического интерпретатора КЦГД. Данный
интерпретатор был написан автором для работы с ГРАФОРом,
хотя его использование может быть и автономным. Загружается он
в ОЗУ КЦГД командой
 
                R GS.SYS
 
    Чтобы интерпретатор начал действовать, необходимо передать
в КЦГД следующие управляющие последовательности:
(здесь и далее последовательность <ESC > означает восьмеричный
код 033, или десятичный 27; на клавиатуре это клавиша <АР2> или
комбинация <СУ>[ )
 
            ESC <       переводит КЦГД в расширенную систему
                        команд;
            ESC P       переводит КЦГД в графический режим.
 
    В обычный текстовый режим работы КЦГД возвращается
следующими командами:
 
            ESC ~       (тильда; ^ в нижнем регистре)
                        выводит КЦГД из графического режима
                        в расширенную систему команд;
 
            ESC [?2l    переводит КЦГД в обычный режим.
 
    В графическом режиме КЦГД может выполнять следующие
команды:
 
            D X,Y;  рисование линии из текущего состояния в
                    точку X,Y;
            M X,Y;  перевести перо в точку X,Y;
            J N;    установить цвет <N=0..3>;
            H;      начальная установка интерпретатора;
            C;      после получения этой команды КЦГД выдает в
                    ЭВМ полную последовательность байт для
                    функции Print_Screen;
 
    Все эти команды, за исключением <C;>, можно отдать с
клавиатуры в автономном режиме.
    При обращении к драйверу <GS:>, последний автоматически
передает в КЦГД все управляющие коды.
 
 
                        - 28 -
 
 
                      Приложение VII
 
            КЦГД: дозагружаемые коды клавиатуры.
 
    КЦГД дозагружается новыми кодами клавиатуры в процессе
загрузки операционной системы. Программа загрузки находится в
файле TT.SYS. Ниже приведены изменяемые коды клавиш.
 
--------------------------------------------------------
Название клавиши   КОИ7   Восьмеричный код   Примечания
--------------------------------------------------------
ПЕЧАТЬ КАДРА        ^A          001
ПАУЗА               NULL        000
ф5                  ^^          036
ПРЕРЫВ              ^S          023
ПРОДОЛЖ             ^T          024
ОТМЕН               ^U          025
ОСНОВН КАДР         ^V          026
ВЫХОД               ^C          003
АР2                 ESC         033
ВШ                  ^H          010
ПС                  ^J          012
ДОП ВАРИАНТ         NULL        000
ПМ                  ESC a       033,141
ВЫБР                ESC f       033,146
Ф17                 ESC H       033,110
Ф18                 ESC J       033,112
ф19                 ESC K       033,113
ф20                 ESC L       033,114
НТ                  ESC c       033,143
ВСТ                 ESC d       033,144
УДАЛ                ESC e       033,145
ИСП                 ESC b       033,142
ПРЕД КАДР           ESC g       033,147
СЛЕД КАДР           ESC h       033,150
~                   ^J          012
РУС ЛАТ             ^N          016
КМП                 ^O          017
{                   {           173
}                   }           175
ТБ                  ^X          030
ЗБ                  DEL         177
ПФ1                 ESC P       033,120
ПФ2                 ESC Q       033,121
ПФ3                 ESC R       033,122
ПФ4                 ESC S       033,123
7                   7           067          *
8                   8           070          *
9                   9           071          *
.                   .           056          *
4                   4           064          *
5                   5           065          *
6                   6           066          *
-                   -           055          *
1                   1           061          *
 
 
                        - 29 -
 
 
2                   2           062          *
3                   3           063          *
,                   ,           054          *
0                   0           060          *
ВВОД                ^M          015          *
-------------------------------------------------
 
* - Выдает ESC-последовательности в режиме дополнительной
    клавиатуры.