                           Приложение 1.

             КРАТКОЕ  РУКОВОДСТВО К СИСТЕМЕ  "АСТРОФОРТ".

  1. Форт-система "Астрофорт", разработанная бывшим Институтом
теоретической астрофизики АН СССР, входит в состав прграммного
обеспечения автоматизированного рабочего места экспериментато-
ра "ИСКРА 1031".
  2. В отличие от использовавшихся в изучаемом курсе перфолен-
точных Форт-систем система "Астрофорт" имеет  виртуальную  па-
мять  на дисках и соотоветствующие словарные статьи для работы
с виртуальной памятью.
  3. Для ЗАПУСКА СИСТЕМЫ необходимо средствами MS DOS,  NORTON
COMMANDER, или любой другой программы-оболочки, найти на диске
D:  (  или  на  другом, указанном преподавателем ), директорию
FORTH и выполнить запуск файла FORTH.COM. При этом рассмотреть
заголовок системы из-за высокого быстродействия ПЭВМ IBM PC не
удастся и пуск завершается появлением на экране приглашения  к
диалогу в виде символов "Ok" красного цвета. Красный цвет выб-
ран как цвет сообщений системы , голубой цвет -- для сообщений
оператора  (  пользователя  ). ЛЮБЫЕ СООБЩЕНИЯ ОПЕРАТОРА МОГУТ
БЫТЬ ОТРЕДАКТИРОВАНЫ НЕПОСРЕДСТВЕННО НА ЭКРАНЕ И ПОВТОРНО  ИС-
ПОЛНЕНЫ.
  4.  Проведите  выход  из  Форт-системы путем нажатия клавиши
<Esc> или команды BYE. После нажатия кдавиши <Esc> Форт-систе-
ма запросит подверждения выхода "(Yes/No)" для выхода  нажмите
<Y>.  После  выхода  вновь  запустите Форт-систему. Назначение
клавиш и их комбинаций можно изучить по двухстраничному  спра-
вочнику,  который  выводится  на экран нажатием функциональной
клавиши <F1>. Изучите текст справочника.
  5. Виртуальная память Форт-системы организована как последо-
вательность пронумерованных,начиная с нуля,блоков-экранов объ-
емом 1Кбайт, входящих в состав активного в данный  момент  эк-
ранного  файла.  После пуска Форт-системы в качестве активного
устанавливается файл с именем FORTH.SCR; если его нет в  теку-
щей  директории, то Форт-система сообщит об этом. В дальнейшем
при работе с системой в качестве активного  может  назнзчаться
любой  существующий  на  диске  файл. Над блоками-экранами ( в
дальнейшем экранами ) и над файлами в Форт-системе  предусмот-
рен  ряд  действий  использующих средства операционной системы
MS-DOS.
                             - 2 -
    Ознакомьтесь с содержанием текущего экранного  файла.  Для
этого  используйте словарныые статьи для листинга экранов. Ко-
мандa :

1 LIST

позволяет вывести для просмотра экран #1. Измените номер экра-
на, подведя курсор под цифру "1" и, исправив единицу на другой
номер, нажмите <ENTER>. Команда :

1 20 INDEX

позволяет вывести для просмотра заголовки (  первые  строки  )
экранов с 1-го по 20-й включительно.
  6.  Программные наработки,полученные в результате выполнения
данной работы, будут создаваться в файле на диске D:, который
можно создать следующим способом: вполнить строку 1 EDIT, нажать
<F9>,  выбрать  в  дополнительном  меню  строку  CREATE,  нажать
<Enter>, ввести имя файла (лучше без расширения, так как систе-
по умолчанию добавит расширение SCR и будет делать это всегда
при обращении к файлу) и нажать <Enter>. Чтобы убедиться в нали-
чии файла, надо выбрать в меню строку DIR и нажать Enter или
исполнить строку DIR , работая в ФОРТ-системе.
* (пропуски в результате коррекции)
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
  6.1.  Поинтересуйтесь названием  текущей ДИРЕКТОРИИ, исполнив
строку:

4 .DIR    (если на диске A: , то 1 .DIR)


 ( Имя корневой директории - "..")
*
*
*
*
    Если какой-либо ФАЙЛ вы считаете лишним,то УДАЛИТЕ  его  с
помощью строки :

DEL NAME DIR                  NAME - имя файла

    В  дальнейшем,  приступая  к работе с виртуальной памятью,
убедитесь в правильном выборе текущего дисковода. ИМЯ ТЕКУЩЕГО
ДИСКОВОДА можно узнать с помощью команды

.DRV

    Убедитесь, что правильно выбрана  ТЕКУЩАЯ  ДИРЕКТОРИЯ  при
помощи команды :

DIR

  7. Работа с виртуальной памятью системы Астро-Форт.
  7.1.  Установите в качестве файла виртуальной памяти ваш ра-
бочий файл ( СДЕЛАЙТЕ ВАШ РАБОЧИЙ ФАЙЛ АКТИВНЫМ )  при  помощи
                             - 4 -
строки :

USING NAME                         NAME - имя файла

   Вместо  того,  чтобы  набирать слово USING,вы можете нажать
комбинацию клавиш <Alt> и <U>.

  7.2. Теперь можно  воспользоваться  редактором  Форт-системы
для  подготовки текстов в экранах виртуальной памяти. В экране
# 0, который не используется системой для программ, вы  можете
поместить  произвольный текст ( например состав бригады выпол-
няющей лабораторную работу, номер группы, название  лаборатор-
ной работы, и.т.д. ). Для этого войдите в режим редактирования
при помощи строки :

0 EDIT          Здесь 0 - это номер редактируемого экрана.

   После выполнения этой строки вы работаете с экранным редак-
тором  Форт-системы. Для выхода из него нажмите клавишу <ESC>.
Вместо того, чтобы набирать слово EDIT вы можете нажать комби-
нацию клавиш <Alt> и <E>.
   Войдя в редактор,переключитесь на русский  шрифт  (  нажать
клавишу  <CAPS  LOCK>, если вы пльзуетесь драйвером клавиатуры
 CLERK, иначе спросите у  преподавателя,как  переключиться  на
русский  шрифт  ).  Начиная  со второй,строки набирайте текст.
Первую строку оставьте свободной, так как на ней обычно распо-
логается заголовок экрана.
   Нажатие клавиши <F2> создает в 1 строке экрана строку заго-
ловка которая выглядит так :

(                                                   мм/дд/гг )

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

n  m  INDEX

где  n  -  номер  первого экрана, m - номер последнего экрана.
                             - 5 -
    После подготовки текста его запись на диск  состоится  при
    выходе из
редактора или при переходе в другой экран ( нажатием клавиш
<Page Up> и <Page Down> )
  8. Убедитесь в удобстве работы с редактором экранов и вирту-
альной памятью, поместив во второй экран текст программы :

.( УРА ! ) 500 300 BEEP
: TXT 10 0 DO ." ВТОРОЙ ЭКРАН РАБОТАТЕТ" CR LOOP ;
TXT CR FORGET TXT .( УБЕДИЛИСЬ ?! )

и  после  выхода из редактора,выполните текст этой программы с
помощью строки :

2 LOAD

   Вместо того, чтобы набирать слово LOAD , вы  можете  нажать
комбинацию клавиш <Alt> и <L>.
  9. Поместите в третий экран текст:

.( ТРЕТИЙ ЭКРАН ИНТЕРПРЕТИРОВАН )      SIREN

А в четвертый экран текст:

.( ЧЕТВЕРТЫЙ ЭКРАН ИНТЕРПРЕТИРОВАН )   ALARM

   После выхода из редактора загрузите 4-й экран строкой

4 LOAD

   Проверьте ВОЗМОЖНОСТЬ ЗАГРУЗКИ ИЛИ ИНТЕРПРЕТАЦИИ ГРУППЫ ЭК-
РАНОВ, поместив в первый экран текст:

2 LOAD 4 LOAD 3 LOAD 2 LOAD

и интерпретировав первый экран.
   Проверьте ВОЗМОЖНОСТЬ ЦЕПОЧЕЧНОЙ ЗАГРУЗКИ последовательнос-
ти ЭКРАНОВ, поместив в конце экрана #2 и экрана #3 команду -->
и интерпретировав первый в цепочке экран #2 .
                             - 6 -
  10.  При использовании редактора в верхней строке располага-
ется  меню,  где  для  выбора  команды  используются   клавиши
<F1>...<F10>. При нажатии клавиши <F1> в режиме редактирования
может  быть выведена информация о командах редактора, исчезаю-
щая при нажатии любой клавиши. Вне редактора  нажатие  клавиши
<F1>  выводит  информацию  о  некоторых командах Форт-системы,
второе нажатие клавиши <F1> выводит  второй  экран  справочной
информации.
    Назначение клавиши <F2> рассматривалось выше.
    Клавиши  <F3>...<F6>  позволяют  перенести или скопировать
любое количество строк редактируемого  экрана  в  любое  место
другого экрана текущего или любого другого экранного файла.
    Нажатие  клавиши <F3> помещает указываемые курсором строки
в специальный стек-буфер с отображением первой  строки  буфера
на  экране  дисплея.  Последовательные нажатия клавиши смещают
курсор вниз.
    Нажатие клавиши <F5> выводит одну строку  с  вершины  сте-
ка-буфера  в  указанное курсором место на экране. Клавиша <F4>
действует аналогично клавише <F3>  за  исключением  того,  что
строка  не  копируется а переносится в другое место с изъятием
из прежнего места. Клавиша <F6> действует  аналогично  клавише
<F5>  за исключением того, что строка раздвигает строки на эк-
ране и помещается в образовавшийся прмежуток.
   11. Пользуясь клавишами <F3> и <F5>, переместите строки 3 и
4 экрана #2 во 2-ю и 3-ю строки экрана #6.
   12. Клавиша <F7> позволяет организовать  контекстный  поиск
экрана  в файле. Установите текущим экраном редактирования 1-й
экран, нажмите клавишу
<F7>, задайте текст для поиска 3 LOAD, после нажатия клавиши
<ENTER> будет найден экран, где есть текст 3 LOAD.
    Клавиша <F8> позволяет организовать не только поиск, но  и
замену найденного текста на заданный.
    Клавиша  <F10>  позволяет  восстановить содержимое экрана,
которое было до редактирования, если еще не произошла  ззапись
этого экрана на диск.
    Клавиша  <F9> выводит на экран дополнительное меню команд,
в котором с помощьью клавиш "стрелка вверх" (  Up  Arrow  )  и
"стрелка вниз" ( Down Arrow ) вы можете выбрать нужную вам ко-
манду  из списка приведенного ниже :
                             - 7 -
EDIT   - Перейти к редактированию другого экрана.
USING  - Установить новый текущий  экранный  файл  виртуальной
         памяти, в том числе и на другом дисководе.
SPREAD - Сдвиг информации во всех экранах, начиная с текущего,
         на  1 экран в строну увеличения номера с очисткой те-
         кущего экрана.
COMPRS - Удаление текущего экрана  со  сдвигом  информации  на
         один экран в сторону удаленного во всех остальных эк-
         ранах с большими номерами.
MOVE   - Перемещение группы экранов внутри текущего  экранного
         файла ( не копирование, а перемещение ).
COPY   - Копирование  некоторых  или  всех  экранов   текущего
         экранного  файла  в другой  экранный файл или в теку-
         щий экранный файл.
FIRST  - Переход к редактированию первого экрана текущего фай-
         ла.
LAST   - Переход к редактированию последнего  экрана  текущего
         файла.
PRINT  - Печать содержимого теекущего экранного файла.
DIR    - Выдача содержимого текущей директории.
Ch Drv - Смена текущего дисковода.
Ch Dir - Смена текущей директории.
INDEX  - Выдача заголовков экранов текущего  экранного  файла.
CREATE - Создание нового экранного файла в текущей директории.
DELETE - Удаление экранного файла из текущей директории.
FORTH  - Выход  во временный экземпляр Форт-системы без выхода
         из редактора. Для выхода из этой Форт-системы нажмите
         клавишу <Esc> или наберите команду BYE.
MS DOS - Временный   выход   в  DOS  с  сохранением  состояния
         Форт-системы.  Для возврата из DOS в Форт-систему вы-
         полните соманду EXIT.

          Л А Б О Р А Т О Р Н А Я    Р А Б О Т А
          по  курсу  " Периферийные устройства ЭВМ "

          " Графический дисплей с контроллером EGA ".
                (Методические указания)
Цель работы: изучение графических режимов работы дисплея.
В  качестве инструментальной среды для оперативного управления
работой дисплея предполагается использовать Форт-систему  АСТ-
РОФОРТ бывшего Института теоретической астрономии АН СССР.

   1. ВВЕДЕНИЕ.
   (Полезно изучить до начала работы в лаборатории.)

1.1.  СОСТАВ ГРАФИЧЕСКОГО ДИСПЛЕЯ И ОСОБЕННОСТИ СОСТАВНЫХ ЧАС-
ТЕЙ. Современный графический дисплей ПЭВМ конструктивно разде-
ляется на адаптер и монитор. Адаптер  подключен  к  системному
интерфейсу ПЭВМ , содержит в своем составе ОЗУ - видеопамять ,
множество  регистров. Адаптер вырабатывает сигналы для монито-
ра. Монитор подключен к адаптеру , содержит  в  своем  составе
ЭЛТ,  средства  для развертки луча , для управления яркостью и
цветом изображения (Рис.1).

    Адаптер EGA может быть подключен к ПЭВМ IBM PC, IBM PC/XT,
IBM PC/AT и к другим совместимым с IBM PC ПЭВМ. При  подключе-
нии адаптера EGA вместо CGA следует реконфигурировать систему,
изменив состояние некоторых переключателей на материнской пла-
те  ПЭВМ.  Настройка адаптера на соответствующий монитор также
проводится при помощи переключателей, в том числе и  на  плате
адаптера.
    На плате адаптера EGA расположены :
  - многофункциональный видеоконтроллер ,
  - 256K RAM видеопамяти ,
  -  перепрограммируемое  ПЗУ  27256  байт, для дополнительной
части BIOS,
  -  кварцевые  генераторы  16257 Гц, 34000 Гц, 19000 Гц,
24000 Гц, являющиеся источниками тактовой частоты  для  работы
при различных вариантах режимов мониторов ,
  - переключатели для реконфигурирования ,
  - буферные усилители ,
  -  разъемы для подключения монитора , для подключения свето-
                             - 2 -










          __________________________________________
         |                                          |
         |  ПЭВМ                                    |
         |                                          |
         |                                          |
         |    _________________________________     |
         |   |                                 |    |
         |   |    Системный интерфейс ПЭВМ     |    |
         |   |_________________________________|    |
         |           |              /|\             |
         |           |               |              |
         |           |               |              |
         |     _____\|/______________|_________     |
         |    |                                |    |
         |    |                                |    |
         |    |       Адаптер  дисплея         |    |
         |    |                                |    |
         |    |                                |    |
         |    |                                |    |
         |    |________________________________|    |
         |               |       /|\                |
         |               |        |                 |
         |               |        |                 |
         |_______________|________|_________________|
                         |        |
                         |        |
                         |        | <-- Интерфейс монитора
                         |        |     с адаптером
                 _______\|/_______|________
                |                          |
                |                          |
                |                          |
                |     М О Н И Т О Р        |
                |                          |
                |                          |
                |__________________________|


             Рис.1  Структура системы " ПЭВМ - дисплей ".
                             - 3 -
вого пера .
    Блок-схема адаптера EGA приведена на рис.2.
    Качество дисплея  определяется  многими  факторами,  среди
важных факторов находится тип интерфейса монитора с адаптером,
частота  развертки монитора, параметры точечного растра на эк-
ране, число цветов. В соответствии с типом интерфейса различа-
ют мониторы таких видов : композитный, цифровой  RGB  монитор,
цифровой  ECD  монитор, цифровой ECD HiRes монитор, аналоговый
цветной монитор и др.
    Композитный монитор -это означает, что из адаптера в мони-
тор по паре проводников поступает один композитный сигнал, со-
держащий в композиции  (в  смеси)  синхроимпульсы  кадровой  и
строчной  разверток и видеосигнал в форме,принятой в телевиде-
нии. В портативных ПЭВМ, в которых в качестве дисплея  исполь-
зуется стандартный телевизор (стандарты PAL или SECAM), компо-
зитный  сигнал, сформированный в контроллере, подключают к ви-
деовходу телевизора или модулированный композитный сигнал под-
ключают к радиовходу (антенному гнезду).
    В последнем случае композитный сигнал должен точно
соответсвовать телевизионному стандарту, а дисплей  из-за  ис-
пользующегося  способа  передачи  цветовых  составляющих будет
иметь ограничение по разрешающей способности, т.е. по парамет-
рам цветного точечного растра.
    Композитный монитор - монитор аналогового типа и количест-
во различных цветовых оттенков определяется структурой адапте-
ра, а разрешающая способность определяется полосой пропускания
( 1.5 МГц ) для цветовых составляющих, которая существенно ни-
же, чем полоса пропускания яркостного канала в монохромных мо-
ниторах.
     Цифровой RGB монитор - отличен тем , что по отдельным ли-
ниям интерфейса с адаптером передаются  двухуровневые  сигналы
управления  яркостью,красной,синей и зеленой составляющих цве-
та, а также сигналы синхронизации кадровой и строчной  развер-
ток. Такой способ передачи цветовых составляющих позволяет по-
лучить на экране 8 цветовых оттенков.
     Цифровой  ECD (Enhanced Color Display) монитор отличается
тем, что по сравнению с RGB монитором количество линий для пе-
редачи цветовых составляющих увеличено с трех  до  шести.  Это
позволяет  передать  четыре  градации яркости по каждому цвету
                             - 5 -
или 4 * 4 * 4 = 64  различых  цветовых  оттенка.  Ограничения,
связанные с объемом видеопамяти приводят к использованию подм-
ножества  этих  оттенков. Такое подмножество именуют палитрой.
Обычно имеется возможность выбора палитры.
     Цифровой ECD HiRes (High Resolution) монитор при  тех  же
возможностях  по цвету точек, что и у ECD монитора имеет повы-
шенную разрешающую способность в связи с более высокой  такто-
вой частотой. В одном из режимов адаптера EGA возможно получе-
ние  параметров точечного растра 800 x 600 точек, что близко к
телевизионному стандарту ( 830 x 625 точек ).
     Аналоговые RGB мониторы имеют в интерфейсе также три  ли-
нии  для управления цветом. Яркость каждой цветовой составляю-
щей определяется значением не цифрового, а аналогового  сигна-
ла.  Количество  оттенков  цвета здесь не ограничено. Но, пос-
кольку значение аналогового сигнала вырабатывается в  адаптере
путем цифро-аналогового преобразования с известным числом дво-
ичных  разрядов, то конечное число цветовых оттенков для соот-
ветствующего адаптера можно указать. Так для адаптера VGA  256
оттенков (палитра) могут быть выбраны из 262144 возможных цве-
товых оттенков.
     Электронный  луч сканирует поверхность экрана в направле-
нии слева направо и сверху вниз. При обратном  ходе  разверток
луч  выключают в пределах прямоугольной рабочей области (250 x
200 мм*мм). Область вне рабочей именуют рамкой.
     Частота строчной развертки и частота вывода точек на  эк-
ран  определяют  горизоонтальную  разрешающую способность. Шаг
триад RGB люминофоров обычно меньше шага выводимых точек изоб-
ражения - пикселов ( Pixel == Picture   element    ==     эле-
мент картины ). Шаг выводимых точек по горизонтали и по верти-
кали  неодинаков. Если это не учитывать, окружность станет эл-
липсом ( dX/dY=5/6 ).
     Вертикальная разрешающая способность определяется  числом
строк  развертки. При повышении числа строк развертки возможно
снижение частоты  следования  кадров,  что  вызывает  мерцание
изображения. Мерцание отчасти устраняют при помощи черезстроч-
ной  развертки,  т.е., в первом полукадре выводятся все четные
строки (нумерация с нуля), во втором полукадре - все  нечетные
строки.  Современные  графические адаптеры дисплеев это много-
функциональные устройства.  Они  могут  поддерживать  мониторы

                             - 6 -
разных  типов  (см.Таблицу  1). К некоторым адаптерам возможно
подключение двух мониторов. Адаптеры могут работать в несколь-
ких режимах, в том числе и в режимах, обеспечивающих совмести-
мость с устройствами более раннего выпуска, что позволяет  ис-
пользовать программы ПЭВМ, разработанне до появления более со-
вершенных адаптеров.
     Режимы работы адаптера EGA приведены в Таблице 2.
Режимы 0-7 являются общими для всех видов видеоадаптеров ПЭВМ,
совместимых с IBM PC. Адаптеры EGA (и VGA) позволяет использо-
вать дополнительные режимы с лучшими возможностями.
 1.2. ОБРАЩЕНИЕ К АДАПТЕРУ ДИСПЛЕЯ.
    Обращение к адаптеру дисплея возможно :
- путем использования средств BIOS (Base Input Output System -
Базовая Система Ввода Вывода ) , - путем непосредственного об-
ращения  к  регистрам  адаптера и к видеопамяти. Использование
средств BIOS производится по следующей схеме. В регистры  про-
цессора загружаются необходимые константы и производится прог-
раммное прерывание с номером 10H. При обработке прерывания вы-
полняется заданная функция.
    При  непосредственном  обращении  к регистрам адаптера и к
видеопамяти функции, что выполняются в BIOS, могут быть выпол-
нены быстрее. Кроме того, возможно выполнение функций, которые
не предусмотрены в BIOS.

 1.3. ПОДГОТОВКА И ПРОВЕДЕНИЕ ЭКСПЕРИМЕНТОВ С  АДАПТЕРОМ  EGA.
    Последующие методические указания выполнимы при условиях :
-  студенты  работают  на ПЭВМ IBM PC AT в составе бригад (1-2
студента),
-  каждая бригада во время выполнения работы использует собст-
венную или полученную в лаборатории дискету и гарантирует кор-
ректность действий с ней,поскольку на дискете могут  храниться
файлы  других  бригад,
- каждая бригада гарантирует корректное отношение к файлам об-
щего доступа, в частности, к файлам директории FORTH, где рас-
полагаются программы Форт-системы "АСТРОФОРТ",
-  cтуденты, выполняющие лабораторную работу, ведут лаборатор-
ный журнал, где фиксируют результаты экспериментов,
-  отчет по лабораторной работе должен содержать информацию из
лабораторного журнала, тексты, подготовляемых  при  выполнении


                                 - 7 -
                                             Таблица #1
  ┌───┬─────────────────────────┬───────────────────────────┐
  │ # │                         │                           │
  │п/п│     Вид монитора        │   Поддерживающий адаптер  │
  ├───┼─────────────────────────┼───────────────────────────┤
  │ 1 │ Композитный монохромный │            CGA            │
  │   │                         │                           │
  │ 2 │ Композитный цветной     │            CGA            │
  │   │                         │                           │
  │ 3 │ Цифровой  RGB           │       CGA, EGA, VGA       │
  │   │                         │                           │
  │ 4 │ Цифровой  ECD           │         EGA, VGA          │
  │   │                         │                           │
  │ 5 │ Аналоговый монохромный  │ Hercules, EGA, VGA, MDA   │
  │   │                         │                           │
  │ 6 │ Аналоговый RGB          │            VGA            │
  └───┴─────────────────────────┴───────────────────────────┘

                                             Таблица #2
┌──────┬──────────────────────────────────┬────────────┬──────┐
│Номер │      Характеристики              │    Тип     │Совме-│
│режи- │         режима                   │ монитора   │сти-  │
│ма    │                                  │            │мость │
├──────┼──────────────────────────────────┼────────────┼──────┤
│  0   │ Алфавитно-цифровой 40 символов   │ RGB , ECD  │ CGA  │
│  1   │   в строке ,       25 строк      │            │      │
│      │                                  │            │      │
│  2   │ Алфавитно-цифровой 80 символов   │ RGB , ECD  │ CGA  │
│  3   │   в строке ,       25 строк      │            │      │
│      │                                  │            │      │
│  4   │ 320x200  4-цветный графический , │ RGB , ECD  │ CGA  │
│  5   │  2 палитры                       │            │      │
│      │                                  │            │      │
│  6   │ 640x200  2-цветный (моно-)       │ RGB , ECD  │ CGA  │
│      │   графический                    │            │      │
│      │                                  │            │      │
│  7   │ Алфавитно-цифровой монохромный   │ Только     │ MDA  │
│      │                                  │монохромный │      │
│      │                                  │            │      │
│8..0Ch│ Резерв                           │            │      │
│      │                                  │            │      │
│  0Dh │ 320x200  16-цветный графический  │    ECD     │      │
│      │                                  │            │      │
│  0Eh │ 640x200  16-цветный графический  │    ECD     │      │
│      │                                  │            │      │
│  0Fh │ 640x350  монохромный графический │ Только     │ MDA  │
│      │                                  │монохромный │      │
│      │                                  │            │      │
│  10h │ 640x350 цветной графический      │            │      │
│      │    4 цвета  для  адаптера с 64K  │            │      │
│      │   16 цветов для  адаптера с 256K │            │      │
└──────┴──────────────────────────────────┴────────────┴──────┘



                             - 8 -
работы программ , ответы на контрольные вопросы,содержащиеся в
конце каждой части лабораторной работы. При этом часть лабора-
торной  работы, которая связана с изучением Форт-системы отче-
том не сопровождается. При выполнении этой части каждой брига-
де рекомендуется создать и использовать свой  небольшой  спра-
вочник по основным манипуляциям в системе "АСТРОФОРТ". Краткое
описание особенностей системы содержится в Приложении 1 к нас-
тоящим методическим указаниям.

 1.4. КОНТРОЛЬНЫЕ ВОПРОСЫ

1.4.1. Какой монитор может быть подключен к видеоадаптеру  EGA?
1.4.2. Что означают слова "обращение к видеоадаптеру с исполь-
       зованием средств BIOS ?
1.4.3. Что означают слова "режим видеоконтроллера с номером
       0Dh" ?

    2.  ОСОБЕННОСТИ ФОРТ-СИСТЕМЫ "АСТРОФОРТ".
Лица, знакомые с Форт-системой "АСТРОФОРТ, могут опустить этот
раздел.

Задание #1




Примечание : Для выполнения заданий бригада  должна иметь рабо-
чий файл. На  жестком  диске  ПЭВМ необходимо иметь директорию
FRT1 с файлами FRT1.COM,  FORTH.MSG,  FORTH.SCR,  FORTH.ASM,
MUSIC.SCR, FSPEC.SCR и рабочий файл.


    3. ИЗУЧЕНИЕ РЕЖИМА #4 ВИДЕОАДАПТЕРА EGA.

    Это  графический режим 320x200 точек при 4-х цветах из 2-х
палитр по 4 цвета каждая.

Задание #2  СОЗДАНИЕ СРЕДСТВ ДЛЯ УСТАНОВКИ РЕЖИМОВ ВИДЕОАДАПТЕРА

    Подготовьте програмные средства для установки режимов  ви-
                             - 9 -
деоадаптера (любого). Словарная статья или набор статей должны
позволить устанавливать любой режим, хотя для простейшего экс-
перимента потребуется установка минимум двух режимов. Почему ?
Если установить графический режим, то нарушится диалоговая ра-
бота с Форт-системой. Поэтому любой эксперимент с графическими
режимами  должен  состоять  из  установки графического режима,
ожидания конца наблюдений результатов,  установки  символьного
режима  для продолжения работы с Форт-системой. Без последнего
может потребоваться перезапуск  ПЭВМ  и  Форт-системы.  Тексты
программ  находятся  в  экране #2 файла D:FSPEC.SCR в корневой
директории дискеты.( Если иной дисковод  -  корректируйте  имя
файла ) Для выполнения задания #2 необходимо скопировать экран
#2 файла D:FSPEC.SCR в экран #5  вашего  рабочего  файла.  Для
этого  переключите Форт-систему на файл D:FSPEC.SCR при помощи
текста :

   D: USING FSPEC.SCR 0 LIST

    Если текст экрана 0 подтверждает  правильность  переключе-
ния,  войдите  в режим редактирования какого-либо экрана файла
D:FSPEC.SCR при помощи текста :

   0 EDIT

    Затем для копирования нажмите клавишу вызова меню редактора
<F9>, выберите операцию COPY и нажмите <ENTER>. Поучаствуйте в
диалоге :

DESTINATION FILE - следует написатьь имя вашего рабочего файла
                              и нажать <ENTER>.
FIRST SOURCE SCREEN - следует написать номер  того  экрана,  с
                              которого  начинается копирование
                              из файла  источника  (  в  нашем
                              случае #2 ), и нажать <ENTER>.
LAST SOURCE SCREEN - следует написать номер того экрана, кото-
                              рым завершается серия копируемых
                              экранов  у  файла  источника ( в
                              нашем случае #2 ).
FIRST DESTINATION SCREEN - следует написать номер  первого  из
                             - 10 -
                              экранов  в файле, куда записыва-
                              ется копия ( в нашем случае #5),
                              и нажать <ENTER>.
    После копирования переключите Форт-систему на ваш  рабочий
файл  и войдите в режим редактирования экрана #5 (USING NAME 5
EDIT). Ознакомьтесь с текстом. При обнаружении ошибок исправь-
те их. После выхода из редактора (<ESC>) попытайтесь интерпре-
тировать экран #5 (5 LOAD). Если интерпретация прошла успешно,
то Форт-система выдаст на экран сообщение "Ok". При неудаче вы
увидите сообщение об ошибке; после  нажатия  любой  символьной
клавиши Форт-система перейдет в режим редактирования экрана, а
курсор укажет место ошибки. Когда отладка завершена, протести-
руйте  вновь созданные словарные статьи RGM и 80S ( они теперь
есть в словаре ) при помощи текста:

   4 RGM WAIT 80S

    Здесь фрагмент 4 RGM устанавливает режим #4  видеоадаптера
С  одновременной ОЧИСТКОЙ ЭКРАНА. Словарная статья WAIT позво-
лит удерживать систему в состоянии ожидания, до тех пор,  пока
вы не нажмете любую клавишу. Убедитесь, что экран очищен. Пос-
ле  нажатия  клавиши словарная статья 80S установит символьный
режим #3 (и вновь очистит экран), после чего Форт-система  вы-
даст  "Ok",  то есть, тестовая последовательность выполнена. В
дальнейшем все тестовые последовательности  помещайте  в  одну
строку.Не допускайте нажатия клавиши <ENTER> раньше,чем  напе-
чатаете  слово  80S  в строке. Модифицированный вариант статьи
RGM с именем RGM1 будет отличаться от RGM тем, что  ПРИ  УСТА-
НОВКЕ  ВИДЕОРЕЖИМА ЭКРАН ДИСПЛЕЯ НЕ БУДЕТ ОЧИЩАТЬСЯ.Чтобы сло-
варная статья RGM1 имела такое свойство, необходимо в  регист-
ре,  где задается номер видеорежима, в седьмом разряде устано-
вить "1".Это достигается выполнением команды Форт-ассемблера :

   AL, # 80 OR

    Этот фрагмент следует вставить в текст  статьи  RGM  перед
командой  прерывания 10 INT. Перенесите копию экрана #5 вашего
рабочего файла в экран #6 этого же файла. Для этого войдите  в
режим редактирования экрана #5, занесите копию экрана в буфер,

                             - 11 -
нажмая 15 раз клавишу <F3> до появления внизу экрана строки  с
номером  15; переключите редактор на экран #6 (<PGDN>), помес-
тите курсор в нижнюю строку экрана и, нажимая многократно кла-
вишу <F5>, занесите построчно копию экрана из буфера  в  экран
#6. Отредактируйте экран #6, изменив RGM на RGM1, 80S на 80SS,
а фрагмент AL, # 80 OR вставьте вместо строки-комментариев пе-
ред командой 10 INT.После редактирования интерпретируйте экран
#6.  Тестирование  новых словарных статей проведите при помощи
текста :

   4 RGM1 WAIT 80SS

    Цветная полосатая картина вместо черного экрана появляется
потому,  что относительно чистый экран в символьном режиме пе-
ред включением графического режима чист не по причине  наличия
нулей, а по причине наличия кодовых комбинаций "ПРОБЕЛ", кото-
рые имеют значение 20h. В видеопамяти они чередуются с байтами
атрибутов  символов. То есть, для графического режима видеопа-
мять существенно заполнена. По завершению тестирования  убеди-
тесь в сохранении содержимого видеопамяти при переключениях.

Задание #3 СОЗДАНИЕ СРЕДСТВ ДЛЯ ЗАПИСИ ТОЧЕК  НА ЭКРАНЕ

    Подготовьте словарные статьи для записи пикселей средства-
ми BIOS и для рисования обрамления рабочего поля. Тексты  сло-
варных  статей   PXWR и OBR              находятся в экране #3
файла D:FSPEC.SCR. Скопируйте экран #3 файла D:FSPEC.SCR в эк-
ран #7 вашего рабочего файла. Выполните это с помощью  команды
COPY  дополнительного  меню редактора. После этого переключите
Форт-систему на ваш рабочий файл и займитесь отладкой  и  заг-
рузкой экрана #7. Тестирование словарной статьи PXWR проведите
с помощью текста :

   DECIMAL 4 RGM 3 100 100 PXWR WAIT 80S

    Убедитесь  в  наличии белой точки с координатами (100,100)
на экране ( позиция (0,0) находится в левом верхнем углу экра-
на ). Словарная статья OBR для  рисования  обрамления  рабочей
области  использует  PXWR и требует на стеке номер цвета. Сос-
                             - 12 -
тавьте в лабораторном журнале таблицу соответствия номера цве-
та и цвета на экране, выполняя команду N OBR, задавая вместо N
числа 0,1,2,3.
    Поскольку выполнение лабораторной работы из-за ее большого
объема потребуется прерывать ( многократно ), для восстановле-
ния в словаре Форт-системы ваших наработок создайте в  рабочем
файле специальный загрузочный экран и сделайте необходимые за-
писи в нем. Пусть это будет экран #8. На момент завершения за-
дания #3 в этом экране должен быть текст :

 .( Загрузка RGM,RGM1,80S,80SS,OBR ) CR 5 LOAD 6 LOAD 7 LOAD

   При запуске Форт-системы и переходе на ваш рабочий файл, вы
можете  восстановить все ваши словарные статьи, содержащиеся в
экранах  #5,  #6,  #7 путем выполнения одной команды 8 LOAD. В
дальнейшем для подобных целей можно выделить еще несколько эк-
ранов.

Задание #4 СОЗДАНИЕ СРЕДСТВ ДЛЯ ЗАПИСИ ПИКСЕЛЕЙ  ОБРАЩЕНИЕМ  В
           ВИДЕОПАМЯТЬ

    Подготовьте словарную статью для записи пикселей путем об-
ращения  в видеопамять адаптера. Изучаемый режим видеоадаптера
имеет видеопамять целиком расположенную в адресном пространст-
ве ПЭВМ. Видеопамять объемом 16К байт расположена в ОЗУ с  ад-
реса B800h по BBFFh. При этом адреса с B800h по B9FFh отведены
для четных строк (0,2,4,6, .... - первый полукадр), а адреса с
BA00h  по  BBFFh  отведены  для нечетных строк (1,3,5,7 .... -
второй полукадр). Каждый байт видеопамяти обеспечивает отобра-
жение 4-х точек, расположенных последовательно на строке экра-
на слева направо. Два разряда,  отводимые  для  номера  цвета,
обеспечивают  установление  одного из 4-х цветов, включая цвет
фона (BACKGROUND), который не обязательно черный. Обращение  в
видеопамять с целью записи байта выведет на экран сразу 4 точ-
ки,  а обращение с целью записи 16-разрядного слова выведет на
экран 8 точек. Это при определенных обстоятельствах может  ус-
корить  вывод графической информации на экран. Операция записи
16-разрядного слова в видеопамять сводится к установке  в  ре-
гистре DS базового сегмента, в регистре BX смещения и в регис-
                             - 13 -
тре AX засылаемого в видеопамять числа, после чего выполняется
команда  пересылки.  Подготовьте  в  экране #9 вашего рабочего
файла текст словарной статьи MPXWR  ДЛЯ  ЗАПИСИ  16-РАЗРЯДНОГО
ЧИСЛА В ВИДЕОПАМЯТЬ :

HEX  CODE  MPXWR BX POP DX POP AX POP DS PUSH DS, DX MOV [BX],
 AX MOV DS POP NEXT, END-CODE DECIMAL

    Загрузите  словарную  статью  MPXWR  (9  LOAD).  Словарная
статья требует задания на стеке 16-разрядного числа для записи
в  видеопамять, базового адреса и смещения. Во избежание нару-
шения работы Форт-системы содержимое регистра DS сохраняем  на
стеке,  а  перед возвратом в Форт-систему восстанавливаем. Для
тестирования словарной статьи MPXWR попытаемся в нулевой стро-
ке в точках с 32-й по 47-ю установить малиновый цвет, а в пер-
вой строке в точках с 48-й по 63-ю - белый. Подготовьте в  эк-
ране #10 тестовый текст :

HEX 4 RGM AAAA B800 4 MPXWR FFFF BA00 6 MPXWR  WAIT 80S DECIMAL

и исполните тест командой DECIMAL 10 LOAD. После удачного тес-
тирования  убедитесь,  что к такому же результату приводит ис-
полнение словарной статьи !L  вместо  MPXWR.  То-есть  в  ядре
Форт-системы  имеется  словарная статья !L того же назначения,
что и созданная нами словарная статья MPXWR. Проведите  подоб-
ное  тестирование,  но  используйте вместо словарной статьи !L
словарную статью C!L и по виду изображения на экране  сделайте
заключение  о ее назначении.Создайте в экране #10 еще одну ко-
пию тестовой строки и измените в ней адреса B800 и BA00, доба-
вив число 4 к каждому, и замените MPXWR на  C!L.  После  этого
вновь интерпретируйте экран #10.

Задание #5 ФОРМИРОВАНИЕ ИЗОБРАЖЕНИЯ ОБРАЩЕНИЕМ В ВИДЕОПАМЯТЬ

    Скопируйте экран #4 файла D:FSPEC.SCR в экран  #11  вашего
рабочего  файла, затем итерпретируйте этот экран. Текст экрана
обеспечивает построение символа "A" на точечной  матрице  8x8.
Фон  белый, символ черный. Обратитесь для редактирования к эк-
рану #11 вашего файла и внесите  изменения,  которые  позволят
                             - 14 -
построить  символ  "A" на голубом фоне. В лабораторном журнале
поместите ваше заключение о том, как в ОЗУ расположены старший
и младший байты 16-разрядного числа.

Задание #6 УСТАНОВКА ЦВЕТА ФОНА И ПАЛИТРЫ

    Подготовьте в экране #12 вашего рабочего  файла  словарные
статьи для установки цвета фона и палитры. Такая команда перед
прерыванием  должна  иметь в регистре AH число 0Bh (код опера-
ции), в регистре BH - номер палитры, в  регистре  BL  -  номер
цвета фона. Текст словарной статьи FONPAL подготовьте в экране
#12 и загрузите экран.

HEX CODE FONPAL AH, # B MOV BX POP
10 INT NEXT, END-CODE DECIMAL

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

HEX
4 RGM1 WAIT 100 FONPAL WAIT 101 FONPAL  005  FONPAL  WAIT  80S
DECIMAL

    В  тексте производится переключение с палитры 1 на палитру
2  и обратно, и изменяется цвет фона. В трехразрядных шестнад-
цатиричных числах, предшествующих FONPAL,  единица  в  старшем
разряде обеспечивает установку палитры, номер которой указыва-
ется  в  младшем  разряде; нуль в старшем разряде обеспечивает
установку цвета фона,номер цвета фона указывается  в  маладшем
разряде. Переключите Форт-систему на файл D:FSPEC.SCR, и проч-
тите  текст (5 LIST), а затем запустите на исполнение демонст-
рационную программу интерпретацией экрана #5 (5 LOAD).
    Переключите Форт-систему на ваш рабочий  файл  и  создайте
загрузочный  экран #13 в вашем рабочем файле с текстом 12 LOAD
5 LOAD-USING D:FSPEC.SCR для запуска эксперимента по  закраске
экрана.

Задание #7 ОТОБРАЖЕНИЕ ФУНКЦИЙ ДВУХ ПЕРЕМЕННЫХ
                             - 15 -

    В  предлагаемой  демонстрационной  программе  производится
закраска всего рабочего поля. Номер цвета пикселя  вычисляется
в  зависимости от значений координат X и Y. То есть, программа
отображает при помощи цвета значения функции двух  переменных.
Выражения для вычисления номера цвета выводятся на экран перед
показом картины. В одном из выражений допущена ошибка и карти-
на  не соответствует выражению. Определите, какое из выражений
ошибочно. Запуск демонстрационной программы осуществляется при
помощи команды :

6 LOAD-USING D:FSPEC.SCR 7 LOAD-USING D:FSPEC.SCR

    Ознакомьтесь с содержимым экранов 6 и 7 файла  D:FSPEC.SCR
и определите причину появления звуковых сигналов.

4. ИЗУЧЕНИЕ РЕЖИМА  #0Dh ВИДЕОАДАПТЕРА EGA

Это  графический режим 320x200 точек, 16 цветов. Имеется 8 ви-
деостраниц.

Задание #8 ИЗУЧЕНИЕ ТАБЛИЦЫ ЦВЕТОВ ПИКСЕЛЕЙ

    Переключите Форт-систему на ваш рабочий файл, модифицируй-
те программу для вычерчивания обрамления рабочей  области  для
применения  в  режиме #0Dh. Для этого переключите Форт-систему
на ваш рабочий файл и скопируйте экран #7 в экран #14. Удалите
текст определения PXWR ( установите курсор  на  первую  строку
определения  и нажмите комбинацию клавиш <CTRL>+<PGUP> необхо-
димое число раз. Измените имя статьи на OBR1, а вместо  4  RGM
внесите  13  RGM  . Затем интерпретируйте экран #14 (14 LOAD).
Пользуясь словарной статьей OBR1, исполняя команду N OBR1, где
N = 0,1,2,3,...15 составьте таблицу соответствия номера  цвета
и цвета для изучаемого режима.

Задание #9 ОТОБРАЖЕНИЕ ФУНКЦИЙ ДВУХ ПЕРЕМЕННЫХ ПРИ 16 ЦВЕТАХ

    Предлагаемая демонстрационная программа подобна программе,
используемой  в задании #7, но допускающей установление цветов
                             - 16 -
пикселей в диапазоне 0...15. Во  время  наблюдения  определите
выражение, не соответствующее отображению функции. Запуск про-
изводится строкой :

8 LOAD-USING D:FSPEC.SCR  9 LOAD-USING D:FSPEC.SCR


Задание #10 СОЗДАНИЕ СРЕДСТВ ДЛЯ ИЗОБРАЖЕНИЯ ОКРУЖНОСТИ

    Загрузите в Форт-систему словарную статью OKR для построе-
ния  окружности  методом  оценочной  функции.  Текст словарной
статьи OKR находится в экране #11 файла D:FSPEC и  может  быть
загружен при помощи текста

DECIMAL 11 LOAD-USING  D:FSPEC.SCR

    Словарная статья OKR требует на стеке номер цвета, X,Y-ко-
ординаты  центра  и  радиус окружности. Тестирование словарной
статьи OKR проведите при помощи текста :

DECIMAL 13 RGM 5 100 100 80 OKR WAIT 80S

    Окружность выглядит, как эллипс, поскольку на  экране  шаг
дискретизации по горизонтали и по вертикали неодинаков. Иссле-
дуйте,  как  выглядит  изображение, если окружность выходит за
границы рабочей области. Выводы запишите в  лабораторный  жур-
нал.  Устранить искажение окружности во всех графических режи-
мах можно, уменьшив вертикальную координату умножением на 5/6.
Введите в действие коррекции в программе OKR. Для этого скопи-
руйте экран #11 файла D:FSPEC.SCR в  15  экран  рабочего  фай-
ла,измените  имя словарной статьи OKR на OKR1 и уберите скобки
в строках , которые превращали соответствующие фрагменты прог-
раммы в комментарии. Загрузите экран #15 и проведите  тестиро-
вание OKR1 совместно с OKR, задав разные цвета окружностям.

Задание #11 СОЗДАНИЕ СРЕДСТВ ДЛЯ ИЗОБРАЖЕНИЯ КРУГА

    Подготовьте  словарную  статью  для рисования кругов путем
изображения ряда концентрических окружностей с нарастающим ра-
                             - 17 -
диусом. Для этого в экране #16 вашего  рабочего  файла  подго-
товьте текст :

( Круг, на стеке C XC YC RMAX RMIN ->   )
DECIMAL
: LKJ DO 2 PICK 2 PICK 2 PICK I OKR I 10 / FONPAL I 8 / 80 *
50 BEEP LOOP DROP ;
: LKJ3 DO 2 PICK 2 PICK 2 PICK I OKR1 LOOP DROP ;

    Интерпретируйте экран #16, после чего выполните тест :

DECIMAL
13 RGM 5 160 100 80 10 LKJ WAIT 8 160 100 80 10 LKJ3 WAIT 80S

    Обратите  внимание  на изменение фона и палитры в процессе
построения круга, а также на звуковое сопровождение  процесса.
Выполните  эту  же  строку без фрагмента 13 RGM,то есть,в сим-
вольном режиме.Вы можете наблюдать последствия ошибки,когда не
установлен графический режим, а программа графических построе-
ний выполнена. Загрузите словарную статью LKJ1, которая позво-
ляет рисовать круги, но путем перебора точек прямоугольной об-
ласти и заданием цвета точек по истинности  предиката  принад-
лежности точки кругу. Текст словарной статьи находится в экра-
не #12 файла D:FSPEC.SCR и может быть загружен при помощи тек-
ста:

DECIMAL 12  LOAD-USING  D:FSPEC.SCR

    Проведите  тестирование  словарной  статьи LKJ1 для тех же
условий, что и LKJ, и сравните скорости рисования круга.

Задание #12 ДЕМОНСТРАЦИЯ ПОСТРОЕНИЯ КРУГОВ

    Переключите Форт-систему на файл D:FSPEC.SCR и интерпрети-
руйте экран #13, где содержится демонстрационная  программа  с
использованием  словарной статьи LKJ. Создайте загрузочный эк-
ран #17 для восстановления наработок с текстом

8 LOAD DECIMAL 12 LOAD  DECIMAL 11 LOAD-USING D:FSPEC.SCR
  DECIMAL 15 LOAD     DECIMAL
      16 LOAD DECIMAL 12 LOAD-USING D:FSPEC.SCR CR
.( ЗАГРУЗКА RGM OBR 80S RGM1 80SS PXWR OKR,OKR1,LKJ,LKJ3,LKJ )
CR .( ЗАВЕРШЕНА)
Задание  #13 СОЗДАНИЕ СРЕДСТВА ДЛЯ ЗАПИСИ ПИКСЕЛЕЙ С МОДИФИКА-
            ЦИЕЙ ЦВЕТА

    Подготовьте словарную статью с именем PXWR1 , но  отличаю-
щуюся от ранее созданной тем, что при ее исполнении происходит
не запись номера цвета в видеопамять, а модификация того номе-
ра цвета,что был в памяти, путем поразрядного суммирования ко-
да  цвета  с  числом со стека. Переключите Форт-систему на ваш
рабочий файл, копируйте текст экрана #7 в экран #18 и редакти-
руйте экран #18 . Цель редактирования - убрать полностью текст
словарной статьи OBR, изменить имя PXWR на PXWR1 и внести  до-
полнение  в текст словарной статьи PXWR1. Дополнение состоит в
помещении перед командой прерывания 10 INT фрагмента AL, #  80
OR  . Этой командой старший разряд регистра AL устанавливается
в единицу, что обеспечивает иной режим  обращения  в  видеопа-
мять. При редактировании сдвиг строк вниз производится нажати-
ем  <Ctrl>+<PgDn>.  После редактирования интерпретируйте экран
#18 и тестируйте словарную статью PXWR1. Поскольку текст теста
длинный, поместите его в экран #19 :

DECIMAL : LN 40 0 DO 14 I 130 + 100 PXWR1 LOOP ; ( ЖЕЛТАЯ ЛИНИЯ)
 : LN1 40 0 DO 12 I 110 + 100 PXWR1 LOOP ; ( СВЕТЛО-КРАСНАЯ ЛИН)
 13 RGM LN WAIT LN1 WAIT LN1 WAIT 80S FORGET LN ( НА ЖЕЛТУЮ ЧА-)
СТИЧНО НАЛОЖЕНА СВЕТЛОКРАСНАЯ ЛИНИЯ )
    После пуска теста ( 19  LOAD  )  необходимо  убедиться,что
двукратное  обращение к одному и тому же пикселу с одним и тем
же номером цвета восстанавливает первоначальный номер цвета
( восстановится после второго  нажатия клавиши ).

Задание #14 ДЕМОНСТРАЦИЯ ПОСТРОЕНИЯ КРУГОВ С МОДИФИКАЦИЕЙ ЦВЕТА

    Выполните  пуск демонстрационной программы, которая рисует
круги с помощью словарной статьи LKJ2 и LKJ4 с  использованием
PXWR1  .  Интерпретируйте экраны #14,#15,#16 файла D:FSPEC.SCR
при помощи текста

14 LOAD-USING D:FSPEC.SCR 15 LOAD-USING D:FSPEC.SCR
                             - 19 -
16 LOAD-USING D:FSPEC.SCR

Задание #15 СОЗДАНИЕ СРЕДСТВ ЗАПИСИ  ИЗОБРАЖЕНИЙ  В  РАЗЛИЧНЫЕ
            СТРАНИЦЫ ВИДЕОПАМЯТИ И ДЛЯ ПЕРЕКЛЮЧЕНИЯ АКТИВНОЙ
            ( НАБЛЮДАЕМОЙ ) СТРАНИЦЫ

    Подготовьте словарную статью для записи пикселей в различ-
ные  страницы  видеопамяти, а также словарную статью для уста-
новки активной (наблюдаемой) страницы видеопамяти. Текст ново-
го варианта словарной статьи PXWR с именем PXWR2  находится  в
экране  #17 файла D:FSPEC.SCR.Копируйте этот экран в экран #20
вашего рабочего файла. Переключите Форт-систему на ваш рабочий
файл и дополните текст экрана #20 текстом словарной статьи для
придания странице статуса активной

HEX CODE SPG AX POP AH, # 5 MOV 10 INT NEXT, END-CODE DECIMAL

и  текстом словарной статьи для последовательной установки но-
меров активных страниц (листания) :

: 8STR 8 0 DO I SPG WAIT LOOP ;

    Интерпретируйте экран #20. Добавьте  в  загрузочный  экран
#17 текст

DECIMAL 18 LOAD DECIMAL 20 LOAD CR .( Загружены PXWR1 SPG 8STR)

    Поскольку убедительное раздельное тестирование  полученных
словарных  статей организовать сложно проведем совместное тес-
тирование.Подготовим картины  для  помещения  их  в  отдельные
страницы видеопамяти.

Задание #16 ЗАПОЛНЕНИЕ СТРАНИЦ ИЗОБРАЖЕНИЯМИ

    Подготовьте  словарные  статьи  для  заполнения  отдельных
страниц видеопамяти.Для этого переключите Форт-систему на файл
D:FSPEC.SCR и интерпретируйте экран #18.

                             - 20 -



Задание #17 ДЕМОНСТРАЦИЯ ЛИСТАНИЯ СТРАНИЦ ВИДЕОПАМЯТИ

    Подготовьте программу для демонстрации  листания  страниц,
словарные статьи для которой загружены при  выполнении заданий
#15  и  #16. Для этого переключите Форт-систему на ваш рабочий
файл и установите для редактирования  экран  #21.  Подготовьте
текст :

DECIMAL  3G : LLL 40 15 0 LKJ1 ; 13 RGM1 POLE 1 30 LLL POLE4 2
60 LLL POLE5 3 90 LLL POLE6 4 120 LLL POLE7 5 150 LLL POLE8  6
180  LLL POLE9 7 210 LLL SIREN 8 240 LLL 8STR 9 270 LLL WAIT 2
80S  DECIMAL

    Поскольку запись восьми страниц идет долго,ожидание  скра-
шивается  исполнением в фоновом режиме музыкального произведе-
ния ( 3G ).  Подготовка  каждой  страницы  отмечается  выводом
кружка  на  экран.  Последняя строка обеспечит звуковой сигнал
окончания записи и включит программу листания страниц. Нажатие
любой символьной клавиши будет переводить страницу.По  оконча-
нии - выход в символьный режим. Интерпретируйте экран #21. Для
двукратного  перелистывания  поместите в экране #21 перед пос-
ледним WAIT еще раз 8STR.

   Контрольные вопросы.
4.1. Как реагирует подпрограмма записи пикселя в BIOS на выход
     координат за границы рабочей области ?
4.2. Как обрабатываются коды номеров  цвета  при  обращении  к
     прерываниям BIOS с целью наложения,а не замещения цвета ?
4.3. Что означает термин "страницы видеопамяти" ?
4.4. Какие действия возможны в отношении страниц видеопамяти ?


 5. ИЗУЧЕНИЕ РЕЖИМА #10h ВИДЕОАДАПТЕРА  EGA.

    Это графический режим 640х350 точек,16 цветов, 2 страницы.
Как  и  в предыдущих изученных режимах, в этом режиме возможна
операция установки режима с очисткой и без очистки  видеопамя-
ти,запись  пикселей  с заданием или с модификацией номера цве-
та,изменение цвета фона, изменение отдельных цветовых оттенков
палитры. Ранее изучены все упомянутые операции за  исключением
                             - 21 -
последней.  Для  изучения режима # 10h организуем просмотр из-
вестных демонстрационных программ.В заключение,пользуясь  воз-
можностью  изменения  содержимого отдельных регистров палитры,
организуем просмотр всех 64 цветовых оттенков,возможных в  мо-
ниторе ECD с видеоадаптером EGA.

Задание #18 ОТОБРАЖЕНИЕ ФУНКЦИЙ ДВУХ ПЕРЕМЕННЫХ В РЕЖИМЕ #10h

    Посмотрите выполнение демонстрационной программы с отобра-
жением функций двух переменных.Для этого интерпретируйте экран
#28 и #29 файла D:FSPEC.SCR. Оцените степень замедления вывода
изображения из-за повышения числа точек и эффект от повышенной
разрешающей способности режима.

Задание #19 ПОСТРОЕНИЕ КРУГОВ В РЕЖИМЕ 16  ( С  LKJ1 )

    Посмотрите выполнение демонстрационной программы с отобра-
жением  кругов.  Для  этого  интерпретируйте  экран  #30 файла
D:FSPEC.SCR. Оцените степень повышения качества изображения.

Задание #20 ПОСТРОЕНИЕ КРУГОВ С НАЛОЖЕНИЕМ В РЕЖИМЕ #10h

    Посмотрите выполнение демонстрационной программы с отобра-
жением кругов с модификацией цвета пикселей при наложении. Для
этого интерпретируйте экран #31 файла D:FSPEC.SCR.

Задание #21 ОТОБРАЖЕНИЕ ЦВЕТОВ ДЕЙСТВУЮЩЕЙ ПАЛИТРЫ

    Подготовьте словарную статью для отображения 16 разноцвет-
ных кругов с цветами исходной палитры (Таблица #4). Для  этого
переключите  Форт-систему на ваш рабочий файл и установите для
редактирования экран #22. Подготовьте текст  словарной  статьи
NZAP :

DECIMAL
: NZAP 16 0 DO I I 8 MOD 80 * 40 +
100 I 8 / 100 * + 13 2 PICK 2 PICK
40 OKR 39 1 LKJ1 LOOP ;
                             - 22 -
    Интерпретируйте экран #22 и проведите тестирование словар-
ной статьи NZAP при помощи текста :

HEX 10 RGM NZAP WAIT 80S

Задание  #22  СОЗДАНИЕ СРЕДСТВ ДЛЯ УСТАНОВКИ КОДОВ ЦВЕТА В РЕ-
            ГИСТРЫ ПАЛИТРЫ ( ИЗМЕНЕНИЕ ПАЛИТРЫ )

    Подготовьте в экране #22 также текст словарной статьи USTC
для установки новых кодов цвета в регистры палитры :

HEX CODE USTC BX POP AX, # 1000 MOV 10 INT NEXT, END-CODE
DECIMAL

    Словарная статья USTC требует на стеке  16-разрядное  чис-
ло,в котором младший байт содержит номер регистра палитры ( он
же  номер цвета для пользователя 0 - 15 ), старший байт содер-
жит код цвета, определяющий набор цветовых  составляющих  сог-
ласно Таблицам #3 и #4. Интерпретируйте экран #22.
   Проведите тестирование словарной статьи USTC, изменив зеле-
ный  цвет  стандартной  палитры  (  код 000010B = 02H ) на яр-
ко-красный ( код 100100B = 24H отсутствует в  стандартной  па-
литре ). Для этого исполните текст :

HEX 10 RGM NZAP WAIT 2402 USTC WAIT 80S DECIMAL

    После  нажатия  ENTER  будут выведены изображения кругов с
цветами стандартной  палитры.После  нажатия  любой  символьной
клавиши  зеленый цвет второго слева в верхнем ряду круга будет
изменен на ярко-красный.

Задание #23 СОЗДАНИЕ СРЕДСТВ ДЛЯ НАБЛЮДЕНИЯ ВСЕХ ЦВЕТОВ МОНИТОРА

    Подготовьте в составе экрана #23  текст  словарной  статьи
для  перебора  всех  64  цветов  монитора  ( PNC ) и словарной
статьи ( OBR2 ) для вычерчивания обрамления экрана в этом  ре-
жиме :

DECIMAL : PNC 64 0 DO I 16 MOD I 256 * + USTC WAIT LOOP ;
: OBR2 640 0 DO DUP I 0 PXWR LOOP 350 0 DO DUP 639 I PXWR LOOP

                             - 23 -




                                               Таблица 3
 ____________________________________________________________
!        !                                                   !
! N бита !                                                   !
! кода   !  7     6      5      4      3      2     1     0  !
! цвета  !                                                   !
!________!___________________________________________________!
!        !                                                   !
! Цвето- !                                                   !
! вая    !                                                   !
! состав-!  X     X     R/2    G/2    B/2     R     G     B  !
! ляющая !                                                   !
!________!___________________________________________________!


                                               Таблица 4
 ____________________________________________________________
!            !                    !                          !
! N регистра !                    !                          !
! палитры или!                    !      К о д   ц в е т а   !
! N цвета    !        Цвет        !                          !
! пользовате-!                    !                          !
! ля         !                    !       7 6 5 4 3 2 1 0    !
!____________!____________________!__________________________!
!                                                            !
!      0       Черный                     X X 0 0 0 0 0 0    !
!      1       Синий                      X X 0 0 0 0 0 1    !
!      2       Зеленый                    X X 0 0 0 0 1 0    !
!      3       Голубой                    X X 0 0 0 0 1 1    !
!      4       Красный                    X X 0 0 0 1 0 0    !
!      5       Пурпурный                  X X 0 0 0 1 0 1    !
!      6       Коричневый                 X X 0 1 0 1 0 0    !
!      7       Белый                      X X 0 0 0 1 1 1    !
!      8       Темно-серый                X X 1 1 1 0 0 0    !
!      9       Светло-синий               X X 1 1 1 0 0 1    !
!     10       Светло-зеленый             X X 1 1 1 0 1 0    !
!     11       Светло-голубой             X X 1 1 1 0 1 1    !
!     12       Светло-красный             X X 1 1 1 1 0 0    !
!     13       Светло-пурпурный           X X 1 1 1 1 0 1    !
!     14       Желтый                     X X 1 1 1 1 1 0    !
!     15       Ярко-белый                 X X 1 1 1 1 1 1    !
!                                                            !
!                              X - состояние безразлично     !
!____________________________________________________________!
                             - 24 -
       640 0 DO DUP I 349 PXWR LOOP 350 0 DO DUP 0 I PXWR LOOP
       DROP ;

    Интерпретируйте  экран  #23.  Проверьте  выполнение статьи
OBR2 при помощи текста: DECIMAL 16 RGM 10 OBR2 WAIT 80S

Задание #24 НАБЛЮДЕНИЕ ВСЕХ ЦВЕТОВ МОНИТОРА

    Подготовьте пусковой экран #24 для просмотра  всех  цветов
монитора. Текст экрана :

DECIMAL 16 RGM 13 OBR2 NZAP PNC WAIT 80S DECIMAL

    Интерпретируйте  экран  #24.  Нажимая  на любую символьную
клавишу, посмотрите все возможные цветовые оттенки монитора  с
видеоадаптером  EGA.Обратите внимание на изменение цвета рамки
одновременно с цветом, заданным в регистре #13 палитры.  Прос-
ледите  за соответствием цветов их кодам по таблице #3. Подго-
товьте загрузочный текст для словарных статей последних экспе-
риментов в экране
#25 рабочего файла:   22 LOAD 23 LOAD

 5.1. КОНТРОЛЬНЫЕ ВОПРОСЫ.
5.1.1. Как производится изменение отдельных цветов палитры ?
5.1.2. Каков способ кодирования цветовых оттенков в видеоадап-
       тере EGA и как это связано с линиями интерфейса с мони-
       тором ?
5.1.3. Сколько циклов обращения к подпрограммам записи  пиксе-
       лей  требуется  для  полной замены изображения в режиме
       10H видеоадаптера EGA ?

 <<  К О Н Е Ц   М Е Т О Д И Ч Е С К И Х  У К А З А Н И Й  >>
