Смеще-ние
|
Имя
|
Длина
|
Комментарии
|
0
|
INSTL
|
2
|
Адрес процедуры инсталляции (если 0, то не нужна)
|
2
|
BREAD
|
2
|
Адрес процедуры чтения / dread (#0D)
|
4
|
BWRIT
|
2
|
Адрес процедуры записи / write (#0E)
|
6
|
BINIT
|
2
|
Адрес процедуры инициализации / binit (#0F)
|
8
|
SCCSR
|
1
|
Регистр состояния (см. ПРИЛОЖЕНИЕ 6)
|
9
|
DRCSR
|
1
|
Регистр состояния (см. ПРИЛОЖЕНИЕ 6)
|
10
|
OFIM2
|
2
|
Смещение от начала драйвера до кода IM2 в
процедуре восстановления режима IM2 на выходе из драйвера. Если
значение равно #0000, то IM2 на выходе не устанавливается
|
12
|
TPSYS
|
1
|
тип TR-DOS'а
(0/1)
0 - 5.01
1 - 5.03 и выше
|
13
|
QRDWR
|
1
|
Число попыток записи/чтения
|
14
|
TMBUF
|
2
|
Адрес буфера драйвера, объём буфера - 1 кБ
|
…
|
…
|
…
|
…
|
20
|
|
2
|
Номер текущего сектора в буфере драйвера
|
…
|
…
|
…
|
…
|
30
|
|
1
|
Тип дисковода. Биты (0/1):
0 - 40/80 дорожек
1 - 1/2 стороны
|
31
|
TMWT
|
1
|
Задержка начала чтения сектора
|
32
|
HTIME
|
1
|
Время перемещения головок дисковода
|
33
|
|
1
|
Тип диска. Биты (0/1):
0 - 40/80 дорожек
1 - 1/2 стороны
|
34
|
|
1
|
Размер сектора: 1/2/4: 256/512/1024 байт
|
35
|
|
1
|
Количество секторов на дорожке
|
36
|
|
16
|
Таблица номеров секторов на дорожке
|
Байты 8..15(8) хранятся в канале и в векторе блочного устройства (см. ПРИЛОЖЕНИЯ
6,7)
Байты 33..51 описывают
диск и соответствуют байтам 23..25 и 64..79 в 0-ом блоке описателя
устройства.
$binit(#0F) сам
настраивает драйвер на iSDOS-диск. Для настройки драйвера на нестандартную
дискету (TR‑DOS, MS-DOS и т.п.) проинициализируйте эти байты.
|
Смещение
|
Длина
|
Имя
|
Комментарий
|
0
|
2
|
|
как правило, не используется
|
2
|
2
|
TYPE
|
точки входа для рестартов печати символов
|
4
|
2
|
TYCPL
|
6
|
2
|
TYPOS
|
8
|
1
|
|
ширина матрицы символов в точках (6 для ty42 и 4 для
ty64). Используется рестартами $y__
и $n__ уровня WIND.SYS
|
9
|
4
|
|
зарезервировано
|
13
|
1
|
|
должен быть равен 0 (признак typ)
|
14
|
2
|
|
зарезервировано
|
16
|
2
|
GSZ
|
размер знакогенератора в байтах
|
18
|
|
|
собственно, знакогенератор драйвера
|
байты 8...15 хранятся также в канале и в векторе символьного
устройства вывода. Байты, соответствующие зарезервированным используются там
для хранения текущих координат печати и адреса процедуры обработки ошибок
символьного устройства вывода.
|
Смещение
|
Длина
|
Имя
|
Комментарий
|
0
|
2
|
|
как правило, не используется
|
2
|
2
|
TTYIN
|
точки входа для рестартов ввода с клавиатуры
|
4
|
2
|
KWAIT
|
6
|
2
|
KTEST
|
8
|
1
|
K_CSR
|
регистр состояния, биты (0/1):
0 - строчные/ЗАГЛАВНЫЕ
1 - lat/рус
2 - текст/псевдографика
3 - разрешение/запрет kwait. Этот
бит сбрасывается сам при пустом буфере
|
9
|
1
|
M_CSR
|
маска разрешения смены соответствующих битов регистра K_CSR
(1 - смена разрешена)
|
10
|
1
|
K_LAST
|
код последней нажатой клавиши
|
11
|
1
|
REPD
|
интервал между первыми двумя одинаковыми клавишами (задержка автоповтора).
Значение по умолчанию - 29
|
12
|
1
|
REPP
|
интервал между последующими одинаковыми клавишами (частота автоповтора).
Значение по умолчанию - 1
|
13
|
2
|
IKEYB
|
адрес процедуры опроса клавиатуры
|
14
|
2
|
|
зарезервировано
|
16
|
2
|
KS
|
размер таблицы кодов клавиш
|
18
|
|
KS
|
собственно, таблица кодов клавиш
|
...
|
...
|
...
|
...
|
KS+18
|
1
|
PNKEY
|
число нажатых клавиш
|
KS+19
|
1
|
|
смещение в буфере клавиш до кода для TTYIN
|
KS+20
|
32
|
|
буфер нажатых клавиш (заполняется и опорожняется с помощью INC)
|