Пакет документации о рестартах iS-DOS 1969 г.

Приложение 11,13,14 - вектор для строкового редактора.


 


Приложение 11

Вектор для строкового редактора / edstr(#7F) WIND.SYS / подается в IX.

Смеще-ние

Имя

Длина

Комментарий

-23

KDEV

1

Логический номер драйвера клавиатуры

-22

KCSR

1

управляющий регистр для драйвера клавиатуры (K_CSR)

-21

MCSR

1

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

-20

XS

1

X-координата начала редактируемой области экрана в знакоместах 6x8

-19

YS

1

Y-координата (от левого верхнего угла экрана) начала редактируемой области экрана

-18

LN

1

Длина редактируемой области экрана в знакоместах 6х8

-17

HT

1

Высота редактируемой области экрана

-16

SCSR

1

Регистр состояния строкового редактора. Биты (0/1):

7 - mod - признак модифицированной строки (1)

6 - s_e - smbgt/edstr

1 - c_i - change/insert

0 - t_d - text/document - отрабатывать(1) или нет(0) логические границы

-15

DBUF

2

адрес ASCII-буфера строки

-13

XC

1

текущая Х-координата курсора в буфере

-12

XMAX

1

максимальная длина строки-2

-11

LM

1

левая логичесая граница

-10

RM

1

правая логическая граница

-9

XO

1

число пропускаемых символов

-8

SZ

1

ширина поля требования скроллинга

-7

CODE

1

код, возвращаемый редактором

-6

LNST

1

длина строки с <ENTER>

-5

COM

1

команда, которую должен выполнить редактор при входе

-4

TYPE

2

адрес подпрограммы отображения текущего состояния (если 0, то не вызывается)

KDEV: может принимать 2 значения: (0/1). При входе edstr переключается на указанный, на выходе восстанавливает текущий. При загрузки iS-DOS устанавливает 0-ой.

Программа edstr(#7F) является внутренней точкой входа рестарта smbgt(#6E) (см. ПРИЛОЖЕНИЕ 14).

Предполагалось его использование в базах данных прямо в файловых панелях, для чего их вектора совместили (см. ПРИЛОЖЕНИЕ 18).

(Коды, с которыми edstr возвращается см. ПРИЛОЖЕНИЕ 13).

 

Приложение 13

Коды, формируемые edstr (#7F) / WIND.SYS /

Значение

Комментарий

XMAX=32

Попытка передвинуть курсор за правую физическую границу XMAX

XMIN=33

Попытка передвинуть курсор за левую физическую границу (0)

PDEL=34

Попытка удаления за левой физической границей

RMRG=35

Попытка передвинуть курсор за правую логическую границу (RM)

LMRG=36

Попытка передвинуть курсор за левую логическую границу (LM)

LDEL=37

Попытка удаления за левой логической границей

RSCR=38

Требование правого скроллинга

SDEL=40

Требование левого скроллинга

PINS=41

Попытка выдвинуть текст за правую физическую границу

LINS=42

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

ELNS=43

Длина строки превышает XMAX+2

 


Приложение 14

Вектор 3-го уровня "Оконная технология" / g_scr (#72) WIND.SYS /

Смеще-ние

Имя

Длина

Комментарии

-2

 

2

Адрес таблицы функций пользователя для $panel (#6A) (см. ПРИЛОЖЕНИЕ 15)

0

PAPER

1

Атрибуты экрана

1

BORD

1

Атрибуты бордюра

2

 

9

Не используются

параметры для smbgt (#6E):

11

SMDRV

1

Логический номер драйвера клавиатуры

12

SMKCS*

1

Управляющий регистр для драйвера клавиатуры (K_CSR)

13

SMMCS*

1

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

14

SMXS*

1

Левая верхняя координаты редактируемой строки на экране в знакоместах

15

SMYS*

1

16

SMLN*

1

Длина редактируемой области экрана

17

SMHT*

1

Высота редактируемой области экрана

18

SMCSR

1

Регистр состояния строкового редактора. Биты (0/1):

*6 - s_e - smbgt/edstr - режим работы (0)

7 - c_i - change/insert

19

SMDBF*

2

Адрес строки

21

SMXC*

1

Текущая X-координата курсора в тексте

22

SMXMX*

1

Максимальная длина строки - 2·(LN·HT-1)

23

SMLM*

1

Левая логическая граница

24

SMRM

1

Правая логическая граница

25

SMXO*

1

Число пропускаемых символов

26

SMSZ

1

Ширина поля требования скроллинга

27

SMCOD

1

Код, возвращаемый редактором

28

SMLNS

1

Длина строки с кодом 13

29

SMCOM

1

Команда, которую должен выполнить редактор при входе

30

SMTYP

2

Адрес подпрограммы отображения текущего состояния (если 0, то не вызывается)

Параметры для строкового редактора smbgt полностью дублируют вектор для edstr (#7F), в чем можно убедиться, ознакомившись с ПРИЛОЖЕНИЯМИ 11 и 18

Значения всех границ могут изменяться в пределах от 0 до 253

* Все параметры, отмеченные "*" smbgt инициализирует сам.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Алгоритм - Алгоритм рисования линий.
Улыбнись - Рассказ "Катенька".
Игроскоп - О играх: Mugsy.
BBS - список станций BBS ZXNet.
Разное - результаты опроса общественного мнения Спектрумистов.

В этот день...   24 апреля