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

Приложение 15,16,17 - подпрограммы функции panel (#6A) - работа с панелью.


 

Приложение 15

Подпрограммы функции panel (#6A) - работа с панелью / WIND.SYS /

№ фун­кции

Имя

Примечание

Рестарт имеет 21 точку входа, причем первые 12 функций необходимы для его поддержки (он сам обращается к этим функциям), а остальные задают режим работы. Адреса функций 0..11 сведены в таблицу, адрес которой лежит в векторе WIND.SYS со смещением -2 (см. ПРИЛОЖЕНИЕ 14).

Т.о. пользователь может подменить эти 12 функций на свои, что и делают некоторые базы данных. Этим же рестартом пользуется оболочка (уровень SHELL.SYS), рисуя на экране свои панели с файлами. Рестарт вынесен в уровень WIND.SYS, что предполагает возможность его использования даже при отсутствии уровня SHELL.SYS.

Нужная функция выбирается с помощью регистра A.

0

fprev

По входному номеру записи в регистре DE найти предыдущую запись.

Выход: C - ошибка ввода

Z - успешно (DE' - номер)

NZ - запись отсутствует (DE' - прежний номер записи)

1

fnext

По входному номеру записи в регистре DE найти следующую запись.

Выход: C - ошибка ввода

Z - успешно (DE' - номер)

NZ - запись отсутствует (DE' - прежний номер записи)

2

pread

Заполнить буфер текущей записью

3

g_rcst

Вернуть в регистр A состояние записи

4

p_rcst

Установить состояние текущей записи равным регистру B

5

g_no

Вернуть в регистр A номер отметки

6

p_no

Установить номер отметки текущей записи равным регистру B

7

g_min

Вернуть в DE' минимальный номер записи

8

g_max

Вернуть в DE' максимальный номер записи

9

crcor

Установка курсора

 

10

tssel

Проверка, можно ли отмечать данную запись: Z- да, NZ - нет

11

tsres

Проверка на маску: Z - подходит, NZ - нет, C - нет

12

inipnl

Самостоятельная инициализация вектора панели. C - системная ошибка

13

ctman

Печать панели с инициализацией начала страницы

14

ctmin

То же, но конца страницы

15

tymin

Скроллинг вверх с печатью нижней строки

16

tymax

Скроллинг вверх (вниз?) с печатью верхней строки

17

fcmon

Движение по панели

18

cname

Печать текущей записи на месте курсора

19

oncrs

Зажигание курсора

20

ofcrs

Тушение курсора

21

crset

Установка курсора на заданный номер записи и желаемую позицию

 

Приложение 16

Команды оболочки / SHELL.SYS /

Код

Клавиша

Имя

Примечание

0(#00)

 

fcmon

Выход без каких-либо специальных действий

5(#37)

7

mkdir

Создание подкаталога на текущей панели

6(#06)

CS/2

rtdev

Выбор устройства на правой панели

7(#07)

CS/1

lfdev

Выбор устройства на левой панели

8(#08)

CS/5

plpan

Перемещение курсора на левую панель без открытия устройства

9(#09)

CS/8

prpan

Перемещение курсора на правую панель без открытия устройства

13(#0D)

ENTER

curun

Запуск файла, на котором стоит курсор, а также вход и выход из каталога

14(#0C)

CS/SS

dbpnl

Копирование текущей панели на альтернативную

54(#36)

6

view

Запуск программы просмотра согласно файлу S:SHELLextview.txt

56(#38)

8

gmenu

Вызов главного меню

79(#4F)

O

nlpan

Перемещение курсора на левую панель с открытием устройства

80(#50)

P

nrpan

Перемещение курсора на правую панель с открытием устройства

104(#68)

h

prnt

Запуск программы печати согласно файлу S:SHELLextprint.txt

111(#6F)

o

plpan

то же, что 8 - CS/5

112(#70)

p

prpan

то же, что 9 - CS/8

 

Код

pnCSR

Имя

Примечание

240(#F0)

01110

cvwnel

Перепечатка текущей панели с сохранением позиции курсора

241(#F1)

01010

nvwpnl

Перепечатка текущей панели с установкой курсора на начало панели

242(#F2)

01110

cshel2

Аналог $shel2(#82) с сохранением позиций курсора на обеих панелях

243(#F3)

01010

nshel2

Полный аналог рестарта $shel2

244(#F4)

01110

cshel1

Аналог $shel1(#81) с сохранением позиций курсора на обеих панелях

245(#F5)

01010

nshel1

Полный аналог рестарта $shel1

246(#F6)

01110

cshel0

Аналог $shel0(#80) с сохранением позиций курсора на обеих панелях

247(#F7)

01010

nshel0

Полный аналог рестарта $shel0

248(#F8)

00110

_panel

Перепечатка текущей панели с сохранением отметки

251(#FB)

11010

new

Перепечатка текущей панели с открытием устройства

Выполнить все эти команды можно если вернуться в оболочку с флагом Z и NC по RET или по рестарту shout(#84). Чтобы выполнить данные команды и остаться в прикладной задаче пользуйтесь рестартом shsubr(#8E). Эти же команды отрабатывает оболочка при опросе клавиатуры. Все остальные коды клавиш оболочка ищет в файле S:SHELLextkey.txt. Рестарт shsubr инициализирует панель при ее перепечатке. После чего при повторном его вызове с любым кодом кроме перечисленных (например 255) он перехватит управление и будет сам отрабатывать движение по панели вверх и вниз. По любой клавише кроме A, Q,CS/A,CS/Q он вернет управление.

Запуска файлов рестарт shsubr не производит.

В случае вызова по рестартам флаг Z не существенен.

Биты регистра pnCSR см. ПРИЛОЖЕНИЕ 17.

 


Приложение 17

Вектор оболочки / $g_mpan (#87) - BC' / SHELL.SYS/

Смеще­ние

Имя

Длина

Комментарий

-9

SHLDAT

2

Дата трансляции SHELL.SYS

-7

ERCSR

1

Управляющий байт для $shexe (#93):

0 - не/1 - сообщить об ошибке 81 (нет файла)

-6

FNC

1

Код ошибки или клавиши

-5

nLOG

1

Управление подкраской строки подсказок: 1 - красить, 0 - нет / $mmenu (#89)

-4

pnCSR

1

Регистр состояния печати панелей. Биты:

0 - pn - временный номер панели

1 - sw - разрешение (требование) смены панели (1)

2 - crs - сброс (0)/сохранение (1) позиции курсора

3 - in - сброс (1)/сохранение (0) отметки

4 - nw - открытие устройства (1)

5 - err - наличие ошибок (внутреннее употребление)

pnCSR подаётся в регистре B на входе в $shpanl (#90)

-3

DFANL

2

Адрес анализатора 12 функций (см. ПРИЛОЖЕНИЕ 15)

-1

NPANL

1

Номер панели / $g_curs (#8A) - B'

0

CHPAN

2

Номера каналов левой и правой панелей / $g_mpan (#87) - BC'

2

PAPER

1

Цвет верхней части экрана

3

GRAND

1

Цвет бордюра

4

MWCOL

2

Цвета надписей "Please Wait" левой и правой

6

FCURS

2

 

8

Pshl

8

Путь: "S:SHELL"




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Клаверий де Монтель - Началась эта история с того, что молодой человек, прочитав объявление о приглашении мужчины на постоянное место привратника, садовника и истопника притворился глухонемым и поступил на работу в закрытое женское учебное заведение.
Ремонт - Плохое считывание с магнитофона (продолжение).
Тема - одно из последних открытых писем Nemo (ответ SirX'у).
Реклама - Реклама и объявления ...
Перекресток драконов - Eureka!, Eye of Bain, Kentilla.

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