- исправлена проверка запускаемого файла по расширению.
- доки переведены на UTF8 кодировку. - поправлена CorrBigChar.
This commit is contained in:
parent
95a0059c02
commit
499aa7968d
@ -7,23 +7,23 @@ struct FlxPluginHeader {
|
||||
unsigned char Reserved[3];
|
||||
};
|
||||
|
||||
‡ £®«®¢®ª ¯« £¨ ¤«ï Flex Navigator v1.xx:
|
||||
8 ¡ ©â Id - ¨¤¥â¨ä¨ª â®à ¯« £¨ , ¯¥à¢ë¥ 3 ᨬ¢®« ¢á¥£¤ ¤®«¦ë ¡ëâì FLX
|
||||
2 ¡ ©â LoadOffset - ᬥ饨¥ ¢ áâà ¨æ¥ ¯ ¬ï⨠¤«ï § £à㧪¨ (0 - 0x3FFF)
|
||||
2 ¡ ©â EntryOffset - ᬥ饨¥ ¢ áâà ¨æ¥ ¯ ¬ï⨠¤«ï § ¯ã᪠(0 - 0x3FFF)
|
||||
1 ¡ ©â PluginMode - ०¨¬ à ¡®âë:
|
||||
0 - à ¡®â ¥â á ¢®ááâ ®¢«¥¨¥¬ à ¡®ç¥© ®¡« á⨠Flex Navigator
|
||||
(â.¥. ¯®á«¥ à ¡®âë ¯« £¨ ¥ 㦮 ¢®ááâ ¢«¨¢ âì íªà )
|
||||
1 - à ¡®â ¥â ¡¥§ ¢®ááâ ®¢«¥¨ï à ¡®ç¥© ®¡« á⨠Flex Navigator
|
||||
(â.¥. ¯®á«¥ à ¡®âë ¯« £¨ 㦮 ¢®ááâ ¢«¨¢ âì íªà )
|
||||
3 ¡ ©â Reserved - § १¥à¢¨à®¢ ®
|
||||
¤«¨ = 16 ¡ ©â
|
||||
Заголовок плагина для Flex Navigator v1.xx:
|
||||
8 байт Id - индентификатор плагина, первые 3 символа всегда должны быть FLX
|
||||
2 байта LoadOffset - смещение в странице памяти для загрузки (0 - 0x3FFF)
|
||||
2 байта EntryOffset - смещение в странице памяти для запуска (0 - 0x3FFF)
|
||||
1 байт PluginMode - режим работы:
|
||||
0 - работает с восстановлением рабочей области Flex Navigator
|
||||
(т.е. после работы плагина не нужно восстанавливать экран)
|
||||
1 - работает без восстановления рабочей области Flex Navigator
|
||||
(т.е. после работы плагина нужно восстанавливать экран)
|
||||
3 байта Reserved - зарезервировано
|
||||
длина = 16 байт
|
||||
|
||||
!!! ‚<EFBFBD>ˆŒ€<EFBFBD>ˆ…
|
||||
1. ¢á¥ ¯« £¨ë ¤«ï Flex Navigator v1.xx ¥ ¤®«¦ë ¯à¥¢ëè âì ¢ à §¬¥à¥ ®á®¢®£® ª®¤
|
||||
(â.¥. ¡¥§ § £®«®¢ª ) 0x4000 ¡ ©â .
|
||||
2. ¢á¥ ¯« £¨ë ¤«ï Flex Navigator v1.xx ¤®«¦ë ¡ëâì ®âª®¬¯¨«¨à®¢ ë á ¤à¥á 0xC000
|
||||
(â.¥. org = 0xC000).
|
||||
3. ¢®§¢à é ¥¬®¥ § 票¥:
|
||||
CF = 1 ®è¨¡ª áâ ¤¨¨ ¨¨â¨ «¨§ 樨 (¯®á«¥ ¥ñ ¨ç¥£® ¥ ¢®ááâ ¢«¨¢ ¥âáï)
|
||||
CF = 0 ¥â ®è¨¡ª¨
|
||||
!!! ВНИМАНИЕ
|
||||
1. все плагины для Flex Navigator v1.xx не должны превышать в размере основного кода
|
||||
(т.е. без заголовка) 0x4000 байта.
|
||||
2. все плагины для Flex Navigator v1.xx должны быть откомпилированы с адреса 0xC000
|
||||
(т.е. org = 0xC000).
|
||||
3. возвращаемое значение:
|
||||
CF = 1 ошибка на стадии инитиализации (после неё ничего не восстанавливается)
|
||||
CF = 0 нет ошибки
|
||||
|
@ -1,7 +1,7 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.2 ®â 07.07.2002 *
|
||||
* Описание Flex Navigator API v1.xx для разработчиков Flx-Plugins *
|
||||
* doc v0.2 от 07.07.2002 *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
@ -11,554 +11,554 @@
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ClearScreen - ¯à®æ¥¤ãà ®âç¨á⪨ 0-£® íª ã¦ë¬ 梥⮬.
|
||||
ClearScreen - процедура отчистки 0-го экана нужным цветом.
|
||||
|
||||
¢å®¤:
|
||||
A - 梥⠮âç¨á⪨ (00-0Fh)
|
||||
¢ë室:
|
||||
на вход:
|
||||
A - цвет отчистки (00-0Fh)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MakeWindow - ¯à®æ¥¤ãà á®§¤ ¨ï £à ä¨ç¥áª®£® ®ª
|
||||
MakeWindow - процедура создания графического окна
|
||||
|
||||
¢å®¤:
|
||||
(SP) - ®¯¨á â¥«ì ®ª
|
||||
¢ë室:
|
||||
на вход:
|
||||
(SP) - описатель окна
|
||||
на выход:
|
||||
-
|
||||
|
||||
áà §ã § ¢ë§®¢®¬ í⮩ ¯à®æ¥¤ãàë ¢ ¯à®£à ¬¬¥ á«¥¤ã¥â ®¯¨á â¥«ì ®ª .
|
||||
¢®§¢à â ¨§ ¯à®æ¥¤ãàë ¯à®¨á室¨â ¯® ¤à¥áã, á«¥¤ãî饬㠧 ®¯¨á ⥫¥¬.
|
||||
сразу за вызовом этой процедуры в программе следует описатель окна.
|
||||
возврат из процедуры происходит по адресу, следующему за описателем.
|
||||
|
||||
¯à¨¬¥à:
|
||||
например:
|
||||
call MakeWindow
|
||||
... ; ®¯¨á â¥«ì ®ª
|
||||
... ; описатель окна
|
||||
|
||||
|
||||
®¯¨á â¥«ì ®ª :
|
||||
+00 (1) ä« £ ¢ë¢®¤ ®ª : 0 - ¡¥§ á®åà ¥¨ï ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¯®«®íªà ëå ®ª®)
|
||||
1 - á á®åà ¥¨¥¬ ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¥¡®«ìè¨å ®ª®)
|
||||
0x7F - ¢®ááâ ®¢¨âì ¤ ë¥ ¯®¤ ®ª®¬
|
||||
(ä« £ á«ã¦¨â ¤«ï § ªàëâ¨ï
|
||||
⥪ã饣® ®ª )
|
||||
+01 (2) ª®®à¤¨ â x ¤«ï ¢ë¢®¤ (0 - 639)
|
||||
+03 (2) ª®®à¤¨ â y ¤«ï ¢ë¢®¤ (0 - 255)
|
||||
+05 (2) ¤«¨ ®ª ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ®ª ¯® y (0 - 255)
|
||||
описатель окна:
|
||||
+00 (1) флаг вывода окна: 0 - без сохранения данных под окном
|
||||
(используется для полноэкранных окон)
|
||||
1 - с сохранением данных под окном
|
||||
(используется для небольших окон)
|
||||
0x7F - восстановить данные под окном
|
||||
(флаг служит для закрытия
|
||||
текущего окна)
|
||||
+01 (2) координата x для вывода (0 - 639)
|
||||
+03 (2) координата y для вывода (0 - 255)
|
||||
+05 (2) длина окна по x (0 - 639)
|
||||
+07 (2) длина окна по y (0 - 255)
|
||||
|
||||
¤ «¥¥ ¨¤ãâ ®¡'¥ªâë ®ª ¢ ä®à¬ â¥:
|
||||
+00 (1) ⨯ ®¡¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
далее идут об'екты окна в формате:
|
||||
+00 (1) тип обекта
|
||||
+01 ... описатели обекта
|
||||
|
||||
®¡'¥ªâë ®ª :
|
||||
0. +00 (1) == 0 - ª®¥æ ᯨ᪠®¡'¥ªâ®¢. ¯®á«¥ í⮣® ®ª® ï
|
||||
äãªæ¨ï ¢®§¢à é ¥â ã¯à ¢«¥¨¥.
|
||||
об'екты окна:
|
||||
0. +00 (1) == 0 - конец списка об'ектов. после этого оконная
|
||||
функция возвращает управление.
|
||||
|
||||
1. +00 (1) == 1 - ⥪á⮢ ï áâப
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (1) 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+06 ... ⥪á⮢ ï áâப (ª®¥æ áâப¨ - 0)
|
||||
1. +00 (1) == 1 - текстовая строка
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (1) цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+06 ... текстовая строка (конец строки - 0)
|
||||
|
||||
2. +00 (1) == 2 - § ¯®«¥¨¥ ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
+09 (1) 梥⠧ ¯®«¥¨ï
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
2. +00 (1) == 2 - заполнение прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
+09 (1) цвет заполнения
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
|
||||
3. +00 (1) == 3 - ®âà¨á®¢ª 㣫㡫ñ®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
3. +00 (1) == 3 - отрисовка углублённой прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
|
||||
4. +00 (1) == 4 - ®âà¨á®¢ª ¢ë¯ãª«®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
4. +00 (1) == 4 - отрисовка выпуклой прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
|
||||
5. +00 (1) == 5 - ®âà¨á®¢ª ª®¯ª¨ á ⥪á⮬
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
+09 (1) 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+10 ... ⥪á⮢ ï áâப (ª®¥æ áâப¨ - 0)
|
||||
5. +00 (1) == 5 - отрисовка кнопки с текстом
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
+09 (1) цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+10 ... текстовая строка (конец строки - 0)
|
||||
|
||||
‚¨¬ ¨¥! ¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨©
|
||||
Внимание! печать текста осуществляется с позиций
|
||||
x + 4, y + 1
|
||||
|
||||
6. +00 (1) == 6 - ®âà¨á®¢ª £®à¨§®â «ì®£® à §¤¥«¨â¥«ï
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
6. +00 (1) == 6 - отрисовка горизонтального разделителя
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
|
||||
7. +00 (1) == 7 - ®âà¨á®¢ª ¢¥à⨪ «ì®£® à §¤¥«¨â¥«ï
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® y (0 - 255)
|
||||
7. +00 (1) == 7 - отрисовка вертикального разделителя
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по y (0 - 255)
|
||||
|
||||
8. +00 (1) == 8 - ®âà¨á®¢ª «¥¢®© ª®¯ª¨ áªà®«¡ à <-
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
8. +00 (1) == 8 - отрисовка левой кнопки скролбара <-
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
9. +00 (1) == 9 - ®âà¨á®¢ª ¯à ¢®© ª®¯ª¨ áªà®«¡ à ->
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
9. +00 (1) == 9 - отрисовка правой кнопки скролбара ->
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
10. +00 (1) == 10 - ®âà¨á®¢ª ¢¥à奩 ª®¯ª¨ áªà®«¡ à ^
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
10. +00 (1) == 10 - отрисовка верхней кнопки скролбара ^
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
11. +00 (1) == 11 - ®âà¨á®¢ª ¨¦¥© ª®¯ª¨ áªà®«¡ à
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
11. +00 (1) == 11 - отрисовка нижней кнопки скролбара
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InvertRectan - ¯à®æ¥¤ãà § ¬¥ë 梥⠯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
InvertRectan - процедура замены цвета прямоугольной плоскости
|
||||
|
||||
¢å®¤:
|
||||
HL - x ª®®à¤¨ â
|
||||
BC - y ª®®à¤¨ â
|
||||
HX - ¤«¨ y
|
||||
LX - ¤«¨ x
|
||||
D - ⥪ã騩 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
E - ã¦ë© 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
на вход:
|
||||
HL - x координата
|
||||
BC - y координата
|
||||
HX - длина y
|
||||
LX - длина x
|
||||
D - текущий цвет
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
E - нужный цвет
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
ª ᮦ «¥¨î ¯à®æ¥¤ãà ¥ ®ç¥ì ¡ëáâà ï, ¯®í⮬㠡®«ì訥
|
||||
¯àאַ㣮«ì¨ª¨ ᮢ¥âãî ®á®¡® ¥ ¨¢¥àâ¨à®¢ âì... ;)
|
||||
к сожалению процедура не очень быстрая, поэтому большие
|
||||
прямоугольники советую особо не инвертировать... ;)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnIFF - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
PrnTxtLnIFF - процедура вывода текстовых строк на графический экран
|
||||
640x256 в режиме размерного по X шрифта
|
||||
на вход:
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за строкой
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNorm - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
PrnTxtLnNorm - процедура вывода текстовых строк на графический экран
|
||||
640x256
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
на вход:
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за строкой
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNormC - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256 á ¨§¢¥áâë¬ ç¨á«®¬ ᨬ¢®«®¢
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
C - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
B - ª®«-¢® ¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § ¯®á«¥¤¨¬ ᨬ¢®«®¬
|
||||
PrnTxtLnNormC - процедура вывода текстовых строк на графический экран
|
||||
640x256 с известным числом символов
|
||||
на вход:
|
||||
HL - адрес текстовой строки
|
||||
DE - позиция вывода по X
|
||||
C - позиция вывода по Y
|
||||
B - кол-во печатаемых символов
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за последним символом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathL - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
«¥¢®¬ã ªà î ( |-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathL - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, прижатых к
|
||||
левому краю ( |-> )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathR - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
¯à ¢®¬ã ªà î ( <-| )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathR - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, прижатых к
|
||||
правому краю ( <-| )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathC - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ®âæ¥âà¨à®¢ ëå
|
||||
®â®á¨â¥«ì® ªà ñ¢ ( <-|-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathC - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, отцентрированных
|
||||
относительно краёв ( <-|-> )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InputLine - ¯à®æ¥¤ãà । ªâ¨à®¢ ¨ï áâப¨ £à ä¨ç¥áª®¬ íªà ¥
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
InputLine - процедура редактирования строки на графическом экране
|
||||
640x256 в режиме размерного по X шрифта
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áâப¨
|
||||
HL - ¤à¥á ®¯¨á ⥫ï í«¥¬¥â®¢ íªà (¤«ï ¬ë誨)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя строки
|
||||
HL - адрес описателя элементов экрана (для мышки)
|
||||
на выход:
|
||||
-
|
||||
|
||||
®¯¨á ⥫ì áâப¨:
|
||||
+00 (1) ¬ ªá¨¬ «ì ï ¤«¨ áâப¨
|
||||
+01 (1) ä« £ £®â®¢®áâ¨
|
||||
+02 (1) ⥪ãé ï X ¯®§¨æ¨ï ªãàá®à (¨¨æ¨ «¨§¨àã¥âáï ¢ InputLine)
|
||||
+03 (1) ⥪ãé ï add_x (¨¨æ¨ «¨§¨àã¥âáï ¢ InputLine)
|
||||
+04 (1) ª®«¨ç¥á⢮ ¢¢¥¤¥ëå ᨬ¢®«®¢ / ¤«¨ áâப¨
|
||||
+05 (2) X ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
+07 (2) Y ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
+09 (2) X ¤«¨ áâப¨ íªà ¥
|
||||
+0B (1) 梥â áâப¨ (d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+0C ... á ¬ áâப
|
||||
описатель строки:
|
||||
+00 (1) максимальная длина строки
|
||||
+01 (1) флаг готовности
|
||||
+02 (1) текущая X позиция курсора (инициализируется в InputLine)
|
||||
+03 (1) текущая add_x (инициализируется в InputLine)
|
||||
+04 (1) количество введенных символов / длина строки
|
||||
+05 (2) X позиция строки на экране
|
||||
+07 (2) Y позиция строки на экране
|
||||
+09 (2) X длина строки на экране
|
||||
+0B (1) цвет строки (d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+0C ... сама строка
|
||||
|
||||
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(¢®ááâ ¢«¨¢ ¥â ¨§ ç «ìãî áâபã)
|
||||
процедуры для таблицы элементов экрана:
|
||||
InpLnExtN - процедура нормального выхода из редакции
|
||||
InpLnExtC - процедура выхода из редакции по cancel
|
||||
(восстанавливает изначальную строку)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
InitScrBar - процедура инициализации описателя скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnHScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠£®à¨§®â «ì®£® áªà®««¡ à
|
||||
PrnHScrBar - процедура печати горизонтального скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnVScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠¢¥à⨪ «ì®£® áªà®««¡ à
|
||||
PrnVScrBar - процедура печати вертикального скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitProcess - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
InitProcess - процедура инициализации описателя процессбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя процессбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnProcess - ¯à®æ¥¤ãà ¯¥ç ⨠¯à®æ¥áá¡ à
|
||||
PrnProcess - процедура печати процессбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя процессбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResFire - ¯à®æ¥¤ãà ®¦¨¤ ¨ï, ¯®ª ¢á¥ ª®¯ª¨ ¬ëè¨ ¥ ¡ã¤ãâ ®â¯ãé¥ë
|
||||
ResFire - процедура ожидания, пока все кнопки мыши не будут отпущены
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
TestCoords - ¯à®æ¥¤ãà ¯à®¢¥àª¨ ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥ í«¥¬¥â®¢
|
||||
§ªà
|
||||
TestCoords - процедура проверки координат мыши по таблице элементов
|
||||
зкрана
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес таблицы элементов зкрана
|
||||
на выход:
|
||||
-
|
||||
|
||||
â ¡«¨æ í«¥¬¥â®¢ §ªà :
|
||||
+00 (2) «¥¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+02 (2) ¯à ¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+04 (2) ¢¥àåïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+06 (2) ¨¦ïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+08 (2) ä« £¨ í«¥¬¥â
|
||||
+10 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¥ ¦ ⮬ ®£¥
|
||||
+12 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ («¥¢ ï ª®¯ª )
|
||||
+14 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢ ï ª®¯ª )
|
||||
таблица элементов зкрана:
|
||||
+00 (2) левая x координата элемента
|
||||
+02 (2) правая x координата элемента
|
||||
+04 (2) верхняя y координата элемента
|
||||
+06 (2) нижняя y координата элемента
|
||||
+08 (2) флаги элемента
|
||||
+10 (2) адрес обработчика при не нажатом огне
|
||||
+12 (2) адрес обработчика при нажатом огне (левая кнопка)
|
||||
+14 (2) адрес обработчика при нажатом огне (правая кнопка)
|
||||
|
||||
ä« £¨ í«¥¬¥â :
|
||||
d00 - í«¥¬¥â ª®¯ª
|
||||
d01 - à ¡®ç ï ª®¯ª
|
||||
d02 - ¨¢¥àâ
|
||||
d03 - áâ â¨çë© ¨¢¥àâ
|
||||
d04 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¡¥§ ®£ï
|
||||
d05 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® «¥¢®© ª®¯ª¥
|
||||
®£ï
|
||||
d06 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® ¯à ¢®© ª®¯ª¥
|
||||
®£ï
|
||||
d07 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§
|
||||
®£ï
|
||||
d08 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
«¥¢®© ª®¯ª¥
|
||||
d09 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
¯à ¢®© ª®¯ª¥
|
||||
d15 - íâ® ä« £: 1 - ¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì
|
||||
флаги элемента:
|
||||
d00 - элемент кнопка
|
||||
d01 - рабочая кнопка
|
||||
d02 - инверт
|
||||
d03 - статичный инверт
|
||||
d04 - программа запускается без адреса возврата без огня
|
||||
d05 - программа запускается без адреса возврата по левой кнопке
|
||||
огня
|
||||
d06 - программа запускается без адреса возврата по правой кнопке
|
||||
огня
|
||||
d07 - вызвать функцию закрытия окна перед запуском программы без
|
||||
огня
|
||||
d08 - вызвать функцию закрытия окна перед запуском программы по
|
||||
левой кнопке
|
||||
d09 - вызвать функцию закрытия окна перед запуском программы по
|
||||
правой кнопке
|
||||
d15 - это флаг: 1 - инверт при огне не убирать
|
||||
|
||||
|
||||
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®æ®¬ â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
если +00 == 0x8000 это считается концом таблицы элементов зкрана
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetCMOSPrint - ¯à®æ¥¤ãà ¢ª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
SetCMOSPrint - процедура включения печати даты/время из CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
на вход:
|
||||
- будет описано позднее
|
||||
на выход:
|
||||
-
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResCMOSPrint - ¯à®æ¥¤ãà ¢ëª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
ResCMOSPrint - процедура выключения печати даты/время из CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
на вход:
|
||||
- будет описано позднее
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetClock - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ç áë
|
||||
SetClock - процедура установки курсора мыши в часы
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetMouse - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ®à¬ «ìë© ªãàá®à
|
||||
SetMouse - процедура установки курсора мыши в нормальный курсор
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytes - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㢥«¨ç¥¨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ + ᪮«ìª®)
|
||||
DE - (ªã¤ + ᪮«ìª®)
|
||||
MoveBytes - процедура быстрого копирования памяти с помощью
|
||||
акселлератора с увеличением адресов
|
||||
на вход:
|
||||
HL - откуда
|
||||
DE - куда
|
||||
BC - сколько
|
||||
на выход:
|
||||
HL - (откуда + сколько)
|
||||
DE - (куда + сколько)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytesUp - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㬥ì襨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ - ᪮«ìª®)
|
||||
DE - (ªã¤ - ᪮«ìª®)
|
||||
MoveBytesUp - процедура быстрого копирования памяти с помощью
|
||||
акселлератора с уменьшением адресов
|
||||
на вход:
|
||||
HL - откуда
|
||||
DE - куда
|
||||
BC - сколько
|
||||
на выход:
|
||||
HL - (откуда - сколько)
|
||||
DE - (куда - сколько)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 8 * 8 bit = 16 bit
|
||||
Mult8 - процедура умножения 8 * 8 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
E * C
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
на выход:
|
||||
HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 8 bit = 24 bit
|
||||
Mult16X8 - процедура умножения 16 * 8 bit = 24 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * C
|
||||
¢ë室:
|
||||
A, HL - १ã«ìâ â
|
||||
на выход:
|
||||
A, HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 16 bit
|
||||
Mult16 - процедура умножения 16 * 16 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
на выход:
|
||||
HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 32 bit
|
||||
Mult16X16 - процедура умножения 16 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult32 - ¯à®æ¥¤ãà 㬮¦¥¨ï 32 * 16 bit = 32 bit
|
||||
Mult32 - процедура умножения 32 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis16X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 16 / 16 bit = 16.16 bit
|
||||
Divis16X16 - процедура деления 16 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
BC / DE
|
||||
¢ë室:
|
||||
BC - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
BC - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis24X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 24 / 16 bit = 8.16 bit
|
||||
Divis24X16 - процедура деления 24 / 16 bit = 8.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, C / DE
|
||||
¢ë室:
|
||||
A - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
A - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 16.16 bit
|
||||
Divis32X16 - процедура деления 32 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
DE - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
DE - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 32.16 bit
|
||||
Divis32 - процедура деления 32 / 16 bit = 32.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
BC - ®áâ ⮪
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
BC - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 32 bit ¢ ⥪áâ
|
||||
ConvNumTxt32 - процедура конвертации числа 32 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
BC, HL - ç¨á«® 32 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
BC, HL - число 32 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 16 bit ¢ ⥪áâ
|
||||
ConvNumTxt16 - процедура конвертации числа 16 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
HL - ç¨á«® 16 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
HL - число 16 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt8 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 8 bit ¢ ⥪áâ
|
||||
ConvNumTxt8 - процедура конвертации числа 8 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
A - ç¨á«® 8 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
A - число 8 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 32 bit
|
||||
ConvTxtNum32 - процедура конвертации текста в число 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL, IX - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
на вход:
|
||||
DE - адрес текста (конец строки - 0)
|
||||
на выход:
|
||||
HL, IX - число
|
||||
C flag - ошибка
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 16 bit
|
||||
ConvTxtNum16 - процедура конвертации текста в число 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
на вход:
|
||||
DE - адрес текста (конец строки - 0)
|
||||
на выход:
|
||||
HL - число
|
||||
C flag - ошибка
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
DOSError - ¯à®æ¥¤ãà ¢ë¢®¤ ®ª ®è¨¡ª¨ (¤«ï ¤®á ®è¨¡®ª)
|
||||
DOSError - процедура вывода окна ошибки (для дос ошибок)
|
||||
|
||||
¢å®¤:
|
||||
A - ®¬¥à ®è¨¡ª¨
|
||||
¢ë室:
|
||||
на вход:
|
||||
A - номер ошибки
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
@ -569,4 +569,4 @@
|
||||
|
||||
07 july 2002
|
||||
Anton Enin (C) Copyright 2002 R-lab
|
||||
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ á¯à¨â¥à ä®à㬥.
|
||||
если есть вопросы e-mail: r-lab@mail.ru или на спринтер форуме.
|
@ -1,7 +1,7 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.3 ®â 10.07.2002 *
|
||||
* Описание Flex Navigator API v1.xx для разработчиков Flx-Plugins *
|
||||
* doc v0.3 от 10.07.2002 *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
@ -10,579 +10,579 @@
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ClearScreen - ¯à®æ¥¤ãà ®âç¨á⪨ 0-£® íª ã¦ë¬ 梥⮬.
|
||||
ClearScreen - процедура отчистки 0-го экана нужным цветом.
|
||||
|
||||
¢å®¤:
|
||||
A - 梥⠮âç¨á⪨ (00-0Fh)
|
||||
¢ë室:
|
||||
на вход:
|
||||
A - цвет отчистки (00-0Fh)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MakeWindow - ¯à®æ¥¤ãà á®§¤ ¨ï £à ä¨ç¥áª®£® ®ª
|
||||
MakeWindow - процедура создания графического окна
|
||||
|
||||
¢å®¤:
|
||||
(SP) - ®¯¨á â¥«ì ®ª
|
||||
¢ë室:
|
||||
на вход:
|
||||
(SP) - описатель окна
|
||||
на выход:
|
||||
-
|
||||
|
||||
áà §ã § ¢ë§®¢®¬ í⮩ ¯à®æ¥¤ãàë ¢ ¯à®£à ¬¬¥ á«¥¤ã¥â ®¯¨á â¥«ì ®ª .
|
||||
¢®§¢à â ¨§ ¯à®æ¥¤ãàë ¯à®¨á室¨â ¯® ¤à¥áã, á«¥¤ãî饬㠧 ®¯¨á ⥫¥¬.
|
||||
сразу за вызовом этой процедуры в программе следует описатель окна.
|
||||
возврат из процедуры происходит по адресу, следующему за описателем.
|
||||
|
||||
¯à¨¬¥à:
|
||||
например:
|
||||
call MakeWindow
|
||||
... ; ®¯¨á â¥«ì ®ª
|
||||
... ; описатель окна
|
||||
|
||||
|
||||
®¯¨á â¥«ì ®ª :
|
||||
+00 (1) ä« £ ¢ë¢®¤ ®ª : 0 - ¡¥§ á®åà ¥¨ï ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¯®«®íªà ëå ®ª®)
|
||||
1 - á á®åà ¥¨¥¬ ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¥¡®«ìè¨å ®ª®)
|
||||
0x7F - ¢®ááâ ®¢¨âì ¤ ë¥ ¯®¤ ®ª®¬
|
||||
(ä« £ á«ã¦¨â ¤«ï § ªàëâ¨ï
|
||||
⥪ã饣® ®ª )
|
||||
+01 (2) ª®®à¤¨ â x ¤«ï ¢ë¢®¤ (0 - 639)
|
||||
+03 (2) ª®®à¤¨ â y ¤«ï ¢ë¢®¤ (0 - 255)
|
||||
+05 (2) ¤«¨ ®ª ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ®ª ¯® y (0 - 255)
|
||||
описатель окна:
|
||||
+00 (1) флаг вывода окна: 0 - без сохранения данных под окном
|
||||
(используется для полноэкранных окон)
|
||||
1 - с сохранением данных под окном
|
||||
(используется для небольших окон)
|
||||
0x7F - восстановить данные под окном
|
||||
(флаг служит для закрытия
|
||||
текущего окна)
|
||||
+01 (2) координата x для вывода (0 - 639)
|
||||
+03 (2) координата y для вывода (0 - 255)
|
||||
+05 (2) длина окна по x (0 - 639)
|
||||
+07 (2) длина окна по y (0 - 255)
|
||||
|
||||
¤ «¥¥ ¨¤ãâ ®¡'¥ªâë ®ª ¢ ä®à¬ â¥:
|
||||
+00 (1) ⨯ ®¡¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
далее идут об'екты окна в формате:
|
||||
+00 (1) тип обекта
|
||||
+01 ... описатели обекта
|
||||
|
||||
®¡'¥ªâë ®ª :
|
||||
0. +00 (1) == 0 - ª®¥æ ᯨ᪠®¡'¥ªâ®¢. ¯®á«¥ í⮣® ®ª® ï
|
||||
äãªæ¨ï ¢®§¢à é ¥â ã¯à ¢«¥¨¥.
|
||||
об'екты окна:
|
||||
0. +00 (1) == 0 - конец списка об'ектов. после этого оконная
|
||||
функция возвращает управление.
|
||||
|
||||
1. +00 (1) == 1 - ⥪á⮢ ï áâப
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (1) 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+06 ... ⥪á⮢ ï áâப (ª®¥æ áâப¨ - 0)
|
||||
1. +00 (1) == 1 - текстовая строка
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (1) цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+06 ... текстовая строка (конец строки - 0)
|
||||
|
||||
2. +00 (1) == 2 - § ¯®«¥¨¥ ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
+09 (1) 梥⠧ ¯®«¥¨ï
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
2. +00 (1) == 2 - заполнение прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
+09 (1) цвет заполнения
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
|
||||
3. +00 (1) == 3 - ®âà¨á®¢ª 㣫㡫ñ®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
3. +00 (1) == 3 - отрисовка углублённой прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
|
||||
4. +00 (1) == 4 - ®âà¨á®¢ª ¢ë¯ãª«®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
4. +00 (1) == 4 - отрисовка выпуклой прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
|
||||
5. +00 (1) == 5 - ®âà¨á®¢ª ª®¯ª¨ á ⥪á⮬
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
+09 (1) 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+10 ... ⥪á⮢ ï áâப (ª®¥æ áâப¨ - 0)
|
||||
5. +00 (1) == 5 - отрисовка кнопки с текстом
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
+09 (1) цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+10 ... текстовая строка (конец строки - 0)
|
||||
|
||||
‚¨¬ ¨¥! ¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨©
|
||||
Внимание! печать текста осуществляется с позиций
|
||||
x + 4, y + 1
|
||||
|
||||
6. +00 (1) == 6 - ®âà¨á®¢ª £®à¨§®â «ì®£® à §¤¥«¨â¥«ï
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
6. +00 (1) == 6 - отрисовка горизонтального разделителя
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
|
||||
7. +00 (1) == 7 - ®âà¨á®¢ª ¢¥à⨪ «ì®£® à §¤¥«¨â¥«ï
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® y (0 - 255)
|
||||
7. +00 (1) == 7 - отрисовка вертикального разделителя
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по y (0 - 255)
|
||||
|
||||
8. +00 (1) == 8 - ®âà¨á®¢ª «¥¢®© ª®¯ª¨ áªà®«¡ à <-
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
8. +00 (1) == 8 - отрисовка левой кнопки скролбара <-
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
9. +00 (1) == 9 - ®âà¨á®¢ª ¯à ¢®© ª®¯ª¨ áªà®«¡ à ->
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
9. +00 (1) == 9 - отрисовка правой кнопки скролбара ->
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
10. +00 (1) == 10 - ®âà¨á®¢ª ¢¥à奩 ª®¯ª¨ áªà®«¡ à ^
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
10. +00 (1) == 10 - отрисовка верхней кнопки скролбара ^
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
11. +00 (1) == 11 - ®âà¨á®¢ª ¨¦¥© ª®¯ª¨ áªà®«¡ à
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
11. +00 (1) == 11 - отрисовка нижней кнопки скролбара
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InvertRectan - ¯à®æ¥¤ãà § ¬¥ë 梥⠯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
InvertRectan - процедура замены цвета прямоугольной плоскости
|
||||
|
||||
¢å®¤:
|
||||
HL - x ª®®à¤¨ â
|
||||
BC - y ª®®à¤¨ â
|
||||
HX - ¤«¨ y
|
||||
LX - ¤«¨ x
|
||||
D - ⥪ã騩 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
E - ã¦ë© 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
на вход:
|
||||
HL - x координата
|
||||
BC - y координата
|
||||
HX - длина y
|
||||
LX - длина x
|
||||
D - текущий цвет
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
E - нужный цвет
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
ª ᮦ «¥¨î ¯à®æ¥¤ãà ¥ ®ç¥ì ¡ëáâà ï, ¯®í⮬㠡®«ì訥
|
||||
¯àאַ㣮«ì¨ª¨ ᮢ¥âãî ®á®¡® ¥ ¨¢¥àâ¨à®¢ âì... ;)
|
||||
к сожалению процедура не очень быстрая, поэтому большие
|
||||
прямоугольники советую особо не инвертировать... ;)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnIFF - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
PrnTxtLnIFF - процедура вывода текстовых строк на графический экран
|
||||
640x256 в режиме размерного по X шрифта
|
||||
на вход:
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за строкой
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNorm - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
PrnTxtLnNorm - процедура вывода текстовых строк на графический экран
|
||||
640x256
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
на вход:
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за строкой
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNormC - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256 á ¨§¢¥áâë¬ ç¨á«®¬ ᨬ¢®«®¢
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
C - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
B - ª®«-¢® ¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § ¯®á«¥¤¨¬ ᨬ¢®«®¬
|
||||
PrnTxtLnNormC - процедура вывода текстовых строк на графический экран
|
||||
640x256 с известным числом символов
|
||||
на вход:
|
||||
HL - адрес текстовой строки
|
||||
DE - позиция вывода по X
|
||||
C - позиция вывода по Y
|
||||
B - кол-во печатаемых символов
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за последним символом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathL - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
«¥¢®¬ã ªà î ( |-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathL - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, прижатых к
|
||||
левому краю ( |-> )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathR - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
¯à ¢®¬ã ªà î ( <-| )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathR - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, прижатых к
|
||||
правому краю ( <-| )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathC - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ®âæ¥âà¨à®¢ ëå
|
||||
®â®á¨â¥«ì® ªà ñ¢ ( <-|-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathC - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, отцентрированных
|
||||
относительно краёв ( <-|-> )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InputLine - ¯à®æ¥¤ãà । ªâ¨à®¢ ¨ï áâப¨ £à ä¨ç¥áª®¬ íªà ¥
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
InputLine - процедура редактирования строки на графическом экране
|
||||
640x256 в режиме размерного по X шрифта
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áâப¨
|
||||
HL - ¤à¥á ®¯¨á ⥫ï í«¥¬¥â®¢ íªà (¤«ï ¬ë誨)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя строки
|
||||
HL - адрес описателя элементов экрана (для мышки)
|
||||
на выход:
|
||||
-
|
||||
|
||||
®¯¨á ⥫ì áâப¨:
|
||||
+00 (1) ¬ ªá¨¬ «ì ï ¤«¨ áâப¨
|
||||
+01 (1) ä« £ £®â®¢®áâ¨
|
||||
+02 (1) ⥪ãé ï X ¯®§¨æ¨ï ªãàá®à (¨¨æ¨ «¨§¨àã¥âáï ¢ InputLine)
|
||||
+03 (1) ⥪ãé ï add_x (¨¨æ¨ «¨§¨àã¥âáï ¢ InputLine)
|
||||
+04 (1) ª®«¨ç¥á⢮ ¢¢¥¤¥ëå ᨬ¢®«®¢ / ¤«¨ áâப¨
|
||||
+05 (2) X ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
+07 (2) Y ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
+09 (2) X ¤«¨ áâப¨ íªà ¥
|
||||
+0B (1) 梥â áâப¨ (d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+0C ... á ¬ áâப
|
||||
описатель строки:
|
||||
+00 (1) максимальная длина строки
|
||||
+01 (1) флаг готовности
|
||||
+02 (1) текущая X позиция курсора (инициализируется в InputLine)
|
||||
+03 (1) текущая add_x (инициализируется в InputLine)
|
||||
+04 (1) количество введенных символов / длина строки
|
||||
+05 (2) X позиция строки на экране
|
||||
+07 (2) Y позиция строки на экране
|
||||
+09 (2) X длина строки на экране
|
||||
+0B (1) цвет строки (d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+0C ... сама строка
|
||||
|
||||
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(¢®ááâ ¢«¨¢ ¥â ¨§ ç «ìãî áâபã)
|
||||
процедуры для таблицы элементов экрана:
|
||||
InpLnExtN - процедура нормального выхода из редакции
|
||||
InpLnExtC - процедура выхода из редакции по cancel
|
||||
(восстанавливает изначальную строку)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
InitScrBar - процедура инициализации описателя скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
®¯¨á ⥫ì áªà®««¡ à :
|
||||
+00 (2) X ¯®§¨æ¨ï áªà®«¡ à (0-639)
|
||||
+02 (2) Y ¯®§¨æ¨ï áªà®«¡ à (0-255)
|
||||
+04 (2) ¤«¨ áªà®«¡ à
|
||||
+06 (2) ⥪ãé ï ¤«¨ áªà®«¡ à (¨¨æ¨ «¨§¨àã¥âáï ¢ InitScrBar)
|
||||
+08 (2) ¤à¥á ï祩ª¨, ªã¤ § ¯¨è¥âáï ç «ì ï ª®®à¤¨ â ¡ à
|
||||
¥á«¨ 0, â® ¥ ¨á¯®«ì§ã¥âáï
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà )
|
||||
+10 (2) ¤à¥á ï祩ª¨, ªã¤ § ¯¨è¥âáï ª®¥ç ï ª®®à¤¨ â ¡ à
|
||||
¥á«¨ 0, â® ¥ ¨á¯®«ì§ã¥âáï
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà )
|
||||
+12 (2) ª®«-¢® ¢¨¤¨¬ëå í«¥¬¥â®¢
|
||||
+14 (2) ®¡é¥¥ ª®«-¢® í«¥¬¥â®¢
|
||||
+16 (2) ¯¥à¢ ï ¢¨¤¨¬ë© í«¥¬¥â
|
||||
описатель скроллбара:
|
||||
+00 (2) X позиция скролбара (0-639)
|
||||
+02 (2) Y позиция скролбара (0-255)
|
||||
+04 (2) длина скролбара
|
||||
+06 (2) текущая длина скролбара (инициализируется в InitScrBar)
|
||||
+08 (2) адрес ячейки, куда запишется начальная координата бара
|
||||
если 0, то не используется
|
||||
(используется для таблицы элементов экрана)
|
||||
+10 (2) адрес ячейки, куда запишется конечная координата бара
|
||||
если 0, то не используется
|
||||
(используется для таблицы элементов экрана)
|
||||
+12 (2) кол-во видимых элементов
|
||||
+14 (2) общее кол-во элементов
|
||||
+16 (2) первая видимый элемент
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnHScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠£®à¨§®â «ì®£® áªà®««¡ à
|
||||
PrnHScrBar - процедура печати горизонтального скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара (см. выше)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnVScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠¢¥à⨪ «ì®£® áªà®««¡ à
|
||||
PrnVScrBar - процедура печати вертикального скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара (см. выше)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitProcess - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
InitProcess - процедура инициализации описателя процессбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя процессбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
®¯¨á â¥«ï ¯à®æ¥áá¡ à :
|
||||
+00 (2) X ¯®§¨æ¨ï ¯à®æ¥áá¡ à (0-639)
|
||||
+02 (2) Y ¯®§¨æ¨ï ¯à®æ¥áá¡ à (0-255)
|
||||
+04 (2) ¤«¨ ¯à®æ¥áá¡ à
|
||||
+06 (2) ª®íä䍿¨¥â ¤«ï ¯à®æ¥áá (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+08 (2) ª®à४æ¨ï ª®í䍿¨¥â (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+10 (4) ¬ ªá¨¬ã¬ (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+14 (4) ⥪ã饥 (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+18 (1) æ¢¥â ¯à®æ¥áá¡ à
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
описателя процессбара:
|
||||
+00 (2) X позиция процессбара (0-639)
|
||||
+02 (2) Y позиция процессбара (0-255)
|
||||
+04 (2) длина процессбара
|
||||
+06 (2) коэффициент для процесса (инициализируется в InitProcess)
|
||||
+08 (2) коррекция коэфициента (инициализируется в InitProcess)
|
||||
+10 (4) максимум (инициализируется в InitProcess)
|
||||
+14 (4) текущее (инициализируется в InitProcess)
|
||||
+18 (1) цвет процессбара
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnProcess - ¯à®æ¥¤ãà ¯¥ç ⨠¯à®æ¥áá¡ à
|
||||
PrnProcess - процедура печати процессбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя процессбара (см. выше)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResFire - ¯à®æ¥¤ãà ®¦¨¤ ¨ï, ¯®ª ¢á¥ ª®¯ª¨ ¬ëè¨ ¥ ¡ã¤ãâ ®â¯ãé¥ë
|
||||
ResFire - процедура ожидания, пока все кнопки мыши не будут отпущены
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
TestCoords - ¯à®æ¥¤ãà ¯à®¢¥àª¨ ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥ í«¥¬¥â®¢
|
||||
§ªà
|
||||
TestCoords - процедура проверки координат мыши по таблице элементов
|
||||
зкрана
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес таблицы элементов зкрана
|
||||
на выход:
|
||||
-
|
||||
|
||||
â ¡«¨æ í«¥¬¥â®¢ §ªà :
|
||||
+00 (2) «¥¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+02 (2) ¯à ¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+04 (2) ¢¥àåïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+06 (2) ¨¦ïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+08 (2) ä« £¨ í«¥¬¥â
|
||||
+10 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¥ ¦ ⮬ ®£¥
|
||||
+12 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ («¥¢ ï ª®¯ª )
|
||||
+14 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢ ï ª®¯ª )
|
||||
таблица элементов зкрана:
|
||||
+00 (2) левая x координата элемента
|
||||
+02 (2) правая x координата элемента
|
||||
+04 (2) верхняя y координата элемента
|
||||
+06 (2) нижняя y координата элемента
|
||||
+08 (2) флаги элемента
|
||||
+10 (2) адрес обработчика при не нажатом огне
|
||||
+12 (2) адрес обработчика при нажатом огне (левая кнопка)
|
||||
+14 (2) адрес обработчика при нажатом огне (правая кнопка)
|
||||
|
||||
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®æ®¬ â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
если +00 == 0x8000 это считается концом таблицы элементов зкрана
|
||||
|
||||
ä« £¨ í«¥¬¥â :
|
||||
d00 - í«¥¬¥â ª®¯ª
|
||||
d01 - à ¡®ç ï ª®¯ª
|
||||
d02 - ¨¢¥àâ
|
||||
d03 - áâ â¨çë© ¨¢¥àâ
|
||||
d04 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¡¥§ ®£ï
|
||||
d05 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® «¥¢®© ª®¯ª¥
|
||||
®£ï
|
||||
d06 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® ¯à ¢®© ª®¯ª¥
|
||||
®£ï
|
||||
d07 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§
|
||||
®£ï
|
||||
d08 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
«¥¢®© ª®¯ª¥
|
||||
d09 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
¯à ¢®© ª®¯ª¥
|
||||
d15 - íâ® ä« £: 1 - ¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì
|
||||
флаги элемента:
|
||||
d00 - элемент кнопка
|
||||
d01 - рабочая кнопка
|
||||
d02 - инверт
|
||||
d03 - статичный инверт
|
||||
d04 - программа запускается без адреса возврата без огня
|
||||
d05 - программа запускается без адреса возврата по левой кнопке
|
||||
огня
|
||||
d06 - программа запускается без адреса возврата по правой кнопке
|
||||
огня
|
||||
d07 - вызвать функцию закрытия окна перед запуском программы без
|
||||
огня
|
||||
d08 - вызвать функцию закрытия окна перед запуском программы по
|
||||
левой кнопке
|
||||
d09 - вызвать функцию закрытия окна перед запуском программы по
|
||||
правой кнопке
|
||||
d15 - это флаг: 1 - инверт при огне не убирать
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetCMOSPrint - ¯à®æ¥¤ãà ¢ª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
SetCMOSPrint - процедура включения печати даты/время из CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
на вход:
|
||||
- будет описано позднее
|
||||
на выход:
|
||||
-
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResCMOSPrint - ¯à®æ¥¤ãà ¢ëª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
ResCMOSPrint - процедура выключения печати даты/время из CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
на вход:
|
||||
- будет описано позднее
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetClock - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ç áë
|
||||
SetClock - процедура установки курсора мыши в часы
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetMouse - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ®à¬ «ìë© ªãàá®à
|
||||
SetMouse - процедура установки курсора мыши в нормальный курсор
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytes - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㢥«¨ç¥¨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ + ᪮«ìª®)
|
||||
DE - (ªã¤ + ᪮«ìª®)
|
||||
MoveBytes - процедура быстрого копирования памяти с помощью
|
||||
акселлератора с увеличением адресов
|
||||
на вход:
|
||||
HL - откуда
|
||||
DE - куда
|
||||
BC - сколько
|
||||
на выход:
|
||||
HL - (откуда + сколько)
|
||||
DE - (куда + сколько)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytesUp - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㬥ì襨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ - ᪮«ìª®)
|
||||
DE - (ªã¤ - ᪮«ìª®)
|
||||
MoveBytesUp - процедура быстрого копирования памяти с помощью
|
||||
акселлератора с уменьшением адресов
|
||||
на вход:
|
||||
HL - откуда
|
||||
DE - куда
|
||||
BC - сколько
|
||||
на выход:
|
||||
HL - (откуда - сколько)
|
||||
DE - (куда - сколько)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 8 * 8 bit = 16 bit
|
||||
Mult8 - процедура умножения 8 * 8 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
E * C
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
на выход:
|
||||
HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 8 bit = 24 bit
|
||||
Mult16X8 - процедура умножения 16 * 8 bit = 24 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * C
|
||||
¢ë室:
|
||||
A, HL - १ã«ìâ â
|
||||
на выход:
|
||||
A, HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 16 bit
|
||||
Mult16 - процедура умножения 16 * 16 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
на выход:
|
||||
HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 32 bit
|
||||
Mult16X16 - процедура умножения 16 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult32 - ¯à®æ¥¤ãà 㬮¦¥¨ï 32 * 16 bit = 32 bit
|
||||
Mult32 - процедура умножения 32 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis16X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 16 / 16 bit = 16.16 bit
|
||||
Divis16X16 - процедура деления 16 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
BC / DE
|
||||
¢ë室:
|
||||
BC - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
BC - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis24X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 24 / 16 bit = 8.16 bit
|
||||
Divis24X16 - процедура деления 24 / 16 bit = 8.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, C / DE
|
||||
¢ë室:
|
||||
A - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
A - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 16.16 bit
|
||||
Divis32X16 - процедура деления 32 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
DE - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
DE - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 32.16 bit
|
||||
Divis32 - процедура деления 32 / 16 bit = 32.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
BC - ®áâ ⮪
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
BC - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 32 bit ¢ ⥪áâ
|
||||
ConvNumTxt32 - процедура конвертации числа 32 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
BC, HL - ç¨á«® 32 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
BC, HL - число 32 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 16 bit ¢ ⥪áâ
|
||||
ConvNumTxt16 - процедура конвертации числа 16 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
HL - ç¨á«® 16 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
HL - число 16 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt8 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 8 bit ¢ ⥪áâ
|
||||
ConvNumTxt8 - процедура конвертации числа 8 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
A - ç¨á«® 8 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
A - число 8 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 32 bit
|
||||
ConvTxtNum32 - процедура конвертации текста в число 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL, IX - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
на вход:
|
||||
DE - адрес текста (конец строки - 0)
|
||||
на выход:
|
||||
HL, IX - число
|
||||
C flag - ошибка
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 16 bit
|
||||
ConvTxtNum16 - процедура конвертации текста в число 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
на вход:
|
||||
DE - адрес текста (конец строки - 0)
|
||||
на выход:
|
||||
HL - число
|
||||
C flag - ошибка
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
DOSError - ¯à®æ¥¤ãà ¢ë¢®¤ ®ª ®è¨¡ª¨ (¤«ï ¤®á ®è¨¡®ª)
|
||||
DOSError - процедура вывода окна ошибки (для дос ошибок)
|
||||
|
||||
¢å®¤:
|
||||
A - ®¬¥à ®è¨¡ª¨
|
||||
¢ë室:
|
||||
на вход:
|
||||
A - номер ошибки
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
@ -593,4 +593,4 @@
|
||||
|
||||
10 july 2002
|
||||
Anton Enin (C) Copyright 2002 R-lab
|
||||
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ á¯à¨â¥à ä®à㬥.
|
||||
если есть вопросы e-mail: r-lab@mail.ru или на спринтер форуме.
|
@ -1,7 +1,7 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.4 ®â 13.07.2002 *
|
||||
* Описание Flex Navigator API v1.xx для разработчиков Flx-Plugins *
|
||||
* doc v0.4 от 13.07.2002 *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
@ -10,594 +10,594 @@
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ClearScreen - ¯à®æ¥¤ãà ®âç¨á⪨ 0-£® íª ã¦ë¬ 梥⮬.
|
||||
ClearScreen - процедура отчистки 0-го экана нужным цветом.
|
||||
|
||||
¢å®¤:
|
||||
A - 梥⠮âç¨á⪨ (00-0Fh)
|
||||
¢ë室:
|
||||
на вход:
|
||||
A - цвет отчистки (00-0Fh)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MakeWindow - ¯à®æ¥¤ãà á®§¤ ¨ï £à ä¨ç¥áª®£® ®ª
|
||||
MakeWindow - процедура создания графического окна
|
||||
|
||||
¢å®¤:
|
||||
(SP) - ®¯¨á â¥«ì ®ª
|
||||
¢ë室:
|
||||
на вход:
|
||||
(SP) - описатель окна
|
||||
на выход:
|
||||
-
|
||||
|
||||
áà §ã § ¢ë§®¢®¬ í⮩ ¯à®æ¥¤ãàë ¢ ¯à®£à ¬¬¥ á«¥¤ã¥â ®¯¨á â¥«ì ®ª .
|
||||
¢®§¢à â ¨§ ¯à®æ¥¤ãàë ¯à®¨á室¨â ¯® ¤à¥áã, á«¥¤ãî饬㠧 ®¯¨á ⥫¥¬.
|
||||
сразу за вызовом этой процедуры в программе следует описатель окна.
|
||||
возврат из процедуры происходит по адресу, следующему за описателем.
|
||||
|
||||
¯à¨¬¥à:
|
||||
например:
|
||||
call MakeWindow
|
||||
... ; ®¯¨á â¥«ì ®ª
|
||||
... ; описатель окна
|
||||
|
||||
|
||||
®¯¨á â¥«ì ®ª :
|
||||
+00 (1) ä« £ ¢ë¢®¤ ®ª : 0 - ¡¥§ á®åà ¥¨ï ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¯®«®íªà ëå ®ª®)
|
||||
1 - á á®åà ¥¨¥¬ ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¥¡®«ìè¨å ®ª®)
|
||||
0x7F - ¢®ááâ ®¢¨âì ¤ ë¥ ¯®¤ ®ª®¬
|
||||
(ä« £ á«ã¦¨â ¤«ï § ªàëâ¨ï
|
||||
⥪ã饣® ®ª )
|
||||
+01 (2) ª®®à¤¨ â x ¤«ï ¢ë¢®¤ (0 - 639)
|
||||
+03 (2) ª®®à¤¨ â y ¤«ï ¢ë¢®¤ (0 - 255)
|
||||
+05 (2) ¤«¨ ®ª ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ®ª ¯® y (0 - 255)
|
||||
описатель окна:
|
||||
+00 (1) флаг вывода окна: 0 - без сохранения данных под окном
|
||||
(используется для полноэкранных окон)
|
||||
1 - с сохранением данных под окном
|
||||
(используется для небольших окон)
|
||||
0x7F - восстановить данные под окном
|
||||
(флаг служит для закрытия
|
||||
текущего окна)
|
||||
+01 (2) координата x для вывода (0 - 639)
|
||||
+03 (2) координата y для вывода (0 - 255)
|
||||
+05 (2) длина окна по x (0 - 639)
|
||||
+07 (2) длина окна по y (0 - 255)
|
||||
|
||||
¤ «¥¥ ¨¤ãâ ®¡'¥ªâë ®ª ¢ ä®à¬ â¥:
|
||||
+00 (1) ⨯ ®¡¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
далее идут об'екты окна в формате:
|
||||
+00 (1) тип обекта
|
||||
+01 ... описатели обекта
|
||||
|
||||
®¡'¥ªâë ®ª :
|
||||
0. +00 (1) == 0 - ª®¥æ ᯨ᪠®¡'¥ªâ®¢. ¯®á«¥ í⮣® ®ª® ï
|
||||
äãªæ¨ï ¢®§¢à é ¥â ã¯à ¢«¥¨¥.
|
||||
об'екты окна:
|
||||
0. +00 (1) == 0 - конец списка об'ектов. после этого оконная
|
||||
функция возвращает управление.
|
||||
|
||||
1. +00 (1) == 1 - ⥪á⮢ ï áâப
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (1) 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+06 ... ⥪á⮢ ï áâப (ª®¥æ áâப¨ - 0)
|
||||
1. +00 (1) == 1 - текстовая строка
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (1) цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+06 ... текстовая строка (конец строки - 0)
|
||||
|
||||
2. +00 (1) == 2 - § ¯®«¥¨¥ ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
+09 (1) 梥⠧ ¯®«¥¨ï
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
2. +00 (1) == 2 - заполнение прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
+09 (1) цвет заполнения
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
|
||||
3. +00 (1) == 3 - ®âà¨á®¢ª 㣫㡫ñ®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
3. +00 (1) == 3 - отрисовка углублённой прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
|
||||
4. +00 (1) == 4 - ®âà¨á®¢ª ¢ë¯ãª«®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
4. +00 (1) == 4 - отрисовка выпуклой прямоугольной плоскости
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
|
||||
5. +00 (1) == 5 - ®âà¨á®¢ª ª®¯ª¨ á ⥪á⮬
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
+07 (2) ¤«¨ ¯® y (0 - 255)
|
||||
+09 (1) 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+10 ... ⥪á⮢ ï áâப (ª®¥æ áâப¨ - 0)
|
||||
5. +00 (1) == 5 - отрисовка кнопки с текстом
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
+07 (2) длина по y (0 - 255)
|
||||
+09 (1) цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+10 ... текстовая строка (конец строки - 0)
|
||||
|
||||
‚¨¬ ¨¥! ¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨©
|
||||
Внимание! печать текста осуществляется с позиций
|
||||
x + 4, y + 1
|
||||
|
||||
6. +00 (1) == 6 - ®âà¨á®¢ª £®à¨§®â «ì®£® à §¤¥«¨â¥«ï
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® x (0 - 639)
|
||||
6. +00 (1) == 6 - отрисовка горизонтального разделителя
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по x (0 - 639)
|
||||
|
||||
7. +00 (1) == 7 - ®âà¨á®¢ª ¢¥à⨪ «ì®£® à §¤¥«¨â¥«ï
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
+05 (2) ¤«¨ ¯® y (0 - 255)
|
||||
7. +00 (1) == 7 - отрисовка вертикального разделителя
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
+05 (2) длина по y (0 - 255)
|
||||
|
||||
8. +00 (1) == 8 - ®âà¨á®¢ª «¥¢®© ª®¯ª¨ áªà®«¡ à <-
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
8. +00 (1) == 8 - отрисовка левой кнопки скролбара <-
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
9. +00 (1) == 9 - ®âà¨á®¢ª ¯à ¢®© ª®¯ª¨ áªà®«¡ à ->
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
9. +00 (1) == 9 - отрисовка правой кнопки скролбара ->
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
10. +00 (1) == 10 - ®âà¨á®¢ª ¢¥à奩 ª®¯ª¨ áªà®«¡ à ^
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
10. +00 (1) == 10 - отрисовка верхней кнопки скролбара ^
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
11. +00 (1) == 11 - ®âà¨á®¢ª ¨¦¥© ª®¯ª¨ áªà®«¡ à
|
||||
+01 (2) ᬥ饨¥ x ®â ç « ®ª (0 - 639)
|
||||
+03 (2) ᬥ饨¥ y ®â ç « ®ª (0 - 255)
|
||||
11. +00 (1) == 11 - отрисовка нижней кнопки скролбара
|
||||
+01 (2) смещение x от начала окна (0 - 639)
|
||||
+03 (2) смещение y от начала окна (0 - 255)
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InvertRectan - ¯à®æ¥¤ãà § ¬¥ë 梥⠯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
InvertRectan - процедура замены цвета прямоугольной плоскости
|
||||
|
||||
¢å®¤:
|
||||
HL - x ª®®à¤¨ â
|
||||
BC - y ª®®à¤¨ â
|
||||
HX - ¤«¨ y
|
||||
LX - ¤«¨ x
|
||||
D - ⥪ã騩 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
E - ã¦ë© 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
на вход:
|
||||
HL - x координата
|
||||
BC - y координата
|
||||
HX - длина y
|
||||
LX - длина x
|
||||
D - текущий цвет
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
E - нужный цвет
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
ª ᮦ «¥¨î ¯à®æ¥¤ãà ¥ ®ç¥ì ¡ëáâà ï, ¯®í⮬㠡®«ì訥
|
||||
¯àאַ㣮«ì¨ª¨ ᮢ¥âãî ®á®¡® ¥ ¨¢¥àâ¨à®¢ âì... ;)
|
||||
к сожалению процедура не очень быстрая, поэтому большие
|
||||
прямоугольники советую особо не инвертировать... ;)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnIFF - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
PrnTxtLnIFF - процедура вывода текстовых строк на графический экран
|
||||
640x256 в режиме размерного по X шрифта
|
||||
на вход:
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за строкой
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNorm - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
PrnTxtLnNorm - процедура вывода текстовых строк на графический экран
|
||||
640x256
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
на вход:
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за строкой
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNormC - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256 á ¨§¢¥áâë¬ ç¨á«®¬ ᨬ¢®«®¢
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
C - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
B - ª®«-¢® ¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § ¯®á«¥¤¨¬ ᨬ¢®«®¬
|
||||
PrnTxtLnNormC - процедура вывода текстовых строк на графический экран
|
||||
640x256 с известным числом символов
|
||||
на вход:
|
||||
HL - адрес текстовой строки
|
||||
DE - позиция вывода по X
|
||||
C - позиция вывода по Y
|
||||
B - кол-во печатаемых символов
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
HL - адрес байта, следующего за последним символом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathL - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
«¥¢®¬ã ªà î ( |-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathL - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, прижатых к
|
||||
левому краю ( |-> )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathR - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
¯à ¢®¬ã ªà î ( <-| )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathR - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, прижатых к
|
||||
правому краю ( <-| )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathC - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ®âæ¥âà¨à®¢ ëå
|
||||
®â®á¨â¥«ì® ªà ñ¢ ( <-|-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
PrnRangPathC - процедура вывода досовских путей на графический экран
|
||||
640x256 в режиме размерного по X шрифта, отцентрированных
|
||||
относительно краёв ( <-|-> )
|
||||
на вход:
|
||||
IX - кол-во пикселей под вывод строки
|
||||
HL - адрес текстовой строки (конец строки - 0)
|
||||
DE - позиция вывода по X
|
||||
BC - позиция вывода по Y
|
||||
A - цвет печати
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
на выход:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
процедура грамотно укорачивает досовский путь до нужного
|
||||
размера путём замещения невлезающих директорий на ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InputLine - ¯à®æ¥¤ãà । ªâ¨à®¢ ¨ï áâப¨ £à ä¨ç¥áª®¬ íªà ¥
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
InputLine - процедура редактирования строки на графическом экране
|
||||
640x256 в режиме размерного по X шрифта
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áâப¨
|
||||
HL - ¤à¥á ®¯¨á ⥫ï í«¥¬¥â®¢ íªà (¤«ï ¬ë誨)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя строки
|
||||
HL - адрес описателя элементов экрана (для мышки)
|
||||
на выход:
|
||||
-
|
||||
|
||||
®¯¨á ⥫ì áâப¨:
|
||||
+00 (1) ¬ ªá¨¬ «ì ï ¤«¨ áâப¨
|
||||
+01 (1) ä« £ £®â®¢®áâ¨
|
||||
+02 (1) ⥪ãé ï X ¯®§¨æ¨ï ªãàá®à (¨¨æ¨ «¨§¨àã¥âáï ¢ InputLine)
|
||||
+03 (1) ⥪ãé ï add_x (¨¨æ¨ «¨§¨àã¥âáï ¢ InputLine)
|
||||
+04 (1) ª®«¨ç¥á⢮ ¢¢¥¤¥ëå ᨬ¢®«®¢ / ¤«¨ áâப¨
|
||||
+05 (2) X ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
+07 (2) Y ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
+09 (2) X ¤«¨ áâப¨ íªà ¥
|
||||
+0B (1) 梥â áâப¨ (d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
+0C ... á ¬ áâப
|
||||
описатель строки:
|
||||
+00 (1) максимальная длина строки
|
||||
+01 (1) флаг готовности
|
||||
+02 (1) текущая X позиция курсора (инициализируется в InputLine)
|
||||
+03 (1) текущая add_x (инициализируется в InputLine)
|
||||
+04 (1) количество введенных символов / длина строки
|
||||
+05 (2) X позиция строки на экране
|
||||
+07 (2) Y позиция строки на экране
|
||||
+09 (2) X длина строки на экране
|
||||
+0B (1) цвет строки (d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
+0C ... сама строка
|
||||
|
||||
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(¢®ááâ ¢«¨¢ ¥â ¨§ ç «ìãî áâபã)
|
||||
процедуры для таблицы элементов экрана:
|
||||
InpLnExtN - процедура нормального выхода из редакции
|
||||
InpLnExtC - процедура выхода из редакции по cancel
|
||||
(восстанавливает изначальную строку)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
InitScrBar - процедура инициализации описателя скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
®¯¨á ⥫ì áªà®««¡ à :
|
||||
+00 (2) X ¯®§¨æ¨ï áªà®«¡ à (0-639)
|
||||
+02 (2) Y ¯®§¨æ¨ï áªà®«¡ à (0-255)
|
||||
+04 (2) ¤«¨ áªà®«¡ à
|
||||
+06 (2) ⥪ãé ï ¤«¨ áªà®«¡ à (¨¨æ¨ «¨§¨àã¥âáï ¢ InitScrBar)
|
||||
+08 (2) ¤à¥á ï祩ª¨, ªã¤ § ¯¨è¥âáï ç «ì ï ª®®à¤¨ â ¡ à
|
||||
¥á«¨ 0, â® ¥ ¨á¯®«ì§ã¥âáï
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà )
|
||||
+10 (2) ¤à¥á ï祩ª¨, ªã¤ § ¯¨è¥âáï ª®¥ç ï ª®®à¤¨ â ¡ à
|
||||
¥á«¨ 0, â® ¥ ¨á¯®«ì§ã¥âáï
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà )
|
||||
+12 (2) ª®«-¢® ¢¨¤¨¬ëå í«¥¬¥â®¢
|
||||
+14 (2) ®¡é¥¥ ª®«-¢® í«¥¬¥â®¢
|
||||
+16 (2) ¯¥à¢ ï ¢¨¤¨¬ë© í«¥¬¥â
|
||||
описатель скроллбара:
|
||||
+00 (2) X позиция скролбара (0-639)
|
||||
+02 (2) Y позиция скролбара (0-255)
|
||||
+04 (2) длина скролбара
|
||||
+06 (2) текущая длина скролбара (инициализируется в InitScrBar)
|
||||
+08 (2) адрес ячейки, куда запишется начальная координата бара
|
||||
если 0, то не используется
|
||||
(используется для таблицы элементов экрана)
|
||||
+10 (2) адрес ячейки, куда запишется конечная координата бара
|
||||
если 0, то не используется
|
||||
(используется для таблицы элементов экрана)
|
||||
+12 (2) кол-во видимых элементов
|
||||
+14 (2) общее кол-во элементов
|
||||
+16 (2) первая видимый элемент
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnHScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠£®à¨§®â «ì®£® áªà®««¡ à
|
||||
PrnHScrBar - процедура печати горизонтального скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара (см. выше)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnVScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠¢¥à⨪ «ì®£® áªà®««¡ à
|
||||
PrnVScrBar - процедура печати вертикального скроллбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя скроллбара (см. выше)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitProcess - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
InitProcess - процедура инициализации описателя процессбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя процессбара
|
||||
на выход:
|
||||
-
|
||||
|
||||
®¯¨á â¥«ï ¯à®æ¥áá¡ à :
|
||||
+00 (2) X ¯®§¨æ¨ï ¯à®æ¥áá¡ à (0-639)
|
||||
+02 (2) Y ¯®§¨æ¨ï ¯à®æ¥áá¡ à (0-255)
|
||||
+04 (2) ¤«¨ ¯à®æ¥áá¡ à
|
||||
+06 (2) ª®íä䍿¨¥â ¤«ï ¯à®æ¥áá (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+08 (2) ª®à४æ¨ï ª®í䍿¨¥â (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+10 (4) ¬ ªá¨¬ã¬ (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+14 (4) ⥪ã饥 (¨¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
|
||||
+18 (1) æ¢¥â ¯à®æ¥áá¡ à
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
описателя процессбара:
|
||||
+00 (2) X позиция процессбара (0-639)
|
||||
+02 (2) Y позиция процессбара (0-255)
|
||||
+04 (2) длина процессбара
|
||||
+06 (2) коэффициент для процесса (инициализируется в InitProcess)
|
||||
+08 (2) коррекция коэфициента (инициализируется в InitProcess)
|
||||
+10 (4) максимум (инициализируется в InitProcess)
|
||||
+14 (4) текущее (инициализируется в InitProcess)
|
||||
+18 (1) цвет процессбара
|
||||
(d7-d4 цвет background, d3-d0 цвет foreground)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnProcess - ¯à®æ¥¤ãà ¯¥ç ⨠¯à®æ¥áá¡ à
|
||||
PrnProcess - процедура печати процессбара
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес описателя процессбара (см. выше)
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResFire - ¯à®æ¥¤ãà ®¦¨¤ ¨ï, ¯®ª ¢á¥ ª®¯ª¨ ¬ëè¨ ¥ ¡ã¤ãâ ®â¯ãé¥ë
|
||||
ResFire - процедура ожидания, пока все кнопки мыши не будут отпущены
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
TestCoords - ¯à®æ¥¤ãà ¯à®¢¥àª¨ ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥ í«¥¬¥â®¢
|
||||
§ªà
|
||||
TestCoords - процедура проверки координат мыши по таблице элементов
|
||||
зкрана
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
¢ë室:
|
||||
на вход:
|
||||
IX - адрес таблицы элементов зкрана
|
||||
на выход:
|
||||
-
|
||||
|
||||
â ¡«¨æ í«¥¬¥â®¢ §ªà :
|
||||
+00 (2) «¥¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+02 (2) ¯à ¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+04 (2) ¢¥àåïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+06 (2) ¨¦ïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+08 (2) ä« £¨ í«¥¬¥â
|
||||
+10 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¥ ¦ ⮬ ®£¥
|
||||
+12 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ («¥¢ ï ª®¯ª )
|
||||
+14 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢ ï ª®¯ª )
|
||||
таблица элементов зкрана:
|
||||
+00 (2) левая x координата элемента
|
||||
+02 (2) правая x координата элемента
|
||||
+04 (2) верхняя y координата элемента
|
||||
+06 (2) нижняя y координата элемента
|
||||
+08 (2) флаги элемента
|
||||
+10 (2) адрес обработчика при не нажатом огне
|
||||
+12 (2) адрес обработчика при нажатом огне (левая кнопка)
|
||||
+14 (2) адрес обработчика при нажатом огне (правая кнопка)
|
||||
|
||||
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®æ®¬ â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
если +00 == 0x8000 это считается концом таблицы элементов зкрана
|
||||
|
||||
ä« £¨ í«¥¬¥â :
|
||||
d00 - í«¥¬¥â ª®¯ª
|
||||
d01 - à ¡®ç ï ª®¯ª
|
||||
d02 - ¨¢¥àâ
|
||||
d03 - áâ â¨çë© ¨¢¥àâ
|
||||
d04 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¡¥§ ®£ï
|
||||
(â.¥. ¯à¨ ¯®¯ ¤ ¨¨ ªãàá®à ¬ëè¨ ¢ íâã ¯àאַ㣮«ìãî
|
||||
®¡« áâì 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +10)
|
||||
d05 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® «¥¢®© ª®¯ª¥
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¦ ⨨ «¥¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +12)
|
||||
d06 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® ¯à ¢®© ª®¯ª¥
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¦ ⨨ ¯à ¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +14)
|
||||
d07 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¯®¯ ¤ ¨¨ ªãàá®à ¬ëè¨ ¢ íâã ¯àאַ㣮«ìãî
|
||||
®¡« áâì 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d08 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
«¥¢®© ª®¯ª¥
|
||||
(â.¥. ¯à¨ ¦ ⨨ «¥¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d09 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
¯à ¢®© ª®¯ª¥
|
||||
(â.¥. ¯à¨ ¦ ⨨ ¯à ¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d15 - íâ® ä« £: 1 - ¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì
|
||||
флаги элемента:
|
||||
d00 - элемент кнопка
|
||||
d01 - рабочая кнопка
|
||||
d02 - инверт
|
||||
d03 - статичный инверт
|
||||
d04 - программа запускается без адреса возврата без огня
|
||||
(т.е. при попадании курсора мыши в эту прямоугольную
|
||||
область удаляется адрес возрата со стека и осуществляется
|
||||
переход на адрес, который находиться в +10)
|
||||
d05 - программа запускается без адреса возврата по левой кнопке
|
||||
огня
|
||||
(т.е. при нажатии левой кнопки мыши над прямоугольной
|
||||
областью удаляется адрес возрата со стека и осуществляется
|
||||
переход на адрес, который находиться в +12)
|
||||
d06 - программа запускается без адреса возврата по правой кнопке
|
||||
огня
|
||||
(т.е. при нажатии правой кнопки мыши над прямоугольной
|
||||
областью удаляется адрес возрата со стека и осуществляется
|
||||
переход на адрес, который находиться в +14)
|
||||
d07 - вызвать функцию закрытия окна перед запуском программы без
|
||||
огня
|
||||
(т.е. при попадании курсора мыши в эту прямоугольную
|
||||
область удаляется последнее окно с экрана)
|
||||
d08 - вызвать функцию закрытия окна перед запуском программы по
|
||||
левой кнопке
|
||||
(т.е. при нажатии левой кнопки мыши над прямоугольной
|
||||
областью удаляется последнее окно с экрана)
|
||||
d09 - вызвать функцию закрытия окна перед запуском программы по
|
||||
правой кнопке
|
||||
(т.е. при нажатии правой кнопки мыши над прямоугольной
|
||||
областью удаляется последнее окно с экрана)
|
||||
d15 - это флаг: 1 - инверт при огне не убирать
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetCMOSPrint - ¯à®æ¥¤ãà ¢ª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
SetCMOSPrint - процедура включения печати даты/время из CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
на вход:
|
||||
- будет описано позднее
|
||||
на выход:
|
||||
-
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResCMOSPrint - ¯à®æ¥¤ãà ¢ëª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
ResCMOSPrint - процедура выключения печати даты/время из CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
на вход:
|
||||
- будет описано позднее
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetClock - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ç áë
|
||||
SetClock - процедура установки курсора мыши в часы
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetMouse - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ®à¬ «ìë© ªãàá®à
|
||||
SetMouse - процедура установки курсора мыши в нормальный курсор
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
-
|
||||
¢ë室:
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytes - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㢥«¨ç¥¨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ + ᪮«ìª®)
|
||||
DE - (ªã¤ + ᪮«ìª®)
|
||||
MoveBytes - процедура быстрого копирования памяти с помощью
|
||||
акселлератора с увеличением адресов
|
||||
на вход:
|
||||
HL - откуда
|
||||
DE - куда
|
||||
BC - сколько
|
||||
на выход:
|
||||
HL - (откуда + сколько)
|
||||
DE - (куда + сколько)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytesUp - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㬥ì襨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ - ᪮«ìª®)
|
||||
DE - (ªã¤ - ᪮«ìª®)
|
||||
MoveBytesUp - процедура быстрого копирования памяти с помощью
|
||||
акселлератора с уменьшением адресов
|
||||
на вход:
|
||||
HL - откуда
|
||||
DE - куда
|
||||
BC - сколько
|
||||
на выход:
|
||||
HL - (откуда - сколько)
|
||||
DE - (куда - сколько)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult8 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 8 * 8 bit = 16 bit
|
||||
Mult8 - процедура беззнакового умножения 8 * 8 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
E * C
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
на выход:
|
||||
HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X8 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 16 * 8 bit = 24 bit
|
||||
Mult16X8 - процедура беззнакового умножения 16 * 8 bit = 24 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * C
|
||||
¢ë室:
|
||||
A, HL - १ã«ìâ â
|
||||
на выход:
|
||||
A, HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 16 * 16 bit = 16 bit
|
||||
Mult16 - процедура беззнакового умножения 16 * 16 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
на выход:
|
||||
HL - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 16 * 16 bit = 32 bit
|
||||
Mult16X16 - процедура беззнакового умножения 16 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult32 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 32 * 16 bit = 32 bit
|
||||
Mult32 - процедура беззнакового умножения 32 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis16X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 16 / 16 bit = 16.16 bit
|
||||
Divis16X16 - процедура беззнакового деления 16 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
BC / DE
|
||||
¢ë室:
|
||||
BC - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
BC - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis24X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 24 / 16 bit = 8.16 bit
|
||||
Divis24X16 - процедура беззнакового деления 24 / 16 bit = 8.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, C / DE
|
||||
¢ë室:
|
||||
A - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
A - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 32 / 16 bit = 16.16 bit
|
||||
Divis32X16 - процедура беззнакового деления 32 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
DE - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
на выход:
|
||||
DE - результат
|
||||
HL - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 32 / 16 bit = 32.16 bit
|
||||
Divis32 - процедура беззнакового деления 32 / 16 bit = 32.16 bit
|
||||
|
||||
¢å®¤:
|
||||
на вход:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
BC - ®áâ ⮪
|
||||
на выход:
|
||||
HL, DE - результат
|
||||
BC - остаток
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á« 32 bit ¢ ⥪áâ
|
||||
ConvNumTxt32 - процедура конвертации беззнакового числа 32 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
BC, HL - ç¨á«® 32 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
BC, HL - число 32 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á« 16 bit ¢ ⥪áâ
|
||||
ConvNumTxt16 - процедура конвертации беззнакового числа 16 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
HL - ç¨á«® 16 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
HL - число 16 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt8 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á« 8 bit ¢ ⥪áâ
|
||||
ConvNumTxt8 - процедура конвертации беззнакового числа 8 bit в текст
|
||||
|
||||
¢å®¤:
|
||||
A - ç¨á«® 8 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
на вход:
|
||||
A - число 8 bit
|
||||
DE - адрес буфера
|
||||
на выход:
|
||||
DE - адрес следующего байта за числом
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ¡¥§§ ª®¢®¥ ç¨á«® 32 bit
|
||||
ConvTxtNum32 - процедура конвертации текста в беззнаковое число 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL, IX - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
на вход:
|
||||
DE - адрес текста (конец строки - 0)
|
||||
на выход:
|
||||
HL, IX - число
|
||||
C flag - ошибка
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ¡¥§§ ª®¢®¥ ç¨á«® 16 bit
|
||||
ConvTxtNum16 - процедура конвертации текста в беззнаковое число 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
на вход:
|
||||
DE - адрес текста (конец строки - 0)
|
||||
на выход:
|
||||
HL - число
|
||||
C flag - ошибка
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
DOSError - ¯à®æ¥¤ãà ¢ë¢®¤ ®ª ®è¨¡ª¨ (¤«ï ¤®á ®è¨¡®ª)
|
||||
DOSError - процедура вывода окна ошибки (для дос ошибок)
|
||||
|
||||
¢å®¤:
|
||||
A - ®¬¥à ®è¨¡ª¨
|
||||
¢ë室:
|
||||
на вход:
|
||||
A - номер ошибки
|
||||
на выход:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
@ -608,4 +608,4 @@
|
||||
|
||||
13 july 2002
|
||||
Anton Enin (C) Copyright 2002 R-lab
|
||||
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ á¯à¨â¥à ä®à㬥.
|
||||
если есть вопросы e-mail: r-lab@mail.ru или на спринтер форуме.
|
File diff suppressed because it is too large
Load Diff
171
docs/history.txt
171
docs/history.txt
@ -3,149 +3,152 @@ FN - FlexNavigator
|
||||
FV - FileViewer
|
||||
FE - FileEditor
|
||||
|
||||
31.05.25
|
||||
FN
|
||||
- ¥¡®«ì訥 ¯¥à¥¤¥«ª¨ ¢ bat ä ©« å
|
||||
- ¨á¯à ¢«¥ "attribut" "attribute"
|
||||
- ¨á¯à ¢«¥ ¢ 2å ¬¥áâ å "claster" "cluster"
|
||||
24.06.2025
|
||||
FN 1.15
|
||||
- исправлена проверка запускаемого файла по расширению.
|
||||
- доки переведены на UTF8 кодировку.
|
||||
- поправлена CorrBigChar.
|
||||
- небольшие переделки в bat файлах.
|
||||
- исправлен "attribut" на "attribute".
|
||||
- исправлен в 2х местах "claster" на "cluster".
|
||||
|
||||
28.05.25
|
||||
28.05.2025
|
||||
FE v1.08
|
||||
- ã¡à ® "¨áª ¦¥¨¥" ¨¬¥¨ ä ©« ¯à¨ § ¯ã᪥.
|
||||
- убрано "искажение" имени файла при запуске.
|
||||
FV v1.05
|
||||
- ã¡à ® "¨áª ¦¥¨¥" ¨¬¥¨ ä ©« ¯à¨ § ¯ã᪥.
|
||||
- убрано "искажение" имени файла при запуске.
|
||||
FN v1.14
|
||||
- ¨á¯à ¢«¥® § ¢¨á ¨¥ ¢ ª®¬ ¤®© áâப¥ ¯à¨ ¦ ⨨ ALT+F1/F2.
|
||||
- ᤥ« ¯à®¯ã᪠¤«ï ¨¬¥¨ ¤¨à¥ªâ®à¨¨ ".." ¤«ï á®àâ¨à®¢é¨ª ¤«ï ¯à ¢¨«ì®© á®àâ¨à®¢ª¨.
|
||||
- ¯®¯à ¢«¥ë §¢ ¨ï ⨯®¢ á®àâ¨à®¢ª¨.
|
||||
- ᤥ« ¨§¬¥à¨â¥«ì à §¬¥à ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å ¤«ï ª®¯¨à®¢ ¨ï ¤¨à¥ªâ®à¨ï¬¨ (¯®ª á¯àïâ ).
|
||||
- ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¨§ ¤¥à¥¢ ᤥ« ¯® ENTER ¢¬¥áâ® ¢â®¯®ª § (¯®ª á¯àïâ ).
|
||||
- ¯®¯à ¢«¥ £¥¥à æ¨ï ¤¥à¥¢ ä ©«®¢.
|
||||
- исправлено зависание в командной строке при нажатии ALT+F1/F2.
|
||||
- сделан пропуск для имени директории ".." для сортировщика для правильной сортировки.
|
||||
- поправлены названия типов сортировки.
|
||||
- сделан измеритель размера директории в байтах для копирования директориями (пока спрятан).
|
||||
- показ содержимого директории из дерева сделан по ENTER вместо автопоказа (пока спрятана).
|
||||
- поправлена генерация дерева файлов.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
25/06/24
|
||||
„®¡ ¢«¥® ®â®¡à ¦¥¨¥ á®®¡é¥¨ï ® § é¨â¥ ®â § ¯¨á¨.
|
||||
Добавлено отображение сообщения о защите от записи.
|
||||
|
||||
13/05/24
|
||||
ˆá¯à ¢«¥ ®è¨¡ª ¨¨æ¨ «¨§ 樨 áâà ¨æë help.
|
||||
„®¡ ¢«¥ ¯®¤¤¥à¦ª ¡®«ìè¨å ä ©«®¢ ¤«ï FAT32
|
||||
Исправлена ошибка инициализации страницы help.
|
||||
Добавлена поддержка больших файлов для FAT32
|
||||
|
||||
|
||||
11/05/24
|
||||
’¥¯¥àì ¢ë¢®¤¨âáï á®®¡é¥¨¥ ® ⮬, ç⮠᫨誮¬ ¬®£® ä ©«®¢ ¢ ¤¨à¥ªâ®à¨¨. ’¥ ä ©«ë, ª®â®àë¥ "¥ ¢«¥§«¨" - ¥ ®â®¡à ¦ îâáï.
|
||||
Теперь выводится сообщение о том, что слишком много файлов в директории. Те файлы, которые "не влезли" - не отображаются.
|
||||
|
||||
|
||||
12/12/23
|
||||
<EFBFBD>®¤¤¥à¦ª Current Dir, ¯à¨ áâ à⥠®â®¡à ¦ ¥âáï ⥪ãé ï ¤¨à¥ªâ®à¨ï ¤¨áª .
|
||||
Поддержка Current Dir, при старте отображается текущая директория диска.
|
||||
|
||||
|
||||
07/09/23
|
||||
Œ®¦¥áâ¢¥ë¥ ¬¥«ª¨¥ ¯à ¢ª¨.
|
||||
Множественные мелкие правки.
|
||||
|
||||
|
||||
01/08/23
|
||||
<EFBFBD>®¢¨á ¥â FN ¯®á«¥ ¯¥à¥§ £à㧪¨ ¡®«ì让 «ìâ¥àë (titd, ldconf).
|
||||
“¡à ¯à®¢¥àª Sp97.
|
||||
‚¥àá¨ï ®à¬ «ì® ¯à®¯¨á , «¨è¨¥ ª®¯¨à ©âë ¯à¨ § ¯ã᪥ ã¡à ë.
|
||||
Повисает FN после перезагрузки большой альтеры (titd, ldconf).
|
||||
Убрана проверка на Sp97.
|
||||
Версия нормально прописана, лишние копирайты при запуске убраны.
|
||||
|
||||
|
||||
29/07/23
|
||||
’ ¡«¨æ ®è¨¡®ª ®â § ¢¥à訢襣®áï ¯à¨«®¦¥¨ï - 32 § ¯¨á¨.
|
||||
DSS à ìè¥ ¥ ¢®§¢à é « ä« £ CF ¯à¨ ¢ë室¥ á ®è¨¡ª®©, ® FN ¢á¥£¤ ¯à®¢¥àï« ¯®á«¥ ¢®§¢à â ¨§ ¯à¨«®¦¥¨ï ä« £ CF.
|
||||
DSS ⥯¥àì ¢¥àã«, FN ¯®«¥§ ®è¨¡ªã ¯à®¢¥àïâì, â ¬ FF, â ¡«¨æ 32...
|
||||
<EFBFBD> ©¤¥® disttest.exe, ® ¢ë室¨â § 祬-â® ãáâ ®¢¨¢ ª®¤ ®è¨¡ª¨ #FF, â ª®£® ª®¤ ¥â.
|
||||
<EFBFBD>㦮 á ã«¥¬ ¢ë室¨âì ¡¥§ ®è¨¡®ª.
|
||||
Таблица ошибок от завершившегося приложения - 32 записи.
|
||||
DSS раньше не возвращал флаг CF при выходе с ошибкой, но FN всегда проверял после возврата из приложения флаг CF.
|
||||
DSS теперь вернул, FN полез ошибку проверять, а там FF, а таблица на 32...
|
||||
Найдено на disttest.exe, он выходит зачем-то установив код ошибки #FF, а такого кода нет.
|
||||
Нужно с нулем выходить без ошибок.
|
||||
|
||||
|
||||
17/07/23
|
||||
‚ ¡¨®á¥ 2.55 ¯®ï¢¨« áì äãªæ¨ï - ¯¥à¥¤ ¢ âì ã¯à ¢«¥¨¥ ¨§ <20>‡“ ®¡à ¡®â稪㠯à¥àë¢ ¨ï ¢ ã«¥¢®© ¡ ª¥ އ“.
|
||||
C¤¥« ¯à®¢¥àª ¢¥àá¨î ¡¨®á .
|
||||
В биосе 2.55 появилась функция - передавать управление из ПЗУ обработчику прерывания в нулевой банке ОЗУ.
|
||||
Cделана проверка на версию биоса.
|
||||
|
||||
|
||||
10/05/22
|
||||
Viewer:
|
||||
* <EFBFBD>®¯à ¢«¥ ª®á¬¥â¨ç¥áª¨© ¡ £ ¢ ¨¦¥© áâப¥ ¯à¨ ᬥ¥ äãªæ¨® «ìëå ª« ¢¨è.
|
||||
* ˆá¯à ¢«¥® § ¢¨á ¨¥ ¯à¨â¥à ¤® â ©¬ ã⠯ਠ¯¥ç â¨.
|
||||
* ƒ¥à®¨ç¥áª¨ áíª®®¬«¥® ¥¬®£® ⠪⮢ â ¬, £¤¥ ¨ªâ® ¥ § ¬¥â¨â))).
|
||||
+ <EFBFBD>¥ç âì ¯¥à¥¥á¥ ª« ¢¨èã F7, ç⮡ ¢ë£ âì ¢ á ¨§ §®ë ª®¬ä®àâ ))).
|
||||
+ „®¡ ¢«¥® á®ç¥â ¨¥ CTRL+P ¤«ï ¯¥ç â¨.
|
||||
? <EFBFBD>®ç⨠¨á¯à ¢«¥ Wrap, ®áâ «áï ¡ £ á ¢¥à奩 áâப®©. ‹ãçè¥, 祬 ¨ç¥£®.
|
||||
* Поправлен косметический баг в нижней строке при смене функциональных клавиш.
|
||||
* Исправлено зависание принтера до таймаута при печати.
|
||||
* Героически сэкономлено немного тактов там, где никто не заметит))).
|
||||
+ Печать перенесена на клавишу F7, чтоб выгнать вас из зоны комфорта))).
|
||||
+ Добавлено сочетание CTRL+P для печати.
|
||||
? Почти исправлен Wrap, остался баг с верхней строкой. Лучше, чем ничего.
|
||||
|
||||
Editor:
|
||||
+ „®¡ ¢«¥ ª®¯ª "F7 Print"
|
||||
+ „®¡ ¢«¥® á®ç¥â ¨¥ CTRL+P ¤«ï ¯¥ç ⨠¢ ०¨¬¥ HEX
|
||||
* <EFBFBD>®¯à ¢«¥ ª®á¬¥â¨ç¥áª¨© ¡ £ ¢ ¨¦¥© áâப¥ ¯à¨ ᬥ¥ äãªæ¨® «ìëå ª« ¢¨è
|
||||
* ˆá¯à ¢«¥® § ¢¨á ¨¥ ¯à¨â¥à ¤® â ©¬ ã⠯ਠ¯¥ç â¨
|
||||
+ Добавлена кнопка "F7 Print"
|
||||
+ Добавлено сочетание CTRL+P для печати в режиме HEX
|
||||
* Поправлен косметический баг в нижней строке при смене функциональных клавиш
|
||||
* Исправлено зависание принтера до таймаута при печати
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
FE v.1.06 05.08.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ <EFBFBD>® ª®¯ª¥ F9 ¢ë§ë¢ îâáï áâனª¨ । ªâ®à á ¢®§¬®¦®áâìî á®åà ¨âì áâனª¨
|
||||
¢ ä ©«
|
||||
+ По кнопке F9 вызываются настройки редактора с возможностью сохранить настройки
|
||||
в файл
|
||||
|
||||
FN v.1.13.1 02.08.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
* ¢¥àá¨ï ¡¥§ ᦠâ¨ï ª®¤®¢ëå ¡«®ª®¢
|
||||
* версия без сжатия кодовых блоков
|
||||
|
||||
FE v.1.05.1 02.08.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ ¯ à ¬¥âà ¢ ª®ä¨£-ä ©«¥ fnedit.ini, ª®â®àë© ¢ª«îç ¥â/®âª«îç ¥â ¤¨ «®£
|
||||
¯®¤â¢¥à¦¤¥¨ï § ªàëâ¨ï । ªâ®à
|
||||
+ Добавлен параметр в конфиг-файле fnedit.ini, который включает/отключает диалог
|
||||
подтверждения закрытия редактора
|
||||
|
||||
FE v.1.05 07.06.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
* ¨á¯à ¢«¥ £«îª, ª®â®àë© ¯à¨¢®¤¨« ª § ¢¨á ¨î ¨«¨ á¡à®áã ¯®á«¥ 7-£® ®âªàëâ¨ï
|
||||
। ªâ®à
|
||||
+ „®¡ ¢«¥® ¢â®§ ªàë⨥ ᨬ¢®«®¢ ᪮¡®ª ¨ ª ¢ë祪
|
||||
+ “ । ªâ®à ¯®ï¢¨«áï ª®ä¨£-ä ©« fnedit.ini, ç¥à¥§ ª®â®àë© ¬®¦® ®âª«îç¨âì
|
||||
¥ª®â®àë¥ ä¨ç¨
|
||||
* исправлен глюк, который приводил к зависанию или сбросу после 7-го открытия
|
||||
редактора
|
||||
+ Добавлено автозакрытие символов скобок и кавычек
|
||||
+ У редактора появился конфиг-файл fnedit.ini, через который можно отключить
|
||||
некоторые фичи
|
||||
|
||||
FE v.1.04 18.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ ª®¯ª Ctrl+P ¤«ï ¯¥ç ⨠(§ ⥬ F9 ¡ã¤¥â ¯¥à¥ § ç¥ ¤à㣮©
|
||||
äãªæ¨® «)
|
||||
+ „®¡ ¢«¥ äãªæ¨® « ®â¬¥ë ¯® Ctrl+Z (íâ® ¥ ¯®è £®¢ë© Undo, ¥ ¯®«®æ¥ë©,
|
||||
¯à®áâ® á¡à áë¢ ¥â ¡ãä¥à ⥪ã饩 । ªâ¨à㥬®© áâப¨, ¬®¬¥â ¯¥à¥å®¤
|
||||
íâã áâபã)
|
||||
+ Добавлена кнопка Ctrl+P для печати (затем F9 будет переназначена на другой
|
||||
функционал)
|
||||
+ Добавлен функционал отмены по Ctrl+Z (это не пошаговый Undo, не полноценный,
|
||||
просто сбрасывает буфер текущей редактируемой строки, на момент перехода
|
||||
на эту строку)
|
||||
|
||||
FE v.1.03 17.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ë ª®¯ª¨ ã¯à ¢«¥¨ï Alt+CursorLeft(Home) ¨ Alt+CursorRight(End)
|
||||
* ˆá¯à ¢«¥ ¡ £ ¢ ¯®¤¯à®£à ¬¬¥ THomeString - ¯ãá⮩ áâப¥ ¬®£« § 横«¨âìáï
|
||||
* ˆá¯à ¢«¥ ¡ £ ¢ TEndString, «®£¨ç® - ¯ãá⮩ áâப¥ ¬®£« § 横«¨âìáï
|
||||
* ˆá¯à ¢«¥ ¯®¤¯à®£à ¬¬ § ¯®«¥¨ï ¡ãä¥à ⥪ã饩 áâப¨ (¯à¨ ã«¥¢®© ¤«¨¥
|
||||
áâப¨ ® ¥ ®ç¨é «áï)
|
||||
+ Добавлены кнопки управления Alt+CursorLeft(Home) и Alt+CursorRight(End)
|
||||
* Исправлен баг в подпрограмме THomeString - на пустой строке могла зациклиться
|
||||
* Исправлен баг в TEndString, аналогично - на пустой строке могла зациклиться
|
||||
* Исправлена подпрограмма заполнения буфера текущей строки (при нулевой длине
|
||||
строки он не очищался)
|
||||
|
||||
FN v.1.12.1 13.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
* ˆá¯à ¢«¥ ¡ £ ¯à¨ ¢â®¬ â¨ç¥áª®© ᬥ¥ ¯ ¥«¨
|
||||
+ „®¡ ¢«¥ áâனª ¢ SetUp ¤«ï ®âª«îç¥¨ï ¢â®¬ â¨ç¥áª®© ªâ¨¢ 樨 ¯ ¥«¨ ¯à¨
|
||||
ᬥ¥ ¤¨áª
|
||||
* Исправлен баг при автоматической смене панели
|
||||
+ Добавлена настройка в SetUp для отключения автоматической активации панели при
|
||||
смене диска
|
||||
|
||||
FE v.1.02 10.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ £®àïç ï ª®¯ª Ctrl+D ¤«ï ¤ã¡«¨à®¢ ¨ï áâப¨ (à ¡®â ¥â
|
||||
⮫쪮 ¤«ï áâப ¤® 127 ᨬ¢®«®¢)
|
||||
+ <EFBFBD>ਠ¯¥à¥®á¥ áâப¨ ¢ ç «¥ áâப¨ ¤¥« ¥âáï â ª®© ¦¥ ®âáâ㯠®â ç « , ª ª ¨
|
||||
¯à¥¤ë¤ã饩 áâப¥
|
||||
* <EFBFBD>¥à¥à ¡®â ë ¯à®æ¥¤ãàë ¯®§¨æ¨®¨à®¢ ¨ï ªãàá®à
|
||||
+ Добавлена горячая кнопка Ctrl+D для дублирования строки (работает
|
||||
только для строк до 127 символов)
|
||||
+ При переносе строки в начале строки делается такой же отступ от начала, как и
|
||||
на предыдущей строке
|
||||
* Переработаны процедуры позиционирования курсора
|
||||
|
||||
FN v.1.12+ 07.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ <EFBFBD> ¥«ì, ¢ ª®â®à®© ¬¥ï¥âáï ¤¨áª ¯® Alt+F1/F2 áâ ®¢¨âáï ªâ¨¢®©
|
||||
+ Панель, в которой меняется диск по Alt+F1/F2 становится активной
|
||||
|
||||
FE v.1.01 07.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ ¤¨ «®£ á § ¯à®á®¬ ¯®¤â¢¥à¦¤¥¨ï ¢ë室 ¨§ । ªâ®à
|
||||
+ <EFBFBD>ਠ¨§¢«¥ç¥¨¨ áâப¨ ¡ãä¥à áâப¨ ®ç¨é ¥âáï - à ¥¥ ¬®¦® ¡ë«® ¡«î¤ âì
|
||||
¥ª®â®àë© ¬ãá®à ¢ ª®æ¥ áâப¨ ¯à¨ ¢¨£ 樨 ¬¥¦¤ã áâப ¬¨
|
||||
* „®à ¡®â ¯à®æ¥¤ãà ¯®§¨æ¨®¨à®¢ ¨ï ªãàá®à ¯à¨ ¢¨£ 樨 áâபã
|
||||
(áâà ¨æã) ¢ëè¥/¨¦¥ - ¢ § ¢¨á¨¬®á⨠®â «¨ç¨ï â ¡ã«ïâ®à®¢ ¢ áâப¥, ªãàá®à
|
||||
¬®£ ®â᪠ª¨¢ âì ¥áª®«ìª® ¯®§¨æ¨© ¢ áâ®à®ã
|
||||
+ „®¡ ¢«¥ ¢®§¬®¦®áâì 㤠«¥¨ï 楫®© áâப¨ ¯® Ctrl+Y
|
||||
+ „®¡ ¢«¥ £®àïç ï ª®¯ª ¤«ï á®åà ¥¨ï Ctrl+S
|
||||
+ <EFBFBD>¥ «¨§ æ¨ï ®¢®£® ०¨¬ à ¡®âë Home - ¥á«¨ ¥áâì â ¡ã«ïâ®àë ¢ ç «¥ áâப¨,
|
||||
â® ¯à¨ ¯¥à¢®¬ ¦ ⨨ ªãàá®à ¯¥à¥¬¥é ¥âáï ¢ ¯®§¨æ¨î á ¯¥à¢ë¬ ¥-¯à®¡¥«ìë¬
|
||||
ᨬ¢®«®¬, ¯à¨ ¯®¢â®à®¬ ¦ ⨨ - ¯¥à¥¬¥é ¥âáï ¢ ¯¥à¢ãî ¯®§¨æ¨î
|
||||
+ Добавлен диалог с запросом подтверждения выхода из редактора
|
||||
+ При извлечении строки буфер строки очищается - ранее можно было наблюдать
|
||||
некоторый мусор в конце строки при навигации между строками
|
||||
* Доработана процедура позиционирования курсора при навигации на строку
|
||||
(страницу) выше/ниже - в зависимости от наличия табуляторов в строке, курсор
|
||||
мог отскакивать на несколько позиций в сторону
|
||||
+ Добавлена возможность удаления целой строки по Ctrl+Y
|
||||
+ Добавлена горячая кнопка для сохранения Ctrl+S
|
||||
+ Реализация нового режима работы Home - если есть табуляторы в начале строки,
|
||||
то при первом нажатии курсор перемещается в позицию с первым не-пробельным
|
||||
символом, при повторном нажатии - перемещается в первую позицию
|
||||
|
||||
FN v.1.12 02.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ <EFBFBD>¥ «¨§®¢ § ¯ã᪠BAT-ä ©«®¢, ª ª ¨§ ¯ ¥«¨, â ª ¨ ¨§ ª®¬ ¤®© áâப¨ á
|
||||
¯¥à¥¤ 祩 ¯ à ¬¥â஢.
|
||||
+ Реализован запуск BAT-файлов, как из панели, так и из командной строки с
|
||||
передачей параметров.
|
||||
|
||||
FN v.1.11 27.03.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
* ˆá¯à ¢«¥® ®¯à¥¤¥«¥¨¥ ª â «®£ ¢ ª®â®à®¬ à ᯮ« £ îâáï ä ©«ë FlexNavigator- .
|
||||
* Исправлено определение каталога в котором располагаются файлы FlexNavigator-а.
|
||||
|
||||
FV v.1.03 10.02.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥® ¯¥à¥ª«î票¥ ª®¤¨à®¢ª¨ ⥪áâ WIN/DOS/KOI
|
||||
+ Добавлено переключение кодировки текста WIN/DOS/KOI
|
||||
|
@ -1,19 +1,19 @@
|
||||
|
||||
Flex navigator TODO:
|
||||
|
||||
[] ¤®¡ ¢¨âì ¢ áâனª¨ ¢â®¯®ª § ¨«¨ ¯® ENTER ¯à¨ ¯¥à¥¬¥é¥¨¨ ¯® ¤¥à¥¢ã ª â «®£®¢
|
||||
[] ¤®¡ ¢¨âì ¢ áâனª¨ ¢ë¡®à ¬¥ïâì «¨ ªâ¨¢ãî ¯ ¥«ì ¯à¨ ᬥ¥ ¤¨áª ¥ ªâ¨¢®© ¯ ¥«¨
|
||||
[] ¯à¨ ¢ë¢®¤¥ ¤¥à¥¢ ª â «®£®¢ ᤥ« âì áªà®«« ¢«¥¢®/¢¯à ¢® ¥á«¨ ¤¥à¥¢® ¥ ¢«¥§ ¥â ¯® £®à¨§®â «¨
|
||||
[] ¯® ª®¯ª¥ F6 ⮫쪮 ¯¥à¥¨¬¥®¢ ¨¥, ¤®«¦® ¡ëâì ¯¥à¥¨¬¥®¢ ¨¥/¯¥à¥¬¥é¥¨¥ ä ©« ¥á«¨ ¯ ¥«ïå à §ë¥ ¯ãâ¨
|
||||
[] ¯¥à¥¤¥« âì § å®à¤ª®¦¥ë¥ ª®®à¤¨ âë, ¯¥à¥¤¥« âì ¯à¨¢ï§ªã ª ª®®à¤¨ â ¬ ®ª
|
||||
[] à §®¡à âìáï ª ª à ¡®â ¥â áâப ¢¢®¤ ¯à¨ ¯®¨áª¥ ä ©« ¯® ¨¬¥¨
|
||||
[] ¯« £¨ । ªâ¨à®¢ ¨ï èà¨äâ
|
||||
[] ¯« £¨ ¤«ï á®§¤ ¨ï ä®à¬ ®ª®
|
||||
[] § £à㧪 FLX ¯« £¨ ¯® ¨¬¥¨ ¡¥§ § ¯ãáª
|
||||
[?] ¢ë§®¢ ¨ ¢§ ¨¬®¤¥©á⢨¥ ¯« £¨ á ¯« £¨®¬
|
||||
[] добавить в настройки автопоказ или по ENTER при перемещении по дереву каталогов
|
||||
[] добавить в настройки выбор менять ли активную панель при смене диска на не активной панели
|
||||
[] при выводе дерева каталогов сделать скролл влево/вправо если дерево не влезает по горизонтали
|
||||
[] по кнопке F6 только переименование, а должно быть переименование/перемещение файла если на панелях разные пути
|
||||
[] переделать захордкоженные координаты, переделать на привязку к координатам окна
|
||||
[] разобраться как работает строка ввода при поиске файла по имени
|
||||
[] плагин редактирования шрифта
|
||||
[] плагин для создания форм окон
|
||||
[] загрузка FLX плагина по имени без запуска
|
||||
[?] вызов и взаимодействие плагина с плагином
|
||||
|
||||
[x] ¢¢®¤ ¢ ª®¬ ¤ãî áâப㠨 ¦ ⨥ ALT+F1/F2 (¢ë¡®à ¤à ©¢ ) ¯®¤¢¨á ¥â
|
||||
[x] á®àâ¨à®¢é¨ª á®àâ¨àã¥â "..", ¥ ¤®«¦¥
|
||||
[x] ¢ìî¢¥à ¯à¨ ¯®«ã票¨ ¨¬¥¨ ä ©« ¤¥« ¥â ¥£® ª®¢¥àá¨î ¨ ¯à¨ «¨ç¨¨ àãá᪨å ᨬ¢®«®¢ ¯®àâ¨â ¨¬ï ¨ "File not found"
|
||||
[x] ¢ Disk Info ®ª¥ ¯®ª §ë¢ ¥â ¨¬ï ¤¨áª ¨¬ï ä ©« (npl.exe)
|
||||
[x] ¯®áâà®¨â¥«ì ¤¥à¥¢ ª â «®£®¢ ¥ à ¡®â ¥â
|
||||
[x] ввод в командную строку и нажатие ALT+F1/F2 (выбор драйва) подвисает
|
||||
[x] сортировщик сортирует "..", а не должен
|
||||
[x] вьювер при получении имени файла делает его конверсию и при наличии русских символов портит имя и "File not found"
|
||||
[x] в Disk Info окне показывает имя диска имя файла (npl.exe)
|
||||
[x] построитель дерева каталогов не работает
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
; LAST UPDATE: 24.06.2025 savelij
|
||||
|
||||
DOShistory_Size EQU 0x200 ; à §¬¥à ¡ãä¥à DOS ¨áâ®à¨¨
|
||||
|
||||
@ -384,3 +384,5 @@ PLUGS_ENABLE EQU 0
|
||||
TREE_REZID EQU 0
|
||||
MARK_DIR EQU 0 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à ¢á¥å ä ©«®¢
|
||||
TREE_DIR_ENTER EQU 0 ; ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¤¥à¥¢¥ ¯® ENTER
|
||||
CORR_FILENAME EQU 1 ; ¯à¥®¡à §®¢ ¨¥ ᨬ¢®«®¢ ¨¬¥¨ ä ©«
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 30.05.2025 savelij
|
||||
; LAST UPDATE: 05.06.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
|
||||
@ -21,18 +21,7 @@
|
||||
SETVAR CLOCK_BMP, CLOCK_BMP_END - Clock_BMP
|
||||
SETVAR MOUSE_BMP, MOUSE_BMP_END - Mouse_BMP
|
||||
|
||||
org 0x80EA
|
||||
|
||||
EXEhead: db "EXE"
|
||||
db 1 ; +3
|
||||
dw EntryExec-EXEhead
|
||||
dw 0x0000 ; +4
|
||||
dw EXEend-EntryExec ; +8
|
||||
dw 0,0 ; +10
|
||||
dw 0 ; +14
|
||||
dw EntryExec ; +16
|
||||
dw EntryExec
|
||||
dw 0x80FF
|
||||
HDR_EXE 0x8100,1,EXEend-EntryExec,EntryExec,EntryExec,0x80FF,0
|
||||
|
||||
EntryExec: DI
|
||||
LD A,(IX-0x03) ; file handle
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
; LAST UPDATE: 24.06.2025 savelij
|
||||
|
||||
FLEX_VERS
|
||||
.NAVIGATOR EQU "1.14"
|
||||
.NAVIGATOR EQU "1.15"
|
||||
.EDITOR EQU "1.08"
|
||||
.VIEWER EQU "1.05"
|
||||
|
16
fnmain.a80
16
fnmain.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 26.05.2025 savelij
|
||||
; LAST UPDATE: 03.06.2025 savelij
|
||||
|
||||
;[]=======================================================================[]
|
||||
; FLEX NAVIGATOR ;
|
||||
@ -561,10 +561,10 @@ END_BLOCK_4:
|
||||
DEPHASE ; 0xC000
|
||||
|
||||
; ç¨áâ® ¤«ï ®â« ¤ª¨
|
||||
BLOCK1_SIZE EQU END_BLOCK_1 - START_BLOCK_1
|
||||
BLOCK2_SIZE EQU END_BLOCK_2 - START_BLOCK_2
|
||||
BLOCK3_SIZE EQU END_BLOCK_3 - START_BLOCK_3
|
||||
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR
|
||||
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER
|
||||
SORT_SIZE EQU END_SORT - START_SORT
|
||||
TREE_SIZE EQU END_TREE - START_TREE
|
||||
BLOCK1_SIZE EQU END_BLOCK_1 - START_BLOCK_1 ; ®á®¢®© ª®¤
|
||||
BLOCK2_SIZE EQU END_BLOCK_2 - START_BLOCK_2 ; १¨¤¥â 2
|
||||
BLOCK3_SIZE EQU END_BLOCK_3 - START_BLOCK_3 ; १¨¤¥â 3
|
||||
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR ; । ªâ®à
|
||||
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER ; ¢ìà
|
||||
SORT_SIZE EQU END_SORT - START_SORT ; á®àâ¨à®¢é¨ª
|
||||
TREE_SIZE EQU END_TREE - START_TREE ; à ¡®â á ¤¥à¥¢®¬
|
||||
|
@ -824,7 +824,9 @@ NewFilter: CALL ResInvert
|
||||
LD A,(FiltLen)
|
||||
LD B,A
|
||||
.L2 LD A,(HL)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
|
35
fnsort.a80
35
fnsort.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
; LAST UPDATE: 24.06.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ReadDIR BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
@ -188,7 +188,8 @@ InsF1 BIT DIR.B_Dir,B ;
|
||||
BIT SORTFLAG.B_EXEC,(IY + PANEL.SORTFLAG)
|
||||
CALL NZ,TestExe
|
||||
JR C,InsFext
|
||||
LD B,FileHDR.Name_Size
|
||||
IF CORR_FILENAME
|
||||
LD B,DIR.Name_Size
|
||||
.L1 LD A,(HL)
|
||||
CALL CorrBigChar
|
||||
LD (DE),A
|
||||
@ -198,7 +199,7 @@ InsF1 BIT DIR.B_Dir,B ;
|
||||
LD A,0x01
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD B,FileHDR.Ext_Size
|
||||
LD B,DIR.Ext_Size
|
||||
.L2 LD A,(HL)
|
||||
CALL CorrBigChar
|
||||
LD (DE),A
|
||||
@ -206,6 +207,7 @@ InsF1 BIT DIR.B_Dir,B ;
|
||||
INC DE
|
||||
DJNZ .L2
|
||||
JR InsF3
|
||||
ENDIF ; CORR_FILENAME
|
||||
|
||||
; íâ® ¤¨à
|
||||
InsF2 LD BC,DIR.Name_Size
|
||||
@ -328,22 +330,30 @@ TestExeC POP HL
|
||||
SCF
|
||||
RET
|
||||
|
||||
IF CORR_FILENAME
|
||||
; <20>à®æ¥¤ãà ª®à४樨 ¡ãª¢ë ª ¬ «¥ìª®© ¡ãª¢¥
|
||||
CorrBigChar CP 'A'
|
||||
CorrBigChar: CP 'A'
|
||||
RET C
|
||||
CP 'Z' + 1
|
||||
JR NC,CorrCh1
|
||||
SET 5,A
|
||||
JR NC,.CheckRUS
|
||||
.Dec: ADD A,0x20
|
||||
RET
|
||||
|
||||
CorrCh1 CP 0x80
|
||||
.CheckRUS: CP '€'
|
||||
RET C
|
||||
CP 0xA0
|
||||
RET NC
|
||||
ADD A,0x20
|
||||
CP 0xB0
|
||||
CP '<27>'+1
|
||||
JR C,.Dec
|
||||
|
||||
.BGUPPER: CP '<27>'
|
||||
RET C
|
||||
ADD A,0x30
|
||||
CP 'Ÿ' + 1
|
||||
JR NC,.HGUPPER
|
||||
ADD A,0x50
|
||||
RET
|
||||
|
||||
.HGUPPER: CP 'ð' ; àãááª ï ¡ãª¢ ñ, ª®¤ #F1
|
||||
RET NZ
|
||||
INC A
|
||||
RET
|
||||
|
||||
; <20>à®æ¥¤ãà ª®à४樨 ¡ãª¢ë ª ¡®«ì让 ¡ãª¢¥
|
||||
@ -365,6 +375,7 @@ CorrSmallChar CP 'a'
|
||||
RET C
|
||||
SUB 0x50
|
||||
RET
|
||||
ENDIF ; CORR_FILENAME
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
SortDIR
|
||||
|
13
fnwork.a80
13
fnwork.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 27.04.2025 savelij
|
||||
; LAST UPDATE: 24.06.2025 savelij
|
||||
|
||||
;[]===========================================================[]
|
||||
CursUp LD A,(IY + PANEL.EFL)
|
||||
@ -1367,9 +1367,12 @@ RunEXEfile: LD IX,fn_ext
|
||||
POP DE
|
||||
LD L,E
|
||||
LD H,D
|
||||
LD A,'.'
|
||||
.L2 INC HL
|
||||
CP (HL)
|
||||
LD A,(HL)
|
||||
AND A
|
||||
SCF
|
||||
RET Z
|
||||
CP '.'
|
||||
JR NZ,.L2
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
@ -1845,7 +1848,9 @@ ViewFileSH: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
LD DE,PrevFile
|
||||
LD B,A
|
||||
ViewSH1: LD A,(HL)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
LD (HL),A
|
||||
LD (DE),A
|
||||
INC HL
|
||||
@ -1975,7 +1980,9 @@ EditFileSH: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
LD DE,PrevFile
|
||||
LD B,A
|
||||
EditSH1: LD A,(HL)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
LD (HL),A
|
||||
LD (DE),A
|
||||
INC HL
|
||||
|
@ -997,7 +997,9 @@ ReName0 LD HL,CurName
|
||||
LD A,(NameLen)
|
||||
LD B,A
|
||||
.L1 LD A,(HL)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
@ -1063,7 +1065,9 @@ ReNameDIR LD HL,Name
|
||||
LD A,(NameLen)
|
||||
LD B,A
|
||||
.L1 LD A,(HL)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrSmallChar
|
||||
ENDIF
|
||||
LD (HL),A
|
||||
LD (DE),A
|
||||
INC HL
|
||||
@ -1399,7 +1403,9 @@ MkDIR0 LD HL,NewDIR
|
||||
LD A,(MDIRLen)
|
||||
LD B,A
|
||||
.L1 LD A,(HL)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrSmallChar
|
||||
ENDIF
|
||||
LD (HL),A
|
||||
LD (DE),A
|
||||
INC HL
|
||||
|
@ -71,8 +71,10 @@ QSearchR LD A,(IY+PANEL.EFL)
|
||||
JR NC,.L3
|
||||
INC H
|
||||
.L3 LD A,(HL)
|
||||
IF CORR_FILENAME
|
||||
BIT 0,C
|
||||
CALL NZ,CorrSmallChar
|
||||
ENDIF
|
||||
LD E,A
|
||||
.Search1 LD A,(IX+0x00)
|
||||
INC IX
|
||||
@ -244,10 +246,14 @@ SearchFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
LD BC,0x0018
|
||||
.SearchFlp LD DE,SearchN
|
||||
LD A,(DE)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR Z,.SrchF1
|
||||
IF CORR_FILENAME
|
||||
CALL CorrSmallChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR NZ,.SearchFnxt
|
||||
.SrchF1 PUSH HL
|
||||
@ -266,10 +272,14 @@ SearchFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
OR A
|
||||
JR Z,.SearchFnx0
|
||||
LD A,(DE)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR Z,.SrchF2
|
||||
IF CORR_FILENAME
|
||||
CALL CorrSmallChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR Z,.SrchF2
|
||||
.SearchFnx0 POP HL
|
||||
@ -309,10 +319,14 @@ SearchFileT PUSH IX
|
||||
LD BC,0x000D
|
||||
.SearchTlp LD DE,SearchN
|
||||
LD A,(DE)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR Z,.SrchT1
|
||||
IF CORR_FILENAME
|
||||
CALL CorrSmallChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR NZ,.SearchTnxt
|
||||
.SrchT1 PUSH HL
|
||||
@ -325,10 +339,14 @@ SearchFileT PUSH IX
|
||||
OR A
|
||||
JR Z,.SearchTnx0
|
||||
LD A,(DE)
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR Z,.SrchT2
|
||||
IF CORR_FILENAME
|
||||
CALL CorrSmallChar
|
||||
ENDIF
|
||||
CP (HL)
|
||||
JR Z,.SrchT2
|
||||
.SearchTnx0 POP HL
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 12.05.2025 savelij
|
||||
; LAST UPDATE: 02.06.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
MarkFileR LD A,(IY+PANEL.EFL)
|
||||
@ -265,9 +265,12 @@ SelectGroup: LD (SelMode),A
|
||||
RET Z
|
||||
LD B,A
|
||||
LD HL,CrSMask
|
||||
CorMask LD A,(HL)
|
||||
CorMask
|
||||
IF CORR_FILENAME
|
||||
LD A,(HL)
|
||||
CALL CorrBigChar
|
||||
LD (HL),A
|
||||
ENDIF
|
||||
INC HL
|
||||
DJNZ CorMask
|
||||
LD HL,CrSMask
|
||||
@ -416,7 +419,9 @@ SMaskLp LD A,(HL)
|
||||
RET Z
|
||||
CP '|'
|
||||
RET Z
|
||||
IF CORR_FILENAME
|
||||
CALL CorrBigChar
|
||||
ENDIF
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
@ -716,19 +721,19 @@ COUNTING_DIR PUSH IX
|
||||
XOR A
|
||||
LD (DE),A
|
||||
CALL .SET_PATH ; ãáâ ®¢ª ⥪ã饣® ¯ãâ¨
|
||||
INC IXH
|
||||
INC IXH ; á«¥¤ãî騩 ã஢¥ì ¤¨àë
|
||||
.CONTINUE CALL .ADD_2DOT
|
||||
CALL .COUNT_FILES
|
||||
LD A,IXL
|
||||
AND A ; え琺 メ碎
|
||||
AND A ; §¤¥áì ¤¨àë ¥áâì?
|
||||
JR Z,.PREV_DIR ; ¤¨àë ¥ ©¤¥ë
|
||||
CALL .SET_PATH ; ¢å®¤ ¢ ¤¨àã ¨§ ᯨáª
|
||||
INC IXH
|
||||
INC IXH ; á«¥¤ãî騩 ã஢¥ì ¤¨àë
|
||||
JR .CONTINUE
|
||||
|
||||
; ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
.PREV_DIR CALL .OUT_DIR
|
||||
LD A,IXH
|
||||
LD A,IXH ; ã஢¥ì ¤¨àë?
|
||||
AND A
|
||||
JR Z,.END_COUNT
|
||||
CALL .GET_NAME
|
||||
@ -740,7 +745,7 @@ COUNTING_DIR PUSH IX
|
||||
CP '.'
|
||||
JR Z,.PREV_DIR
|
||||
CALL .SET_PATH
|
||||
INC IXH
|
||||
INC IXH ; á«¥¤ãî騩 ã஢¥ì ¤¨àë
|
||||
JR .CONTINUE
|
||||
|
||||
; ¢®§¢à â ⥪ã饣® ¯ãâ¨
|
||||
@ -761,7 +766,7 @@ COUNTING_DIR PUSH IX
|
||||
LD (.CURR_DIRNAME),HL
|
||||
RET
|
||||
|
||||
.OUT_DIR DEC IXH
|
||||
.OUT_DIR DEC IXH ; ¯à¥¤ë¤ã騩 ã஢¥ì ¤¨àë
|
||||
LD HL,.RET_DIR
|
||||
JR .SP1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user