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

Приложения к системным рестартам - команды оболочки SHELL.SYS. Вектор оболочки. Коды ошибок.


ПРИЛОЖЕНИЕ 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 рграп - перемещение курсора на правую

панель без открытия устройства
13(0D) ENTER curun - запуск файла, на котором стоит

курсор, а также вход и выход из
каталога

14(ОС) CS/SS dbpnl - копирование текущей панели на

альтернативную
54(36) "6" view - запуск программы просмотра со-
гласно файлу SiSHELLextview.txt
56(38) "8" gmenu - вызов главного меню
79(4F) "0" nlpan - перемещение курсора на левую

панель с открытием устройства
80(50) "Р" пграп - перемещение курсора на правую

панель с открытием устройства
104(68) "h" prnt - запуск программы печати согласно

файлу S:SHELLextprint.txt
111(6F) "о" plpan - то же, что 8 - CS/5
112(70) "р" рграп - то же, что 9 - CS/8

Код pnCSR Имя Примечание

240(F0) 01110 cvwnel - перепечатка текущей панели (ПТП)

с сохранением позиции курсора
(СПК)

241(F1) 01010 nvwpnl - ПТП с установкой курсора на

начало панели

242(F2) 01110 cshel2 - аналог shel2(#82) с СПК на обеих

панелях (СПК-2П)
243(F3) 01010 nshel2 - полный аналог рестарта shel2
244(F4) 01110 cshell - аналог shell(#81) с СПК-2П
245(F5) 01010 nshell - полный аналог рестарта shell
246(F6) 01110 cshelO - аналог shel0(#80) с СПК-2П
247(F7) 01010 nshelO - полный аналог рестарта shelO
248(F8) 00110 panel - ПТП с сохранением отметки (СО)
251(FB) 11010 new - ПТП с открытием устройства

Выполнить все эти команды можно если вернуться в
оболочку с флагом Z и NC по RET или по рестарту
shout(#84). Чтобы выполнить данные команды и остаться в
прикладной задаче пользуйтесь рестартом shsubr(#8Е).
Эти же команды отрабатывает оболочка при опросе клавиа-
туры. Все остальные коды клавиш оболочка ищет в файле
S:SHELLextkey.txt. Рестарт shsubr инициализирует па-
нель при ее перепечатке. После чего при повторном его
вызове с любым кодом кроме перечисленных (например 255)
он перехватит управление и будет сам отрабатывать дви-
жение по панели вверх и вниз. По любой клавише кроме А,
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 - рп - временный номер панели

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

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

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

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

5 - егг - наличие ошибок (внутр. употребления)
/ pnCSR подается в регистре В на входе в

shpanl(#90) /
-3 DFANL 2 Адрес анализатора 12 ф-ций

(см. ПРИЛОЖЕНИЕ 15.)
-1 NPANL 1 номер панели / g_curs(#8A)-B' /
0 CHPAN 2 NN каналов левой и правой панелей

/ g_mpan(#87)-BC' /

2 PAPER 1 цвет верхней части экрана

3 GRAND 1 цвет бордюра

4 MWC0L 2 цвета надписей "Please Wait" лев. и прав
6 FCURS 2

8 Pshl 8 Путь: "S:SHELL"

ПРИЛОЖЕНИЕ 19. КОДЫ ОШИБОК

0 - нецифровой символ /a_d(#7D)/

1 - переполнение числа /ad/ или буфера /d_a(#7C)/

Драйвер дисковода:

6 - нет диска

7 - ошибка на диске (сектор не ^итается/не пишется)
9 - не iSDOS-диск /binit(#F)/

10 - несоответствие диска и дисковода /binit(#F)/
20 - BREAK (нажат CS/SPACE)

junc.com:

22 - неверная таблица

23 - некорректный ключ

28 - драйвер принтера не установлен (lp_init.com)
31 - запрещенное имя файла /fncor(#50)/

33 - неверное имя устройства (mkdir.com)

34 - неверный размер устройства (device.com)

36 - синтаксическая ошибка (set.com)

37 - нет резидентной задачи /exebat(#44)rrun(#48)r

fndev(#51),opres(#52)r exeres(#53)/
39 - фоновая задача отсутствует при попытке удалить ее

/1_im2(#lE)/
50 - неверное имя текстового файла для cnfg.com

Виртуальный диск:

61 - указанный блок не найден

62 - реальное кол-во модифицированных блоков не

соответствует значению1 ($QNM0D)
/flush(2)rmodo(#2E)../

63 - сектор защищен

64 - диск защищен

65 - нет места на диске

66 - чтение запрещено

67 - запись запрещена

tv.com, ed.res, tab.com, etc.

70 - попытка записи в режиме "view"

71 - ошибочное значение указателя

72 - длина строки превышает 255

79 - неверное имя устройства в командах L_S, L_Q, LT

Файловая служба:

80 - номер файла слишком велик /opnum,putf,gname/

81 - файл не найден /find(#34),fopen(#25)/

82 - файл уже существует /erf"i 1 (#23)/

83 - каталог не пуст (при его удалении) /erfil,erf_/

84 - каталог полон (127 файлов) /erfil,erf_(#ЗВ)/

85 - плохой блок описателя сегмента файла

86 - нет каталога /fopen r openl(#21)/

87 - нет устройства /ореп(#20)/

88 - файл уже удален /erfil(#24),erf_/

89 - файл защищен от удаления (erfil,erf_)

92 - на диске нет требуемого непрерывного пространства

/di str(#38),erfi1,fadd(#2F),eadd(#31)../

93 - попытка освободить блоки за концом диска

/free(#3F),erf i1,erf_/

94 - переполнение блока описателя сегментов файла

(85 сегментов) /faddrfcut(#30),eadd/

98 - нет такой функции в RST panel(#6A)

99 - несоответствие номера блока в заголовке блока при

попытке его модифицирования (вирт. диск)

100 - конец файла по длине в байтах /rpart,wpart/

101 - конец файла в блоках.

/qrvbl,rifle,wifle,rvblk,wvblk/

102 - файл непрерывен /fadd,fcut,eadd/

103 - добавить или удалить нулевую длину

/fadd,fcut,eadd,ecut/

104 - удаление из файла фрагмента длиной больше, чем

файл /fcut(#30)recut(#32)/

105 - дальнейшее увеличение непрерывного каталога

затруднительно /crfi l(#23),crf_(#3B)/

106 - файл не открыт /qrvbl,rpart,wpart,rifle../

107 - Bit Map размера 0 (ошибка открытия устройства)

108 - Файл в начале устройства (номер блока файла или

его описателя меньше 3 для обычного диска)
/qrvbl,wpart,rifle../

swkey(#lA),swtyp(#lB),swblk(#lC),ldnew(#lD):

121 - нет устройства

122 - нет драйвера, обслуживающего данное устройства
функции работы с каналами:

124 - неверная структура области каналов

125 - нет канала /stchn(#16),delchn(#17)/

126 - канал уже есть /crchn(#18)/

127 - ошибочная длина /crchn(#18)/

128 - нет места для канала /crchn(#18),newchn(#19)/

129 - нет свободного номера /newchn(#19)/

инсталляция/удаление новых
уровней/драйверов/устройств. (SET.com)

130 - не хватает памяти /set.com, exebat(#44),run(#48)/

131 - нет драйвера /set.com/

132 - попытка инсталлировать (ПИ) 9-ый драйвер

133 - ПИ 9-ое устройство данного типа
135 - неправильная установка уровня

138 - ошибка в рекурсивной*цепочке (неверный номер

канала) /rcdel(#4D)/

139 - слишком длинная командная строка /р_сот(#49)/

prstr(#68),tystr,xystr:

140 - нет имени в массиве

141 - нет строки в тексте

142 - ошибка в структуре рабочей области

процедуры работающие с блоками

160 - попытка удалить из файла 0 блоков /B~DEL/

161 - попытка добавить к файлу 0 блоков /B~ADD/

162 - попытка занять на устройстве 0 блоков

/di str(#38)/

163 - попытка освободить на устройстве 0 блоков

/free(#3F)/

164 - попытка открепить блок с номером меньше 6

/free(#3F),erfil(#24)/

Файловая служба (окончание)

170 - Чтение/запись 0 байт в файл /rpart,wpart/

171 - Чтение файла запрещено /qrvbl,rpart,wpart/

172 - Запись в файл запрещена /wpart(#2А)/

222 - незагрузочный диск
226 - неизвестная версия TRD0S




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
От редакции - Что еще новенького?
ZX-NET - рассказ об эхоконфаренции ZX.TALKING.
На правах рекламы - Прайс лист на продукцию фирмы "СКОРПИОН".
Розыск - Разыскиваются: CYRUS-2 128 & FINAL FIGHT.
UPGRADE - К вопросу об установке 3.5' FDD.

В этот день...   29 марта