Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых
[Назад] [Содеожание] [Дальше]

Программирование видеоадаптеров CGA, EGA и VGA

© Александр Фролов, Григорий Фролов
Том 3, М.: Диалог-МИФИ, 1992, 287 стр.

Приложения

  • Таблицы ASCII-кодов символов
  • Руссификация видеоадаптеров
  • Установка переключателей на плате EGA.
  • Режимы работы видеоадаптеров.
  • Карта памяти CGA/EGA/VGA
  • Карты портов ввода/вывода видеоадаптера CGA
  • Регистры контроллера ЭЛТ Motorola 6845.
  • Карты портов ввода/вывода видеоадаптеров EGA и VGA для монохромного и цветного режимов
  • Регистры контроллера ЭЛТ EGA/VGA8
  • Регистры синхронизатора EGA/VGA8
  • Регистры графического контроллера EGA/VGA
  • Регистры контроллера атрибутов EGA/VGA
  • Регистры цифро-аналогового преобразователя VGA
  • Включаемый файл "SYSP.H"
  • Включаемый файл "SYSGRAPH.H"
  • Включаемый файл "VGA_NEW.H"
  • Словарь терминов
  • В приложения к книге вынесены наиболее полезные таблицы: таблица ASCII-кодов символов; карта памяти, используемой видеоадаптерами CGA/EGA/VGA; значения регистров, устанавливаемые BIOS по умолчанию, список стандартных режимов видеоадаптеров с их основными параметрами. Приложение содержит также словарь терминов (глоссарий).

    Таблицы ASCII-кодов символов

    В ПЗУ персональных компьютеров семейства IBM PC\XT\AT расположены образы символов, отображаемых на дисплее в текстовых и графических режимах. В большинстве случаев эти символы соответствуют стандартной расширенной кодовой таблице ASCII символов.

    Первые 128 символов представляют собой стандартный набор ASCII-символов, а последние 128 символов являются расширением. На следующем рисунке приведена стандартная расширенная кодовая таблица ASCII символов.

    Стандартная расширенная кодовая таблица ASCII символов (номер 437)

    Как видно в этой таблице полностью отсутствуют символы кириллицы. В настоящее время существуют несколько вариантов кодировки русских букв (кириллицы) для операционной системы MS-DOS - основная, альтернативная, минская и т.д. Они отличаются, в основном, расположением русских букв и символов псевдографики. Однако наибольшее распространение получила альтернативная таблица кодировки, особенно после того, как в 1989 году эта таблица была принята IBM в качестве стандартной для Советского Союза. Локализованная версия MS-DOS 4.01 содержит соответствующую кодовую страницу:

    Альтернативная русская кодовая таблица ASCII символов (номер 866)

    Руссификация видеоадаптеров

    Как правило видеоадаптеры поддерживают стандартную расширенную таблицу ASCII символов. Эта таблица не содержит образов символов кириллицы, и ваш компьютер не может отображать их на экране. Однако в некоторых случаях стандартную таблицу символов можно перекодировать, заменив образы некоторых символов на образы символов кириллицы. В этом приложении мы рассмотрим вопрос "руссификации" видеоадаптеров CGA, EGA и VGA.

    У видеоадаптера CGA таблицы знакогенератора, определяющие символы, которые можно отобразить на экране диспля в текстовых режимах находятся в ПЗУ, которое расположено вне адресного пространства процессора. Программы не имеют возможности изменить или даже считать информацию из этих таблиц. По-этому для "руссификации" текстовых режимов видеоадаптера CGA необходимо перепрограммировать ПЗУ знакогенератора. Единственной возможностью отобразить на CGA русские буквы не перепрограммируя ПЗУ являются графические режимы работы адаптера. В графических режимах вы можете сами определить образы символов с ASCII кодами от 128 до 255. Образы символов с ASCII кодами от 0 до 127 изменить не перепрограммируя ПЗУ нельзя.

    Как же самим определить образы символов с кодами 128 - 255? Для этого надо составить таблицу шрифтов в которой описаны образы символов с кодами 128 - 255. Для CGA, размеры символов которого равны 8х8 пикселов описание образа каждого символа состоит из восьми байт. Первый байт описывает первую линию символа, второй - вторую и так далее. При этом когда биты байта равны единице, соответствующие пикселы на линии символа будут отображаться светлыми пикселами. Остальные пикселы будут темными.

    Ниже приведе пример определения образа символа 'А':

       пикселы образа    байты описания
    
                         00h
               Ё Ё Ё     0Eh
             Ё     Ё     12h
           Ё       Ё     22h
           Ё Ё Ё Ё Ё     3Eh
           Ё       Ё     22h
           Ё       Ё     22h
           Ё       Ё     22h
    

    В этом примере образ символа 'А' определяется байтами 00h, 0Eh, 12h, 22h, 3Eh, 22h, 22h, 22h.

    После составления таблицы шрифтов надо записать адрес этой таблицы в векторе прерывания 1Fh. После этого можно выводить определенные вами символы на экран.

    Для видеоадаптеров EGA и VGA задача руссификации облегчается, так как вы имеете доступ к таблицам шрифтов и можете изменять их.

    При установке текстовых режимов работы видеоадаптеров EGA и VGA, BIOS загружает таблицы знакогенератора из ПЗУ во второй цветовой слой видеопамяти. Впоследствии эти таблицы используются при отображении символов на экране.

    Благодаря этому, можно легко заменить стандартную таблицу знакогенератора своей собственной. BIOS EGA и VGA содержит специальную функцию прерывания 10h, которая управляет загрузкой шрифтов. Это функция номер 11h.

    Таблица шрифтов для текстовых режимов видеоадаптеров EGA и VGA имеет тот же формат что и таблица шрифтов графических режимов для CGA за исключением того, что образ каждого символа задается не восемью байтами, а четырнадцатью для EGA и шестнадцатью для VGA.

    В графических режимах вы можете полностью заменить образы всех символов, а не только имеющих ASCII коды от 128 до 255. В этом случае вместо вектора 1Fh на вашу таблицу должен указывать вектор 43h.

    Теперь мы приведем небольшую резидентную программу для "руссификации" видеоадаптеров.

    Эта программа активизируется при изменении прикладной программой режима работы видеоадаптера и при загрузке шрифтов из ПЗУ. В этих случаях перед возвратом в прикладную программу она заново загружает свои таблицы шрифтов.

    После запуска этой программы вы можете отображать символы кириллицы как в графических, так и в текстовых режимах.

    Итак текст программы:

    ; font_drv.asm
    
    ; Драйвер видеоадаптера, позволяет отображать на экране 
    ; русские символы.
    
    TITLE   RUS_DRV
    
    .MODEL  tiny
    
    DOSSEG
    
    ; устанавливаем стек 256 байт
    .STACK  100h
    
    ; сегмент кода
    .CODE
    
    ; производим инициализацию сегментных регистров
    .STARTUP
    
       jmp     start
    
    ; файл cga_font.inc содержит описание шрифта 8х8 пикселов
       include cga_font.inc
    
    ; файл ega_font.inc содержит описание шрифта 8х14 пикселов
          include ega_font.inc
    
    ; файл vga_font.inc содержит описание шрифта 8х16 пикселов
          include vga_font.inc
    
    
       ; информация о программе, отображается на экране при
       ; ее запуске
    
       hello_msg  DB  254, "  Драйвер русских букв.", 13, 10
                  DB  254, "  Copyright (C) Фролов Г.В., 1992"
                  DB  13, 10, "$"
    
       ; в следующие две переменные будет записан старый
       ; вектор прерывания 10h
          off_int_10h   DW    ?
          seg_int_10h   DW    ?
    
          not_clr       DB  ?
    
       ; начало программы
       start:
    
       ; получаем и сохраняем старый вектор прерывания 10h
    
          mov     ax,3510h
          int     21h
          mov     off_int_10h,bx
          mov     seg_int_10h,es
    
       ; устанавливаем новый обработчик прерывания 10h
    
          mov     dx,OFFSET int_10h
          mov     ax,2510h
          int     21h
    
       ; устанавливаем режим 3 видеоадаптера
       ; при этом сразу загружаются новые шрифты
    
          mov     ax,3
          int     10h
    
       ; выводим сообщение о программе
    
          mov     ah, 9h
          mov     dx, OFFSET hello_msg
          int     21h
    
       ; завершаем программу, при этом оставляем ее
       ; резидентной в памяти
    
          mov     ax,3100h
          mov     dx,OFFSET resident
          shr     dx,1
          shr     dx,1
          shr     dx,1
          shr     dx,1
          inc     dx
          int     21h
    
    ;---------------------------------------------------------
    ;   новый обработчик прерывания INT 10h
    ;---------------------------------------------------------
    
       int_10h:
    
    ; проверяем, вызвана ли функция установки режима адаптера
    
          or      ah,ah
          jz      set_mode  ; да
          jmp     char_gen  ; нет
    
       set_mode:
    
    ; когда вызвана функция установки режима адаптера, то
    ; записываем в переменную not_clr 0h, если при установке
    ; нового режима надо очистить видеопамять и 80h в
    ; противном случае
    
          mov     cs:not_clr,0
          test    al,80h
          jz      test_mode
    
          mov     cs:not_clr,80h
    
    ; сбрасываем бит D8, его содержимое находится в not_clr
          and     al,7Fh
    
       test_mode:
    
    ; затем сохраняем значения регистров процессора
    
          push    ax
          push    bx
          push    dx
          push    bp
          push    es
          push    ds
    
          push    cs
          pop     ds
    
    ; далее смотрим какой режим надо установить
    
       ; текстовые режимы 0 - 3
          cmp     al,3
          jbe     text_0_3
    
       ; текстовый режим 7
          cmp     al,7
          je      text_7
    
       ; графические режимы 4 - 0Eh
          cmp     al,0Eh
          jbe     graph_Eh
    
       ; графический режим 13h
          cmp     al,13h
          je      graph_13h
    
       ; графические режимы 0Eh - 10h
          cmp     al,10h
          jbe     graph_10h
    
       ; графические режимы 11h и 12h
          cmp     al,12h
          jbe     graph_12h
    
       ; если режим нестандартный, передаем управление BIOS
       ; для его установки и не загружаем свой шрифт
    
          jmp     old_int_10h
    
       ; текстовые режимы 0, 1, 2, 3, 7
    
       text_0_3:
       text_7:
    
       ; восстанавливаем регистр ax
          or      al,cs:not_clr
    
       ; вызываем старый обработчик прерывания 10h
       ; для установки нового режима
    
          pushf
          call    DWORD PTR cs:off_int_10h
    
    ; получаем в bx высоту символов текста в пикселах
    ; для установленного выше режима
    
    ; высота символов записывается BIOS при выборе нового режима
    ; в переменную по адресу 0000:0485
    
          xor     dx,dx
          mov     es,dx
          mov     bx,es:[485h]
    
       ; в соответствии с полученной нами высотой символа
       ; выбираем шрифт 8х8, 8х14 или 8х16 пикселов
    
          cmp     bx,8         ; высота символов 8 пикселов
          jne     line_14
    
       ; загружаем в регистр bp смещение таблицы шрифтов 8х8,
       ; таблица шрифтов 8х8 пикселов определена в файле
       ; cga_font.inc
    
          mov     bp,OFFSET fon8_ascii0
          jmp     set_text_font
    
       line_14:
    
          cmp     bx,14        ; высота символов 14 пикселов
          jne     line_16
    
       ; загружаем в регистр bp смещение таблицы шрифтов 8х14,
       ; таблица шрифтов 8х14 пикселов определена в файле
       ; ega_font.inc
    
          mov     bp,OFFSET fon14_ascii0
          jmp     set_text_font
    
       line_16:
    
          cmp     bx,16
    
       ; если полученная высота символов не равна 8, 14 и 16
       ; завершаем обработку
    
          jne     exit_int_10h
    
       ; высота символов 16 пикселов
    
          mov     bp,OFFSET fon16_ascii0
    
       set_text_font:
    
       ; загружаем наш шрифт в память
    
          mov     ax,1100h
    
          push    cs
          pop     es
    
          xchg    bl,bh
    
          mov     cx,256
    
       old_int_10h:
    
       ; вызываем старый обработчик прерывания 10h
    
          pushf
          call    DWORD PTR cs:off_int_10h
    
       exit_int_10h:
    
       ; восстанавливаем содержимое регистров процессора
    
          pop     ds
          pop     es
          pop     bp
          pop     dx
          pop     bx
          pop     ax
    
       ; завершаем обработку прерывания, возвращаем
       ; управление вызывающей программе
    
          iret
    
       ; вызывющая программа устанавливает графические режимы
       ; 4, 5, 6, 0Dh, 0Eh
    
       graph_Eh:
       graph_13h:
    
       ; вызываем старый обработчик прерывания 10h
       ; для установки нового режима
    
          pushf
          call    DWORD PTR cs:off_int_10h
    
       ; подготавливаем регистры для выбора шрифта 8х8
    
          mov     dx,OFFSET fon8_ascii0
          mov     bp,OFFSET fon8_ascii128
          jmp     set_gr_font
    
       ; вызывющая программа устанавливает графические режимы
       ; 0Fh, 10h
    
       graph_10h:
    
       ; вызываем старый обработчик прерывания 10h
       ; для установки нового режима
    
          pushf
          call    DWORD PTR cs:off_int_10h
    
       ; подготавливаем регистры для выбора шрифта 8х8
    
          mov     dx,OFFSET fon14_ascii0
          mov     bp,OFFSET fon14_ascii128
          jmp     set_gr_font
    
       ; вызывющая программа устанавливает графические режимы
       ; 11Dh, 12h
    
       graph_12h:
    
       ; вызываем старый обработчик прерывания 10h
       ; для установки нового режима
    
          pushf
          call    DWORD PTR cs:off_int_10h
    
       ; подготавливаем регистры для выбора шрифта 8х8
    
          mov     dx,OFFSET fon16_ascii0
          mov     bp,OFFSET fon16_ascii128
    
       set_gr_font:
    
       ; устанавливаем наши графические шрифты,
       ; изменяя векторы прерываний 1Fh и 43h
    
          mov     ax,2543h
          int     21h
    
          mov     dx,bp
    
          mov     ax,251Fh
          int     21h
    
       ; завершаем обработку прерывания
          jmp     exit_int_10h
    
    
       ; если вызывающая программа вызвала не функцию
       ; установки режима, проверяем вызвана ли функция выбора
       ; нового шрифта
    
       char_gen:
    
          cmp     ah,11h
          je      gen_func
    
       ; если нет, передаем управление старому обработчику
    
       go_int_10h:
    
          pushf
          call    DWORD PTR cs:off_int_10h
          iret
    
    
       gen_func:
    
       ; если вызывается функция установки нового шрифта, то
       ; смотрим какая вызывается подфункция
    
       ; вызывается подфункция загрузки шрифта 8х8 из BIOS
          cmp     al,1
          je      text_rom_8_14
    
       ; вызывается подфункция загрузки шрифта 8х8 из BIOS
       ; с переустановкой контроллера ЭЛТ
          cmp     al,11h
          je      text_rom_8_14
    
       ; вызывается подфункция загрузки шрифта 8х14 из BIOS
          cmp     al,2
          je      text_rom_8_8
    
       ; вызывается подфункция загрузки шрифта 8х14 из BIOS
       ; с переустановкой контроллера ЭЛТ
          cmp     al,12h
          je      text_rom_8_8
    
       ; вызывается подфункция загрузки шрифта 8х16 из BIOS
          cmp     al,4
          je      text_rom_8_16
    
       ; вызывается подфункция загрузки шрифта 8х16 из BIOS
       ; с переустановкой контроллера ЭЛТ
          cmp     al,14h
          je      text_rom_8_16
    
       ; если вызывается другая подфункция, то передаем
       ; управление старому обработчику прерываний
    
          jmp     go_int_10h
    
       text_rom_8_8:
    
       ; выбираем шрифт 8х8 пикселов
    
          mov     bp,OFFSET fon8_ascii0
          mov     bh,8
          jmp     set_our_text_font
    
       text_rom_8_14:
    
       ; выбираем шрифт 8х14 пикселов
    
          mov     bp,OFFSET fon14_ascii0
          mov     bh,14
          jmp     set_our_text_font
    
       text_rom_8_16:
    
       ; выбираем шрифт 8х16 пикселов
    
          mov     bp,OFFSET fon16_ascii0
          mov     bh,16
    
       set_our_text_font:
    
       ; устанавливаем свой шрифт
    
          and     al,0f0h
          push    cs
          pop     es
    
          mov     cx,256
          xor     dx,dx
    
       ; вызываем старый обработчик прерывания 10h
    
          pushf
          call    DWORD PTR cs:off_int_10h
          iret
    
       resident:
    
          END
    

    Теперь мы приведем таблицы шрифтов с описаниями образов символов, имеющих размер 8х8, 8х14 и 8х16 пикселов. Эти таблицы содержат описания русских символов согласно cтандартной расширенной кодовой таблице ASCII символов номер 437. Символы с ASCII-кодами от 248 до 255 не соответствуют этой таблице.

    ; файл cga_font.inc
    
    ; таблица шрифтов 8х8 пикселов, содержащая русские символы
    
    ; каждый символ определяет восемь байтов
    
    fon8_ascii0     DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon8_ascii1     DB   07Eh,081h,0A5h,081h,0BDh,099h,081h,07Eh
    fon8_ascii2     DB   07Eh,0FFh,0DBh,0FFh,0C3h,0E7h,0FFh,07Eh
    fon8_ascii3     DB   06Ch,0FEh,0FEh,0FEh,07Ch,038h,010h,000h
    fon8_ascii4     DB   010h,038h,07Ch,0FEh,07Ch,038h,010h,000h
    fon8_ascii5     DB   038h,07Ch,038h,0FEh,0FEh,07Ch,038h,07Ch
    fon8_ascii6     DB   010h,010h,038h,07Ch,0FEh,07Ch,038h,07Ch
    fon8_ascii7     DB   000h,000h,018h,03Ch,03Ch,018h,000h,000h
    fon8_ascii8     DB   0FFh,0FFh,0E7h,0C3h,0C3h,0E7h,0FFh,0FFh
    fon8_ascii9     DB   000h,03Ch,066h,042h,042h,066h,03Ch,000h
    fon8_ascii10    DB   0FFh,0C3h,099h,0BDh,0BDh,099h,0C3h,0FFh
    fon8_ascii11    DB   00Fh,007h,00Fh,07Dh,0CCh,0CCh,0CCh,078h
    fon8_ascii12    DB   03Ch,066h,066h,066h,03Ch,018h,07Eh,018h
    fon8_ascii13    DB   03Fh,033h,03Fh,030h,030h,070h,0F0h,0E0h
    fon8_ascii14    DB   07Fh,063h,07Fh,063h,063h,067h,0E6h,0C0h
    fon8_ascii15    DB   099h,05Ah,03Ch,0E7h,0E7h,03Ch,05Ah,099h
    fon8_ascii16    DB   080h,0E0h,0F8h,0FEh,0F8h,0E0h,080h,000h
    fon8_ascii17    DB   002h,00Eh,03Eh,0FEh,03Eh,00Eh,002h,000h
    fon8_ascii18    DB   018h,03Ch,07Eh,018h,018h,07Eh,03Ch,018h
    fon8_ascii19    DB   066h,066h,066h,066h,066h,000h,066h,000h
    fon8_ascii20    DB   07Fh,0DBh,0DBh,07Bh,01Bh,01Bh,01Bh,000h
    fon8_ascii21    DB   03Eh,063h,038h,06Ch,06Ch,038h,0CCh,078h
    fon8_ascii22    DB   000h,000h,000h,000h,07Eh,07Eh,07Eh,000h
    fon8_ascii23    DB   018h,03Ch,07Eh,018h,07Eh,03Ch,018h,0FFh
    fon8_ascii24    DB   018h,03Ch,07Eh,018h,018h,018h,018h,000h
    fon8_ascii25    DB   018h,018h,018h,018h,07Eh,03Ch,018h,000h
    fon8_ascii26    DB   000h,018h,00Ch,0FEh,00Ch,018h,000h,000h
    fon8_ascii27    DB   000h,030h,060h,0FEh,060h,030h,000h,000h
    fon8_ascii28    DB   000h,000h,0C0h,0C0h,0C0h,0FEh,000h,000h
    fon8_ascii29    DB   000h,024h,066h,0FFh,066h,024h,000h,000h
    fon8_ascii30    DB   000h,018h,03Ch,07Eh,0FFh,0FFh,000h,000h
    fon8_ascii31    DB   000h,0FFh,0FFh,07Eh,03Ch,018h,000h,000h
    fon8_ascii32    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon8_ascii33    DB   030h,078h,078h,030h,030h,000h,030h,000h
    fon8_ascii34    DB   06Ch,06Ch,06Ch,000h,000h,000h,000h,000h
    fon8_ascii35    DB   06Ch,06Ch,0FEh,06Ch,0FEh,06Ch,06Ch,000h
    fon8_ascii36    DB   030h,07Ch,0C0h,078h,00Ch,0F8h,030h,000h
    fon8_ascii37    DB   000h,0C6h,0CCh,018h,030h,066h,0C6h,000h
    fon8_ascii38    DB   038h,06Ch,038h,076h,0DCh,0CCh,076h,000h
    fon8_ascii39    DB   060h,060h,0C0h,000h,000h,000h,000h,000h
    fon8_ascii40    DB   018h,030h,060h,060h,060h,030h,018h,000h
    fon8_ascii41    DB   060h,030h,018h,018h,018h,030h,060h,000h
    fon8_ascii42    DB   000h,066h,03Ch,0FFh,03Ch,066h,000h,000h
    fon8_ascii43    DB   000h,030h,030h,0FCh,030h,030h,000h,000h
    fon8_ascii44    DB   000h,000h,000h,000h,000h,030h,030h,060h
    fon8_ascii45    DB   000h,000h,000h,0FCh,000h,000h,000h,000h
    fon8_ascii46    DB   000h,000h,000h,000h,000h,030h,030h,000h
    fon8_ascii47    DB   006h,00Ch,018h,030h,060h,0C0h,080h,000h
    fon8_ascii48    DB   07Ch,0C6h,0CEh,0DEh,0F6h,0E6h,07Ch,000h
    fon8_ascii49    DB   030h,070h,030h,030h,030h,030h,0FCh,000h
    fon8_ascii50    DB   078h,0CCh,00Ch,038h,060h,0CCh,0FCh,000h
    fon8_ascii51    DB   078h,0CCh,00Ch,038h,00Ch,0CCh,078h,000h
    fon8_ascii52    DB   01Ch,03Ch,06Ch,0CCh,0FEh,00Ch,01Eh,000h
    fon8_ascii53    DB   0FCh,0C0h,0F8h,00Ch,00Ch,0CCh,078h,000h
    fon8_ascii54    DB   038h,060h,0C0h,0F8h,0CCh,0CCh,078h,000h
    fon8_ascii55    DB   0FCh,0CCh,00Ch,018h,030h,030h,030h,000h
    fon8_ascii56    DB   078h,0CCh,0CCh,078h,0CCh,0CCh,078h,000h
    fon8_ascii57    DB   078h,0CCh,0CCh,07Ch,00Ch,018h,070h,000h
    fon8_ascii58    DB   000h,030h,030h,000h,000h,030h,030h,000h
    fon8_ascii59    DB   000h,030h,030h,000h,000h,030h,030h,060h
    fon8_ascii60    DB   018h,030h,060h,0C0h,060h,030h,018h,000h
    fon8_ascii61    DB   000h,000h,0FCh,000h,000h,0FCh,000h,000h
    fon8_ascii62    DB   060h,030h,018h,00Ch,018h,030h,060h,000h
    fon8_ascii63    DB   078h,0CCh,00Ch,018h,030h,000h,030h,000h
    fon8_ascii64    DB   07Ch,0C6h,0DEh,0DEh,0DEh,0C0h,078h,000h
    fon8_ascii65    DB   030h,078h,0CCh,0CCh,0FCh,0CCh,0CCh,000h
    fon8_ascii66    DB   0FCh,066h,066h,07Ch,066h,066h,0FCh,000h
    fon8_ascii67    DB   03Ch,066h,0C0h,0C0h,0C0h,066h,03Ch,000h
    fon8_ascii68    DB   0F8h,06Ch,066h,066h,066h,06Ch,0F8h,000h
    fon8_ascii69    DB   0FEh,062h,068h,078h,068h,062h,0FEh,000h
    fon8_ascii70    DB   0FEh,062h,068h,078h,068h,060h,0F0h,000h
    fon8_ascii71    DB   03Ch,066h,0C0h,0C0h,0CEh,066h,03Eh,000h
    fon8_ascii72    DB   0CCh,0CCh,0CCh,0FCh,0CCh,0CCh,0CCh,000h
    fon8_ascii73    DB   078h,030h,030h,030h,030h,030h,078h,000h
    fon8_ascii74    DB   01Eh,00Ch,00Ch,00Ch,0CCh,0CCh,078h,000h
    fon8_ascii75    DB   0E6h,066h,06Ch,078h,06Ch,066h,0E6h,000h
    fon8_ascii76    DB   0F0h,060h,060h,060h,062h,066h,0FEh,000h
    fon8_ascii77    DB   0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,000h
    fon8_ascii78    DB   0C6h,0E6h,0F6h,0DEh,0CEh,0C6h,0C6h,000h
    fon8_ascii79    DB   038h,06Ch,0C6h,0C6h,0C6h,06Ch,038h,000h
    fon8_ascii80    DB   0FCh,066h,066h,07Ch,060h,060h,0F0h,000h
    fon8_ascii81    DB   078h,0CCh,0CCh,0CCh,0DCh,078h,01Ch,000h
    fon8_ascii82    DB   0FCh,066h,066h,07Ch,06Ch,066h,0E6h,000h
    fon8_ascii83    DB   078h,0CCh,0E0h,070h,01Ch,0CCh,078h,000h
    fon8_ascii84    DB   0FCh,0B4h,030h,030h,030h,030h,078h,000h
    fon8_ascii85    DB   0CCh,0CCh,0CCh,0CCh,0CCh,0CCh,0FCh,000h
    fon8_ascii86    DB   0CCh,0CCh,0CCh,0CCh,0CCh,078h,030h,000h
    fon8_ascii87    DB   0C6h,0C6h,0C6h,0D6h,0FEh,0EEh,0C6h,000h
    fon8_ascii88    DB   0C6h,044h,06Ch,038h,038h,06Ch,0C6h,000h
    fon8_ascii89    DB   0CCh,0CCh,0CCh,078h,030h,030h,078h,000h
    fon8_ascii90    DB   0FEh,0C6h,08Ch,018h,032h,066h,0FEh,000h
    fon8_ascii91    DB   078h,060h,060h,060h,060h,060h,078h,000h
    fon8_ascii92    DB   0C0h,060h,030h,018h,00Ch,006h,002h,000h
    fon8_ascii93    DB   078h,018h,018h,018h,018h,018h,078h,000h
    fon8_ascii94    DB   010h,038h,06Ch,0C6h,000h,000h,000h,000h
    fon8_ascii95    DB   000h,000h,000h,000h,000h,000h,000h,0FFh
    fon8_ascii96    DB   030h,030h,018h,000h,000h,000h,000h,000h
    fon8_ascii97    DB   000h,000h,078h,00Ch,07Ch,0CCh,07Ch,000h
    fon8_ascii98    DB   060h,060h,060h,07Ch,066h,066h,07Ch,000h
    fon8_ascii99    DB   000h,000h,078h,0CCh,0C0h,0CCh,078h,000h
    fon8_ascii100   DB   00Ch,00Ch,00Ch,07Ch,0CCh,0CCh,07Ch,000h
    fon8_ascii101   DB   000h,000h,078h,0CCh,0FCh,0C0h,078h,000h
    fon8_ascii102   DB   038h,06Ch,060h,0F0h,060h,060h,0F0h,000h
    fon8_ascii103   DB   000h,000h,07Ch,0CCh,0CCh,07Ch,00Ch,0F8h
    fon8_ascii104   DB   060h,060h,07Ch,066h,066h,066h,066h,000h
    fon8_ascii105   DB   030h,000h,070h,030h,030h,030h,078h,000h
    fon8_ascii106   DB   00Ch,000h,00Ch,00Ch,00Ch,00Ch,06Ch,038h
    fon8_ascii107   DB   060h,060h,066h,06Ch,078h,06Ch,066h,000h
    fon8_ascii108   DB   070h,030h,030h,030h,030h,030h,078h,000h
    fon8_ascii109   DB   000h,000h,0CCh,0FEh,0FEh,0D6h,0C6h,000h
    fon8_ascii110   DB   000h,000h,0F8h,0CCh,0CCh,0CCh,0CCh,000h
    fon8_ascii111   DB   000h,000h,078h,0CCh,0CCh,0CCh,078h,000h
    fon8_ascii112   DB   000h,000h,07Ch,066h,066h,07Ch,060h,060h
    fon8_ascii113   DB   000h,000h,07Ch,0CCh,0CCh,07Ch,00Ch,00Ch
    fon8_ascii114   DB   000h,000h,0DCh,076h,066h,060h,0F0h,000h
    fon8_ascii115   DB   000h,000h,07Ch,0C0h,078h,00Ch,0F8h,000h
    fon8_ascii116   DB   010h,030h,07Ch,030h,030h,034h,018h,000h
    fon8_ascii117   DB   000h,000h,0CCh,0CCh,0CCh,0CCh,07Ch,000h
    fon8_ascii118   DB   000h,000h,0CCh,0CCh,0CCh,078h,030h,000h
    fon8_ascii119   DB   000h,000h,0C6h,0D6h,0FEh,0FEh,06Ch,000h
    fon8_ascii120   DB   000h,000h,0C6h,06Ch,038h,06Ch,0C6h,000h
    fon8_ascii121   DB   000h,000h,0CCh,0CCh,0CCh,07Ch,00Ch,0F8h
    fon8_ascii122   DB   000h,000h,0FCh,098h,030h,064h,0FCh,000h
    fon8_ascii123   DB   01Ch,030h,030h,0E0h,030h,030h,01Ch,000h
    fon8_ascii124   DB   018h,018h,018h,000h,018h,018h,018h,000h
    fon8_ascii125   DB   0E0h,030h,030h,01Ch,030h,030h,0E0h,000h
    fon8_ascii126   DB   076h,0DCh,000h,000h,000h,000h,000h,000h
    fon8_ascii127   DB   000h,010h,038h,06Ch,0C6h,0C6h,0FEh,000h
    fon8_ascii128   DB   01Eh,036h,066h,066h,07Eh,066h,066h,000h
    fon8_ascii129   DB   07Ch,060h,060h,07Ch,066h,066h,07Ch,000h
    fon8_ascii130   DB   07Ch,066h,066h,07Ch,066h,066h,07Ch,000h
    fon8_ascii131   DB   07Eh,060h,060h,060h,060h,060h,060h,000h
    fon8_ascii132   DB   038h,06Ch,06Ch,06Ch,06Ch,06Ch,0FEh,0C6h
    fon8_ascii133   DB   07Eh,060h,060h,07Ch,060h,060h,07Eh,000h
    fon8_ascii134   DB   0DBh,0DBh,07Eh,03Ch,07Eh,0DBh,0DBh,000h
    fon8_ascii135   DB   03Ch,066h,006h,01Ch,006h,066h,03Ch,000h
    fon8_ascii136   DB   066h,066h,06Eh,07Eh,076h,066h,066h,000h
    fon8_ascii137   DB   03Ch,066h,06Eh,07Eh,076h,066h,066h,000h
    fon8_ascii138   DB   066h,06Ch,078h,070h,078h,06Ch,066h,000h
    fon8_ascii139   DB   01Eh,036h,066h,066h,066h,066h,066h,000h
    fon8_ascii140   DB   0C6h,0EEh,0FEh,0FEh,0D6h,0C6h,0C6h,000h
    fon8_ascii141   DB   066h,066h,066h,07Eh,066h,066h,066h,000h
    fon8_ascii142   DB   03Ch,066h,066h,066h,066h,066h,03Ch,000h
    fon8_ascii143   DB   07Eh,066h,066h,066h,066h,066h,066h,000h
    fon8_ascii144   DB   07Ch,066h,066h,066h,07Ch,060h,060h,000h
    fon8_ascii145   DB   03Ch,066h,060h,060h,060h,066h,03Ch,000h
    fon8_ascii146   DB   07Eh,018h,018h,018h,018h,018h,018h,000h
    fon8_ascii147   DB   066h,066h,066h,03Eh,006h,066h,03Ch,000h
    fon8_ascii148   DB   07Eh,0DBh,0DBh,0DBh,07Eh,018h,018h,000h
    fon8_ascii149   DB   066h,066h,03Ch,018h,03Ch,066h,066h,000h
    fon8_ascii150   DB   066h,066h,066h,066h,066h,066h,07Fh,003h
    fon8_ascii151   DB   066h,066h,066h,03Eh,006h,006h,006h,000h
    fon8_ascii152   DB   0DBh,0DBh,0DBh,0DBh,0DBh,0DBh,0FFh,000h
    fon8_ascii153   DB   0DBh,0DBh,0DBh,0DBh,0DBh,0DBh,0FFh,003h
    fon8_ascii154   DB   0E0h,060h,060h,07Ch,066h,066h,07Ch,000h
    fon8_ascii155   DB   0C6h,0C6h,0C6h,0F6h,0DEh,0DEh,0F6h,000h
    fon8_ascii156   DB   060h,060h,060h,07Ch,066h,066h,07Ch,000h
    fon8_ascii157   DB   078h,08Ch,006h,03Eh,006h,08Ch,078h,000h
    fon8_ascii158   DB   0CEh,0DBh,0DBh,0FBh,0DBh,0DBh,0CEh,000h
    fon8_ascii159   DB   03Eh,066h,066h,066h,03Eh,036h,066h,000h
    fon8_ascii160   DB   000h,000h,078h,00Ch,07Ch,0CCh,076h,000h
    fon8_ascii161   DB   000h,03Ch,060h,03Ch,066h,066h,03Ch,000h
    fon8_ascii162   DB   000h,000h,07Ch,066h,07Ch,066h,07Ch,000h
    fon8_ascii163   DB   000h,000h,07Eh,060h,060h,060h,060h,000h
    fon8_ascii164   DB   000h,000h,03Ch,06Ch,06Ch,06Ch,0FEh,0C6h
    fon8_ascii165   DB   000h,000h,03Ch,066h,07Eh,060h,03Ch,000h
    fon8_ascii166   DB   000h,000h,0DBh,07Eh,03Ch,07Eh,0DBh,000h
    fon8_ascii167   DB   000h,000h,03Ch,066h,00Ch,066h,03Ch,000h
    fon8_ascii168   DB   000h,000h,066h,06Eh,07Eh,076h,066h,000h
    fon8_ascii169   DB   000h,018h,066h,06Eh,07Eh,076h,066h,000h
    fon8_ascii170   DB   000h,000h,066h,06Ch,078h,06Ch,066h,000h
    fon8_ascii171   DB   000h,000h,01Eh,036h,066h,066h,066h,000h
    fon8_ascii172   DB   000h,000h,0C6h,0FEh,0FEh,0D6h,0C6h,000h
    fon8_ascii173   DB   000h,000h,066h,066h,07Eh,066h,066h,000h
    fon8_ascii174   DB   000h,000h,03Ch,066h,066h,066h,03Ch,000h
    fon8_ascii175   DB   000h,000h,07Eh,066h,066h,066h,066h,000h
    fon8_ascii176   DB   011h,044h,011h,044h,011h,044h,011h,044h
    fon8_ascii177   DB   055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh
    fon8_ascii178   DB   0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h
    fon8_ascii179   DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon8_ascii180   DB   018h,018h,018h,0F8h,018h,018h,018h,018h
    fon8_ascii181   DB   018h,0F8h,018h,0F8h,018h,018h,018h,018h
    fon8_ascii182   DB   036h,036h,036h,0F6h,036h,036h,036h,036h
    fon8_ascii183   DB   000h,000h,000h,0FEh,036h,036h,036h,036h
    fon8_ascii184   DB   000h,0F8h,018h,0F8h,018h,018h,018h,018h
    fon8_ascii185   DB   036h,0F6h,006h,0F6h,036h,036h,036h,036h
    fon8_ascii186   DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon8_ascii187   DB   000h,0FEh,006h,0F6h,036h,036h,036h,036h
    fon8_ascii188   DB   036h,0F6h,006h,0FEh,000h,000h,000h,000h
    fon8_ascii189   DB   036h,036h,036h,0FEh,000h,000h,000h,000h
    fon8_ascii190   DB   018h,0F8h,018h,0F8h,000h,000h,000h,000h
    fon8_ascii191   DB   000h,000h,000h,0F8h,018h,018h,018h,018h
    fon8_ascii192   DB   018h,018h,018h,01Fh,000h,000h,000h,000h
    fon8_ascii193   DB   018h,018h,018h,0FFh,000h,000h,000h,000h
    fon8_ascii194   DB   000h,000h,000h,0FFh,018h,018h,018h,018h
    fon8_ascii195   DB   018h,018h,018h,01Fh,018h,018h,018h,018h
    fon8_ascii196   DB   000h,000h,000h,0FFh,000h,000h,000h,000h
    fon8_ascii197   DB   018h,018h,018h,0FFh,018h,018h,018h,018h
    fon8_ascii198   DB   018h,01Fh,018h,01Fh,018h,018h,018h,018h
    fon8_ascii199   DB   036h,036h,036h,037h,036h,036h,036h,036h
    fon8_ascii200   DB   036h,037h,030h,03Fh,000h,000h,000h,000h
    fon8_ascii201   DB   000h,03Fh,030h,037h,036h,036h,036h,036h
    fon8_ascii202   DB   036h,0F7h,000h,0FFh,000h,000h,000h,000h
    fon8_ascii203   DB   000h,0FFh,000h,0F7h,036h,036h,036h,036h
    fon8_ascii204   DB   036h,037h,030h,037h,036h,036h,036h,036h
    fon8_ascii205   DB   000h,0FFh,000h,0FFh,000h,000h,000h,000h
    fon8_ascii206   DB   036h,0F7h,000h,0F7h,036h,036h,036h,036h
    fon8_ascii207   DB   018h,0FFh,000h,0FFh,000h,000h,000h,000h
    fon8_ascii208   DB   036h,036h,036h,0FFh,000h,000h,000h,000h
    fon8_ascii209   DB   000h,0FFh,000h,0FFh,018h,018h,018h,018h
    fon8_ascii210   DB   000h,000h,000h,0FFh,036h,036h,036h,036h
    fon8_ascii211   DB   036h,036h,036h,03Fh,000h,000h,000h,000h
    fon8_ascii212   DB   018h,01Fh,018h,01Fh,000h,000h,000h,000h
    fon8_ascii213   DB   000h,01Fh,018h,01Fh,018h,018h,018h,018h
    fon8_ascii214   DB   000h,000h,000h,03Fh,036h,036h,036h,036h
    fon8_ascii215   DB   036h,036h,036h,0FFh,036h,036h,036h,036h
    fon8_ascii216   DB   018h,0FFh,018h,0FFh,018h,018h,018h,018h
    fon8_ascii217   DB   018h,018h,018h,0F8h,000h,000h,000h,000h
    fon8_ascii218   DB   000h,000h,000h,01Fh,018h,018h,018h,018h
    fon8_ascii219   DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
    fon8_ascii220   DB   000h,000h,000h,0FFh,0FFh,0FFh,0FFh,0FFh
    fon8_ascii221   DB   0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h
    fon8_ascii222   DB   00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh
    fon8_ascii223   DB   0FFh,0FFh,0FFh,000h,000h,000h,000h,000h
    fon8_ascii224   DB   000h,000h,07Ch,066h,066h,07Ch,060h,000h
    fon8_ascii225   DB   000h,000h,03Ch,066h,060h,066h,03Ch,000h
    fon8_ascii226   DB   000h,000h,07Eh,018h,018h,018h,018h,000h
    fon8_ascii227   DB   000h,000h,066h,066h,03Eh,006h,03Ch,000h
    fon8_ascii228   DB   000h,000h,07Eh,0DBh,0DBh,07Eh,018h,000h
    fon8_ascii229   DB   000h,000h,066h,03Ch,018h,03Ch,066h,000h
    fon8_ascii230   DB   000h,000h,066h,066h,066h,066h,07Fh,003h
    fon8_ascii231   DB   000h,000h,066h,066h,03Eh,006h,006h,000h
    fon8_ascii232   DB   000h,000h,0DBh,0DBh,0DBh,0DBh,0FFh,000h
    fon8_ascii233   DB   000h,000h,0DBh,0DBh,0DBh,0DBh,0FFh,003h
    fon8_ascii234   DB   000h,000h,0E0h,060h,07Ch,066h,07Ch,000h
    fon8_ascii235   DB   000h,000h,0C6h,0C6h,0F6h,0DEh,0F6h,000h
    fon8_ascii236   DB   000h,000h,060h,060h,07Ch,066h,07Ch,000h
    fon8_ascii237   DB   000h,000h,07Ch,006h,03Eh,006h,07Ch,000h
    fon8_ascii238   DB   000h,000h,0CEh,0DBh,0FBh,0DBh,0CEh,000h
    fon8_ascii239   DB   000h,000h,03Eh,066h,03Eh,036h,066h,000h
    fon8_ascii240   DB   066h,000h,07Eh,060h,07Ch,060h,07Eh,000h
    fon8_ascii241   DB   024h,000h,03Ch,066h,07Eh,060h,03Ch,000h
    fon8_ascii242   DB   000h,030h,018h,00Ch,006h,00Ch,018h,030h
    fon8_ascii243   DB   000h,00Ch,018h,030h,060h,030h,018h,00Ch
    fon8_ascii244   DB   00Eh,01Bh,01Bh,018h,018h,018h,018h,018h
    fon8_ascii245   DB   018h,018h,018h,018h,018h,0D8h,0D8h,070h
    fon8_ascii246   DB   000h,018h,018h,000h,07Eh,000h,018h,018h
    fon8_ascii247   DB   000h,076h,0DCh,000h,076h,0DCh,000h,000h
    fon8_ascii248   DB   000h,038h,06Ch,06Ch,038h,000h,000h,000h
    fon8_ascii249   DB   000h,000h,000h,000h,018h,000h,000h,000h
    fon8_ascii250   DB   000h,000h,000h,038h,038h,000h,000h,000h
    fon8_ascii251   DB   0F8h,006h,073h,079h,023h,0FEh,0A0h,0A0h
    fon8_ascii252   DB   006h,008h,0CBh,06Bh,068h,05Bh,058h,08Ch
    fon8_ascii253   DB   030h,048h,010h,020h,078h,000h,000h,000h
    fon8_ascii254   DB   0FFh,081h,0BDh,0A5h,0A5h,0BDh,081h,0FFh
    fon8_ascii255   DB   000h,000h,000h,000h,000h,042h,07Eh,000h
    ; файл ega_font.inc
    
    ; таблица шрифтов 8х14 пикселов, содержащая русские символы
    
    ; каждый символ определяет четырнадцать байтов
    
    fon14_ascii0    DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii1    DB   000h,000h,07Eh,081h,0A5h,081h,081h,0BDh
                    DB   099h,081h,07Eh,000h,000h,000h
    fon14_ascii2    DB   000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0C3h
                    DB   0E7h,0FFh,07Eh,000h,000h,000h
    fon14_ascii3    DB   000h,000h,000h,06Ch,0FEh,0FEh,0FEh,0FEh
                    DB   07Ch,038h,010h,000h,000h,000h
    fon14_ascii4    DB   000h,000h,000h,010h,038h,07Ch,0FEh,07Ch
                    DB   038h,010h,000h,000h,000h,000h
    fon14_ascii5    DB   000h,000h,018h,03Ch,03Ch,0E7h,0E7h,0E7h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii6    DB   000h,000h,018h,03Ch,07Eh,0FFh,0FFh,07Eh
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii7    DB   000h,000h,000h,000h,000h,018h,03Ch,03Ch
                    DB   018h,000h,000h,000h,000h,000h
    fon14_ascii8    DB   0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h,0C3h
                    DB   0E7h,0FFh,0FFh,0FFh,0FFh,0FFh
    fon14_ascii9    DB   000h,000h,000h,000h,03Ch,066h,042h,042h
                    DB   066h,03Ch,000h,000h,000h,000h
    fon14_ascii10   DB   0FFh,0FFh,0FFh,FFh,0C3h,099h,0BDh,0BDh
                    DB   099h,0C3h,0FFh,0FFh,0FFh,0FFh
    fon14_ascii11   DB   000h,000h,01Eh,0Eh,01Ah,032h,078h,0CCh
                    DB   0CCh,0CCh,078h,000h,000h,000h
    fon14_ascii12   DB   000h,000h,03Ch,066h,066h,066h,03Ch,018h
                    DB   07Eh,018h,018h,000h,000h,000h
    fon14_ascii13   DB   000h,000h,03Fh,33h,03Fh,030h,030h,030h
                    DB   070h,0F0h,0E0h,000h,000h,000h
    fon14_ascii14   DB   000h,000h,07Fh,63h,07Fh,063h,063h,063h
                    DB   067h,0E7h,0E6h,0C0h,000h,000h
    fon14_ascii15   DB   000h,000h,018h,18h,0DBh,03Ch,0E7h,03Ch
                    DB   0DBh,018h,018h,000h,000h,000h
    fon14_ascii16   DB   000h,040h,060h,70h,078h,07Ch,07Eh,07Ch
                    DB   078h,070h,060h,040h,000h,000h
    fon14_ascii17   DB   000h,002h,006h,0Eh,01Eh,03Eh,07Eh,03Eh
                    DB   01Eh,00Eh,006h,002h,000h,000h
    fon14_ascii18   DB   000h,000h,018h,3Ch,07Eh,018h,018h,018h
                    DB   07Eh,03Ch,018h,000h,000h,000h
    fon14_ascii19   DB   000h,000h,066h,66h,066h,066h,066h,066h
                    DB   000h,066h,066h,000h,000h,000h
    fon14_ascii20   DB   000h,000h,07Fh,DBh,0DBh,0DBh,07Bh,01Bh
                    DB   01Bh,01Bh,01Bh,000h,000h,000h
    fon14_ascii21   DB   000h,07Ch,0C6h,60h,038h,06Ch,0C6h,0C6h
                    DB   06Ch,038h,00Ch,0C6h,07Ch,000h
    fon14_ascii22   DB   000h,000h,000h,00h,000h,000h,000h,0FEh
                    DB   0FEh,0FEh,0FEh,000h,000h,000h
    fon14_ascii23   DB   000h,000h,018h,3Ch,07Eh,018h,018h,07Eh
                    DB   03Ch,018h,07Eh,000h,000h,000h
    fon14_ascii24   DB   000h,000h,018h,3Ch,07Eh,018h,018h,018h
                    DB   018h,018h,018h,000h,000h,000h
    fon14_ascii25   DB   000h,000h,018h,18h,018h,018h,018h,018h
                    DB   07Eh,03Ch,018h,000h,000h,000h
    fon14_ascii26   DB   000h,000h,000h,00h,000h,018h,00Ch,0FEh
                    DB   00Ch,018h,000h,000h,000h,000h
    fon14_ascii27   DB   000h,000h,000h,00h,000h,018h,030h,07Fh
                    DB   030h,018h,000h,000h,000h,000h
    fon14_ascii28   DB   000h,000h,000h,00h,000h,000h,0C0h,0C0h
                    DB   0C0h,0FEh,000h,000h,000h,000h
    fon14_ascii29   DB   000h,000h,000h,00h,000h,028h,06Ch,0FEh
                    DB   06Ch,028h,000h,000h,000h,000h
    fon14_ascii30   DB   000h,000h,000h,00h,010h,038h,038h,07Ch
                    DB   07Ch,0FEh,0FEh,000h,000h,000h
    fon14_ascii31   DB   000h,000h,000h,00h,0FEh,0FEh,07Ch,07Ch
                    DB   038h,038h,010h,000h,000h,000h
    fon14_ascii32   DB   000h,000h,000h,00h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii33   DB   000h,000h,018h,3Ch,03Ch,018h,018h,018h
                    DB   000h,018h,018h,000h,000h,000h
    fon14_ascii34   DB   000h,000h,066h,66h,066h,024h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii35   DB   000h,000h,06Ch,6Ch,0FEh,06Ch,06Ch,06Ch
                    DB   0FEh,06Ch,06Ch,000h,000h,000h
    fon14_ascii36   DB   018h,018h,07Ch,C6h,0C2h,0C0h,07Ch,006h
                    DB   086h,0C6h,07Ch,018h,018h,000h
    fon14_ascii37   DB   000h,000h,000h,C2h,0C6h,00Ch,018h,030h
                    DB   060h,0C6h,086h,000h,000h,000h
    fon14_ascii38   DB   000h,000h,038h,6Ch,06Ch,038h,076h,0DCh
                    DB   0CCh,0CCh,076h,000h,000h,000h
    fon14_ascii39   DB   000h,000h,030h,30h,030h,060h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii40   DB   000h,000h,00Ch,18h,030h,030h,030h,030h
                    DB   030h,018h,00Ch,000h,000h,000h
    fon14_ascii41   DB   000h,000h,030h,18h,00Ch,00Ch,00Ch,00Ch
                  DB   00Ch,018h,030h,00h,000h,000h
    fon14_ascii42   DB   000h,000h,000h,00h,066h,03Ch,0FFh,03Ch
                    DB   066h,000h,000h,000h,000h,000h
    fon14_ascii43   DB   000h,000h,000h,00h,018h,018h,07Eh,018h
                    DB   018h,000h,000h,000h,000h,000h
    fon14_ascii44   DB   000h,000h,000h,00h,000h,000h,000h,000h
                    DB   018h,018h,018h,030h,000h,000h
    fon14_ascii45   DB   000h,000h,000h,00h,000h,000h,0FEh,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii46   DB   000h,000h,000h,00h,000h,000h,000h,000h
                    DB   000h,018h,018h,000h,000h,000h
    fon14_ascii47   DB   000h,000h,000h,02h,006h,00Ch,018h,030h
                    DB   060h,0C0h,080h,000h,000h,000h
    fon14_ascii48   DB   000h,000h,07Ch,C6h,0CEh,0DEh,0F6h,0E6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii49   DB   000h,000h,018h,38h,078h,018h,018h,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii50   DB   000h,000h,07Ch,C6h,0C6h,006h,01Ch,030h
                    DB   060h,0C6h,0FEh,000h,000h,000h
    fon14_ascii51   DB   000h,000h,07Ch,C6h,0C6h,006h,01Ch,006h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii52   DB   000h,000h,00Ch,1Ch,03Ch,06Ch,0CCh,0CCh
                    DB   0FEh,00Ch,00Ch,000h,000h,000h
    fon14_ascii53   DB   000h,000h,0FEh,C0h,0C0h,0FCh,006h,006h
                    DB   006h,0C6h,07Ch,000h,000h,000h
    fon14_ascii54   DB   000h,000h,07Ch,C6h,0C0h,0C0h,0FCh,0C6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii55   DB   000h,000h,0FEh,C6h,086h,004h,00Ch,018h
                    DB   018h,030h,030h,000h,000h,000h
    fon14_ascii56   DB   000h,000h,07Ch,C6h,0C6h,0C6h,07Ch,0C6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii57   DB   000h,000h,07Ch,C6h,0C6h,0C6h,07Eh,006h
                    DB   006h,0C6h,07Ch,000h,000h,000h
    fon14_ascii58   DB   000h,000h,000h,00h,000h,018h,018h,000h
                    DB   000h,018h,018h,000h,000h,000h
    fon14_ascii59   DB   000h,000h,000h,00h,000h,018h,018h,000h
                    DB   000h,018h,018h,030h,000h,000h
    fon14_ascii60   DB   000h,000h,000h,0Ch,018h,030h,060h,030h
                    DB   018h,00Ch,000h,000h,000h,000h
    fon14_ascii61   DB   000h,000h,000h,00h,000h,0FEh,000h,0FEh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii62   DB   000h,000h,000h,30h,018h,00Ch,006h,00Ch
                    DB   018h,030h,000h,000h,000h,000h
    fon14_ascii63   DB   000h,000h,07Ch,C6h,0C6h,006h,00Ch,018h
                    DB   000h,018h,018h,000h,000h,000h
    fon14_ascii64   DB   000h,000h,000h,7Ch,0C6h,0C6h,0DEh,0DEh
                    DB   0DEh,0DCh,0C0h,07Ch,000h,000h
    fon14_ascii65   DB   000h,000h,038h,6Ch,0C6h,0C6h,0FEh,0C6h
                  DB   0C6h,0C6h,0C6h,00h,000h,000h
    fon14_ascii66   DB   000h,000h,0FCh,66h,066h,066h,07Ch,066h
                    DB   066h,066h,0FCh,000h,000h,000h
    fon14_ascii67   DB   000h,000h,07Ch,C6h,0C6h,0C0h,0C0h,0C0h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii68   DB   000h,000h,0FCh,66h,066h,066h,066h,066h
                    DB   066h,066h,0FCh,000h,000h,000h
    fon14_ascii69   DB   000h,000h,0FEh,66h,062h,068h,078h,068h
                    DB   062h,066h,0FEh,000h,000h,000h
    fon14_ascii70   DB   000h,000h,0FEh,66h,062h,068h,078h,068h
                    DB   060h,060h,0F0h,000h,000h,000h
    fon14_ascii71   DB   000h,000h,07Ch,C6h,0C6h,0C0h,0C0h,0CEh
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii72   DB   000h,000h,0C6h,C6h,0C6h,0C6h,0FEh,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii73   DB   000h,000h,03Ch,18h,018h,018h,018h,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii74   DB   000h,000h,01Eh,0Ch,00Ch,00Ch,00Ch,00Ch
                    DB   0CCh,0CCh,078h,000h,000h,000h
    fon14_ascii75   DB   000h,000h,0C6h,CCh,0D8h,0F0h,0E0h,0F0h
                    DB   0D8h,0CCh,0C6h,000h,000h,000h
    fon14_ascii76   DB   000h,000h,0F0h,60h,060h,060h,060h,060h
                    DB   062h,066h,0FEh,000h,000h,000h
    fon14_ascii77   DB   000h,000h,0C6h,EEh,0FEh,0D6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii78   DB   000h,000h,0C6h,E6h,0E6h,0F6h,0DEh,0CEh
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii79   DB   000h,000h,07Ch,C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii80   DB   000h,000h,0FCh,66h,066h,066h,07Ch,060h
                    DB   060h,060h,0F0h,000h,000h,000h
    fon14_ascii81   DB   000h,000h,07Ch,C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,07Ch,006h,000h,000h
    fon14_ascii82   DB   000h,000h,0FCh,66h,066h,066h,07Ch,06Ch
                    DB   06Ch,066h,0E6h,000h,000h,000h
    fon14_ascii83   DB   000h,000h,07Ch,C6h,0C6h,060h,038h,00Ch
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii84   DB   000h,000h,07Eh,5Ah,018h,018h,018h,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii85   DB   000h,000h,0C6h,C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii86   DB   000h,000h,0C6h,C6h,0C6h,0C6h,0C6h,06Ch
                    DB   06Ch,038h,010h,000h,000h,000h
    fon14_ascii87   DB   000h,000h,0C6h,C6h,0C6h,0C6h,0C6h,0D6h
                    DB   0FEh,0EEh,0C6h,000h,000h,000h
    fon14_ascii88   DB   000h,000h,0C6h,C6h,06Ch,07Ch,038h,07Ch
                    DB   06Ch,0C6h,0C6h,000h,000h,000h
    fon14_ascii89   DB   000h,000h,066h,66h,066h,066h,03Ch,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii90   DB   000h,000h,0FEh,C6h,086h,00Ch,018h,030h
                    DB   062h,0C6h,0FEh,000h,000h,000h
    fon14_ascii91   DB   000h,000h,03Ch,30h,030h,030h,030h,030h
                    DB   030h,030h,03Ch,000h,000h,000h
    fon14_ascii92   DB   000h,000h,080h,C0h,060h,030h,018h,00Ch
                    DB   006h,002h,000h,000h,000h,000h
    fon14_ascii93   DB   000h,000h,078h,18h,018h,018h,018h,018h
                    DB   018h,018h,078h,000h,000h,000h
    fon14_ascii94   DB   000h,018h,03Ch,66h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii95   DB   000h,000h,000h,00h,000h,000h,000h,000h
                    DB   000h,000h,000h,0FFh,000h,000h
    fon14_ascii96   DB   000h,000h,018h,18h,018h,00Ch,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii97   DB   000h,000h,000h,00h,000h,07Ch,006h,07Eh
                    DB   0C6h,0C6h,07Eh,000h,000h,000h
    fon14_ascii98   DB   000h,000h,0C0h,C0h,0C0h,0FCh,0C6h,0C6h
                    DB   0C6h,0C6h,0FCh,000h,000h,000h
    fon14_ascii99   DB   000h,000h,000h,00h,000h,07Ch,0C6h,0C0h
                    DB   0C0h,0C6h,07Ch,000h,000h,000h
    fon14_ascii100  DB   000h,000h,006h,06h,006h,07Eh,0C6h,0C6h
                    DB   0C6h,0C6h,07Eh,000h,000h,000h
    fon14_ascii101  DB   000h,000h,000h,00h,000h,07Ch,0C6h,0FEh
                    DB   0C0h,0C6h,07Ch,000h,000h,000h
    fon14_ascii102  DB   000h,000h,01Ch,36h,030h,030h,078h,030h
                    DB   030h,030h,078h,000h,000h,000h
    fon14_ascii103  DB   000h,000h,000h,00h,000h,07Eh,0C6h,0C6h
                    DB   0C6h,07Eh,006h,0C6h,07Ch,000h
    fon14_ascii104  DB   000h,000h,0C0h,C0h,0C0h,0FCh,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii105  DB   000h,000h,018h,18h,000h,038h,018h,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii106  DB   000h,000h,018h,18h,000h,038h,018h,018h
                    DB   018h,018h,018h,0D8h,070h,000h
    fon14_ascii107  DB   000h,000h,0C0h,C0h,0C0h,0CCh,0D8h,0F0h
                    DB   0F8h,0CCh,0C6h,000h,000h,000h
    fon14_ascii108  DB   000h,000h,038h,18h,018h,018h,018h,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii109  DB   000h,000h,000h,00h,000h,06Ch,0FEh,0D6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii110  DB   000h,000h,000h,00h,000h,0FCh,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii111  DB   000h,000h,000h,00h,000h,07Ch,0C6h,0C6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii112  DB   000h,000h,000h,00h,000h,0FCh,0C6h,0C6h
                    DB   0C6h,0FCh,0C0h,0C0h,0C0h,000h
    fon14_ascii113  DB   000h,000h,000h,00h,000h,07Eh,0C6h,0C6h
                    DB   0C6h,07Eh,006h,006h,006h,000h
    fon14_ascii114  DB   000h,000h,000h,00h,000h,0DEh,076h,060h
                    DB   060h,060h,0F0h,000h,000h,000h
    fon14_ascii115  DB   000h,000h,000h,00h,000h,07Ch,0C6h,070h
                    DB   01Ch,0C6h,07Ch,000h,000h,000h
    fon14_ascii116  DB   000h,000h,018h,18h,018h,07Eh,018h,018h
                    DB   018h,018h,01Ch,000h,000h,000h
    fon14_ascii117  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,07Eh,000h,000h,000h
    fon14_ascii118  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0C6h
                    DB   06Ch,038h,010h,000h,000h,000h
    fon14_ascii119  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0D6h
                    DB   0FEh,0EEh,0C6h,000h,000h,000h
    fon14_ascii120  DB   000h,000h,000h,00h,000h,0C6h,06Ch,038h
                    DB   038h,06Ch,0C6h,000h,000h,000h
    fon14_ascii121  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0C6h
                    DB   06Ch,038h,030h,060h,0C0h,000h
    fon14_ascii122  DB   000h,000h,000h,00h,000h,0FEh,0CCh,018h
                    DB   030h,066h,0FEh,000h,000h,000h
    fon14_ascii123  DB   000h,000h,00Eh,18h,018h,018h,070h,018h
                    DB   018h,018h,018h,00Eh,000h,000h
    fon14_ascii124  DB   000h,000h,018h,18h,018h,018h,000h,018h
                    DB   018h,018h,018h,018h,000h,000h
    fon14_ascii125  DB   000h,000h,070h,18h,018h,018h,00Eh,018h
                    DB   018h,018h,018h,070h,000h,000h
    fon14_ascii126  DB   000h,000h,062h,9Ch,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii127  DB   000h,000h,000h,00h,000h,010h,038h,06Ch
                    DB   0C6h,0FEh,000h,000h,000h,000h
    fon14_ascii128  DB   000h,000h,01Eh,36h,066h,0C6h,0C6h,0FEh
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii129  DB   000h,000h,0FEh,62h,060h,07Ch,066h,066h
                    DB   066h,066h,0FCh,000h,000h,000h
    fon14_ascii130  DB   000h,000h,0FCh,66h,066h,066h,07Ch,066h
                    DB   066h,066h,0FCh,000h,000h,000h
    fon14_ascii131  DB   000h,000h,0FEh,62h,062h,060h,060h,060h
                    DB   060h,060h,0F0h,000h,000h,000h
    fon14_ascii132  DB   000h,000h,01Eh,36h,066h,066h,066h,066h
                    DB   066h,066h,0FFh,0C3h,081h,000h
    fon14_ascii133  DB   000h,000h,0FEh,66h,062h,068h,078h,068h
                    DB   062h,066h,0FEh,000h,000h,000h
    fon14_ascii134  DB   000h,000h,0D6h,D6h,054h,054h,07Ch,054h
                    DB   0D6h,0D6h,0D6h,000h,000h,000h
    fon14_ascii135  DB   000h,000h,07Ch,C6h,006h,006h,03Ch,006h
                    DB   006h,0C6h,07Ch,000h,000h,000h
    fon14_ascii136  DB   000h,000h,0C6h,C6h,0CEh,0DEh,0F6h,0E6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii137  DB   038h,038h,0C6h,C6h,0CEh,0DEh,0F6h,0E6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii138  DB   000h,000h,0E6h,66h,06Ch,06Ch,078h,06Ch
                    DB   06Ch,066h,0E6h,000h,000h,000h
    fon14_ascii139  DB   000h,000h,01Eh,36h,066h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii140  DB   000h,000h,0C6h,EEh,0FEh,0FEh,0D6h,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii141  DB   000h,000h,0C6h,C6h,0C6h,0C6h,0FEh,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii142  DB   000h,000h,07Ch,C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii143  DB   000h,000h,0FEh,C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii144  DB   000h,000h,0FCh,66h,066h,066h,07Ch,060h
                    DB   060h,060h,0F0h,000h,000h,000h
    fon14_ascii145  DB   000h,000h,03Ch,66h,0C2h,0C0h,0C0h,0C0h
                    DB   0C2h,066h,03Ch,000h,000h,000h
    fon14_ascii146  DB   000h,000h,07Eh,5Ah,018h,018h,018h,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii147  DB   000h,000h,0C6h,C6h,0C6h,0C6h,0C6h,07Eh
                    DB   006h,0C6h,07Ch,000h,000h,000h
    fon14_ascii148  DB   000h,03Ch,018h,7Eh,0DBh,0DBh,0DBh,0DBh
                    DB   07Eh,018h,03Ch,000h,000h,000h
    fon14_ascii149  DB   000h,000h,0C6h,C6h,06Ch,07Ch,038h,07Ch
                    DB   06Ch,0C6h,0C6h,000h,000h,000h
    fon14_ascii150  DB   000h,000h,0CCh,CCh,0CCh,0CCh,0CCh,0CCh
                    DB   0CCh,0CCh,0FEh,006h,006h,000h
    fon14_ascii151  DB   000h,000h,0C6h,C6h,0C6h,0C6h,0C6h,07Eh
                    DB   006h,006h,006h,000h,000h,000h
    fon14_ascii152  DB   000h,000h,0DBh,DBh,0DBh,0DBh,0DBh,0DBh
                    DB   0DBh,0DBh,0FFh,000h,000h,000h
    fon14_ascii153  DB   000h,000h,0DBh,DBh,0DBh,0DBh,0DBh,0DBh
                    DB   0DBh,0DBh,0FFh,003h,003h,000h
    fon14_ascii154  DB   000h,000h,0F8h,B0h,030h,03Ch,036h,036h
                    DB   036h,036h,07Ch,000h,000h,000h
    fon14_ascii155  DB   000h,000h,0C3h,C3h,0C3h,0F3h,0DBh,0DBh
                    DB   0DBh,0DBh,0F3h,000h,000h,000h
    fon14_ascii156  DB   000h,000h,0F0h,60h,060h,07Ch,066h,066h
                    DB   066h,066h,0FCh,000h,000h,000h
    fon14_ascii157  DB   000h,000h,07Ch,C6h,006h,026h,03Eh,026h
                    DB   006h,0C6h,07Ch,000h,000h,000h
    fon14_ascii158  DB   000h,000h,0CEh,DBh,0DBh,0DBh,0FBh,0DBh
                    DB   0DBh,0DBh,0CEh,000h,000h,000h
    fon14_ascii159  DB   000h,000h,03Fh,66h,066h,066h,03Eh,03Eh
                    DB   066h,066h,0E7h,000h,000h,000h
    fon14_ascii160  DB   000h,000h,000h,00h,000h,078h,00Ch,07Ch
                    DB   0CCh,0CCh,076h,000h,000h,000h
    fon14_ascii161  DB   000h,002h,006h,3Ch,060h,060h,07Ch,066h
                    DB   066h,066h,03Ch,000h,000h,000h
    fon14_ascii162  DB   000h,000h,000h,00h,000h,0FCh,066h,07Ch
                    DB   066h,066h,0FCh,000h,000h,000h
    fon14_ascii163  DB   000h,000h,000h,00h,000h,07Eh,032h,030h
                    DB   030h,030h,078h,000h,000h,000h
    fon14_ascii164  DB   000h,000h,000h,00h,000h,01Eh,036h,036h
                    DB   066h,066h,0FFh,0C3h,0C3h,000h
    fon14_ascii165  DB   000h,000h,000h,00h,000h,07Ch,0C6h,0FEh
                    DB   0C0h,0C6h,07Ch,000h,000h,000h
    fon14_ascii166  DB   000h,000h,000h,00h,000h,0D6h,0D6h,07Ch
                    DB   054h,0D6h,0D6h,000h,000h,000h
    fon14_ascii167  DB   000h,000h,000h,00h,000h,03Ch,066h,00Ch
                    DB   006h,066h,03Ch,000h,000h,000h
    fon14_ascii168  DB   000h,000h,000h,00h,000h,0C6h,0CEh,0D6h
                    DB   0E6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii169  DB   000h,000h,000h,38h,038h,0C6h,0CEh,0D6h
                    DB   0E6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii170  DB   000h,000h,000h,00h,000h,0E6h,06Ch,078h
                    DB   078h,06Ch,0E6h,000h,000h,000h
    fon14_ascii171  DB   000h,000h,000h,00h,000h,01Eh,036h,066h
                    DB   066h,066h,066h,000h,000h,000h
    fon14_ascii172  DB   000h,000h,000h,00h,000h,0C6h,0EEh,0FEh
                    DB   0D6h,0D6h,0C6h,000h,000h,000h
    fon14_ascii173  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0FEh
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii174  DB   000h,000h,000h,00h,000h,07Ch,0C6h,0C6h
                    DB   0C6h,0C6h,07Ch,000h,000h,000h
    fon14_ascii175  DB   000h,000h,000h,00h,000h,0FEh,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,000h,000h,000h
    fon14_ascii176  DB   011h,044h,011h,44h,011h,044h,011h,044h
                    DB   011h,044h,011h,044h,011h,044h
    fon14_ascii177  DB   055h,0AAh,055h,AAh,055h,0AAh,055h,0AAh
                    DB   055h,0AAh,055h,0AAh,055h,0AAh
    fon14_ascii178  DB   0DDh,077h,0DDh,77h,0DDh,077h,0DDh,077h
                    DB   0DDh,077h,0DDh,077h,0DDh,077h
    fon14_ascii179  DB   018h,018h,018h,18h,018h,018h,018h,018h
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii180  DB   018h,018h,018h,18h,018h,018h,018h,0F8h
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii181  DB   018h,018h,018h,18h,018h,0F8h,018h,0F8h
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii182  DB   036h,036h,036h,36h,036h,036h,036h,0F6h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii183  DB   000h,000h,000h,00h,000h,000h,000h,0FEh
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii184  DB   000h,000h,000h,00h,000h,0F8h,018h,0F8h
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii185  DB   036h,036h,036h,36h,036h,0F6h,006h,0F6h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii186  DB   036h,036h,036h,36h,036h,036h,036h,036h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii187  DB   000h,000h,000h,00h,000h,0FEh,006h,0F6h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii188  DB   036h,036h,036h,36h,036h,0F6h,006h,0FEh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii189  DB   036h,036h,036h,36h,036h,036h,036h,0FEh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii190  DB   018h,018h,018h,18h,018h,0F8h,018h,0F8h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii191  DB   000h,000h,000h,00h,000h,000h,000h,0F8h
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii192  DB   018h,018h,018h,18h,018h,018h,018h,01Fh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii193  DB   018h,018h,018h,18h,018h,018h,018h,0FFh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii194  DB   000h,000h,000h,00h,000h,000h,000h,0FFh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii195  DB   018h,018h,018h,18h,018h,018h,018h,01Fh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii196  DB   000h,000h,000h,00h,000h,000h,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii197  DB   018h,018h,018h,18h,018h,018h,018h,0FFh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii198  DB   018h,018h,018h,18h,018h,01Fh,018h,01Fh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii199  DB   036h,036h,036h,36h,036h,036h,036h,037h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii200  DB   036h,036h,036h,36h,036h,037h,030h,03Fh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii201  DB   000h,000h,000h,00h,000h,03Fh,030h,037h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii202  DB   036h,036h,036h,36h,036h,0F7h,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii203  DB   000h,000h,000h,00h,000h,0FFh,000h,0F7h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii204  DB   036h,036h,036h,36h,036h,037h,030h,037h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii205  DB   000h,000h,000h,00h,000h,0FFh,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii206  DB   036h,036h,036h,36h,036h,0F7h,000h,0F7h
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii207  DB   018h,018h,018h,18h,018h,0FFh,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii208  DB   036h,036h,036h,36h,036h,036h,036h,0FFh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii209  DB   000h,000h,000h,00h,000h,0FFh,000h,0FFh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii210  DB   000h,000h,000h,00h,000h,000h,000h,0FFh
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii211  DB   036h,036h,036h,36h,036h,036h,036h,03Fh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii212  DB   018h,018h,018h,18h,018h,01Fh,018h,01Fh
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii213  DB   000h,000h,000h,00h,000h,01Fh,018h,01Fh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii214  DB   000h,000h,000h,00h,000h,000h,000h,03Fh
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii215  DB   036h,036h,036h,36h,036h,036h,036h,0FFh
                    DB   036h,036h,036h,036h,036h,036h
    fon14_ascii216  DB   018h,018h,018h,18h,018h,0FFh,018h,0FFh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii217  DB   018h,018h,018h,18h,018h,018h,018h,0F8h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii218  DB   000h,000h,000h,00h,000h,000h,000h,01Fh
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii219  DB   0FFh,0FFh,0FFh,FFh,0FFh,0FFh,0FFh,0FFh
                    DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
    fon14_ascii220  DB   000h,000h,000h,00h,000h,000h,000h,0FFh
                    DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
    fon14_ascii221  DB   0F0h,0F0h,0F0h,F0h,0F0h,0F0h,0F0h,0F0h
                    DB   0F0h,0F0h,0F0h,0F0h,0F0h,0F0h
    fon14_ascii222  DB   00Fh,00Fh,00Fh,0Fh,00Fh,00Fh,00Fh,00Fh
                    DB   00Fh,00Fh,00Fh,00Fh,00Fh,00Fh
    fon14_ascii223  DB   0FFh,0FFh,0FFh,FFh,0FFh,0FFh,0FFh,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii224  DB   000h,000h,000h,00h,000h,0DCh,066h,066h
                    DB   066h,066h,07Ch,060h,0F0h,000h
    fon14_ascii225  DB   000h,000h,000h,00h,000h,07Ch,0C6h,0C0h
                    DB   0C0h,0C6h,07Ch,000h,000h,000h
    fon14_ascii226  DB   000h,000h,000h,00h,000h,07Eh,05Ah,018h
                    DB   018h,018h,03Ch,000h,000h,000h
    fon14_ascii227  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0C6h
                    DB   0C6h,07Eh,006h,0C6h,07Ch,000h
    fon14_ascii228  DB   000h,000h,000h,00h,03Ch,018h,07Eh,0DBh
                    DB   0DBh,0DBh,07Eh,018h,03Ch,000h
    fon14_ascii229  DB   000h,000h,000h,00h,000h,0C6h,06Ch,038h
                    DB   038h,06Ch,0C6h,000h,000h,000h
    fon14_ascii230  DB   000h,000h,000h,00h,000h,0CCh,0CCh,0CCh
                    DB   0CCh,0CCh,0FEh,006h,006h,000h
    fon14_ascii231  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0C6h
                    DB   07Eh,006h,006h,000h,000h,000h
    fon14_ascii232  DB   000h,000h,000h,00h,000h,0D6h,0D6h,0D6h
                    DB   0D6h,0D6h,0FEh,000h,000h,000h
    fon14_ascii233  DB   000h,000h,000h,00h,000h,0D6h,0D6h,0D6h
                    DB   0D6h,0D6h,0FEh,003h,003h,000h
    fon14_ascii234  DB   000h,000h,000h,00h,000h,0F8h,0B0h,03Eh
                    DB   033h,033h,07Eh,000h,000h,000h
    fon14_ascii235  DB   000h,000h,000h,00h,000h,0C6h,0C6h,0F6h
                    DB   0DEh,0DEh,0F6h,000h,000h,000h
    fon14_ascii236  DB   000h,000h,000h,00h,000h,0F0h,060h,07Ch
                    DB   066h,066h,0FCh,000h,000h,000h
    fon14_ascii237  DB   000h,000h,000h,00h,000h,03Ch,066h,01Eh
                    DB   006h,066h,03Ch,000h,000h,000h
    fon14_ascii238  DB   000h,000h,000h,00h,000h,0CEh,0DBh,0FBh
                    DB   0DBh,0DBh,0CEh,000h,000h,000h
    fon14_ascii239  DB   000h,000h,000h,00h,000h,07Eh,0CCh,07Ch
                    DB   06Ch,0CCh,0CEh,000h,000h,000h
    fon14_ascii240  DB   000h,000h,06Ch,00h,0FEh,062h,068h,078h
                    DB   068h,062h,0FEh,000h,000h,000h
    fon14_ascii241  DB   000h,000h,000h,6Ch,000h,07Ch,0C6h,0FEh
                    DB   0C0h,0C6h,07Ch,000h,000h,000h
    fon14_ascii242  DB   000h,000h,000h,30h,018h,00Ch,006h,00Ch
                    DB   018h,030h,000h,07Eh,000h,000h
    fon14_ascii243  DB   000h,000h,000h,0Ch,018h,030h,060h,030h
                    DB   018h,00Ch,000h,07Eh,000h,000h
    fon14_ascii244  DB   000h,000h,00Eh,1Bh,01Bh,018h,018h,018h
                    DB   018h,018h,018h,018h,018h,018h
    fon14_ascii245  DB   018h,018h,018h,18h,018h,018h,018h,018h
                    DB   0D8h,0D8h,0D8h,070h,000h,000h
    fon14_ascii246  DB   000h,000h,000h,00h,018h,018h,000h,07Eh
                    DB   000h,018h,018h,000h,000h,000h
    fon14_ascii247  DB   000h,000h,000h,00h,000h,076h,0DCh,000h
                    DB   076h,0DCh,000h,000h,000h,000h
    fon14_ascii248  DB   000h,038h,06Ch,6Ch,038h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii249  DB   000h,000h,000h,00h,000h,000h,000h,018h
                    DB   018h,000h,000h,000h,000h,000h
    fon14_ascii250  DB   000h,000h,000h,00h,000h,000h,000h,000h
                    DB   018h,000h,000h,000h,000h,000h
    fon14_ascii251  DB   000h,000h,0E0h,18h,006h,003h,0F1h,0F9h
                    DB   023h,0FEh,0A0h,0A0h,000h,000h
    fon14_ascii252  DB   000h,000h,000h,06h,008h,04Bh,04Bh,068h
                    DB   06Bh,058h,048h,088h,000h,000h
    fon14_ascii253  DB   000h,070h,0D8h,30h,060h,0C8h,0F8h,000h
                    DB   000h,000h,000h,000h,000h,000h
    fon14_ascii254  DB   000h,000h,000h,0FFh,081h,0BDh,0A5h,0A5h
                    DB   0BDh,081h,0FFh,000h,000h,000h
    fon14_ascii255  DB   000h,000h,000h,00h,000h,000h,000h,000h
                    DB   000h,042h,042h,07Eh,000h,000h
    ; файл vga_font.inc
    
    ; таблица шрифтов 8х16 пикселов, содержащая русские символы
    
    ; каждый символ определяет шестнадцать байтов
    
    fon16_ascii0    DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii1    DB   000h,000h,07Eh,081h,0A5h,081h,081h,0A5h
                    DB   099h,081h,081h,07Eh,000h,000h,000h,000h
    fon16_ascii2    DB   000h,000h,07Eh,0FFh,0DBh,0FFh,0FFh,0DBh
                    DB   0E7h,0FFh,0FFh,07Eh,000h,000h,000h,000h
    fon16_ascii3    DB   000h,000h,000h,000h,06Ch,0FEh,0FEh,0FEh
                    DB   0FEh,07Ch,038h,010h,000h,000h,000h,000h
    fon16_ascii4    DB   000h,000h,000h,000h,010h,038h,07Ch,0FEh
                    DB   07Ch,038h,010h,000h,000h,000h,000h,000h
    fon16_ascii5    DB   000h,000h,000h,018h,03Ch,03Ch,0E7h,0E7h
                    DB   0E7h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii6    DB   000h,000h,000h,018h,03Ch,07Eh,0FFh,0FFh
                    DB   07Eh,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii7    DB   000h,000h,000h,000h,000h,000h,018h,03Ch
                    DB   03Ch,018h,000h,000h,000h,000h,000h,000h
    fon16_ascii8    DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0C3h
                    DB   0C3h,0E7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
    fon16_ascii9    DB   000h,000h,000h,000h,000h,03Ch,066h,042h
                    DB   042h,066h,03Ch,000h,000h,000h,000h,000h
    fon16_ascii10   DB   0FFh,0FFh,0FFh,0FFh,0FFh,0C3h,099h,0BDh
                    DB   0BDh,099h,0C3h,0FFh,0FFh,0FFh,0FFh,0FFh
    fon16_ascii11   DB   000h,000h,01Eh,006h,00Eh,01Ah,078h,0CCh
                    DB   0CCh,0CCh,0CCh,078h,000h,000h,000h,000h
    fon16_ascii12   DB   000h,000h,03Ch,066h,066h,066h,066h,03Ch
                    DB   018h,07Eh,018h,018h,000h,000h,000h,000h
    fon16_ascii13   DB   000h,000h,03Fh,033h,03Fh,030h,030h,030h
                    DB   030h,070h,0F0h,0E0h,000h,000h,000h,000h
    fon16_ascii14   DB   000h,000h,07Fh,063h,07Fh,063h,063h,063h
                    DB   063h,067h,0E7h,0E6h,0C0h,000h,000h,000h
    fon16_ascii15   DB   000h,000h,000h,018h,018h,0DBh,03Ch,0E7h
                    DB   03Ch,0DBh,018h,018h,000h,000h,000h,000h
    fon16_ascii16   DB   000h,080h,0C0h,0E0h,0F0h,0F8h,0FEh,0F8h
                    DB   0F0h,0E0h,0C0h,080h,000h,000h,000h,000h
    fon16_ascii17   DB   000h,002h,006h,00Eh,01Eh,03Eh,0FEh,03Eh
                    DB   01Eh,00Eh,006h,002h,000h,000h,000h,000h
    fon16_ascii18   DB   000h,000h,018h,03Ch,07Eh,018h,018h,018h
                    DB   07Eh,03Ch,018h,000h,000h,000h,000h,000h
    fon16_ascii19   DB   000h,000h,066h,066h,066h,066h,066h,066h
                    DB   066h,000h,066h,066h,000h,000h,000h,000h
    fon16_ascii20   DB   000h,000h,07Fh,0DBh,0DBh,0DBh,07Bh,01Bh
                    DB   01Bh,01Bh,01Bh,01Bh,000h,000h,000h,000h
    fon16_ascii21   DB   000h,07Ch,0C6h,060h,038h,06Ch,0C6h,0C6h
                    DB   06Ch,038h,00Ch,0C6h,07Ch,000h,000h,000h
    fon16_ascii22   DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   0FEh,0FEh,0FEh,0FEh,000h,000h,000h,000h
    fon16_ascii23   DB   000h,000h,018h,03Ch,07Eh,018h,018h,018h
                    DB   07Eh,03Ch,018h,07Eh,000h,000h,000h,000h
    fon16_ascii24   DB   000h,000h,018h,03Ch,07Eh,018h,018h,018h
                    DB   018h,018h,018h,018h,000h,000h,000h,000h
    fon16_ascii25   DB   000h,000h,018h,018h,018h,018h,018h,018h
                    DB   018h,07Eh,03Ch,018h,000h,000h,000h,000h
    fon16_ascii26   DB   000h,000h,000h,000h,000h,018h,00Ch,0FEh
                    DB   00Ch,018h,000h,000h,000h,000h,000h,000h
    fon16_ascii27   DB   000h,000h,000h,000h,000h,030h,060h,0FEh
                    DB   060h,030h,000h,000h,000h,000h,000h,000h
    fon16_ascii28   DB   000h,000h,000h,000h,000h,000h,0C0h,0C0h
                    DB   0C0h,0FEh,000h,000h,000h,000h,000h,000h
    fon16_ascii29   DB   000h,000h,000h,000h,000h,028h,06Ch,0FEh
                    DB   06Ch,028h,000h,000h,000h,000h,000h,000h
    fon16_ascii30   DB   000h,000h,000h,000h,010h,038h,038h,07Ch
                    DB   07Ch,0FEh,0FEh,000h,000h,000h,000h,000h
    fon16_ascii31   DB   000h,000h,000h,000h,0FEh,0FEh,07Ch,07Ch
                    DB   038h,038h,010h,000h,000h,000h,000h,000h
    fon16_ascii32   DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii33   DB   000h,000h,018h,03Ch,03Ch,03Ch,018h,018h
                    DB   018h,000h,018h,018h,000h,000h,000h,000h
    fon16_ascii34   DB   000h,066h,066h,066h,024h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii35   DB   000h,000h,000h,06Ch,06Ch,0FEh,06Ch,06Ch
                    DB   06Ch,0FEh,06Ch,06Ch,000h,000h,000h,000h
    fon16_ascii36   DB   018h,018h,07Ch,0C6h,0C2h,0C0h,07Ch,006h
                    DB   006h,086h,0C6h,07Ch,018h,018h,000h,000h
    fon16_ascii37   DB   000h,000h,000h,000h,0C2h,0C6h,00Ch,018h
                    DB   030h,060h,0C6h,086h,000h,000h,000h,000h
    fon16_ascii38   DB   000h,000h,038h,06Ch,06Ch,038h,076h,0DCh
                    DB   0CCh,0CCh,0CCh,076h,000h,000h,000h,000h
    fon16_ascii39   DB   000h,030h,030h,030h,060h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii40   DB   000h,000h,00Ch,018h,030h,030h,030h,030h
                    DB   030h,030h,018h,00Ch,000h,000h,000h,000h
    fon16_ascii41   DB   000h,000h,030h,018h,00Ch,00Ch,00Ch,00Ch
                    DB   00Ch,00Ch,018h,030h,000h,000h,000h,000h
    fon16_ascii42   DB   000h,000h,000h,000h,000h,066h,03Ch,0FFh
                    DB   03Ch,066h,000h,000h,000h,000h,000h,000h
    fon16_ascii43   DB   000h,000h,000h,000h,000h,018h,018h,07Eh
                    DB   018h,018h,000h,000h,000h,000h,000h,000h
    fon16_ascii44   DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   000h,018h,018h,018h,030h,000h,000h,000h
    fon16_ascii45   DB   000h,000h,000h,000h,000h,000h,000h,0FEh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii46   DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   000h,000h,018h,018h,000h,000h,000h,000h
    fon16_ascii47   DB   000h,000h,000h,000h,002h,006h,00Ch,018h
                    DB   030h,060h,0C0h,080h,000h,000h,000h,000h
    fon16_ascii48   DB   000h,000h,038h,06Ch,0C6h,0C6h,0D6h,0D6h
                    DB   0C6h,0C6h,06Ch,038h,000h,000h,000h,000h
    fon16_ascii49   DB   000h,000h,018h,038h,078h,018h,018h,018h
                    DB   018h,018h,018h,07Eh,000h,000h,000h,000h
    fon16_ascii50   DB   000h,000h,07Ch,0C6h,006h,00Ch,018h,030h
                    DB   060h,0C0h,0C6h,0FEh,000h,000h,000h,000h
    fon16_ascii51   DB   000h,000h,07Ch,0C6h,006h,006h,03Ch,006h
                    DB   006h,006h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii52   DB   000h,000h,00Ch,01Ch,03Ch,06Ch,0CCh,0FEh
                    DB   00Ch,00Ch,00Ch,01Eh,000h,000h,000h,000h
    fon16_ascii53   DB   000h,000h,0FEh,0C0h,0C0h,0C0h,0FCh,006h
                    DB   006h,006h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii54   DB   000h,000h,038h,060h,0C0h,0C0h,0FCh,0C6h
                    DB   0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii55   DB   000h,000h,0FEh,0C6h,006h,006h,00Ch,018h
                    DB   030h,030h,030h,030h,000h,000h,000h,000h
    fon16_ascii56   DB   000h,000h,07Ch,0C6h,0C6h,0C6h,07Ch,0C6h
                    DB   0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii57   DB   000h,000h,07Ch,0C6h,0C6h,0C6h,07Eh,006h
                    DB   006h,006h,00Ch,078h,000h,000h,000h,000h
    fon16_ascii58   DB   000h,000h,000h,000h,018h,018h,000h,000h
                    DB   000h,018h,018h,000h,000h,000h,000h,000h
    fon16_ascii59   DB   000h,000h,000h,000h,018h,018h,000h,000h
                    DB   000h,018h,018h,030h,000h,000h,000h,000h
    fon16_ascii60   DB   000h,000h,000h,006h,00Ch,018h,030h,060h
                    DB   030h,018h,00Ch,006h,000h,000h,000h,000h
    fon16_ascii61   DB   000h,000h,000h,000h,000h,07Eh,000h,000h
                    DB   07Eh,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii62   DB   000h,000h,000h,060h,030h,018h,00Ch,006h
                    DB   00Ch,018h,030h,060h,000h,000h,000h,000h
    fon16_ascii63   DB   000h,000h,07Ch,0C6h,0C6h,00Ch,018h,018h
                    DB   018h,000h,018h,018h,000h,000h,000h,000h
    fon16_ascii64   DB   000h,000h,000h,07Ch,0C6h,0C6h,0DEh,0DEh
                    DB   0DEh,0DCh,0C0h,07Ch,000h,000h,000h,000h
    fon16_ascii65   DB   000h,000h,010h,038h,06Ch,0C6h,0C6h,0FEh
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii66   DB   000h,000h,0FCh,066h,066h,066h,07Ch,066h
                    DB   066h,066h,066h,0FCh,000h,000h,000h,000h
    fon16_ascii67   DB   000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h
                    DB   0C0h,0C2h,066h,03Ch,000h,000h,000h,000h
    fon16_ascii68   DB   000h,000h,0F8h,06Ch,066h,066h,066h,066h
                    DB   066h,066h,06Ch,0F8h,000h,000h,000h,000h
    fon16_ascii69   DB   000h,000h,0FEh,066h,062h,068h,078h,068h
                    DB   060h,062h,066h,0FEh,000h,000h,000h,000h
    fon16_ascii70   DB   000h,000h,0FEh,066h,062h,068h,078h,068h
                    DB   060h,060h,060h,0F0h,000h,000h,000h,000h
    fon16_ascii71   DB   000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0DEh
                    DB   0C6h,0C6h,066h,03Ah,000h,000h,000h,000h
    fon16_ascii72   DB   000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii73   DB   000h,000h,03Ch,018h,018h,018h,018h,018h
                    DB   018h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii74   DB   000h,000h,01Eh,00Ch,00Ch,00Ch,00Ch,00Ch
                    DB   0CCh,0CCh,0CCh,078h,000h,000h,000h,000h
    fon16_ascii75   DB   000h,000h,0E6h,066h,066h,06Ch,078h,078h
                    DB   06Ch,066h,066h,0E6h,000h,000h,000h,000h
    fon16_ascii76   DB   000h,000h,0F0h,060h,060h,060h,060h,060h
                    DB   060h,062h,066h,0FEh,000h,000h,000h,000h
    fon16_ascii77   DB   000h,000h,0C6h,0EEh,0FEh,0FEh,0D6h,0C6h
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii78   DB   000h,000h,0C6h,0E6h,0F6h,0FEh,0DEh,0CEh
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii79   DB   000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii80   DB   000h,000h,0FCh,066h,066h,066h,07Ch,060h
                    DB   060h,060h,060h,0F0h,000h,000h,000h,000h
    fon16_ascii81   DB   000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0D6h,0DEh,07Ch,00Ch,00Eh,000h,000h
    fon16_ascii82   DB   000h,000h,0FCh,066h,066h,066h,07Ch,06Ch
                    DB   066h,066h,066h,0E6h,000h,000h,000h,000h
    fon16_ascii83   DB   000h,000h,07Ch,0C6h,0C6h,060h,038h,00Ch
                    DB   006h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii84   DB   000h,000h,07Eh,07Eh,05Ah,018h,018h,018h
                    DB   018h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii85   DB   000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii86   DB   000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,06Ch,038h,010h,000h,000h,000h,000h
    fon16_ascii87   DB   000h,000h,0C6h,0C6h,0C6h,0C6h,0D6h,0D6h
                    DB   0D6h,0FEh,0EEh,06Ch,000h,000h,000h,000h
    fon16_ascii88   DB   000h,000h,0C6h,0C6h,06Ch,07Ch,038h,038h
                    DB   07Ch,06Ch,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii89   DB   000h,000h,066h,066h,066h,066h,03Ch,018h
                    DB   018h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii90   DB   000h,000h,0FEh,0C6h,086h,00Ch,018h,030h
                    DB   060h,0C2h,0C6h,0FEh,000h,000h,000h,000h
    fon16_ascii91   DB   000h,000h,03Ch,030h,030h,030h,030h,030h
                    DB   030h,030h,030h,03Ch,000h,000h,000h,000h
    fon16_ascii92   DB   000h,000h,000h,080h,0C0h,0E0h,070h,038h
                    DB   01Ch,00Eh,006h,002h,000h,000h,000h,000h
    fon16_ascii93   DB   000h,000h,03Ch,00Ch,00Ch,00Ch,00Ch,00Ch
                    DB   00Ch,00Ch,00Ch,03Ch,000h,000h,000h,000h
    fon16_ascii94   DB   010h,038h,06Ch,0C6h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii95   DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,0FFh,000h,000h
    fon16_ascii96   DB   030h,030h,018h,000h,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii97   DB   000h,000h,000h,000h,000h,078h,00Ch,07Ch
                    DB   0CCh,0CCh,0CCh,07Ch,000h,000h,000h,000h
    fon16_ascii98   DB   000h,000h,060h,060h,060h,078h,06Ch,066h
                    DB   066h,066h,066h,07Ch,000h,000h,000h,000h
    fon16_ascii99   DB   000h,000h,000h,000h,000h,07Ch,0C6h,0C0h
                    DB   0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii100  DB   000h,000h,00Ch,00Ch,00Ch,03Ch,06Ch,0CCh
                    DB   0CCh,0CCh,0CCh,07Ch,000h,000h,000h,000h
    fon16_ascii101  DB   000h,000h,000h,000h,000h,07Ch,0C6h,0FEh
                    DB   0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii102  DB   000h,000h,038h,06Ch,064h,060h,0F0h,060h
                    DB   060h,060h,060h,0F0h,000h,000h,000h,000h
    fon16_ascii103  DB   000h,000h,000h,000h,000h,07Ch,0CCh,0CCh
                    DB   0CCh,0CCh,0CCh,07Ch,00Ch,0CCh,078h,000h
    fon16_ascii104  DB   000h,000h,060h,060h,060h,07Ch,066h,066h
                    DB   066h,066h,066h,066h,000h,000h,000h,000h
    fon16_ascii105  DB   000h,000h,018h,018h,000h,038h,018h,018h
                    DB   018h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii106  DB   000h,000h,006h,006h,000h,00Eh,006h,006h
                    DB   006h,006h,006h,006h,066h,066h,03Ch,000h
    fon16_ascii107  DB   000h,000h,0E0h,060h,060h,066h,06Ch,078h
                    DB   078h,06Ch,066h,0E6h,000h,000h,000h,000h
    fon16_ascii108  DB   000h,000h,038h,018h,018h,018h,018h,018h
                    DB   018h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii109  DB   000h,000h,000h,000h,000h,0ECh,0FEh,0D6h
                    DB   0D6h,0D6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii110  DB   000h,000h,000h,000h,000h,07Ch,066h,066h
                    DB   066h,066h,066h,066h,000h,000h,000h,000h
    fon16_ascii111  DB   000h,000h,000h,000h,000h,07Ch,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii112  DB   000h,000h,000h,000h,000h,07Ch,066h,066h
                    DB   066h,066h,066h,07Ch,060h,060h,060h,000h
    fon16_ascii113  DB   000h,000h,000h,000h,000h,07Ch,0CCh,0CCh
                    DB   0CCh,0CCh,0CCh,07Ch,00Ch,00Ch,00Ch,000h
    fon16_ascii114  DB   000h,000h,000h,000h,000h,0DCh,076h,066h
                    DB   060h,060h,060h,0F0h,000h,000h,000h,000h
    fon16_ascii115  DB   000h,000h,000h,000h,000h,07Ch,0C6h,060h
                    DB   038h,00Ch,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii116  DB   000h,000h,010h,030h,030h,0FCh,030h,030h
                    DB   030h,030h,036h,01Ch,000h,000h,000h,000h
    fon16_ascii117  DB   000h,000h,000h,000h,000h,0CCh,0CCh,0CCh
                    DB   0CCh,0CCh,0CCh,07Ch,000h,000h,000h,000h
    fon16_ascii118  DB   000h,000h,000h,000h,000h,066h,066h,066h
                    DB   066h,066h,03Ch,018h,000h,000h,000h,000h
    fon16_ascii119  DB   000h,000h,000h,000h,000h,0C6h,0C6h,0D6h
                    DB   0D6h,0D6h,0FEh,06Ch,000h,000h,000h,000h
    fon16_ascii120  DB   000h,000h,000h,000h,000h,0C6h,06Ch,038h
                    DB   038h,038h,06Ch,0C6h,000h,000h,000h,000h
    fon16_ascii121  DB   000h,000h,000h,000h,000h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,07Eh,006h,0C6h,07Ch,000h
    fon16_ascii122  DB   000h,000h,000h,000h,000h,0FEh,0CCh,018h
                    DB   030h,060h,0C6h,0FEh,000h,000h,000h,000h
    fon16_ascii123  DB   000h,000h,00Eh,018h,018h,018h,070h,018h
                    DB   018h,018h,018h,00Eh,000h,000h,000h,000h
    fon16_ascii124  DB   000h,000h,018h,018h,018h,018h,000h,018h
                    DB   018h,018h,018h,018h,000h,000h,000h,000h
    fon16_ascii125  DB   000h,000h,070h,018h,018h,018h,00Eh,018h
                    DB   018h,018h,018h,070h,000h,000h,000h,000h
    fon16_ascii126  DB   000h,000h,076h,0DCh,000h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii127  DB   000h,000h,000h,000h,010h,038h,06Ch,0C6h
                    DB   0C6h,0C6h,0FEh,000h,000h,000h,000h,000h
    fon16_ascii128  DB   000h,000h,01Eh,036h,066h,0C6h,0C6h,0FEh
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii129  DB   000h,000h,0FEh,062h,062h,060h,07Ch,066h
                    DB   066h,066h,066h,0FCh,000h,000h,000h,000h
    fon16_ascii130  DB   000h,000h,0FCh,066h,066h,066h,07Ch,066h
                    DB   066h,066h,066h,0FCh,000h,000h,000h,000h
    fon16_ascii131  DB   000h,000h,0FEh,062h,062h,060h,060h,060h
                    DB   060h,060h,060h,0F0h,000h,000h,000h,000h
    fon16_ascii132  DB   000h,000h,01Eh,036h,066h,066h,066h,066h
                    DB   066h,066h,066h,0FFh,0C3h,081h,000h,000h
    fon16_ascii133  DB   000h,000h,0FEh,066h,062h,068h,078h,068h
                    DB   060h,062h,066h,0FEh,000h,000h,000h,000h
    fon16_ascii134  DB   000h,000h,0D6h,0D6h,054h,054h,07Ch,07Ch
                    DB   054h,0D6h,0D6h,0D6h,000h,000h,000h,000h
    fon16_ascii135  DB   000h,000h,07Ch,0C6h,006h,006h,03Ch,006h
                    DB   006h,006h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii136  DB   000h,000h,0C6h,0C6h,0CEh,0CEh,0D6h,0E6h
                    DB   0E6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii137  DB   038h,038h,0C6h,0C6h,0CEh,0CEh,0D6h,0E6h
                    DB   0E6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii138  DB   000h,000h,0E6h,066h,06Ch,06Ch,078h,078h
                    DB   06Ch,06Ch,066h,0E6h,000h,000h,000h,000h
    fon16_ascii139  DB   000h,000h,01Eh,036h,066h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii140  DB   000h,000h,0C6h,0EEh,0FEh,0FEh,0D6h,0C6h
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii141  DB   000h,000h,0C6h,0C6h,0C6h,0C6h,0FEh,0C6h
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii142  DB   000h,000h,07Ch,0C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii143  DB   000h,000h,0FEh,0C6h,0C6h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii144  DB   000h,000h,0FCh,066h,066h,066h,07Ch,060h
                    DB   060h,060h,060h,0F0h,000h,000h,000h,000h
    fon16_ascii145  DB   000h,000h,03Ch,066h,0C2h,0C0h,0C0h,0C0h
                    DB   0C0h,0C2h,066h,03Ch,000h,000h,000h,000h
    fon16_ascii146  DB   000h,000h,07Eh,05Ah,018h,018h,018h,018h
                    DB   018h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii147  DB   000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh
                    DB   006h,006h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii148  DB   000h,03Ch,018h,07Eh,0DBh,0DBh,0DBh,0DBh
                    DB   0DBh,07Eh,018h,03Ch,000h,000h,000h,000h
    fon16_ascii149  DB   000h,000h,0C6h,0C6h,06Ch,07Ch,038h,038h
                    DB   07Ch,06Ch,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii150  DB   000h,000h,0CCh,0CCh,0CCh,0CCh,0CCh,0CCh
                    DB   0CCh,0CCh,0CCh,0FEh,006h,006h,000h,000h
    fon16_ascii151  DB   000h,000h,0C6h,0C6h,0C6h,0C6h,0C6h,07Eh
                    DB   006h,006h,006h,006h,000h,000h,000h,000h
    fon16_ascii152  DB   000h,000h,0DBh,0DBh,0DBh,0DBh,0DBh,0DBh
                    DB   0DBh,0DBh,0DBh,0FFh,000h,000h,000h,000h
    fon16_ascii153  DB   000h,000h,0DBh,0DBh,0DBh,0DBh,0DBh,0DBh
                    DB   0DBh,0DBh,0DBh,0FFh,003h,003h,000h,000h
    fon16_ascii154  DB   000h,000h,0F8h,0B0h,030h,030h,03Eh,033h
                    DB   033h,033h,033h,07Eh,000h,000h,000h,000h
    fon16_ascii155  DB   000h,000h,0C3h,0C3h,0C3h,0C3h,0F3h,0DBh
                    DB   0DBh,0DBh,0DBh,0F3h,000h,000h,000h,000h
    fon16_ascii156  DB   000h,000h,0F0h,060h,060h,060h,07Ch,066h
                    DB   066h,066h,066h,0FCh,000h,000h,000h,000h
    fon16_ascii157  DB   000h,000h,07Ch,0C6h,006h,026h,03Eh,026h
                    DB   006h,006h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii158  DB   000h,000h,0CEh,0DBh,0DBh,0DBh,0FBh,0DBh
                    DB   0DBh,0DBh,0DBh,0CEh,000h,000h,000h,000h
    fon16_ascii159  DB   000h,000h,03Fh,066h,066h,066h,03Eh,03Eh
                    DB   066h,066h,066h,0E7h,000h,000h,000h,000h
    fon16_ascii160  DB   000h,000h,000h,000h,000h,078h,00Ch,07Ch
                    DB   0CCh,0CCh,0CCh,076h,000h,000h,000h,000h
    fon16_ascii161  DB   000h,002h,006h,03Ch,060h,060h,07Ch,066h
                    DB   066h,066h,066h,03Ch,000h,000h,000h,000h
    fon16_ascii162  DB   000h,000h,000h,000h,000h,0FCh,066h,066h
                    DB   07Ch,066h,066h,0FCh,000h,000h,000h,000h
    fon16_ascii163  DB   000h,000h,000h,000h,000h,07Eh,032h,032h
                    DB   030h,030h,030h,078h,000h,000h,000h,000h
    fon16_ascii164  DB   000h,000h,000h,000h,000h,01Eh,036h,036h
                    DB   066h,066h,066h,0FFh,0C3h,0C3h,000h,000h
    fon16_ascii165  DB   000h,000h,000h,000h,000h,07Ch,0C6h,0FEh
                    DB   0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii166  DB   000h,000h,000h,000h,000h,0D6h,0D6h,054h
                    DB   07Ch,054h,0D6h,0D6h,000h,000h,000h,000h
    fon16_ascii167  DB   000h,000h,000h,000h,000h,03Ch,066h,006h
                    DB   00Ch,006h,066h,03Ch,000h,000h,000h,000h
    fon16_ascii168  DB   000h,000h,000h,000h,000h,0C6h,0C6h,0CEh
                    DB   0D6h,0E6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii169  DB   000h,000h,000h,038h,038h,0C6h,0C6h,0CEh
                    DB   0D6h,0E6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii170  DB   000h,000h,000h,000h,000h,0E6h,06Ch,078h
                    DB   078h,06Ch,066h,0E6h,000h,000h,000h,000h
    fon16_ascii171  DB   000h,000h,000h,000h,000h,01Eh,036h,066h
                    DB   066h,066h,066h,066h,000h,000h,000h,000h
    fon16_ascii172  DB   000h,000h,000h,000h,000h,0C6h,0EEh,0FEh
                    DB   0FEh,0D6h,0D6h,0C6h,000h,000h,000h,000h
    fon16_ascii173  DB   000h,000h,000h,000h,000h,0C6h,0C6h,0C6h
                    DB   0FEh,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii174  DB   000h,000h,000h,000h,000h,07Ch,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii175  DB   000h,000h,000h,000h,000h,0FEh,0C6h,0C6h
                    DB   0C6h,0C6h,0C6h,0C6h,000h,000h,000h,000h
    fon16_ascii176  DB   011h,044h,011h,044h,011h,044h,011h,044h
                    DB   011h,044h,011h,044h,011h,044h,011h,044h
    fon16_ascii177  DB   055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh
                    DB   055h,0AAh,055h,0AAh,055h,0AAh,055h,0AAh
    fon16_ascii178  DB   0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h
                    DB   0DDh,077h,0DDh,077h,0DDh,077h,0DDh,077h
    fon16_ascii179  DB   018h,018h,018h,018h,018h,018h,018h,018h
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii180  DB   018h,018h,018h,018h,018h,018h,018h,0F8h
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii181  DB   018h,018h,018h,018h,018h,0F8h,018h,0F8h
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii182  DB   036h,036h,036h,036h,036h,036h,036h,0F6h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii183  DB   000h,000h,000h,000h,000h,000h,000h,0FEh
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii184  DB   000h,000h,000h,000h,000h,0F8h,018h,0F8h
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii185  DB   036h,036h,036h,036h,036h,0F6h,006h,0F6h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii186  DB   036h,036h,036h,036h,036h,036h,036h,036h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii187  DB   000h,000h,000h,000h,000h,0FEh,006h,0F6h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii188  DB   036h,036h,036h,036h,036h,0F6h,006h,0FEh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii189  DB   036h,036h,036h,036h,036h,036h,036h,0FEh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii190  DB   018h,018h,018h,018h,018h,0F8h,018h,0F8h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii191  DB   000h,000h,000h,000h,000h,000h,000h,0F8h
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii192  DB   018h,018h,018h,018h,018h,018h,018h,01Fh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii193  DB   018h,018h,018h,018h,018h,018h,018h,0FFh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii194  DB   000h,000h,000h,000h,000h,000h,000h,0FFh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii195  DB   018h,018h,018h,018h,018h,018h,018h,01Fh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii196  DB   000h,000h,000h,000h,000h,000h,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii197  DB   018h,018h,018h,018h,018h,018h,018h,0FFh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii198  DB   018h,018h,018h,018h,018h,01Fh,018h,01Fh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii199  DB   036h,036h,036h,036h,036h,036h,036h,037h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii200  DB   036h,036h,036h,036h,036h,037h,030h,03Fh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii201  DB   000h,000h,000h,000h,000h,03Fh,030h,037h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii202  DB   036h,036h,036h,036h,036h,0F7h,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii203  DB   000h,000h,000h,000h,000h,0FFh,000h,0F7h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii204  DB   036h,036h,036h,036h,036h,037h,030h,037h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii205  DB   000h,000h,000h,000h,000h,0FFh,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii206  DB   036h,036h,036h,036h,036h,0F7h,000h,0F7h
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii207  DB   018h,018h,018h,018h,018h,0FFh,000h,0FFh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii208  DB   036h,036h,036h,036h,036h,036h,036h,0FFh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii209  DB   000h,000h,000h,000h,000h,0FFh,000h,0FFh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii210  DB   000h,000h,000h,000h,000h,000h,000h,0FFh
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii211  DB   036h,036h,036h,036h,036h,036h,036h,03Fh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii212  DB   018h,018h,018h,018h,018h,01Fh,018h,01Fh
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii213  DB   000h,000h,000h,000h,000h,01Fh,018h,01Fh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii214  DB   000h,000h,000h,000h,000h,000h,000h,03Fh
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii215  DB   036h,036h,036h,036h,036h,036h,036h,0FFh
                    DB   036h,036h,036h,036h,036h,036h,036h,036h
    fon16_ascii216  DB   018h,018h,018h,018h,018h,0FFh,018h,0FFh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii217  DB   018h,018h,018h,018h,018h,018h,018h,0F8h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii218  DB   000h,000h,000h,000h,000h,000h,000h,01Fh
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii219  DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
                    DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
    fon16_ascii220  DB   000h,000h,000h,000h,000h,000h,000h,0FFh
                    DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
    fon16_ascii221  DB   0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h
                    DB   0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h,0F0h
    fon16_ascii222  DB   00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh
                    DB   00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh,00Fh
    fon16_ascii223  DB   0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii224  DB   000h,000h,000h,000h,000h,0DCh,066h,066h
                    DB   066h,066h,066h,07Ch,060h,060h,0F0h,000h
    fon16_ascii225  DB   000h,000h,000h,000h,000h,07Ch,0C6h,0C0h
                    DB   0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii226  DB   000h,000h,000h,000h,000h,07Eh,05Ah,018h
                    DB   018h,018h,018h,03Ch,000h,000h,000h,000h
    fon16_ascii227  DB   000h,000h,000h,000h,000h,0C6h,0C6h,0C6h
                    DB   0C6h,0C6h,07Eh,006h,006h,0C6h,07Ch,000h
    fon16_ascii228  DB   000h,000h,000h,000h,03Ch,018h,07Eh,0DBh
                    DB   0DBh,0DBh,0DBh,07Eh,018h,018h,03Ch,000h
    fon16_ascii229  DB   000h,000h,000h,000h,000h,0C6h,06Ch,038h
                    DB   038h,038h,06Ch,0C6h,000h,000h,000h,000h
    fon16_ascii230  DB   000h,000h,000h,000h,000h,0CCh,0CCh,0CCh
                    DB   0CCh,0CCh,0CCh,0FEh,006h,006h,000h,000h
    fon16_ascii231  DB   000h,000h,000h,000h,000h,0C6h,0C6h,0C6h
                    DB   0C6h,07Eh,006h,006h,000h,000h,000h,000h
    fon16_ascii232  DB   000h,000h,000h,000h,000h,0D6h,0D6h,0D6h
                    DB   0D6h,0D6h,0D6h,0FEh,000h,000h,000h,000h
    fon16_ascii233  DB   000h,000h,000h,000h,000h,0D6h,0D6h,0D6h
                    DB   0D6h,0D6h,0D6h,0FEh,003h,003h,000h,000h
    fon16_ascii234  DB   000h,000h,000h,000h,000h,0F8h,0B0h,030h
                    DB   03Eh,033h,033h,07Eh,000h,000h,000h,000h
    fon16_ascii235  DB   000h,000h,000h,000h,000h,0C6h,0C6h,0C6h
                    DB   0F6h,0DEh,0DEh,0F6h,000h,000h,000h,000h
    fon16_ascii236  DB   000h,000h,000h,000h,000h,0F0h,060h,060h
                    DB   07Ch,066h,066h,0FCh,000h,000h,000h,000h
    fon16_ascii237  DB   000h,000h,000h,000h,000h,03Ch,066h,006h
                    DB   01Eh,006h,066h,03Ch,000h,000h,000h,000h
    fon16_ascii238  DB   000h,000h,000h,000h,000h,0CEh,0DBh,0DBh
                    DB   0FBh,0DBh,0DBh,0CEh,000h,000h,000h,000h
    fon16_ascii239  DB   000h,000h,000h,000h,000h,07Eh,0CCh,0CCh
                    DB   0FCh,06Ch,0CCh,0CEh,000h,000h,000h,000h
    fon16_ascii240  DB   000h,06Ch,000h,0FEh,066h,062h,068h,078h
                    DB   068h,062h,066h,0FEh,000h,000h,000h,000h
    fon16_ascii241  DB   000h,000h,000h,06Ch,000h,07Ch,0C6h,0FEh
                    DB   0C0h,0C0h,0C6h,07Ch,000h,000h,000h,000h
    fon16_ascii242  DB   000h,000h,000h,030h,018h,00Ch,006h,00Ch
                    DB   018h,030h,000h,07Eh,000h,000h,000h,000h
    fon16_ascii243  DB   000h,000h,000h,00Ch,018h,030h,060h,030h
                    DB   018h,00Ch,000h,07Eh,000h,000h,000h,000h
    fon16_ascii244  DB   000h,000h,00Eh,01Bh,01Bh,018h,018h,018h
                    DB   018h,018h,018h,018h,018h,018h,018h,018h
    fon16_ascii245  DB   018h,018h,018h,018h,018h,018h,018h,018h
                    DB   0D8h,0D8h,0D8h,070h,000h,000h,000h,000h
    fon16_ascii246  DB   000h,000h,000h,000h,018h,018h,000h,07Eh
                    DB   000h,018h,018h,000h,000h,000h,000h,000h
    fon16_ascii247  DB   000h,000h,000h,000h,000h,076h,0DCh,000h
                    DB   076h,0DCh,000h,000h,000h,000h,000h,000h
    fon16_ascii248  DB   000h,038h,06Ch,06Ch,038h,000h,000h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii249  DB   000h,000h,000h,000h,000h,000h,000h,018h
                    DB   018h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii250  DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   018h,000h,000h,000h,000h,000h,000h,000h
    fon16_ascii251  DB   000h,000h,000h,001h,003h,002h,006h,004h
                    DB   0CCh,068h,038h,010h,000h,000h,000h,000h
    fon16_ascii252  DB   000h,000h,000h,03Ch,042h,099h,0A5h,0A1h
                    DB   0A5h,099h,042h,03Ch,000h,000h,000h,000h
    fon16_ascii253  DB   000h,070h,0D8h,030h,060h,0C8h,0F8h,000h
                    DB   000h,000h,000h,000h,000h,000h,000h,000h
    fon14_ascii254  DB   0FFh,0FFh,081h,081h,0BDh,0BDh,0A5h,0A5h
                    DB   0A5h,0A5h,0BDh,0BDh,081h,081h,0FFh,0FFh
    fon16_ascii255  DB   000h,000h,000h,000h,000h,000h,000h,000h
                    DB   000h,000h,042h,07Eh,000h,000h,000h,000h
    

    Установка переключателей на плате EGA.

    На плате видеоадаптера EGA расположены переключатели, которые в документации обозначаются DIP, определяющие тип дисплея, подключенного к адаптеру, а текже тип дополнительного адаптера (если такой имеется). Эти переключатели могут быть не на всех видеоадаптерах, кроме того, их обозначение может быть другим. Для получения конкретной информаци обращайтесь к документации на свой адаптер.

    Ниже для различных конфигураций видеосистемы показаны правильные варианты установки переключателей.

          4 3 2 1
         _________   Первичный: EGA с цветным дисплеем (40х25).
    ON   ¦Ё     Ё¦   
    OFF  ¦  Ё Ё  ¦   Дополнительный: MDA.
         _________   
    
    
          4 3 2 1
         _________   Первичный: EGA с цветным дисплеем (80х25).
    ON   ¦Ё      ¦
    OFF  ¦  Ё Ё Ё¦   Дополнительный: MDA.
         _________
    
    
          4 3 2 1
         _________   Первичный: EGA с улучшенным цветным дисплеем.
    ON   ¦  Ё Ё Ё¦
    OFF  ¦Ё      ¦   Дополнительный: MDA.
         _________
    
    
          4 3 2 1
         _________   Первичный: EGA с улучшенным цветным дисплеем.
    ON   ¦  Ё Ё  ¦
    OFF  ¦Ё     Ё¦   Дополнительный: MDA.
         _________
    
    
          4 3 2 1
         _________   Первичный: EGA с монохромным дисплеем.
    ON   ¦  Ё   Ё¦
    OFF  ¦Ё   Ё  ¦   Дополнительный: CGA с цветным дисплеем
         _________             (40х25).
    
    
          4 3 2 1
         _________   Первичный: EGA с монохромным дисплеем.
    ON   ¦  Ё    ¦
    OFF  ¦Ё   Ё Ё¦   Дополнительный: CGA с цветным дисплеем
         _________             (80х25)
    
    
          4 3 2 1
         _________   Первичный: MDA.
    ON   ¦Ё Ё Ё Ё¦
    OFF  ¦       ¦   Дополнительный: EGA с цветным дисплеем
         _________             (40х25).
    
    
          4 3 2 1
         _________   Первичный: MDA.
    ON   ¦Ё Ё Ё  ¦
    OFF  ¦      Ё¦   Дополнительный  EGA с цветным дисплеем
         _________             (80х25).
    
    
          4 3 2 1
         _________   Первичный: MDA.
    ON   ¦Ё Ё   Ё¦
    OFF  ¦    Ё  ¦   Дополнительный: EGA с улучшенным цветным
         _________             дисплеем.
    
    
          4 3 2 1
         _________   Первичный: MDA.
    ON   ¦Ё Ё    ¦
    OFF  ¦    Ё Ё¦   Дополнительный: EGA с улучшенным цветным
         _________             дисплеем.
    
    
          4 3 2 1
         _________   Первичный:  CGA с цветным дисплеем 40х25
    ON   ¦Ё   Ё Ё¦
    OFF  ¦  Ё    ¦   Дополнительный: EGA с монохромным дисплеем.
         _________
    
    
          4 3 2 1
         _________   Первичный:  CGA с цветным дисплеем 80х25
    ON   ¦Ё   Ё  ¦
    OFF  ¦  Ё   Ё¦   Дополнительный: EGA с монохромным дисплеем.
         _________
    
    
    Кроме переключателей на плате устанаовлены три перемычки (P1, P2, P3):
    
    
       P1
       _______   Поддерживается улучшенный цветной дисплей
    1  ___Ё___   (640х350 пикселов, 64 цвета).
    2  ___Ё___
    3  _  Ё  _
       _______
    
       P1
       _______   Поддерживается только цветной дисплей
    1  _  Ё  _   (640х200 пикселов, 16 цветов).
    2  ___Ё___
    3  ___Ё___
       _______
    
    
       P2   _    Разъем для светового пера.
    
    
       P3
       _______   Регистры видеоадаптера доступны через порты
    1  ___Ё___   с адресами 3ххh.
    2  ___Ё___
    3  _  Ё  _
       _______
    
       P3
       _______   Регистры видеоадаптера доступны через порты
    1  _  Ё  _   с адресами (2ххh).
    2  ___Ё___
    3  ___Ё___   В этом режиме видеофункции BIOS не работают.
       _______   Управление видеоадаптером можно осуществлять
          только непосредственно через программирование
          регистров и доступ к видеопамяти.
    

    Режимы работы видеоадаптеров.


    Режим    Тип          Число    Разрешение  Поддерживаемые
    работы   информации   цветов               дисплеи
    
    
    0, 1     текстовый    16       40х25       CD, ECD, VGA,
             цветной               (8x8)       многочастотный
    
    0*, 1*   текстовый    16       40х25       ECD, VGA,
             цветной               (8*14)      многочастотный
    
    0+, 1+   текстовый    16       40х25       VGA,
             цветной               (9*16)      многочастотный
    
    2, 3     текстовый    16       80х25       CD, ECD, VGA,
             цветной               (8*8)       многочастотный
    
    2*, 3*   текстовый    16       80х25       ECD, VGA,
             цветной               (8*14)      многочастотный
    
    2+, 3+   текстовый    16       80х25       VGA,
             цветной               (9*16)      многочастотный
    
    4, 5     графический   4       320х200     CD, ECD, VGA,
             цветной                           многочастотный
    
    6        графический   2       640х200     CD, ECD, VGA,
             цветной                           многочастотный
    
    7        текстовый     2       80х25       монохромный,
             монохромный           (9*14)      VGA
    
    7+       текстовый     2       80х25       VGA
             монохромный           (9*16)      
    
    8,9,     используются только видеоадаптерами компьютера
    0Ah      PC jr
    
    0Bh,0Ch  зарезервированно
    
    0Dh      графический   16      320х200     CD, ECD, VGA,
             цветной                           многочастотный
       
    0Eh      графический   16      640х200     CD, ECD, VGA, 
             цветной                           многочастотный
    
    0Fh      графический   2       640х350     монохромный,
             монохромный                       VGA
    
    10h      графический   16      640х350     ECD, VGA,
             цветной                           многочастотный
    
    11h      графический   2       640х480     VGA,
             цветной                           многочастотный
    
    12h      графический   16      640х480     VGA,
             цветной                           многочастотный
    
    13h      графический   256     320х200     VGA,
             цветной                           многочастотный
    

    В поле "разрешение" таблицы стандартных режимов видеоадаптеров в скобках приведены размеры символов (в пикселах).


    Режим   Разрешение          Число   Название
                цветов   видеосистемы
    
    14h   80x25, 8x8,  640x200      Lava Chrome II EGA
                    640x400   16   Tecmar VGA/AD
    
    15h   80x25, 8x14, 640x350      Lava Chrome II EGA
    
    16h   80x25, 8x14, 640x350      Lava Chrome II EGA
                       800x600   16   Tecmar VGA/AD
    
    17h   80x34, 8x14, 640x480      Lava Chrome II EGA
          132x25            Tecmar VGA/AD
    
    18h   132x44, 8x8         4   VGA-III
       132x44, 8x8         моно   Tseng Labs EVA
          80x34, 8x14, 640x480      Lava Chrome II EGA
                       1024x768   16   Tecmar VGA/AD
    
    19h   132x25, 9x14         4   VGA-III
       132x25, 8x14         моно   Tseng Labs EVA
    
    1Ah   132x28, 8x13         4   VGA-III
       132x28, 8x13         моно   Tseng Labs EVA
                    640x350   256   Tecmar VGA/AD
    
    1Bh                640x400   256   Tecmar VGA/AD
    
    1Ch                640x480   256   Tecmar VGA/AD
    
    1Dh                800x600   256   Tecmar VGA/AD
    
    22h   132x44, 8x8         16   VGA-III
       132x44, 8x8            Tseng Labs EVA
       132x44, 8x8            Ahead Systems EGA2001
       132x43            Allstar Peacock (VGA)
    
    23h   132x25, 8x14         16   VGA-III
       132x25, 6x14            Tseng Labs EVA
       132x25, 8x14            Ahead Systems EGA2001
       132x25, 8x8         16   ATI EGA Wonder,ATI VIP
       132x28            Allstar Peacock (VGA)
    
    24h   132x28, 8x13         16   VGA-III
       132x28, 6x13            Tseng Labs EVA
       132x25            Allstar Peacock (VGA)
    
    25h   80x60, 8x8, 640x480      Tseng Labs EVA, VGA-III
                   640x480   16   VEGA VGA
    
    26h   80x65, 8x8         16   VGA-III
       80x60, 8x8            Tseng Labs EVA
       80x60, 8x8, 640x480      Ahead Systems EGA2001
       80x60            Allstar Peacock (VGA)
    
    27h               720x512   16   VEGA VGA
                   720x512   16   Genoa
       132x25, 8x8         моно   ATI EGA Wonder,ATI VIP
    
    29h   100x37, 8x16         16   VGA-III
                   800x600   16   VEGA VGA
                   800x600   16   Orchid,STB,Genoa,Sigma
                   800x600   16   Allstar Peacock (VGA)
    
    2Ah   100x40, 8x15         16   VGA-III
       100x40             Allstar Peacock (VGA)
       100x40, 8x16            Orchid Prodesigner VGA
    
    2Dh               640x350   256   VEGA VGA, VGA-III
                   640x350   256   Genoa,STB
    
    2Eh               640x480   256   VEGA VGA, VGA-III
                   640x480   256   Orchid,STB,Genoa,Sigma
    
    2Fh               720x512   256   VEGA VGA
                      720x512   256   Genoa
    
    30h               800x600   256   VEGA VGA, VGA-III
                      800x060   256   Orchid,STB,Genoa,Sigma
    33h   132x44, 8x8         16   ATI EGA Wonder,ATI VIP
    
    36h               960x720   16   VEGA VGA
                      960x720   16   STB
    
    37h               1024x768   16   VEGA VGA, VGA-III
                      1024x768   16   Orchid,STB,Genoa,Sigma
          132x44, 8x8         моно   ATI EGA Wonder,ATI VIP
    
    40h   80x25, 8x16, 640x400   2   AT&T 6300, AT&T VDC600
          80x25, 8x16, 640x400   2   Compaq Portable
          80x43            VEGA VGA, Tecmar VGA/AD
          80x43            Video7 V-RAM VGA
          80x43            Tatung VGA
    
    41h                640x200   16   AT&T 6300
          132x25             VEGA VGA
          132x25            Tatung VGA
          132x25            Video7 V-RAM VGA
    
    42h   80x25, 8x16, 640x400   16   AT&T 6300, AT&T VDC600
          132x43             VEGA VGA
          132x43            Tatung VGA
          132x43            Video7 V-RAM VGA
    
    43h     80x60            VEGA VGA
          80x60            Tatung VGA
          80x60            Video7 V-RAM VGA
    
    44h     100x60             VEGA VGA
          100x60             Tatung VGA
          100x60            Video7 V-RAM VGA
    
    45h   132x28            Tatung VGA
          132x28            Video7 V-RAM VGA
    
    46h   100x40, 8x15, 800x600   2   AT&T VDC600
    
    47h   100x37, 8x16, 800x600   16   AT&T VDC600
    
    48h   80x50, 8x8, 640x400   2   AT&T 6300, AT&T VDC600
    
    49h   80x30, 8x16, 640x480      Lava Chrome II EGA
    
    4Dh   120x25             VEGA VGA
    
    4Eh   120x43             VEGA VGA
    
    4Fh   132x25             VEGA VGA
    
    50h   132x25, 9x14         моно   Ahead Systems EGA2001
          80x30, 8x16, 640x480   16   Paradise EGA-480,
                   HEGA/P-III, HEGA-III
          80x43         моно   VEGA VGA
                       640x480   моно   Taxan 565 EGA
          80x34            Lava Chrome II EGA
    
    51h   80x30, 8x16            Paradise EGA-480
                   HEGA/P-III, HEGA-III
          80x30            Lava Chrome II EGA
          80x34, 8x14, 640x480   16   ATI EGA Wonder
          132x25          моно   VEGA VGA
    
    52h   132x44, 9x8         моно   Ahead Systems EGA2001
          132x43          моно   VEGA VGA
          94x29, 8x14, 752x410   16   ATI EGA Wonder
          80x60            Lava Chrome II EGA
    
    53h   100x40, 8x14, 800x560   16   ATI EGA Wonder,ATI VIP
          132x43             Lava Chrome II EGA
    
    54h   132x43, 8x8            Paradise EGA-480
       132x43, 8x8         16   HEGA/P-III, HEGA-III
          132x43, 7x9         16   Paradise VGA(256k)
          132x43, 8x9         16   Paradise VGA on
                   multisync (256k)
          132x43            Taxan 565 EGA
          132x43            AST VGA Plus
          132x43            Hewlett-Packard D1180A
          132x43, 7x9         16   AT&T VDC600
          132x25             Lava Chrome II EGA
          100x42, 8x14, 800x600   16   ATI EGA Wondr, VGA Wondr
    
    55h   132x25, 8x14            Paradise EGA-480
       132x25, 8x14         16   HEGA/P-III, HEGA-III
          132x25, 7x16         16   Paradise VGA (256k)
          132x25, 8x16         16   Paradise VGA on
                   multisync (256k)
          132x25            Taxan 565 EGA
          132x25            AST VGA Plus
          132x25            Hewlett-Packard D1180A
          132x25, 7x16         16   AT&T VDC600
          80x66, 8x8         16   ATI VIP (256k)
          94x29,8x14, 752x410      Lava Chrome II EGA
    
    56h   132x43, 8x8            NSI Smart EGA+
          132x43, 7x9         4   Paradise VGA
          132x43, 8x9         4   Paradisk VGA on
                   multisync
          132x43          моно   Taxan 565 EGA
          132x43, 7x9         2   AT&T VDC600
    
    57h   132x25, 8x14            NSI Smart EGA+
          132x25, 7x16            Paradise VGA
          132x25, 8x16         4   Paradise VGA on
                   multisync
          132x25          моно   Taxan 565 EGA
          132x25, 7x16         2   AT&T VDC600
    
    58h   100x75, 8x8, 800x600   16   Paradise VGA (256k)
          100x75, 8x8, 800x600   16   AT&T VDC600
          80x33, 8x14         16   ATI EGA Wonder,ATI VIP
                       800x600,   16   AST VGA Plus, Compaq VGA
                       800x600,   16   Dell VGA
                       800x600,   16   Hewlett-Packard D1180A
    
    59h   100x75, 8x8, 800x600   2   Paradise VGA
          100x75, 8x8, 800x600   2   AT&T VDC600
          80x66, 8x8         16   ATI VIP (256k)
                       800x600   2   AST VGA Plus, Compaq VGA
                       800x600   2   Dell VGA
                       800x600   2   Hewlett-Packard D1180A
    
    5Eh                640x400   256   Paradise VGA,VEGA VGA
                       640x400   256   AST VGA Plus
                       640x400   256   Compaq VGA, Dell VGA
          80x25, 8x16, 640x400   256   AT&T VDC600
    
    5Fh                640x480   256   Paradise VGA
                       640x480   256   AST VGA Plus
                       640x480   256   Compaq VGA, Dell VGA
                       640x480   256   Hewlett-Packard D1180A
          80x30, 8x16, 640x480   256   AT&T VDC600 (512K)
    
    60h                752x410      VEGA VGA
                       752x410   16   Tatung VGA
                       752x410   16   Video7 V-RAM VGA
    
    61h                  720x540      VEGA VGA
                       720x540   16   Tatung VGA
                       720x540   16   Video7 V-RAM VGA
                       640x400   256   ATI VGA Wonder
    
    62h                800x600      VEGA VGA
                       800x600   16   Tatung VGA
                       800x600   16   Video7 V-RAM VGA
                       640x480   256   ATI VGA Wonder
    
    63h                1024x768   2   Video7 V-RAM VGA
                       800x600   256   ATI VGA Wonder
    
    64h                1024x768   4   Video7 V-RAM VGA
    
    65h                1024x768   16   Video7 V-RAM VGA
                       1024x768   16   ATI VGA Wonder
    
    66h                640x400   256   Tatung VGA
                       640x400   256   Video7 V-RAM VGA
    
    67h                640x480   256   Video7 V-RAM VGA
                       1024x768   4   ATI VGA Wonder
    
    69h                720x540   256   Video7 V-RAM VGA
    
    6Ah                800x600   16   VESA standard interface
    
    71h   100x35, 8x16,800x600   16 из 64   NSI Smart EGA+
    
    74h                640x400    2   Toshiba 3100 AT&T mode
    
    7Ch                512x512   16   Genoa
    
    7Dh                512x512   256   Genoa
    
    82h   80x25         Моно   AT&T VDC 
    
    83h   80x25            AT&T VDC 
    
    86h                640x200   Моно   AT&T VDC 
    
    
    C0h                640x400   
    
    D0h                640x400   2   DEC VAXmate AT&T mode
    

    В поле "разрешение", таблицы нестандартных режимов видеоадаптеров помещены разрешающая способность в текстовых режимах, затем размеры символов (в пикселах) и разрешающая способность в графических режимах.

    Карта памяти CGA/EGA/VGA


    Адрес      Размер   Содержание
    
    
    0000:0410   1 байт   флаги конфигурации:
                биты D5 и D4 определяют тип
                текущего первичного дисплея:
    
                   D5 D4   видеоадаптер
    
                   0  0      EGA
                   0  1      CGA 40х25
                   1  0      CGA 80х25
                   1  1      MDA
    
    0000:0449   1 байт   текущий режим работы
                видеоадаптера
    
    0000:044A   слово   число символов в строке
    
    0000:044С   слово   размер страницы видеопамяти
                в байтах
    
    0000:044E   слово   значение регистра начального
                адреса (SAR)
    
    0000:0450   8 слов   координаты курсоров для
                каждой страницы видеопамяти,
                младший байт определяет
                столбец, а старший строку
                экрана в которой находится
                курсор
    
    0000:0460   слово   содержимое регистров
                начальной и конечной линии
                курсора (CSR _ старший и CER
                 _ младший байты
                 соответственно)
                
    
    0000:0462   1 байт   номер активной страницы
                видеопамяти
    
    0000:0463   слово   адрес порта контроллера ЭЛТ
                (3B4 или 3D4)
    
    0000:0465   1 байт   установка регистра режима CGA
                (регистр MCR)
    
    0000:0466   1 байт   установка цветовой палитры
                CGA (регистр CSR)
    
    0000:0484   1 байт   число текстовых строк _ 1
    
    0000:0485   слово   высота символов в пикселах
    
    0000:0487   1 байт   первый байт информации о EGA:
    
    
        7 6 5 4 3 2 1 0
       _________________
       ¦ ¦   ¦ ¦ ¦ ¦ ¦ ¦
       _________________
        _ ___ _ _ _ _ ___ если бит равен единице, то 
        _  _  _ _ _ _   разрешена эмуляция курсора CGA;
           _  _  _ _ _ _   
           _  _  _ _ _ _____ равен единице, видеоадаптер
        _  _  _ _ _      подсоединен к монохрому дисплею;
           _  _  _ _ _      
           _  _  _ _ _______ единица в этом бите означает,
        _  _  _ _       что BIOS будет ожидать обратного
        _  _  _ _       вертикального хода луча для
        _  _  _ _       записи в видеопамять;
           _  _  _ _        
           _  _  _ _________ бит установлен, если  первичным
        _  _  _        видеоадаптером является EGA;
           _  _  _          
           _  _  ___________ не используется;
           _  _             
           _  ______________ объем видеопамяти:
           _
        _         0 0 _ 64К байт,
        _         0 1 _ 128К байт,
        _         1 0 _ 192К байт,
        _         1 1 _ 256К байт;
           _
           _  
           _________________ единица означает, что последняя
              операция выбора режима
              видеоадаптера не очистила
              видеопамять
       
    0000:0488   1 байт   второй байт информации о EGA:
    
        7 6 5 4 3 2 1 0
       _________________
       ¦       ¦       ¦
       _________________
        _______ _______
              _          ___ положение переключателей на плате
           _       EGA
              _
              ______________ значение регистра управления
                             дополнительным устройством
    
    
    0000:04A8   двойное слово      адрес таблицы 
                      окружения  
                      следующий 
    
    0000:0500   1 байт      состояние печати экрана
    
                      00h _ печать
                          закончена
    
                      01h _ экран
                          печатается
    
                      0FFh _ ошибка во
                           время печати
    
    
    A000:0000_FFFF   видеопамять в графических режимах
    
    B000:0000_7FFF   видеопамять в монохромном текстовом
          режиме
    
    B800:0000_7FFF   видеопамять в цветных текстовых режимах
          и в графическом режиме CGA
    
    C000:0000_3FFF   BIOS EGA/VGA
    

    Карты портов ввода/вывода видеоадаптера CGA


    Адрес   Регистр
    
    
    3D4,   Регистры контроллера ЭЛТ
    3D5   (CRT Controller Register's - CRT_CR)
    
    3D8   Регистр установки режима
    
    3D9   Регистр установки цвета
    
    3DA   Регистр состояния 
       (Input Status Register - ISR)
    
    3DB   Регистр очистки тригера-защелки светового пера
       (Clear Light Pen Latch Register- CLPLR)
    
    3DC   Установка тригера-защелки светового пера
       (Set Light Pen Latch Register - SLPLR)
    

    Карта портов ввода/вывода CGA.

    Регистры контроллера ЭЛТ Motorola 6845.


    Индекс    Регистр контроллера ЭЛТ
    
    
    0      общая длина линии горизонтальной
          развертки
          (Horizontal Total Register - HTR)
    
    1      длина отображаемой части горизонтальной
          развертки
          (Horizontal Displayed - HDR)
    
    2      положение горизонтальной синхронизации
          (Horizontal Sync Position - HSR)
    
    3      ширина горизонтального синхросигнала
          (Horizontal Sync Pulse Width Register -
          HSPWR)
    
    4      число горизонтальных линий растра
          (Vertical Total Register - VTR)
    
    5      выравнивание ратстра
          (Vertical Total Adjust Register - VTAR)
    
    6      длина отображаемой части вертикальной
          развертки
          (Vertical Displayed - VDR)
    
    7      положение вертикальной синхронизации
          (Vertical Sync Position Register -
          VSPR)
    
    8      режим соединения
          (Interlase Mode Register - IMR)
    
    9      высота символов текста
          (Max Scan Line Register - MSLR)
    
    0Ah      начальная линия курсора
          (Cursor Start Register - CSR)
    
    0Bh      конечная линия курсора
          (Cursor End Register - CER)
    
    0Ch      старший байт начального адреса
          (Start Address Register - SAR,
          high byte)
    
    0Dh      младший байт начального адреса
          (Start address Register - SAR,
          low byte)
    
    0Eh      старший байт позиции курсора
          (Cursor Location Register - CLR,
          high byte)
    
    0Fh      младший байт позиции курсора
          (Cursor Location Register - CLR,
          low byte)
    
    10h      старший байт адреса светового пера
          (Light Pen Address Register - LPAR,
          high byte)
    
    11h      младший байт адреса светового пера
          (Light Pen Address Register - LPAR,
           low byte)
    

    Регистры контроллеров ЭЛТ, построенных на основе микросхемы Motorola 6845 или ее аналогов.

    Карты портов ввода/вывода видеоадаптеров EGA и VGA для монохромного и цветного режимов


    Адрес   Регистр
    
    
    3C2   регистр определения различных режимов работы
       (Miscellaneous Output Register - MOR);
    
       регистр состояния 0
       (Input Status Register 0 - ISR0)
    
    3BA   регистр управления дополнительным устройством
       (Feature Control Register)
    
       регистр состояния 1
       (Input Status Register 1 - ISR1)
    
    3BB   регистр очистки защелки светового пера
       (Clear Light Pen Latch Register- CLPLR)
    
    3BC   установка защелки светового пера
       (Set Light Pen Latch Register - SLPLR)
    
    3C4,   регистры синхронизатора
    3C5   (Sequencer Register's - SR)
    
    3B4,   регистры контроллера ЭЛТ
    3B5   (CRT Controller Register's - CRT_CR)
    
    
    3CA,   регистры графического контроллера
    3CC,   (Graphics Controller Register's - GCR)
    3CE,
    3CF
    
    3C0   регистр контроллера атрибутов
       (Attribute Controller Register - ACR)
    
    3C3   регистр разрешения работы системы VGA
       (VGA Enable Register - VGA_ER)
    
    3C6,   регистры цифро-аналогового преобразователя (ЦАП) VGA
    3C7,   (VGA Video DAC Register - VGA_DAC_R)
    3C8,
    3C9
    

    Карта портов ввода/вывода (монохромный режим).


    Адрес   Регистр
    
    
    3C2   регистр определения различных режимов работы
       (Miscellaneous Output Register - MOR);
    
       регистр состояния 0
       (Input Status Register 0 - ISR0).
    
    3DA   регистр управления дополнительным устройством
       (Feature Control Register)
    
       регистр состояния 1
       (Input Status Register 1 - ISR1)
    
    3DB   регистр очистки защелки светового пера
       (Clear Light Pen Latch Register- CLPLR)
    
    3DC   установка защелки светового пера
       (Set Light Pen Latch Register - SLPLR)
    
    3C4,   регистры синхронизатора
    3C5   (Sequencer Register's - SR)
    
    3D4,   регистры контроллера ЭЛТ
    3D5   (CRT Controller Register's - CRT_CR)
    
    
    3CA,   регистры графического контроллера
    3CC,   (Graphics Controller Register's - GCR)
    3CE,
    3CF
    
    3C0   регистр контроллера атрибутов
       (Attribute Controller Register - ACR)
    
    3C3   регистр разрешения работы системы VGA
       (VGA Enable Register - VGA_ER)
    
    3C6,   регистры ЦАП VGA
    3C7,   (VGA Video DAC Register - VGA_DAC_R)
    3C8,
    3C9
    

    Карта портов ввода/вывода (цветной режим).

    Регистры контроллера ЭЛТ EGA/VGA8


    Индекс    Регистр контроллера ЭЛТ
    
    
    0      общая длина линии горизонтальной
          развертки
          (Horizontal Total Register - HTR)
    
    1      длина отображаемой части горизонтальной
          развертки
          (Horizontal Display Enable End Register
          - HDER)
    
    2      начало импульса гашения луча
          горизонтальной развертки
          (Start Horizontal Blank Register 
          - SHBR)
    
    3      конец импульса гашения луча
          горизонтальной развертки
          (End Horizontal Blank Register - EHBR)
    
    4      начало импульса горизонтального
          обратного хода луча
          (Start Horizontal Retrace Register 
          - SHRR)
    
    5      конец импульса горизонтального
          обратного хода луча
          (End Horizontal Retrace Register 
          - EHRR)
    
    6      число горизонтальных линий растра
          (Vertical Total Register - VTR)
    
    7      дополнительный регистр
          (Overflow Register - OVR)
    
    8      предварительная установка
          горизонтальной развертки
          (Preset Row Scan Register - PRSR)
    
    9      высота символов текста
          (Max Scan Line Register - MSLR)
    
    0Ah      начальная линия курсора
          (Cursor Start Register - CSR)
    
    0Bh      конечная линия курсора
          (Cursor End Register - CER)
    
    0Ch      старший байт начального адреса
          (Start Address Register - SAR,
          high byte)
    
    0Dh      младший байт начального адреса
          (Start address Register - SAR,
          low byte)
    
    0Eh      старший байт позиции курсора
          (Cursor Location Register - CLR,
          high byte)
    
    0Fh      младший байт позиции курсора
          (Cursor Location Register - CLR,
          low byte)
    
    10h      начало обратного вертикального хода
          луча
          (Vertical Retrace Start Register 
          - VRSR)
    
    11h      конец обратного вертикального хода луча
          (Vertical Retrace End Register - VRER)
    
    10h      старший байт адреса светового пера
          (Light Pen Address Register - LPAR,
          high byte)
    
    11h      младший байт адреса светового пера
          (Light Pen Address Register - LPAR,
           low byte)
    
    12h      начало гашения вертикальной развертки
          (Vertical Display End Register - VDER)
    
    13h      логическая ширина экрана
          (Offset Register - OFR)
    
    14h      положение подчеркивания символа
          (Underline Location Register - ULR)
    
    15h      начало импульса гашения вертикальной
          развертки  (Start Vertical Blank
          Register - SVBR)
    
    16h      конец импульса гашения вертикальной
          развертки
          (End Vertical Blank Register - EVBR)
    
    17h      управление режимом
          (Mode Control Register - MCR)
    
    18h      регистр сравнения линий
          (Line Compare Register - LCR)
    

    Регистры синхронизатора EGA/VGA8


    Индекс регистра   Регистр синхронизатора
    
    
    0      регистр сброса синхронизатора
          (Reset Register - RR)
    
    1      регистр режима синхронизации
          (Clock Mode Register - CMR)
    
    2      регистр разрешения записи цветового
          слоя
          (Color Plane Write Enable Register 
          - CPWER)
    
    3      регистр выбора знакогенератора
          (Character Generator Select Register 
          - CGSR)
    
    4      регистр определения структуры памяти
          (Memory Mode Register - MMR)
    

    Регистры графического контроллера EGA/VGA


    Индекс регистра    Регистр графического контроллера
    
    
    0      регистр установки/сброса
          (Set/Reset Register - SRR)
    
    1      регистр разрешения установки/сброса
          (Set/Reset Enable Register - SRER)
    
    2      регистр сравнения цветов
          (Color Compare Register - CCR)
    
    3      регистр циклического сдвига и выбора
          функции
          (Data Rotate & Function Select - DRFS)
    
    4      регистр выбора читаемого слоя
          (Read Plane Select Register - RPSR)
    
    5      регистр режима работы
          (Mode Register - MDR)
    
    6      регистр смешанного назначения
          (Miscellaneous Register - MIR)
    
    7      регистр маскирования цветовых слоев
          (Color Don't Care Register - CDCR)
    
    8      регистр битовой маски
          (Bit Mask Register - BMR)
    

    Регистры контроллера атрибутов EGA/VGA


    Индекс   Регистры контроллера атрибутов
    
    
    0 - 0Fh   регистры цветовой палитры (0-15)
          (Color Palette Register's - CPR)
    
    10h      регистр управления режимом
          (Mode Control Register - MCR)
    
    11h      регистр цвета рамки экрана
          (Screen Border Color Register - SBCR)
    
    12h      регистр разрешения цветового слоя
          (Color Plane Enable Register - CPER)
    
    13h      регистр горизонтального панорамирования
          (Horizontal Panning Register - HPR)
    
    14h      регистр выбора цвета
          (Color Select Register - CSR)
    

    Регистры цифро-аналогового преобразователя VGA


    Адрес   Регистр
    
    
    3C6h   регистр маскирования пикселов 
       (Pixel Mask Register - PMR)
    
    3C7h   регистр состояния ЦАП (для чтения)
       (DAC State Register - DAC_SR)
    
    3C7h   индекс читаемого регистра таблицы цветов (для
       записи)
       (Look-up Table Read Index Register - LTRIR)
    
    3C8h   индекс записываемого регистра таблицы цветов
       (Look-up Table Write Index Register - LTWIR)
    
    3C9h   регистр данных таблицы цветов
       (Look-up Table Data Register - LTDR)
    

    Включаемый файл "SYSP.H"

    /* SYSP.H - include-файл для примеров, приведенных в книге */
    
    
    /**
    *.Name      FP_MAKE
    *
    *.Title     Макро для составления FAR-указателя
    *
    *.Descr     Макро составляет FAR-указатель, пользуясь
    *           значениями сегмента и смещения
    *
    *.Params    FP_MAKE(seg,off)
    *              seg - сегмент;
    *              off - смещение
    *
    *.Return    FAR-указатель seg:off
    **/
    
    
    #define FP_MAKE(seg,off) ((void far *)     \
       ((((unsigned long) (unsigned)(seg)) << 16L) |   \
       ((unsigned long) (unsigned) (off))))
    
    
    /* Структура векторной таблицы связи DOS */
    
    #pragma pack(1)
    
    typedef struct _CVT_ {
       unsigned mcb_seg;
       void far *dev_cb;
       void far *file_tab;
       void far *clock_dr;
       void far *con_dr;
       unsigned max_btbl;
       void far *disk_buf;
       void far *drv_info;
       void far *fcb_tabl;
       unsigned fcb_size;
       unsigned char num_bdev;
       unsigned char lastdriv;
    } CVT;
    
    
    /* Блок управления памятью MCB */
    
    typedef struct _MCB_ {
       unsigned char type;
       unsigned owner;
       unsigned size;
       char reserve[11];
    } MCB;
    
    /* Префикс программного сегмента PSP */
    
    typedef struct _PSP_ {
       unsigned char int20h[2];
       unsigned mem_top;
       unsigned char reserv1;
       unsigned char call_dsp[5];
       void far *term_adr;
       void far *cbrk_adr;
       void far *crit_err;
       unsigned parn_psp;
       unsigned char file_tab[20];
       unsigned env_seg;
       void far *ss_sp;
       unsigned max_open;
       void far *file_tba;
       unsigned char reserv2[24];
       unsigned char disp[3];
       unsigned char reserv3[9];
       unsigned char fcb1[16];
       unsigned char fcb2[20];
       unsigned char p_size;
       unsigned char parm[127];
    } PSP;
    
    
    /* Блок управления устройством DOS */
    
    typedef struct _DDCB_ {
       unsigned char drv_num;
       unsigned char drv_numd;
       unsigned sec_size;
       unsigned char clu_size;
       unsigned char clu_base;
       unsigned boot_siz;
       unsigned char fat_num;
       unsigned max_dir;
       unsigned data_sec;
       unsigned hi_clust;
       unsigned char fat_size;
       char reserv1;
       unsigned root_sec;
       void far *drv_addr;
       unsigned char media;
       unsigned char acc_flag;
       struct _DDCB_ far *next;
       unsigned reserv2;
       unsigned built;
    } DDCB;
    
    /* Управляющий блок DOS для файлов */
    
    typedef struct _DFCB_ {
       unsigned handl_num;
       unsigned char access_mode;
       unsigned reserv1;
       unsigned dev_info;
       void far *driver;
       unsigned first_clu;
       unsigned time;
       unsigned date;
       unsigned long fl_size;
       unsigned long offset;
       unsigned reserv2;
       unsigned reserv7;
       unsigned reserv3;
       char reserv4;
       char filename[11];
       char reserv5[6];
       unsigned ownr_psp;
       unsigned reserv6;
       unsigned last_clu;
       char reserv8[4];
    } DFCB;
    
    /* Таблица файлов DOS */
    
    typedef struct _DFT_ {
       struct _DFT_ far *next;
       unsigned file_count;
       DFCB dfcb;
    } DFT;
    
    
    /* Управляющий блок дискового буфера BCB */
    
    typedef struct _BCB_ {
       struct _BCB_ far *next;
       unsigned char drive;
       unsigned char flag;
       unsigned sect_num;
       unsigned reserv1;
       DDCB far *ddcb;
       unsigned reserv2;
    } BCB;
    
    /* Информация о диске */
    
    typedef struct _DINFO_ {
       char path[64];
       unsigned reserv1;
       unsigned reserv2;
       unsigned char reserv3;
       DDCB far *ddcb;
       unsigned cdir_clu;
       unsigned reserv4;
       unsigned reserv5;
       unsigned reserv6;
       unsigned char reserv7[7];
    } DINFO;
    
    
    /* Заголовок EXE-программы */
    
    typedef struct _EXE_HDR_ {
       unsigned signature;
       unsigned part_pag;
       unsigned file_size;
       unsigned rel_item;
       unsigned hdr_size;
       unsigned min_mem;
       unsigned max_mem;
       unsigned ss_reg;
       unsigned sp_reg;
       unsigned chk_summ;
       unsigned ip_reg;
       unsigned cs_reg;
       unsigned relt_off;
       unsigned overlay;
    } EXE_HDR;
    
    
    /* таблица расположения сегментов EXE-программы */
    
    typedef struct _RELOC_TAB_ {
       unsigned offset;
       unsigned segment;
    } RELOC_TAB;
    
    
    /* конфигурация дисковой подсистемы */
    
    typedef struct _DISK_CONFIG_ {
       int  n_floppy;
       int  n_hard;
       int  t_floppy1;
       int  t_floppy2;
       int  t_hard1;
       int  t_hard2;
    } DISK_CONFIG;
    
    
    /* таблица параметров дискеты */
    
    typedef struct _DPT_ {
       unsigned char srt_hut;
       unsigned char dma_hlt;
       unsigned char motor_w;
       unsigned char sec_size;
       unsigned char eot;
       unsigned char gap_rw;
       unsigned char dtl;
       unsigned char gap_f;
       unsigned char fill_char;
       unsigned char hst;
       unsigned char mot_start;
    } DPT;
    
    /* таблица параметров диска */
    
    typedef struct _HDPT_ {
       unsigned max_cyl;
       unsigned char max_head;
       unsigned srwcc;
       unsigned swpc;
       unsigned char max_ecc;
       unsigned char dstopt;
       unsigned char st_del;
       unsigned char fm_del;
       unsigned char chk_del;
       unsigned char reserve[4];
    } HDPT;
    
    /* Элемент таблицы разделов */
    
    typedef struct _PART_ENTRY_ {
       unsigned char flag;
       unsigned char beg_head;
       unsigned beg_sec_cyl;
       unsigned char sys;
       unsigned char end_head;
       unsigned end_sec_cyl;
       unsigned long rel_sec;
       unsigned long size;
    } PART_ENTRY;
    
    /* Главная загрузочная запись */
    
    typedef struct _MBOOT_ {
       char boot_prg[0x1be];
       PART_ENTRY part_table[4];
       unsigned char signature[2];
    } MBOOT;
    
    /* Расширенный блок параметров BIOS */
    
    typedef struct _EBPB_ {
       unsigned sectsize;
       char clustsize;
       unsigned ressecs;
       char fatcnt;
       unsigned rootsize;
       unsigned totsecs;
       char media;
       unsigned fatsize;
       unsigned seccnt;
       unsigned headcnt;
       unsigned hiddensec_low;
       unsigned hiddensec_hi;
       unsigned long drvsecs;
    } EBPB;
    
    /* Загрузочная запись для MS-DOS 4.01 */
    
    typedef struct _BOOT_ {
       char jmp[3];
       char oem[8];
       EBPB bpb;
       char drive;
       char reserved;
       char signature;
       unsigned volser_lo;
       unsigned volser_hi;
       char label[11];
       char fat_format[8];
       char boot_code[450];
    
    } BOOT;
    
    /* Время последнего обновления файла */
    
    typedef struct _FTIME_ {
       unsigned sec : 5, min : 6, hour : 5;
    } FTIME;
    
    /* Дата последнего обновления файла */
    
    typedef struct _FDATE_ {
       unsigned day : 5, month : 4, year : 7;
    } FDATE;
    
    /* Дескриптор файла в каталоге */
    
    typedef struct _FITEM_ {
       char name[8];
       char ext[3];
       char attr;
       char reserved[10];
       FTIME time;
       FDATE date;
       unsigned cluster_nu;
       unsigned long size;
    } FITEM;
    
    /* Формат трека для GENERIC IOCTL */
    
    typedef struct _TRK_LY_ {
       unsigned no;
       unsigned size;
    } TRK_LY;
    
    /* Параметры устройства для GENERIC IOCTL */
    
    typedef struct _DPB_ {
    
       char spec;
       char devtype;
       unsigned devattr;
       unsigned numofcyl;
       char media_type;
    
       EBPB bpb;
       char reserved[6];
    
       unsigned trkcnt;
       TRK_LY trk[100];
    
    } DPB;
    
    /* Параметры для форматирования функцией GENERIC IOCTL */
    
    typedef struct _DPB_FORMAT_ {
    
       char spec;
       unsigned head;
       unsigned track;
    
    } DPB_FORMAT;
    
    
    /* Параметры для чтения/записи функцией GENERIC IOCTL */
    
    typedef struct _DPB_WR_ {
    
       char spec;
       unsigned head;
       unsigned track;
       unsigned sector;
       unsigned sectcnt;
       void _far *buffer;
    
    } DPB_WR;
    
    /* Идентификатор BIOS */
    
    typedef struct _BIOS_ID_ {
    
       char date[8];
       unsigned reserve;
       char pc_type;
    
    } BIOS_ID;
    
    // Состояние мыши
    
    typedef struct _MOUSE_STATE_ {
    
       unsigned bottoms;
       unsigned x;
       unsigned y;
    
    } MOUSE_STATE;
    
    typedef struct _SYSTIMER_ {
    
       char hour;
       char min;
       char sec;
       unsigned year;
       char month;
       char day;
       char daylight_savings;
    
    } SYSTIMER;
    
    #pragma pack()
    
    
    
     /* получить адрес векторной таблицы связи */
    void far *get_cvt(void);
    
     /* получить адрес векторной таблицы связи */
    CVT  far *get_mcvt(void);
    
    /* получить адрес первого MCB */
    MCB  far *get_fmcb(CVT far *); 
    
    /* получить адрес следующего MCB */
    MCB  far *get_nmcb(MCB far *); 
    
    /* получить адрес первого DDCB */
    DDCB  far *get_fddcb(CVT far *); 
    
    /* получить адрес следующего DDCB */
    DDCB  far *get_nddcb(DDCB far *); 
    
    /* получить адрес DDCB для диска */
    DDCB  far *get_ddcb(unsigned char); 
    
    /* получить адрес первой DFT */
    DFT  far *get_fdft(CVT far *); 
    
    /* получить адрес следующей DFT */
    DFT  far *get_ndft(DFT far *); 
    
    /* получить адрес первого BCB */
    BCB  far *get_fbcb(CVT far *); 
    
    /* получить адрес следующего BCB */
    BCB  far *get_nbcb(BCB far *); 
    
     /* прочитать заголовок EXE */
    //int get_exeh(EXE_HDR *,RELOC_TAB **, FILE *);
    
    /* получить модель компьютера */
    char unsigned pc_model(void); 
    
    /* определить конфигурацию дисковой подсистемы */
    void disk_cfg(DISK_CONFIG*);  
    
    /* получить адрес DPT  */
    DPT _far *get_dpt(void);   
    
    /* получить адрес первой HDPT  */
    HDPT _far *get_hdp1(void);      
    
    /* получить адрес второй HDPT  */
    HDPT _far *get_hdp2(void);      
    
    /* получить адрес идентификатора BIOS */
    BIOS_ID _far *getbiosi(void);   
    
    
    int   ms_init(int *);               // Инициализация мыши
    void  ms_on(void);                  // Включение курсора
    void  ms_off(void);                 // Выключение курсора
    void  ms_setcr(int, int);           // Установка курсора
    int   ms_querp(MOUSE_STATE *, int); // Определение состояния
                          // мыши при нажатии на
                          // клавишу
    
    
    // Задать диапазон перемещений курсора по горизонтали
    void  ms_rangx(int xmin, int xmax); 
    
    // Задать диапазон перемещений курсора по вертикали
    void  ms_rangy(int ymin, int ymax); 
    
    // определение формы курсора в графическом режиме
    void  ms_gform(int xt, int yt, char _far *form); 
    
     // определение формы курсора в текстовом режиме
    void ms_tform(int type, int mask1, int mask2);  
    
    // определение относительного перемещения в миках
    MOUSE_STATE *ms_querm(MOUSE_STATE *state);  
    
    // установка драйвера событий
    void ms_seth(int mask, void (far *hand)());  
    
    // Системные часы реального времени
    
    #define RTC_GET_TIME    2
    #define RTC_SET_TIME    3
    #define RTC_GET_DATE    4
    #define RTC_SET_DATE    5
    #define RTC_SET_ALARM   6
    #define RTC_CLEAR_ALARM 7
    
    // работа с часами реального времени
    int timer(char, SYSTIMER *); 
    
    // формирование задержки по таймеру
    void tm_delay(int); 
    
    // формирование тона заданнной длительности с использованием
    // таймера
    void tm_sound(int, int); 
    
    // инициализация генератора случайных чисел
    void rnd_set(int);   
    
    // получение случайного числа
    int rnd_get(void);   
    
    
    typedef struct _AUX_MODE_ {
    
       union {
    
          struct {
             unsigned char  len : 2, // длина символа
                stop         : 1, // число стоп-битов
                parity       : 2, // контроль четности
                stuck_parity : 1, // фиксация четности
                en_break_ctl : 1, // установка перерыва
                dlab         : 1; // загрузка регистра
                            // делителя
          } ctl_word;
    
          char ctl;
    
       } ctl_aux;
    
       unsigned long baud;     // скорость передачи данных
    
    } AUX_MODE;
    
    // инициализация асинхронного адаптера
    int aux_init(AUX_MODE *, int, int); 
    
    // определение режима асинхронного адаптера
    void aux_stat(AUX_MODE *, int); 
    
    // вывод символа в асинхронный адаптер
    void aux_outp(char, int);  
    
    // ввод символа из асинхронного адаптера
    char aux_inp(int); 
    
    // Прототипы функций для работы с дополнительной
    // памятью.
    
    int ems_init(void);
    int ems_stat(void);
    int ems_fram(unsigned *);
    int ems_page(unsigned *, unsigned *);
    int ems_open(int, int *);
    int ems_clos(int *);
    int ems_map(int, int, int);
    int ems_ver(char *);
    

    Включаемый файл "SYSGRAPH.H"

    /* SYSGRAPH.H - включаемый файл для примеров, приведенных в книге 
    
    
    #pragma pack(1)
    
    // переменные видеофункций BIOS
    
    typedef struct _BIOS_VAR_ {
       unsigned char  equipment_flag;
       unsigned char  reserv1[0x38];
       unsigned char  video_mode;
       unsigned       columns;
       unsigned       page_length;
       unsigned       start_addr;
       unsigned       cursor_position[8];
       unsigned       cursor_shape;
       unsigned char  active_page;
       unsigned       crt_address;
       unsigned char  mode_reg_data;
       unsigned char  palette;
       unsigned char  reserv2[0x1D];
       unsigned char  rows;
       unsigned       char_height;
       unsigned char  ega_info_1;
       unsigned char  ega_info_2;
       unsigned char  reserv3[0x1f];
       void far       *environ_ptr;
    } BIOS_VAR;
    
    
    #pragma pack()
    

    Включаемый файл "VGA_NEW.H"

    /**
    *      Включаемый файл vga_new.h
    **/
    
    // сегмент видеопамяти для режима 13h
    #define VGA_SEGMENT     0a000h     
    
    
    // регистр определения различных режимов работы
    #define MOR  3c2h    
    
    // адрес индексного порта синхронизатора
    #define SC_INDEX   3c4h  
    
       // регистр разрешения записи цветового слоя
       #define CPWER   2    
    
       // регистр определения структуры памяти
       #define MMR     4    
    
    
    // адрес индексного порта графического контроллера
    #define GC_INDEX   3ceh  
    
       // регистр выбора читаемого слоя
       #define RPSR    4   
    
       // регистр режима работы
       #define MDR     5   
    
       // регистр смешанного назначения
       #define MIR     6   
    
    
    // адрес индексного порта контроллера ЭЛТ (цветной режим)   
    #define CRTC_INDEX      3d4h     
    
       // регистр высоты символов текста
       #define MSLR    9    
    
       // регистр начального адреса
       #define SAR_h   0ch  
    
       // регистр положения подчеркивания символа
       #define ULR     14h  
    
       // регистр управления режимом
       #define MCR     17h  
    
    
    // режим 320х400 пикселов
    
    // число пикселов по вертикали 
    #define SCREEN_HEIGHT  400 
    
    // число пикселов по горизонтали  
    #define SCREEN_WIDTH   320 
    
    
    // режим 360х480 пикселов
    
    // число пикселов по вертикали 
    #define SCREEN_HEIGHT_H 480 
    
    // число пикселов по горизонтали 
    #define SCREEN_WIDTH_H  360 
    

    Словарь терминов

    black черный
    blue голубой
    brightwhite интенсивно-белый
    brown коричневый
    CD цветной дисплей
    CGA цветной графический адаптер
    color look-up table таблицей цветовой палитры
    color plan цветовой слой
    controller контроллер
    cursor курсор
    cyan синий
    DAC ЦАП (цифро-аналоговый преобразоваатель)
    ECD улучшенный цветной дисплей
    EGA улучшенный графический адаптер
    gray серый
    green зеленый
    Hercules Геркулес
    icon пиктограмма
    latches регистры-защелки
    light pen световое перо
    lightblue светло-голубой
    lightcyan светло-синий
    lightgreen светло-зеленый
    lightmagenta светло-малиновый
    lightred светло-красный
    lightyellow светло-желтый
    magenta малиновый
    MD монохромный дисплей
    MDA монохромный дисплейный адаптер
    monochrome монохромный
    panning панорамирование, сдвиг
    pixel пиксел, элемент изображения
    red чкрасный
    scrolling скроллинг, прокрутка
    VGA массив видеографики
    white белый
    XGA расширенный массив видеографики
    yellow желтый
    [Назад] [Содеожание] [Дальше]