Добавлены файлы.
This commit is contained in:
commit
70e1e6bb04
39
build.bat
Normal file
39
build.bat
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
if not exist fn md fn
|
||||
if not exist fn\flx md fn\flx
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\svn\pentevo\tools\noice2equ\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\
|
||||
|
||||
cls
|
||||
|
||||
rem Flex Navigator
|
||||
|
||||
mhmt font.raw tmp\font_raw.pack
|
||||
mhmt iff_font.raw tmp\iff_font_raw.pack
|
||||
|
||||
rem asl -U -L -C -x -olist tmp\fnexeboot.lst -i %includes% fn_exe_boot.a80 || goto error
|
||||
asl -U -L -C -x -olist tmp\fnexeboot.lst -i %includes% -D NO_EDIT,NO_VIEW,NO_HELP fn_exe_boot.a80 || goto error
|
||||
p2bin fn_exe_boot.p tmp\fn.exe -r $-$ -k
|
||||
|
||||
rem Flex Navigator Plugins
|
||||
rem cd plugins
|
||||
rem call build_all
|
||||
rem cd ..
|
||||
|
||||
copy /Y /B tmp\fn.exe fn\fn.exe
|
||||
copy /Y /B plugins\*.flx fn\flx
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
6
build_pause.bat
Normal file
6
build_pause.bat
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
@ECHO OFF
|
||||
|
||||
call build.bat
|
||||
|
||||
pause
|
25
docs/HELP.ENG
Normal file
25
docs/HELP.ENG
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
struct FlxPluginHeader {
|
||||
char Id[8];
|
||||
unsigned short LoadOffset;
|
||||
unsigned short EntryOffset;
|
||||
unsigned char PluginMode;
|
||||
unsigned char Reserved[3];
|
||||
};
|
||||
|
||||
Header of Plugin for Flex Navigator v1.xx:
|
||||
8 bytes Id - identifier of plugin, you should begin from three symbols - FLX
|
||||
2 bytes LoadOffset - displacement in page of memory for load (0 - 0x3FFF)
|
||||
2 bytes EntryOffset - displacement in page of memory for executing (0 - 0x3FFF)
|
||||
1 byte PluginMode - modes of work:
|
||||
0 - repairing Flex Navigator screen after finish
|
||||
1 - without repairing Flex Navigator screen after finish
|
||||
3 bytes Reserved
|
||||
length = 16 bytes
|
||||
|
||||
ATTANTION!!!
|
||||
1. Size of plugin code (without header) must be less 4000 bytes.
|
||||
2. ORG = 0xC000
|
||||
3. When control will return to Flex Navigator, Carry Flag are specify error status:
|
||||
CF = 1 error during initialization
|
||||
CF = 0 no error
|
29
docs/HELP.RUS
Normal file
29
docs/HELP.RUS
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
struct FlxPluginHeader {
|
||||
char Id[8];
|
||||
unsigned short LoadOffset;
|
||||
unsigned short EntryOffset;
|
||||
unsigned char PluginMode;
|
||||
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 ¡ ©â
|
||||
|
||||
!!! ‚<>ˆŒ€<C592>ˆ…
|
||||
1. ¢á¥ ¯« £¨ë ¤«ï Flex Navigator v1.xx ¥ ¤®«¦ë ¯à¥¢ëè âì ¢ à §¬¥à¥ ®á®¢®£® ª®¤
|
||||
(â.¥. ¡¥§ § £®«®¢ª ) 0x4000 ¡ ©â .
|
||||
2. ¢á¥ ¯« £¨ë ¤«ï Flex Navigator v1.xx ¤®«¦ë ¡ëâì ®âª®¬¯¨«¨à®¢ ë á ¤à¥á 0xC000
|
||||
(â.¥. org = 0xC000).
|
||||
3. ¢®§¢à é ¥¬®¥ § 票¥:
|
||||
CF = 1 ®è¨¡ª áâ ¤¨¨ ¨¨â¨ «¨§ 樨 (¯®á«¥ ¥ñ ¨ç¥£® ¥ ¢®ááâ ¢«¨¢ ¥âáï)
|
||||
CF = 0 ¥â ®è¨¡ª¨
|
572
docs/fn_api_0.2.txt
Normal file
572
docs/fn_api_0.2.txt
Normal file
@ -0,0 +1,572 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.2 ®â 07.07.2002 *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ClearScreen - ¯à®æ¥¤ãà ®âç¨á⪨ 0-£® íª ã¦ë¬ 梥⮬.
|
||||
|
||||
¢å®¤:
|
||||
A - 梥⠮âç¨á⪨ (00-0Fh)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MakeWindow - ¯à®æ¥¤ãà á®§¤ ¨ï £à ä¨ç¥áª®£® ®ª
|
||||
|
||||
¢å®¤:
|
||||
(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) ⨯ ®¡¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
|
||||
®¡'¥ªâë ®ª :
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
‚¨¬ ¨¥! ¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨©
|
||||
x + 4, y + 1
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InvertRectan - ¯à®æ¥¤ãà § ¬¥ë 梥⠯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
|
||||
¢å®¤:
|
||||
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 - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNorm - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256
|
||||
¢å®¤:
|
||||
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 - ¤à¥á ¡ ©â , á«¥¤ãî饣® § ¯®á«¥¤¨¬ ᨬ¢®«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
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)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathC - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ®âæ¥âà¨à®¢ ëå
|
||||
®â®á¨â¥«ì® ªà ñ¢ ( <-|-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InputLine - ¯à®æ¥¤ãà । ªâ¨à®¢ ¨ï áâப¨ £à ä¨ç¥áª®¬ íªà ¥
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
|
||||
¢å®¤:
|
||||
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 ... á ¬ áâப
|
||||
|
||||
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(¢®ááâ ¢«¨¢ ¥â ¨§ ç «ìãî áâபã)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnHScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠£®à¨§®â «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnVScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠¢¥à⨪ «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitProcess - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnProcess - ¯à®æ¥¤ãà ¯¥ç ⨠¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResFire - ¯à®æ¥¤ãà ®¦¨¤ ¨ï, ¯®ª ¢á¥ ª®¯ª¨ ¬ëè¨ ¥ ¡ã¤ãâ ®â¯ãé¥ë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
TestCoords - ¯à®æ¥¤ãà ¯à®¢¥àª¨ ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥ í«¥¬¥â®¢
|
||||
§ªà
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
â ¡«¨æ í«¥¬¥â®¢ §ªà :
|
||||
+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 - ¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì
|
||||
|
||||
|
||||
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®æ®¬ â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetCMOSPrint - ¯à®æ¥¤ãà ¢ª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResCMOSPrint - ¯à®æ¥¤ãà ¢ëª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetClock - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ç áë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetMouse - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ®à¬ «ìë© ªãàá®à
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytes - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㢥«¨ç¥¨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ + ᪮«ìª®)
|
||||
DE - (ªã¤ + ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytesUp - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㬥ì襨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ - ᪮«ìª®)
|
||||
DE - (ªã¤ - ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 8 * 8 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
E * C
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 8 bit = 24 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * C
|
||||
¢ë室:
|
||||
A, HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult32 - ¯à®æ¥¤ãà 㬮¦¥¨ï 32 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis16X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 16 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
BC / DE
|
||||
¢ë室:
|
||||
BC - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis24X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 24 / 16 bit = 8.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, C / DE
|
||||
¢ë室:
|
||||
A - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
DE - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 32.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
BC - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 32 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
BC, HL - ç¨á«® 32 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 16 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
HL - ç¨á«® 16 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt8 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 8 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
A - ç¨á«® 8 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL, IX - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
DOSError - ¯à®æ¥¤ãà ¢ë¢®¤ ®ª ®è¨¡ª¨ (¤«ï ¤®á ®è¨¡®ª)
|
||||
|
||||
¢å®¤:
|
||||
A - ®¬¥à ®è¨¡ª¨
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
07 july 2002
|
||||
Anton Enin (C) Copyright 2002 R-lab
|
||||
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ á¯à¨â¥à ä®à㬥.
|
596
docs/fn_api_0.3.txt
Normal file
596
docs/fn_api_0.3.txt
Normal file
@ -0,0 +1,596 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.3 ®â 10.07.2002 *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ClearScreen - ¯à®æ¥¤ãà ®âç¨á⪨ 0-£® íª ã¦ë¬ 梥⮬.
|
||||
|
||||
¢å®¤:
|
||||
A - 梥⠮âç¨á⪨ (00-0Fh)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MakeWindow - ¯à®æ¥¤ãà á®§¤ ¨ï £à ä¨ç¥áª®£® ®ª
|
||||
|
||||
¢å®¤:
|
||||
(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) ⨯ ®¡¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
|
||||
®¡'¥ªâë ®ª :
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
‚¨¬ ¨¥! ¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨©
|
||||
x + 4, y + 1
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InvertRectan - ¯à®æ¥¤ãà § ¬¥ë 梥⠯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
|
||||
¢å®¤:
|
||||
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 - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNorm - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256
|
||||
¢å®¤:
|
||||
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 - ¤à¥á ¡ ©â , á«¥¤ãî饣® § ¯®á«¥¤¨¬ ᨬ¢®«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
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)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathC - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ®âæ¥âà¨à®¢ ëå
|
||||
®â®á¨â¥«ì® ªà ñ¢ ( <-|-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InputLine - ¯à®æ¥¤ãà । ªâ¨à®¢ ¨ï áâப¨ £à ä¨ç¥áª®¬ íªà ¥
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
|
||||
¢å®¤:
|
||||
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 ... á ¬ áâப
|
||||
|
||||
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(¢®ááâ ¢«¨¢ ¥â ¨§ ç «ìãî áâபã)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
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) ¯¥à¢ ï ¢¨¤¨¬ë© í«¥¬¥â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnHScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠£®à¨§®â «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnVScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠¢¥à⨪ «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitProcess - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
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)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnProcess - ¯à®æ¥¤ãà ¯¥ç ⨠¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResFire - ¯à®æ¥¤ãà ®¦¨¤ ¨ï, ¯®ª ¢á¥ ª®¯ª¨ ¬ëè¨ ¥ ¡ã¤ãâ ®â¯ãé¥ë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
TestCoords - ¯à®æ¥¤ãà ¯à®¢¥àª¨ ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥ í«¥¬¥â®¢
|
||||
§ªà
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
â ¡«¨æ í«¥¬¥â®¢ §ªà :
|
||||
+00 (2) «¥¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+02 (2) ¯à ¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+04 (2) ¢¥àåïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+06 (2) ¨¦ïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+08 (2) ä« £¨ í«¥¬¥â
|
||||
+10 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¥ ¦ ⮬ ®£¥
|
||||
+12 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ («¥¢ ï ª®¯ª )
|
||||
+14 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢ ï ª®¯ª )
|
||||
|
||||
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®æ®¬ â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
|
||||
ä« £¨ í«¥¬¥â :
|
||||
d00 - í«¥¬¥â ª®¯ª
|
||||
d01 - à ¡®ç ï ª®¯ª
|
||||
d02 - ¨¢¥àâ
|
||||
d03 - áâ â¨çë© ¨¢¥àâ
|
||||
d04 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¡¥§ ®£ï
|
||||
d05 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® «¥¢®© ª®¯ª¥
|
||||
®£ï
|
||||
d06 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® ¯à ¢®© ª®¯ª¥
|
||||
®£ï
|
||||
d07 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§
|
||||
®£ï
|
||||
d08 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
«¥¢®© ª®¯ª¥
|
||||
d09 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
¯à ¢®© ª®¯ª¥
|
||||
d15 - íâ® ä« £: 1 - ¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetCMOSPrint - ¯à®æ¥¤ãà ¢ª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResCMOSPrint - ¯à®æ¥¤ãà ¢ëª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetClock - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ç áë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetMouse - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ®à¬ «ìë© ªãàá®à
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytes - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㢥«¨ç¥¨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ + ᪮«ìª®)
|
||||
DE - (ªã¤ + ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytesUp - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㬥ì襨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ - ᪮«ìª®)
|
||||
DE - (ªã¤ - ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 8 * 8 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
E * C
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X8 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 8 bit = 24 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * C
|
||||
¢ë室:
|
||||
A, HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X16 - ¯à®æ¥¤ãà 㬮¦¥¨ï 16 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult32 - ¯à®æ¥¤ãà 㬮¦¥¨ï 32 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis16X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 16 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
BC / DE
|
||||
¢ë室:
|
||||
BC - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis24X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 24 / 16 bit = 8.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, C / DE
|
||||
¢ë室:
|
||||
A - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32X16 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
DE - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32 - ¯à®æ¥¤ãà ¤¥«¥¨ï 32 / 16 bit = 32.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
BC - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 32 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
BC, HL - ç¨á«® 32 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 16 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
HL - ç¨á«® 16 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt8 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ç¨á« 8 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
A - ç¨á«® 8 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL, IX - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ç¨á«® 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
DOSError - ¯à®æ¥¤ãà ¢ë¢®¤ ®ª ®è¨¡ª¨ (¤«ï ¤®á ®è¨¡®ª)
|
||||
|
||||
¢å®¤:
|
||||
A - ®¬¥à ®è¨¡ª¨
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
10 july 2002
|
||||
Anton Enin (C) Copyright 2002 R-lab
|
||||
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ á¯à¨â¥à ä®à㬥.
|
611
docs/fn_api_0.4.txt
Normal file
611
docs/fn_api_0.4.txt
Normal file
@ -0,0 +1,611 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.4 ®â 13.07.2002 *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ClearScreen - ¯à®æ¥¤ãà ®âç¨á⪨ 0-£® íª ã¦ë¬ 梥⮬.
|
||||
|
||||
¢å®¤:
|
||||
A - 梥⠮âç¨á⪨ (00-0Fh)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MakeWindow - ¯à®æ¥¤ãà á®§¤ ¨ï £à ä¨ç¥áª®£® ®ª
|
||||
|
||||
¢å®¤:
|
||||
(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) ⨯ ®¡¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
|
||||
®¡'¥ªâë ®ª :
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
‚¨¬ ¨¥! ¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨©
|
||||
x + 4, y + 1
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InvertRectan - ¯à®æ¥¤ãà § ¬¥ë 梥⠯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
|
||||
¢å®¤:
|
||||
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 - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnTxtLnNorm - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà
|
||||
640x256
|
||||
¢å®¤:
|
||||
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 - ¤à¥á ¡ ©â , á«¥¤ãî饣® § ¯®á«¥¤¨¬ ᨬ¢®«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
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)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnRangPathC - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨© íªà
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ®âæ¥âà¨à®¢ ëå
|
||||
®â®á¨â¥«ì® ªà ñ¢ ( <-|-> )
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InputLine - ¯à®æ¥¤ãà । ªâ¨à®¢ ¨ï áâப¨ £à ä¨ç¥áª®¬ íªà ¥
|
||||
640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
|
||||
¢å®¤:
|
||||
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 ... á ¬ áâப
|
||||
|
||||
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(¢®ááâ ¢«¨¢ ¥â ¨§ ç «ìãî áâபã)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
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) ¯¥à¢ ï ¢¨¤¨¬ë© í«¥¬¥â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnHScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠£®à¨§®â «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnVScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠¢¥à⨪ «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
InitProcess - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
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)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
PrnProcess - ¯à®æ¥¤ãà ¯¥ç ⨠¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResFire - ¯à®æ¥¤ãà ®¦¨¤ ¨ï, ¯®ª ¢á¥ ª®¯ª¨ ¬ëè¨ ¥ ¡ã¤ãâ ®â¯ãé¥ë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
TestCoords - ¯à®æ¥¤ãà ¯à®¢¥àª¨ ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥ í«¥¬¥â®¢
|
||||
§ªà
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
â ¡«¨æ í«¥¬¥â®¢ §ªà :
|
||||
+00 (2) «¥¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+02 (2) ¯à ¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+04 (2) ¢¥àåïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+06 (2) ¨¦ïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+08 (2) ä« £¨ í«¥¬¥â
|
||||
+10 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¥ ¦ ⮬ ®£¥
|
||||
+12 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ («¥¢ ï ª®¯ª )
|
||||
+14 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢ ï ª®¯ª )
|
||||
|
||||
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®æ®¬ â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
|
||||
ä« £¨ í«¥¬¥â :
|
||||
d00 - í«¥¬¥â ª®¯ª
|
||||
d01 - à ¡®ç ï ª®¯ª
|
||||
d02 - ¨¢¥àâ
|
||||
d03 - áâ â¨çë© ¨¢¥àâ
|
||||
d04 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¡¥§ ®£ï
|
||||
(â.¥. ¯à¨ ¯®¯ ¤ ¨¨ ªãàá®à ¬ëè¨ ¢ íâã ¯àאַ㣮«ìãî
|
||||
®¡« áâì 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +10)
|
||||
d05 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® «¥¢®© ª®¯ª¥
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¦ ⨨ «¥¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +12)
|
||||
d06 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® ¯à ¢®© ª®¯ª¥
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¦ ⨨ ¯à ¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +14)
|
||||
d07 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¯®¯ ¤ ¨¨ ªãàá®à ¬ëè¨ ¢ íâã ¯àאַ㣮«ìãî
|
||||
®¡« áâì 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d08 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
«¥¢®© ª®¯ª¥
|
||||
(â.¥. ¯à¨ ¦ ⨨ «¥¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d09 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
¯à ¢®© ª®¯ª¥
|
||||
(â.¥. ¯à¨ ¦ ⨨ ¯à ¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d15 - íâ® ä« £: 1 - ¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetCMOSPrint - ¯à®æ¥¤ãà ¢ª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ResCMOSPrint - ¯à®æ¥¤ãà ¢ëª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetClock - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ç áë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
SetMouse - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ®à¬ «ìë© ªãàá®à
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytes - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㢥«¨ç¥¨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ + ᪮«ìª®)
|
||||
DE - (ªã¤ + ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
MoveBytesUp - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㬥ì襨¥¬ ¤à¥á®¢
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ - ᪮«ìª®)
|
||||
DE - (ªã¤ - ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult8 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 8 * 8 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
E * C
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X8 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 16 * 8 bit = 24 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * C
|
||||
¢ë室:
|
||||
A, HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 16 * 16 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult16X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 16 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Mult32 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï 32 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis16X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 16 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
BC / DE
|
||||
¢ë室:
|
||||
BC - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis24X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 24 / 16 bit = 8.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, C / DE
|
||||
¢ë室:
|
||||
A - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 32 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
DE - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
Divis32 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï 32 / 16 bit = 32.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
BC - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á« 32 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
BC, HL - ç¨á«® 32 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á« 16 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
HL - ç¨á«® 16 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvNumTxt8 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á« 8 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
A - ç¨á«® 8 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ¡¥§§ ª®¢®¥ ç¨á«® 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL, IX - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
ConvTxtNum16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ¡¥§§ ª®¢®¥ ç¨á«® 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
DOSError - ¯à®æ¥¤ãà ¢ë¢®¤ ®ª ®è¨¡ª¨ (¤«ï ¤®á ®è¨¡®ª)
|
||||
|
||||
¢å®¤:
|
||||
A - ®¬¥à ®è¨¡ª¨
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
13 july 2002
|
||||
Anton Enin (C) Copyright 2002 R-lab
|
||||
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ á¯à¨â¥à ä®à㬥.
|
671
docs/fn_api_0.5.txt
Normal file
671
docs/fn_api_0.5.txt
Normal file
@ -0,0 +1,671 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* ޝ¨á ¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
|
||||
* doc v0.5 ®â 31.03.2025 (¢ ¯à®æ¥áá¥) *
|
||||
* *
|
||||
[]========================================================================[]
|
||||
|
||||
„®áâ㯠ª äãªæ¨ï¬ ®áãé¥á⢫ï¥âáï ç¥à¥§ ¡®à ¯¥à¥å®¤®¢ ¢ ç «¥ ï¤à
|
||||
Flex Navigator ¤«ï ᡮન ¯« £¨®¢ ¥§ ¢¨á¨¬® ®â ï¤à .
|
||||
’ ¡«¨æ ¯¥à¥å®¤®¢ ç¨ ¥âáï á ¤à¥á JUMPS + 3 ¨«¨ ® ¦¥ á
|
||||
BASE_ADDR + 3. €¤à¥á ç « â ¡«¨æë ¢ë஢¥ ¯® £à ¨æ¥ 256 ¡ ©â. <20>¥à¢ë©
|
||||
¤à¥á ¯¥à¥å®¤ § ïâ ¤«ï § ¯ãáª á ¬®£® ¢¨£ â®à .
|
||||
<20> §¬¥à â ¡«¨æë ¯¥à¥å®¤®¢ 192 ¡ ©â , ¯®á«¥ â ¡«¨æë à ᯮ«®¦¥ë ¥ª®â®àë¥
|
||||
¯¥à¥¬¥ë¥ Flex Navigator ¤«ï ¤®áâ㯠ª ¨¬ ¨§ ¯« £¨®¢.
|
||||
„«ï ¯à ¢¨«ì®© à ¡®âë ¯à¨ á¡®àª¥ ¯« £¨ ¯à¥¤« £ ¥âáï ¨ª«ã¤¨âì
|
||||
ä ©« fn_const.a80
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ClearScreen - ¯à®æ¥¤ãà ®âç¨á⪨ 0-£® íªà ã¦ë¬ 梥⮬.
|
||||
|
||||
¢å®¤:
|
||||
A - 梥⠮âç¨á⪨ (00-0Fh)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.MakeWindow - ¯à®æ¥¤ãà á®§¤ ¨ï £à ä¨ç¥áª®£® ®ª
|
||||
|
||||
¢å®¤:
|
||||
(SP) - ®¯¨á â¥«ì ®ª
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
áà §ã § ¢ë§®¢®¬ í⮩ ¯à®æ¥¤ãàë ¢ ¯à®£à ¬¬¥ á«¥¤ã¥â ®¯¨á â¥«ì ®ª .
|
||||
¢®§¢à â ¨§ ¯à®æ¥¤ãàë ¯à®¨á室¨â ¯® ¤à¥áã, á«¥¤ãî饬㠧 ®¯¨á ⥫¥¬.
|
||||
|
||||
¯à¨¬¥à:
|
||||
call MakeWindow
|
||||
... ; ®¯¨á â¥«ì ®ª
|
||||
|
||||
|
||||
®¯¨á â¥«ì ®ª :
|
||||
+00 (1) ä« £ ¢ë¢®¤ ®ª : 0 - ¡¥§ á®åà ¥¨ï ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¯®«®íªà ëå ®ª®)
|
||||
1 - á á®åà ¥¨¥¬ ¤ ëå ¯®¤ ®ª®¬
|
||||
(¨á¯®«ì§ã¥âáï ¤«ï ¥¡®«ìè¨å ®ª®)
|
||||
0x7F - ¢®ááâ ®¢¨âì ¤ ë¥ ¯®¤ ®ª®¬
|
||||
(ä« £ á«ã¦¨â ¤«ï § ªàëâ¨ï
|
||||
⥪ã饣® ®ª )
|
||||
0x8x - ¡¥§ ¯à¨¢ï§ª¨ ª ®¯¨á â¥«î ®ª
|
||||
+01 (2) ª®®à¤¨ â x ¤«ï ¢ë¢®¤ (0 - 639)
|
||||
+03 (2) ª®®à¤¨ â y ¤«ï ¢ë¢®¤ (0 - 255)
|
||||
+05 (2) è¨à¨ (0 - 639)
|
||||
+07 (2) ¢ëá®â (0 - 255)
|
||||
|
||||
¤ «¥¥ ¨¤ãâ ®¡'¥ªâë ®ª ¢ ä®à¬ â¥:
|
||||
+00 (1) ⨯ ®¡ê¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
|
||||
®¡'¥ªâë ®ª :
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
‚¨¬ ¨¥! ¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨©
|
||||
x + 4, y + 1
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InvertRectan - ¯à®æ¥¤ãà § ¬¥ë 梥⠯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
|
||||
¢å®¤:
|
||||
HL - x ª®®à¤¨ â
|
||||
BC - y ª®®à¤¨ â
|
||||
HX - ¤«¨ y
|
||||
LX - ¤«¨ x
|
||||
D - ⥪ã騩 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
E - ã¦ë© 梥â
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
ª ᮦ «¥¨î ¯à®æ¥¤ãà ¥ ®ç¥ì ¡ëáâà ï, ¯®í⮬㠡®«ì訥
|
||||
¯àאַ㣮«ì¨ª¨ ᮢ¥âãî ®á®¡® ¥ ¨¢¥àâ¨à®¢ âì... ;)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnTxtLnIFF - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨©
|
||||
íªà 640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnTxtLnNorm - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨©
|
||||
íªà 640x256
|
||||
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § áâப®©
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnTxtLnNormC - ¯à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨©
|
||||
íªà 640x256 á ¨§¢¥áâë¬ ç¨á«®¬ ᨬ¢®«®¢
|
||||
|
||||
¢å®¤:
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
C - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
B - ª®«-¢® ¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
HL - ¤à¥á ¡ ©â , á«¥¤ãî饣® § ¯®á«¥¤¨¬ ᨬ¢®«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnRangPathL - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨©
|
||||
íªà 640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
«¥¢®¬ã ªà î ( |-> )
|
||||
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnRangPathR - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨©
|
||||
íªà 640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
|
||||
¯à ¢®¬ã ªà î ( <-| )
|
||||
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnRangPathC - ¯à®æ¥¤ãà ¢ë¢®¤ ¤®á®¢áª¨å ¯ã⥩ £à ä¨ç¥áª¨©
|
||||
íªà 640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ , ®âæ¥âà¨à®¢ ëå
|
||||
®â®á¨â¥«ì® ªà ñ¢ ( <-|-> )
|
||||
|
||||
¢å®¤:
|
||||
IX - ª®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
HL - ¤à¥á ⥪á⮢®© áâப¨ (ª®¥æ áâப¨ - 0)
|
||||
DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
A - 梥⠯¥ç â¨
|
||||
(d7-d4 梥â background, d3-d0 梥â foreground)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
¯à®æ¥¤ãà £à ¬®â® 㪮à 稢 ¥â ¤®á®¢áª¨© ¯ãâì ¤® 㦮£®
|
||||
à §¬¥à ¯ãâñ¬ § ¬¥é¥¨ï ¥¢«¥§ îé¨å ¤¨à¥ªâ®à¨© ..\
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InputLine - ¯à®æ¥¤ãà । ªâ¨à®¢ ¨ï áâப¨ £à ä¨ç¥áª®¬
|
||||
íªà ¥ 640x256 ¢ ०¨¬¥ à §¬¥à®£® ¯® X èà¨äâ
|
||||
|
||||
¢å®¤:
|
||||
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 ... á ¬ áâப
|
||||
|
||||
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥â®¢ íªà :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(¢®ááâ ¢«¨¢ ¥â ¨§ ç «ìãî áâபã)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InpLnExtN
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InpLnExtC
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.DOSError - ¯à®æ¥¤ãà ¢ë¢®¤ ®ª ®è¨¡ª¨ (¤«ï DOS ®è¨¡®ª)
|
||||
|
||||
¢å®¤:
|
||||
A - ®¬¥à ®è¨¡ª¨
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
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) ¯¥à¢ ï ¢¨¤¨¬ë© í«¥¬¥â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnHScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠£®à¨§®â «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnVScrBar - ¯à®æ¥¤ãà ¯¥ç ⨠¢¥à⨪ «ì®£® áªà®««¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á ⥫ï áªà®««¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InitProcess - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á â¥«ï ¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
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)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.PrnProcess - ¯à®æ¥¤ãà ¯¥ç ⨠¯à®æ¥áá¡ à
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à (á¬. ¢ëè¥)
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InitScrollBar
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.MenuWork
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
3 ª®¬ ¤ ¯¥à¥å®¤ (12 ¡ ©â) § १¥à¢¨à®¢ ë ¨ § ¯®«¥ë
|
||||
ª®¬ ¤®© RET (12 ¡ ©â 0xC9)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ResFire - ¯à®æ¥¤ãà ®¦¨¤ ¨ï, ¯®ª ¢á¥ ª®¯ª¨ ¬ëè¨ ¥ ¡ã¤ãâ
|
||||
®â¯ãé¥ë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.TestCoords - ¯à®æ¥¤ãà ¯à®¢¥àª¨ ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥
|
||||
í«¥¬¥â®¢ íªà
|
||||
|
||||
¢å®¤:
|
||||
IX - ¤à¥á â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
â ¡«¨æ í«¥¬¥â®¢ §ªà :
|
||||
+00 (2) «¥¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+02 (2) ¯à ¢ ï x ª®®à¤¨ â í«¥¬¥â
|
||||
+04 (2) ¢¥àåïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+06 (2) ¨¦ïï y ª®®à¤¨ â í«¥¬¥â
|
||||
+08 (2) ä« £¨ í«¥¬¥â
|
||||
+10 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¥ ¦ ⮬ ®£¥
|
||||
+12 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ («¥¢ ï ª®¯ª )
|
||||
+14 (2) ¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢ ï ª®¯ª )
|
||||
|
||||
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®æ®¬ â ¡«¨æë í«¥¬¥â®¢ §ªà
|
||||
|
||||
ä« £¨ í«¥¬¥â :
|
||||
d00 - í«¥¬¥â ª®¯ª
|
||||
d01 - à ¡®ç ï ª®¯ª
|
||||
d02 - ¨¢¥àâ
|
||||
d03 - áâ â¨çë© ¨¢¥àâ
|
||||
d04 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¡¥§ ®£ï
|
||||
(â.¥. ¯à¨ ¯®¯ ¤ ¨¨ ªãàá®à ¬ëè¨ ¢ íâã ¯àאַ㣮«ìãî
|
||||
®¡« áâì 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +10)
|
||||
d05 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® «¥¢®© ª®¯ª¥
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¦ ⨨ «¥¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +12)
|
||||
d06 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à â ¯® ¯à ¢®© ª®¯ª¥
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¦ ⨨ ¯à ¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¤à¥á ¢®§à â á® á⥪ ¨ ®áãé¥á⢫ï¥âáï
|
||||
¯¥à¥å®¤ ¤à¥á, ª®â®àë© å®¤¨âìáï ¢ +14)
|
||||
d07 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§
|
||||
®£ï
|
||||
(â.¥. ¯à¨ ¯®¯ ¤ ¨¨ ªãàá®à ¬ëè¨ ¢ íâã ¯àאַ㣮«ìãî
|
||||
®¡« áâì 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d08 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
«¥¢®© ª®¯ª¥
|
||||
(â.¥. ¯à¨ ¦ ⨨ «¥¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d09 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯®
|
||||
¯à ¢®© ª®¯ª¥
|
||||
(â.¥. ¯à¨ ¦ ⨨ ¯à ¢®© ª®¯ª¨ ¬ëè¨ ¤ ¯àאַ㣮«ì®©
|
||||
®¡« áâìî 㤠«ï¥âáï ¯®á«¥¤¥¥ ®ª® á íªà )
|
||||
d15 - íâ® ä« £: 1 - ¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.SetCMOSPrint - ¯à®æ¥¤ãà ¢ª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ResCMOSPrint - ¯à®æ¥¤ãà ¢ëª«îç¥¨ï ¯¥ç ⨠¤ âë/¢à¥¬ï ¨§ CMOS
|
||||
|
||||
¢å®¤:
|
||||
- ¡ã¤¥â ®¯¨á ® ¯®§¤¥¥
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.SetClock - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ç áë
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.SetMouse - ¯à®æ¥¤ãà ãáâ ®¢ª¨ ªãàá®à ¬ëè¨ ¢ ®à¬ «ìë© ªãàá®à
|
||||
|
||||
¢å®¤:
|
||||
-
|
||||
¢ë室:
|
||||
-
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
4 ª®¬ ¤ë ¯¥à¥å®¤ (12 ¡ ©â) § १¥à¢¨à®¢ ë ¨ § ¯®«¥ë
|
||||
ª®¬ ¤®© RET (12 ¡ ©â 0xC9)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ConvNumTxt40
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.MoveBytes - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㢥«¨ç¥¨¥¬ ¤à¥á®¢
|
||||
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ + ᪮«ìª®)
|
||||
DE - (ªã¤ + ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.MoveBytesUp - ¯à®æ¥¤ãà ¡ëáâண® ª®¯¨à®¢ ¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
|
||||
ªá¥««¥à â®à á 㬥ì襨¥¬ ¤à¥á®¢
|
||||
|
||||
¢å®¤:
|
||||
HL - ®âªã¤
|
||||
DE - ªã¤
|
||||
BC - ᪮«ìª®
|
||||
¢ë室:
|
||||
HL - (®âªã¤ - ᪮«ìª®)
|
||||
DE - (ªã¤ - ᪮«ìª®)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Mult8 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï
|
||||
8 * 8 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
E * C
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Mult16X8 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï
|
||||
16 * 8 bit = 24 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * C
|
||||
¢ë室:
|
||||
A, HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Mult16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï
|
||||
16 * 16 bit = 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Mult16X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï
|
||||
16 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Mult32 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® 㬮¦¥¨ï
|
||||
32 * 16 bit = 32 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE * BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Divis16X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï
|
||||
16 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
BC / DE
|
||||
¢ë室:
|
||||
BC - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Divis24X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï
|
||||
24 / 16 bit = 8.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, C / DE
|
||||
¢ë室:
|
||||
A - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Divis32X16 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï
|
||||
32 / 16 bit = 16.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
DE - १ã«ìâ â
|
||||
HL - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Divis32 - ¯à®æ¥¤ãà ¡¥§§ ª®¢®£® ¤¥«¥¨ï
|
||||
32 / 16 bit = 32.16 bit
|
||||
|
||||
¢å®¤:
|
||||
HL, DE / BC
|
||||
¢ë室:
|
||||
HL, DE - १ã«ìâ â
|
||||
BC - ®áâ ⮪
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ConvNumTxt32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á«
|
||||
32 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
BC, HL - ç¨á«® 32 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ConvNumTxt16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á«
|
||||
16 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
HL - ç¨á«® 16 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ConvNumTxt8 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ¡¥§§ ª®¢®£® ç¨á«
|
||||
8 bit ¢ ⥪áâ
|
||||
|
||||
¢å®¤:
|
||||
A - ç¨á«® 8 bit
|
||||
DE - ¤à¥á ¡ãä¥à
|
||||
¢ë室:
|
||||
DE - ¤à¥á á«¥¤ãî饣® ¡ ©â § ç¨á«®¬
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ConvTxtNum32 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ¡¥§§ ª®¢®¥
|
||||
ç¨á«® 32 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL, IX - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.ConvTxtNum16 - ¯à®æ¥¤ãà ª®¢¥àâ æ¨¨ ⥪áâ ¢ ¡¥§§ ª®¢®¥
|
||||
ç¨á«® 16 bit
|
||||
|
||||
¢å®¤:
|
||||
DE - ¤à¥á ⥪áâ (ª®¥æ áâப¨ - 0)
|
||||
¢ë室:
|
||||
HL - ç¨á«®
|
||||
C flag - ®è¨¡ª
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.Resident
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
13 july 2002
|
||||
Anton Enin (C) Copyright 2002 R-lab
|
||||
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ á¯à¨â¥à ä®à㬥.
|
145
docs/history.txt
Normal file
145
docs/history.txt
Normal file
@ -0,0 +1,145 @@
|
||||
|
||||
FN - FlexNavigator
|
||||
FV - FileViewer
|
||||
FE - FileEditor
|
||||
|
||||
28.05.25
|
||||
FE v1.08
|
||||
- ã¡à ® "¨áª ¦¥¨¥" ¨¬¥¨ ä ©« ¯à¨ § ¯ã᪥.
|
||||
FV v1.05
|
||||
- ã¡à ® "¨áª ¦¥¨¥" ¨¬¥¨ ä ©« ¯à¨ § ¯ã᪥.
|
||||
FN v1.14
|
||||
- ¨á¯à ¢«¥® § ¢¨á ¨¥ ¢ ª®¬ ¤®© áâப¥ ¯à¨ ¦ ⨨ ALT+F1/F2.
|
||||
- ᤥ« ¯à®¯ã᪠¤«ï ¨¬¥¨ ¤¨à¥ªâ®à¨¨ ".." ¤«ï á®àâ¨à®¢é¨ª ¤«ï ¯à ¢¨«ì®© á®àâ¨à®¢ª¨.
|
||||
- ¯®¯à ¢«¥ë §¢ ¨ï ⨯®¢ á®àâ¨à®¢ª¨.
|
||||
- ᤥ« ¨§¬¥à¨â¥«ì à §¬¥à ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å ¤«ï ª®¯¨à®¢ ¨ï ¤¨à¥ªâ®à¨ï¬¨ (¯®ª á¯àïâ ).
|
||||
- ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¨§ ¤¥à¥¢ ᤥ« ¯® ENTER ¢¬¥áâ® ¢â®¯®ª § (¯®ª á¯àïâ ).
|
||||
- ¯®¯à ¢«¥ £¥¥à æ¨ï ¤¥à¥¢ ä ©«®¢.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
25/06/24
|
||||
„®¡ ¢«¥® ®â®¡à ¦¥¨¥ á®®¡é¥¨ï ® § é¨â¥ ®â § ¯¨á¨.
|
||||
|
||||
13/05/24
|
||||
ˆá¯à ¢«¥ ®è¨¡ª ¨¨æ¨ «¨§ 樨 áâà ¨æë help.
|
||||
„®¡ ¢«¥ ¯®¤¤¥à¦ª ¡®«ìè¨å ä ©«®¢ ¤«ï FAT32
|
||||
|
||||
|
||||
11/05/24
|
||||
’¥¯¥àì ¢ë¢®¤¨âáï á®®¡é¥¨¥ ® ⮬, ç⮠᫨誮¬ ¬®£® ä ©«®¢ ¢ ¤¨à¥ªâ®à¨¨. ’¥ ä ©«ë, ª®â®àë¥ "¥ ¢«¥§«¨" - ¥ ®â®¡à ¦ îâáï.
|
||||
|
||||
|
||||
12/12/23
|
||||
<EFBFBD>®¤¤¥à¦ª Current Dir, ¯à¨ áâ à⥠®â®¡à ¦ ¥âáï ⥪ãé ï ¤¨à¥ªâ®à¨ï ¤¨áª .
|
||||
|
||||
|
||||
07/09/23
|
||||
Œ®¦¥áâ¢¥ë¥ ¬¥«ª¨¥ ¯à ¢ª¨.
|
||||
|
||||
|
||||
01/08/23
|
||||
<EFBFBD>®¢¨á ¥â FN ¯®á«¥ ¯¥à¥§ £à㧪¨ ¡®«ì让 «ìâ¥àë (titd, ldconf).
|
||||
“¡à ¯à®¢¥àª Sp97.
|
||||
‚¥àá¨ï ®à¬ «ì® ¯à®¯¨á , «¨è¨¥ ª®¯¨à ©âë ¯à¨ § ¯ã᪥ ã¡à ë.
|
||||
|
||||
|
||||
29/07/23
|
||||
’ ¡«¨æ ®è¨¡®ª ®â § ¢¥à訢襣®áï ¯à¨«®¦¥¨ï - 32 § ¯¨á¨.
|
||||
DSS à ìè¥ ¥ ¢®§¢à é « ä« £ CF ¯à¨ ¢ë室¥ á ®è¨¡ª®©, ® FN ¢á¥£¤ ¯à®¢¥àï« ¯®á«¥ ¢®§¢à â ¨§ ¯à¨«®¦¥¨ï ä« £ CF.
|
||||
DSS ⥯¥àì ¢¥àã«, FN ¯®«¥§ ®è¨¡ªã ¯à®¢¥àïâì, â ¬ FF, â ¡«¨æ 32...
|
||||
<EFBFBD> ©¤¥® disttest.exe, ® ¢ë室¨â § 祬-â® ãáâ ®¢¨¢ ª®¤ ®è¨¡ª¨ #FF, â ª®£® ª®¤ ¥â.
|
||||
<EFBFBD>㦮 á ã«¥¬ ¢ë室¨âì ¡¥§ ®è¨¡®ª.
|
||||
|
||||
|
||||
17/07/23
|
||||
‚ ¡¨®á¥ 2.55 ¯®ï¢¨« áì äãªæ¨ï - ¯¥à¥¤ ¢ âì ã¯à ¢«¥¨¥ ¨§ <20>‡“ ®¡à ¡®â稪㠯à¥àë¢ ¨ï ¢ ã«¥¢®© ¡ ª¥ އ“.
|
||||
C¤¥« ¯à®¢¥àª ¢¥àá¨î ¡¨®á .
|
||||
|
||||
|
||||
10/05/22
|
||||
Viewer:
|
||||
* <20>®¯à ¢«¥ ª®á¬¥â¨ç¥áª¨© ¡ £ ¢ ¨¦¥© áâப¥ ¯à¨ ᬥ¥ äãªæ¨® «ìëå ª« ¢¨è.
|
||||
* ˆá¯à ¢«¥® § ¢¨á ¨¥ ¯à¨â¥à ¤® â ©¬ ã⠯ਠ¯¥ç â¨.
|
||||
* ƒ¥à®¨ç¥áª¨ áíª®®¬«¥® ¥¬®£® ⠪⮢ â ¬, £¤¥ ¨ªâ® ¥ § ¬¥â¨â))).
|
||||
+ <20>¥ç âì ¯¥à¥¥á¥ ª« ¢¨èã F7, ç⮡ ¢ë£ âì ¢ á ¨§ §®ë ª®¬ä®àâ ))).
|
||||
+ „®¡ ¢«¥® á®ç¥â ¨¥ CTRL+P ¤«ï ¯¥ç â¨.
|
||||
? <20>®ç⨠¨á¯à ¢«¥ Wrap, ®áâ «áï ¡ £ á ¢¥à奩 áâப®©. ‹ãçè¥, 祬 ¨ç¥£®.
|
||||
|
||||
Editor:
|
||||
+ „®¡ ¢«¥ ª®¯ª "F7 Print"
|
||||
+ „®¡ ¢«¥® á®ç¥â ¨¥ CTRL+P ¤«ï ¯¥ç ⨠¢ ०¨¬¥ HEX
|
||||
* <20>®¯à ¢«¥ ª®á¬¥â¨ç¥áª¨© ¡ £ ¢ ¨¦¥© áâப¥ ¯à¨ ᬥ¥ äãªæ¨® «ìëå ª« ¢¨è
|
||||
* ˆá¯à ¢«¥® § ¢¨á ¨¥ ¯à¨â¥à ¤® â ©¬ ã⠯ਠ¯¥ç â¨
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
FE v.1.06 05.08.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ <20>® ª®¯ª¥ 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, ª®â®àë© ¢ª«îç ¥â/®âª«îç ¥â ¤¨ «®£
|
||||
¯®¤â¢¥à¦¤¥¨ï § ªàëâ¨ï । ªâ®à
|
||||
|
||||
FE v.1.05 07.06.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
* ¨á¯à ¢«¥ £«îª, ª®â®àë© ¯à¨¢®¤¨« ª § ¢¨á ¨î ¨«¨ á¡à®áã ¯®á«¥ 7-£® ®âªàëâ¨ï
|
||||
। ªâ®à
|
||||
+ „®¡ ¢«¥® ¢â®§ ªàë⨥ ᨬ¢®«®¢ ᪮¡®ª ¨ ª ¢ë祪
|
||||
+ “ । ªâ®à ¯®ï¢¨«áï ª®ä¨£-ä ©« fnedit.ini, ç¥à¥§ ª®â®àë© ¬®¦® ®âª«îç¨âì
|
||||
¥ª®â®àë¥ ä¨ç¨
|
||||
|
||||
FE v.1.04 18.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ ª®¯ª 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, «®£¨ç® - ¯ãá⮩ áâப¥ ¬®£« § 横«¨âìáï
|
||||
* ˆá¯à ¢«¥ ¯®¤¯à®£à ¬¬ § ¯®«¥¨ï ¡ãä¥à ⥪ã饩 áâப¨ (¯à¨ ã«¥¢®© ¤«¨¥
|
||||
áâப¨ ® ¥ ®ç¨é «áï)
|
||||
|
||||
FN v.1.12.1 13.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
* ˆá¯à ¢«¥ ¡ £ ¯à¨ ¢â®¬ â¨ç¥áª®© ᬥ¥ ¯ ¥«¨
|
||||
+ „®¡ ¢«¥ áâனª ¢ SetUp ¤«ï ®âª«îç¥¨ï ¢â®¬ â¨ç¥áª®© ªâ¨¢ 樨 ¯ ¥«¨ ¯à¨
|
||||
ᬥ¥ ¤¨áª
|
||||
|
||||
FE v.1.02 10.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ £®àïç ï ª®¯ª Ctrl+D ¤«ï ¤ã¡«¨à®¢ ¨ï áâப¨ (à ¡®â ¥â
|
||||
⮫쪮 ¤«ï áâப ¤® 127 ᨬ¢®«®¢)
|
||||
+ <20>ਠ¯¥à¥®á¥ áâப¨ ¢ ç «¥ áâப¨ ¤¥« ¥âáï â ª®© ¦¥ ®âáâ㯠®â ç « , ª ª ¨
|
||||
¯à¥¤ë¤ã饩 áâப¥
|
||||
* <20>¥à¥à ¡®â ë ¯à®æ¥¤ãàë ¯®§¨æ¨®¨à®¢ ¨ï ªãàá®à
|
||||
|
||||
FN v.1.12+ 07.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ <20> ¥«ì, ¢ ª®â®à®© ¬¥ï¥âáï ¤¨áª ¯® Alt+F1/F2 áâ ®¢¨âáï ªâ¨¢®©
|
||||
|
||||
FE v.1.01 07.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥ ¤¨ «®£ á § ¯à®á®¬ ¯®¤â¢¥à¦¤¥¨ï ¢ë室 ¨§ । ªâ®à
|
||||
+ <20>ਠ¨§¢«¥ç¥¨¨ áâப¨ ¡ãä¥à áâப¨ ®ç¨é ¥âáï - à ¥¥ ¬®¦® ¡ë«® ¡«î¤ âì
|
||||
¥ª®â®àë© ¬ãá®à ¢ ª®æ¥ áâப¨ ¯à¨ ¢¨£ 樨 ¬¥¦¤ã áâப ¬¨
|
||||
* „®à ¡®â ¯à®æ¥¤ãà ¯®§¨æ¨®¨à®¢ ¨ï ªãàá®à ¯à¨ ¢¨£ 樨 áâபã
|
||||
(áâà ¨æã) ¢ëè¥/¨¦¥ - ¢ § ¢¨á¨¬®á⨠®â «¨ç¨ï â ¡ã«ïâ®à®¢ ¢ áâப¥, ªãàá®à
|
||||
¬®£ ®â᪠ª¨¢ âì ¥áª®«ìª® ¯®§¨æ¨© ¢ áâ®à®ã
|
||||
+ „®¡ ¢«¥ ¢®§¬®¦®áâì 㤠«¥¨ï 楫®© áâப¨ ¯® Ctrl+Y
|
||||
+ „®¡ ¢«¥ £®àïç ï ª®¯ª ¤«ï á®åà ¥¨ï Ctrl+S
|
||||
+ <20>¥ «¨§ æ¨ï ®¢®£® ०¨¬ à ¡®âë Home - ¥á«¨ ¥áâì â ¡ã«ïâ®àë ¢ ç «¥ áâப¨,
|
||||
â® ¯à¨ ¯¥à¢®¬ ¦ ⨨ ªãàá®à ¯¥à¥¬¥é ¥âáï ¢ ¯®§¨æ¨î á ¯¥à¢ë¬ ¥-¯à®¡¥«ìë¬
|
||||
ᨬ¢®«®¬, ¯à¨ ¯®¢â®à®¬ ¦ ⨨ - ¯¥à¥¬¥é ¥âáï ¢ ¯¥à¢ãî ¯®§¨æ¨î
|
||||
|
||||
FN v.1.12 02.04.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ <20>¥ «¨§®¢ § ¯ã᪠BAT-ä ©«®¢, ª ª ¨§ ¯ ¥«¨, â ª ¨ ¨§ ª®¬ ¤®© áâப¨ á
|
||||
¯¥à¥¤ 祩 ¯ à ¬¥â஢.
|
||||
|
||||
FN v.1.11 27.03.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
* ˆá¯à ¢«¥® ®¯à¥¤¥«¥¨¥ ª â «®£ ¢ ª®â®à®¬ à ᯮ« £ îâáï ä ©«ë FlexNavigator- .
|
||||
|
||||
FV v.1.03 10.02.2021 (Mikhaltchenkov Dmitry aka Hard/WCG)
|
||||
+ „®¡ ¢«¥® ¯¥à¥ª«î票¥ ª®¤¨à®¢ª¨ ⥪áâ WIN/DOS/KOI
|
19
docs/todo.txt
Normal file
19
docs/todo.txt
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
Flex navigator TODO:
|
||||
|
||||
[] ¤®¡ ¢¨âì ¢ áâனª¨ ¢â®¯®ª § ¨«¨ ¯® ENTER ¯à¨ ¯¥à¥¬¥é¥¨¨ ¯® ¤¥à¥¢ã ª â «®£®¢
|
||||
[] ¤®¡ ¢¨âì ¢ áâனª¨ ¢ë¡®à ¬¥ïâì «¨ ªâ¨¢ãî ¯ ¥«ì ¯à¨ ᬥ¥ ¤¨áª ¥ ªâ¨¢®© ¯ ¥«¨
|
||||
[] ¯à¨ ¢ë¢®¤¥ ¤¥à¥¢ ª â «®£®¢ ᤥ« âì áªà®«« ¢«¥¢®/¢¯à ¢® ¥á«¨ ¤¥à¥¢® ¥ ¢«¥§ ¥â ¯® £®à¨§®â «¨
|
||||
[] ¯® ª®¯ª¥ F6 ⮫쪮 ¯¥à¥¨¬¥®¢ ¨¥, ¤®«¦® ¡ëâì ¯¥à¥¨¬¥®¢ ¨¥/¯¥à¥¬¥é¥¨¥ ä ©« ¥á«¨ ¯ ¥«ïå à §ë¥ ¯ãâ¨
|
||||
[] ¯¥à¥¤¥« âì § å®à¤ª®¦¥ë¥ ª®®à¤¨ âë, ¯¥à¥¤¥« âì ¯à¨¢ï§ªã ª ª®®à¤¨ â ¬ ®ª
|
||||
[] à §®¡à âìáï ª ª à ¡®â ¥â áâப ¢¢®¤ ¯à¨ ¯®¨áª¥ ä ©« ¯® ¨¬¥¨
|
||||
[] ¯« £¨ । ªâ¨à®¢ ¨ï èà¨äâ
|
||||
[] ¯« £¨ ¤«ï á®§¤ ¨ï ä®à¬ ®ª®
|
||||
[] § £à㧪 FLX ¯« £¨ ¯® ¨¬¥¨ ¡¥§ § ¯ãáª
|
||||
[?] ¢ë§®¢ ¨ ¢§ ¨¬®¤¥©á⢨¥ ¯« £¨ á ¯« £¨®¬
|
||||
|
||||
[x] ¢¢®¤ ¢ ª®¬ ¤ãî áâப㠨 ¦ ⨥ ALT+F1/F2 (¢ë¡®à ¤à ©¢ ) ¯®¤¢¨á ¥â
|
||||
[x] á®àâ¨à®¢é¨ª á®àâ¨àã¥â "..", ¥ ¤®«¦¥
|
||||
[x] ¢ìî¢¥à ¯à¨ ¯®«ã票¨ ¨¬¥¨ ä ©« ¤¥« ¥â ¥£® ª®¢¥àá¨î ¨ ¯à¨ «¨ç¨¨ àãá᪨å ᨬ¢®«®¢ ¯®àâ¨â ¨¬ï ¨ "File not found"
|
||||
[x] ¢ Disk Info ®ª¥ ¯®ª §ë¢ ¥â ¨¬ï ¤¨áª ¨¬ï ä ©« (npl.exe)
|
||||
[x] ¯®áâà®¨â¥«ì ¤¥à¥¢ ª â «®£®¢ ¥ à ¡®â ¥â
|
386
fn_const.a80
Normal file
386
fn_const.a80
Normal file
@ -0,0 +1,386 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
|
||||
DOShistory_Size EQU 0x200 ; à §¬¥à ¡ãä¥à DOS ¨áâ®à¨¨
|
||||
|
||||
INIT_VAR 0x8000
|
||||
SETVAR WorkBuffer, 0x400 ; à ¡®ç¨© ¡ãä¥à
|
||||
SETVAR StackTree, 0x100 ; ç «® ¡ãä¥à á⥪ ¤«ï à ¡®âë á ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨©
|
||||
SETVAR STACKTREE, 0 ; 㪠§ â¥«ì ª®¥æ ¡ãä¥à (á⥪ à áâ¥â ¢¨§)
|
||||
SETVAR PagesList, 0x100 ; ᯨ᮪ áâà ¨æ ¯ ¬ïâ¨
|
||||
SETVAR Stack, 0x100 ; ç «® à ¡®ç¥£® á⥪
|
||||
SETVAR STACK, 0 ; 㪠§ â¥«ì ª®¥æ ¡ãä¥à (á⥪ à áâ¥â ¢¨§)
|
||||
SETVAR BASE_ADDR, 0x100 ; ç «® ª®¤ (¡«®ª ¯¥à¥å®¤®¢ ¨ ®¡é¨å ¯¥à¥¬¥ëå ¤«ï ¤®áâ㯠¨§ ¯« £¨®¢)
|
||||
SETVAR PALETTE, 0 ; ¯ «¨âà áà §ã § â ¡«¨æ¥© ¯¥à¥å®¤®¢ ¨ £«®¡ «ìëå ¯¥à¥¬¥ëå
|
||||
|
||||
ADDR
|
||||
_INIT_VAR 0x4000
|
||||
_SETVAR .FlexDIRECTORY
|
||||
|
||||
PluginOrg EQU 0xC000 - 0x10 ; ¤à¥á ¯« £¨ á ãç¥â®¬ à §¬¥à § £®«®¢ª
|
||||
|
||||
LenInpData EQU 12 ; ª ª®¥-⮠ᬥ饨¥ ¤«ï ¬¥âª¨ SearchStr
|
||||
CursTimer EQU 6 ; "ç áâ®â " ¬®à£ ¨ï ⥪á⮢®£® ªãàá®à
|
||||
Step EQU 8 ; è¨à¨ ᨬ¢®« ¤«ï ¯¥à¥¬¥é¥¨ï ªãàá®à ¯à¨ ¢¢®¤¥ ⥪áâ
|
||||
MainPullMenu EQU 6 ; ª®«¨ç¥á⢮ ¯ãªâ®¢ ¢ £« ¢®¬ ¬¥î
|
||||
MASK_SIZE EQU 13
|
||||
PANFILES ; ª®«¨ç¥á⢮ ä ©«®¢/¤¨à¥ªâ®à¨© ¢ ¯ ¥«¨ ¢ ¢ëá®âã
|
||||
.BRIEF EQU 17 ; ¤«ï Brief ०¨¬
|
||||
.FULL EQU 18 ; ¤«ï Full ०¨¬
|
||||
.TREE EQU 18 ; ¤«ï Tree ०¨¬
|
||||
|
||||
SUPPFILES
|
||||
_INIT_VAR 1
|
||||
_SETVAR .EXE
|
||||
_SETVAR .BAT
|
||||
_SETVAR .FLX
|
||||
|
||||
; 梥â INK
|
||||
COLORI
|
||||
_INIT_VAR
|
||||
_SETVAR .BLACK ; 0
|
||||
_SETVAR .RED ; 1
|
||||
_SETVAR .GREEN ; 2
|
||||
_SETVAR .YELLOW ; 3
|
||||
_SETVAR .BLUE ; 4
|
||||
_SETVAR .INVERTPAPER ; 5
|
||||
_SETVAR .INVERTINK ; 6
|
||||
_SETVAR .BLACKGRAY ; 7
|
||||
_SETVAR .HIGHGRAY ; 8
|
||||
_SETVAR .PANEL ; 9
|
||||
_SETVAR .FILES ; A
|
||||
_SETVAR .SELECTFILES ; B
|
||||
_SETVAR .INVSELFILES ; C
|
||||
_SETVAR .RESERVED ; D
|
||||
_SETVAR .WHITE0E ; E
|
||||
_SETVAR .WHITE ; F
|
||||
|
||||
; 梥â PAPER
|
||||
COLORP
|
||||
_INIT_VAR
|
||||
_SETVAR .BLACK, 0x10
|
||||
_SETVAR .RED, 0x10
|
||||
_SETVAR .GREEN, 0x10
|
||||
_SETVAR .YELLOW, 0x10
|
||||
_SETVAR .BLUE, 0x10
|
||||
_SETVAR .INVERTPAPER, 0x10
|
||||
_SETVAR .INVERTINK, 0x10
|
||||
_SETVAR .BLACKGRAY, 0x10
|
||||
_SETVAR .HIGHGRAY, 0x10
|
||||
_SETVAR .PANEL, 0x10
|
||||
_SETVAR .FILES, 0x10
|
||||
_SETVAR .SELECTFILES, 0x10
|
||||
_SETVAR .INVSELFILES, 0x10
|
||||
_SETVAR .RESERVED, 0x10
|
||||
_SETVAR .WHITE0E, 0x10
|
||||
_SETVAR .WHITE, 0x10
|
||||
|
||||
WINOBJECT
|
||||
_INIT_VAR
|
||||
_SETVAR .TYPE, BYTE
|
||||
|
||||
; ã¬¥à æ¨ï ¯®¤®¡ê¥ªâ®¢ ®ª
|
||||
WINSUBOBJ
|
||||
_INIT_VAR
|
||||
_SETVAR .END ; ª®¥æ ®¯¨á â¥«ï ®ª
|
||||
_SETVAR .TEXT ; ¯¥ç âì ⥪á⮢®© áâப¨
|
||||
_SETVAR .FILL ; § «¨¢ª 梥⮬ 㪠§ ®© ®¡« áâ¨
|
||||
_SETVAR .BORDER ; 㣫㡫¥¨¥
|
||||
_SETVAR .BUTTON ; ª®¯ª
|
||||
_SETVAR .BUTTONTEXT ; ª®¯ª á ⥪á⮬
|
||||
_SETVAR .HORIZLINE ; £®à¨§®â «ì ï «¨¨ï
|
||||
_SETVAR .VERTICLINE ; ¢¥à⨪ «ì ï «¨¨ï
|
||||
_SETVAR .ICONLEFTARROW ; á¯à ©â¨ª ¤«ï áªà®««¡ à "áâ५ª ¢«¥¢®"
|
||||
_SETVAR .ICONRIGHTARROW ; á¯à ©â¨ª ¤«ï áªà®««¡ à "áâ५ª ¢¯à ¢®"
|
||||
_SETVAR .ICONUPARROW ; á¯à ©â¨ª ¤«ï áªà®««¡ à "áâ५ª ¢¢¥àå"
|
||||
_SETVAR .ICONDOWNARROW ; á¯à ©â¨ª ¤«ï áªà®««¡ à "áâ५ª ¢¨§"
|
||||
_SETVAR .ADRTEXT ; ¯¥ç âì ⥪á⮢®© áâப¨ ¯® ¤à¥áã
|
||||
_INIT_VAR 0x7F
|
||||
_SETVAR .RESTOREWIN ; ¢®ááâ ®¢«¥¨¥ íªà ¯®¤ ®ª®¬
|
||||
_SETVAR .WOBIND ; ¢á¥ ¢ëè¥ ¯¥à¥ç¨á«¥®¥ ¡¥§ ¯à¨¢ï§ª¨ ª ®¯¨á ⥫î
|
||||
_INIT_VAR
|
||||
_SETVAR .NOSTORE ; ¡¥§ á®åà ¥¨ï ¤ ëå ¯®¤ ®ª®¬
|
||||
_SETVAR .STORE ; á á®åà ¥¨¥¬ ¤ ëå ¯®¤ ®ª®¬
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
PANEL
|
||||
_INIT_VAR
|
||||
_SETVAR .PANELFLAG ; ”« £ ¯ ¥«¨ ¡¨â 7 - ¡¨â ¢ë¤¥«¥®áâ¨
|
||||
; ¡¨â 0 - ®¬¥à ¯ ¥«¨
|
||||
_SETVAR .VIEWFLAG ; ”« £ ¢¨¤ ¯ ¥«¨ 0 - ªà âª ï ¯ ¥«ì
|
||||
; ¡¨â 0 - ¯®¤à®¡ ï ¯ ¥«ì
|
||||
; ¡¨â 1 - ¤¥à¥¢®
|
||||
; ¡¨â 2 - 㦠⮥ ¤¥à¥¢®
|
||||
_SETVAR .SORTFLAG ; ‚¨¤ á®àâ¨à®¢ª¨
|
||||
; ¡¨â 0 - ¯® ¨¬¥¨
|
||||
; ¡¨â 1 - ¯® à áè¨à¥¨î
|
||||
; ¡¨â 2 - ¯® à §¬¥àã
|
||||
; ¡¨â 3 - ¯® ¤ â¥
|
||||
; ¡¨â 4 - execute file
|
||||
; ¡¨â 5 - file mask
|
||||
_SETVAR .XL ; X ¯®§¨æ¨ï ¯ ¥«¨ LOW
|
||||
_SETVAR .XH ; X ¯®§¨æ¨ï ¯ ¥«¨ HIGH
|
||||
_SETVAR .BARXL ; X ¯®§¨æ¨ï áªà®«¡ à LOW
|
||||
_SETVAR .BARXH ; X ¯®§¨æ¨ï áªà®«¡ à HIGH
|
||||
_SETVAR .BARYL ; Y ¯®§¨æ¨ï áªà®«¡ à LOW
|
||||
_SETVAR .BARYH ; Y ¯®§¨æ¨ï áªà®«¡ à HIGH
|
||||
_SETVAR .BARMLL ; Max ¤«¨ áªà®«¡ à LOW
|
||||
_SETVAR .BARMLH ; Max ¤«¨ áªà®«¡ à HIGH
|
||||
_SETVAR .BARCLL ; ⥪.¤«¨ áªà®«¡ à LOW
|
||||
_SETVAR .BARCLH ; ⥪.¤«¨ áªà®«¡ à HIGH
|
||||
_SETVAR .BARLFL ; €¤à¥á ï祩ª¨ BarLeft LOW
|
||||
_SETVAR .BARLFH ; €¤à¥á ï祩ª¨ BarLeft HIGH
|
||||
_SETVAR .BARRTL ; €¤à¥á ï祩ª¨ BarRight LOW
|
||||
_SETVAR .BARRTH ; €¤à¥á ï祩ª¨ BarRight HIGH
|
||||
_SETVAR .FPL ; Š®«-¢® ä ©«®¢ áâà ¨æ¥ LOW
|
||||
_SETVAR .FPH ; Š®«-¢® ä ©«®¢ áâà ¨æ¥ HIGH
|
||||
_SETVAR .EFL ; ޡ饥 ª®«-¢® ä ©«®¢ LOW
|
||||
_SETVAR .EFH ; ޡ饥 ª®«-¢® ä ©«®¢ HIGH
|
||||
_SETVAR .FFL ; <20>¥à¢ë© ä ©« áâà ¨æ¥ LOW
|
||||
_SETVAR .FFH ; <20>¥à¢ë© ä ©« áâà ¨æ¥ HIGH
|
||||
_SETVAR .CFL ; T¥ªã騩 ä ©« áâà ¨æ¥ LOW
|
||||
_SETVAR .CFH ; T¥ªã騩 ä ©« áâà ¨æ¥ HIGH
|
||||
_SETVAR .MFL ; Š®«-¢® ¬ ન஢ ëå ä ©«®¢ LOW
|
||||
_SETVAR .MFH ; Š®«-¢® ¬ ન஢ ëå ä ©«®¢ HIGH
|
||||
_SETVAR .MBL1 ; Š®«-¢® ¬ ન஢ ëå ¡ ©â®¢ [
|
||||
_SETVAR .MBH1 ; Š®«-¢® ¬ ન஢ ëå ¡ ©â®¢
|
||||
_SETVAR .MBL2 ; Š®«-¢® ¬ ન஢ ëå ¡ ©â®¢
|
||||
_SETVAR .MBH2 ; Š®«-¢® ¬ ન஢ ëå ¡ ©â®¢ ]
|
||||
_SETVAR .MBL3 ; Š®«-¢® ¬ ન஢ ëå ¡ ©â®¢ FAT32
|
||||
_SETVAR .FILEMASK, MASK_SIZE ; Œ ᪠¯®ª § ä ©«®¢
|
||||
_SETVAR .CURRPATH, 0x100 ; ’¥ªã騩 ¯ãâì ¯ ¥«¨
|
||||
|
||||
PANELFLAG
|
||||
_BITMASK PRNDOSPATH, 7 ; =1-¯¥ç â âì ¯ãâì DOS
|
||||
_BITMASK SIDE, 0 ; =1-¯à ¢ ï ¯ ¥«ì, =0-«¥¢ ï ¯ ¥«ì
|
||||
|
||||
VIEWFLAG
|
||||
_BITMASK SHORTTREE, 2 ; =1-㦠⮥ ¤¥à¥¢®
|
||||
_BITMASK TREE, 1 ; =1-¯®ª § ¤¥à¥¢ ª â «®£®¢
|
||||
_BITMASK FULL, 0 ; =1-¯®¤à®¡ë© ¯®ª § ª â «®£®¢, 0-ªà ⪨©
|
||||
.MASK EQU .M_TREE | .M_FULL
|
||||
|
||||
SORTFLAG
|
||||
_BITMASK BIT7, 7 ; not used
|
||||
_BITMASK BIT6, 6 ; not used
|
||||
_BITMASK FILTER, 5 ; =1-¯®ª § ä ©«®¢ ¯® 䨫ìâàã
|
||||
_BITMASK EXEC, 4 ; =1-¯®ª §ë¢ âì ⮫쪮 ¨á¯®«ï¥¬ë¥ ä ©«ë
|
||||
_BITMASK SIZE, 3 ; =1-á®àâ¨à®¢ª ¯® à §¬¥àã
|
||||
_BITMASK DATE, 2 ; =1-á®àâ¨à®¢ª ¯® ¤ â¥
|
||||
_BITMASK EXT, 1 ; =1-á®àâ¨à®¢ª ¯® à áè¨à¥¨î
|
||||
_BITMASK NAME, 0 ; =1-á®àâ¨à®¢ª ¯® ¨¬¥¨
|
||||
.MASK EQU .M_SIZE | .M_DATE | .M_EXT | .M_NAME
|
||||
.MASKH EQU .M_BIT7 | .M_BIT6 | .M_FILTER | .M_EXEC
|
||||
.MASKEXECFILTER EQU .M_FILTER | .M_EXEC
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
BAR
|
||||
_INIT_VAR
|
||||
_SETVAR .XL
|
||||
_SETVAR .XH
|
||||
_SETVAR .YL
|
||||
_SETVAR .YH
|
||||
_SETVAR .MAXLL
|
||||
_SETVAR .MAXLH
|
||||
_SETVAR .LENL
|
||||
_SETVAR .LENH
|
||||
_SETVAR .LEFTL
|
||||
_SETVAR .LEFTH
|
||||
_SETVAR .RIGHTL
|
||||
_SETVAR .RIGHTH
|
||||
_SETVAR .PAGEL
|
||||
_SETVAR .PAGEH
|
||||
_SETVAR .MAXL
|
||||
_SETVAR .MAXH
|
||||
_SETVAR .FIRSTL
|
||||
_SETVAR .FIRSTH
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
PROC
|
||||
_INIT_VAR
|
||||
_SETVAR .XL
|
||||
_SETVAR .XH
|
||||
_SETVAR .YL
|
||||
_SETVAR .YH
|
||||
_SETVAR .MAXLL
|
||||
_SETVAR .MAXLH
|
||||
_SETVAR .COEFL
|
||||
_SETVAR .COEFH
|
||||
_SETVAR .CORRL
|
||||
_SETVAR .CORRH
|
||||
_SETVAR .MAXL1
|
||||
_SETVAR .MAXH1
|
||||
_SETVAR .MAXL2
|
||||
_SETVAR .MAXH2
|
||||
_SETVAR .CURL1
|
||||
_SETVAR .CURH1
|
||||
_SETVAR .CURL2
|
||||
_SETVAR .CURH2
|
||||
_SETVAR .COLOR
|
||||
|
||||
; ”®à¬ â â ¡«¨æë
|
||||
; +00 2 Xmin
|
||||
; +02 2 Xmax
|
||||
; +04 2 Ymin
|
||||
; +06 2 Ymax
|
||||
; +08 2 0 - ¯à®á⮩ ®¡'¥ªâ
|
||||
; ¡¨â 0 - ª®¯ª
|
||||
; ¡¨â 1 - à ¡®ç ï ª®¯ª
|
||||
; ¡¨â 2 - ¨¢¥àâ 1
|
||||
; ¡¨â 3 - áâ â¨çë© ¨¢¥àâ
|
||||
; ¡¨â 4 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à.
|
||||
; ¨ ¡¥§ ®£ï
|
||||
; ¡¨â 5 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à.
|
||||
; ¯® «¥¢®© ª®¯ª¥ ®£ï
|
||||
; ¡¨â 6 - ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à.
|
||||
; ¯® ¯à ¢®© ª®¯ª¥ ®£ï
|
||||
; ¡¨â 7 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤
|
||||
; § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§ ®£ï
|
||||
; ¡¨â 8 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤
|
||||
; § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® «¥¢®© ª®¯ª¥
|
||||
; ¡¨â 9 - ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤
|
||||
; § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® ¯à ¢®© ª®¯ª¥
|
||||
; ¡¨â15 - íâ® ¯¥à¥ª«îç ⥫ì (¨¢¥à⠯ਠ®£¥ ¥
|
||||
; 㡨à âì)
|
||||
; +0A 2 €¤à¥á ®¡à ¡®â稪 ¯à¨ ¥ ¦ ⮬ ®£¥
|
||||
; +0C 2 €¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ («¥¢)
|
||||
; +0E 2 €¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢)
|
||||
FORMTABL
|
||||
_INIT_VAR
|
||||
_SETVAR .XMINL
|
||||
_SETVAR .XMINH
|
||||
_SETVAR .XMAXL
|
||||
_SETVAR .XMAXH
|
||||
_SETVAR .YMINL
|
||||
_SETVAR .YMINH
|
||||
_SETVAR .YMAXL
|
||||
_SETVAR .YMAXH
|
||||
_SETVAR .FLAGL
|
||||
_SETVAR .FLAGH
|
||||
_SETVAR .FIRENOL
|
||||
_SETVAR .FIRENOH
|
||||
_SETVAR .FIRELEFTL
|
||||
_SETVAR .FIRELEFTH
|
||||
_SETVAR .FIRERIGHTL
|
||||
_SETVAR .FIRERIGHTH
|
||||
_SETVAR .SIZE, 0
|
||||
|
||||
;FLAGS ; ¡¨âë 7-0
|
||||
_BITMASK EXECNOPRESS, 7 ; ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¡¥§ ®£ï
|
||||
_BITMASK EXECNORETRMB, 6 ; ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à. ¯® ¯à ¢®© ª®¯ª¥ ®£ï
|
||||
_BITMASK EXECNORETLMB, 5 ; ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à. ¯® «¥¢®© ª®¯ª¥ ®£ï
|
||||
_BITMASK EXECONLY, 4 ; ¯à®£à ¬¬ § ¯ã᪠¥âáï ¡¥§ ¤à¥á ¢®§¢à. ¨ ¡¥§ ®£ï
|
||||
_BITMASK STATICINV, 3 ; áâ â¨çë© ¨¢¥àâ
|
||||
_BITMASK INV1, 2 ; ¨¢¥àâ 1
|
||||
_BITMASK WORKBUTTON, 1 ; à ¡®ç ï ª®¯ª
|
||||
_BITMASK BUTTON, 0 ; ª®¯ª
|
||||
; ; ¡¨âë 15-8
|
||||
_BITMASK FIRENOINV, 7 ; íâ® ¯¥à¥ª«îç ⥫ì (¨¢¥à⠯ਠ®£¥ ¥ 㡨à âì)
|
||||
_BITMASK CLOSEANDRUN, 1 ; ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® «¥¢®© ª®¯ª¥
|
||||
_BITMASK CLOSEWIN, 0 ; ¢ë§¢ âì äãªæ¨î § ªàëâ¨ï ®ª ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® «¥¢®© ª®¯ª¥
|
||||
_BITMASK ENDTABL, 7 ; ¡¨â ¢ .XMINH 㪠§ â¥«ì ª®¥æ ᯨáª
|
||||
|
||||
; ¡ § â ¡«¨æë ¯¥à¥å®¤®¢ ¤«ï ¢ë§®¢ ¨§ ¯« £¨®¢
|
||||
JUMPS
|
||||
.JUMPSIZE EQU 3
|
||||
; â ¡«¨æ ¯¥à¥å®¤®¢ äãªæ¨¨ ¤«ï ¯« £¨®¢
|
||||
_INIT_VAR BASE_ADDR + .JUMPSIZE ; ¯à®¯ã᪠¯¥à¥å®¤ ®á®¢®© ¢å®¤
|
||||
_SETVAR .ClearScreen, .JUMPSIZE
|
||||
_SETVAR .MakeWindow, .JUMPSIZE
|
||||
_SETVAR .InvertRectan, .JUMPSIZE
|
||||
_SETVAR .PrnTxtLnIFF, .JUMPSIZE
|
||||
_SETVAR .PrnTxtLnNorm, .JUMPSIZE
|
||||
_SETVAR .PrnTxtLnNormC, .JUMPSIZE
|
||||
_SETVAR .PrnRangPathL, .JUMPSIZE
|
||||
_SETVAR .PrnRangPathR, .JUMPSIZE
|
||||
_SETVAR .PrnRangPathC, .JUMPSIZE
|
||||
_SETVAR .InputLine, .JUMPSIZE
|
||||
_SETVAR .InpLnExtN, .JUMPSIZE
|
||||
_SETVAR .InpLnExtC, .JUMPSIZE
|
||||
_SETVAR .DOSError, .JUMPSIZE
|
||||
_SETVAR .InitScrBar, .JUMPSIZE
|
||||
_SETVAR .PrnHScrBar, .JUMPSIZE
|
||||
_SETVAR .PrnVScrBar, .JUMPSIZE
|
||||
_SETVAR .InitProcess, .JUMPSIZE
|
||||
_SETVAR .PrnProcess, .JUMPSIZE
|
||||
_SETVAR .InitScrollBar, .JUMPSIZE
|
||||
_ADDVAR .JUMPSIZE * 4 ; DUPL 15,0xC9
|
||||
_SETVAR .ResFire, .JUMPSIZE
|
||||
_SETVAR .TestCoords, .JUMPSIZE
|
||||
_SETVAR .SetCMOSPrint, .JUMPSIZE
|
||||
_SETVAR .ResCMOSPrint, .JUMPSIZE
|
||||
_SETVAR .SetClock, .JUMPSIZE
|
||||
_SETVAR .SetMouse, .JUMPSIZE
|
||||
_ADDVAR .JUMPSIZE * 4 ; DUPL 12,0xC9
|
||||
_SETVAR .ConvNumTxt40, .JUMPSIZE
|
||||
_SETVAR .MoveBytes, .JUMPSIZE
|
||||
_SETVAR .MoveBytesUp, .JUMPSIZE
|
||||
_SETVAR .Mult8, .JUMPSIZE
|
||||
_SETVAR .Mult16X8, .JUMPSIZE
|
||||
_SETVAR .Mult16, .JUMPSIZE
|
||||
_SETVAR .Mult16X16, .JUMPSIZE
|
||||
_SETVAR .Mult32, .JUMPSIZE
|
||||
_SETVAR .Divis16X16, .JUMPSIZE
|
||||
_SETVAR .Divis24X16, .JUMPSIZE
|
||||
_SETVAR .Divis32X16, .JUMPSIZE
|
||||
_SETVAR .Divis32, .JUMPSIZE
|
||||
_SETVAR .ConvNumTxt32, .JUMPSIZE
|
||||
_SETVAR .ConvNumTxt16, .JUMPSIZE
|
||||
_SETVAR .ConvNumTxt8, .JUMPSIZE
|
||||
_SETVAR .ConvTxtNum32, .JUMPSIZE
|
||||
_SETVAR .ConvTxtNum16, .JUMPSIZE
|
||||
_SETVAR .Resident, .JUMPSIZE
|
||||
_ADDVAR (BASE_ADDR + 0xC0) - .CURRVAR; - .JUMPSIZE; * 4 ; DUPL 12,0xC9
|
||||
; ¯¥à¥¬¥ë¥ ¤«ï ¤®áâ㯠¨§ ¯« £¨®¢
|
||||
_SETVAR .NUM_DEVICES, BYTE ; Š®«-¢® ãáâனáâ¢
|
||||
_SETVAR .TreeFlag, BYTE ; ”« £ ¤¥à¥¢
|
||||
_SETVAR .CMOSFlag, BYTE ; ”« £ CMOS 0 - ¥â
|
||||
; 1 - ¥áâì
|
||||
_SETVAR .MouseFlag, BYTE ; ”« £ ¬ëè¨ 0 - ¥â
|
||||
; 1 - ¥áâì
|
||||
_SETVAR .CMOSPrint, BYTE
|
||||
_SETVAR .FNPAGESID, BYTE ; ˆ¤¥ä.¯ ¬ï⨠£¤¥ FN
|
||||
_SETVAR .FNFUNCT, BYTE ; ‘âà ¨æ á äãªæ¨ï¬¨ FN
|
||||
_SETVAR .FNVIEW, BYTE ; ‘âà ¨æ á FileViewer
|
||||
_SETVAR .FNEDIT, BYTE ; ‘âà ¨æ á FileEditor
|
||||
_SETVAR .FNHELP, BYTE ; ‘âà ¨æ FN HELP
|
||||
_SETVAR .FNFONT, BYTE ; ‘âà ¨æ èà¨ä⮢
|
||||
_SETVAR .BufferID, BYTE ; ˆ¤¥â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à
|
||||
_SETVAR .FLX, BYTE ; ‘âà ¨æ ¤«ï ¯®¤£à㧪¨ FLX ¯à®á¬®âà. FLX ã⨫¨â
|
||||
_SETVAR .LEFTPANEL, BYTE ; ‘âà ¨æ ª â «®£ ‹¥¢®© ¯ ¥«¨
|
||||
_SETVAR .RIGHTPANEL, BYTE ; ‘âà ¨æ ª â «®£ <20>à ¢®© ¯ ¥«¨
|
||||
; <20>ãä¥àë¥ áâà ¨æë ¯®¤ ¨â¥à䥩á
|
||||
_SETVAR .BuffPg1, WORD
|
||||
_SETVAR .BuffPg3, 3
|
||||
|
||||
FileHDR
|
||||
_INIT_VAR
|
||||
_SETVAR .Flag, BYTE ; +#00
|
||||
_SETVAR .Name, 8 ; +#01
|
||||
_SETVAR .Dot, BYTE ; +#09 ???
|
||||
_SETVAR .Ext, 3 ; +#0A
|
||||
_SETVAR .Zero, BYTE ; +#0D ???
|
||||
_SETVAR .Attr, BYTE ; +#0E ¨á¯®«ì§ã¥âáï ¡¨â7 ¤«ï 祣®-â®
|
||||
_SETVAR .SizeBytes, DWORD ; +#0F
|
||||
_SETVAR .Date, BYTE ; +#13
|
||||
_SETVAR .Month, BYTE ; +#14
|
||||
_SETVAR .Year, BYTE ; +#15
|
||||
_SETVAR .Hours, BYTE ; +#16
|
||||
_SETVAR .Minutes, BYTE ; +#17
|
||||
_SETVAR .SIZE, 0
|
||||
_BITMASK MARK, 0 ; 1-ä ©« ¯®¬¥ç¥
|
||||
|
||||
; ¨¬¥ ä ©«®¢
|
||||
FILENAME
|
||||
.FN_INI EQU "fn.ini"
|
||||
.FN_EXT EQU "fn.ext"
|
||||
.FNVIEW_EXT EQU "fnview.ext"
|
||||
.FNEDIT_EXT EQU "fnedit.ext"
|
||||
.FNTREE_FLN EQU "treeinfo.fln"
|
||||
.FNEDIT_INI EQU "FNEDIT.INI"
|
||||
|
||||
; ®â« ¤®ç®¥, ¥ ¬¥ïâì ¯® ¨§¡¥¦ ¨¥ £«îª®¢
|
||||
PLUGS_ENABLE EQU 0
|
||||
TREE_REZID EQU 0
|
||||
MARK_DIR EQU 0 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à ¢á¥å ä ©«®¢
|
||||
TREE_DIR_ENTER EQU 0 ; ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¤¥à¥¢¥ ¯® ENTER
|
191
fn_exe_boot.a80
Normal file
191
fn_exe_boot.a80
Normal file
@ -0,0 +1,191 @@
|
||||
|
||||
; LAST UPDATE: 29.05.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
|
||||
include macros_sp.a80
|
||||
include define_sp.a80
|
||||
include bios_sp.a80
|
||||
include dss_sp.a80
|
||||
include errors_sp.a80
|
||||
include ports_sp.a80
|
||||
include mouse_sp.a80
|
||||
include accel_sp.a80
|
||||
include fatdir.a80
|
||||
include fn_version.a80
|
||||
|
||||
INIT_VAR 0xC000
|
||||
SETVAR FONT_RAW, 6888;IFFFONT_RAW_PACK - FONT_RAW_PACK
|
||||
SETVAR_ALIGN
|
||||
SETVAR IFFFONT_RAW, 8704;IFFFONT_RAW_END - IFFFONT_RAW_PACK
|
||||
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
|
||||
|
||||
EntryExec: DI
|
||||
LD A,(IX-0x03) ; file handle
|
||||
LD (MAIN.hFile),A ; save
|
||||
LD HL,MAIN.copyright_str
|
||||
SPDSS DSSF.PCHARS ; print text
|
||||
SPDSS DSSF.VERSION
|
||||
LD A,D
|
||||
OR A
|
||||
JR NZ,.next1
|
||||
LD HL,MAIN.incor_dos_str
|
||||
SPDSS DSSF.PCHARS ; print text
|
||||
SPDSS DSSF.EXIT,0x26 ; exit
|
||||
|
||||
.next1
|
||||
SPDSS DSSF.GETMEM,6 ; § ¯à®á 6 áâà ¨æ ¯ ¬ïâ¨
|
||||
JR NC,.next2 ; CY - not enough memory
|
||||
LD HL,MAIN.no_memory_str
|
||||
SPDSS DSSF.PCHARS ; print text
|
||||
SPDSS DSSF.EXIT,0x1E ; exit
|
||||
|
||||
.next2 LD (MAIN.hMem),A ; memory handle
|
||||
LD HL,MAIN.FNMAIN
|
||||
SPBIOS BIOSF.GETMEMBLKPAGES ; get memory pages list
|
||||
LD A,(MAIN.FNMAIN) ; set pages from 0xC000
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,BASE_ADDR ; FNMAIN
|
||||
LD DE,END_BLOCK_1 - START_BLOCK_1
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
LD A,(MAIN.FNFUNCT)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,0xC000 ; FNFUNCT
|
||||
LD DE,END_BLOCK_2 - START_BLOCK_2
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
LD A,(MAIN.FNVIEW) ; FNVIEW
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,0xC000
|
||||
LD DE,END_BLOCK_EDITOR - START_BLOCK_EDITOR
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
LD A,(MAIN.FNEDIT) ; FNEDIT
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,0xC000
|
||||
LD DE,END_BLOCK_VIEWER - START_BLOCK_VIEWER
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
LD A,(MAIN.FNHELP) ; FNHELP
|
||||
SETPORT WINSP.CPU3,,0
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,0xC000
|
||||
LD DE,END_BLOCK_3 - START_BLOCK_3
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
LD A,(MAIN.FNFONT) ; FNFONT
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,0xFFFF - (IFFFONT_RAW_END - FONT_RAW_PACK)
|
||||
LD DE,END_BLOCK_4 - START_BLOCK_4
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.READ
|
||||
JP C,disk_error
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.CLOSE ; close file
|
||||
; à ᯠª®¢ª èà¨ä⮢
|
||||
LD HL,0xFFFF - (IFFFONT_RAW_END - FONT_RAW_PACK)
|
||||
LD DE,0xC000
|
||||
CALL UNPACK
|
||||
LD HL,0xFFFF - (IFFFONT_RAW_END - IFFFONT_RAW_PACK)
|
||||
LD DE,0xDB00
|
||||
CALL UNPACK
|
||||
; ¯¥à¥®á ¨ª®®ª ¬ëè¨ à ¡®ç¥¥ ¬¥áâ®
|
||||
LD HL,Clock_BMP
|
||||
LD DE,CLOCK_BMP
|
||||
LD BC,CLOCK_BMP_Size + MOUSE_BMP_Size
|
||||
LDIR
|
||||
;!TEST ; !HARDCODE SYS_PAGE
|
||||
SETPORT WINSP.CPU3,PAGE.SYSTEM;0xFE
|
||||
LD HL,0x0124 + CPU3 ; !HARDCODE
|
||||
LD (HL),0x38 ; interrupt routine address Low byte
|
||||
INC HL
|
||||
XOR A
|
||||
LD (HL),A ; interrupt routine address High byte
|
||||
INC HL
|
||||
GETPORT WINSP.CPU0
|
||||
LD (HL),A ; interrupt routine page
|
||||
LD A,(MAIN.FNMAIN)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD A,(MAIN.hMem)
|
||||
LD (RAMPAGES.FNPAGESID),A
|
||||
LD HL,MAIN.FNFUNCT
|
||||
LD DE,RAMPAGES.FNFUNCT
|
||||
LD BC,0x0005
|
||||
LDIR
|
||||
JP BASE_ADDR
|
||||
|
||||
disk_error: PUSH AF
|
||||
LD A,(MAIN.hMem) ; free memory
|
||||
SPDSS DSSF.FREEMEM
|
||||
LD A,(MAIN.hFile)
|
||||
SPDSS DSSF.CLOSE ; close file
|
||||
LD HL,MAIN.load_err_str
|
||||
SPDSS DSSF.PCHARS ; print text
|
||||
POP BC
|
||||
SPDSS DSSF.EXIT ; exit
|
||||
|
||||
UNPACK include dec40.a80
|
||||
|
||||
; 14 x 9 = 126 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D
|
||||
Clock_BMP: DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0xFE,0xFE ; 00
|
||||
DB 0xFE,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF ; 01
|
||||
DB 0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0xFF,0xFF,0x00,0xFE,0xFE,0xFE,0x00 ; 02
|
||||
DB 0xFE,0x00,0xFF,0xFF,0xFF,0x00,0xFE,0xF0,0xFE,0x00,0xFF,0xFF,0xFF,0xFF ; 03
|
||||
DB 0xFF,0x00,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFE,0x00,0xFF ; 04
|
||||
DB 0xFF,0xFF,0xFF,0xFF,0x00,0xFE,0xF0,0xFE,0x00,0xFF,0xFF,0xFF,0x00,0xFE ; 05
|
||||
DB 0xFE,0xFE,0x00,0xFE,0x00,0xFF,0xFF,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0x00 ; 06
|
||||
DB 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0xFE ; 07
|
||||
DB 0xFE,0xFE,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ; 08
|
||||
CLOCK_BMP_END
|
||||
|
||||
; 13 x 9 = 117 00 01 02 03 04 05 06 07 08 09 0A 0B 0C
|
||||
Mouse_BMP: DB 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFE,0x00,0xFF ; 00
|
||||
DB 0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFE,0xFE,0x00,0xFF,0xFF,0xFF,0xFF ; 01
|
||||
DB 0xFF,0x00,0xFE,0xFE,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xFE,0xFE ; 02
|
||||
DB 0xFE,0xFE,0x00,0xFF,0xFF,0xFF,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0x00 ; 03
|
||||
DB 0xFF,0xFF,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0xFF,0x00,0xFE ; 04
|
||||
DB 0xFE,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0x00,0xFE,0x00 ; 05
|
||||
DB 0xFF,0xFF,0xFF,0x00,0xFE,0x00,0x00,0xFE,0xFE,0x00,0xFF,0xFF,0x00 ; 06
|
||||
DB 0x00,0xFF,0xFF,0x00,0xFE,0x00,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00 ; 07
|
||||
DB 0xFE,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF ; 08
|
||||
MOUSE_BMP_END
|
||||
|
||||
MAIN
|
||||
.hFile db 0x00
|
||||
.hMem db 0x00
|
||||
.FNMAIN db 0x00
|
||||
.FNFUNCT db 0x00 ; 00
|
||||
.FNVIEW db 0x00 ; 01
|
||||
.FNEDIT db 0x00 ; 02
|
||||
.FNHELP db 0x00 ; 03
|
||||
.FNFONT db 0x00 ; 04
|
||||
DB 0xFF
|
||||
|
||||
.copyright_str: DB "\r\nThe Flex Navigator, ver.\{FLEX_VERS.NAVIGATOR}\r\n",0
|
||||
.incor_dos_str: DZ "Incorrect DOS version, need DOS 1.00 or high.\r\n"
|
||||
.no_memory_str: DZ "Not enough memory to load program.\r\n"
|
||||
.load_err_str: DZ "Disk loading error.\r\n"
|
||||
|
||||
EXEend:
|
||||
|
||||
include fnmain.a80
|
101
fn_macros.a80
Normal file
101
fn_macros.a80
Normal file
@ -0,0 +1,101 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
|
||||
MAKEWINDOW MACRO TYPE
|
||||
CALL JUMPS.MakeWindow
|
||||
DB TYPE
|
||||
ENDM
|
||||
|
||||
; ®¯¨á â¥«ì ®ª
|
||||
W_MAIN MACRO X,Y,H,V
|
||||
DW X,Y,H,V
|
||||
ENDM
|
||||
|
||||
; ⥪á⮢ ï áâப
|
||||
W_TEXT MACRO OFFSETX,OFFSETY,COLOR,TXT
|
||||
DB WINSUBOBJ.TEXT
|
||||
DW OFFSETX,OFFSETY
|
||||
DB COLOR,TXT,0
|
||||
ENDM
|
||||
|
||||
W_ADRTEXT MACRO OFFSETX,OFFSETY,COLOR,ADRTXT
|
||||
DB WINSUBOBJ.ADRTEXT
|
||||
DW OFFSETX,OFFSETY
|
||||
DB COLOR
|
||||
DW ADRTXT
|
||||
ENDM
|
||||
|
||||
; § ¯®«¥¨¥ ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
W_FILL MACRO OFFSETX,OFFSETY,H,V,COLOR
|
||||
DB WINSUBOBJ.FILL
|
||||
DW OFFSETX,OFFSETY,H,V
|
||||
DB COLOR
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª 㣫㡫ñ®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
W_BORDER MACRO OFFSETX,OFFSETY,H,V
|
||||
DB WINSUBOBJ.BORDER
|
||||
DW OFFSETX,OFFSETY,H,V
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª ¢ë¯ãª«®© ¯àאַ㣮«ì®© ¯«®áª®áâ¨
|
||||
W_BUTTON MACRO OFFSETX,OFFSETY,H,V
|
||||
DB WINSUBOBJ.BUTTON
|
||||
DW OFFSETX,OFFSETY,H,V
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª ª®¯ª¨ á ⥪á⮬ (¯¥ç âì ⥪áâ ®áãé¥á⢫ï¥âáï á ¯®§¨æ¨© x + 4, y + 1)
|
||||
W_BUTTONTEXT MACRO OFFSETX,OFFSETY,H,V,COLOR,TXT
|
||||
DB WINSUBOBJ.BUTTONTEXT
|
||||
DW OFFSETX,OFFSETY,H,V
|
||||
DB COLOR,TXT,0
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª £®à¨§®â «ì®£® à §¤¥«¨â¥«ï
|
||||
W_HORIZLINE MACRO OFFSETX,OFFSETY,SIZE
|
||||
DB WINSUBOBJ.HORIZLINE
|
||||
DW OFFSETX,OFFSETY,SIZE
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª ¢¥à⨪ «ì®£® à §¤¥«¨â¥«ï
|
||||
W_VERTICLINE MACRO OFFSETX,OFFSETY,SIZE
|
||||
DB WINSUBOBJ.VERTICLINE
|
||||
DW OFFSETX,OFFSETY,SIZE
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª «¥¢®© ª®¯ª¨ áªà®«¡ à
|
||||
W_ICONLEFTARROW MACRO OFFSETX,OFFSETY
|
||||
DB WINSUBOBJ.ICONLEFTARROW
|
||||
DW OFFSETX,OFFSETY
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª ¯à ¢®© ª®¯ª¨ áªà®«¡ à
|
||||
W_ICONRIGHTARROW MACRO OFFSETX,OFFSETY
|
||||
DB WINSUBOBJ.ICONRIGHTARROW
|
||||
DW OFFSETX,OFFSETY
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª ¢¥à奩 ª®¯ª¨ áªà®«¡ à
|
||||
W_ICONUPARROW MACRO OFFSETX,OFFSETY
|
||||
DB WINSUBOBJ.ICONUPARROW
|
||||
DW OFFSETX,OFFSETY
|
||||
ENDM
|
||||
|
||||
; ®âà¨á®¢ª ¨¦¥© ª®¯ª¨ áªà®«¡ à
|
||||
W_ICONDOWNARROW MACRO OFFSETX,OFFSETY
|
||||
DB WINSUBOBJ.ICONDOWNARROW
|
||||
DW OFFSETX,OFFSETY
|
||||
ENDM
|
||||
|
||||
; ª®¥æ ®¯¨á â¥«ï ®ª
|
||||
W_END MACRO
|
||||
DB WINSUBOBJ.END
|
||||
ENDM
|
||||
|
||||
; ¢®ááâ ®¢¨âì ¤ ë¥ ¯®¤ ®ª®¬
|
||||
WINDOWCLOSE MACRO
|
||||
MAKEWINDOW WINSUBOBJ.RESTOREWIN
|
||||
W_END
|
||||
ENDM
|
||||
|
||||
BUILDDATE EQU "\{(DDATE / 10) + '0'}\{(DDATE # 10) + '0'}.\{MMOUNTH / 10 + '0'}\{MMOUNTH # 10 + '0'}.20\{(YYEAR / 10) + '0'}\{(YYEAR # 10) + '0'}"
|
7
fn_version.a80
Normal file
7
fn_version.a80
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
|
||||
FLEX_VERS
|
||||
.NAVIGATOR EQU "1.14"
|
||||
.EDITOR EQU "1.08"
|
||||
.VIEWER EQU "1.05"
|
596
fnbar.a80
Normal file
596
fnbar.a80
Normal file
@ -0,0 +1,596 @@
|
||||
|
||||
; LAST UPDATE: 07.03.2025 savelij
|
||||
|
||||
;[]-----------------------------------------------------------[]
|
||||
InitScrollBar LD C,(IX + BAR.PAGEL)
|
||||
LD B,(IX + BAR.PAGEH) ; Š®«-¢® í«¥¬. áâà.
|
||||
LD L,C
|
||||
LD H,B
|
||||
LD E,(IX + BAR.MAXL)
|
||||
LD D,(IX + BAR.MAXH) ; ¬ ªá.í«¥¬¥â®¢
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,.L1
|
||||
INC DE
|
||||
.L1 OR A
|
||||
SBC HL,DE
|
||||
JR C,.L2
|
||||
ADD HL,DE
|
||||
EX DE,HL
|
||||
.L2 PUSH DE
|
||||
LD E,(IX + BAR.MAXLL)
|
||||
LD D,(IX + BAR.MAXLH) ; Š®«-¢® ¢¨¤. í«¥¬. * à §¬¥à ¡ à
|
||||
CALL Mult16X16 ; DE * BC = HL + DE
|
||||
POP BC ; /¬ ªá.í«¥¬¥â®¢
|
||||
CALL Divis32X16 ; HL + DE / BC = DE (HL-®áâ)
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.L3
|
||||
INC DE
|
||||
.L3 LD HL,0x0003
|
||||
SBC HL,DE
|
||||
JR C,.L4
|
||||
LD DE,0x0003
|
||||
.L4 LD (IX + BAR.LENL),E ; = ¤«¨ ¡ à
|
||||
LD (IX + BAR.LENH),D ; = ¤«¨ ¡ à
|
||||
RET
|
||||
|
||||
PrnHScrBar PUSH IY
|
||||
GETPORT WINSP.Y_PORT
|
||||
PUSH AF
|
||||
GETPORT WINSP.CPU1
|
||||
LD IYL,A
|
||||
LD L,(IX + BAR.FIRSTL) ; FirstFile
|
||||
LD H,(IX + BAR.FIRSTH)
|
||||
LD E,(IX + BAR.PAGEL)
|
||||
LD D,(IX + BAR.PAGEH)
|
||||
LD C,(IX + BAR.MAXL) ; EquipFiles
|
||||
LD B,(IX + BAR.MAXH)
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,.L1
|
||||
INC BC
|
||||
.L1 PUSH BC
|
||||
PUSH HL
|
||||
ADD HL,DE
|
||||
SBC HL,BC
|
||||
POP HL
|
||||
JR C,.L2
|
||||
JR Z,.L2
|
||||
LD L,C
|
||||
LD H,B
|
||||
SBC HL,DE
|
||||
JR NC,.L2
|
||||
LD HL,0x0000
|
||||
.L2 EX DE,HL
|
||||
LD C,(IX + BAR.MAXLL)
|
||||
LD B,(IX + BAR.MAXLH)
|
||||
CALL Mult16X16
|
||||
POP BC
|
||||
CALL Divis32X16
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,.L3
|
||||
PUSH DE
|
||||
SRL D
|
||||
RR E
|
||||
JR NC,.L4
|
||||
INC DE
|
||||
.L4 LD L,(IX + BAR.XL)
|
||||
LD H,(IX + BAR.XH)
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
LD A,(IX + BAR.YL)
|
||||
LD C,A
|
||||
LD B,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x08
|
||||
ACCEL ACCELCMD.OFF
|
||||
.L5 LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC HL
|
||||
DEC DE
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,.L5
|
||||
LD A,IYL
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
POP DE
|
||||
.L3 PUSH DE
|
||||
LD L,(IX + BAR.XL)
|
||||
LD H,(IX + BAR.XH)
|
||||
ADD HL,DE
|
||||
LD E,(IX + BAR.LEFTL)
|
||||
LD D,(IX + BAR.LEFTH)
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,.L6
|
||||
EX DE,HL
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD (HL),E
|
||||
INC HL
|
||||
LD (HL),D
|
||||
EX DE,HL
|
||||
.L6 PUSH HL
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
LD A,(IX + BAR.YL)
|
||||
LD C,A
|
||||
LD E,(IX + BAR.LENL)
|
||||
LD D,(IX + BAR.LENH)
|
||||
LD A,D
|
||||
OR A
|
||||
JR NZ,.L7
|
||||
LD A,E
|
||||
CP 0x06
|
||||
JR NC,.L7
|
||||
LD E,0x06
|
||||
.L7 SRL D
|
||||
RR E
|
||||
JR C,.L8
|
||||
DEC DE
|
||||
.L8 DEC DE
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x06
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD B,COLORP.WHITE + COLORI.WHITE;0xFF
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),B
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),0xF7
|
||||
INC HL
|
||||
.L9 LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),B
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD A,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
|
||||
INC HL
|
||||
DEC DE
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,.L9
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),0xF7
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD A,COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),A
|
||||
INC HL
|
||||
EX DE,HL
|
||||
LD A,IYL
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
POP HL
|
||||
LD C,(IX + BAR.LENL)
|
||||
LD B,(IX + BAR.LENH)
|
||||
PUSH BC
|
||||
ADD HL,BC
|
||||
LD C,(IX+BAR.RIGHTL)
|
||||
LD B,(IX+BAR.RIGHTH)
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.L10
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD A,L
|
||||
LD (BC),A
|
||||
INC BC
|
||||
LD A,H
|
||||
LD (BC),A
|
||||
.L10 POP BC
|
||||
LD L,(IX + BAR.MAXLL)
|
||||
LD H,(IX + BAR.MAXLH)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
POP BC
|
||||
JR Z,.L11
|
||||
JR C,.L11
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR Z,.L11
|
||||
JR C,.L11
|
||||
EX DE,HL
|
||||
SRL D
|
||||
RR E
|
||||
JR Z,.L11
|
||||
LD A,(IX + BAR.YL)
|
||||
LD C,A
|
||||
LD B,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x08
|
||||
ACCEL ACCELCMD.OFF
|
||||
.L12 LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC HL
|
||||
DEC DE
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,.L12
|
||||
LD A,IYL
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
.L11 POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP IY
|
||||
RET
|
||||
|
||||
PrnVScrBar PUSH IY
|
||||
GETPORT WINSP.Y_PORT
|
||||
PUSH AF
|
||||
GETPORT WINSP.CPU1
|
||||
LD IYH,A
|
||||
LD L,(IX + BAR.FIRSTL) ; FirstFile
|
||||
LD H,(IX + BAR.FIRSTH)
|
||||
LD E,(IX + BAR.PAGEL)
|
||||
LD D,(IX + BAR.PAGEH)
|
||||
LD C,(IX + BAR.MAXL) ; EquipFiles
|
||||
LD B,(IX + BAR.MAXH)
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,.L1
|
||||
INC BC
|
||||
.L1 PUSH BC
|
||||
PUSH HL
|
||||
ADD HL,DE
|
||||
SBC HL,BC
|
||||
POP HL
|
||||
JR C,.L2
|
||||
JR Z,.L2
|
||||
LD L,C
|
||||
LD H,B
|
||||
SBC HL,DE
|
||||
JR NC,.L2
|
||||
LD HL,0x0000
|
||||
.L2 EX DE,HL
|
||||
LD C,(IX + BAR.MAXLL)
|
||||
LD B,(IX + BAR.MAXLH)
|
||||
CALL Mult16X16
|
||||
POP BC
|
||||
CALL Divis32X16
|
||||
LD A,(IX + BAR.YL)
|
||||
LD IYL,A
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,.L3
|
||||
PUSH DE
|
||||
LD A,E
|
||||
LD (.L4),A
|
||||
LD L,(IX + BAR.XL)
|
||||
LD H,(IX + BAR.XH)
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
LD D,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
.L4 EQU $-1
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD B,0x08
|
||||
.L5 LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),D
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC HL
|
||||
DJNZ .L5
|
||||
LD A,IYL
|
||||
ADD A,E
|
||||
LD IYL,A
|
||||
LD A,IYH
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
POP DE
|
||||
.L3 PUSH DE
|
||||
LD L,(IX + BAR.YL)
|
||||
LD H,(IX + BAR.YH)
|
||||
ADD HL,DE
|
||||
LD E,(IX + BAR.LEFTL)
|
||||
LD D,(IX + BAR.LEFTH)
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,.L6
|
||||
EX DE,HL
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD (HL),E
|
||||
INC HL
|
||||
LD (HL),D
|
||||
EX DE,HL
|
||||
.L6 PUSH HL
|
||||
LD L,(IX + BAR.XL)
|
||||
LD H,(IX + BAR.XH)
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
LD A,(IX + BAR.LENL)
|
||||
LD C,A
|
||||
SUB 0x02
|
||||
LD (.L7),A
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
.L7 EQU $-1
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD DE,(COLORP.WHITE + COLORI.WHITE) << 8 + COLORP.HIGHGRAY + COLORI.HIGHGRAY;0xFF88
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),D
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),D
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),COLORP.WHITE + COLORI.BLACKGRAY;0xF7
|
||||
INC HL
|
||||
LD B,0x06
|
||||
.L8 LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),D
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),E
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
|
||||
INC HL
|
||||
DJNZ .L8
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),COLORP.WHITE + COLORI.BLACKGRAY;0xF7
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD A,COLORP.BLACKGRAY + COLORI.BLACKGRAY;0x77
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD A,IYL
|
||||
ADD A,C
|
||||
LD IYL,A
|
||||
LD A,IYH
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
POP HL
|
||||
LD C,(IX + BAR.LENL)
|
||||
LD B,(IX + BAR.LENH)
|
||||
PUSH BC
|
||||
ADD HL,BC
|
||||
LD C,(IX + BAR.RIGHTL)
|
||||
LD B,(IX + BAR.RIGHTH)
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.L9
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD A,L
|
||||
LD (BC),A
|
||||
INC BC
|
||||
LD A,H
|
||||
LD (BC),A
|
||||
.L9 POP BC
|
||||
LD L,(IX + BAR.MAXLL)
|
||||
LD H,(IX + BAR.MAXLH)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
POP BC
|
||||
JR Z,.L10
|
||||
JR C,.L10
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR Z,.L10
|
||||
JR C,.L10
|
||||
LD A,L
|
||||
LD (.L11),A
|
||||
LD L,(IX+BAR.XL)
|
||||
LD H,(IX+BAR.XH)
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
LD D,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
.L11 EQU $-1
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD B,0x08
|
||||
.L12 LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),D
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC HL
|
||||
DJNZ .L12
|
||||
LD A,IYH
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
.L10 POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP IY
|
||||
RET
|
||||
|
||||
;[]-----------------------------------------------------------[]
|
||||
InitProcess SUB A
|
||||
LD (IX + PROC.CURL1),A
|
||||
LD (IX + PROC.CURH1),A
|
||||
LD (IX + PROC.CURL2),A
|
||||
LD (IX + PROC.CURH2),A
|
||||
LD (IX + PROC.CORRL),A
|
||||
LD (IX + PROC.CORRH),A
|
||||
LD C,(IX + PROC.MAXLL) ; Œ ªá/¬ ªá.¤«¨ã ¯à®æ¥á
|
||||
LD B,(IX + PROC.MAXLH)
|
||||
LD E,(IX + PROC.MAXL1)
|
||||
LD D,(IX + PROC.MAXH1)
|
||||
LD L,(IX + PROC.MAXL2)
|
||||
LD H,(IX + PROC.MAXH2)
|
||||
CALL Divis32X16 ; HL + DE / BC = DE (HL-®áâ)
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.L2
|
||||
INC DE ; = ª®íä䍿¨¥â
|
||||
.L2 LD HL,9
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR C,.L1
|
||||
LD A,(IX + PROC.MAXL2)
|
||||
OR (IX + PROC.MAXH2)
|
||||
JR NZ,.L1
|
||||
LD E,(IX + PROC.MAXL1)
|
||||
LD D,(IX + PROC.MAXH1)
|
||||
LD BC,1000
|
||||
LD (IX + PROC.CORRL),C
|
||||
LD (IX + PROC.CORRH),B
|
||||
CALL Mult16X16
|
||||
LD C,(IX + PROC.MAXLL) ; Œ ªá/¬ ªá.¤«¨ã ¯à®æ¥á
|
||||
LD B,(IX + PROC.MAXLH)
|
||||
CALL Divis32X16 ; HL + DE / BC = DE (HL-®áâ)
|
||||
.L1 LD (IX + PROC.COEFL),E
|
||||
LD (IX + PROC.COEFH),D
|
||||
RET
|
||||
|
||||
PrnProcess PUSH IY
|
||||
GETPORT WINSP.Y_PORT
|
||||
PUSH AF
|
||||
GETPORT WINSP.CPU1
|
||||
LD IYL,A
|
||||
LD E,(IX + PROC.CURL1)
|
||||
LD D,(IX + PROC.CURH1)
|
||||
LD L,(IX + PROC.CURL2)
|
||||
LD H,(IX + PROC.CURH2)
|
||||
LD A,(IX + PROC.CORRL)
|
||||
OR (IX + PROC.CORRH)
|
||||
JR Z,.L1
|
||||
LD C,(IX + PROC.CORRL)
|
||||
LD B,(IX + PROC.CORRH)
|
||||
CALL Mult16X16
|
||||
.L1 LD C,(IX + PROC.COEFL)
|
||||
LD B,(IX + PROC.COEFH)
|
||||
CALL Divis32X16
|
||||
LD L,(IX + PROC.XL)
|
||||
LD H,(IX + PROC.XH)
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,.L2
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD L,(IX + PROC.MAXLL)
|
||||
LD H,(IX + PROC.MAXLH)
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR NC,.L3
|
||||
ADD HL,DE
|
||||
EX DE,HL
|
||||
.L3 POP HL
|
||||
SRL D
|
||||
RR E
|
||||
JR NC,.L4
|
||||
INC DE
|
||||
.L4 LD A,(IX + PROC.YL)
|
||||
LD C,A
|
||||
LD A,(IX + PROC.COLOR)
|
||||
AND 0xF0
|
||||
LD B,A
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
OR B
|
||||
LD B,A
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x0A
|
||||
ACCEL ACCELCMD.OFF
|
||||
.L5 LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC HL
|
||||
DEC DE
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,.L5
|
||||
LD A,IYL
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
POP DE
|
||||
.L2 PUSH HL
|
||||
LD L,(IX + PROC.MAXLL)
|
||||
LD H,(IX + PROC.MAXLH)
|
||||
OR A
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
POP HL
|
||||
JR Z,.L6
|
||||
JR C,.L6
|
||||
SRL D
|
||||
RR E
|
||||
JR NC,.L7
|
||||
INC DE
|
||||
.L7 LD A,(IX + PROC.YL)
|
||||
LD C,A
|
||||
LD A,(IX + PROC.COLOR)
|
||||
AND 0x0F
|
||||
LD B,A
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
OR B
|
||||
LD B,A
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x0A
|
||||
ACCEL ACCELCMD.OFF
|
||||
.L8 LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC HL
|
||||
DEC DE
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,.L8
|
||||
LD A,IYL
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
.L6 POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP IY
|
||||
RET
|
313
fndos.a80
Normal file
313
fndos.a80
Normal file
@ -0,0 +1,313 @@
|
||||
|
||||
; LAST UPDATE: 27.04.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
BegDIRECTORY LD HL,BegDIR
|
||||
NewDIRECTORY PUSH HL
|
||||
CALL ResInvert
|
||||
POP HL
|
||||
CALL SetClock
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
CALL C,DOSError
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDISK
|
||||
POP IY
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
ADD A,'A'
|
||||
CP (HL)
|
||||
PUSH AF
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDIR
|
||||
POP IY
|
||||
POP AF
|
||||
JR Z,NewDIRECT1
|
||||
LD A,(TreeFlag)
|
||||
OR A
|
||||
JP Z,InitPanel
|
||||
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
JP NZ,InitPanel
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD HL,LeftPanel + PANEL.CURRPATH
|
||||
LD DE,RightPanel + PANEL.CURRPATH
|
||||
JR Z,NewDIR0
|
||||
LD HL,RightPanel + PANEL.CURRPATH
|
||||
LD DE,LeftPanel + PANEL.CURRPATH
|
||||
NewDIR0 SUB A
|
||||
.L1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
LD (DE),A
|
||||
JP InitPanels
|
||||
|
||||
NewDIRECT1 BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
PUSH AF
|
||||
CALL NZ,NewDIRTree
|
||||
POP AF
|
||||
CALL Z,ReadDIR
|
||||
CALL PrintPath
|
||||
BIT PANELFLAG.B_PRNDOSPATH,(IY + PANEL.PANELFLAG)
|
||||
CALL NZ,PrintDOSPath
|
||||
CALL PrintDIR
|
||||
CALL SetInvert
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
POP IX
|
||||
LD DE,PANEL.BARXL
|
||||
ADD IX,DE
|
||||
CALL InitScrollBar
|
||||
LD A,(IY + PANEL.VIEWFLAG)
|
||||
AND VIEWFLAG.MASK
|
||||
PUSH AF
|
||||
CALL Z,PrnHScrBar
|
||||
POP AF
|
||||
CALL NZ,PrnVScrBar
|
||||
JP SetMouse
|
||||
|
||||
NewDIRTree PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL RESIDENT.FindTreeDIR
|
||||
CALL RESIDENT.MakeTreePath
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
CALL MakeTreePathR
|
||||
ENDIF
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD IY,RightPanel
|
||||
JR Z,.L1
|
||||
LD IY,LeftPanel
|
||||
.L1 CALL NewDIRECTORY
|
||||
POP IY
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
RefreshDIR BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
JR NZ,RfDIRn1
|
||||
CALL ReadDIR
|
||||
CALL PrintDIR
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
POP IX
|
||||
LD DE,PANEL.BARXL
|
||||
ADD IX,DE
|
||||
CALL InitScrollBar
|
||||
LD A,(IY + PANEL.VIEWFLAG)
|
||||
AND VIEWFLAG.MASK
|
||||
PUSH AF
|
||||
CALL Z,PrnHScrBar
|
||||
POP AF
|
||||
CALL NZ,PrnVScrBar
|
||||
RfDIRn1 LD HL,LeftPanel + PANEL.CURRPATH
|
||||
LD DE,RightPanel + PANEL.CURRPATH
|
||||
RefrDIR LD A,(DE)
|
||||
CP (HL)
|
||||
RET NZ
|
||||
INC HL
|
||||
INC DE
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,RefrDIR
|
||||
LD A,(DE)
|
||||
OR A
|
||||
RET NZ
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD IY,RightPanel
|
||||
JR Z,.L1
|
||||
LD IY,LeftPanel
|
||||
.L1 BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
JR NZ,RefrDex
|
||||
CALL ReadDIR
|
||||
CALL PrintDIR
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
POP IX
|
||||
LD DE,PANEL.BARXL
|
||||
ADD IX,DE
|
||||
CALL InitScrollBar
|
||||
LD A,(IY + PANEL.VIEWFLAG)
|
||||
AND VIEWFLAG.MASK
|
||||
PUSH AF
|
||||
CALL Z,PrnHScrBar
|
||||
POP AF
|
||||
CALL NZ,PrnVScrBar
|
||||
RefrDex POP IY
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
FindPrevFile LD A,(IY + PANEL.EFL)
|
||||
OR (IY + PANEL.EFH)
|
||||
RET Z
|
||||
BIT PANELFLAG.B_PRNDOSPATH,(IY + PANEL.PANELFLAG)
|
||||
RET Z
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD IX,0x4000
|
||||
LD HL,0x4001
|
||||
LD BC,0x0000
|
||||
FndPrFile0 PUSH HL
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
JR NZ,FndPrFileNxt
|
||||
LD DE,WorkBuffer
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
CALL MakeDOSname
|
||||
POP BC
|
||||
POP HL
|
||||
LD DE,PrevFile
|
||||
FndPrFile1 LD A,(DE)
|
||||
OR A
|
||||
JR Z,FndPrFileE
|
||||
CP (HL)
|
||||
JR NZ,FndPrFileNxt
|
||||
INC HL
|
||||
INC DE
|
||||
JR FndPrFile1
|
||||
|
||||
FndPrFileNxt POP HL
|
||||
LD DE,FileHDR.SIZE
|
||||
ADD HL,DE
|
||||
ADD IX,DE
|
||||
INC BC
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,FndPrFile0
|
||||
JP FndTreeExt
|
||||
|
||||
FndPrFileE LD A,(HL)
|
||||
OR A
|
||||
JR NZ,FndPrFileNxt
|
||||
JR FndTree
|
||||
|
||||
PrevFile DB 13 DUP 0
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
FindPrevDIR LD A,(IY + PANEL.EFL)
|
||||
OR (IY + PANEL.EFH)
|
||||
RET Z
|
||||
BIT PANELFLAG.B_PRNDOSPATH,(IY + PANEL.PANELFLAG)
|
||||
RET Z
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD IX,0x4000
|
||||
LD HL,0x4001
|
||||
LD BC,0x0000
|
||||
FndPrDIR0 PUSH HL
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
JR Z,FndPrDIRnxt
|
||||
LD DE,WorkBuffer
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
CALL MakeDOSname
|
||||
POP BC
|
||||
POP HL
|
||||
LD DE,PrevDIR
|
||||
FndPrDIR1 LD A,(DE)
|
||||
OR A
|
||||
JR Z,FndPrDIRe
|
||||
CP (HL)
|
||||
JR NZ,FndPrDIRnxt
|
||||
INC HL
|
||||
INC DE
|
||||
JR FndPrDIR1
|
||||
|
||||
FndPrDIRnxt POP HL
|
||||
LD DE,FileHDR.SIZE
|
||||
ADD HL,DE
|
||||
ADD IX,DE
|
||||
INC BC
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,FndPrDIR0
|
||||
JR FndTreeExt
|
||||
|
||||
FndPrDIRe LD A,(HL)
|
||||
OR A
|
||||
JR NZ,FndPrDIRnxt
|
||||
FndTree INC SP
|
||||
INC SP
|
||||
LD L,C
|
||||
LD H,B
|
||||
LD C,(IY + PANEL.FPL)
|
||||
LD B,(IY + PANEL.FPH)
|
||||
LD DE,0x0000
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
.L1 EX DE,HL
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR NC,.L1
|
||||
ADD HL,BC
|
||||
LD (IY + PANEL.CFL),L
|
||||
LD (IY + PANEL.CFH),H
|
||||
LD (IY + PANEL.FFL),E
|
||||
LD (IY + PANEL.FFH),D
|
||||
FndTreeExt POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
PrevDIR DB 13 DUP 0
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
MakeDOSname LD BC,0x0820
|
||||
.L1 LD A,(HL)
|
||||
CP C
|
||||
JR Z,.L2
|
||||
INC HL
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ .L1
|
||||
JR .L5
|
||||
|
||||
.L2
|
||||
; LD A,B
|
||||
; OR A
|
||||
; JR Z,.L5
|
||||
INC HL
|
||||
DJNZ .L2
|
||||
.L5 LD B,0x03
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
CP C
|
||||
JR Z,.L4
|
||||
LD A,'.'
|
||||
LD (DE),A
|
||||
INC DE
|
||||
.L3 LD A,(HL)
|
||||
INC HL
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ .L3
|
||||
.L4 SUB A
|
||||
LD (DE),A
|
||||
RET
|
710
fndosline.a80
Normal file
710
fndosline.a80
Normal file
@ -0,0 +1,710 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
DOSline SUB A
|
||||
LD (HistCurrent),A
|
||||
SPDSS DSSF.TESTKEY
|
||||
BIT KEYBSTAT.B_ALT,B
|
||||
JR Z,DOSln0
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP SC.1 ; 0x02
|
||||
JR C,DOSlnEx
|
||||
CP SC.BKSP ; 0x0E
|
||||
JP C,RESIDENT.QSearch
|
||||
CP SC.Q ; 0x10
|
||||
JR C,DOSlnEx
|
||||
CP SC.QSKOBKAL ; 0x1A
|
||||
JP C,RESIDENT.QSearch
|
||||
CP SC.A ; 0x1D
|
||||
JR C,DOSlnEx
|
||||
CP SC.DOTZAP ; 0x26
|
||||
JP C,RESIDENT.QSearch
|
||||
CP SC.Z ; 0x2A
|
||||
JR C,DOSlnEx
|
||||
CP SC.ZAP ; 0x31
|
||||
JP C,RESIDENT.QSearch
|
||||
JR DOSlnEx
|
||||
|
||||
DOSln0 LD A,E
|
||||
CP 0x0D
|
||||
JP Z,RunDOSline
|
||||
CP 0x1B
|
||||
JP Z,ClrDOSln1
|
||||
CP '!' ; 0x21
|
||||
JR NC,DOSloop
|
||||
CP ' ' ; 0x20
|
||||
JR NZ,DOSln1
|
||||
LD A,(DOSstr.slen)
|
||||
OR A
|
||||
JR NZ,DOSloop
|
||||
; ¯®¬¥âª ä ©« ¯® SPACE
|
||||
SPDSS DSSF.SCANKEY
|
||||
JP RESIDENT.MarkFile
|
||||
|
||||
DOSln1 LD A,D
|
||||
CP SC.ENTER | SC.RUS ; 0xA8
|
||||
JR Z,DOSloop
|
||||
CP SC.QSKOBKAL | SC.RUS ; 0x9A
|
||||
JR Z,DOSloop
|
||||
CP SC.QSKOBKAR | SC.RUS ; 0x9B
|
||||
JR Z,DOSloop
|
||||
CP SC.E | SC.RUS ; 0x92
|
||||
JR Z,DOSloop
|
||||
DOSlnEx
|
||||
SPDSS DSSF.SCANKEY
|
||||
RET
|
||||
|
||||
DOSloop SUB A
|
||||
LD (HistCurrent),A
|
||||
LD IX,DOSstr
|
||||
LD HL,DOSTab
|
||||
CALL DOSInputLine
|
||||
RET C
|
||||
JR Z,RunDOSline
|
||||
SPDSS DSSF.TESTKEY
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
RET NZ
|
||||
LD A,(DOSstr.slen)
|
||||
OR A
|
||||
RET Z
|
||||
CALL ClearDOSline
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR DOSloop
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ClrDOSln1
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD A,(DOSstr.slen)
|
||||
OR A
|
||||
JP Z,ShowDOSscreen
|
||||
ClearDOSline SUB A
|
||||
LD (HistCurrent),A
|
||||
LD A,(DOSstr.slen)
|
||||
OR A
|
||||
RET Z
|
||||
LD HL,DOSinp
|
||||
SUB A
|
||||
LD B,0x80
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L1
|
||||
LD (DOSstr.slen),A
|
||||
LD (DOSstr.posX),A
|
||||
LD (DOSstr.addX),A
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_FILL 254,229,380,10,COLORI.PANEL
|
||||
W_END
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
RunDOSline
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD A,(DOSstr.slen)
|
||||
OR A
|
||||
JP Z,OpenFile
|
||||
CALL SaveDOSline
|
||||
LD HL,DOSinp
|
||||
LD A,(HL)
|
||||
CP 0x20
|
||||
JP Z,ClearDOSline
|
||||
LD A,(DOSstr.slen)
|
||||
LD B,A
|
||||
LD C,0x00
|
||||
LD A,0x20
|
||||
RunDLn0 CP (HL)
|
||||
JR Z,RunDLine
|
||||
INC HL
|
||||
INC C
|
||||
DJNZ RunDLn0
|
||||
RunDLine DEC HL
|
||||
LD A,'\\'
|
||||
CP (HL)
|
||||
JP NZ,RunDOSexe
|
||||
LD HL,DOSinp
|
||||
LD DE,WorkBuffer
|
||||
PUSH DE
|
||||
LD B,0x00
|
||||
LDIR
|
||||
SUB A
|
||||
LD (DE),A
|
||||
CALL ClearDOSline
|
||||
POP HL
|
||||
LD A,(DOSinp + 1)
|
||||
CP ':'
|
||||
JR NZ,.L1
|
||||
LD (IY + PANEL.CURRPATH),0x00
|
||||
.L1 CALL NewDIRECTORY
|
||||
LD A,(TreeFlag)
|
||||
OR A
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD IY,LeftPanel
|
||||
LD HL,RightPanel
|
||||
JR NZ,.L2
|
||||
LD IY,RightPanel
|
||||
LD HL,LeftPanel
|
||||
.L2 LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
IF TREE_REZID
|
||||
CALL RESIDENT.FindTreeDIR
|
||||
ELSE
|
||||
CALL FindTreeDIRR
|
||||
ENDIF
|
||||
CALL PrintDIR
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
POP IX
|
||||
LD DE,PANEL.BARXL
|
||||
ADD IX,DE
|
||||
CALL PrnVScrBar
|
||||
POP IY
|
||||
RET
|
||||
|
||||
RunDOSexe LD HL,DOSinp - 1
|
||||
RunDE1 INC HL
|
||||
LD A,(HL)
|
||||
CP '!'
|
||||
JR C,RunDOSexe1
|
||||
CP '.'
|
||||
JR NZ,RunDE1
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
RES 5,A
|
||||
CP 'F'
|
||||
JR NZ,RunDOSexe1
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
RES 5,A
|
||||
CP 'L'
|
||||
JR NZ,RunDOSexe1
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
RES 5,A
|
||||
CP 'X'
|
||||
JR NZ,RunDOSexe1
|
||||
LD HL,DOSinp
|
||||
LD DE,WorkBuffer
|
||||
SUB A
|
||||
.L1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
LD (DE),A
|
||||
CALL ClearDOSline
|
||||
CALL RunFLX
|
||||
JP C,DOSError
|
||||
RET
|
||||
|
||||
RunDOSexe1 ld hl,WorkBuffer
|
||||
ld de,WorkBuffer + 1
|
||||
ld bc,0x0100
|
||||
ld (hl),0
|
||||
ldir
|
||||
LD DE,WorkBuffer
|
||||
call GetFileName
|
||||
jp c,.error
|
||||
ld hl,DOSinp
|
||||
call SkipWord
|
||||
ld a,(hl)
|
||||
and a
|
||||
jr z,.endOfLine
|
||||
dec hl
|
||||
ld de,WorkBuffer
|
||||
call ConcatString
|
||||
.endOfLine: ld hl,WorkBuffer
|
||||
ld de,WorkBuffer + 0x0100
|
||||
SPDSS DSSF.EX_PATH,4
|
||||
jr c,.error
|
||||
and 2
|
||||
jr z,.unknown
|
||||
ld hl,(WorkBuffer + 0x0100)
|
||||
ld de,'XE' ;0x5845 - 'EX'
|
||||
sbc hl,de
|
||||
jr nz,.noExe
|
||||
ld a,(WorkBuffer + 0x0102)
|
||||
cp 'E'
|
||||
jr nz,.noExe
|
||||
;!TODO ¬¥áâ® ¤«ï ᯥæ¨ä¨ç®£® § ¯ã᪠exe?
|
||||
; ... ... ...
|
||||
;
|
||||
.unknown: ld hl,WorkBuffer
|
||||
ld de,WorkBuffer + 0x0100
|
||||
ld bc,0x0100
|
||||
ldir
|
||||
jr .noBatch
|
||||
|
||||
.noExe: ld hl,ShellFile ;ª®¯¨à㥬 ¯ãâì ª 襫«ã
|
||||
ld de,WorkBuffer + 0x0100
|
||||
call CopyString
|
||||
ld hl,WorkBuffer
|
||||
call ConcatString
|
||||
.noBatch: CALL ResDrivers
|
||||
SUB A
|
||||
CALL ClearScreen
|
||||
CALL ResVideoMode
|
||||
LD HL,ReStartPoint
|
||||
EX (SP),HL
|
||||
LD HL,WorkBuffer + 0x0100
|
||||
SPDSS DSSF.EXEC,0
|
||||
RET NC
|
||||
PUSH AF
|
||||
SETPORT BORDER,0
|
||||
CALL InitVideoMode
|
||||
CALL InitDrivers
|
||||
CALL InitScreen
|
||||
CALL ClearDOSline
|
||||
SUB A
|
||||
CALL InitPanels
|
||||
POP AF
|
||||
.error: CALL DOSError
|
||||
LD HL,MainLoop
|
||||
EX (SP),HL
|
||||
RET
|
||||
|
||||
; ¢áâ ¢ª ¨§ ¡ãä¥à ¢¢®¤ ª®¬.áâப¨ ¨¬¥¨ ¨á¯®«ï¥¬®£® ä ©«
|
||||
; ¥á«¨ 㪠§ ¡á®«îâë© ¯ãâì ª ä ©«ã á ¨¬¥¥¬ ¤¨áª , â® ® ª®¯¨àã¥âáï æ¥«¨ª®¬
|
||||
; ¥á«¨ ¯à®áâ® ¨¬ï ä ©« , â® ¯à®¨§¢®¤¨âáï ¯®¯ë⪠¯®¨áª ä ©« ¢
|
||||
; ª â «®£¥ ⥪ã饩 ¯ ¥«¨ ¨ ¯®¤áâ ¢«ï¥âáï ¥£® ¡á®«îâë© ¯ãâì, ¥á«¨ ¥â, â® ¯à®áâ® ¨¬ï ä ©«
|
||||
; DE - ¡ãä¥à ¤«ï ¨¬¥¨ ä ©«
|
||||
GetFileName: LD A,(DOSinp + 1) ; ¢ ª®¬.áâப¥ 㪠§ ¡á®«îâë© ¯ãâì ª ä ©«ã (á ¤¨áª®¬)
|
||||
CP ':'
|
||||
JR nz,.panelSearch
|
||||
.notFound: ld hl,DOSinp ;ª®¯¨à㥬 ¡ãä¥à ª®¬.áâப¨ ¢ ¡ãä¥à
|
||||
jp CopyWord
|
||||
|
||||
.panelSearch: ex hl,de
|
||||
ld (.str),hl
|
||||
bit PANELFLAG.B_SIDE,(iy + PANEL.PANELFLAG)
|
||||
ld hl,RightPanel + PANEL.CURRPATH
|
||||
jr nz,.next
|
||||
ld hl,LeftPanel + PANEL.CURRPATH
|
||||
.next: ld de,WorkBuffer + 0x0100
|
||||
call CopyString
|
||||
ld a,'\\'
|
||||
ld (de),a
|
||||
inc de
|
||||
; ‚뤥«¨âì ¨¬ï ä ©« ¨§ áâப¨
|
||||
ld hl,DOSinp ; ®âªã¤
|
||||
SPDSS DSSF.EX_PATH,3
|
||||
ret c ; ¨¬ï ä ©« ¥ ©¤¥®
|
||||
bit 1,a
|
||||
jr z,.noExt ; ¨¬ï ¨á¯®«ï¥¬®£® ä ©« 㪠§ ® á à áè¨à¥¨¥¬, ¨áª âì ¥ 㦮
|
||||
ld hl,EndOfString
|
||||
jr .found1
|
||||
|
||||
.noExt: ld hl,BATExtension
|
||||
call PrepareFilename
|
||||
call SearchFilename
|
||||
jr nc,.found
|
||||
ld hl,EXEExtension
|
||||
.found1: call PrepareFilename
|
||||
call SearchFilename
|
||||
.found: ld de,0
|
||||
.str EQU $-2
|
||||
jr c,.notFound
|
||||
ld hl,WorkBuffer + 0200h
|
||||
jp CopyString
|
||||
|
||||
;<3B>®¤£®â®¢ª ¨¬¥¨ ä ©« ¤«ï ¯®¨áª
|
||||
PrepareFilename:
|
||||
ld de,WorkBuffer + 0200h
|
||||
push hl
|
||||
ld hl,WorkBuffer + 0x0100
|
||||
call CopyString
|
||||
pop hl
|
||||
jp ConcatString
|
||||
|
||||
;¯®¨áª ä ©«
|
||||
SearchFilename: ld hl,WorkBuffer + 0200h ;¯®¨áª ä ©« ¢ ª â «®£¥ ⥪ã饩 ¯ ¥«¨
|
||||
ld de,WorkBuffer + 0300h
|
||||
SPDSS DSSF.F_FIRST,1,DIR.M_Archive + DIR.M_ReadOnly
|
||||
ret
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
SaveDOSline
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNHELP)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD IX,DOSstr
|
||||
LD HL,(HistSpace)
|
||||
LD C,(IX + DOSstr.slen - DOSstr)
|
||||
LD B,0x00
|
||||
.L4 OR A
|
||||
SBC HL,BC
|
||||
JR C,.L1
|
||||
JR NZ,.L3
|
||||
.L1 LD A,(HistCount)
|
||||
DEC A
|
||||
LD (HistCount),A
|
||||
PUSH BC
|
||||
CALL FindHistory
|
||||
POP BC
|
||||
LD DE,DOShistory + DOShistory_Size
|
||||
OR A
|
||||
EX DE,HL
|
||||
SBC HL,DE
|
||||
JR .L4
|
||||
|
||||
.L3 DEC HL
|
||||
LD (HistSpace),HL
|
||||
PUSH BC
|
||||
LD A,(HistCount)
|
||||
CALL FindHistory
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,BC
|
||||
INC HL
|
||||
EX DE,HL
|
||||
PUSH HL
|
||||
LD BC,DOShistory
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD C,L
|
||||
LD B,H
|
||||
POP HL
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,.L2
|
||||
DEC HL
|
||||
DEC DE
|
||||
LDDR
|
||||
.L2 POP BC
|
||||
LD HL,DOSinp
|
||||
LD DE,DOShistory
|
||||
LD A,C
|
||||
INC A
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LDIR
|
||||
SUB A
|
||||
LD (HistCurrent),A
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,HistCount
|
||||
INC (HL)
|
||||
RET
|
||||
|
||||
GetDOShistory LD IX,DOSstr
|
||||
LD HL,HistCount
|
||||
LD A,(HistCurrent)
|
||||
INC (HL)
|
||||
DEC (HL)
|
||||
JP Z,ClearDOSline
|
||||
CP (HL)
|
||||
RET Z
|
||||
EX AF,AF'
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNHELP)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EX AF,AF'
|
||||
PUSH AF
|
||||
CALL FindHistory
|
||||
LD DE,DOSinp
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
DEC A
|
||||
LD (IX + DOSstr.slen - DOSstr),A
|
||||
LD (IX + DOSstr.posX - DOSstr),A
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
LDIR
|
||||
SUB A
|
||||
LD (IX + DOSstr.addX - DOSstr),A
|
||||
POP AF
|
||||
INC A
|
||||
LD (HistCurrent),A
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
FindHistory LD HL,DOShistory
|
||||
OR A
|
||||
RET Z
|
||||
LD B,A
|
||||
LD D,0x00
|
||||
.L1 LD E,(HL)
|
||||
ADD HL,DE
|
||||
DJNZ .L1
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
DOSInputLine LD (InpLnData),IX
|
||||
LD (InputLine.InpMous),HL
|
||||
RES 7,(IX + 0x01)
|
||||
SET 6,(IX + 0x01)
|
||||
SPDSS DSSF.TESTKEY
|
||||
JR NZ,.L1
|
||||
RES 6,(IX + 0x01)
|
||||
.L1 CALL InsInpLnCol
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX + 0x04)
|
||||
ADD HL,DE
|
||||
LD (HL),D
|
||||
CALL PrintInpLn + 3
|
||||
DOSLineLp HALT
|
||||
CALL ChCursor
|
||||
LD IX,(InputLine.InpMous)
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.TESTKEY
|
||||
JR Z,DOSLineLp
|
||||
RES 7,D
|
||||
BIT KEYBSTAT.B_ALT,B
|
||||
JR NZ,DOSLineLp1;DOSLineLp ; ¢ë室, §¤¥áì ¥â ª®¬¡¨ 権 á ALT
|
||||
LD IX,DOSTable2 ; ª®¬¡¨ æ¨ï á CTRL
|
||||
BIT KEYBSTAT.B_CTRL,B
|
||||
JR NZ,DOSKeys
|
||||
LD IX,DOSTable1 ; ¢¢®¤ ¡¥§ ¬®¤¨ä¨ª â®à®¢
|
||||
DOSKeys LD L,(IX + 0x00) ; ASCII code
|
||||
INC IX
|
||||
INC L
|
||||
JR Z,DOSLineLp1
|
||||
DEC L
|
||||
LD H,(IX + 0x00) ; position code
|
||||
INC IX
|
||||
LD C,(IX + 0x00) ; adr LOW
|
||||
INC IX
|
||||
LD B,(IX + 0x00) ; adr HIGH
|
||||
INC IX
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR NZ,DOSKeys
|
||||
LD IX,(InpLnData)
|
||||
RES 6,(IX + 0x01)
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR NZ,DOSLnNx
|
||||
CALL ResCursor
|
||||
LD A,0x01
|
||||
OR A
|
||||
RET
|
||||
|
||||
DOSLnNx LD HL,DOSLineLp
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
PUSH IX
|
||||
SPDSS DSSF.SCANKEY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
DOSLineLp1 LD IX,(InpLnData)
|
||||
LD A,E
|
||||
CP 0x20
|
||||
JR NC,DOSLineLp2
|
||||
BIT 6,(IX + 0x01)
|
||||
JR Z,DOSLnE0
|
||||
PUSH IX
|
||||
SPDSS DSSF.SCANKEY
|
||||
POP IX
|
||||
DOSLnE0 CALL ResCursor
|
||||
LD A,0x01
|
||||
OR A
|
||||
RET
|
||||
|
||||
DOSLineLp2 RES 6,(IX + 0x01)
|
||||
LD HL,DOSLineLp
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
SPDSS DSSF.SCANKEY
|
||||
POP IX
|
||||
LD A,E
|
||||
JP InsertSymbol
|
||||
|
||||
DOSLnExtN POP HL
|
||||
LD IX,(InpLnData)
|
||||
CALL ResCursor
|
||||
XOR A
|
||||
RET
|
||||
|
||||
DOSLnExtC POP HL
|
||||
LD IX,(InpLnData)
|
||||
CALL ResCursor
|
||||
SCF
|
||||
RET
|
||||
|
||||
DOSTable1 DW SC.ESC << 8 | 0x1B, InputLine.InpLnExtC ; 0x011B,InpLnExtC
|
||||
DW SC.ENTER << 8 | 0x0D,InputLine.InpLnExtN ; 0x280D,InpLnExtN
|
||||
DW SC.X4 << 8, ILleft ; 0x5400,ILleft
|
||||
DW SC.X6 << 8, ILright ; 0x5600,ILright
|
||||
DW SC.BKSP << 8 | 8, ILdelet ; 0x0E08,ILdelet
|
||||
DW SC.XDEL << 8, IL_del_ ; 0x4F00,IL_del_
|
||||
DW SC.X7 << 8, ILhome ; 0x5700,ILhome
|
||||
DW SC.X1 << 8, ILend ; 0x5100,ILend
|
||||
DB 0xFF
|
||||
|
||||
DOSTable2 DW SC.X4 << 8, ILwordL ; 0x5400,ILwordL
|
||||
DW SC.X6 << 8, ILwordR ; 0x5600,ILwordR
|
||||
DW SC.BKSP << 8, ILdelWR ; 0x0E00,ILdelWR
|
||||
DW SC.ENTER << 8, InsFileName ; 0x2800,InsFileName
|
||||
DW SC.QSKOBKAL << 8, InsLeftPath ; 0x1A00,InsLeftPath
|
||||
DW SC.QSKOBKAR << 8, InsRightPath ; 0x1B00,InsRightPath
|
||||
DW SC.E << 8, InsHistory ; 0x1200,InsHistory
|
||||
DB 0xFF
|
||||
|
||||
InsFileName
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD L,(IY + PANEL.FFL)
|
||||
LD H,(IY + PANEL.FFH)
|
||||
LD E,(IY + PANEL.CFL)
|
||||
LD D,(IY + PANEL.CFH)
|
||||
ADD HL,DE
|
||||
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
|
||||
JR Z,InsFN1
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
SET 6,H
|
||||
INC HL
|
||||
INC HL
|
||||
LD DE,TempName
|
||||
LD BC,0x000D
|
||||
LDIR
|
||||
JR InsFN2
|
||||
|
||||
InsFN1 ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
SET 6,H
|
||||
INC HL
|
||||
LD DE,TempName
|
||||
CALL MakeDOSname
|
||||
InsFN2 POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,TempName
|
||||
LD A,(HL)
|
||||
CP '.'
|
||||
RET Z
|
||||
CP '\\'
|
||||
RET Z
|
||||
PUSH HL
|
||||
SUB A
|
||||
LD C,A
|
||||
.L1 INC C
|
||||
INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
LD (HL),0x20
|
||||
INC HL
|
||||
LD (HL),A
|
||||
INC C
|
||||
POP HL
|
||||
JP InsertWord
|
||||
|
||||
TempName DB 14 DUP 0
|
||||
|
||||
InsLeftPath LD HL,LeftPanel + PANEL.CURRPATH
|
||||
JR InsPath
|
||||
|
||||
InsRightPath LD HL,RightPanel + PANEL.CURRPATH
|
||||
InsPath LD DE,WorkBuffer + 0x100
|
||||
PUSH DE
|
||||
SUB A
|
||||
LD C,A
|
||||
.L1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
DEC HL
|
||||
LD A,'\\'
|
||||
CP (HL)
|
||||
JR Z,.L2
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DEC C
|
||||
.L2 SUB A
|
||||
SUB C
|
||||
LD C,A
|
||||
POP HL
|
||||
JP InsertWord
|
||||
|
||||
InsertWord LD A,(IX + 0x04) ;InpytSymb
|
||||
ADD A,C
|
||||
RET C
|
||||
SUB (IX + 0x00) ;Max len
|
||||
RET NC
|
||||
PUSH HL
|
||||
LD A,(IX + 0x04)
|
||||
SUB (IX + 0x02)
|
||||
JR Z,NotInsWord
|
||||
; ‚¢®¤ ¢ á¥à¥¤¨ã ⥪áâ
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX + 0x04)
|
||||
ADD HL,DE
|
||||
LD E,L
|
||||
LD D,H
|
||||
LD B,0x00
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
DEC HL
|
||||
DEC DE
|
||||
PUSH BC
|
||||
LD C,A
|
||||
LDDR
|
||||
POP BC
|
||||
NotInsWord PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX + 0x02)
|
||||
ADD HL,DE
|
||||
EX DE,HL
|
||||
POP HL
|
||||
PUSH BC
|
||||
LD B,0x00
|
||||
LDIR
|
||||
POP BC
|
||||
LD A,(IX + 0x04)
|
||||
ADD A,C
|
||||
LD (IX + 0x04),A
|
||||
LD A,(IX + 0x02)
|
||||
ADD A,C
|
||||
LD (IX + 0x02),A
|
||||
JP PrintInpLn
|
||||
|
||||
InsHistory CALL GetDOShistory
|
||||
JP PrintInpLn
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ShellFile: db "X:\\SYSTEM.EXE /C ",0 ; 襫«
|
||||
BATExtension: db ".BAT",0
|
||||
EXEExtension: db ".EXE"
|
||||
EndOfString: db 0
|
||||
DOSstr DB 0x80,0x00
|
||||
.posX DB 0x00
|
||||
.addX DB 0x00
|
||||
.slen DB 0x00
|
||||
DW 256,231,376
|
||||
DB COLORP.PANEL + COLORI.FILES
|
||||
|
||||
DOSinp DB 0x81 DUP 0
|
||||
|
||||
HistSpace DEFW 0x200
|
||||
HistCount DEFB 0x00
|
||||
HistCurrent DEFB 0x00
|
||||
;[]----------------------------------------------------------[]
|
602
fninit.a80
Normal file
602
fninit.a80
Normal file
@ -0,0 +1,602 @@
|
||||
|
||||
; LAST UPDATE: 27.04.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
InitVideoMode
|
||||
SPDSS DSSF.GETVMOD
|
||||
LD C,A ; ⥪ã騩 ०¨¬ íªà
|
||||
LD A,(InitFlg)
|
||||
OR A
|
||||
JR NZ,.L1
|
||||
LD A,C
|
||||
LD (VMode),A
|
||||
LD A,B ; áâà ¨æ íªà
|
||||
LD (VScrn),A
|
||||
.L1 LD HL,WorkBuffer
|
||||
SPBIOS BIOSF.FN_VERSION
|
||||
;!TODO ¯à®¢¥àïâì ¯®á«¥¤¨© ¡¨®á
|
||||
AND A
|
||||
LD HL,-0x101;ACEX.Config_ID.Sp2000
|
||||
SBC HL,BC
|
||||
JR Z,.L2
|
||||
SPBIOS BIOSF.RST_CONF_CUSTOM,,-3
|
||||
.L2:
|
||||
;????? âãâ áâ àë© ¢ à¨ â ¢ë¤ ç¨ FN_VERSION ¯à®¢¥àï¥âáï. <20>®¤ã¬ âì.
|
||||
; LD A,%0000'1101 ; ã¦ë¥ ¡¨âë ¤«ï ¯®àâ All_Mode
|
||||
; AND L
|
||||
; SUB %0000'1101
|
||||
; JR Z,InitVM1
|
||||
; IN A,(SCREEN_SWITCH)
|
||||
; PUSH AF
|
||||
; LD C,BIOS.RST_CONF.SP97_2
|
||||
; RST ToBIOS
|
||||
; SUB A
|
||||
; OUT (BorderColor),A
|
||||
; POP AF
|
||||
; OUT (SCREEN_SWITCH),A
|
||||
InitVM1
|
||||
SPDSS DSSF.SETVMOD,0,SETVMOD.GRF640X256
|
||||
SUB A
|
||||
CALL ClearScreen
|
||||
InitPAL LD HL,PALETTE
|
||||
LD DE,0x1000
|
||||
SPBIOS BIOSF.PIC_SET_PAL,0xFF,0
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ResVideoMode LD B,0x00
|
||||
VScrn EQU $-1
|
||||
LD A,0x00
|
||||
VMode EQU $-1
|
||||
PUSH IY
|
||||
SPDSS DSSF.SETVMOD
|
||||
POP IY
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
InitDrivers SUB A
|
||||
LD (CMOSFlag),A
|
||||
LD L,A
|
||||
LD H,A
|
||||
LD (TestCoords.PrvTabl),HL
|
||||
LD (TestCoords.PrMousX),HL
|
||||
LD (TestCoords.PrMousY),HL
|
||||
SPDSS DSSF.GETMEM,7
|
||||
JR NC,InitDrv
|
||||
CALL ResVideoMode
|
||||
LD HL,NoEnMemory
|
||||
SPDSS DSSF.PCHARS
|
||||
LD A,(RAMPAGES.FNPAGESID)
|
||||
SPDSS DSSF.FREEMEM
|
||||
SPDSS DSSF.EXIT,0x1E
|
||||
|
||||
NoEnMemory DZ "Not enough memory to run program.\r\n"
|
||||
|
||||
InitDrv LD (RAMPAGES.BufferID),A
|
||||
LD HL,RAMPAGES.FLX
|
||||
SPBIOS BIOSF.GETMEMBLKPAGES
|
||||
.skip:
|
||||
SPDSS DSSF.CURDISK
|
||||
JR C,.skip
|
||||
LD A,C
|
||||
CP 12
|
||||
JR C,.L1
|
||||
LD A,11
|
||||
.L1 LD (NUM_DEVICES),A
|
||||
SPDSS DSSF.GETTIME
|
||||
JR C,.L3
|
||||
LD A,D
|
||||
CP 32
|
||||
CCF
|
||||
JR C,.L3
|
||||
LD A,E
|
||||
CP 13
|
||||
CCF
|
||||
JR C,.L3
|
||||
LD A,H
|
||||
CP 24
|
||||
CCF
|
||||
JR C,.L3
|
||||
LD A,L
|
||||
CP 60
|
||||
CCF
|
||||
.L3 LD A,0x00
|
||||
JR C,.L2
|
||||
INC A
|
||||
.L2 LD (CMOSFlag),A
|
||||
LD A,0x00
|
||||
InitFlg EQU $-1
|
||||
OR A
|
||||
CALL Z,FirstInit
|
||||
CALL SETUP_DISKS
|
||||
SPMOUSE MOUSEF.INIT
|
||||
LD A,(MouseFlag)
|
||||
OR A
|
||||
LD C,MOUSEF.SHOW
|
||||
JR NZ,.L1
|
||||
LD C,MOUSEF.HIDE
|
||||
.L1
|
||||
SPMOUSE
|
||||
;!TEST enable shared interrupts
|
||||
;Check BIOS version
|
||||
SPBIOS BIOSF.DRV_VERSION
|
||||
AND A
|
||||
LD HL,2 << 8 + 54 ;!HARDCODE (¬¨¨¬ «ì ï ¢¥àá¨ï)-1 ¤«ï ªâ¨¢ 樨 ¯à¥àë¢ ¨©
|
||||
SBC HL,DE
|
||||
RET NC ; ¢ë室, ¥á«¨ ¢¥àá¨ï ¨¦¥ 2.55
|
||||
LD BC,WINSP.CPU2
|
||||
IN B,(C)
|
||||
SETPORT WINSP.CPU2,0xFE
|
||||
LD A,0xAA
|
||||
LD (0x0127 + CPU2),A;(SYS_PAGE.INT_ID - #4000),A ;!HARDCODE SYS_PAGE.INT_ID - #4000
|
||||
OUT (C),B
|
||||
RET
|
||||
|
||||
FirstInit
|
||||
SPDSS DSSF.BOOTDSK,0
|
||||
ADD A,'A'
|
||||
LD (ShellFile),a ; fndosln.z80
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,LeftPanel + PANEL.CURRPATH
|
||||
PUSH HL
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP HL
|
||||
LD DE,RightPanel + PANEL.CURRPATH
|
||||
LD BC,0x0100
|
||||
LDIR
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFUNCT)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,FlexDIRECTORY
|
||||
SPDSS DSSF.APPINFO,1
|
||||
JP C,.L5
|
||||
LD HL,FlexDIRECTORY
|
||||
SPDSS DSSF.CHDIR
|
||||
JP C,.L5
|
||||
LD HL,SetupName
|
||||
SPDSS DSSF.OPEN,,1
|
||||
JR C,.L5
|
||||
PUSH AF
|
||||
LD HL,WorkBuffer
|
||||
push hl
|
||||
push hl
|
||||
ld (hl),0
|
||||
pop de
|
||||
ld bc,0x00ff
|
||||
inc de
|
||||
ldir
|
||||
pop hl
|
||||
LD DE,0x0100
|
||||
SPDSS DSSF.READ
|
||||
POP AF
|
||||
SPDSS DSSF.CLOSE
|
||||
LD HL,WorkBuffer
|
||||
LD DE,SetupHead
|
||||
LD B,11
|
||||
.L3 LD A,(DE)
|
||||
CP (HL)
|
||||
JR NZ,.L5
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .L3
|
||||
LD DE,PALETTE
|
||||
LD BC,0x0040
|
||||
LDIR
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
OR A
|
||||
JR Z,.L4
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
AND 0x01
|
||||
LD (MouseFlag),A
|
||||
LD DE,LeftPanel
|
||||
PUSH DE
|
||||
LDI
|
||||
LDI
|
||||
LDI
|
||||
POP DE
|
||||
EX DE,HL
|
||||
LD BC,PANEL.FILEMASK
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
SUB A
|
||||
.L1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
LD (DE),A
|
||||
INC HL
|
||||
LD DE,RightPanel
|
||||
PUSH DE
|
||||
LDI
|
||||
LDI
|
||||
LDI
|
||||
POP DE
|
||||
EX DE,HL
|
||||
LD BC,PANEL.FILEMASK
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
SUB A
|
||||
.L2 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
LD (DE),A
|
||||
.L4 inc hl
|
||||
ld a,(hl) ;¯ à ¬¥âà - ¢â® ᬥ ¯ ¥«¨ ¯à¨ ᬥ¥ ¤¨áª ¥©
|
||||
ld (AutoActivatePanel),a
|
||||
inc hl
|
||||
CALL InitPAL
|
||||
.L5 POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD DE,InitExtention
|
||||
LD A,(RAMPAGES.FNHELP)
|
||||
LD C,WINSP.CPU1
|
||||
CALL Resident
|
||||
LD HL,LeftPanel + PANEL.CURRPATH
|
||||
SPDSS DSSF.CHDIR
|
||||
LD A,0x01
|
||||
LD (InitFlg),A
|
||||
RET
|
||||
|
||||
; ®¡®¢«¥¨¥ ¢ â ¡«¨æ¥ ¢ë¡®à ¤¨áª®¢ ¯ ¥«¨
|
||||
SETUP_DISKS LD HL,BgDISKl ; ¤¨áª¨ «¥¢®© ¯ ¥«¨
|
||||
LD DE,BgDISKr ; ¤¨áª¨ ¯à ¢®© ¯ ¥«¨
|
||||
LD BC,FORMTABL.SIZE * 2
|
||||
LD A,(NUM_DEVICES)
|
||||
.L1 ADD HL,BC
|
||||
INC HL
|
||||
RES FORMTABL.B_ENDTABL,(HL)
|
||||
DEC HL
|
||||
EX DE,HL
|
||||
ADD HL,BC
|
||||
INC HL
|
||||
RES FORMTABL.B_ENDTABL,(HL)
|
||||
DEC HL
|
||||
EX DE,HL
|
||||
DEC A
|
||||
JR NZ,.L1
|
||||
INC HL
|
||||
SET FORMTABL.B_ENDTABL,(HL)
|
||||
EX DE,HL
|
||||
INC HL
|
||||
SET FORMTABL.B_ENDTABL,(HL)
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ResDrivers
|
||||
SPMOUSE MOUSEF.HIDE
|
||||
LD A,(RAMPAGES.BufferID)
|
||||
SPDSS DSSF.FREEMEM
|
||||
;!TEST disable shared interrupts
|
||||
LD BC,WINSP.CPU2
|
||||
IN B,(C)
|
||||
SETPORT WINSP.CPU2,PAGE.SYSTEM;0xFE
|
||||
XOR A
|
||||
LD (0x0127 + CPU2),A ;!HARDCODE SYS_PAGE.INT_ID
|
||||
OUT (C),B
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
InitScreen
|
||||
MAKEWINDOW WINSUBOBJ.NOSTORE
|
||||
W_MAIN 0,0,640,256
|
||||
W_FILL 4,2,632,10,COLORI.BLACK
|
||||
W_TEXT 16,3,COLORI.WHITE,"Flex Navigator v\{FLEX_VERS.NAVIGATOR}"
|
||||
W_HORIZLINE 0,13,640
|
||||
W_TEXT 16,17,COLORP.HIGHGRAY,"File Select Options View Config About"
|
||||
W_HORIZLINE 0,27,640
|
||||
W_VERTICLINE 318,30,12
|
||||
W_HORIZLINE 0,43,640
|
||||
W_HORIZLINE 0,211,640
|
||||
W_VERTICLINE 318,214,10
|
||||
W_HORIZLINE 0,225,640
|
||||
W_BORDER 252,228,384,12
|
||||
W_FILL 254,229,380,10,COLORI.PANEL
|
||||
W_HORIZLINE 0,241,640
|
||||
W_BUTTON 0,242,80,14
|
||||
W_TEXT 22,245,COLORP.HIGHGRAY,"F1 Help"
|
||||
W_BUTTON 80,242,80,14
|
||||
W_TEXT 100,245,COLORP.HIGHGRAY,"F3 View"
|
||||
W_BUTTON 160,242,80,14
|
||||
W_TEXT 182,245,COLORP.HIGHGRAY,"F4 Edit"
|
||||
W_BUTTON 240,242,80,14
|
||||
W_TEXT 260,245,COLORP.HIGHGRAY,"F5 Copy"
|
||||
W_BUTTON 320,242,80,14
|
||||
W_TEXT 334,245,COLORP.HIGHGRAY,"F6 Rename"
|
||||
W_BUTTON 400,242,80,14
|
||||
W_TEXT 414,245,COLORP.HIGHGRAY,"F7 MakeDir"
|
||||
W_BUTTON 480,242,80,14
|
||||
W_TEXT 496,245,COLORP.HIGHGRAY,"F8 Delete"
|
||||
W_BUTTON 560,242,80,14
|
||||
W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
|
||||
W_END
|
||||
LD A,(CMOSFlag)
|
||||
OR A
|
||||
RET Z
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_BORDER 500,15,136,12
|
||||
W_END
|
||||
LD HL,0x01FC
|
||||
LD DE,0x0012
|
||||
LD B,0x80
|
||||
EXX
|
||||
LD HL,0x022E
|
||||
LD DE,0x0012
|
||||
LD B,0x80
|
||||
EXX
|
||||
LD A,0x02
|
||||
JP SetCMOSPrint
|
||||
|
||||
;[]==========================================================[]
|
||||
InitPanels LD (InitPanFlg),A
|
||||
LD HL,LeftPanel+PANEL.VIEWFLAG
|
||||
LD A,(RightPanel+PANEL.VIEWFLAG)
|
||||
OR (HL)
|
||||
AND 0x02
|
||||
JR NZ,InitPanTree
|
||||
LD IY,LeftPanel
|
||||
CALL InitPanelE
|
||||
LD IY,RightPanel
|
||||
CALL InitPanelE
|
||||
JR InitPanExit
|
||||
|
||||
InitPanTree LD IY,LeftPanel
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
JR NZ,.L1
|
||||
LD IY,RightPanel
|
||||
.L1 CALL InitPanelE
|
||||
InitPanExit LD HL,LeftPanel
|
||||
LD DE,PANEL.CURRPATH
|
||||
BIT 7,(HL)
|
||||
JR NZ,.L2
|
||||
LD HL,RightPanel
|
||||
.L2 PUSH HL
|
||||
ADD HL,DE
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
RET
|
||||
|
||||
InitPanel SUB A
|
||||
InitPanel1 LD (InitPanFlg),A
|
||||
InitPanelE LD A,(InitPanFlg)
|
||||
BIT 0,A
|
||||
CALL Z,SetClock
|
||||
CALL PrintDisks
|
||||
CALL PrintPath
|
||||
BIT PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
|
||||
CALL NZ,PrintDOSPath
|
||||
LD A,(IY+PANEL.VIEWFLAG)
|
||||
AND VIEWFLAG.MASK
|
||||
JP NZ,InitPPanel
|
||||
LD L,(IY+PANEL.XL)
|
||||
LD H,(IY+PANEL.XH)
|
||||
LD (PanelN1),HL
|
||||
INC HL
|
||||
INC HL
|
||||
LD (PanelN2),HL
|
||||
LD (PanelN6),HL
|
||||
LD (PanelN3),HL
|
||||
LD (Nbut1),HL
|
||||
LD (Nfile),HL
|
||||
LD DE,0x0010
|
||||
ADD HL,DE
|
||||
LD (PanelN4),HL
|
||||
LD (Nbut1+2),HL
|
||||
LD (Nbar1),HL
|
||||
LD (IY+PANEL.BARXL),L
|
||||
LD (IY+PANEL.BARXH),H
|
||||
LD (IY+PANEL.BARYL),0xC9
|
||||
LD (IY+PANEL.BARYH),0x00
|
||||
LD DE,0x0114
|
||||
ADD HL,DE
|
||||
LD (PanelN5),HL
|
||||
LD (Nbar2+2),HL
|
||||
LD (Nbut2),HL
|
||||
LD (IY+PANEL.BARMLL),E
|
||||
LD (IY+PANEL.BARMLH),D
|
||||
LD DE,0x0010
|
||||
ADD HL,DE
|
||||
LD (Nbut2+2),HL
|
||||
LD (Nfile+2),HL
|
||||
LD (IY+PANEL.FPL),0x33
|
||||
LD (IY+PANEL.FPH),0x00
|
||||
; Šà âª ï ¯ ¥«ì
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
PanelN1 EQU $+1
|
||||
W_BORDER 0,59,312,151
|
||||
PanelN2 EQU $+1
|
||||
W_FILL 0,60,308,149,COLORI.PANEL
|
||||
PanelN3 EQU $+1
|
||||
W_ICONLEFTARROW 0,201
|
||||
PanelN4 EQU $+1
|
||||
W_FILL 0,201,276,8,COLORI.HIGHGRAY
|
||||
PanelN5 EQU $+1
|
||||
W_ICONRIGHTARROW 0,201
|
||||
PanelN6 EQU $+1
|
||||
W_FILL 0,213,310,12,COLORI.HIGHGRAY
|
||||
W_END
|
||||
|
||||
LD HL,NormMouse
|
||||
LD DE,PanelPlaceL
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
JR Z,.L1
|
||||
LD DE,PanelPlaceR
|
||||
.L1 PUSH DE
|
||||
LD BC,0x0050
|
||||
LDIR
|
||||
POP HL
|
||||
LD C,0x32
|
||||
ADD HL,BC
|
||||
LD (IY+PANEL.BARLFL),L
|
||||
LD (IY+PANEL.BARLFH),H
|
||||
LD C,0x0E
|
||||
ADD HL,BC
|
||||
LD (IY+PANEL.BARRTL),L
|
||||
LD (IY+PANEL.BARRTH),H
|
||||
JP InitPanEx
|
||||
|
||||
NormMouse
|
||||
Nfile DEFW 0, 0, 63,199,%0000000000000000,0,NewFile,RESIDENT.MarkFile
|
||||
Nbut1 DEFW 0, 0,201,209,%0000000000000011,0,ScrollDown,0
|
||||
Nbut2 DEFW 0, 0,201,209,%0000000000000011,0,ScrollUp,0
|
||||
Nbar1 DEFW 0, 0,201,209,%0000000000000000,0,PageUp,0
|
||||
Nbar2 DEFW 0, 0,201,209,%0000000000000000,0,PageDown,0
|
||||
|
||||
; <20>®¤à®¡ ï ¯ ¥«ì ¨ ¯ ¥«ì á ¤¥à¥¢®¬
|
||||
InitPPanel LD L,(IY+PANEL.XL)
|
||||
LD H,(IY+PANEL.XH)
|
||||
LD (PanelP1),HL
|
||||
INC HL
|
||||
INC HL
|
||||
LD (PanelP2),HL
|
||||
LD (PanelP6),HL
|
||||
LD (Pfile),HL
|
||||
LD DE,0x0124
|
||||
ADD HL,DE
|
||||
LD (PanelP3),HL
|
||||
LD (PanelP4),HL
|
||||
LD (PanelP5),HL
|
||||
LD (Pbut1),HL
|
||||
LD (Pbut2),HL
|
||||
LD (Pbar1),HL
|
||||
LD (Pbar2),HL
|
||||
LD (Pfile+2),HL
|
||||
LD (IY+PANEL.BARXL),L
|
||||
LD (IY+PANEL.BARXH),H
|
||||
LD DE,0x0010
|
||||
ADD HL,DE
|
||||
LD (Pbut1+2),HL
|
||||
LD (Pbut2+2),HL
|
||||
LD (Pbar1+2),HL
|
||||
LD (Pbar2+2),HL
|
||||
LD (IY+PANEL.BARYL),0x44
|
||||
LD (IY+PANEL.BARYH),0x00
|
||||
LD (IY+PANEL.BARMLL),0x85
|
||||
LD (IY+PANEL.BARMLH),0x00
|
||||
LD (IY+PANEL.FPL),0x12
|
||||
LD (IY+PANEL.FPH),0x00
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
PanelP1 EQU $+1
|
||||
W_BORDER 0,59,312,151
|
||||
PanelP2 EQU $+1
|
||||
W_FILL 0,60,308,149,COLORI.PANEL
|
||||
PanelP3 EQU $+1
|
||||
W_ICONUPARROW 0,60
|
||||
PanelP4 EQU $+1
|
||||
W_FILL 0,68,16,133,COLORI.HIGHGRAY
|
||||
PanelP5 EQU $+1
|
||||
W_ICONDOWNARROW 0,201
|
||||
PanelP6 EQU $+1
|
||||
W_FILL 0,213,310,12,COLORI.HIGHGRAY
|
||||
W_END
|
||||
|
||||
LD HL,PodrMouse
|
||||
LD DE,PanelPlaceL
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
JR Z,.L1
|
||||
LD DE,PanelPlaceR
|
||||
.L1 PUSH DE
|
||||
LD BC,0x0050
|
||||
LDIR
|
||||
POP HL
|
||||
LD BC,0x0036
|
||||
ADD HL,BC
|
||||
LD (IY+PANEL.BARLFL),L
|
||||
LD (IY+PANEL.BARLFH),H
|
||||
LD BC,0x000E
|
||||
ADD HL,BC
|
||||
LD (IY+PANEL.BARRTL),L
|
||||
LD (IY+PANEL.BARRTH),H
|
||||
JP InitPanEx
|
||||
|
||||
PodrMouse
|
||||
Pfile DW 0, 0, 63,207,%0000000000000000,0,NewFile,RESIDENT.MarkFile
|
||||
Pbut1 DW 0, 0, 60, 68,%0000000000000011,0,ScrollDown,0
|
||||
Pbut2 DW 0, 0,201,209,%0000000000000011,0,ScrollUp,0
|
||||
Pbar1 DW 0, 0, 68, 0,%0000000000000000,0,PageUp,0
|
||||
Pbar2 DW 0, 0, 0,209,%0000000000000000,0,PageDown,0
|
||||
|
||||
InitPanEx LD A,(InitPanFlg)
|
||||
BIT 0,A
|
||||
JR NZ,.L2
|
||||
PUSH IY
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
JR NC,.L1
|
||||
CALL DOSError
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDISK
|
||||
POP IY
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDIR
|
||||
POP IY
|
||||
JP InitPanel
|
||||
|
||||
.L1 CALL ReadDIR
|
||||
LD A,(InitPanFlg)
|
||||
BIT 1,A
|
||||
CALL NZ,FindPrevFile
|
||||
.L2 CALL PrintDIR
|
||||
CALL SetInvert
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
POP IX
|
||||
LD DE,PANEL.BARXL
|
||||
ADD IX,DE
|
||||
CALL InitScrollBar
|
||||
LD A,(IY+PANEL.VIEWFLAG)
|
||||
AND VIEWFLAG.MASK
|
||||
PUSH AF
|
||||
CALL Z,PrnHScrBar
|
||||
POP AF
|
||||
CALL NZ,PrnVScrBar
|
||||
CALL SetMouse
|
||||
LD A,(InitPanFlg)
|
||||
BIT 0,A
|
||||
RET NZ
|
||||
LD HL,LeftPanel+PANEL.VIEWFLAG
|
||||
LD A,(RightPanel+PANEL.VIEWFLAG)
|
||||
OR (HL)
|
||||
AND 0x02
|
||||
RRCA
|
||||
LD (TreeFlag),A
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET Z
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD IY,RightPanel
|
||||
LD HL,LeftPanel + PANEL.CURRPATH
|
||||
LD DE,RightPanel + PANEL.CURRPATH
|
||||
JR Z,.L3
|
||||
LD IY,LeftPanel
|
||||
LD HL,RightPanel + PANEL.CURRPATH
|
||||
LD DE,LeftPanel + PANEL.CURRPATH
|
||||
.L3 SUB A
|
||||
.L4 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L4
|
||||
LD (DE),A
|
||||
CALL InitPanelE
|
||||
POP IY
|
||||
RET
|
||||
|
||||
InitPanFlg DEFB 0x00
|
801
fninput.a80
Normal file
801
fninput.a80
Normal file
@ -0,0 +1,801 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
InputLine LD (InpLnData),IX
|
||||
LD (.InpMous),HL
|
||||
SET 7,(IX+0x01)
|
||||
SUB A
|
||||
LD (IX+0x02),A
|
||||
LD (IX+0x03),A
|
||||
CALL InsInpLnCol
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
PUSH HL
|
||||
LD E,(IX+0x04)
|
||||
ADD HL,DE
|
||||
LD (HL),D
|
||||
LD (IX+0x02),E
|
||||
POP HL
|
||||
LD DE,WorkBuffer
|
||||
LD A,(IX+0x02)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,(IX+0x03)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,(IX+0x04)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
OR B
|
||||
JR Z,.L1
|
||||
LDIR
|
||||
.L1 CALL PrintInpLn.L1
|
||||
.InpLineLp HALT
|
||||
CALL ChCursor
|
||||
LD IX,0x0000
|
||||
.InpMous EQU $-2
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.TESTKEY
|
||||
JR Z,.InpLineLp
|
||||
RES 7,D
|
||||
BIT KEYBSTAT.B_ALT,B
|
||||
JR NZ,.InpLineLp
|
||||
LD IX,InpTable2
|
||||
BIT KEYBSTAT.B_CTRL,B
|
||||
JR NZ,.NextInpKeys
|
||||
LD IX,InpTable1
|
||||
.NextInpKeys LD L,(IX+0x00)
|
||||
INC L
|
||||
JR Z,.InpLineLp1
|
||||
INC IX
|
||||
DEC L
|
||||
LD H,(IX+0x00)
|
||||
INC IX
|
||||
LD C,(IX+0x00)
|
||||
INC IX
|
||||
LD B,(IX+0x00)
|
||||
INC IX
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR NZ,.NextInpKeys
|
||||
LD IX,(InpLnData)
|
||||
LD HL,.InpLineLp
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
PUSH IX
|
||||
SPDSS DSSF.SCANKEY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
.InpLineLp1 LD IX,(InpLnData)
|
||||
LD HL,.InpLineLp
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
SPDSS DSSF.SCANKEY
|
||||
POP IX
|
||||
LD A,E
|
||||
JR InsertSymbol
|
||||
|
||||
.InpLnExtN POP HL
|
||||
LD IX,(InpLnData)
|
||||
CALL ResCursor
|
||||
XOR A
|
||||
RET
|
||||
|
||||
.InpLnExtC POP HL
|
||||
LD IX,(InpLnData)
|
||||
CALL ResCursor
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
EX DE,HL
|
||||
LD HL,WorkBuffer
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD (IX+0x02),A
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD (IX+0x03),A
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD (IX+0x04),A
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
RET Z
|
||||
LDIR
|
||||
RET
|
||||
|
||||
InpLnData DEFW 0x0000 ; €¤à¥á ®¯¨á ⥫ï áâப¨
|
||||
; +00 Œ ªá¨¬ «ì ï ¤«¨ áâப¨
|
||||
; +01 ”« £ £®â®¢®áâ¨
|
||||
; +02 ⥪ãé ï X ¯®§¨æ¨ï ªãàá®à
|
||||
; +03 ⥪ãé ï AddX
|
||||
; +04 ª®«¨ç¥á⢮ ¢¢¥¤¥ëå ᨬ¢®«®¢
|
||||
; +05 X ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
; +07 Y ¯®§¨æ¨ï áâப¨ íªà ¥
|
||||
; +09 X ¤«¨ áâப¨ íªà ¥
|
||||
; +0B –¢¥â áâப¨
|
||||
; +0C ...á ¬ áâப
|
||||
|
||||
InpTable1 DW SC.ESC << 8 | 0x1B, InputLine.InpLnExtC
|
||||
DW SC.ENTER << 8 | 0x0D, InputLine.InpLnExtN
|
||||
DW SC.XENTER << 8 | 0x0D, InputLine.InpLnExtN
|
||||
DW SC.X4 << 8, ILleft
|
||||
DW SC.X6 << 8, ILright
|
||||
DW SC.BKSP << 8 | 0x08, ILdelet
|
||||
DW SC.XDEL << 8, IL_del_
|
||||
DW SC.X7 << 8, ILhome
|
||||
DW SC.X1 << 8, ILend
|
||||
DB 0xFF
|
||||
|
||||
InpTable2 DW SC.X4 << 8, ILwordL
|
||||
DW SC.X6 << 8, ILwordR
|
||||
DW SC.BKSP << 8, ILdelWR
|
||||
DB 0xFF
|
||||
|
||||
InsertSymbol CP ' '
|
||||
RET C
|
||||
EX AF,AF'
|
||||
BIT 7,(IX+0x01) ; ready
|
||||
CALL NZ,ClearInpLn
|
||||
LD A,(IX+0x04) ; InpytSymb
|
||||
SUB (IX+0x00) ; Max len
|
||||
RET NC
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
JR Z,NotInsert
|
||||
; ‚¢®¤ ¢ á¥à¥¤¨ã ⥪áâ
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x04)
|
||||
ADD HL,DE
|
||||
LD E,L
|
||||
LD D,H
|
||||
DEC HL
|
||||
LDDR
|
||||
NotInsert PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
ADD HL,DE
|
||||
EX AF,AF'
|
||||
LD (HL),A
|
||||
INC (IX+0x04)
|
||||
INC (IX+0x02)
|
||||
JP PrintInpLn
|
||||
|
||||
; Clear Buffer
|
||||
ClearInpLn RES 7,(IX+0x01)
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD B,(IX+0x00)
|
||||
SUB A
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L1
|
||||
LD (IX+0x02),A
|
||||
LD (IX+0x03),A
|
||||
LD (IX+0x04),A
|
||||
JP PrintInpLn
|
||||
|
||||
; Šãàá®à ¢«¥¢® ®¤® ¬¥áâ®
|
||||
ILleft RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
DEC A
|
||||
RET M
|
||||
LD (IX+0x02),A
|
||||
JP PrintInpLn
|
||||
|
||||
; Šãàá®à ¢¯à ¢® ®¤® ¬¥áâ®
|
||||
ILright RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
CP (IX+0x04)
|
||||
RET Z
|
||||
INC (IX+0x02)
|
||||
JP PrintInpLn
|
||||
|
||||
; delete
|
||||
ILdelet BIT 7,(IX+0x01) ; ready
|
||||
CALL NZ,ClearInpLn
|
||||
LD A,(IX+0x02)
|
||||
OR A
|
||||
RET Z
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
ADD HL,DE
|
||||
LD E,L
|
||||
LD D,H
|
||||
DEC DE
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
JR Z,ILDel1
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
LDIR
|
||||
SUB A
|
||||
ILDel1 LD (DE),A
|
||||
DEC (IX+0x02)
|
||||
DEC (IX+0x04)
|
||||
JP PrintInpLn
|
||||
|
||||
; Delete Char in Current Position
|
||||
IL_del_ BIT 7,(IX+0x01) ; ready
|
||||
CALL NZ,ClearInpLn
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
LD E,L
|
||||
LD D,H
|
||||
DEC DE
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
RET Z
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
LDIR
|
||||
SUB A
|
||||
LD (DE),A
|
||||
DEC (IX+0x04)
|
||||
JP PrintInpLn
|
||||
|
||||
; Home
|
||||
ILhome RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
OR A
|
||||
RET Z
|
||||
SUB A
|
||||
LD (IX+0x02),A
|
||||
JP PrintInpLn
|
||||
|
||||
; End string
|
||||
ILend RES 7,(IX+0x01)
|
||||
LD A,(IX+0x04)
|
||||
CP (IX+0x02)
|
||||
RET Z
|
||||
LD (IX+0x02),A
|
||||
JP PrintInpLn
|
||||
|
||||
; Word right
|
||||
ILwordR RES 7,(IX+0x01)
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
RET Z
|
||||
LD B,A
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x02)
|
||||
ADD HL,DE
|
||||
LD C,E
|
||||
.L2 LD A,(HL)
|
||||
CP ' '
|
||||
JR Z,.L3
|
||||
CP ','
|
||||
JR Z,.L3
|
||||
CP '.'
|
||||
JR Z,.L3
|
||||
CP '\\'
|
||||
JR Z,.L3
|
||||
INC HL
|
||||
INC C
|
||||
DJNZ .L2
|
||||
JR .L4
|
||||
|
||||
.L3 LD A,(HL)
|
||||
CP ' '
|
||||
JR Z,.L1
|
||||
CP ','
|
||||
JR Z,.L1
|
||||
CP '.'
|
||||
JR Z,.L1
|
||||
CP '\\'
|
||||
JR NZ,.L4
|
||||
.L1 INC HL
|
||||
INC C
|
||||
DJNZ .L3
|
||||
.L4 LD (IX+0x02),C
|
||||
JP PrintInpLn
|
||||
|
||||
; Word left
|
||||
ILwordL RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
OR A
|
||||
RET Z
|
||||
LD B,A
|
||||
LD C,B
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,C
|
||||
ADD HL,DE
|
||||
.L3 DEC HL
|
||||
DEC C
|
||||
LD A,(HL)
|
||||
CP ' '
|
||||
JR Z,.L2
|
||||
CP ','
|
||||
JR Z,.L2
|
||||
CP '.'
|
||||
JR Z,.L2
|
||||
CP 0x5C
|
||||
JR Z,.L2
|
||||
DJNZ .L3
|
||||
JR .L5
|
||||
|
||||
.L2 LD A,(HL)
|
||||
CP ' '
|
||||
JR Z,.L1
|
||||
CP ','
|
||||
JR Z,.L1
|
||||
CP '.'
|
||||
JR Z,.L1
|
||||
CP '\\'
|
||||
JR NZ,.L4
|
||||
.L1 DEC HL
|
||||
DEC C
|
||||
DJNZ .L2
|
||||
.L4 INC C
|
||||
.L5 LD (IX+0x02),C
|
||||
JP PrintInpLn
|
||||
|
||||
; Delete word
|
||||
ILdelWR RES 7,(IX+0x01)
|
||||
LD A,(IX+0x02)
|
||||
OR A
|
||||
RET Z
|
||||
LD B,A
|
||||
LD C,B
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,C
|
||||
ADD HL,DE
|
||||
LD A,(IX+0x04)
|
||||
SUB B
|
||||
LD E,A
|
||||
PUSH HL
|
||||
DEC HL
|
||||
DEC C
|
||||
LD A,(HL)
|
||||
CP ' '
|
||||
JR Z,.L4
|
||||
CP ','
|
||||
JR Z,.L4
|
||||
CP '.'
|
||||
JR Z,.L4
|
||||
CP '\\'
|
||||
JR Z,.L4
|
||||
DEC B
|
||||
JR Z,.L6
|
||||
.L3 DEC HL
|
||||
DEC C
|
||||
LD A,(HL)
|
||||
CP ' '
|
||||
JR Z,.L2
|
||||
CP ','
|
||||
JR Z,.L2
|
||||
CP '.'
|
||||
JR Z,.L2
|
||||
CP '\\'
|
||||
JR Z,.L2
|
||||
DJNZ .L3
|
||||
JR .L6
|
||||
|
||||
.L4 LD A,(HL)
|
||||
CP ' '
|
||||
JR Z,.L1
|
||||
CP ','
|
||||
JR Z,.L1
|
||||
CP '.'
|
||||
JR Z,.L1
|
||||
CP '\\'
|
||||
JR NZ,.L2
|
||||
.L1 DEC HL
|
||||
DEC C
|
||||
DJNZ .L4
|
||||
.L2 INC HL
|
||||
INC C
|
||||
.L6 LD A,(IX+0x02)
|
||||
LD (IX+0x02),C
|
||||
SUB C
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
LD A,(IX+0x04)
|
||||
SUB C
|
||||
LD (IX+0x04),A
|
||||
LD C,E
|
||||
LD B,0x00
|
||||
EX DE,HL
|
||||
POP HL
|
||||
LD A,C
|
||||
OR A
|
||||
JR Z,.L7
|
||||
LDIR
|
||||
.L7 EX DE,HL
|
||||
EX AF,AF'
|
||||
LD B,A
|
||||
SUB A
|
||||
.L5 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L5
|
||||
JP PrintInpLn
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
InsInpLnCol LD L,(IX+0x07)
|
||||
LD H,(IX+0x08)
|
||||
LD (FillILy),HL
|
||||
LD A,(IX+0x0B)
|
||||
AND 0x0F ; INK
|
||||
LD C,A
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
OR C
|
||||
LD HL,PrnINKl ; INK ¡ãä¥à
|
||||
LD B,0x08
|
||||
CPL
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L1
|
||||
LD B,A
|
||||
LD A,(IX+0x0B)
|
||||
AND 0xF0 ; PAPER
|
||||
LD C,A
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
LD (FillILc),A
|
||||
OR C
|
||||
XOR B
|
||||
LD HL,PrnPAPl ; PAPER ¡ãä¥à
|
||||
LD B,0x08
|
||||
.L2 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L2
|
||||
RET
|
||||
|
||||
PrintInpLn CALL ResCursor
|
||||
.L1 LD A,(IX+0x02)
|
||||
SUB (IX+0x03)
|
||||
JR NC,PrnInpLn1
|
||||
LD A,(IX+0x03)
|
||||
SUB Step
|
||||
LD (IX+0x03),A
|
||||
JR PrintInpLn.L1
|
||||
|
||||
PrnInpLn1 PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x03)
|
||||
ADD HL,DE
|
||||
OR A
|
||||
CALL NZ,TstInpLnLen ; <20> ¢å®¤: HL- ç «® ¢ë¢®¤
|
||||
; € -ª®«.ᨬ¢.¤® ªãàá®à
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
LD A,(IX+0x07)
|
||||
LD IYL,A ; Y ª®®à¤¨ â
|
||||
LD A,(IX+0x04)
|
||||
LD IYH,A
|
||||
GETPORT WINSP.Y_PORT ; ‘®åà 塞 Y ¯®àâ
|
||||
PUSH AF
|
||||
EXX
|
||||
LD HL,PrnPAPl
|
||||
LD DE,PrnINKl
|
||||
LD C,(IX+0x05)
|
||||
LD B,(IX+0x06)
|
||||
SRL B
|
||||
RR C
|
||||
SET 6,B
|
||||
EXX
|
||||
LD C,(IX+0x09)
|
||||
LD B,(IX+0x0A)
|
||||
SRL B
|
||||
RR C
|
||||
LD IXL,C
|
||||
LD C,L ; €¤à¥á áâப¨
|
||||
LD B,H
|
||||
GETPORT WINSP.CPU1
|
||||
LD IXH,A
|
||||
DI
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x08
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,IYH
|
||||
OR A
|
||||
JR Z,PrnInpE
|
||||
LD A,(BC)
|
||||
INC BC
|
||||
PInpLnP LD L,A
|
||||
LD H,HIGH (FONT_RAW)-0xC0
|
||||
PUSH BC
|
||||
LD B,(HL) ; ¤«¨ ᨬ¢®«
|
||||
INC H
|
||||
LD E,(HL)
|
||||
INC H
|
||||
LD D,(HL)
|
||||
LD HL,0x0008
|
||||
EX DE,HL
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
PrnLoopInp
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
ACCEL ACCELCMD.OFF
|
||||
EXX
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY
|
||||
OR (HL)
|
||||
EX DE,HL
|
||||
XOR (HL)
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD (BC),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EX DE,HL
|
||||
INC BC
|
||||
EXX
|
||||
ADD HL,DE
|
||||
DEC IXL
|
||||
JR Z,.L1
|
||||
DJNZ PrnLoopInp
|
||||
.L1 POP BC
|
||||
LD A,IXH
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD A,IXL
|
||||
OR A
|
||||
JR Z,PrnInpE
|
||||
DEC IYH
|
||||
JR Z,PrnInpE
|
||||
LD A,(BC)
|
||||
INC BC
|
||||
OR A
|
||||
JR NZ,PInpLnP
|
||||
PrnInpE POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD A,IXL
|
||||
OR A
|
||||
JR Z,PrnInE1
|
||||
LD L,A
|
||||
LD H,0x00
|
||||
ADD HL,HL
|
||||
LD (FillILl),HL
|
||||
EXX
|
||||
PUSH BC
|
||||
EXX
|
||||
POP HL
|
||||
RES 6,H
|
||||
ADD HL,HL
|
||||
LD (FillILx),HL
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_FILL 0x0000,0x0000,0x0000,8,0x00
|
||||
W_END
|
||||
FillILx EQU $-10
|
||||
FillILy EQU $-8
|
||||
FillILl EQU $-6
|
||||
FillILc EQU $-2
|
||||
|
||||
PrnInE1 POP IX
|
||||
POP IY
|
||||
JP SetCursor
|
||||
|
||||
PrnINKl DB 8 DUP 0
|
||||
PrnPAPl DB 8 DUP 0
|
||||
|
||||
TstInpLnLen PUSH IY
|
||||
LD IYL,A
|
||||
LD IYH,A
|
||||
DI
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
TstInpLn PUSH HL
|
||||
LD BC,0x0000
|
||||
TstInpL LD E,(HL)
|
||||
INC HL
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
DEC IYL
|
||||
JR NZ,TstInpL
|
||||
LD L,(IX+0x09)
|
||||
LD H,(IX+0x0A)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR NC,TstInpE
|
||||
POP HL
|
||||
LD BC,Step
|
||||
ADD HL,BC
|
||||
LD A,(IX+0x03)
|
||||
ADD A,C
|
||||
LD (IX+0x03),A
|
||||
LD A,IYH
|
||||
SUB C
|
||||
LD IYH,A
|
||||
LD IYL,A
|
||||
JR TstInpLn
|
||||
|
||||
TstInpE POP HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP IY
|
||||
RET
|
||||
|
||||
SetCursor PUSH IX
|
||||
POP HL
|
||||
LD DE,LenInpData
|
||||
ADD HL,DE
|
||||
LD E,(IX+0x03)
|
||||
ADD HL,DE
|
||||
LD BC,0x0000
|
||||
LD A,(IX+0x02)
|
||||
SUB E
|
||||
JR Z,StCurs1
|
||||
EX AF,AF'
|
||||
DI
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
EX AF,AF'
|
||||
StCurs0 EX AF,AF'
|
||||
LD E,(HL)
|
||||
INC HL
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
EX AF,AF'
|
||||
DEC A
|
||||
JR NZ,StCurs0
|
||||
POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
StCurs1 LD (CurShiftX),BC
|
||||
LD A,0x01
|
||||
LD (CurCursor),A
|
||||
LD A,CursTimer
|
||||
LD (CrTimer),A
|
||||
SetCr LD L,(IX+0x05)
|
||||
LD H,(IX+0x06)
|
||||
LD BC,(CurShiftX)
|
||||
ADD HL,BC
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
GETPORT WINSP.CPU1
|
||||
LD C,A
|
||||
GETPORT WINSP.Y_PORT
|
||||
LD B,A
|
||||
PUSH BC
|
||||
LD DE,CursBuffer
|
||||
LD C,(IX+0x07)
|
||||
DEC C
|
||||
LD A,(IX+0x0B)
|
||||
AND 0x0F
|
||||
LD B,A
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
OR B
|
||||
LD B,A
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x09
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD A,(HL)
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD (DE),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
EI
|
||||
POP BC
|
||||
LD A,B
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD A,C
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
ResCursor LD L,(IX+0x05)
|
||||
LD H,(IX+0x06)
|
||||
LD BC,(CurShiftX)
|
||||
ADD HL,BC
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
GETPORT WINSP.CPU1
|
||||
LD C,A
|
||||
GETPORT WINSP.Y_PORT
|
||||
LD B,A
|
||||
PUSH BC
|
||||
LD DE,CursBuffer
|
||||
LD B,(IX+0x07)
|
||||
DEC B
|
||||
LD C,WINSP.Y_PORT
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x09
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(DE)
|
||||
OUT (C),B
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EI
|
||||
POP BC
|
||||
LD A,B
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD A,C
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
ChCursor LD HL,CrTimer
|
||||
DEC (HL)
|
||||
RET NZ
|
||||
LD (HL),CursTimer
|
||||
LD IX,(InpLnData)
|
||||
LD A,(CurCursor)
|
||||
XOR 0x01
|
||||
LD (CurCursor),A
|
||||
JR Z,ResCursor
|
||||
JP SetCr
|
||||
|
||||
CurShiftX DEFW 0x00
|
||||
CrTimer DEFB 0x00
|
||||
CurCursor DEFB 0x00
|
||||
CursBuffer DB 9 DUP 0
|
570
fnmain.a80
Normal file
570
fnmain.a80
Normal file
@ -0,0 +1,570 @@
|
||||
|
||||
; LAST UPDATE: 26.05.2025 savelij
|
||||
|
||||
;[]=======================================================================[]
|
||||
; FLEX NAVIGATOR ;
|
||||
; v1.11 ;
|
||||
; Last edition: 03/02/2000 ;
|
||||
;[]=======================================================================[]
|
||||
|
||||
; flex navigator equs
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
; org BASE_ADDR ;0x8000
|
||||
; section .bss
|
||||
|
||||
;WorkBuffer: EQU 0x8000
|
||||
;resb 0x400 ; work buffer for func/procs
|
||||
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
; ; org 0x8400
|
||||
; section .bss
|
||||
|
||||
;PagesList: EQU 0x8400
|
||||
;resb 0x100 ; buffer for memory pages
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
; ; org 0x8500
|
||||
; section .text
|
||||
PHASE BASE_ADDR
|
||||
START_BLOCK_1
|
||||
|
||||
;[]=======================================================================[]
|
||||
; section .text
|
||||
|
||||
;EntryPoint:
|
||||
JP StartPoint ; entry point
|
||||
|
||||
JP ClearScreen ; 8603->86BB
|
||||
JP MakeWindow ; 8606->86F0
|
||||
JP InvertRectan ; 8609->8DA0
|
||||
JP PrnTxtLnIFF ; 860C->8FB0
|
||||
JP PrnTxtLnNorm ; 860F->9024
|
||||
JP PrnTxtLnNormC ; 8612->909B
|
||||
JP PrnRangPathL ; 8615->8E48
|
||||
JP PrnRangPathR ; 8618->8EB2
|
||||
JP PrnRangPathC ; 861B->8F36
|
||||
JP InputLine ; 861E->915F
|
||||
JP InputLine.InpLnExtN ; 8621->9205
|
||||
JP InputLine.InpLnExtC ; 8624->920F
|
||||
JP DOSError ; 8627->86A8
|
||||
JP InitScrollBar ; 862A->96EB
|
||||
JP PrnHScrBar ; 862D->9729
|
||||
JP PrnVScrBar ; 8630->9882
|
||||
JP InitProcess ; 8633->99DA
|
||||
JP PrnProcess ; 8636->9A39
|
||||
JP InitScrollBar
|
||||
|
||||
DB JUMPS.JUMPSIZE * 4 DUP 0xC9
|
||||
|
||||
JP ResFire ; 8648->9B01
|
||||
JP TestCoords ; 864B->9B10
|
||||
JP SetCMOSPrint ; 864E->9EA9
|
||||
JP ResCMOSPrint ; 8651->9EF3
|
||||
JP SetClock ; 8654->A08E
|
||||
JP SetMouse ; 8657->A0BB
|
||||
|
||||
DB JUMPS.JUMPSIZE * 4 DUP 0xC9
|
||||
|
||||
JP ConvNumTxt40 ; 8666->A1F7
|
||||
JP MoveBytes ; 8669->A3B6
|
||||
JP MoveBytesUp ; 866C->A3E3
|
||||
JP Mult8 ; 866F->A0E8
|
||||
JP Mult16X8 ; 8672->A124
|
||||
JP Mult16 ; 8675->A110
|
||||
JP Mult16X16 ; 8678->A124
|
||||
JP Mult32 ; 867B->A149
|
||||
JP Divis16X16 ; 867E->A16B
|
||||
JP Divis24X16 ; 8681->A195
|
||||
JP Divis32X16 ; 8684->A1B8
|
||||
JP Divis32 ; 8687->A1CD
|
||||
JP ConvNumTxt32 ; 868A->A236
|
||||
JP ConvNumTxt16 ; 868D->A2AA
|
||||
JP ConvNumTxt8 ; 8690->A2DE
|
||||
JP ConvTxtNum32 ; 8693->A35D
|
||||
JP ConvTxtNum16 ; 8696->A395
|
||||
JP Resident ; 8699->A40B
|
||||
|
||||
DB 0xC0 - LOW ($) DUP 0xC9
|
||||
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
; flex navigator settings
|
||||
NUM_DEVICES DB 0 ; Š®«-¢® ãáâனáâ¢
|
||||
TreeFlag DB 0 ; ”« £ ¤¥à¥¢
|
||||
CMOSFlag DB 0 ; ”« £ CMOS 0 - ¥â
|
||||
; 1 - ¥áâì
|
||||
MouseFlag DB 1 ; ”« £ ¬ëè¨ 0 - ¥â
|
||||
; 1 - ¥áâì
|
||||
CMOSPrint: DB 1
|
||||
RAMPAGES
|
||||
.FNPAGESID DB 0 ; ˆ¤¥ä.¯ ¬ï⨠£¤¥ FN
|
||||
.FNFUNCT DB 0 ; ‘âà ¨æ á äãªæ¨ï¬¨ FN
|
||||
.FNVIEW DB 0 ; ‘âà ¨æ á FileViewer
|
||||
.FNEDIT DB 0 ; ‘âà ¨æ á FileEditor
|
||||
.FNHELP DB 0 ; ‘âà ¨æ FN HELP
|
||||
.FNFONT DB 0 ; ‘âà ¨æ èà¨ä⮢
|
||||
.BufferID DB 0 ; ˆ¤¥â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à
|
||||
.FLX DB 0 ; ‘âà ¨æ ¤«ï ¯®¤£à㧪¨ FLX ¯à®á¬®âà. FLX ã⨫¨â
|
||||
.LEFTPANEL DB 0 ; ‘âà ¨æ ª â «®£ ‹¥¢®© ¯ ¥«¨
|
||||
.RIGHTPANEL DB 0 ; ‘âà ¨æ ª â «®£ <20>à ¢®© ¯ ¥«¨
|
||||
; <20>ãä¥àë¥ áâà ¨æë ¯®¤ ¨â¥à䥩á
|
||||
.BuffPg1 DB 0
|
||||
DB 0
|
||||
.BuffPg3 DB 0
|
||||
DB 0
|
||||
DB 0
|
||||
|
||||
DB LOW (-$) DUP 0
|
||||
|
||||
;UI palette & stack memory
|
||||
;PALETTE: B G R
|
||||
DB 0x00,0x00,0x00,0x00 ; Black 00 00
|
||||
DB 0x00,0x00,0xFF,0x00 ; B.Red 01
|
||||
DB 0x00,0x80,0x00,0x00 ; Green 02 08
|
||||
DB 0x00,0xFF,0xFF,0x00 ; B.Yellow 03
|
||||
DB 0x80,0x00,0x00,0x00 ; Blue 04 10
|
||||
DB 0xFF,0xFF,0x00,0x00 ; Invert paper 05
|
||||
DB 0x80,0x00,0x00,0x00 ; Invert ink 06 18
|
||||
DB 0x80,0x80,0x80,0x00 ; BlackGray 07
|
||||
DB 0xC0,0xC0,0xC0,0x00 ; HighGray 08 20
|
||||
DB 0x80,0x00,0x00,0x00 ; Panel 09
|
||||
DB 0xFF,0xFF,0x00,0x00 ; Files 0A 28
|
||||
DB 0x00,0xFF,0xFF,0x00 ; Select Files 0B
|
||||
DB 0x00,0xFF,0xFF,0x00 ; InvSel Files 0C 30
|
||||
DB 0xC0,0xC0,0xC0,0x00 ; Reserved 0D
|
||||
DB 0xFF,0xFF,0xFF,0x00 ; White 0E 38
|
||||
DB 0xFF,0xFF,0xFF,0x00 ; White 0F
|
||||
|
||||
DOSError EX AF,AF'
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFUNCT)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EX AF,AF'
|
||||
CALL DOSErrorR
|
||||
EX AF,AF'
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EX AF,AF'
|
||||
RET
|
||||
|
||||
include fnwin.a80
|
||||
include fnprint.a80
|
||||
include fninput.a80
|
||||
include fnbar.a80
|
||||
include fnmouse.a80
|
||||
include fnsys.a80
|
||||
|
||||
;[]=======================================================================[]
|
||||
;‘â àâ
|
||||
StartPoint: DI
|
||||
LD SP,STACK
|
||||
ReStartPoint:
|
||||
SETPORT BORDER,0
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
CALL InitVideoMode
|
||||
CALL InitDrivers
|
||||
CALL InitScreen
|
||||
CALL ClearDOSline
|
||||
SUB A
|
||||
CALL InitPanels
|
||||
CALL ResFire
|
||||
MainLoop: LD IX,FilePanelLeft
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
JR Z,.L1
|
||||
LD IX,FilePanelRight
|
||||
.L1 CALL TestCoords
|
||||
CALL TestKeys
|
||||
CALL C,DOSline
|
||||
LD A,(TreeFlag)
|
||||
OR A
|
||||
IF TREE_REZID
|
||||
CALL NZ,RESIDENT.TestTree
|
||||
ELSE
|
||||
CALL NZ,TestTreeR
|
||||
ENDIF
|
||||
JR MainLoop
|
||||
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
TestKeys
|
||||
SPDSS DSSF.TESTKEY
|
||||
JR Z,KeyExit
|
||||
RES 7,D
|
||||
LD A,B
|
||||
AND KEYBSTAT.M_ALT | KEYBSTAT.M_CTRL
|
||||
CP KEYBSTAT.M_ALT | KEYBSTAT.M_CTRL
|
||||
RET Z
|
||||
LD IX,HOTKEYS.SHIFTKeys
|
||||
LD A,B
|
||||
AND KEYBSTAT.M_LEFTSHIFT | KEYBSTAT.M_RIGHTSHIFT
|
||||
JR NZ,.L1
|
||||
LD IX,HOTKEYS.CTRLKeys
|
||||
BIT KEYBSTAT.B_CTRL,B
|
||||
JR NZ,.L1
|
||||
LD IX,HOTKEYS.ALTKeys
|
||||
BIT KEYBSTAT.B_ALT,B
|
||||
JR NZ,.L1
|
||||
LD IX,HOTKEYS.ASCIIKeys
|
||||
.L1 LD L,(IX+0x00) ; ᪠ª®¤
|
||||
INC IX
|
||||
INC L
|
||||
SCF
|
||||
RET Z
|
||||
DEC L
|
||||
LD H,(IX+0x00) ; ASCII ª®¤
|
||||
INC IX
|
||||
LD C,(IX+0x00) ; LOW ¤à¥á ¢ë§®¢
|
||||
INC IX
|
||||
LD B,(IX+0x00) ; HIGH ¤à¥á ¢ë§®¢
|
||||
INC IX
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR NZ,.L1
|
||||
LD (KeyCALL),BC
|
||||
SPDSS DSSF.SCANKEY
|
||||
CALL 0x0000
|
||||
KeyCALL EQU $-2
|
||||
KeyExit XOR A
|
||||
RET
|
||||
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
MouseOnOff LD A,(MouseFlag)
|
||||
XOR 0x01
|
||||
LD (MouseFlag),A
|
||||
LD C,MOUSEF.INIT
|
||||
JR NZ,.L1
|
||||
LD C,MOUSEF.HIDE
|
||||
.L1
|
||||
SPMOUSE
|
||||
RET
|
||||
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
ComExit CALL ResDrivers
|
||||
CALL ResVideoMode
|
||||
LD HL,thanks
|
||||
SPDSS DSSF.PCHARS
|
||||
LD A,(RAMPAGES.FNPAGESID)
|
||||
SPDSS DSSF.FREEMEM
|
||||
SPDSS DSSF.EXIT,0
|
||||
|
||||
thanks DZ "\r\nThank you for using Flex Navigator.\r\n"
|
||||
|
||||
; (ADR) + BCDE = BCDE
|
||||
BCDEHLP: LD A,(HL)
|
||||
INC HL
|
||||
ADD A,E
|
||||
LD E,A
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
ADC A,D
|
||||
LD D,A
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
ADC A,C
|
||||
LD C,A
|
||||
LD A,(HL)
|
||||
ADC A,B
|
||||
LD B,A
|
||||
RET
|
||||
|
||||
GET_DWORD: LD E,(HL)
|
||||
INC HL
|
||||
LD D,(HL)
|
||||
INC HL
|
||||
LD C,(HL)
|
||||
INC HL
|
||||
LD B,(HL)
|
||||
RET
|
||||
|
||||
SET_DWORD: LD (HL),E
|
||||
INC HL
|
||||
LD (HL),D
|
||||
INC HL
|
||||
LD (HL),C
|
||||
INC HL
|
||||
LD (HL),B
|
||||
RET
|
||||
|
||||
;[]=======================================================================[]
|
||||
; discription of flex navigator file panels
|
||||
LeftPanel: DB 0x80 ; ”« £ ¯ ¥«¨ ¡¨â 7 - ¡¨â ¢ë¤¥«¥®áâ¨
|
||||
; ¡¨â 0 - ®¬¥à ¯ ¥«¨
|
||||
DB 0x00 ; ”« £ ¢¨¤ ¯ ¥«¨ 0 - ªà âª ï ¯ ¥«ì
|
||||
; ¡¨â 0 - ¯®¤à®¡ ï ¯ ¥«ì
|
||||
; ¡¨â 1 - ¤¥à¥¢®
|
||||
; ¡¨â 2 - 㦠⮥ ¤¥à¥¢®
|
||||
DB 0x01 ; ‚¨¤ á®àâ¨à®¢ª¨
|
||||
; ¡¨â 0 - ¯® ¨¬¥¨
|
||||
; ¡¨â 1 - ¯® à áè¨à¥¨î
|
||||
; ¡¨â 2 - ¯® à §¬¥àã
|
||||
; ¡¨â 3 - ¯® ¤ â¥
|
||||
; ¡¨â 4 - execute file
|
||||
; ¡¨â 5 - file mask
|
||||
DW 4 ; X ¯®§¨æ¨ï ¯ ¥«¨
|
||||
DW 0 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 0 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 0 ; Max ¤«¨ áªà®«¡ à
|
||||
DW 0 ; ⥪.¤«¨ áªà®«¡ à
|
||||
DW 0 ; €¤à¥á ï祩ª¨ BarLeft
|
||||
DW 0 ; €¤à¥á ï祩ª¨ BarRight
|
||||
DW 0 ; Š®«-¢® ä ©«®¢ áâà ¨æ¥
|
||||
DW 0 ; ޡ饥 ª®«-¢® ä ©«®¢
|
||||
DW 0 ; <20>¥à¢ë© ä ©« áâà ¨æ¥
|
||||
DW 0 ; T¥ªã騩 ä ©« áâà ¨æ¥
|
||||
DW 0 ; Š®«-¢® ¬ ન஢ ëå ä ©«®¢
|
||||
DD 0 ; Š®«-¢® ¬ ન஢ ëå ¡ ©â®¢
|
||||
DB 0
|
||||
DB "*.*" ; Ma᪠¤«ï ä ©«®¢
|
||||
DB 0x0A DUP 0
|
||||
DB 0x100 DUP 0 ; <20>ãâì ª ⥪ã饩 ¤¨à¥ªâ®à¨¨
|
||||
|
||||
RightPanel: DB 0x01 ; ”« £ ¯ ¥«¨ ¡¨â 7 - ¡¨â ¢ë¤¥«¥®áâ¨
|
||||
; ¡¨â 0 - ®¬¥à ¯ ¥«¨
|
||||
DB 0x00 ; ”« £ ¢¨¤ ¯ ¥«¨ 0 - ªà âª ï ¯ ¥«ì
|
||||
; ¡¨â 0 - ¯®¤à®¡ ï ¯ ¥«ì
|
||||
; ¡¨â 1 - ¤¥à¥¢®
|
||||
; ¡¨â 2 - 㦠⮥ ¤¥à¥¢®
|
||||
DB 0x01 ; ‚¨¤ á®àâ¨à®¢ª¨
|
||||
; ¡¨â 0 - ¯® ¨¬¥¨
|
||||
; ¡¨â 1 - ¯® à áè¨à¥¨î
|
||||
; ¡¨â 2 - ¯® à §¬¥àã
|
||||
; ¡¨â 3 - ¯® ¤ â¥
|
||||
; ¡¨â 4 - execute file
|
||||
; ¡¨â 5 - file mask
|
||||
DW 324 ; X ¯®§¨æ¨ï ¯ ¥«¨
|
||||
DW 0 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 0 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 0 ; Max ¤«¨ áªà®«¡ à
|
||||
DW 0 ; ⥪.¤«¨ áªà®«¡ à
|
||||
DW 0 ; €¤à¥á ï祩ª¨ BarLeft
|
||||
DW 0 ; €¤à¥á ï祩ª¨ BarRight
|
||||
DW 0 ; Š®«-¢® ä ©«®¢ áâà ¨æ¥
|
||||
DW 0 ; ޡ饥 ª®«-¢® ä ©«®¢
|
||||
DW 0 ; <20>¥à¢ë© ä ©« áâà ¨æ¥
|
||||
DW 0 ; T¥ªã騩 ä ©« áâà ¨æ¥
|
||||
DW 0 ; Š®«-¢® ¬ ન஢ ëå ä ©«®¢
|
||||
DD 0 ; Š®«-¢® ¬ ન஢ ëå ¡ ©â®¢
|
||||
DB 0
|
||||
DB "*.*" ; Ma᪠¤«ï ä ©«®¢
|
||||
DB 0x0A DUP 0
|
||||
DB 0x100 DUP 0 ; <20>ãâì ª ⥪ã饩 ¤¨à¥ªâ®à¨¨
|
||||
|
||||
;[]=======================================================================[]
|
||||
|
||||
START_SORT
|
||||
include fnsort.a80
|
||||
END_SORT
|
||||
IF TREE_REZID = 0
|
||||
START_TREE
|
||||
include fntree.a80
|
||||
END_TREE
|
||||
ENDIF
|
||||
include fnpanel.a80
|
||||
include fndos.a80
|
||||
|
||||
include fnwork.a80
|
||||
|
||||
; ¢ë§®¢ äãªæ¨¨ ¢ áâà ¨æ å
|
||||
RESIDENT
|
||||
;[]----------------------------------------------------------[]
|
||||
.CopyFiles: LD DE,CopyFilesR
|
||||
; resident 2
|
||||
.FunctResident: LD A,(RAMPAGES.FNFUNCT)
|
||||
LD C,WINSP.CPU1
|
||||
JP Resident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.ReName: LD DE,ReNameR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.MakeDIR: LD DE,MakeDIRR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.DeleteFiles: LD DE,DeleteFilesR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.Quit: CALL ResInvert
|
||||
.QuitL1 LD DE,QuitConfirmWin
|
||||
CALL .FunctResident
|
||||
JP C,SetInvert
|
||||
LD HL,ComExit
|
||||
EX (SP),HL
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
.Setup: LD DE,SetupR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.FileInfo: CALL ResInvert
|
||||
.FileInfoL2 LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD DE,FileInfoR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.PrintFile: CALL ResInvert
|
||||
.PrintFileL3 LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD DE,PrintFileR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.DiskInfo: CALL ResInvert
|
||||
.DiskInfoL4: LD DE,DiskInfoR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.SystemInfo: LD DE,SystemInfoR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.Version: LD DE,VersionR
|
||||
jr .FunctResident
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
.QSearch: LD DE,QSearchR
|
||||
jr .FunctResident
|
||||
|
||||
IF TREE_REZID
|
||||
.TestTree LD DE,TestTreeR
|
||||
jr .FunctResident
|
||||
|
||||
.TestTreeBeg LD DE,TestTreeR.TestTreeBeg
|
||||
jr .FunctResident
|
||||
|
||||
.ReadTree LD DE,ReadTreeR
|
||||
jr .FunctResident
|
||||
|
||||
.MakeTreePath LD DE,MakeTreePathR
|
||||
jr .FunctResident
|
||||
|
||||
.FindTreeDIR LD DE,FindTreeDIRR
|
||||
jr .FunctResident
|
||||
ENDIF
|
||||
|
||||
;[]==========================================================[]
|
||||
.MarkFile: LD DE,MarkFileR
|
||||
; resident 3
|
||||
.HelpResident: LD A,(RAMPAGES.FNHELP)
|
||||
LD C,WINSP.CPU1
|
||||
JP Resident
|
||||
|
||||
IF MARK_DIR
|
||||
.GetDirSize: LD DE,GetDirSizeR
|
||||
JR .HelpResident
|
||||
ENDIF
|
||||
|
||||
.UnMarkGroup: LD DE,UnMarkGroupR
|
||||
jr .HelpResident
|
||||
|
||||
.UnMarkGroupN: LD DE,UnMarkGroupRN
|
||||
jr .HelpResident
|
||||
|
||||
.MarkGroup: LD DE,MarkGroupR
|
||||
jr .HelpResident
|
||||
|
||||
.MarkGroupN: LD DE,MarkGroupRN
|
||||
jr .HelpResident
|
||||
|
||||
.SelectAll: LD DE,SelectAllR
|
||||
jr .HelpResident
|
||||
|
||||
.SelectAllN: LD DE,SelectAllRN
|
||||
jr .HelpResident
|
||||
|
||||
.UnSelectAll: LD DE,UnSelectAllR
|
||||
jr .HelpResident
|
||||
|
||||
.UnSelectAllN: LD DE,UnSelectAllRN
|
||||
jr .HelpResident
|
||||
|
||||
.InvertSelect: LD DE,InvertSelectR
|
||||
jr .HelpResident
|
||||
|
||||
.InvertSelectN: LD DE,InvertSelectRN
|
||||
jr .HelpResident
|
||||
|
||||
include fnmenu.a80
|
||||
include fninit.a80
|
||||
include fndosline.a80
|
||||
include fntab.a80
|
||||
END_BLOCK_1:
|
||||
DEPHASE ; BASE_ADDR
|
||||
|
||||
;[]=======================================================================[]
|
||||
PHASE 0x4000
|
||||
; section .text
|
||||
START_BLOCK_2
|
||||
FlexDIRECTORY: DB 0x100 DUP 0
|
||||
|
||||
include rez2_fnfunct.a80
|
||||
include rez2_fnmisc.a80
|
||||
include rez2_fnsearch.a80
|
||||
include rez2_fnconfig.a80
|
||||
include rez2_fnerror.a80
|
||||
include rez2_fntab1.a80
|
||||
IF TREE_REZID
|
||||
include fntree.a80
|
||||
ENDIF
|
||||
END_BLOCK_2:
|
||||
DEPHASE ; 0x4000
|
||||
|
||||
START_BLOCK_EDITOR
|
||||
PHASE 0xC000
|
||||
include plugins/fnviewer/fviewer.a80
|
||||
DEPHASE ; 0xC000
|
||||
END_BLOCK_EDITOR
|
||||
|
||||
START_BLOCK_VIEWER
|
||||
PHASE 0xC000
|
||||
include plugins/fneditor/feditor.a80
|
||||
DEPHASE ; 0xC000
|
||||
END_BLOCK_VIEWER
|
||||
|
||||
;[]-----------------------------------------------------------------------[]
|
||||
PHASE 0x4000
|
||||
; section .text
|
||||
START_BLOCK_3
|
||||
|
||||
DOShistory: DB DOShistory_Size DUP 0 ;times 0x200 db 0
|
||||
fn_ext: DB WorkBuffer_Size DUP 0 ;times 0x400 db 0
|
||||
fnview_ext: DB WorkBuffer_Size DUP 0 ;times 0x400 db 0
|
||||
fnedit_ext: DB WorkBuffer_Size DUP 0 ;times 0x400 db 0
|
||||
|
||||
include rez3_fnnext.a80
|
||||
include rez3_fnmark.a80
|
||||
|
||||
WINSP_CPU EQU WINSP.CPU3 ; ®ª® ¯à®¥æ¨à®¢ ¨ï
|
||||
WINSP_ADR EQU 0xC000 ; ¤à¥á ®ª
|
||||
|
||||
include plugins/help/help.a80
|
||||
HelpText: include plugins/help/help_t.a80
|
||||
HelpTextEnd:
|
||||
END_BLOCK_3:
|
||||
DEPHASE ; 0x4000
|
||||
|
||||
;[]=======================================================================[]
|
||||
PHASE 0xC000
|
||||
; section .data
|
||||
START_BLOCK_4
|
||||
|
||||
FONT_RAW_PACK binclude tmp/font_raw.pack
|
||||
IFFFONT_RAW_PACK binclude tmp/iff_font_raw.pack
|
||||
IFFFONT_RAW_END
|
||||
|
||||
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
|
1232
fnmenu.a80
Normal file
1232
fnmenu.a80
Normal file
File diff suppressed because it is too large
Load Diff
498
fnmouse.a80
Normal file
498
fnmouse.a80
Normal file
@ -0,0 +1,498 @@
|
||||
|
||||
; LAST UPDATE: 20.04.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ResFire: LD A,(MouseFlag)
|
||||
OR A
|
||||
RET Z
|
||||
RsFire1 CALL TestCMOS
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
OR A
|
||||
RET Z
|
||||
JR RsFire1
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>஢¥àª ª®®à¤¨ â ¬ëè¨ ¯® â ¡«¨æ¥
|
||||
; <20> ¢å®¤:
|
||||
; IX - €¤à¥á â ¡«¨æë
|
||||
TestCoords: CALL TestCMOS
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
EX AF,AF'
|
||||
LD BC,0x0000
|
||||
.PrvTabl EQU $-2
|
||||
LD A,IXL
|
||||
CP C
|
||||
JR NZ,.L2
|
||||
LD A,IXH
|
||||
CP B
|
||||
JR Z,.L3
|
||||
.L2 LD (.PrvTabl),IX
|
||||
CALL ResMInvert
|
||||
LD BC,ResFire
|
||||
PUSH BC
|
||||
SUB A
|
||||
LD (RunFlag),A
|
||||
JR .L4
|
||||
|
||||
.L3 LD A,0x01
|
||||
LD (RunFlag),A
|
||||
EX AF,AF'
|
||||
OR A
|
||||
JR NZ,.L4
|
||||
PUSH HL
|
||||
LD BC,0x0000
|
||||
.PrMousX EQU $-2
|
||||
OR A
|
||||
SBC HL,BC
|
||||
POP HL
|
||||
JR NZ,.L4
|
||||
EX DE,HL
|
||||
PUSH HL
|
||||
LD BC,0x0000
|
||||
.PrMousY EQU $-2
|
||||
OR A
|
||||
SBC HL,BC
|
||||
POP HL
|
||||
EX DE,HL
|
||||
RET Z
|
||||
.L4 LD (.PrMousX),HL
|
||||
LD (.PrMousY),DE
|
||||
CoordLp LD C,(IX+FORMTABL.XMINL) ; 00
|
||||
LD B,(IX+FORMTABL.XMINH) ; 01
|
||||
OR A
|
||||
SBC HL,BC
|
||||
ADD HL,BC
|
||||
JP C,NxtCrds
|
||||
LD C,(IX+FORMTABL.XMAXL) ; 02
|
||||
LD B,(IX+FORMTABL.XMAXH) ; 03
|
||||
SBC HL,BC
|
||||
ADD HL,BC
|
||||
JP NC,NxtCrds
|
||||
LD C,(IX+FORMTABL.YMINL) ; 04
|
||||
LD B,(IX+FORMTABL.YMINH) ; 05
|
||||
OR A
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
JP C,NxtCrds
|
||||
LD C,(IX+FORMTABL.YMAXL) ; 06
|
||||
LD B,(IX+FORMTABL.YMAXH) ; 07
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
JP NC,NxtCrds
|
||||
LD C,A
|
||||
LD A,(MouseFlag)
|
||||
OR A
|
||||
LD A,C
|
||||
JR Z,CoordL1
|
||||
BIT FORMTABL.B_INV1,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,SetSelect1
|
||||
CoordL1 BIT FORMTABL.B_STATICINV,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,SetSelect2
|
||||
LD C,0x00
|
||||
RunFlag EQU $-1
|
||||
DEC C
|
||||
JP NZ,NxtCrds1
|
||||
LD C,A
|
||||
LD A,(MouseFlag)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,C
|
||||
OR A ; ¥â ®£ï
|
||||
JR Z,Execute1
|
||||
BIT 0,A
|
||||
JR Z,Execute2
|
||||
BIT FORMTABL.B_BUTTON,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,PushButton
|
||||
CCF
|
||||
RET NC
|
||||
OR A
|
||||
BIT FORMTABL.B_WORKBUTTON,(IX+FORMTABL.FLAGL) ; 08 ; à ¡®ç ï ª®¯ª
|
||||
RET NZ
|
||||
LD C,(IX+FORMTABL.FIRELEFTL) ; 0C ; § ¯ã᪠¯® «¥¢®© ª®¯ª¥
|
||||
LD B,(IX+FORMTABL.FIRELEFTH) ; 0D
|
||||
LD A,B
|
||||
OR C
|
||||
JP Z,NxtCrds1
|
||||
BIT FORMTABL.B_EXECNORETLMB,(IX+FORMTABL.FLAGL) ; 08 ; § ¯ã᪠¡¥§ ¢®§¢à â
|
||||
JR Z,.L1
|
||||
POP AF
|
||||
.L1 PUSH BC
|
||||
BIT FORMTABL.B_INV1,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,ResSelect1
|
||||
CALL ResSelect2
|
||||
OR A
|
||||
BIT FORMTABL.B_CLOSEWIN,(IX+FORMTABL.FLAGH) ; 09
|
||||
RET Z
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
Execute1 LD C,(IX+FORMTABL.FIRENOL) ; 0A ; § ¯ã᪠¡¥§ ®£ï
|
||||
LD B,(IX+FORMTABL.FIRENOH) ; 0B
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,NxtCrds1
|
||||
BIT FORMTABL.B_EXECONLY,(IX+FORMTABL.FLAGL) ; 08 ; § ¯ã᪠¡¥§ ¢®§¢à â
|
||||
JR Z,.L1
|
||||
POP AF
|
||||
.L1 PUSH BC
|
||||
BIT FORMTABL.B_INV1,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,ResSelect1
|
||||
CALL ResSelect2
|
||||
OR A
|
||||
BIT FORMTABL.B_EXECNOPRESS,(IX+FORMTABL.FLAGL) ; 08
|
||||
RET Z
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
Execute2 LD C,(IX+FORMTABL.FIRERIGHTL) ; 0E ; § ¯ã᪠¯® ¯à ¢®© ª®¯ª¥
|
||||
LD B,(IX+FORMTABL.FIRERIGHTH) ; 0F
|
||||
LD A,B
|
||||
OR C
|
||||
JR Z,NxtCrds1
|
||||
BIT FORMTABL.B_EXECNORETRMB,(IX+FORMTABL.FLAGL) ; 08 ; § ¯ã᪠¡¥§ ¢®§¢à â
|
||||
JR Z,.L1
|
||||
POP AF
|
||||
.L1 PUSH BC
|
||||
BIT FORMTABL.B_INV1,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,ResSelect1
|
||||
CALL ResSelect2
|
||||
OR A
|
||||
BIT FORMTABL.B_WORKBUTTON,(IX+FORMTABL.FLAGH) ; 09
|
||||
RET Z
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
NxtCrds LD C,A
|
||||
LD A,(MouseFlag)
|
||||
OR A
|
||||
LD A,C
|
||||
JR Z,NxtCrds0
|
||||
BIT FORMTABL.B_INV1,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,ResSelect1
|
||||
NxtCrds0 BIT FORMTABL.B_STATICINV,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,SetSelect2
|
||||
NxtCrds1 LD BC,FORMTABL.SIZE;0x0010
|
||||
ADD IX,BC
|
||||
BIT FORMTABL.B_ENDTABL,(IX+FORMTABL.XMINH) ; ª®¥æ â ¡«¨æë?
|
||||
JP Z,CoordLp
|
||||
OR A
|
||||
RET
|
||||
|
||||
ResMInvert PUSH IX
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH AF
|
||||
LD BC,FORMTABL.SIZE;0x0010
|
||||
ResCrds RES FORMTABL.B_FIRENOINV,(IX+FORMTABL.FLAGH) ; 09
|
||||
RES 6,(IX+FORMTABL.FLAGH) ; 09
|
||||
ADD IX,BC
|
||||
BIT FORMTABL.B_ENDTABL,(IX+FORMTABL.XMINH)
|
||||
JR Z,ResCrds
|
||||
POP AF
|
||||
POP DE
|
||||
POP HL
|
||||
POP IX
|
||||
RET
|
||||
|
||||
SetSelect1 BIT FORMTABL.B_FIRENOINV,(IX+FORMTABL.FLAGH) ; 09
|
||||
RET NZ
|
||||
SET FORMTABL.B_FIRENOINV,(IX+FORMTABL.FLAGH) ; 09
|
||||
PUSH AF
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
LD L,(IX+FORMTABL.XMINL) ; 00
|
||||
LD H,(IX+FORMTABL.XMINH) ; 01
|
||||
LD C,(IX+FORMTABL.YMINL) ; 04
|
||||
LD B,(IX+FORMTABL.YMINH) ; 05
|
||||
LD A,(IX+FORMTABL.XMAXL) ; 02
|
||||
SUB (IX+FORMTABL.XMINL) ; 00
|
||||
EX AF,AF'
|
||||
LD A,(IX+FORMTABL.YMAXL) ; 06
|
||||
SUB (IX+FORMTABL.YMINL) ; 04
|
||||
LD IXH,A
|
||||
EX AF,AF'
|
||||
SRL A
|
||||
LD IXL,A
|
||||
LD DE,(COLORP.HIGHGRAY + COLORI.BLACK) << 8 | (COLORP.BLUE + COLORI.WHITE);0x804F
|
||||
CALL InvertRectan
|
||||
POP IX
|
||||
PUSH IX
|
||||
NxCrds1 LD BC,FORMTABL.SIZE;0x0010
|
||||
ADD IX,BC
|
||||
BIT FORMTABL.B_ENDTABL,(IX+FORMTABL.XMINH) ; 01 ; ¯à®¢¥àª ª®æ â ¡«¨æë?
|
||||
JR NZ,NxCrds2
|
||||
BIT FORMTABL.B_INV1,(IX+FORMTABL.FLAGL) ; 08
|
||||
CALL NZ,ResSelect1
|
||||
JR NxCrds1
|
||||
|
||||
NxCrds2 POP IX
|
||||
POP DE
|
||||
POP HL
|
||||
POP AF
|
||||
RET
|
||||
|
||||
ResSelect1 BIT FORMTABL.B_FIRENOINV,(IX+FORMTABL.FLAGH) ; 09
|
||||
RET Z
|
||||
RES FORMTABL.B_FIRENOINV,(IX+FORMTABL.FLAGH) ; 09
|
||||
PUSH IX
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD L,(IX+FORMTABL.XMINL) ; 00
|
||||
LD H,(IX+FORMTABL.XMINH) ; 01
|
||||
LD C,(IX+FORMTABL.YMINL) ; 04
|
||||
LD B,(IX+FORMTABL.YMINH) ; 05
|
||||
LD A,(IX+FORMTABL.XMAXL) ; 02
|
||||
SUB (IX+FORMTABL.XMINL) ; 00
|
||||
EX AF,AF'
|
||||
LD A,(IX+FORMTABL.YMAXL) ; 06
|
||||
SUB (IX+FORMTABL.YMINL) ; 04
|
||||
LD IXH,A
|
||||
EX AF,AF'
|
||||
SRL A
|
||||
LD IXL,A
|
||||
LD DE,(COLORP.BLUE + COLORI.WHITE) << 8 | (COLORP.HIGHGRAY + COLORI.BLACK);0x4F80
|
||||
CALL InvertRectan
|
||||
POP DE
|
||||
POP HL
|
||||
POP IX
|
||||
RET
|
||||
|
||||
SetSelect2 BIT 6,(IX+FORMTABL.FLAGH) ; 09
|
||||
RET NZ
|
||||
SET 6,(IX+FORMTABL.FLAGH) ; 09
|
||||
PUSH IX
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH AF
|
||||
LD L,(IX+FORMTABL.XMINL) ; 00
|
||||
LD H,(IX+FORMTABL.XMINH) ; 01
|
||||
LD C,(IX+FORMTABL.YMINL) ; 04
|
||||
LD B,(IX+FORMTABL.YMINH) ; 05
|
||||
LD A,(IX+FORMTABL.XMAXL) ; 02
|
||||
SUB (IX+FORMTABL.XMINL) ; 00
|
||||
EX AF,AF'
|
||||
LD A,(IX+FORMTABL.YMAXL) ; 06
|
||||
SUB (IX+FORMTABL.YMINL) ; 04
|
||||
LD IXH,A
|
||||
EX AF,AF'
|
||||
SRL A
|
||||
LD IXL,A
|
||||
LD DE,(COLORP.HIGHGRAY + COLORI.BLACK) << 8 | (COLORP.BLUE + COLORI.WHITE);0x804F
|
||||
CALL InvertRectan
|
||||
POP AF
|
||||
POP DE
|
||||
POP HL
|
||||
POP IX
|
||||
RET
|
||||
|
||||
ResSelect2 PUSH HL
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
LD IX,(TestCoords.PrvTabl)
|
||||
LD BC,FORMTABL.SIZE;0x0010
|
||||
NxCrds3 BIT FORMTABL.B_STATICINV,(IX+FORMTABL.FLAGL) ; 08
|
||||
JR NZ,ResSel22
|
||||
ADD IX,BC
|
||||
BIT FORMTABL.B_ENDTABL,(IX+FORMTABL.XMINH) ; 01 ; ¯à®¢¥àª ª®æ â ¡«¨æë?
|
||||
JR NZ,ResSel2E
|
||||
JR NxCrds3
|
||||
|
||||
ResSel22 BIT 6,(IX+FORMTABL.FLAGH) ; 09
|
||||
JR Z,ResSel2E
|
||||
RES 6,(IX+FORMTABL.FLAGH) ; 09
|
||||
LD L,(IX+FORMTABL.XMINL) ; 00
|
||||
LD H,(IX+FORMTABL.XMINH) ; 01
|
||||
LD C,(IX+FORMTABL.YMINL) ; 04
|
||||
LD B,(IX+FORMTABL.YMINH) ; 05
|
||||
LD A,(IX+FORMTABL.XMAXL) ; 02
|
||||
SUB (IX+FORMTABL.XMINL) ; 00
|
||||
EX AF,AF'
|
||||
LD A,(IX+FORMTABL.YMAXL) ; 06
|
||||
SUB (IX+FORMTABL.YMINL) ; 04
|
||||
LD IXH,A
|
||||
EX AF,AF'
|
||||
SRL A
|
||||
LD IXL,A
|
||||
LD DE,(COLORP.BLUE + COLORI.WHITE) << 8 | (COLORP.HIGHGRAY + COLORI.BLACK);0x4F80
|
||||
CALL InvertRectan
|
||||
ResSel2E POP IX
|
||||
POP DE
|
||||
POP HL
|
||||
RET
|
||||
|
||||
PushButton PUSH HL
|
||||
PUSH DE
|
||||
LD L,(IX+FORMTABL.XMINL) ; 00
|
||||
LD H,(IX+FORMTABL.XMINH) ; 01
|
||||
LD E,(IX+FORMTABL.YMINL) ; 04
|
||||
LD D,(IX+FORMTABL.YMINH) ; 05
|
||||
LD A,(IX+FORMTABL.XMAXL) ; 02
|
||||
SUB (IX+FORMTABL.XMINL) ; 00
|
||||
LD C,A
|
||||
LD A,(IX+FORMTABL.YMAXL) ; 06
|
||||
SUB (IX+FORMTABL.YMINL) ; 04
|
||||
LD B,A
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
CALL PutPushBut
|
||||
LD A,0x0A
|
||||
LD (PausePh+1),A
|
||||
PushLp PUSH IX
|
||||
CALL TestRun
|
||||
POP IX
|
||||
PushLp1
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
OR A
|
||||
JR Z,PushButtEx
|
||||
BIT 0,A
|
||||
JR Z,PushButtEx
|
||||
LD C,(IX+FORMTABL.XMINL) ; 00
|
||||
LD B,(IX+FORMTABL.XMINH) ; 01
|
||||
OR A
|
||||
SBC HL,BC
|
||||
ADD HL,BC
|
||||
JR C,PushButtEx
|
||||
LD C,(IX+FORMTABL.XMAXL) ; 02
|
||||
LD B,(IX+FORMTABL.XMAXH) ; 03
|
||||
SBC HL,BC
|
||||
ADD HL,BC
|
||||
CCF
|
||||
JR C,PushButtEx
|
||||
EX DE,HL
|
||||
LD C,(IX+FORMTABL.YMINL) ; 04
|
||||
LD B,(IX+FORMTABL.YMINH) ; 05
|
||||
OR A
|
||||
SBC HL,BC
|
||||
ADD HL,BC
|
||||
JR C,PushButtEx
|
||||
LD C,(IX+FORMTABL.YMAXL) ; 06
|
||||
LD B,(IX+FORMTABL.YMAXH) ; 07
|
||||
SBC HL,BC
|
||||
CCF
|
||||
JR C,PushButtEx
|
||||
PausePh LD A,0x00
|
||||
OR A
|
||||
JR Z,PushLp
|
||||
DEC A
|
||||
LD (PausePh+1),A
|
||||
HALT
|
||||
JR PushLp1
|
||||
|
||||
PushButtEx POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
PUSH AF
|
||||
CALL PutPopBut
|
||||
POP AF
|
||||
POP DE
|
||||
POP HL
|
||||
RET
|
||||
|
||||
TestRun BIT FORMTABL.B_WORKBUTTON,(IX+FORMTABL.FLAGL) ; 08
|
||||
RET Z
|
||||
LD C,(IX+FORMTABL.FIRELEFTL) ; 0C
|
||||
LD B,(IX+FORMTABL.FIRELEFTH) ; 0D
|
||||
PUSH BC
|
||||
RET
|
||||
|
||||
PutPushBut LD A,COLORP.WHITE | COLORI.BLACKGRAY;0xF7
|
||||
JR PutButt
|
||||
|
||||
PutPopBut LD A,COLORP.BLACKGRAY | COLORI.WHITE;0x7F
|
||||
PutButt PUSH IY
|
||||
EX AF,AF'
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
GETPORT WINSP.Y_PORT
|
||||
PUSH AF
|
||||
SRL H
|
||||
RR L
|
||||
SET 6,H
|
||||
LD IYL,E
|
||||
SRL C
|
||||
DEC C
|
||||
DEC C
|
||||
LD A,C
|
||||
LD (ButLen3),A
|
||||
LD A,B
|
||||
SUB 0x02
|
||||
LD (ButLen1),A
|
||||
LD (ButLen2),A
|
||||
ADD A,IYL
|
||||
INC A
|
||||
LD IYH,A
|
||||
EX AF,AF'
|
||||
PUSH AF
|
||||
AND 0xF0
|
||||
LD E,A
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
OR E
|
||||
LD D,A
|
||||
POP AF
|
||||
AND 0x0F
|
||||
LD E,A
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
OR E
|
||||
LD E,A
|
||||
DI
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),E
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
ButLen1 EQU $-1
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),E
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),E
|
||||
INC HL
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
ButLen3 EQU $-1
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL
|
||||
LD (HL),E
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,IYH
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL
|
||||
LD (HL),D
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD B,0x00
|
||||
ADD HL,BC
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
LD (HL),D
|
||||
INC A
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
ButLen2 EQU $-1
|
||||
ACCEL ACCELCMD.FILL_VERT
|
||||
LD (HL),D
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD (HL),D
|
||||
EI
|
||||
POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
POP IY
|
||||
RET
|
1239
fnpanel.a80
Normal file
1239
fnpanel.a80
Normal file
File diff suppressed because it is too large
Load Diff
620
fnprint.a80
Normal file
620
fnprint.a80
Normal file
@ -0,0 +1,620 @@
|
||||
|
||||
; LAST UPDATE: 20.02.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà 640x256
|
||||
; á ®¡à¥§ ¨¥¬ «¥¢®£® ªà ï ⥪áâ
|
||||
; <20> ¢å®¤:
|
||||
; IX - Š®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
; HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
; DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
; BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
; A - 梥⠯¥ç ⨠(7-4¡¨â PAPER, 3-0¡¨â INK)
|
||||
; (ª®¥æ áâப¨ - 0)
|
||||
PrnRangPathL PUSH DE
|
||||
PUSH BC
|
||||
PUSH AF
|
||||
DI
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
LD BC,0x0000
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
PUSH HL
|
||||
LD A,(HL)
|
||||
PrRangL INC HL
|
||||
LD E,A
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,PrRangL
|
||||
PUSH IX
|
||||
POP HL
|
||||
SBC HL,BC
|
||||
LD C,L
|
||||
LD B,H
|
||||
POP HL
|
||||
JR NC,PrRngLE
|
||||
LD A,C
|
||||
SUB 0x1A
|
||||
LD IXL,A
|
||||
LD A,B
|
||||
SBC A,0x00
|
||||
LD IXH,A
|
||||
LD A,(HL)
|
||||
EX AF,AF'
|
||||
INC HL
|
||||
INC HL
|
||||
PrRngL0 LD BC,0x0000
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
PrRngL1 INC HL
|
||||
LD E,A
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
LD A,(HL)
|
||||
CP 0x5C
|
||||
JR NZ,PrRngL1
|
||||
ADD IX,BC
|
||||
JR NC,PrRngL0
|
||||
DEC HL
|
||||
LD (HL),'.'
|
||||
DEC HL
|
||||
LD (HL),'.'
|
||||
DEC HL
|
||||
LD (HL),'\\'
|
||||
DEC HL
|
||||
LD (HL),':'
|
||||
DEC HL
|
||||
EX AF,AF'
|
||||
LD (HL),A
|
||||
PrRngLE POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP AF
|
||||
POP BC
|
||||
POP DE
|
||||
JP PrnTxtLnIFF
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà 640x256
|
||||
; á ®¡à¥§ ¨¥¬ «¥¢®£® ªà ï ⥪áâ
|
||||
; <20> ¢å®¤:
|
||||
; IX - Š®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
; HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
; DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
; BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
; A - 梥⠯¥ç ⨠(7-4¡¨â PAPER, 3-0¡¨â INK)
|
||||
; (ª®¥æ áâப¨ - 0)
|
||||
PrnRangPathR PUSH AF
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
DI
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
LD BC,0x0000
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
PUSH HL
|
||||
LD A,(HL)
|
||||
PrRangR INC HL
|
||||
LD E,A
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,PrRangR
|
||||
PUSH IX
|
||||
POP HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
POP HL
|
||||
JR NC,PrRngRE
|
||||
LD A,E
|
||||
SUB 0x1A
|
||||
LD IXL,A
|
||||
LD A,D
|
||||
SBC A,0x00
|
||||
LD IXH,A
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
LD A,(HL)
|
||||
EX AF,AF'
|
||||
INC HL
|
||||
INC HL
|
||||
PrRngR0 LD BC,0x0000
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
PrRngR1 INC HL
|
||||
LD E,A
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
LD A,(HL)
|
||||
CP 0x5C
|
||||
JR NZ,PrRngR1
|
||||
ADD IX,BC
|
||||
JR NC,PrRngR0
|
||||
DEC HL
|
||||
LD (HL),'.'
|
||||
DEC HL
|
||||
LD (HL),'.'
|
||||
DEC HL
|
||||
LD (HL),'\\'
|
||||
DEC HL
|
||||
LD (HL),':'
|
||||
DEC HL
|
||||
EX AF,AF'
|
||||
LD (HL),A
|
||||
LD BC,0x0000
|
||||
PUSH HL
|
||||
LD A,(HL)
|
||||
PrRngR2 INC HL
|
||||
LD E,A
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,PrRngR2
|
||||
POP HL
|
||||
PrRngRE POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP DE
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
POP BC
|
||||
POP AF
|
||||
JP PrnTxtLnIFF
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà 640x256
|
||||
; á ®¡à¥§ ¨¥¬ «¥¢®£® ªà ï ⥪áâ
|
||||
; <20> ¢å®¤:
|
||||
; IX - Š®«-¢® ¯¨ªá¥«¥© ¯®¤ ¢ë¢®¤ áâப¨
|
||||
; HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
; DE - æ¥âà ¢ë¢®¤ ¯® X
|
||||
; BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
; A - 梥⠯¥ç ⨠(7-4¡¨â PAPER, 3-0¡¨â INK)
|
||||
; (ª®¥æ áâப¨ - 0)
|
||||
PrnRangPathC PUSH BC
|
||||
PUSH AF
|
||||
PUSH DE
|
||||
DI
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
PrnRangC LD BC,0x0000
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
PUSH HL
|
||||
LD A,(HL)
|
||||
PrRangC INC HL
|
||||
LD E,A
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,PrRangC
|
||||
PUSH IX
|
||||
POP HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
POP HL
|
||||
JR NC,PrRngCE
|
||||
PUSH IX
|
||||
LD A,E
|
||||
SUB 0x1A
|
||||
LD IXL,A
|
||||
LD A,D
|
||||
SBC A,0x00
|
||||
LD IXH,A
|
||||
LD A,(HL)
|
||||
EX AF,AF'
|
||||
INC HL
|
||||
INC HL
|
||||
LD D,HIGH (FONT_RAW)-0xC0
|
||||
PrRngC0 LD BC,0x0000
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
PrRngC1 INC HL
|
||||
LD E,A
|
||||
LD A,(DE)
|
||||
ADD A,A
|
||||
ADD A,C
|
||||
LD C,A
|
||||
LD A,B
|
||||
ADC A,0x00
|
||||
LD B,A
|
||||
LD A,(HL)
|
||||
CP 0x5C
|
||||
JR NZ,PrRngC1
|
||||
ADD IX,BC
|
||||
JR NC,PrRngC0
|
||||
DEC HL
|
||||
LD (HL),'.'
|
||||
DEC HL
|
||||
LD (HL),'.'
|
||||
DEC HL
|
||||
LD (HL),'\\'
|
||||
DEC HL
|
||||
LD (HL),':'
|
||||
DEC HL
|
||||
EX AF,AF'
|
||||
LD (HL),A
|
||||
POP IX
|
||||
JR PrnRangC
|
||||
PrRngCE POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP DE
|
||||
EX DE,HL
|
||||
SRL B
|
||||
RR C
|
||||
OR A
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
POP AF
|
||||
POP BC
|
||||
JP PrnTxtLnIFF
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà 640x256;
|
||||
; ¢ ०¨¬¥ IFF èà¨äâ
|
||||
; <20> ¢å®¤:
|
||||
; HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
; DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
; BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
; A - 梥⠯¥ç ⨠(7-4¡¨â PAPER, 3-0¡¨â INK)
|
||||
; (ª®¥æ áâப¨ - 0)
|
||||
PrnTxtLnIFF PUSH IY
|
||||
LD IYL,C ; Y ª®®à¤¨ â
|
||||
LD B,A
|
||||
GETPORT WINSP.Y_PORT ; ‘®åà 塞 Y ¯®àâ
|
||||
PUSH AF
|
||||
GETPORT WINSP.CPU1
|
||||
LD IYH,A
|
||||
DI
|
||||
EXX
|
||||
SPMOUSE MOUSEF.REFRESH
|
||||
EXX
|
||||
CALL InsPrintColor
|
||||
PUSH DE ; X ª®®à¤¨ â
|
||||
EXX
|
||||
POP BC
|
||||
SRL B
|
||||
RR C
|
||||
SET 6,B
|
||||
LD HL,PrnPAPp ; PAPER ¡ãä¥à
|
||||
LD DE,PrnINKp ; INK ¡ãä¥à
|
||||
EXX
|
||||
LD C,L ; €¤à¥á áâப¨
|
||||
LD B,H
|
||||
; ˆâ ª:
|
||||
; BC - A¤à¥á áâப¨
|
||||
; 'HL - ¡ãä¥à PAPER
|
||||
; 'DE - ¡ãä¥à INK
|
||||
; 'BC - X ª®®à¤¨ â ¯¥ç ⨠¢ ¢¨¤¥® އ“
|
||||
; LY - Y ª®®à¤¨ â ¯¥ç â¨
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x08
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,(BC)
|
||||
INC BC
|
||||
OR A
|
||||
JR Z,PrnIFFe
|
||||
PrnIFFloop LD L,A
|
||||
LD H,HIGH (FONT_RAW)-0xC0
|
||||
PUSH BC
|
||||
LD B,(HL) ; ¤«¨ ᨬ¢®«
|
||||
INC H
|
||||
LD E,(HL)
|
||||
INC H
|
||||
LD D,(HL)
|
||||
LD HL,0x0008
|
||||
EX DE,HL
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
PrnIFFlp1
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
ACCEL ACCELCMD.OFF
|
||||
EXX
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY
|
||||
OR (HL)
|
||||
EX DE,HL
|
||||
XOR (HL)
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD (BC),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EX DE,HL
|
||||
INC BC
|
||||
EXX
|
||||
ADD HL,DE
|
||||
DJNZ PrnIFFlp1
|
||||
POP BC
|
||||
LD A,IYH
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD A,(BC)
|
||||
INC BC
|
||||
OR A
|
||||
JR NZ,PrnIFFloop
|
||||
PrnIFFe LD L,C ; €¤à¥á áâப¨
|
||||
LD H,B
|
||||
POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP IY
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà 640x256;
|
||||
; <20> ¢å®¤:
|
||||
; HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
; DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
; BC - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
; A - 梥⠯¥ç ⨠(7-4¡¨â PAPER, 3-0¡¨â INK)
|
||||
; (ª®¥æ áâப¨ - 0)
|
||||
PrnTxtLnNorm PUSH IY
|
||||
LD IYL,C ; Y ª®®à¤¨ â
|
||||
LD B,A
|
||||
GETPORT WINSP.Y_PORT ; ‘®åà 塞 Y ¯®àâ
|
||||
PUSH AF
|
||||
GETPORT WINSP.CPU1
|
||||
LD IYH,A
|
||||
DI
|
||||
EXX
|
||||
SPMOUSE MOUSEF.REFRESH
|
||||
EXX
|
||||
CALL InsPrintColor
|
||||
PUSH DE ; X ª®®à¤¨ â
|
||||
EXX
|
||||
POP BC
|
||||
SRL B
|
||||
RR C
|
||||
SET 6,B
|
||||
LD HL,PrnPAPp ; PAPER ¡ãä¥à
|
||||
LD DE,PrnINKp ; INK ¡ãä¥à
|
||||
EXX
|
||||
LD C,L ; €¤à¥á áâப¨
|
||||
LD B,H
|
||||
; ˆâ ª:
|
||||
; BC - A¤à¥á áâப¨
|
||||
; 'HL - ¡ãä¥à PAPER
|
||||
; 'DE - ¡ãä¥à INK
|
||||
; 'BC - X ª®®à¤¨ â ¯¥ç ⨠¢ ¢¨¤¥® އ“
|
||||
; LY - Y ª®®à¤¨ â ¯¥ç â¨
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x08
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,(BC)
|
||||
INC BC
|
||||
OR A
|
||||
JR Z,PrnNORe
|
||||
PrnNORloop LD L,A
|
||||
LD H,HIGH (IFFFONT_RAW)-0xC0
|
||||
PUSH BC
|
||||
LD E,(HL)
|
||||
INC H
|
||||
LD A,(HL)
|
||||
ADD A,HIGH (IFFFONT_RAW)-0xC0
|
||||
LD D,A
|
||||
LD HL,0x0008
|
||||
EX DE,HL
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
LD B,0x04
|
||||
PrnNORlp1
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
ACCEL ACCELCMD.OFF
|
||||
EXX
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY
|
||||
OR (HL)
|
||||
EX DE,HL
|
||||
XOR (HL)
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD (BC),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EX DE,HL
|
||||
INC BC
|
||||
EXX
|
||||
ADD HL,DE
|
||||
DJNZ PrnNORlp1
|
||||
POP BC
|
||||
LD A,IYH
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD A,(BC)
|
||||
INC BC
|
||||
OR A
|
||||
JR NZ,PrnNORloop
|
||||
PrnNORe LD L,C ; €¤à¥á áâப¨
|
||||
LD H,B
|
||||
POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP IY
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>à®æ¥¤ãà ¢ë¢®¤ ⥪á⮢ëå áâப £à ä¨ç¥áª¨© íªà 640x256;
|
||||
; <20> ¢å®¤:
|
||||
; HL - ¤à¥á ⥪á⮢®© áâப¨
|
||||
; DE - ¯®§¨æ¨ï ¢ë¢®¤ ¯® X
|
||||
; C - ¯®§¨æ¨ï ¢ë¢®¤ ¯® Y
|
||||
; B - ª®«-¢® ¯¥ç â ¥¬ëå ᨬ¢®«®¢
|
||||
; A - 梥⠯¥ç ⨠(7-4¡¨â PAPER, 3-0¡¨â INK)
|
||||
; (ª®¥æ áâப¨ - 0)
|
||||
PrnTxtLnNormC PUSH IY
|
||||
LD IYL,C ; Y ª®®à¤¨ â
|
||||
LD IYH,B ; ª®«-¢® ᨬ¢
|
||||
LD B,A
|
||||
GETPORT WINSP.Y_PORT ; ‘®åà 塞 Y ¯®àâ
|
||||
PUSH AF
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
DI
|
||||
EXX
|
||||
SPMOUSE MOUSEF.REFRESH
|
||||
EXX
|
||||
CALL InsPrintColor
|
||||
PUSH DE ; X ª®®à¤¨ â
|
||||
EXX
|
||||
POP BC
|
||||
SRL B
|
||||
RR C
|
||||
SET 6,B
|
||||
LD HL,PrnPAPp ; PAPER ¡ãä¥à
|
||||
LD DE,PrnINKp ; INK ¡ãä¥à
|
||||
EXX
|
||||
LD C,L ; €¤à¥á áâப¨
|
||||
LD B,H
|
||||
; ˆâ ª:
|
||||
; BC - A¤à¥á áâப¨
|
||||
; 'HL - ¡ãä¥à PAPER
|
||||
; 'DE - ¡ãä¥à INK
|
||||
; 'BC - X ª®®à¤¨ â ¯¥ç ⨠¢ ¢¨¤¥® އ“
|
||||
; LY - Y ª®®à¤¨ â ¯¥ç â¨
|
||||
; IN A,(PAGE0)
|
||||
GETPORT WINSP.CPU0
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU0,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x08
|
||||
ACCEL ACCELCMD.OFF
|
||||
PrnNORloopC LD A,(BC)
|
||||
INC BC
|
||||
LD L,A
|
||||
LD H,HIGH (IFFFONT_RAW)-0xC0
|
||||
PUSH BC
|
||||
LD E,(HL)
|
||||
INC H
|
||||
LD A,(HL)
|
||||
ADD A,HIGH (IFFFONT_RAW)-0xC0
|
||||
LD D,A
|
||||
LD HL,0x0008
|
||||
EX DE,HL
|
||||
LD B,0x04
|
||||
PrnNORlp1c
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
ACCEL ACCELCMD.OFF
|
||||
EXX
|
||||
LD A,IYL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY
|
||||
OR (HL)
|
||||
EX DE,HL
|
||||
XOR (HL)
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD (BC),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EX DE,HL
|
||||
INC BC
|
||||
EXX
|
||||
ADD HL,DE
|
||||
DJNZ PrnNORlp1c
|
||||
POP BC
|
||||
DEC IYH
|
||||
JR NZ,PrnNORloopC
|
||||
POP AF
|
||||
SETPORT WINSP.CPU0,,0
|
||||
EI
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP IY
|
||||
RET
|
||||
|
||||
InsPrintColor LD A,B
|
||||
CP 0x00
|
||||
.PrvCOLp EQU $-1
|
||||
RET Z
|
||||
LD (.PrvCOLp),A
|
||||
AND 0x0F ; INK
|
||||
LD C,A
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
OR C
|
||||
EXX
|
||||
LD HL,PrnINKp ; INK ¡ãä¥à
|
||||
CPL
|
||||
REPT 7
|
||||
LD (HL),A
|
||||
INC HL
|
||||
ENDM
|
||||
LD (HL),A
|
||||
EXX
|
||||
LD A,B
|
||||
AND 0xF0 ; PAPER
|
||||
LD B,A
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
OR B
|
||||
EXX
|
||||
LD DE,PrnPAPp ; PAPER ¡ãä¥à
|
||||
XOR (HL) ; XOR á INK
|
||||
REPT 7
|
||||
LD (DE),A
|
||||
INC DE
|
||||
ENDM
|
||||
LD (DE),A
|
||||
EXX
|
||||
RET
|
||||
|
||||
PrnINKp DB 8 DUP 0
|
||||
PrnPAPp DB 8 DUP 0
|
690
fnsort.a80
Normal file
690
fnsort.a80
Normal file
@ -0,0 +1,690 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ReadDIR BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
IF TREE_REZID
|
||||
JP NZ,RESIDENT.ReadTree
|
||||
ELSE
|
||||
JP NZ,ReadTreeR
|
||||
ENDIF
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU3,,0
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD BC,PANEL.EFL
|
||||
ADD HL,BC
|
||||
LD B,PANEL.FILEMASK - PANEL.EFL
|
||||
.L5 LD (HL),0
|
||||
INC HL
|
||||
DJNZ .L5
|
||||
BIT SORTFLAG.B_FILTER,(IY + PANEL.SORTFLAG)
|
||||
JR NZ,.L2
|
||||
LD HL,NORMmask
|
||||
.L2 LD DE,FILEmask
|
||||
LD C,MASK_SIZE
|
||||
LDIR
|
||||
LD IX,0x0000
|
||||
LD HL,CPU3
|
||||
LD (AdrNxtFile),HL
|
||||
LD B,0x08
|
||||
SUB A
|
||||
.L3 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L3
|
||||
CALL FindFILES
|
||||
LD E,IXL
|
||||
LD D,IXH
|
||||
LD HL,(AdrNxtFile)
|
||||
LD B,0x08
|
||||
SUB A
|
||||
.L4 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L4
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD (IY + PANEL.EFL),E ;EQUIP FIL
|
||||
LD (IY + PANEL.EFH),D
|
||||
LD A,(IY + PANEL.SORTFLAG)
|
||||
AND SORTFLAG.MASK
|
||||
JP NZ,SortDIR
|
||||
RET
|
||||
|
||||
AdrNxtFile DEFW 0x0000
|
||||
FileAtribut DB DIR.M_Archive + \
|
||||
DIR.M_Dir + \
|
||||
DIR.M_System + \
|
||||
DIR.M_Hidden + \
|
||||
DIR.M_ReadOnly
|
||||
NORMmask DEFB "*.*"
|
||||
DB MASK_SIZE - STRLEN("*.*") DUP 0
|
||||
FILEmask DB MASK_SIZE DUP 0
|
||||
|
||||
FindFILES BIT SORTFLAG.B_FILTER,(IY + PANEL.SORTFLAG)
|
||||
JR NZ,FindFILESm
|
||||
LD HL,FILEmask
|
||||
LD DE,WorkBuffer
|
||||
LD A,(FileAtribut)
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_FIRST,0
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
RET C
|
||||
FndFILE CALL InsFileInfo
|
||||
RET C
|
||||
LD DE,WorkBuffer
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_NEXT
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
JR NC,FndFILE
|
||||
RET
|
||||
|
||||
FindFILESm LD HL,NORMmask
|
||||
LD DE,WorkBuffer
|
||||
LD A,(FileAtribut)
|
||||
AND DIR.M_Archive + \
|
||||
DIR.M_Dir + \
|
||||
DIR.M_System + \
|
||||
DIR.M_Hidden + \
|
||||
DIR.M_ReadOnly
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_FIRST,0
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
RET C
|
||||
FFILEm1 LD A,(WorkBuffer + FFIRST.Attr);+0x20)
|
||||
AND DIR.M_Dir;0x10
|
||||
CALL NZ,InsFileInfo
|
||||
RET C
|
||||
LD DE,WorkBuffer
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_NEXT
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
JR NC,FFILEm1
|
||||
LD HL,FILEmask
|
||||
LD DE,WorkBuffer
|
||||
LD A,(FileAtribut)
|
||||
AND DIR.M_Archive + \
|
||||
DIR.M_System + \
|
||||
DIR.M_Hidden + \
|
||||
DIR.M_ReadOnly
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_FIRST,0
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
RET C
|
||||
FFILEm2 CALL InsFileInfo
|
||||
RET C
|
||||
LD DE,WorkBuffer
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_NEXT
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
JR NC,FFILEm2
|
||||
RET
|
||||
|
||||
InsFileInfo EX DE,HL
|
||||
LD HL,(AdrNxtFile)
|
||||
LD BC,FileHDR.SIZE
|
||||
ADD HL,BC
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
RET C
|
||||
SUB A
|
||||
LD (DE),A
|
||||
INC DE
|
||||
PUSH HL
|
||||
LD BC,FFIRST.Attr;0x20
|
||||
ADD HL,BC
|
||||
LD B,(HL) ; FFIRST.Attr
|
||||
INC HL
|
||||
LD A,B
|
||||
EX AF,AF'
|
||||
LD A,(HL) ; FFIRST.Name
|
||||
INC HL
|
||||
LD C,(HL) ; FFIRST.Name + 1
|
||||
DEC HL
|
||||
; ¯à®¢¥àª ¯®¤¤¨à¥ªâ®à¨î
|
||||
CP '.'
|
||||
JR NZ,InsF1
|
||||
LD A,' '
|
||||
SUB C
|
||||
JR NZ,InsF1
|
||||
; ¯à®¯ã᪠¥á«¨ ¨¬ï "."
|
||||
InsFext POP HL
|
||||
OR A
|
||||
RET
|
||||
|
||||
InsF1 BIT DIR.B_Dir,B ; ¤¨à¥ªâ®à¨ï ¨«¨ ä ©«?
|
||||
JR NZ,InsF2
|
||||
; íâ® ä ©«
|
||||
OR A
|
||||
BIT SORTFLAG.B_EXEC,(IY + PANEL.SORTFLAG)
|
||||
CALL NZ,TestExe
|
||||
JR C,InsFext
|
||||
LD B,FileHDR.Name_Size
|
||||
.L1 LD A,(HL)
|
||||
CALL CorrBigChar
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .L1
|
||||
LD A,0x01
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD B,FileHDR.Ext_Size
|
||||
.L2 LD A,(HL)
|
||||
CALL CorrBigChar
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .L2
|
||||
JR InsF3
|
||||
|
||||
; íâ® ¤¨à
|
||||
InsF2 LD BC,DIR.Name_Size
|
||||
LDIR
|
||||
LD A,0x01
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD C,DIR.Ext_Size
|
||||
LDIR
|
||||
InsF3 SUB A
|
||||
LD (DE),A
|
||||
INC DE
|
||||
EX AF,AF'
|
||||
LD (DE),A ; DIR.Attr
|
||||
INC DE
|
||||
POP HL
|
||||
PUSH HL
|
||||
LD BC,DIR.FileSize
|
||||
ADD HL,BC
|
||||
LD C,DIR.FileSize_Size
|
||||
LDIR
|
||||
POP HL
|
||||
PUSH HL
|
||||
LD C,DIR.WrtDate
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
AND 0x1F ; —¨á«®
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD C,(HL)
|
||||
INC HL
|
||||
LD B,(HL)
|
||||
LD H,B
|
||||
LD L,C
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD A,H
|
||||
AND 0x0F ; Œ¥áïæ
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,B
|
||||
SRL A
|
||||
ADD A,80
|
||||
.L1 SUB 100
|
||||
JR NC,.L1
|
||||
ADD A,100 ; ƒ®¤
|
||||
LD (DE),A
|
||||
INC DE
|
||||
POP HL
|
||||
LD BC,DIR.WrtTime
|
||||
ADD HL,BC
|
||||
LD C,(HL)
|
||||
INC HL
|
||||
LD B,(HL)
|
||||
LD A,B
|
||||
AND 0xF8
|
||||
RRA
|
||||
RRA
|
||||
RRA
|
||||
LD (DE),A ; — áë
|
||||
INC DE
|
||||
LD H,B
|
||||
LD L,C
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD A,H
|
||||
AND 0x3F
|
||||
LD (DE),A ; Œ¨ãâë
|
||||
INC DE
|
||||
LD (AdrNxtFile),DE
|
||||
INC IX
|
||||
RET
|
||||
|
||||
TestExe PUSH HL
|
||||
LD A,L
|
||||
ADD A,8
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD A,(HL)
|
||||
INC HL
|
||||
CP 'E'
|
||||
JR NZ,TestExe1
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP 'X'
|
||||
JR NZ,TestExe1
|
||||
LD A,(HL)
|
||||
CP 'E'
|
||||
JR NZ,TestExe1
|
||||
POP HL
|
||||
OR A
|
||||
RET
|
||||
|
||||
TestExe1 POP HL
|
||||
PUSH HL
|
||||
LD A,L
|
||||
ADD A,8
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD A,(HL)
|
||||
INC HL
|
||||
CP 'T'
|
||||
JR NZ,TestExeC
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP 'R'
|
||||
JR NZ,TestExeC
|
||||
LD A,(HL)
|
||||
CP 'D'
|
||||
JR NZ,TestExeC
|
||||
POP HL
|
||||
OR A
|
||||
RET
|
||||
|
||||
TestExeC POP HL
|
||||
SCF
|
||||
RET
|
||||
|
||||
; <20>à®æ¥¤ãà ª®à४樨 ¡ãª¢ë ª ¬ «¥ìª®© ¡ãª¢¥
|
||||
CorrBigChar CP 'A'
|
||||
RET C
|
||||
CP 'Z' + 1
|
||||
JR NC,CorrCh1
|
||||
SET 5,A
|
||||
RET
|
||||
|
||||
CorrCh1 CP 0x80
|
||||
RET C
|
||||
CP 0xA0
|
||||
RET NC
|
||||
ADD A,0x20
|
||||
CP 0xB0
|
||||
RET C
|
||||
ADD A,0x30
|
||||
RET
|
||||
|
||||
; <20>à®æ¥¤ãà ª®à४樨 ¡ãª¢ë ª ¡®«ì让 ¡ãª¢¥
|
||||
CorrSmallChar CP 'a'
|
||||
RET C
|
||||
CP 'z' + 1
|
||||
JR NC,.CorrCh2
|
||||
RES 5,A
|
||||
RET
|
||||
|
||||
.CorrCh2 CP 0xA0
|
||||
RET C
|
||||
CP 0xB0
|
||||
JR NC,.CorrCh3
|
||||
SUB 0x20
|
||||
RET
|
||||
|
||||
.CorrCh3 CP 0xE0
|
||||
RET C
|
||||
SUB 0x50
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
SortDIR
|
||||
GETPORT WINSP.CPU1
|
||||
LD C,A
|
||||
GETPORT WINSP.CPU3
|
||||
LD B,A
|
||||
PUSH BC
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L1
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L1
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD A,(RAMPAGES.BuffPg3)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,CPU3
|
||||
LD (EndSort),HL
|
||||
SUB A
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),A
|
||||
LD (BegSort),HL
|
||||
LD A,(IY + PANEL.SORTFLAG)
|
||||
RRA
|
||||
LD HL,SortABC ; á®àâ¨à®¢ª ¯® Name CTRL+F3
|
||||
JR C,.SortBeg
|
||||
RRA
|
||||
LD HL,SortExt ; á®àâ¨à®¢ª ¯® Extension CTRL+F4
|
||||
JR C,.SortBeg
|
||||
RRA
|
||||
LD HL,SortData ; á®àâ¨à®¢ª ¯® Date CTRL+F5
|
||||
JR C,.SortBeg
|
||||
LD HL,SortSize ; á®àâ¨à®¢ª ¯® Size CTRL+F6
|
||||
.SortBeg LD (.Scall1),HL
|
||||
LD (.Scall2),HL
|
||||
LD (.Scall3),HL
|
||||
LD IX,CPU1 + 1
|
||||
LD HL,CPU1 + 1
|
||||
; ¯à®¢¥àª çâ® ¢ ¯®¤¤¨à¥ªâ®à¨¨
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr - 1)
|
||||
JR Z,.SortStart
|
||||
; ¥á«¨ ¯®¤¤¨à¥ªâ®à¨ï â® ¯à®¢¥àª ¨¬ï ".."
|
||||
LD A,(HL)
|
||||
CP '.'
|
||||
JR NZ,.SortStart
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
DEC HL
|
||||
CP '.'
|
||||
JR NZ,.SortStart
|
||||
; § ®á¨¬ ¤¨àã ".."
|
||||
PUSH HL
|
||||
CALL 0
|
||||
.Scall3 EQU $-2
|
||||
LD BC,FileHDR.SIZE
|
||||
LD HL,CPU3
|
||||
ADD HL,BC
|
||||
LD (EndSort),HL
|
||||
LD (HL),0
|
||||
INC HL
|
||||
LD (HL),0
|
||||
LD (BegSort),HL
|
||||
POP HL
|
||||
ADD IX,BC
|
||||
ADD HL,BC
|
||||
; ç «® á®àâ¨à®¢ª¨ ¢á¥£® ®á⠫쮣®
|
||||
.SortStart PUSH IX
|
||||
PUSH HL
|
||||
.SortDIRlp1 LD A,(HL)
|
||||
OR A
|
||||
JR Z,.SortDIRnxt
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr - 1)
|
||||
PUSH HL
|
||||
CALL NZ,0x0000 ; ¯à®¢¥àª ¤«ï DIR
|
||||
.Scall1 EQU $-2
|
||||
POP HL
|
||||
LD BC,FileHDR.SIZE
|
||||
ADD IX,BC
|
||||
ADD HL,BC
|
||||
JR .SortDIRlp1
|
||||
|
||||
.SortDIRnxt LD HL,(EndSort)
|
||||
SUB A
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),A
|
||||
LD (BegSort),HL
|
||||
POP HL
|
||||
POP IX
|
||||
.SortDIRlp2 LD A,(HL)
|
||||
OR A
|
||||
JR Z,.SortDIRext
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr - 1)
|
||||
PUSH HL
|
||||
CALL Z,0x0000 ; ¯à®¢¥àª ¤«ï ä ©«
|
||||
.Scall2 EQU $-2
|
||||
POP HL
|
||||
LD BC,FileHDR.SIZE
|
||||
ADD IX,BC
|
||||
ADD HL,BC
|
||||
JR .SortDIRlp2
|
||||
|
||||
.SortDIRext LD HL,(EndSort)
|
||||
LD B,0x08
|
||||
SUB A
|
||||
.L3 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L3
|
||||
GETPORT WINSP.CPU1
|
||||
LD (RAMPAGES.BuffPg3),A
|
||||
GETPORT WINSP.CPU3
|
||||
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
|
||||
LD HL,RAMPAGES.LEFTPANEL
|
||||
JR Z,.L2
|
||||
LD HL,RAMPAGES.RIGHTPANEL
|
||||
.L2 LD (HL),A
|
||||
POP BC
|
||||
LD A,B
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD A,C
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
BegSort DEFW 0x0000
|
||||
EndSort DEFW 0x0000
|
||||
|
||||
; á®àâ¨à®¢ª ¯® Name CTRL+F3
|
||||
SortABC EX DE,HL
|
||||
LD HL,(BegSort)
|
||||
.Sabc1 LD A,(HL)
|
||||
OR A
|
||||
JP Z,SortDIRins
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,12
|
||||
.Sabc2 LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.Sabc3
|
||||
INC DE
|
||||
INC HL
|
||||
DJNZ .Sabc2
|
||||
.Sabc3 POP HL
|
||||
POP DE
|
||||
JP C,SortDIRins
|
||||
LD BC,FileHDR.SIZE
|
||||
ADD HL,BC
|
||||
JR .Sabc1
|
||||
|
||||
; á®àâ¨à®¢ª ¯® Extension CTRL+F4
|
||||
SortExt EX DE,HL
|
||||
LD HL,(BegSort)
|
||||
.Sext1 LD A,(HL)
|
||||
OR A
|
||||
JP Z,SortDIRins
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0x0009
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
LD B,03
|
||||
.Sext2 LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.Sext4
|
||||
INC DE
|
||||
INC HL
|
||||
DJNZ .Sext2
|
||||
POP HL
|
||||
POP DE
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,8
|
||||
.Sext3 LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.Sext4
|
||||
INC DE
|
||||
INC HL
|
||||
DJNZ .Sext3
|
||||
.Sext4 POP HL
|
||||
POP DE
|
||||
JP C,SortDIRins
|
||||
LD BC,FileHDR.SIZE
|
||||
ADD HL,BC
|
||||
JR .Sext1
|
||||
|
||||
; á®àâ¨à®¢ª ¯® Date CTRL+F5
|
||||
SortData EX DE,HL
|
||||
LD HL,(BegSort)
|
||||
.Sdata1 LD A,(HL)
|
||||
OR A
|
||||
JP Z,SortDIRins
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0x0014
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SdataE
|
||||
DEC DE
|
||||
DEC HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SdataE
|
||||
DEC DE
|
||||
DEC HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SdataE
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
INC DE
|
||||
INC DE
|
||||
INC DE
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SdataE
|
||||
INC DE
|
||||
INC HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SdataE
|
||||
POP HL
|
||||
POP DE
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,12
|
||||
.Sdata2 LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SdataE
|
||||
INC DE
|
||||
INC HL
|
||||
DJNZ .Sdata2
|
||||
.SdataE POP HL
|
||||
POP DE
|
||||
JR C,SortDIRins
|
||||
LD BC,FileHDR.SIZE
|
||||
ADD HL,BC
|
||||
JR .Sdata1
|
||||
|
||||
; á®àâ¨à®¢ª ¯® Size CTRL+F6
|
||||
SortSize EX DE,HL
|
||||
LD HL,(BegSort)
|
||||
.Ssize1 LD A,(HL)
|
||||
OR A
|
||||
JR Z,SortDIRins
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD BC,0x0011
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SsizeE
|
||||
DEC DE
|
||||
DEC HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SsizeE
|
||||
DEC DE
|
||||
DEC HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SsizeE
|
||||
DEC DE
|
||||
DEC HL
|
||||
LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SsizeE
|
||||
POP HL
|
||||
POP DE
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD B,12
|
||||
.Ssize2 LD A,(DE) ;(DE) < (HL) "C"
|
||||
CP (HL) ;(DE) >= (HL) "NC"
|
||||
JR NZ,.SsizeE
|
||||
INC DE
|
||||
INC HL
|
||||
DJNZ .Ssize2
|
||||
.SsizeE POP HL
|
||||
POP DE
|
||||
JR C,SortDIRins
|
||||
LD BC,FileHDR.SIZE
|
||||
ADD HL,BC
|
||||
JR .Ssize1
|
||||
|
||||
SortDIRins DEC HL
|
||||
DEC DE
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
EX DE,HL
|
||||
LD HL,(EndSort)
|
||||
PUSH HL
|
||||
OR A
|
||||
SBC HL,DE
|
||||
LD B,H
|
||||
LD C,L
|
||||
POP DE
|
||||
LD HL,FileHDR.SIZE
|
||||
ADD HL,DE
|
||||
LD (EndSort),HL
|
||||
SUB A
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),A
|
||||
DEC HL
|
||||
EX DE,HL
|
||||
LD A,B
|
||||
OR C
|
||||
CALL NZ,MoveBytesUp
|
||||
POP DE
|
||||
POP HL
|
||||
LD BC,FileHDR.SIZE
|
||||
LDIR
|
||||
RET
|
948
fnsys.a80
Normal file
948
fnsys.a80
Normal file
@ -0,0 +1,948 @@
|
||||
|
||||
; LAST UPDATE: 08.03.2025 savelij
|
||||
|
||||
;[]-----------------------------------------------------------[]
|
||||
;<3B>à®æ¥¤ãà 㬮¦¥¨ï (8*8bit)
|
||||
;<3B> ¢å®¤: E*C
|
||||
;<3B> ¢ë室:HL-१ã«ìâ â
|
||||
Mult8 SUB A
|
||||
LD L,A
|
||||
LD H,A
|
||||
LD D,A
|
||||
CP C
|
||||
RET Z
|
||||
CP E
|
||||
RET Z
|
||||
LD H,C
|
||||
LD B,0x08
|
||||
.L1 ADD HL,HL
|
||||
JR NC,.L2
|
||||
ADD HL,DE
|
||||
.L2 DJNZ .L1
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà 㬮¦¥¨ï (16*8bit)
|
||||
;<3B> ¢å®¤: DE*C
|
||||
;<3B> ¢ë室:A+HL-१ã«ìâ â
|
||||
Mult16X8 SUB A
|
||||
LD L,A
|
||||
LD H,A
|
||||
CP C
|
||||
RET Z
|
||||
OR D
|
||||
OR E
|
||||
RET Z
|
||||
LD A,C
|
||||
LD BC,8 << 8
|
||||
.L1 ADD HL,HL
|
||||
RLA
|
||||
JR NC,.L2
|
||||
ADD HL,DE
|
||||
ADC A,C
|
||||
.L2 DJNZ .L1
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà 㬮¦¥¨ï (16*16bit)
|
||||
;<3B> ¢å®¤: DE*BC
|
||||
;<3B> ¢ë室:HL-१ã«ìâ â
|
||||
Mult16 LD HL,0x0000
|
||||
LD A,0x10
|
||||
.L1 RR B
|
||||
RR C
|
||||
JR NC,.L2
|
||||
ADD HL,DE
|
||||
.L2 RL E
|
||||
RL D
|
||||
DEC A
|
||||
JR NZ,.L1
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà 㬮¦¥¨ï (32bit)
|
||||
;<3B> ¢å®¤: DE*BC
|
||||
;<3B> ¢ë室:HL+DE-१ã«ìâ â
|
||||
Mult16X16 PUSH IX
|
||||
EX DE,HL
|
||||
LD E,0x00
|
||||
LD D,E
|
||||
LD IXL,E
|
||||
LD IXH,D
|
||||
LD A,0x20
|
||||
.L1 ADD IX,IX
|
||||
ADC HL,HL
|
||||
RL E
|
||||
RL D
|
||||
JR NC,.L2
|
||||
ADD IX,BC
|
||||
JR NC,.L2
|
||||
INC HL
|
||||
.L2 DEC A
|
||||
JR NZ,.L1
|
||||
LD E,IXL
|
||||
LD D,IXH
|
||||
POP IX
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà 㬮¦¥¨ï (32bit)
|
||||
;<3B> ¢å®¤: HL+DE*BC
|
||||
;<3B> ¢ë室:HL+DE-१ã«ìâ â
|
||||
Mult32 PUSH IX
|
||||
LD IX,0x0000
|
||||
LD A,0x20
|
||||
EX DE,HL
|
||||
.L1 ADD IX,IX
|
||||
ADC HL,HL
|
||||
RL E
|
||||
RL D
|
||||
JR NC,.L2
|
||||
ADD IX,BC
|
||||
JR NC,.L2
|
||||
INC HL
|
||||
.L2 DEC A
|
||||
JR NZ,.L1
|
||||
LD E,IXL
|
||||
LD D,IXH
|
||||
POP IX
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ¤¥«¥¨ï (16bit)
|
||||
;<3B> ¢å®¤: BC/DE
|
||||
;<3B> ¢ë室:BC-१ã«ìâ â
|
||||
; HL-®áâ ⮪
|
||||
Divis16X16 LD A,D
|
||||
OR E
|
||||
RET Z
|
||||
LD HL,0x0000
|
||||
LD A,B
|
||||
LD B,0x10
|
||||
.L1 RL C
|
||||
RLA
|
||||
ADC HL,HL
|
||||
SBC HL,DE
|
||||
CCF
|
||||
JR NC,.L4
|
||||
.L2 DJNZ .L1
|
||||
RL C
|
||||
RLA
|
||||
LD B,A
|
||||
RET
|
||||
.L3 RL C
|
||||
RLA
|
||||
ADC HL,HL
|
||||
ADD HL,DE
|
||||
JR C,.L2
|
||||
.L4 DJNZ .L3
|
||||
RL C
|
||||
RLA
|
||||
ADD HL,DE
|
||||
LD B,A
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ¤¥«¥¨ï (24x16bit)
|
||||
;<3B> ¢å®¤: H+L+C/DE
|
||||
;<3B> ¢ë室:A -१ã«ìâ â
|
||||
; HL-®áâ ⮪
|
||||
Divis24X16 LD A,D
|
||||
CPL
|
||||
LD D,A
|
||||
LD A,E
|
||||
CPL
|
||||
LD E,A
|
||||
INC DE
|
||||
LD A,C
|
||||
LD B,0x08
|
||||
.L1 ADD HL,HL
|
||||
JR C,.L2
|
||||
ADD A,A
|
||||
JR NC,.L4
|
||||
INC HL
|
||||
.L4 PUSH HL
|
||||
ADD HL,DE
|
||||
JR NC,.L5
|
||||
EX (SP),HL
|
||||
INC A
|
||||
.L5 POP HL
|
||||
DJNZ .L1
|
||||
RET
|
||||
.L2 ADC A,A
|
||||
JR NC,.L3
|
||||
INC HL
|
||||
.L3 ADD HL,DE
|
||||
DJNZ .L1
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ¤¥«¥¨ï 32/16bit=16bit
|
||||
;<3B> ¢å®¤: HL+DE/BC
|
||||
;<3B> ¢ë室:DE-१ã«ìâ â
|
||||
; HL-®áâ ⮪
|
||||
Divis32X16 LD A,0x10
|
||||
.L2 EX DE,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
ADC HL,HL
|
||||
SBC HL,BC
|
||||
JR NC,.L1
|
||||
ADD HL,BC
|
||||
DEC A
|
||||
JR NZ,.L2
|
||||
RET
|
||||
.L1 INC DE
|
||||
DEC A
|
||||
JR NZ,.L2
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ¤¥«¥¨ï 32/16bit=32bit
|
||||
;<3B> ¢å®¤: HL+DE/BC
|
||||
;<3B> ¢ë室:HL+DE-१ã«ìâ â
|
||||
; BC-®áâ ⮪
|
||||
Divis32 PUSH IX
|
||||
LD IXL,E
|
||||
LD IXH,D
|
||||
EX DE,HL
|
||||
LD HL,0x0000
|
||||
LD A,0x20
|
||||
.L1 ADD IX,IX
|
||||
RL E
|
||||
RL D
|
||||
ADC HL,HL
|
||||
SBC HL,BC
|
||||
JR NC,.L2
|
||||
DEC IX
|
||||
ADD HL,BC
|
||||
.L2 INC IX
|
||||
DEC A
|
||||
JR NZ,.L1
|
||||
LD C,L
|
||||
LD B,H
|
||||
EX DE,HL
|
||||
LD E,IXL
|
||||
LD D,IXH
|
||||
POP IX
|
||||
RET
|
||||
|
||||
;[]===================================================================[]
|
||||
;<3B> ¢å®¤:
|
||||
; A:BC:HL - ç¨á«® 40 ¡¨â
|
||||
; DE - ¡ãä¥à
|
||||
ConvNumTxt40: PUSH IX
|
||||
LD IX,ConvertFlg
|
||||
RES 7,(IX+0x00)
|
||||
PUSH BC
|
||||
EXX
|
||||
LD HL,ConNumbExit
|
||||
LD (ChooseStringFormat.address),HL
|
||||
POP HL
|
||||
LD E,0x17
|
||||
LD BC,0x4876
|
||||
EXX
|
||||
ld bc,0xE800
|
||||
; E':BC':BC = 100,000,000,000
|
||||
call ConNumb40
|
||||
exx
|
||||
ld e,0x02
|
||||
ld bc,0x540B
|
||||
exx
|
||||
ld bc,0xE400
|
||||
; E':BC':BC = 10,000,000,000
|
||||
CALL ConNumb40
|
||||
exx
|
||||
ld e,0x00
|
||||
ld bc,0x3B9A
|
||||
exx
|
||||
ld bc,0xCA00
|
||||
; E':BC':BC = 1,000,000,000
|
||||
CALL ConNumb40
|
||||
; E':BC':BC = 100,000,000
|
||||
CALL ConvNumTxt32_Shared.skip_1
|
||||
POP IX
|
||||
RET
|
||||
|
||||
;[]-----------------------------------------------------------[]
|
||||
;Š®¢¥àâ¥à ç¨á« 32¡¨â ¢ ⥪áâ
|
||||
;<3B> ¢å®¤:
|
||||
; BC+HL - ç¨á«® 32 ¡¨â
|
||||
; DE - ¡ãä¥à
|
||||
ConvNumTxt32 PUSH IX
|
||||
LD IX,ConvertFlg
|
||||
RES 7,(IX+0x00)
|
||||
PUSH BC
|
||||
EXX
|
||||
LD HL,ConNumbExit
|
||||
LD (ChooseStringFormat.address),HL
|
||||
POP HL
|
||||
EXX
|
||||
call ConvNumTxt32_Shared
|
||||
POP IX
|
||||
RET
|
||||
|
||||
ConvNumTxt32_Shared:
|
||||
LD BC,0xCA00
|
||||
EXX
|
||||
LD BC,0x3B9A ;1'000'000'000
|
||||
EXX
|
||||
CALL ConNumb32
|
||||
.skip_1: LD BC,0xE100
|
||||
EXX
|
||||
LD BC,0x05F5 ;100'000'000
|
||||
EXX
|
||||
CALL ConNumb32
|
||||
LD BC,0x9680
|
||||
EXX
|
||||
LD BC,0x0098 ;10'000'000
|
||||
EXX
|
||||
CALL ConNumb32
|
||||
LD BC,0x4240
|
||||
EXX
|
||||
LD BC,0x000F ;1'000'000
|
||||
EXX
|
||||
CALL ConNumb32
|
||||
LD BC,0x86A0
|
||||
EXX
|
||||
LD BC,0x0001 ;100'000
|
||||
EXX
|
||||
CALL ConNumb32
|
||||
LD BC,10000 ;10'000
|
||||
EXX
|
||||
LD BC,0x0000
|
||||
EXX
|
||||
CALL ConNumb32
|
||||
LD BC,1000 ;1'000
|
||||
CALL ConNumb16
|
||||
LD BC,100 ;100
|
||||
CALL ConNumb16
|
||||
LD BC,10 ;10
|
||||
CALL ConNumb16
|
||||
LD A,L
|
||||
ADD A,'0'
|
||||
LD (DE),A
|
||||
INC DE
|
||||
RET
|
||||
|
||||
;Š®¢¥àâ¥à ç¨á« 16¡¨â ¢ ⥪áâ
|
||||
;<3B> ¢å®¤:
|
||||
; HL - ç¨á«® 16 ¡¨â
|
||||
; DE - ¡ãä¥à
|
||||
ConvNumTxt16 PUSH IX
|
||||
PUSH BC
|
||||
LD IX,ConNumbExit
|
||||
ld (ChooseStringFormat.address),IX
|
||||
LD IX,ConvertFlg
|
||||
RES 7,(IX+0x00)
|
||||
LD BC,10000 ;10'000
|
||||
CALL ConNumb16
|
||||
LD BC,1000 ;1'000
|
||||
CALL ConNumb16
|
||||
LD BC,100 ;100
|
||||
CALL ConNumb16
|
||||
LD BC,10 ;10
|
||||
CALL ConNumb16
|
||||
LD A,L
|
||||
ADD A,'0'
|
||||
LD (DE),A
|
||||
INC DE
|
||||
POP BC
|
||||
POP IX
|
||||
RET
|
||||
|
||||
;Š®¢¥àâ¥à ç¨á« 8¡¨â ¢ ⥪áâ
|
||||
;<3B> ¢å®¤:
|
||||
; A - ç¨á«® 8 ¡¨â
|
||||
; DE - ¡ãä¥à
|
||||
ConvNumTxt8 PUSH IX
|
||||
PUSH BC
|
||||
LD IX,ConNumbExit
|
||||
ld (ChooseStringFormat.address),IX
|
||||
LD IX,ConvertFlg
|
||||
RES 7,(IX+0x00)
|
||||
LD C,100
|
||||
CALL ConNumb8
|
||||
LD C,10
|
||||
CALL ConNumb8
|
||||
ADD A,'0'
|
||||
LD (DE),A
|
||||
INC DE
|
||||
POP BC
|
||||
POP IX
|
||||
RET
|
||||
|
||||
;----------------------------------------------------------------------;
|
||||
ConNumb40: exx
|
||||
ld d,'0'-1
|
||||
exx
|
||||
and a
|
||||
.loop: sbc hl,bc
|
||||
exx
|
||||
sbc hl,bc
|
||||
sbc a,e
|
||||
inc d
|
||||
exx
|
||||
jp nc,.loop
|
||||
add hl,bc
|
||||
exx
|
||||
adc hl,bc
|
||||
adc a,e
|
||||
ex af,af'
|
||||
ld a,d
|
||||
exx
|
||||
JR ConNumb8.exit
|
||||
|
||||
ConNumb32: LD A,'0' - 1
|
||||
OR A
|
||||
.loop: INC A
|
||||
SBC HL,BC
|
||||
EXX
|
||||
SBC HL,BC
|
||||
EXX
|
||||
JR NC,.loop
|
||||
ADD HL,BC
|
||||
EXX
|
||||
ADC HL,BC
|
||||
EXX
|
||||
JR ChooseStringFormat
|
||||
|
||||
ConNumb16: LD A,'0' - 1
|
||||
OR A
|
||||
.loop: INC A
|
||||
SBC HL,BC
|
||||
JR NC,.loop
|
||||
ADD HL,BC
|
||||
JR ChooseStringFormat
|
||||
|
||||
ConNumb8: LD B,'0' - 1
|
||||
.loop: INC B
|
||||
SUB C
|
||||
JR NC,.loop
|
||||
ADD A,C
|
||||
EX AF,AF'
|
||||
LD A,B
|
||||