Программирование в среде IS-DOS 1993 г.

Приложения к системным рестартам - структура вектора символьного устройства вывода. Структура вектора блочного устройства. Описание канала устройства. Описание канала драйвера/резидента. Резидентный вектор файловой службы. Вектор окна.


ПРИЛОЖЕНИЕ 5. Структура вектора символьного устройства

вывода (СУВЫВ) / g_tydv(#12) DOS.SYS /

смещ имя длина комментарий
ение

-10 CRTYP 1 Номер канала текущего СУВЫВ
-9 PRCHR 3 Переход на процедуру (ПП) вывода

символа на экран (принтер) /ttyoyt(#A)/
-6 PRCPL 3 ПП задания инверсного/нормального

режима печати / prcpl(#Bj /
-3 PRAD 3 ПП установки координат / pradd(#C) /

0 BYTTST 1 Длина курсора тек. драйвера экрана

1 XYpos 2 Текущие логические координаты печати
3 Xypos 2 Текущие физические координаты печати

5 type 1 Тип устройства:0-экран/1-принтер

6 ertype 2 Адрес обработки ошибки СУВЫВ

Байты 0(8) лежат в соответствующем канале устройства
(см. ПРИЛОЖЕНИЕ 7)

ПРИЛОЖЕНИЕ 6. Структура вектора блочного устройства

(БУ) / g_bldv(#13) DOS.SYS /

смещ имя длина комментарий
ение

-10 CRBLK 1 Номер канала текущего БУ
-9 BREAD 3 Переход на процедуру (ПП) чтения

/ dread(#D) /

-6 BWRIT 3 ПП записи / write(#E) /

-3 BINIT 3 ПП инициализации / bin1t(#F) /

0 SCCSR 1 Регистр состояния. Биты 0/1

0..3 - номер устройства для вирт. диска
3 - драйвер без буфера/ с буфером

5 - запрет/разрешение чтения для RST

6 - запрет/разрешение записи для RST

7 - мимо эл.диска/через него

1 DRCSR 1 Регистр состояния. Биты 0/1:

0 - запрос по адресу в QVST при

обращении к устройству (ПРИЛОЖЕНИЕ

1 - флаг авто-флаша

(сбрасывается пользователем)

2 - TRDOS/нет

7 - не/отрабатывать ошибки (erdrv(#lF))

2 6 (см. ПРИЛОЖЕНИЕ 4.)

ПРИЛОЖЕНИЕ 7. Описание канала устройства:

(длина 10 байт;

смещ имя длина комментарий
ение

0 TDISR 1 Номер канала драйвера, обслуживающего

устройство

1 PARM 1 Параметры Для драйвера /номер устройства

2 SCCSR 8 Байты 0..7 соответствующего вектора

(см. ПРИЛОЖЕНИЯ 2,5,6)

ПРИЛОЖЕНИЕ 8. Описание канала драйвера/резидента

(длина 18 байт)

смещ имя длина комментарий
ение

0 DEV 1 Номер устройства, с которого он был

загружен

1 CAT 2 Каталог, в котором находится драйвер

3 NFILE 1 Номер файла в данном каталоге

4 LSA 2 Адрес загрузки драйвера
6 LINK 2 Длина драйвера

8 DCSR 1 Состояние драйвера

9 QDEV 1 Количество обслуживаемых устройств
10 NAME 8 Имя драйвера/резидентной задачи

ПРИЛОЖЕНИЕ 9. Резидентный вектор файловой службы

/ bkfcb(#35) DUD.SYS /

смещ имя длина комментарий
ение

-8 DSIZE 2 Размер открытого устройства в блоках

-6 BMSIZ 2 Размер бит-карты в байтах (см.ПРИЛОЖЕНИ

-4 FCBA 2 Адрес описателя файла пользователя

-2 1 Временный номер файла

-1 FNUMB 1 Номер файла (#FF, если файл не открыт)

О 32 Описатель тек.(открытого) файла:

О FNAME 8 Имя
8 FTYPE 3 Тип

11 FSTAT 1 Регистр состояния файла. Биты (0/1):

0 - удален/существует

2 - защищен от чтения(1)

3 - защищен от записи(1)

4 - видимый/скрытый файл

5 - файл/каталог (главный)

6 - сегментированный/непрерывный

7 - защищен от удаления(1)

12 FLSA 2 Адрес загрузки по умолчанию
14 FLENG 3 Длина

17 FSDBN 2 Номер блока описателя сегмента

(Для непрерывного файла - номер нулевого
блока файла)

19 WRKST 1 "Special" (N уровня для *.SYS)

20 6 Резерв

26 FSUM 2 Контрольная сумма файла
28 FTIME 2 Время
30 FDATE 2 Дата

32 23 Описатель тек.(открытого) каталога

(внутренний)
32/0 CATLG 8 Имя текущего каталога
40/8 3 пробелы ( тип каталога )

43/11 1 CSR каталога

44/12 CDLSA 2 CBBN каталога-прародителя
46/14 *CSIZE 2 Размер каталога в байтах
48/16 *LEVEL 1 Уровень вложенности подкаталога
49/17 CSDBN 2 Номер блока описателя сегмента
51/19 CBBN 2 Номер 0-го блока каталога
53/21 *NFILE 1 Общее число файлов (включая сам

каталог и удаленные)
54/22 *NEFIL 1 Число файлов без каталога и удаленных

55 1

* - неиспользуемые переменные во внешнем описателе
каталога.

ПРИЛОЖЕНИЕ 10. Вектор окна для wt(#61)

(Подается в IX на входе большинства
рестартов уровня WIND.SYS)

смещ имя длина комментарии
ение

0 XC00R 1 координата X для распечатки окна

1 YC00R 1 координата Y окна

2 YSIZE 1 высота окна (размер Y)

3 XSIZE 1 ширина окна (размер X)

4 ATTR 1 атрибуты окна

5 SHADE 1 атрибуты тени. ( Если старший бит

установлен, тень не выводится)

6 Хсоог 1 координата X для распечатки текста.

Указывает непосредственно на
начальную позицию печати.

7 Xsize 1 ширина для распечатки текста с помощью

процедур lwt, adrwt, lenwt.

Все расстояния отсчитываются от левого верхнего угла
экрана и измеряются в синклер-местах (от 1 до 32)
(IX+0..+3) и в знакоместах (от 1 до 42) (IX+6..7)
Вектор часто включается в состав больших векторов
(см. menu(#91), scrol(#70), ПРИЛОЖЕНИЕ 18)




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Modern WorD 2.1 - whatsnew - Нaкoнeц-тo, чeрeз чeтырe mecяцa я coбрaл, тaки, нoвyю вeрcию cвoeгo рeдaктoрa.
Юмор - Анекдоты.
Tutorials - hewle splines - программ для создания сплайновых кривых.
BBS - CHESS po CDOS-модему. Инструкция по игре в шахматы (юмор). Список работающих BBS в Минске.
Печатается с продолж. - Сто рассказов о Чукче (26-50).

В этот день...   24 ноября