Код
========================================================================
= ОПИСАНИЕ БК-11 ГЛАВА ПЕРВАЯ: РЕГИСТРЫ ВНЕШНИХ УСТРОЙСТВ = fl.1=
========================================================================
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8322)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
1.1 РЕГИСТР СОСТОЯНИЯ КЛАВИАТУРЫ
АДРЕС = 177660
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│ │
┌───────────────────────────────┴┐ ┌┴─────────────────────────┐
│ готовность │ │разрешение прерывания │
│ "1"- в этом разряде означает,│ │"0" - разрешает прерывание│
│что в регистре данных клавиатуры│ │от клавиатуры │
│(177662) находится код нажатой │ └──────────────────────────┘
│клавиши. сбрасывается при чтении│
│кода из регистра (177662). │
│ = доступен только по чтению = │
└────────────────────────────────┘
* остальные разряды НЕ ИСПОЛЬЗУЮТСЯ и читаются как "0"
* по сигналу на ОШ 'INIT' (команда RESET) разряд '6'="0", '7'="0"
1.2 РЕГИСТР ДАННЫХ КЛАВИАТУРЫ
АДРЕС = 177662
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│ │ │ │ │ │ │ │ │
│ │ │ │┌───────┐│ │ │ │┌────────────────┐│
│ │ │ └┤палитра├┘ └──┬┘ └┤код с клавиатуры├┘
│ │ │ └───────┘ │ └────────────────┘
│ │ │┌───────────────┐│
│ │ └┤не используется├┘
│ │ └───────────────┘
│ │┌───────────────────────────────────────────────┐
│ └┤разрешение прерывания по таймеру (вектор 100)│
│ │ ("0"-разрешено) Fтаймера = 48.5 Hz │
│ └───────────────────────────────────────────────┘
│ ┌────────────────────────────────────────────────┐
└──┤управление прерыванием по 'СТОП' '0' - разрешено│
└────────────────────────────────────────────────┘
* при ВКЛЮЧЕНИИИ ПИТАНИЯ разряд '15'="0" (прерывание разрешено),
а разряд '14'="1"(запрещено прерывание от таймера)
* неиспользуемые (7,12,13) разряды читаются как "0"
* МЛАДШИЙ БАЙТ доступен только ПО ЧТЕНИЮ
* код ПАЛИТЫ доступен только ПО ЗАПИСИ
* по включению устанавливается палитра N%15
** ТАБЛИЦА ПАЛИТР **
┌──────┬───────────────────┬───────────────────────────────────────────┐
│номер │ код палитры │ код точки │
│ ├────┬────┬────┬────┼────────┬──────────┬───────────┬───────────┤
│ NN% │ 11 │ 10 │ 09 │ 08 │ 00 │ 10 │ 01 │ 11 │
├──────┼────┼────┴────┴────┼────────┼──────────┼───────────┼───────────┤
│ 00 │ 0 │ 0 0 0 │ черный │ зеленый │ синий │ красный │
│ │ │ │ │ │ │ │
│ 01 │ 0 │ 0 0 1 │ .... │ сирениев.│ желтый │ красный │
│ │ │ │ │ │ │ │
│ 02 │ 0 │ 0 1 0 │ .... │ синий │ голубой │ сиреневый │
│ │ │ │ │ │ │ │
│ 03 │ 0 │ 0 1 1 │ .... │ голубой │ зеленый │ желтый │
│ │ │ │ │ │ │ │
│ 04 │ 0 │ 1 0 0 │ .... │ голубой │ сиренев. │ белый │
│ │ │ │ │ │ │ │
│ 05 │ 0 │ 1 0 1 │ .... │ белый │ белый │ белый │
│ │ │ │ │ │ │ │
│ 06 │ 0 │ 1 1 0 │ .... │красно- │ темно- │ красный │
│ │ │ │ │-коричнев.│ -красный │ │
│ 07 │ 0 │ 1 1 1 │ .... │светло- │ салатовый │ желтый │
│ │ │ │ │ -зеленый │ │ │
│ 08 │ 1 │ 0 0 0 │ .... │ фиолетов.│ фиолетов. │ сиреневый │
│ │ │ │ │ синий │ │ │
│ 09 │ 1 │ 0 0 1 │ .... │ фиолетов.│ светло- │ красно- │
│ │ │ │ │ синий │ -зеленый │-коричневый│
│ 10 │ 1 │ 0 1 0 │ .... │ фиолетов.│ салатовый │ темно- │
│ │ │ │ │ │ │ -красный │
│ 11 │ 1 │ 0 1 1 │ .... │ желтый │ голубой │ красный │
│ │ │ │ │ │ │ │
│ 12 │ 1 │ 1 0 0 │ .... │ зеленый │ красный │ голубой │
│ │ │ │ │ │ │ │
│ 13 │ 1 │ 1 0 1 │ .... │ желтый │ голубой │ белый │
│ │ │ │ │ │ │ │
│ 14 │ 1 │ 1 1 0 │ .... │ зеленый │ желтый │ белый │
│ │ │ │ │ │ │ │
│ 15 │ 1 │ 1 1 1 │ .... │ зеленый │ голубой │ белый │
└──────┴────┴──────────────┴────────┴──────────┴───────────┴───────────┘
2.1 РЕГИСТР СМЕЩЕНИЯ
АДРЕС = 177664
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
┌─────────────────┐│ │┌───────────────────┐│
│'малый'экран ="0"├┘ └┤ смещение ├┘
└─────────────────┘ └───────────────────┘
* при установке разряда '9' в "0" отображается только четверть зкрана
- режим РП (ОЗУ пользователя возрастает до 28 кБ (от 1000 до 70000)
* задание смещения экрана, начальная установка (адресу 40000
сответствует левый верхний угол) - запись числа 1330
4.1 РЕГИСТР ********
АДРЕС = 177700
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* ПРИМЕЧАНИЕ: установка битов '0' или '1' приводит к зависанию,
а установка бита 2 вводит машину в состояние, аналогичное
команде WAIT
4.2 РЕГИСТР ********
АДРЕС = 177702
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
4.3 РЕГИСТР ********
АДРЕС = 177704
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
5. СИСТЕМНЫЙ ТАЙМЕР
ТАЙМЕР СОСТОИТ:
A. генератор с периодом 32 мкс (т.к. тактовая частота процессора
В. делители на 4 и 16 БК-11 и БК-11М составляет 4 MHz, а
C. реверсивный счетчик (177710) не 5 MHz, kak написано в литературе)
D. регистр установки (177706)
E. регистр команд и состояний (177712)
* ДЛЯ СПРАВКИ: тактовая частота, поступающая на процессор, делится на
128. , а потом поступает на таймер
5.1 РЕГИСТР УСТАНОВКИ
АДРЕС = 177706
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* доступен и по записи и по чтению
5.2 РЕВЕРСИВНЫЙ СЧЕТЧИК
АДРЕС = 177710
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* козфициент деления закладывается в регистр установки (177706)
* счетчик загружается из регитра установки (177706) в момент пуска и
перехода через "0" или при обращении к биту 1 регистра управления
* доступен и по записи и по чтению
5.3 РЕГИСТР УПРАВЛЕНИЯ
АДРЕС = 177712
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│┌───────────────────┐│ │ │ │ │ │ │ │ │
└┤ не используются ├┘ │ │ │ │ │ │ │ └───────┐
│и установлены в "1"│ │ │ │ │ │ │ │ ┌───────┴───────┐
└───────────────────┘ │ │ │ │ │ │ │ │ "1" остановка │
┌──────────────┘ │ │ │ │ │ │ └───────────────┘
┌────────────────┴───────────────┐ │ │ │ │ │ └────────┐
│ указатель окончания счета - │ │ │ │ │ │ ┌────────┴─────────┐
│- готовность "1"; в зависимости │ │ │ │ │ │ │ начальная │
│от режима (бит3) останавливается│ │ │ │ │ │ │установка таймера│
│ либо продолжает считать │ │ │ │ │ │ └──────────────────┘
└────────────────────────────────┘ │ │ │ │ └──────────┐
┌─────────────────┘ │ │ │ ┌──────────┴──────────┐
┌────────────────┴───────────────┐ │ │ │ │разрешение установки│
│ включает делитель на 4 │ │ │ │ │сигнала 'конец счета'│
└────────────────────────────────┘ │ │ │ └─────────────────────┘
┌────────────────────┘ │ └────────────┐
┌────────────────┴───────────────┐ │ ┌────────────┴───────────┐
│ включает делитель на 16 │ │ │ режим одновибратора │
└────────────────────────────────┘ │ └────────────────────────┘
┌────────────────┴──────────────┐
│ запуск счетчика; по чтению - │
│ - состояние: "1" - считает │
└───────────────────────────────┘
6.1 РЕГИСТР ПОРТА
АДРЕС = 177714
ФОРМАТ РЕГИСТРА
┌─────────── РЕГИСТР 714 ────────┐
│
┌─────────────────────────────────────────────┐ │
│ по чтению │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│
┌─────────┘
┌─────────────────────────────────────────────┐
│ по записи │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
========================================================================
= ПРОДОЛЖЕНИЕ В СЛЕДУЮЩЕМ ФАЙЛЕ =
========================================================================
КИРОВ 1993
========================================================================
= ОПИСАНИЕ БК-11 ГЛАВА ПЕРВАЯ: РЕГИСТРЫ ВНЕШНИХ УСТРОЙСТВ = fl.2=
========================================================================
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8332)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
РАСПРЕДЕЛEНИЕ АДРЕСНОГО ПРОСТРАНСТВА
окно N%0 окно N%1
0 40000 100000 140000 160000 177777
┌──────────────┬─────────────┬─────────────┬────────────┬────────────┐
│ стр ОЗУ 0 │ ХХХХХХ │ ХХХХХХ │ сист. ПЗУ │регистры ВУ│
└──────────────┴─────────────┴─────────────┴────────────┴────────────┘
│ │
┌───────┘ └────────┐
┌─────────────┴────────────┐ ┌────────────┴────────────┐
│ стр ОЗУ 0....7 │ │ стр ОЗУ 0....7 │
└──────────────────────────┘ └─────────────────────────┘
или
┌─────────────────────────┐
│ стр ПЗУ 8....11 │
└─────────────────────────┘
6.1 РЕГИСТР ПОРТА
АДРЕС = 177716
ФОРМАТ РЕГИСТРА
┌─────────── РЕГИСТР 716 ────────┐
│
┌─────────────────────────────────────────────┐ │
│ по чтению │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│┌───────────────────┐│ │ │ │ │ │
└┤ адрес начального ├┘ │ │ │ │ │
│ пуска 140000 │ │ │ │ │ │
└───────────────────┘ │ │ │ │ │
┌─────────────┘ │ │ └───┐ │
┌─────────┴─────────┐ │ │ ┌───────┴───────┐ │
│ наличие арифм.ПРЦ │ │ │ │признак записи│ │
│ "1" - норма │ │ │ │в сист. регистр│ │
└───────────────────┘ │ │ └───────────────┘ │
┌─────────────────────────┐│ │┌────────────────────┐ │
│ "0" - нажатие клавиши ├┘ └┤данные с магнитофона│ │
└─────────────────────────┘ └────────────────────┘ │
│
┌──────────────────────────────┤
│
┌─────────────────────────────────────────────┐ │
│ по записи, без установки бита 11 │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│ │ │ │ │
│ ┌┴──┴──────────────────┐ │
│ │ данные на магнитофон │ │
│ └──────────────────────┘ │
│ │
┌─────────────────────────┴─────────┐ ┌─────────┘
│'0' включние двигателя магнитофона │ │
└───────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ по записи, при установленом бите 11 │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
┌───────────────────────┐ │││││││ │ ││││││ │ │ │ │ │ │ │
│ окно ОЗУ N%0 ├───┴─────┘ │ │ │ │ │ │ │ │ │ │
└───────────────────────┘ │ │ │ │ │ │ │ │ │ │
┌───────────────────────┐ │ │ │ │ │ │ │ │ │ │
│ окно ОЗУ N%1 ├────────────│──┴────┘ │ │ │ │ │ │ │
└───────────────────────┘ │ │ │ │ │ │ │ │
┌───────────────────────┐ │ │ │ │ │ │ │ │
│ стробирование записи ├────────────┘ │ │ │ │ │ │ │
└───────────────────────┘ │ │ │ │ │ │ │
┌───────────────────────────────────────────────────────────────│──────┐
│ подключение стр. ППЗУ NN% по адресу 100000-140000 11..10.│..9..8│
└───────────────────────────────────────────────────────────────│──────┘
┌───────────────────────────────────────────────────────────────│──────┐
│ бувер зкрана: '0'-буфер 0 [5 страница] '1'-буфер 1 [6 страница] │
└──────────────────────────────────────────────────────────────────────┘
* запись в регистр возможна ТОЛЬКО при установленном 11 БИТЕ и
командами, работающими с регистом, как с целым СЛОВОМ
* в странице 8 ппзу и адресном пространстве 100000-117777 страницы 9
записан BASIC, далее по адресам 12000-137777 расположены подпрограммы
драйвер мониторной ситемы
* ВНИМАНИЕ ! 11й бит по записи обозначает запись параметров
конфигурации памяти , если же 11й бит НЕ установлен, то доступен
регистр управления магнитофоном и прерыванием по клавише (СТОП)
* ОСОБЕННОСТЬ работы с данными выводимыми НА магнитофон, см график:
V напряжение на выходе порта магнитофона
│ ┌───┐
│ │ │
│ │ │
│ ┌───┐ │ │
│ │ │ │ │
│ ┌───┐ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
о ┼────────────────────────────────────────── t
установлен бит 2 │ установлен бит 6
│
установлен бит 5
* на пьезодинамик поступают данные только бита 6 !
* в остальном это примитивный музыкальный ЦАП
КОДИРОВКА ПЕРЕКЛЮЧАЕМЫХ СТАНИЦ ОЗУ
┌────────────────┬──────────────────┬────────────────┬─────────────────┐
│ НОМЕР СТРАНИЦЫ │ МАСКА (14;13;12) │ МАСКА (10,9,8) │ СТАТУС │
├────────────────┼──────────────────┼────────────────┼─────────────────┤
│ 0 │ 60000 │ 3000 │ отображена │
│ │ │ │ 0....40000 │
│ 1 │ 00000 │ 0000 │ │
│ │ │ │ │
│ 2 │ 20000 │ 1000 │ │
│ │ │ │ │
│ 3 │ 30000 │ 1400 │ │
│ │ │ │ │
│ 4 │ 40000 │ 2000 │ │
│ │ │ │ │
│ 5 │ 10000 │ 0400 │ БУФЕР ЭКРАНА 0 │
│ │ │ │ │
│ 6 │ 70000 │ 3400 │ БУФЕР ЭКРАНА 1 │
│ │ │ │ │
│ 7 │ 50000 │ 2400 │ │
└────────────────┴──────────────────┴────────────────┴─────────────────┘
* ВНИМАНИЕ ! маска указана без учета бита 11
7. РЕГИСТРЫ КНГМД
7.1 РЕГИСТР УПРАВЛЕНИЯ
АДРЕС = 177130
ФОРМАТ РЕГИСТРА
┌─────────── РЕГИСТР 130 ────────┐
│
┌─────────────────────────────────────────────┐ │
│ по чтению │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│ │ │ │ │ │ │ │ │ │┌─────────────────────┐
│ │ └──── н/о ──────┘ │ └── н/о ─┘ │ │ └┤ признак '0' дорожка │
│ │ ┌──────────────────┴───────────┐ │ │ └─────────────────────┘
│ │ │ запрос на чтение или записи │ │ │ ┌─────────────────────┐
│ │ │ данных из регистра данных │ │ └───┤ готовность к работе │
│ │ └──────────────────────────────┘ │ └─────────────────────┘
│ │ ┌────────────────────────┐ │ ┌─────────────────────┐
│ └──┤ признак форматирования │ └──────┤ 'защита от записи' │
│ └────────────────────────┘ └─────────────────────┘
│ ┌────────────────────────┐ │
└─────┤ признак '0' сектор │ │
└────────────────────────┘ │
│
┌─────────┘
┌─────────────────────────────────────────────┐
│ по записи │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│ │ │ │ │ │ │ │ │ │ │ │ │
└──── н/о ───┘ │ │ │ │ │ │ │ │ │ │ │
┌────────────────────────────────┐│ │ │ │ │ │ │ │ │ │ │
│ переключение схем предкорреции ├┘ │ │ │ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │
│ признак 'запись маркера' ├───┘ │ │ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │ │ │
│ признак 'начало чтения' ├──────┘ │ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │ │
│ переключение 40/80 дорожек ├─────────┘ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │
│ направление перем. головок ├────────────┘ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │
│ выбор головки: "0"-верхняя ├───────────────┘ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │
│ включение эл-ля, опускание гол.├──────────────────┘ │ │ │ │
└────────────────────────────────┘ │ │ │ │
┌────────────────────────────────────────────────────────────────┐
│ выбор накопителя: номера --------------------- 3 2 1 0│
└────────────────────────────────────────────────────────────────┘
* примечание: в дисководах 6022 сигнал 'готовность к работе' не
используется
* при подаче сигнала 'включение электродвигателя' происходит его
включение и после проверки готовности двигателя и наличия дискеты
происходит опускание головок
* ОЧЕНЬ ВАЖНАЯ ОСОБЕННОСТЬ ! нельзя читать или писать в регистр
данных, если не выставлен бит 7 в регистре управления !
7.2 РЕГИСТР ДАННЫХ
АДРЕС = 177132
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* Все разряды регистра доступны по чтению и по записи
========================================================================
BMS corp. КИРОВ 1993
========================================================================
========================================================================
= ОПИСАНИЕ БК-11М ГЛАВА ВТОРАЯ: КОМАНДЫ МОНИТОРА БК 11М = fl3 =
========================================================================
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8332)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
* МОНИТОР БК 11М *
* готовность монитора к работе - символ '@'
* все числа выводятся в восьмеричеой системе счисления
* собщение об ошибке - '?'
1. РАБОТА С ПАМЯТЬЮ
┌─────────────────────────────┬────────────────────────────────────────┐
│ @XXXXXX\ открыть байт │ содержимое можно изменить, │
│ │ введя новое значение и подав одну │
│ @XXXXXX/ открыть слово │ из команд работы с памятью │
│ │ │
│ │ │
│ @<> открыть пердыдущее │ │
│ слово, байт, регистр │ │
│ │ │
│ @<> открыть следующее │ │
│ слово, байт, регистр │ │
│ │ │
│ @RX/ открыть регистр, где│ │
│ X = (0...7) или 'S' │ │
│ │ │
│ @<┘> закрыть слово, байт │ если было введено новое значение, │
│ или регистр │ то оно будет записано │
│ │ │
│ │ │
│ @<> закрыть ячейку и │ по формуле: │
│ вычислить адрес │ АДРЕС=[адрес тек. ячейки] + [ее содер- │
│ │ -жимое (новое)] + 2 │
│ │ │
│ │ команда используется для открытия │
│ │ аргумента команд с адресацией "67" │
│ │ │
│ @<> закрыть ячейку и │ по формуле: │
│ вычислить адрес │ АДРЕС=[адрес тек. ячейки] + [содер - │
│ │ жимое мл. байта]*2 + 2 │
│ │ │
│ │ команда используется для открытия │
│ │ ячейки, на которуя выполняется переход │
│ │ по комнде "BR" │
│ │ │
│ @<@> закрыть ячейку и │ по формуле: │
│ вычислить адрес │ АДРЕС=[адрес тек. ячейки] │
│ │ │
└─────────────────────────────┴────────────────────────────────────────┘
2. СПЕЦИАЛЬНЫЕ КОМАНДЫ
@N;MC отобразить станицу памяти "N" по адресу "M"
N=(0...7) - ОЗУ N=(10...13) - ПЗУ
M=0 означает адреса с 40000 по 100000
M=1 означает адреса со 100000 по 140000
@XB загрузить оп/систему с накопителя с номером X
- если номер не задан, то поиск системы
производится автоматически
@XXXXXXL загрузить с адреса двоичный файл с МЛ
- если адрес не задан, то загузка производится
по адресу, указанному в заголовке
- в ответ на запрос ввести имя, при вводе
пустого имени производится загрузка
первого встретевшгося файла
@NNNNNN-MMMMMM;U вывести в файл информацию, где NNNNNN -
начальный адрес, а MMMMMM - конечный адрес (включительно)
@NNNNNN+MMMMMM;U вывести в файл информацию, где NNNNNN -
начальный адрес, а MMMMMM - длина в байтах
@XM включить(X=1)/выключить(X=0) двигатель МГ
@XXXXXXG передать управление на программу пользователя
- если адрес не указан, то производится запуск по
адресу загрузки (ячейка 40)
@P продолжить выполнение программы, прерванное прерыванием
по вектору 4
@<ШАГ> пошаговое выполнение программы
@<─┤> анулировать последнюю введенную цифру
@СУ/Е выход в непосредственный режим - используется для
настройки драйвера экрана
- в драйвер передается код ESC (код33), после чего монитор
все вводимуе символы передает драйверу экрана
- выход из режима - СУ/@
- ESC-последовательности ниже
пример:
СУ/Е 0 СУ/@ - установка цветного режима
СУ/Е;21 СУ/@ - установка цвета фона 2 и цвета смволов 1
┌──────────────────────┬───────────────────────────────────────────────┐
│ КОМАНДА │ НАЗНАЧЕНИЕ │
├──────────────────────┼───────────────────────────────────────────────┤
│ ESC 0 (033,060) │ - 32 символа в строке │
│ ESC 1 (033,061) │ - 64 символа в строке │
│ ESC 2 (033,062) │ - 80 символов в строке │
│ ESC 3 (033,063) │ - двойная ширина символов │
│ ESC 4 (033,064) │ - одинарна ширина символов │
│ ESC 5 (033,065) │ - двойная высота символов (верхняя половина) │
│ ESC 6 (033,066) │ - двойная высота символов (нижняя половина) │
│ ESC 7 (033,067) │ - отмена двойной высоты │
│ ESC 8 (033,071) │ - отбражение курсора │
│ ESC 9 (033,072) │ - запрет отображения курсора │
│ ESC : (033,073) │ - установка палитры * │
│ ESC; (033,075) │ - установка цветов ** │
│ ESC = (033,076) │ - вводит режим дополнительной клавиатуры │
│ ESC > (033,100) │ - сбрасывает режим дополнительной клавиатуры │
│ ESC @ (033,101) │ - раздвижка символов от курсора вправо │
│ ESC A (033,102) │ - курсор вверх (в первой строке игнорируется) │
│ ESC B (033,103) │ - курсор вниз (в последней строке игнорируется│
│ ESC C (033,104) │ - курсор вправо (зависят от режима авто- │
│ ESC D (033,105) │ - курсор влево -переноса) │
│ ESC E (033,110) │ - очистка экрана │
│ ESC H (033,111) │ - курсор 'домой' (левый вехний угол) │
│ ESC I (033,112) │ - "обратный ПС" (сдвиг экрана вниз) │
│ ESC J (033,113) │ - стирание вправо от курсора до конца экрана │
│ ESC K (033,114) │ - стирание вправо от курсора до конца строки │
│ ESC L (033,115) │ - раздвижка строк вниз │
│ ESC M (033,116) │ - сдвижка строк снизу, с уничтожением строки │
│ ESC N (033,117) │ - подчеркивание символов │
│ ESC O (033,120) │ - запрет подчеркивания символов │
│ ESC P (033,121) │ - сдвижка символов к курсору влево │
│ ESC Q (033,122) │ - курсор в начало следующей строки │
│ ESC R (033,123) │ - курсор в начало текущей строки │
│ ESC T (033,124) │ - инверсия символов │
│ ESC V (033,125) │ - запрет инверсии │
│ ESC Y (033,131) │ - прямая адресация курсора *** │
│ ESC Z (033,132) │ - индентификация **** │
└──────────────────────┴───────────────────────────────────────────────┘
ПРИМЕЧАНИЯ:
* после команды должен следовать байт, младшие 4 бита которого
задают код палитры (см )
** после команды должны следовать 2 байта, задающие фон и цвет
символов
*** после команды должны следовать 2 байта, задающие код строки и
код позиции в строке (пример: код 040 - верхняя сторка и крайне левая
позиция)
**** в ответ на команду в драйвер клавиатуры передается командная
последовательность: ESC K
** ТАБЛИЦА ПАЛИТР **
┌──────┬───────────────────┬───────────────────────────────────────────┐
│номер │ код палитры │ код точки │
│ ├────┬────┬────┬────┼────────┬──────────┬───────────┬───────────┤
│ NN% │ 11 │ 10 │ 09 │ 08 │ 00 │ 10 │ 01 │ 11 │
├──────┼────┼────┴────┴────┼────────┼──────────┼───────────┼───────────┤
│ 00 │ 0 │ 0 0 0 │ черный │ зеленый │ синий │ красный │
│ │ │ │ │ │ │ │
│ 01 │ 0 │ 0 0 1 │ .... │ сирениев.│ желтый │ красный │
│ │ │ │ │ │ │ │
│ 02 │ 0 │ 0 1 0 │ .... │ синий │ голубой │ сиреневый │
│ │ │ │ │ │ │ │
│ 03 │ 0 │ 0 1 1 │ .... │ голубой │ зеленый │ желтый │
│ │ │ │ │ │ │ │
│ 04 │ 0 │ 1 0 0 │ .... │ голубой │ сиренев. │ белый │
│ │ │ │ │ │ │ │
│ 05 │ 0 │ 1 0 1 │ .... │ белый │ белый │ белый │
│ │ │ │ │ │ │ │
│ 06 │ 0 │ 1 1 0 │ .... │красно- │ темно- │ красный │
│ │ │ │ │-коричнев.│ -красный │ │
│ 07 │ 0 │ 1 1 1 │ .... │светло- │ салатовый │ желтый │
│ │ │ │ │ -зеленый │ │ │
│ 08 │ 1 │ 0 0 0 │ .... │ фиолетов.│ фиолетов. │ сиреневый │
│ │ │ │ │ синий │ │ │
│ 09 │ 1 │ 0 0 1 │ .... │ фиолетов.│ светло- │ красно- │
│ │ │ │ │ синий │ -зеленый │-коричневый│
│ 10 │ 1 │ 0 1 0 │ .... │ фиолетов.│ салатовый │ темно- │
│ │ │ │ │ │ │ -красный │
│ 11 │ 1 │ 0 1 1 │ .... │ желтый │ голубой │ красный │
│ │ │ │ │ │ │ │
│ 12 │ 1 │ 1 0 0 │ .... │ зеленый │ красный │ голубой │
│ │ │ │ │ │ │ │
│ 13 │ 1 │ 1 0 1 │ .... │ желтый │ голубой │ белый │
│ │ │ │ │ │ │ │
│ 14 │ 1 │ 1 1 0 │ .... │ зеленый │ желтый │ белый │
│ │ │ │ │ │ │ │
│ 15 │ 1 │ 1 1 1 │ .... │ зеленый │ голубой │ белый │
└──────┴────┴──────────────┴────────┴──────────┴───────────┴───────────┘
========================================================================
= BMS corp. Kirov 1993 =
========================================================================
╬══════════════════════════════════════════════════════════════════════╬
║ ОПИСАНИЕ БК-11М ГЛАВА ТРЕТЬЯ: СИСТЕМНЫЕ ЗАПРОСЫ БК-11М = fl4 ║
╬══════════════════════════════════════════════════════════════════════╬
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8332)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
┌─────────┬────────┬─────────┬────────┬────────────────────────────────┐
│ N% EMT │ АДРЕС │ АДРЕС @ │ КОМАДА │ ФУНКЦИЯ │
├─────────┼────────┼─────────┼────────┼────────────────────────────────┤
│ ЕМТ 0 │ 150414 │ 140010 │ .BINIT │ инициализация БOC │
│ EMT 1 │ 147712 │ 140012 │ .BEXIT │ выход в клавиатурный монитор │
│ EMT 2 │ 147742 │ 140014 │ .BTRPS │ перехват вектора 4 │
│ EMT 3 │ 150070 │ 140016 │ .BTIM │ управление таймером │
│ EMT 4 │ 152202 │ 140020 │ .BEMT │ управление обработкой ЕМТ │
│ EMT 10 │ 150474 │ 140030 │ .BMEM │ чтение состояния прамяти │
│ EMT 11 │ 150504 │ 140032 │ .BTEST │ чтение статуса страницы │
│ EMT 12 │ 150514 │ 140034 │ .BPAGE │ подключение страницы ОЗУ/ПЗУ │
│ EMT 13 │ 150530 │ 140036 │ .BWORK │ назначение/чт.рабочей страницы │
│ EMT 14 │ 150540 │ 140040 │ .BGETW │ чтение слова из раб. страницы │
│ EMT 15 │ 150564 │ 140042 │ .BGETB │ чтение байта из раб. страницы │
│ EMT 16 │ 150612 │ 140044 │ .BPUTW │ запись слова в рабочую страницу│
│ EMT 17 │ 150654 │ 140046 │ .BPUTB │ запись байта в рабочую страницу│
│ EMT 20 │ 151140 │ 140050 │ .BMOVW │ пересылка массива слов │
│ EMT 21 │ 151156 │ 140052 │ .BMOVB │ пересылка массива байтов │
│ EMT 22 │ 151006 │ 140054 │ .BJSR │ вызов подпрограммы из раб. стр.│
│ EMT 23 │ 151114 │ 140056 │ .BJMP │ переход в рабочую стр. ( JMP ) │
│ EMT 30 │ 146714 │ 140070 │ .BKINI │ инициализация драйв. клавиатуры│
│ EMT 31 │ 146752 │ 140072 │ .BKSET │ установка реж. драйв. клавиат. │
│ EMT 32 │ 146764 │ 140074 │ .BKGET │ чтение режима драйв. клавиатуры│
│ EMT 33 │ 147550 │ 140076 │ .BTTIN │ ввод символа с ожиданием │
│ EMT 34 │ 147406 │ 140100 │ .BINKEY│ ввод символа без ожидания │
│ EMT 35 │ 151336 │ 140102 │ .BGLIN │ ввод строки с редактираванием │
│ EMT 36 │ 151266 │ 140104 │ .BEDIT │ редактирование сущ. строки │
│ EMT 37 │ 147636 │ 140106 │ .BKRES │ сброс буфера клавиатуры │
│ EMT 40 │ 147672 │ 140110 │ .BSFUN │ установка функциональных клавиш│
│ EMT 41 │ 147702 │ 140112 │ .BGFUN │ чтение функциональных клавиш │
│ EMT 50 │ 143456 │ 140130 │ .BTINI │ инициализация драйвера экрана │
│ EMT 51 │ 143446 │ 140132 │ .BTSET │ уст. режима драйвера экрана │
│ EMT 52 │ 143434 │ 140134 │ .BTGET │ чтение режима драйвера экрана │
│ EMT 53 │ 143274 │ 140136 │ .BSCOL │ установка цветов │
│ EMT 54 │ 143414 │ 140140 │ .BGCOL │ чтение цветов │
│ EMT 55 │ 150000 │ 140142 │ .BPAL │ установка/чтение палитры │
│ EMT 56 │ 143466 │ 140144 │ .BBUF │ переключение буферов экрана │
│ EMT 57 │ 143476 │ 140146 │ .BSPOS │ установка координат А/Ц курсора│
│ EMT 60 │ 143560 │ 140150 │ .BGPOS │ чтение координат А/Ц курсора │
│ EMT 61 │ 143572 │ 140152 │ .BSCRL │ сдвиг экрана │
│ EMT 62 │ 143622 │ 140154 │ .BCLS │ очистка экрана │
│ EMT 63 │ 143070 │ 140056 │ .BTOUT │ вывод символа │
│ EMT 64 │ 143142 │ 140160 │ .BPRIN │ вывод строки в формате RT-11 │
│ EMT 65 │ 143130 │ 140162 │ .BSTR │ вывод строки символов │
│ EMT 66 │ 152470 │ 140164 │ .BSGRF │ установка тек. граф. координат │
│ EMT 67 │ 152506 │ 140166 │ .BGGRF │ чтение текущих граф. координат │
│ EMT 70 │ 152524 │ 140170 │ .BSCRG │ установка гафического цвета │
│ EMT 71 │ 152546 │ 140173 │ .BGCGR │ чтение графического цвета │
│ EMT 72 │ 152564 │ 140174 │ .BGMOD │ установка/чтение реж. рисования│
│ EMT 73 │ 152230 │ 140176 │ .BSPNT │ вывод графической точки │
│ EMT 74 │ 152372 │ 140200 │ .BGPNT │ чтение цвета графической точки │
│ EMT 75 │ 152460 │ 140202 │ .BVECT │ вывод вектора │
│ EMT 76 │ 153424 │ 140204 │ .BRECT │ вывод закрашеного прямоугол. │
│ EMT 77 │ 152722 │ 140206 │ .BCIRC │ вывод дуги или окружности │
│ EMT 100 │ 154202 │ 140210 │ .BFILL │ закраска гранично-опред. обл. │
│ EMT 101 │ 143636 │ 140212 │ .BSOUN │ выдача звука │
│ EMT 102 │ 153000 │ 140214 │ .BSWIN │ установка графического окна │
│ EMT 103 │ 153134 │ 140216 │ .BGWIN │ чтение графического окна │
│ EMT 105 │ 152614 │ 140222 │ .BSTYP │ установка типа вектора │
│ EMT 106 │ 152660 │ 140224 │ .BGTYP │ чтение типа вектора │
│ EMT 107 │ 153166 │ 140226 │ .BGOSET│ уст./чт. ориент. граф. символов│
│ EMT 110 │ 153226 │ 140230 │ .BGOUT │ графический вывод символа │
│ EMT 114 │ 154550 │ 140240 │ .BMOT │ управление двигателем магн. │
│ EMT 115 │ 154614 │ 140242 │ .BMB10 │ вызов формата БК-0010(.01) │
│ EMT 124 │ 156560 │ 140260 │ .BPINI │ инициализация драйвера принтера│
│ EMT 125 │ 156612 │ 140262 │ .BPSET │ установка режима печати │
│ EMT 126 │ 156664 │ 140264 │ .BPGET │ чтение режима печати │
│ EMT 127 │ 156736 │ 140266 │ .BPOUT │ вывод символа на печать │
│ EMT 130 │ 156676 │ 140270 │ .BPRDY │ определение готовности принтера│
│ EMT 131 │ 156724 │ 140272 │ .BPPOS │ определиние позиции печ. гол. │
└─────────┴────────┴─────────┴────────┴────────────────────────────────┘
========================================================================
= BMS corp. продолжение следует Kirov 1993 =
========================================================================
= ОПИСАНИЕ БК-11 ГЛАВА ПЕРВАЯ: РЕГИСТРЫ ВНЕШНИХ УСТРОЙСТВ = fl.1=
========================================================================
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8322)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
1.1 РЕГИСТР СОСТОЯНИЯ КЛАВИАТУРЫ
АДРЕС = 177660
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│ │
┌───────────────────────────────┴┐ ┌┴─────────────────────────┐
│ готовность │ │разрешение прерывания │
│ "1"- в этом разряде означает,│ │"0" - разрешает прерывание│
│что в регистре данных клавиатуры│ │от клавиатуры │
│(177662) находится код нажатой │ └──────────────────────────┘
│клавиши. сбрасывается при чтении│
│кода из регистра (177662). │
│ = доступен только по чтению = │
└────────────────────────────────┘
* остальные разряды НЕ ИСПОЛЬЗУЮТСЯ и читаются как "0"
* по сигналу на ОШ 'INIT' (команда RESET) разряд '6'="0", '7'="0"
1.2 РЕГИСТР ДАННЫХ КЛАВИАТУРЫ
АДРЕС = 177662
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│ │ │ │ │ │ │ │ │
│ │ │ │┌───────┐│ │ │ │┌────────────────┐│
│ │ │ └┤палитра├┘ └──┬┘ └┤код с клавиатуры├┘
│ │ │ └───────┘ │ └────────────────┘
│ │ │┌───────────────┐│
│ │ └┤не используется├┘
│ │ └───────────────┘
│ │┌───────────────────────────────────────────────┐
│ └┤разрешение прерывания по таймеру (вектор 100)│
│ │ ("0"-разрешено) Fтаймера = 48.5 Hz │
│ └───────────────────────────────────────────────┘
│ ┌────────────────────────────────────────────────┐
└──┤управление прерыванием по 'СТОП' '0' - разрешено│
└────────────────────────────────────────────────┘
* при ВКЛЮЧЕНИИИ ПИТАНИЯ разряд '15'="0" (прерывание разрешено),
а разряд '14'="1"(запрещено прерывание от таймера)
* неиспользуемые (7,12,13) разряды читаются как "0"
* МЛАДШИЙ БАЙТ доступен только ПО ЧТЕНИЮ
* код ПАЛИТЫ доступен только ПО ЗАПИСИ
* по включению устанавливается палитра N%15
** ТАБЛИЦА ПАЛИТР **
┌──────┬───────────────────┬───────────────────────────────────────────┐
│номер │ код палитры │ код точки │
│ ├────┬────┬────┬────┼────────┬──────────┬───────────┬───────────┤
│ NN% │ 11 │ 10 │ 09 │ 08 │ 00 │ 10 │ 01 │ 11 │
├──────┼────┼────┴────┴────┼────────┼──────────┼───────────┼───────────┤
│ 00 │ 0 │ 0 0 0 │ черный │ зеленый │ синий │ красный │
│ │ │ │ │ │ │ │
│ 01 │ 0 │ 0 0 1 │ .... │ сирениев.│ желтый │ красный │
│ │ │ │ │ │ │ │
│ 02 │ 0 │ 0 1 0 │ .... │ синий │ голубой │ сиреневый │
│ │ │ │ │ │ │ │
│ 03 │ 0 │ 0 1 1 │ .... │ голубой │ зеленый │ желтый │
│ │ │ │ │ │ │ │
│ 04 │ 0 │ 1 0 0 │ .... │ голубой │ сиренев. │ белый │
│ │ │ │ │ │ │ │
│ 05 │ 0 │ 1 0 1 │ .... │ белый │ белый │ белый │
│ │ │ │ │ │ │ │
│ 06 │ 0 │ 1 1 0 │ .... │красно- │ темно- │ красный │
│ │ │ │ │-коричнев.│ -красный │ │
│ 07 │ 0 │ 1 1 1 │ .... │светло- │ салатовый │ желтый │
│ │ │ │ │ -зеленый │ │ │
│ 08 │ 1 │ 0 0 0 │ .... │ фиолетов.│ фиолетов. │ сиреневый │
│ │ │ │ │ синий │ │ │
│ 09 │ 1 │ 0 0 1 │ .... │ фиолетов.│ светло- │ красно- │
│ │ │ │ │ синий │ -зеленый │-коричневый│
│ 10 │ 1 │ 0 1 0 │ .... │ фиолетов.│ салатовый │ темно- │
│ │ │ │ │ │ │ -красный │
│ 11 │ 1 │ 0 1 1 │ .... │ желтый │ голубой │ красный │
│ │ │ │ │ │ │ │
│ 12 │ 1 │ 1 0 0 │ .... │ зеленый │ красный │ голубой │
│ │ │ │ │ │ │ │
│ 13 │ 1 │ 1 0 1 │ .... │ желтый │ голубой │ белый │
│ │ │ │ │ │ │ │
│ 14 │ 1 │ 1 1 0 │ .... │ зеленый │ желтый │ белый │
│ │ │ │ │ │ │ │
│ 15 │ 1 │ 1 1 1 │ .... │ зеленый │ голубой │ белый │
└──────┴────┴──────────────┴────────┴──────────┴───────────┴───────────┘
2.1 РЕГИСТР СМЕЩЕНИЯ
АДРЕС = 177664
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
┌─────────────────┐│ │┌───────────────────┐│
│'малый'экран ="0"├┘ └┤ смещение ├┘
└─────────────────┘ └───────────────────┘
* при установке разряда '9' в "0" отображается только четверть зкрана
- режим РП (ОЗУ пользователя возрастает до 28 кБ (от 1000 до 70000)
* задание смещения экрана, начальная установка (адресу 40000
сответствует левый верхний угол) - запись числа 1330
4.1 РЕГИСТР ********
АДРЕС = 177700
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* ПРИМЕЧАНИЕ: установка битов '0' или '1' приводит к зависанию,
а установка бита 2 вводит машину в состояние, аналогичное
команде WAIT
4.2 РЕГИСТР ********
АДРЕС = 177702
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
4.3 РЕГИСТР ********
АДРЕС = 177704
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
5. СИСТЕМНЫЙ ТАЙМЕР
ТАЙМЕР СОСТОИТ:
A. генератор с периодом 32 мкс (т.к. тактовая частота процессора
В. делители на 4 и 16 БК-11 и БК-11М составляет 4 MHz, а
C. реверсивный счетчик (177710) не 5 MHz, kak написано в литературе)
D. регистр установки (177706)
E. регистр команд и состояний (177712)
* ДЛЯ СПРАВКИ: тактовая частота, поступающая на процессор, делится на
128. , а потом поступает на таймер
5.1 РЕГИСТР УСТАНОВКИ
АДРЕС = 177706
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* доступен и по записи и по чтению
5.2 РЕВЕРСИВНЫЙ СЧЕТЧИК
АДРЕС = 177710
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* козфициент деления закладывается в регистр установки (177706)
* счетчик загружается из регитра установки (177706) в момент пуска и
перехода через "0" или при обращении к биту 1 регистра управления
* доступен и по записи и по чтению
5.3 РЕГИСТР УПРАВЛЕНИЯ
АДРЕС = 177712
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│┌───────────────────┐│ │ │ │ │ │ │ │ │
└┤ не используются ├┘ │ │ │ │ │ │ │ └───────┐
│и установлены в "1"│ │ │ │ │ │ │ │ ┌───────┴───────┐
└───────────────────┘ │ │ │ │ │ │ │ │ "1" остановка │
┌──────────────┘ │ │ │ │ │ │ └───────────────┘
┌────────────────┴───────────────┐ │ │ │ │ │ └────────┐
│ указатель окончания счета - │ │ │ │ │ │ ┌────────┴─────────┐
│- готовность "1"; в зависимости │ │ │ │ │ │ │ начальная │
│от режима (бит3) останавливается│ │ │ │ │ │ │установка таймера│
│ либо продолжает считать │ │ │ │ │ │ └──────────────────┘
└────────────────────────────────┘ │ │ │ │ └──────────┐
┌─────────────────┘ │ │ │ ┌──────────┴──────────┐
┌────────────────┴───────────────┐ │ │ │ │разрешение установки│
│ включает делитель на 4 │ │ │ │ │сигнала 'конец счета'│
└────────────────────────────────┘ │ │ │ └─────────────────────┘
┌────────────────────┘ │ └────────────┐
┌────────────────┴───────────────┐ │ ┌────────────┴───────────┐
│ включает делитель на 16 │ │ │ режим одновибратора │
└────────────────────────────────┘ │ └────────────────────────┘
┌────────────────┴──────────────┐
│ запуск счетчика; по чтению - │
│ - состояние: "1" - считает │
└───────────────────────────────┘
6.1 РЕГИСТР ПОРТА
АДРЕС = 177714
ФОРМАТ РЕГИСТРА
┌─────────── РЕГИСТР 714 ────────┐
│
┌─────────────────────────────────────────────┐ │
│ по чтению │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│
┌─────────┘
┌─────────────────────────────────────────────┐
│ по записи │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
========================================================================
= ПРОДОЛЖЕНИЕ В СЛЕДУЮЩЕМ ФАЙЛЕ =
========================================================================
КИРОВ 1993
========================================================================
= ОПИСАНИЕ БК-11 ГЛАВА ПЕРВАЯ: РЕГИСТРЫ ВНЕШНИХ УСТРОЙСТВ = fl.2=
========================================================================
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8332)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
РАСПРЕДЕЛEНИЕ АДРЕСНОГО ПРОСТРАНСТВА
окно N%0 окно N%1
0 40000 100000 140000 160000 177777
┌──────────────┬─────────────┬─────────────┬────────────┬────────────┐
│ стр ОЗУ 0 │ ХХХХХХ │ ХХХХХХ │ сист. ПЗУ │регистры ВУ│
└──────────────┴─────────────┴─────────────┴────────────┴────────────┘
│ │
┌───────┘ └────────┐
┌─────────────┴────────────┐ ┌────────────┴────────────┐
│ стр ОЗУ 0....7 │ │ стр ОЗУ 0....7 │
└──────────────────────────┘ └─────────────────────────┘
или
┌─────────────────────────┐
│ стр ПЗУ 8....11 │
└─────────────────────────┘
6.1 РЕГИСТР ПОРТА
АДРЕС = 177716
ФОРМАТ РЕГИСТРА
┌─────────── РЕГИСТР 716 ────────┐
│
┌─────────────────────────────────────────────┐ │
│ по чтению │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│┌───────────────────┐│ │ │ │ │ │
└┤ адрес начального ├┘ │ │ │ │ │
│ пуска 140000 │ │ │ │ │ │
└───────────────────┘ │ │ │ │ │
┌─────────────┘ │ │ └───┐ │
┌─────────┴─────────┐ │ │ ┌───────┴───────┐ │
│ наличие арифм.ПРЦ │ │ │ │признак записи│ │
│ "1" - норма │ │ │ │в сист. регистр│ │
└───────────────────┘ │ │ └───────────────┘ │
┌─────────────────────────┐│ │┌────────────────────┐ │
│ "0" - нажатие клавиши ├┘ └┤данные с магнитофона│ │
└─────────────────────────┘ └────────────────────┘ │
│
┌──────────────────────────────┤
│
┌─────────────────────────────────────────────┐ │
│ по записи, без установки бита 11 │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│ │ │ │ │
│ ┌┴──┴──────────────────┐ │
│ │ данные на магнитофон │ │
│ └──────────────────────┘ │
│ │
┌─────────────────────────┴─────────┐ ┌─────────┘
│'0' включние двигателя магнитофона │ │
└───────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ по записи, при установленом бите 11 │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
┌───────────────────────┐ │││││││ │ ││││││ │ │ │ │ │ │ │
│ окно ОЗУ N%0 ├───┴─────┘ │ │ │ │ │ │ │ │ │ │
└───────────────────────┘ │ │ │ │ │ │ │ │ │ │
┌───────────────────────┐ │ │ │ │ │ │ │ │ │ │
│ окно ОЗУ N%1 ├────────────│──┴────┘ │ │ │ │ │ │ │
└───────────────────────┘ │ │ │ │ │ │ │ │
┌───────────────────────┐ │ │ │ │ │ │ │ │
│ стробирование записи ├────────────┘ │ │ │ │ │ │ │
└───────────────────────┘ │ │ │ │ │ │ │
┌───────────────────────────────────────────────────────────────│──────┐
│ подключение стр. ППЗУ NN% по адресу 100000-140000 11..10.│..9..8│
└───────────────────────────────────────────────────────────────│──────┘
┌───────────────────────────────────────────────────────────────│──────┐
│ бувер зкрана: '0'-буфер 0 [5 страница] '1'-буфер 1 [6 страница] │
└──────────────────────────────────────────────────────────────────────┘
* запись в регистр возможна ТОЛЬКО при установленном 11 БИТЕ и
командами, работающими с регистом, как с целым СЛОВОМ
* в странице 8 ппзу и адресном пространстве 100000-117777 страницы 9
записан BASIC, далее по адресам 12000-137777 расположены подпрограммы
драйвер мониторной ситемы
* ВНИМАНИЕ ! 11й бит по записи обозначает запись параметров
конфигурации памяти , если же 11й бит НЕ установлен, то доступен
регистр управления магнитофоном и прерыванием по клавише (СТОП)
* ОСОБЕННОСТЬ работы с данными выводимыми НА магнитофон, см график:
V напряжение на выходе порта магнитофона
│ ┌───┐
│ │ │
│ │ │
│ ┌───┐ │ │
│ │ │ │ │
│ ┌───┐ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
о ┼────────────────────────────────────────── t
установлен бит 2 │ установлен бит 6
│
установлен бит 5
* на пьезодинамик поступают данные только бита 6 !
* в остальном это примитивный музыкальный ЦАП
КОДИРОВКА ПЕРЕКЛЮЧАЕМЫХ СТАНИЦ ОЗУ
┌────────────────┬──────────────────┬────────────────┬─────────────────┐
│ НОМЕР СТРАНИЦЫ │ МАСКА (14;13;12) │ МАСКА (10,9,8) │ СТАТУС │
├────────────────┼──────────────────┼────────────────┼─────────────────┤
│ 0 │ 60000 │ 3000 │ отображена │
│ │ │ │ 0....40000 │
│ 1 │ 00000 │ 0000 │ │
│ │ │ │ │
│ 2 │ 20000 │ 1000 │ │
│ │ │ │ │
│ 3 │ 30000 │ 1400 │ │
│ │ │ │ │
│ 4 │ 40000 │ 2000 │ │
│ │ │ │ │
│ 5 │ 10000 │ 0400 │ БУФЕР ЭКРАНА 0 │
│ │ │ │ │
│ 6 │ 70000 │ 3400 │ БУФЕР ЭКРАНА 1 │
│ │ │ │ │
│ 7 │ 50000 │ 2400 │ │
└────────────────┴──────────────────┴────────────────┴─────────────────┘
* ВНИМАНИЕ ! маска указана без учета бита 11
7. РЕГИСТРЫ КНГМД
7.1 РЕГИСТР УПРАВЛЕНИЯ
АДРЕС = 177130
ФОРМАТ РЕГИСТРА
┌─────────── РЕГИСТР 130 ────────┐
│
┌─────────────────────────────────────────────┐ │
│ по чтению │ │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ │
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │
│ │ │ │ │ │ │ │ │ │┌─────────────────────┐
│ │ └──── н/о ──────┘ │ └── н/о ─┘ │ │ └┤ признак '0' дорожка │
│ │ ┌──────────────────┴───────────┐ │ │ └─────────────────────┘
│ │ │ запрос на чтение или записи │ │ │ ┌─────────────────────┐
│ │ │ данных из регистра данных │ │ └───┤ готовность к работе │
│ │ └──────────────────────────────┘ │ └─────────────────────┘
│ │ ┌────────────────────────┐ │ ┌─────────────────────┐
│ └──┤ признак форматирования │ └──────┤ 'защита от записи' │
│ └────────────────────────┘ └─────────────────────┘
│ ┌────────────────────────┐ │
└─────┤ признак '0' сектор │ │
└────────────────────────┘ │
│
┌─────────┘
┌─────────────────────────────────────────────┐
│ по записи │
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
│ │ │ │ │ │ │ │ │ │ │ │ │
└──── н/о ───┘ │ │ │ │ │ │ │ │ │ │ │
┌────────────────────────────────┐│ │ │ │ │ │ │ │ │ │ │
│ переключение схем предкорреции ├┘ │ │ │ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │
│ признак 'запись маркера' ├───┘ │ │ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │ │ │
│ признак 'начало чтения' ├──────┘ │ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │ │
│ переключение 40/80 дорожек ├─────────┘ │ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │ │
│ направление перем. головок ├────────────┘ │ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │ │
│ выбор головки: "0"-верхняя ├───────────────┘ │ │ │ │ │
└────────────────────────────────┘ │ │ │ │ │
┌────────────────────────────────┐ │ │ │ │ │
│ включение эл-ля, опускание гол.├──────────────────┘ │ │ │ │
└────────────────────────────────┘ │ │ │ │
┌────────────────────────────────────────────────────────────────┐
│ выбор накопителя: номера --------------------- 3 2 1 0│
└────────────────────────────────────────────────────────────────┘
* примечание: в дисководах 6022 сигнал 'готовность к работе' не
используется
* при подаче сигнала 'включение электродвигателя' происходит его
включение и после проверки готовности двигателя и наличия дискеты
происходит опускание головок
* ОЧЕНЬ ВАЖНАЯ ОСОБЕННОСТЬ ! нельзя читать или писать в регистр
данных, если не выставлен бит 7 в регистре управления !
7.2 РЕГИСТР ДАННЫХ
АДРЕС = 177132
ФОРМАТ РЕГИСТРА
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
* Все разряды регистра доступны по чтению и по записи
========================================================================
BMS corp. КИРОВ 1993
========================================================================
========================================================================
= ОПИСАНИЕ БК-11М ГЛАВА ВТОРАЯ: КОМАНДЫ МОНИТОРА БК 11М = fl3 =
========================================================================
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8332)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
* МОНИТОР БК 11М *
* готовность монитора к работе - символ '@'
* все числа выводятся в восьмеричеой системе счисления
* собщение об ошибке - '?'
1. РАБОТА С ПАМЯТЬЮ
┌─────────────────────────────┬────────────────────────────────────────┐
│ @XXXXXX\ открыть байт │ содержимое можно изменить, │
│ │ введя новое значение и подав одну │
│ @XXXXXX/ открыть слово │ из команд работы с памятью │
│ │ │
│ │ │
│ @<> открыть пердыдущее │ │
│ слово, байт, регистр │ │
│ │ │
│ @<> открыть следующее │ │
│ слово, байт, регистр │ │
│ │ │
│ @RX/ открыть регистр, где│ │
│ X = (0...7) или 'S' │ │
│ │ │
│ @<┘> закрыть слово, байт │ если было введено новое значение, │
│ или регистр │ то оно будет записано │
│ │ │
│ │ │
│ @<> закрыть ячейку и │ по формуле: │
│ вычислить адрес │ АДРЕС=[адрес тек. ячейки] + [ее содер- │
│ │ -жимое (новое)] + 2 │
│ │ │
│ │ команда используется для открытия │
│ │ аргумента команд с адресацией "67" │
│ │ │
│ @<> закрыть ячейку и │ по формуле: │
│ вычислить адрес │ АДРЕС=[адрес тек. ячейки] + [содер - │
│ │ жимое мл. байта]*2 + 2 │
│ │ │
│ │ команда используется для открытия │
│ │ ячейки, на которуя выполняется переход │
│ │ по комнде "BR" │
│ │ │
│ @<@> закрыть ячейку и │ по формуле: │
│ вычислить адрес │ АДРЕС=[адрес тек. ячейки] │
│ │ │
└─────────────────────────────┴────────────────────────────────────────┘
2. СПЕЦИАЛЬНЫЕ КОМАНДЫ
@N;MC отобразить станицу памяти "N" по адресу "M"
N=(0...7) - ОЗУ N=(10...13) - ПЗУ
M=0 означает адреса с 40000 по 100000
M=1 означает адреса со 100000 по 140000
@XB загрузить оп/систему с накопителя с номером X
- если номер не задан, то поиск системы
производится автоматически
@XXXXXXL загрузить с адреса двоичный файл с МЛ
- если адрес не задан, то загузка производится
по адресу, указанному в заголовке
- в ответ на запрос ввести имя, при вводе
пустого имени производится загрузка
первого встретевшгося файла
@NNNNNN-MMMMMM;U вывести в файл информацию, где NNNNNN -
начальный адрес, а MMMMMM - конечный адрес (включительно)
@NNNNNN+MMMMMM;U вывести в файл информацию, где NNNNNN -
начальный адрес, а MMMMMM - длина в байтах
@XM включить(X=1)/выключить(X=0) двигатель МГ
@XXXXXXG передать управление на программу пользователя
- если адрес не указан, то производится запуск по
адресу загрузки (ячейка 40)
@P продолжить выполнение программы, прерванное прерыванием
по вектору 4
@<ШАГ> пошаговое выполнение программы
@<─┤> анулировать последнюю введенную цифру
@СУ/Е выход в непосредственный режим - используется для
настройки драйвера экрана
- в драйвер передается код ESC (код33), после чего монитор
все вводимуе символы передает драйверу экрана
- выход из режима - СУ/@
- ESC-последовательности ниже
пример:
СУ/Е 0 СУ/@ - установка цветного режима
СУ/Е;21 СУ/@ - установка цвета фона 2 и цвета смволов 1
┌──────────────────────┬───────────────────────────────────────────────┐
│ КОМАНДА │ НАЗНАЧЕНИЕ │
├──────────────────────┼───────────────────────────────────────────────┤
│ ESC 0 (033,060) │ - 32 символа в строке │
│ ESC 1 (033,061) │ - 64 символа в строке │
│ ESC 2 (033,062) │ - 80 символов в строке │
│ ESC 3 (033,063) │ - двойная ширина символов │
│ ESC 4 (033,064) │ - одинарна ширина символов │
│ ESC 5 (033,065) │ - двойная высота символов (верхняя половина) │
│ ESC 6 (033,066) │ - двойная высота символов (нижняя половина) │
│ ESC 7 (033,067) │ - отмена двойной высоты │
│ ESC 8 (033,071) │ - отбражение курсора │
│ ESC 9 (033,072) │ - запрет отображения курсора │
│ ESC : (033,073) │ - установка палитры * │
│ ESC; (033,075) │ - установка цветов ** │
│ ESC = (033,076) │ - вводит режим дополнительной клавиатуры │
│ ESC > (033,100) │ - сбрасывает режим дополнительной клавиатуры │
│ ESC @ (033,101) │ - раздвижка символов от курсора вправо │
│ ESC A (033,102) │ - курсор вверх (в первой строке игнорируется) │
│ ESC B (033,103) │ - курсор вниз (в последней строке игнорируется│
│ ESC C (033,104) │ - курсор вправо (зависят от режима авто- │
│ ESC D (033,105) │ - курсор влево -переноса) │
│ ESC E (033,110) │ - очистка экрана │
│ ESC H (033,111) │ - курсор 'домой' (левый вехний угол) │
│ ESC I (033,112) │ - "обратный ПС" (сдвиг экрана вниз) │
│ ESC J (033,113) │ - стирание вправо от курсора до конца экрана │
│ ESC K (033,114) │ - стирание вправо от курсора до конца строки │
│ ESC L (033,115) │ - раздвижка строк вниз │
│ ESC M (033,116) │ - сдвижка строк снизу, с уничтожением строки │
│ ESC N (033,117) │ - подчеркивание символов │
│ ESC O (033,120) │ - запрет подчеркивания символов │
│ ESC P (033,121) │ - сдвижка символов к курсору влево │
│ ESC Q (033,122) │ - курсор в начало следующей строки │
│ ESC R (033,123) │ - курсор в начало текущей строки │
│ ESC T (033,124) │ - инверсия символов │
│ ESC V (033,125) │ - запрет инверсии │
│ ESC Y (033,131) │ - прямая адресация курсора *** │
│ ESC Z (033,132) │ - индентификация **** │
└──────────────────────┴───────────────────────────────────────────────┘
ПРИМЕЧАНИЯ:
* после команды должен следовать байт, младшие 4 бита которого
задают код палитры (см )
** после команды должны следовать 2 байта, задающие фон и цвет
символов
*** после команды должны следовать 2 байта, задающие код строки и
код позиции в строке (пример: код 040 - верхняя сторка и крайне левая
позиция)
**** в ответ на команду в драйвер клавиатуры передается командная
последовательность: ESC K
** ТАБЛИЦА ПАЛИТР **
┌──────┬───────────────────┬───────────────────────────────────────────┐
│номер │ код палитры │ код точки │
│ ├────┬────┬────┬────┼────────┬──────────┬───────────┬───────────┤
│ NN% │ 11 │ 10 │ 09 │ 08 │ 00 │ 10 │ 01 │ 11 │
├──────┼────┼────┴────┴────┼────────┼──────────┼───────────┼───────────┤
│ 00 │ 0 │ 0 0 0 │ черный │ зеленый │ синий │ красный │
│ │ │ │ │ │ │ │
│ 01 │ 0 │ 0 0 1 │ .... │ сирениев.│ желтый │ красный │
│ │ │ │ │ │ │ │
│ 02 │ 0 │ 0 1 0 │ .... │ синий │ голубой │ сиреневый │
│ │ │ │ │ │ │ │
│ 03 │ 0 │ 0 1 1 │ .... │ голубой │ зеленый │ желтый │
│ │ │ │ │ │ │ │
│ 04 │ 0 │ 1 0 0 │ .... │ голубой │ сиренев. │ белый │
│ │ │ │ │ │ │ │
│ 05 │ 0 │ 1 0 1 │ .... │ белый │ белый │ белый │
│ │ │ │ │ │ │ │
│ 06 │ 0 │ 1 1 0 │ .... │красно- │ темно- │ красный │
│ │ │ │ │-коричнев.│ -красный │ │
│ 07 │ 0 │ 1 1 1 │ .... │светло- │ салатовый │ желтый │
│ │ │ │ │ -зеленый │ │ │
│ 08 │ 1 │ 0 0 0 │ .... │ фиолетов.│ фиолетов. │ сиреневый │
│ │ │ │ │ синий │ │ │
│ 09 │ 1 │ 0 0 1 │ .... │ фиолетов.│ светло- │ красно- │
│ │ │ │ │ синий │ -зеленый │-коричневый│
│ 10 │ 1 │ 0 1 0 │ .... │ фиолетов.│ салатовый │ темно- │
│ │ │ │ │ │ │ -красный │
│ 11 │ 1 │ 0 1 1 │ .... │ желтый │ голубой │ красный │
│ │ │ │ │ │ │ │
│ 12 │ 1 │ 1 0 0 │ .... │ зеленый │ красный │ голубой │
│ │ │ │ │ │ │ │
│ 13 │ 1 │ 1 0 1 │ .... │ желтый │ голубой │ белый │
│ │ │ │ │ │ │ │
│ 14 │ 1 │ 1 1 0 │ .... │ зеленый │ желтый │ белый │
│ │ │ │ │ │ │ │
│ 15 │ 1 │ 1 1 1 │ .... │ зеленый │ голубой │ белый │
└──────┴────┴──────────────┴────────┴──────────┴───────────┴───────────┘
========================================================================
= BMS corp. Kirov 1993 =
========================================================================
╬══════════════════════════════════════════════════════════════════════╬
║ ОПИСАНИЕ БК-11М ГЛАВА ТРЕТЬЯ: СИСТЕМНЫЕ ЗАПРОСЫ БК-11М = fl4 ║
╬══════════════════════════════════════════════════════════════════════╬
* описания подготовил БАГАЕВ МАКСИМ * дом. тел (8332)60-28-05 после 21
* ВНИМАНИЕ ! ВСЕ АДРЕСА УКАЗАНЫ В ВОСЬМЕРИЧНОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ
┌─────────┬────────┬─────────┬────────┬────────────────────────────────┐
│ N% EMT │ АДРЕС │ АДРЕС @ │ КОМАДА │ ФУНКЦИЯ │
├─────────┼────────┼─────────┼────────┼────────────────────────────────┤
│ ЕМТ 0 │ 150414 │ 140010 │ .BINIT │ инициализация БOC │
│ EMT 1 │ 147712 │ 140012 │ .BEXIT │ выход в клавиатурный монитор │
│ EMT 2 │ 147742 │ 140014 │ .BTRPS │ перехват вектора 4 │
│ EMT 3 │ 150070 │ 140016 │ .BTIM │ управление таймером │
│ EMT 4 │ 152202 │ 140020 │ .BEMT │ управление обработкой ЕМТ │
│ EMT 10 │ 150474 │ 140030 │ .BMEM │ чтение состояния прамяти │
│ EMT 11 │ 150504 │ 140032 │ .BTEST │ чтение статуса страницы │
│ EMT 12 │ 150514 │ 140034 │ .BPAGE │ подключение страницы ОЗУ/ПЗУ │
│ EMT 13 │ 150530 │ 140036 │ .BWORK │ назначение/чт.рабочей страницы │
│ EMT 14 │ 150540 │ 140040 │ .BGETW │ чтение слова из раб. страницы │
│ EMT 15 │ 150564 │ 140042 │ .BGETB │ чтение байта из раб. страницы │
│ EMT 16 │ 150612 │ 140044 │ .BPUTW │ запись слова в рабочую страницу│
│ EMT 17 │ 150654 │ 140046 │ .BPUTB │ запись байта в рабочую страницу│
│ EMT 20 │ 151140 │ 140050 │ .BMOVW │ пересылка массива слов │
│ EMT 21 │ 151156 │ 140052 │ .BMOVB │ пересылка массива байтов │
│ EMT 22 │ 151006 │ 140054 │ .BJSR │ вызов подпрограммы из раб. стр.│
│ EMT 23 │ 151114 │ 140056 │ .BJMP │ переход в рабочую стр. ( JMP ) │
│ EMT 30 │ 146714 │ 140070 │ .BKINI │ инициализация драйв. клавиатуры│
│ EMT 31 │ 146752 │ 140072 │ .BKSET │ установка реж. драйв. клавиат. │
│ EMT 32 │ 146764 │ 140074 │ .BKGET │ чтение режима драйв. клавиатуры│
│ EMT 33 │ 147550 │ 140076 │ .BTTIN │ ввод символа с ожиданием │
│ EMT 34 │ 147406 │ 140100 │ .BINKEY│ ввод символа без ожидания │
│ EMT 35 │ 151336 │ 140102 │ .BGLIN │ ввод строки с редактираванием │
│ EMT 36 │ 151266 │ 140104 │ .BEDIT │ редактирование сущ. строки │
│ EMT 37 │ 147636 │ 140106 │ .BKRES │ сброс буфера клавиатуры │
│ EMT 40 │ 147672 │ 140110 │ .BSFUN │ установка функциональных клавиш│
│ EMT 41 │ 147702 │ 140112 │ .BGFUN │ чтение функциональных клавиш │
│ EMT 50 │ 143456 │ 140130 │ .BTINI │ инициализация драйвера экрана │
│ EMT 51 │ 143446 │ 140132 │ .BTSET │ уст. режима драйвера экрана │
│ EMT 52 │ 143434 │ 140134 │ .BTGET │ чтение режима драйвера экрана │
│ EMT 53 │ 143274 │ 140136 │ .BSCOL │ установка цветов │
│ EMT 54 │ 143414 │ 140140 │ .BGCOL │ чтение цветов │
│ EMT 55 │ 150000 │ 140142 │ .BPAL │ установка/чтение палитры │
│ EMT 56 │ 143466 │ 140144 │ .BBUF │ переключение буферов экрана │
│ EMT 57 │ 143476 │ 140146 │ .BSPOS │ установка координат А/Ц курсора│
│ EMT 60 │ 143560 │ 140150 │ .BGPOS │ чтение координат А/Ц курсора │
│ EMT 61 │ 143572 │ 140152 │ .BSCRL │ сдвиг экрана │
│ EMT 62 │ 143622 │ 140154 │ .BCLS │ очистка экрана │
│ EMT 63 │ 143070 │ 140056 │ .BTOUT │ вывод символа │
│ EMT 64 │ 143142 │ 140160 │ .BPRIN │ вывод строки в формате RT-11 │
│ EMT 65 │ 143130 │ 140162 │ .BSTR │ вывод строки символов │
│ EMT 66 │ 152470 │ 140164 │ .BSGRF │ установка тек. граф. координат │
│ EMT 67 │ 152506 │ 140166 │ .BGGRF │ чтение текущих граф. координат │
│ EMT 70 │ 152524 │ 140170 │ .BSCRG │ установка гафического цвета │
│ EMT 71 │ 152546 │ 140173 │ .BGCGR │ чтение графического цвета │
│ EMT 72 │ 152564 │ 140174 │ .BGMOD │ установка/чтение реж. рисования│
│ EMT 73 │ 152230 │ 140176 │ .BSPNT │ вывод графической точки │
│ EMT 74 │ 152372 │ 140200 │ .BGPNT │ чтение цвета графической точки │
│ EMT 75 │ 152460 │ 140202 │ .BVECT │ вывод вектора │
│ EMT 76 │ 153424 │ 140204 │ .BRECT │ вывод закрашеного прямоугол. │
│ EMT 77 │ 152722 │ 140206 │ .BCIRC │ вывод дуги или окружности │
│ EMT 100 │ 154202 │ 140210 │ .BFILL │ закраска гранично-опред. обл. │
│ EMT 101 │ 143636 │ 140212 │ .BSOUN │ выдача звука │
│ EMT 102 │ 153000 │ 140214 │ .BSWIN │ установка графического окна │
│ EMT 103 │ 153134 │ 140216 │ .BGWIN │ чтение графического окна │
│ EMT 105 │ 152614 │ 140222 │ .BSTYP │ установка типа вектора │
│ EMT 106 │ 152660 │ 140224 │ .BGTYP │ чтение типа вектора │
│ EMT 107 │ 153166 │ 140226 │ .BGOSET│ уст./чт. ориент. граф. символов│
│ EMT 110 │ 153226 │ 140230 │ .BGOUT │ графический вывод символа │
│ EMT 114 │ 154550 │ 140240 │ .BMOT │ управление двигателем магн. │
│ EMT 115 │ 154614 │ 140242 │ .BMB10 │ вызов формата БК-0010(.01) │
│ EMT 124 │ 156560 │ 140260 │ .BPINI │ инициализация драйвера принтера│
│ EMT 125 │ 156612 │ 140262 │ .BPSET │ установка режима печати │
│ EMT 126 │ 156664 │ 140264 │ .BPGET │ чтение режима печати │
│ EMT 127 │ 156736 │ 140266 │ .BPOUT │ вывод символа на печать │
│ EMT 130 │ 156676 │ 140270 │ .BPRDY │ определение готовности принтера│
│ EMT 131 │ 156724 │ 140272 │ .BPPOS │ определиние позиции печ. гол. │
└─────────┴────────┴─────────┴────────┴────────────────────────────────┘
========================================================================
= BMS corp. продолжение следует Kirov 1993 =
========================================================================