Закрыть окно         Список других документов библиотеки Серкова

Подпрограммы монитора APPLE II и другие специальные адреса.

═ 1 ═══════════════════════════════════════════

COUT - вывод символа.

¤FDED  65005  -531

COUT - является стандартной подпрограммой вывода символа. Символ, который выводится должен быть в аккумуляторе. COUT вызывает подпрограмму вывода текущего символа адрес которой лежит в CSW (находится в ¤36 и ¤37), обычно это подпрограмма COUT1 (смотри ниже).


═ 2 ═══════════════════════════════════════════

COUT1 - вывод символа на экран.

¤FDF0  65008  -528

COUT1 - отображает символ из аккумулятора на экране компьютера Apple в текущей позиции курсора и передвигает курсор на соседнюю позицию, соответствующую выводу следующего символа. Она помещает символ, с учетом установки ячейки нормального/инверсного вывода на экран. Она выполняет управляющий символ перевод строки (RETURN), перевод строки вывода на следующую позицию вниз, и звуковой сигнал. Она возвращает все регистры в исходное состояние.


═ 3 ═════════════════════════════════════════════════════════

SETINV - установка инверсного режима.

¤FE80  65152  -384

Устанавливает инверсный режим вывода на экран для COUT1. Все выводимые символы будут отображаться черными точками на белом фоне. В регистр Y заносится ¤3F, остальные регистры остаются без изменений.


═ 4 ═════════════════════════════════════════════════════════

SETNORM - установка нормального режима.

¤FE84  65156  -380

Устанавливает нормальный режим вывода на экран для COUT1. Все выводимые символы будут отображаться белыми точками на черном фоне. В регистр Y заносится ¤FF, остальные регистры остаются без изменений.


═ 5 ═════════════════════════════════════════════════════════

CROUT - генерация перевода строки (RETURN).

¤FD8E  64910  -626

CROUT - посылает управляющий символ перевода строки в текущее устройство вывода. (Обычно передает его COUT1).


═ 6 ═════════════════════════════════════════════════════════

CROUT1 - перевод строки с очисткой экрана.

¤FD8B  64907  -629

CROUT1 - очищает экран начиная с текущей позиции курсора до конца текстового окна, при вызове CROUT.


═ 7 ═════════════════════════════════════════════════════════

PRBYTE - печать шестнадцатиричного байта.

¤FDDA  64986  -550

Эта подпрограмма выводит содержимое аккумулятора в шеснацатеричном виде на текущее устройство вывода. Содержимое аккумулятора зашифровано.


═ 8 ═════════════════════════════════════════════════════════

PRHEX - печать шестнадцатиричной цифры.

¤FDE3  64995  -541

Эта подпрограмма выводит нижний нибл (четыре двоичные цифры) аккумулятора в виде одной шестнадцатиричной цифры. Содержимое аккумулятора зашифровано.


═ 9 ═════════════════════════════════════════════════════════

PRNTAX - печать содержимого регистров A и X в шестнацатиричном виде.


¤F941  63809  -1727

Программа выводит содержимое регистров A и X как четырехзначную шестнадцатиричную величину. Аккумулятор содержит первый выводимый байт, а регистр X - второй. Содержимое аккумулятора обычно зашифровано.


═ 10 ════════════════════════════════════════════════════════

PRBLNK - печать трех пробелов.

¤F948  63816  -1720

Выводит три пробела на стандартное устройство вывода. После выполнения подпрограммы аккумулятор обычно содержит ¤A0, регистр X содержит 0.


═ 11 ════════════════════════════════════════════════════════

PRBL2 - печать множества пробелов.

¤F94A  63818  -1718

Данная подпрограмма выводит на стандартное устройство вывода от 1 до 256 пробелов. До начала работы подпрограммы регистр X дожен содержать количество выводимых пробелов. Если X=¤00, тогда PRBL2 выведет 256 пробелов.


═ 12 ════════════════════════════════════════════════════════

BELL - воспроизводит звуковой сигнал "бип".

¤FF3A  65338  -198

Данная подпрограмма выводит символ "бип" (CTRL G) на текущее устройство вывода. Она заносит в аккумулятор символ ¤87.


═ 13 ════════════════════════════════════════════════════════

BELL1 - заставляет звучать динамик компьютера.

¤FBDD  64477  -1059

Данная подпрограмма подает на динамик компьютера звуковой сигнал частотой 1 кГц и длительностью 1 секунда. Она зашифровывает содержимое регистров A и X.


═ 14 ════════════════════════════════════════════════════════

RDKEY - взять входной символ.

¤FD0C  64780  -756

Это стандартная подпрограмма ввода символа. 

RDCHAR - взять входной символ или ESC код.

¤FD35  

KEYIN - считать символ с клавиатуры

FD1B   

GETLN - взять входную строку и вывести PROMPT (приглашение из ячейки ¤33).


¤FD6A  

Выводит символ-подсказку (обычно *, но хранится в PROMPT - см. ниже), затем вводит одну строку (см. GETLN1). Может изменять содержимое регистров: A, X, Y.


GETLNZ - взять входную строку

¤FD67  

GETLN1 - взять входную строку и не выводить PROMPT.

¤FD6F  

═ 15 ════════════════════════════════════════════════════════

WAIT - подпрограмма задержки

¤FCA8  

SETCOL - включение цветной гафики низкого разрешения

¤F864  

NEXTCOL - увеличить цвет на 3

¤F85F  

PLOT - нарисовать блок на экране низкого разрешения

¤F800  

HLINE - нарисовать горизонтальную линию из блоков

¤F819  

VLINE - нарисовать вертикальную линию из блоков

¤F828  

CLRSCR - очистить экран низкого разрешения

¤F832  

CLRTOP - очистить верхнюю часть экрана низкого разрешения

¤F836  

SCRN - считать экран низкого разрешения

¤F871  

PREAD - считать состояние игрового пульта

¤FB1E  

PRERR - напечатать "ERR" ("ошибка")

¤FF2D  

IOSAVE - сохранить все регистры

¤FF4A  

IOREST - восстановить все регистры

¤FF3F  

.гр
.ао0
.сс
 Вектора "MONITOR" в 3-ей странице ОЗУ.

╔═════════╦═══════════════════════════════════╗
|Адрес    |Использование                      |
╠════╦════╬═════════════════╦═════════════════╣
|dec |hex |Монитор ROM      |Автостарт ROM    |
╠════╬════╬═════════════════╬═════════════════╣
|1008|¤3F0| не поддержива-  |Адрес обработки  |
|1009|¤3F1|          ется   |прерывания по BRK|
╠════╬════╬═════════════════╬═════════════════╣
|1010|¤3F2|Резерв для допол-|Адрес обработки  |
|1011|¤3F3|нительной обрабо-| "RESET"         |
|    |    |тки после "RESET"|                 |
╠════╬════╬═════════════════╩═════════════════╣
|1012|¤3F4|  Ячейка "индикации питания".      |
╠════╬════╬═══════════════════════════════════╣
|1013|¤3F5|Содержит команду "JMP" и адрес пе- |
|1014|¤3F6| рехода к подпрограмме, которой пе-|
|1015|¤3F7| редается управление при нахождении|
|    |    | интерпретатором "BASIC" в програм-|
|    |    | ме зарезервированного ключевого   |
|    |    | слова "&".                        |
╠════╬════╬═══════════════════════════════════╣
|1016|¤3F8|Содержит команду "JMP" и адрес     |
|1017|¤3F9|     перехода к подпрограмме, вы-  |
|1018|¤3FA| полняемой при нажатии [CTRL- Y] и |
|    |    | [CTRL-M] в диалоге с "MONITOR"    |
╠════╬════╬═══════════════════════════════════╣
|1019|¤3FB|Содержит команду "JMP"  - инструк- |
|1020|¤3FC| цию перехода к подпрограмме, кото-|
|1021|¤3FD| рая   поддерживает   немаскируемые|
|    |    | прерывания  -  NonMaskable  Inter-|
|    |    | rupts (NMI)                       |
╠════╬════╬═══════════════════════════════════╣
|1022|¤3FE|Содержит адрес  подпрограммы, кото-|
|1023|¤3FF| рая поддерживает  маскируемые пре-|
|    |    | рывания - Interrupt ReQuests (IRQ)|
╚════╩════╩═══════════════════════════════════╝
.сс

Закрыть окно         Список других документов библиотеки Серкова