Добавлены файлы.
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
|
||||
.exit: CALL ChooseStringFormat
|
||||
EX AF,AF'
|
||||
RET
|
||||
|
||||
ConvertFlg DEFB 0x00
|
||||
|
||||
ChooseStringFormat:
|
||||
JP 0x0000
|
||||
.address: equ $-2
|
||||
|
||||
ConNumbExit: CP "0"
|
||||
JR Z,.skip
|
||||
SET 7,(IX+0x00)
|
||||
.skip: BIT 7,(IX+0x00)
|
||||
RET Z
|
||||
LD (DE),A
|
||||
INC DE
|
||||
RET
|
||||
|
||||
;[]-----------------------------------------------------------[]
|
||||
;Š®¢¥àâ¥à ⥪áâ ¢ ç¨á«® 32 ¡¨â
|
||||
;<3B> ¢å®¤:
|
||||
; DE - ⥪áâ
|
||||
;<3B> ¢ë室:
|
||||
; HL+IX - ç¨á«®
|
||||
; CY - ®è¨¡ª
|
||||
ConvTxtNum32 LD IX,0x0000
|
||||
LD HL,0x0000
|
||||
ConvTN1 LD A,(DE)
|
||||
CP 0x21
|
||||
CCF
|
||||
RET NC
|
||||
SUB 0x30
|
||||
RET C
|
||||
CP 0x0A
|
||||
CCF
|
||||
RET C
|
||||
INC DE
|
||||
ADD IX,IX
|
||||
ADC HL,HL
|
||||
RET C
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
ADD IX,IX
|
||||
ADC HL,HL
|
||||
RET C
|
||||
ADD IX,IX
|
||||
ADC HL,HL
|
||||
RET C
|
||||
POP BC
|
||||
ADD IX,BC
|
||||
POP BC
|
||||
ADC HL,BC
|
||||
RET C
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
ADD IX,BC
|
||||
LD C,B
|
||||
ADC HL,BC
|
||||
RET C
|
||||
JR ConvTN1
|
||||
|
||||
;Š®¢¥àâ¥à ⥪áâ ¢ ç¨á«® 16 ¡¨â
|
||||
;<3B> ¢å®¤:
|
||||
; DE - ⥪áâ
|
||||
;<3B> ¢ë室:
|
||||
; HL - ç¨á«®
|
||||
; CY - ®è¨¡ª
|
||||
ConvTxtNum16 LD HL,0x0000
|
||||
ConvTN2 LD A,(DE)
|
||||
CP 0x21
|
||||
CCF
|
||||
RET NC
|
||||
SUB 0x30
|
||||
RET C
|
||||
CP 0x0A
|
||||
CCF
|
||||
RET C
|
||||
INC DE
|
||||
ADD HL,HL
|
||||
RET C
|
||||
PUSH HL
|
||||
ADD HL,HL
|
||||
RET C
|
||||
ADD HL,HL
|
||||
RET C
|
||||
POP BC
|
||||
ADD HL,BC
|
||||
RET C
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
ADD HL,BC
|
||||
RET C
|
||||
JR ConvTN2
|
||||
|
||||
;[]-----------------------------------------------------------[]
|
||||
MoveBytes LD A,B
|
||||
OR A
|
||||
JR Z,MvByte1
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
MvByte0
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC H
|
||||
INC D
|
||||
DEC B
|
||||
JR NZ,MvByte0
|
||||
EI
|
||||
MvByte1 LD A,C
|
||||
OR A
|
||||
RET Z
|
||||
LD (Mvlen1),A
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
Mvlen1 EQU $-1
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EI
|
||||
LD A,C
|
||||
ADD A,E
|
||||
LD E,A
|
||||
JR NC,.L1
|
||||
INC D
|
||||
.L1 LD A,C
|
||||
ADD A,L
|
||||
LD L,A
|
||||
RET NC
|
||||
INC H
|
||||
RET
|
||||
|
||||
MoveBytesUp LD A,B
|
||||
OR A
|
||||
JR Z,MovUp1
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x00
|
||||
MovUp0 DEC H
|
||||
DEC D
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
DEC B
|
||||
JR NZ,MovUp0
|
||||
EI
|
||||
MovUp1 LD A,C
|
||||
OR A
|
||||
RET Z
|
||||
LD (LenUp+1),A
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
DI
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LenUp LD A,0x00
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EI
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
Resident LD (ResCall),DE
|
||||
IN B,(C)
|
||||
PUSH BC
|
||||
OUT (C),A
|
||||
CALL 0x0000
|
||||
ResCall EQU $-2
|
||||
POP BC
|
||||
OUT (C),B
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; Š®ª ⥠æ¨ï áâப¨. „®¡ ¢«ï¥âáï áâப ¨§ hl ¢ ª®¥æ áâப¨ ¢ de. <20>ã«ì ª®¯¨àã¥âáï ⮦¥.
|
||||
; (hl) -> (de)
|
||||
ConcatString: ex hl,de
|
||||
.loop: ld a,(hl)
|
||||
or a
|
||||
jr z,.end
|
||||
inc hl
|
||||
jr .loop
|
||||
|
||||
.end: ex hl,de ;‚¨¬ ¨¥!!! ®¦¨¤ ¥âáï, çâ® ¤ «ìè¥
|
||||
; ¨¤¥â CopyString, ¯®í⮬㠥᫨ ¬¥¦¤ã í⨬¨ ¯/¯ ¤®¡ ¢¨«¨ çâ®-â® - ¤®¡ ¢ì ¢ë§®¢ CopyString!
|
||||
;[]----------------------------------------------------------[]
|
||||
; Š®¯¨à®¢ ¨¥ áâப¨ ¤® ã«ï. <20>ã«ì ª®¯¨àã¥âáï ⮦¥.
|
||||
; (hl) -> (de)
|
||||
CopyString: ld a,(hl)
|
||||
ldi
|
||||
or a
|
||||
jr nz,CopyString
|
||||
dec de
|
||||
ret
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; Š®¯¨à®¢ ¨¥ áâப¨ ¤® ã«ï ¨«¨ ¯à®¡¥« . ‚ ª®¥æ ¤®¡ ¢«ï¥âáï ã«ì.
|
||||
; (hl) -> (de)
|
||||
;!FIXIT ¥á«¨ ¥ ¡ã¤¥â 0 ¨ ¯à®¡¥« - ¬®¦¥â ¬®£® § ¯®à®âì
|
||||
CopyWord: ld bc, 0x20FF
|
||||
.loop: ld a,(hl)
|
||||
ldi
|
||||
or a
|
||||
ret z
|
||||
cp b
|
||||
jr nz,.loop
|
||||
dec de
|
||||
xor a
|
||||
ld (de),a
|
||||
ret
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; ‘à ¢¥¨¥ áâப¨ á ãç¥â®¬ ॣ¨áâà .
|
||||
; (®¡à §¥æ ¤®«¦¥ § ª 稢 âìáï ã«¥¬)
|
||||
; ¢å®¤: de - string1
|
||||
; hl - string2 (®¡à §¥æ)
|
||||
; ¢ë室: "z" - string1 = string2
|
||||
; "c" - string1 < string2
|
||||
; ¨ ç¥ - string1 > string2
|
||||
;[]----------------------------------------------------------[]
|
||||
CompareStrings: ld a,(de)
|
||||
cp (hl)
|
||||
ret nz
|
||||
inc hl
|
||||
inc de
|
||||
ld a,(hl)
|
||||
or a
|
||||
jr nz,CompareStrings ; ®¡à §¥æ ¥ § ª®ç¥
|
||||
ld a,(de)
|
||||
cp (hl)
|
||||
ret
|
||||
|
||||
;<3B>®¨áª ª®æ á«®¢ ¨«¨ áâப¨
|
||||
;> hl - áâப
|
||||
;< hl - ª®¥æ áâப¨ ¨«¨
|
||||
SkipWord: ld b,0x20
|
||||
.loop: ld a,(hl)
|
||||
inc hl
|
||||
cp b
|
||||
jr z,.skipSpace
|
||||
and a
|
||||
jr nz,.loop
|
||||
.end: dec hl
|
||||
ret
|
||||
|
||||
.skipSpace: ld a,(hl)
|
||||
cp b
|
||||
ret nz
|
||||
inc hl
|
||||
jr .skipSpace
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
SetCMOSPrint: EX AF,AF'
|
||||
LD (CMOSposXT),HL
|
||||
LD (CMOSposYT),DE
|
||||
LD A,B
|
||||
LD (CMOSColorT),A
|
||||
SUB A
|
||||
LD L,A
|
||||
LD H,A
|
||||
LD (CMOSPrint),A
|
||||
LD (CMOSTime),HL
|
||||
LD (CMOSTime+2),A
|
||||
LD (CMOSData),HL
|
||||
LD (CMOSData+2),A
|
||||
LD HL,CMOSTimeT
|
||||
LD DE,CMOSDataT
|
||||
LD A,'0'
|
||||
LD B,0x03
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
LD (HL),A
|
||||
INC HL
|
||||
INC HL
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD (DE),A
|
||||
INC DE
|
||||
INC DE
|
||||
DJNZ .L1
|
||||
EX AF,AF'
|
||||
LD (CMOSOut),A
|
||||
OR A
|
||||
JR Z,TestCMOS
|
||||
EXX
|
||||
LD (CMOSposXD),HL
|
||||
LD (CMOSposYD),DE
|
||||
LD A,B
|
||||
LD (CMOSColorD),A
|
||||
EXX
|
||||
JR TestCMOS
|
||||
|
||||
ResCMOSPrint: LD A,0x01
|
||||
LD (CMOSPrint),A
|
||||
RET
|
||||
|
||||
TestCMOS: LD A,(CMOSFlag)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,(CMOSPrint)
|
||||
OR A
|
||||
RET NZ
|
||||
PUSH IX
|
||||
HALT
|
||||
;!TEST
|
||||
;DI
|
||||
SPDSS DSSF.GETTIME
|
||||
;!TEST
|
||||
;EI
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
EX DE,HL
|
||||
LD HL,(CMOSTime)
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR NZ,PrnCMOSTime
|
||||
LD A,(CMOSTime+2)
|
||||
CP B
|
||||
JR Z,TCMOS1
|
||||
PrnCMOSTime: EX DE,HL
|
||||
LD (CMOSTime),HL
|
||||
LD A,B
|
||||
LD (CMOSTime+2),A
|
||||
LD DE,CMOSTimeT
|
||||
LD A,H
|
||||
CALL GetCMOS
|
||||
INC DE
|
||||
LD A,L
|
||||
CALL GetCMOS
|
||||
INC DE
|
||||
LD A,(CMOSTime+2)
|
||||
CALL GetCMOS
|
||||
LD HL,CMOSTimeT
|
||||
LD DE,(CMOSposXT)
|
||||
LD BC,(CMOSposYT)
|
||||
LD A,(CMOSColorT)
|
||||
CALL PrnTxtLnIFF
|
||||
TCMOS1 POP IX
|
||||
POP DE
|
||||
LD A,(CMOSOut)
|
||||
OR A
|
||||
JP Z,TCMOSex
|
||||
PUSH IX
|
||||
POP HL
|
||||
LD BC,1900
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD B,L
|
||||
LD HL,(CMOSData)
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR NZ,PrnCMOSData
|
||||
LD A,(CMOSData+2)
|
||||
CP B
|
||||
JP Z,TCMOSex
|
||||
PrnCMOSData EX DE,HL
|
||||
LD (CMOSData),HL
|
||||
LD A,B
|
||||
LD (CMOSData+2),A
|
||||
LD DE,CMOSDataT
|
||||
LD A,H
|
||||
CALL GetCMOS
|
||||
INC DE
|
||||
LD A,L
|
||||
CALL GetCMOS
|
||||
INC DE
|
||||
LD A,(CMOSData+2)
|
||||
CALL GetCMOS
|
||||
LD A,(CMOSOut)
|
||||
DEC A
|
||||
JR NZ,TCMOS2
|
||||
LD HL,CMOSDataT
|
||||
LD DE,(CMOSposXD)
|
||||
LD BC,(CMOSposYD)
|
||||
LD A,(CMOSColorD)
|
||||
CALL PrnTxtLnIFF
|
||||
JR TCMOSex
|
||||
|
||||
TCMOS2 LD DE,CMOSDataT1
|
||||
LD A,H
|
||||
CALL ConvNumTxt8
|
||||
LD A,' '
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,L
|
||||
DEC A
|
||||
ADD A,A
|
||||
LD L,A
|
||||
ADD A,A
|
||||
ADD A,L
|
||||
LD HL,Month
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD A,' '
|
||||
.L2 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
LD (DE),A
|
||||
INC DE
|
||||
PUSH IX
|
||||
POP HL
|
||||
CALL ConvNumTxt16
|
||||
SUB A
|
||||
LD (DE),A
|
||||
LD HL,(CMOSposXD)
|
||||
LD (CMOSclX),HL
|
||||
LD HL,(CMOSposYD)
|
||||
LD (CMOSclY),HL
|
||||
LD A,(CMOSColorD)
|
||||
AND 0xF0
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
LD (CMOScol),A
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_FILL 0,0,76,8,COLORI.BLACK
|
||||
W_END
|
||||
CMOSclX EQU $ - 10
|
||||
CMOSclY EQU $ - 8
|
||||
CMOScol EQU $ - 2
|
||||
LD HL,CMOSDataT1
|
||||
LD DE,(CMOSposXD)
|
||||
LD BC,(CMOSposYD)
|
||||
LD A,(CMOSColorD)
|
||||
CALL PrnTxtLnIFF
|
||||
TCMOSex POP IX
|
||||
RET
|
||||
|
||||
;CMOSPrint: DB 0x01
|
||||
CMOSOut: DB 0
|
||||
CMOSposXT: DW 0
|
||||
CMOSposYT: DW 0
|
||||
CMOSColorT: DB 0
|
||||
CMOSTime: DB 3 DUP 0
|
||||
CMOSTimeT: DB "00:00:00",0
|
||||
CMOSposXD: DW 0
|
||||
CMOSposYD: DW 0
|
||||
CMOSColorD: DB 0
|
||||
CMOSData: DB 3 DUP 0
|
||||
CMOSDataT: DB "00/00/00",0
|
||||
CMOSDataT1: DB 14 DUP ' '
|
||||
|
||||
GetCMOS: EX DE,HL
|
||||
LD BC,(('0' - 1) << 8) | 10;0x2F0A
|
||||
.L1 INC B
|
||||
SUB C
|
||||
JR NC,.L1
|
||||
ADD A,C
|
||||
LD (HL),B
|
||||
INC HL
|
||||
ADD A,'0'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
EX DE,HL
|
||||
RET
|
||||
|
||||
Month: DB "Jan "
|
||||
DB "Febr "
|
||||
DB "March "
|
||||
DB "Apr "
|
||||
DB "May "
|
||||
DB "June "
|
||||
DB "July "
|
||||
DB "Aug "
|
||||
DB "Sept "
|
||||
DB "Oct "
|
||||
DB "Nov "
|
||||
DB "Dec "
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
SetClock: LD A,(MouseFlag)
|
||||
OR A
|
||||
RET Z
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD IX,CLOCK_BMP;ClockBMP
|
||||
LD HL,14 << 8 + 9
|
||||
LD DE,7 << 8 | 4
|
||||
SPMOUSE MOUSEF.LOAD_IMAGE
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
HALT
|
||||
RET
|
||||
|
||||
SetMouse LD A,(MouseFlag)
|
||||
OR A
|
||||
RET Z
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
LD A,(RAMPAGES.FNFONT)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD IX,MOUSE_BMP;MouseBMP
|
||||
LD HL,13 << 8 + 9
|
||||
LD DE,0
|
||||
SPMOUSE MOUSEF.LOAD_IMAGE
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
POP IX
|
||||
POP IY
|
||||
HALT
|
||||
RET
|
||||
369
fntab.a80
Normal file
369
fntab.a80
Normal file
@ -0,0 +1,369 @@
|
||||
|
||||
; LAST UPDATE: 02.05.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
; ”®à¬ â â ¡«¨æë
|
||||
; +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 €¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢)
|
||||
FilePanelLeft DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
|
||||
DW 40, 84, 15, 26,%0000000000000000,0,MenuSelect,0
|
||||
DW 84,138, 15, 26,%0000000000000000,0,MenuOption,0
|
||||
DW 138,174, 15, 26,%0000000000000000,0,MenuView,0
|
||||
DW 174,222, 15, 26,%0000000000000000,0,MenuConfig,0
|
||||
DW 222,262, 15, 26,%0000000000000000,0,MenuAbout,0
|
||||
DW 324,636, 44,225,%0000000000000000,0,ChPanel,0
|
||||
|
||||
PanelPlaceL DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 254,634,229,239,%0000000000000000,0,DOSloop,0
|
||||
DW 0, 80,242,256,%0000000000000001,0,Help,0
|
||||
DW 80,160,242,256,%0000000000000001,0,ViewFile,0
|
||||
DW 160,240,242,256,%0000000000000001,0,EditFile,0
|
||||
DW 240,320,242,256,%0000000000000001,0,RESIDENT.CopyFiles,0
|
||||
DW 320,400,242,256,%0000000000000001,0,RESIDENT.ReName,0
|
||||
DW 400,480,242,256,%0000000000000001,0,RESIDENT.MakeDIR,0
|
||||
DW 480,560,242,256,%0000000000000001,0,RESIDENT.DeleteFiles,0
|
||||
DW 560,640,242,256,%0000000000000001,0,RESIDENT.Quit,0
|
||||
|
||||
BgDISKl DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
|
||||
DW 326,354, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 34, 62, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; B
|
||||
DW 354,382, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 62, 90, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; C
|
||||
DW 382,410, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 90,118, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; D
|
||||
DW 410,438, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 118,146, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; E
|
||||
DW 438,466, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 146,174, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; F
|
||||
DW 466,494, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 174,202, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; G
|
||||
DW 494,522, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 202,230, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; H
|
||||
DW 522,550, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 230,258, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; I
|
||||
DW 550,578, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 258,286, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; J
|
||||
DW 578,606, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 286,314, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; K
|
||||
DW 606,634, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 0x8000
|
||||
|
||||
;[]==========================================================[]
|
||||
FilePanelRight DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
|
||||
DW 40, 84, 15, 26,%0000000000000000,0,MenuSelect,0
|
||||
DW 84,138, 15, 26,%0000000000000000,0,MenuOption,0
|
||||
DW 138,174, 15, 26,%0000000000000000,0,MenuView,0
|
||||
DW 174,222, 15, 26,%0000000000000000,0,MenuConfig,0
|
||||
DW 222,262, 15, 26,%0000000000000000,0,MenuAbout,0
|
||||
DW 4,316, 44,225,%0000000000000000,0,ChPanel,0
|
||||
|
||||
PanelPlaceR DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 0, 0, 0, 0,%0000000000000000,0,0,0
|
||||
DW 254,634,229,239,%0000000000000000,0,DOSloop,0
|
||||
DW 0, 80,242,256,%0000000000000001,0,Help,0
|
||||
DW 80,160,242,256,%0000000000000001,0,ViewFile,0
|
||||
DW 160,240,242,256,%0000000000000001,0,EditFile,0
|
||||
DW 240,320,242,256,%0000000000000001,0,RESIDENT.CopyFiles,0
|
||||
DW 320,400,242,256,%0000000000000001,0,RESIDENT.ReName,0
|
||||
DW 400,480,242,256,%0000000000000001,0,RESIDENT.MakeDIR,0
|
||||
DW 480,560,242,256,%0000000000000001,0,RESIDENT.DeleteFiles,0
|
||||
DW 560,640,242,256,%0000000000000001,0,RESIDENT.Quit,0
|
||||
|
||||
BgDISKr DW 6, 34, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; A
|
||||
DW 326,354, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 34, 62, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; B
|
||||
DW 354,382, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 62, 90, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; C
|
||||
DW 382,410, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 90,118, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; D
|
||||
DW 410,438, 30, 42,%0000000000000001,0,ChangeDriveR,0;0x0800
|
||||
DW 118,146, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; E
|
||||
DW 438,466, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 146,174, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; F
|
||||
DW 466,494, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 174,202, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; G
|
||||
DW 494,522, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 202,230, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; H
|
||||
DW 522,550, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 230,258, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; I
|
||||
DW 550,578, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 258,286, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; J
|
||||
DW 578,606, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 286,314, 30, 42,%0000000000000001,0,ChangeDriveL,0 ; K
|
||||
DW 606,634, 30, 42,%0000000000000001,0,ChangeDriveR,0
|
||||
DW 0x8000
|
||||
|
||||
;[]==========================================================[]
|
||||
FileTab DW 8,160, 29, 43,%0000000100100100,0,RESIDENT.FileInfoL2,0
|
||||
DW 8,160, 43, 57,%0000000100100100,0,RESIDENT.PrintFileL3,0
|
||||
DW 8,160, 63, 77,%0000000100100100,0,RESIDENT.QuitL1,0
|
||||
DW 6, 40, 15, 26,%0000000100101000,0,MenuExit,0
|
||||
DW 40, 84, 15, 26,%0000000010010000,MenuSelect.L2,0,0
|
||||
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
|
||||
DW 138,174, 15, 26,%0000000010010000,MenuView.L8,0,0
|
||||
DW 174,222, 15, 26,%0000000010010000,MenuConfig.L2,0,0
|
||||
DW 222,262, 15, 26,%0000000010010000,MenuAbout.L2,0,0
|
||||
DW 0,640, 0, 26,%0000000100100000,0,MenuExit,0
|
||||
DW 0,640, 80,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0, 4, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 164,640, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0x8000
|
||||
|
||||
SelectTab DW 44,196, 29, 43,%0000000100100100,0,RESIDENT.MarkGroupN,0
|
||||
DW 44,196, 43, 57,%0000000100100100,0,RESIDENT.UnMarkGroupN,0
|
||||
DW 44,196, 57, 71,%0000000100100100,0,RESIDENT.SelectAllN,0
|
||||
DW 44,196, 71, 85,%0000000100100100,0,RESIDENT.UnSelectAllN,0
|
||||
DW 44,196, 85, 99,%0000000100100100,0,RESIDENT.InvertSelectN,0
|
||||
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0
|
||||
DW 40, 84, 15, 26,%0000000100101000,0,MenuExit,0
|
||||
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
|
||||
DW 138,174, 15, 26,%0000000010010000,MenuView.L8,0,0
|
||||
DW 174,222, 15, 26,%0000000010010000,MenuConfig.L2,0,0
|
||||
DW 222,262, 15, 26,%0000000010010000,MenuAbout.L2,0,0
|
||||
DW 0,640, 0, 26,%0000000100100000,0,MenuExit,0
|
||||
DW 0,640,102,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0, 40, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 200,640, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0x8000
|
||||
|
||||
; ¯®¤¬¥î "Options"
|
||||
OptionTab DW 88,288, 29, 43,%0000000100100100,0,RefreshTree,0 ; Options->Refresh tree
|
||||
DW 88,288, 43, 57,%0000000100100100,0,RESIDENT.DiskInfoL4,0 ; Options->Disk info
|
||||
DW 88,288, 63, 77,%0000000100100100,0,RESIDENT.SystemInfo,0 ; Options->System information
|
||||
IF PLUGS_ENABLE
|
||||
DW 88,288, 77, 91,%0000000100100100,0,GetPlugins,0 ; Options->Plugins
|
||||
ENDIF
|
||||
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0 ; File
|
||||
DW 40, 84, 15, 26,%0000000010010000,MenuSelect.L2,0,0 ; Select
|
||||
DW 84,138, 15, 26,%0000000100101000,0,MenuExit,0 ;
|
||||
DW 138,174, 15, 26,%0000000010010000,MenuView.L8,0,0 ; View
|
||||
DW 174,222, 15, 26,%0000000010010000,MenuConfig.L2,0,0 ; Config
|
||||
DW 222,262, 15, 26,%0000000010010000,MenuAbout.L2,0,0 ; About
|
||||
DW 0,640, 0, 26,%0000000100100000,0,MenuExit,0
|
||||
DW 0,640, 80,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0, 84, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 292,640, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0x8000
|
||||
|
||||
; ¯®¤¬¥î "View"
|
||||
ViewTab DW 142,324, 29, 43,%0000000100100100,0,ChView1,0
|
||||
DW 142,324, 43, 57,%0000000100100100,0,ChView2,0
|
||||
DW 142,324, 57, 71,%0000000100100100,0,ChView3,0
|
||||
DW 142,324, 77, 91,%0000000100100100,0,ChFilt1,0
|
||||
DW 142,324, 91,105,%0000000100100100,0,ChFilt2,0
|
||||
DW 142,324,105,119,%0000000100100100,0,ChFilt3,0
|
||||
DW 142,324,119,133,%0000000100100100,0,NewFilter.L1,0
|
||||
DW 142,324,139,153,%0000000100100100,0,ChSort1,0
|
||||
DW 142,324,153,167,%0000000100100100,0,ChSort2,0
|
||||
DW 142,324,167,181,%0000000100100100,0,ChSort3,0
|
||||
DW 142,324,181,195,%0000000100100100,0,ChSort4,0
|
||||
DW 142,324,195,209,%0000000100100100,0,ChSort5,0
|
||||
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0
|
||||
DW 40, 84, 15, 26,%0000000010010000,MenuSelect.L2,0,0
|
||||
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
|
||||
DW 138,174, 15, 26,%0000000100101000,0,MenuExit,0
|
||||
DW 174,222, 15, 26,%0000000010010000,MenuConfig.L2,0,0
|
||||
DW 222,262, 15, 26,%0000000010010000,MenuAbout.L2,0,0
|
||||
DW 0,640, 0, 26,%0000000101100000,0,MenuExit,0
|
||||
DW 0,640,184,256,%0000000101100000,0,MenuExit,0
|
||||
DW 0,138, 0,256,%0000000101100000,0,MenuExit,0
|
||||
DW 330,640, 0,256,%0000000101100000,0,MenuExit,0
|
||||
DW 0x8000
|
||||
|
||||
ConfigTab DW 178,266, 29, 43,%0000000100100100,0,RESIDENT.Setup,0
|
||||
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0
|
||||
DW 40, 84, 15, 26,%0000000010010000,MenuSelect.L2,0,0
|
||||
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
|
||||
DW 138,174, 15, 26,%0000000010010000,MenuView.L8,0,0
|
||||
DW 174,222, 15, 26,%0000000100101000,0,MenuExit,0
|
||||
DW 222,262, 15, 26,%0000000010010000,MenuAbout.L2,0,0
|
||||
DW 0,640, 0, 26,%0000000100100000,0,MenuExit,0
|
||||
DW 0,640, 46,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0,174, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 270,640, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0x8000
|
||||
|
||||
AboutTab DW 226,330, 29, 43,%0000000100100100,0,RESIDENT.Version,0
|
||||
DW 6, 40, 15, 26,%0000000010010000,MenuFile.L2,0,0
|
||||
DW 40, 84, 15, 26,%0000000010010000,MenuSelect.L2,0,0
|
||||
DW 84,138, 15, 26,%0000000010010000,MenuOption.L2,0,0
|
||||
DW 138,174, 15, 26,%0000000010010000,MenuView.L8,0,0
|
||||
DW 174,222, 15, 26,%0000000010010000,MenuConfig.L2,0,0
|
||||
DW 222,262, 15, 26,%0000000100101000,0,MenuExit,0
|
||||
DW 0,640, 0, 26,%0000000100100000,0,MenuExit,0
|
||||
DW 0,640, 46,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0,222, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 334,640, 0,256,%0000000100100000,0,MenuExit,0
|
||||
DW 0x8000
|
||||
|
||||
PullTab DW 6, 40, 15, 26,%0000000000100000,0,MFile,0
|
||||
DW 40, 84, 15, 26,%0000000000100000,0,MSelect,0
|
||||
DW 84,138, 15, 26,%0000000000100000,0,MOption,0
|
||||
DW 138,174, 15, 26,%0000000000100000,0,MView,0
|
||||
DW 174,222, 15, 26,%0000000000100000,0,MConfig,0
|
||||
DW 222,262, 15, 26,%0000000000100000,0,MAbout,0
|
||||
DW 0,640, 0, 15,%0000000000100000,0,PullExit.L1,0
|
||||
DW 0,640, 26,256,%0000000000100000,0,PullExit.L1,0
|
||||
DW 0, 6, 0,256,%0000000000100000,0,PullExit.L1,0
|
||||
DW 222,640, 0,256,%0000000000100000,0,PullExit.L1,0
|
||||
DW 0x8000
|
||||
|
||||
;[]==========================================================[]
|
||||
FilterTab DW 240,312,123,137,%0000000000000001,0,InputLine.InpLnExtN,0
|
||||
DW 328,400,123,137,%0000000000000001,0,InputLine.InpLnExtC,0
|
||||
DW 0,208, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 432,640, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640,143,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0x8000
|
||||
|
||||
SMaskTab DW 240,312,123,137,%0000000000000001,0,InputLine.InpLnExtN,0
|
||||
DW 328,400,123,137,%0000000000000001,0,InputLine.InpLnExtC,0
|
||||
DW 0,208, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 432,640, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640,143,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0x8000
|
||||
|
||||
DOSTab DW 0,256, 0,256,%0000000000000000,0,DOSLnExtC,0
|
||||
DW 636,640, 0,256,%0000000000000000,0,DOSLnExtC,0
|
||||
DW 0,640, 0,229,%0000000000000000,0,DOSLnExtC,0
|
||||
DW 0,640,239,256,%0000000000000000,0,DOSLnExtC,0
|
||||
DW 0x8000
|
||||
|
||||
ViewEditTab DW 240,312,123,137,%0000000000000001,0,InputLine.InpLnExtN,0
|
||||
DW 328,400,123,137,%0000000000000001,0,InputLine.InpLnExtC,0
|
||||
DW 0,200, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 440,640, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640,143,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0x8000
|
||||
|
||||
;[]==========================================================[]
|
||||
DriveTab DW 0, 0, 0, 0,%0000000000100000,0,DriveExit,0
|
||||
DW 0, 0, 0, 0,%0000000000100000,0,DriveExit,0
|
||||
DW 0,640, 0, 92,%0000000000100000,0,DriveExit,0
|
||||
DW 0,640,128,256,%0000000000100000,0,DriveExit,0
|
||||
|
||||
BegDrive DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0, 0,110,121,%0000000000100000,0,DriveMouse,0
|
||||
DW 0x8000
|
||||
|
||||
IF PLUGS_ENABLE
|
||||
; ®¡« á⨠¢ë¡®à ¢ ¬¥î ¯« £¨®¢
|
||||
PluginsTab: DW 4, 13,100, 10,%0000000000000000,0,SelectPlugin.NUM00,0
|
||||
DW 4, 23,100, 10,%0000000000000000,0,SelectPlugin.NUM01,0
|
||||
DW 4, 33,100, 10,%0000000000000000,0,SelectPlugin.NUM02,0
|
||||
DW 4, 43,100, 10,%0000000000000000,0,SelectPlugin.NUM03,0
|
||||
DW 4, 53,100, 10,%0000000000000000,0,SelectPlugin.NUM04,0
|
||||
DW 4, 63,100, 10,%0000000000000000,0,SelectPlugin.NUM05,0
|
||||
DW 4, 73,100, 10,%0000000000000000,0,SelectPlugin.NUM06,0
|
||||
DW 4, 83,100, 10,%0000000000000000,0,SelectPlugin.NUM07,0
|
||||
DW 4, 93,100, 10,%0000000000000000,0,SelectPlugin.NUM08,0
|
||||
DW 4,103,100, 10,%0000000000000000,0,SelectPlugin.NUM09,0
|
||||
DW 4,113,100, 10,%0000000000000000,0,SelectPlugin.NUM10,0
|
||||
DW 30,176, 72, 14,%0000000000000000,0,SelectPlugin.CANCEL,0
|
||||
DW 0x8000
|
||||
ENDIF
|
||||
|
||||
;[]==========================================================[]
|
||||
;”®à¬ â â ¡«¨æë
|
||||
; +00 2 ASCII + SCANCOD
|
||||
; +02 2 Execute program
|
||||
HOTKEYS
|
||||
.ASCIIKeys DW SC.TAB << 8 | 0x09, ChPanel
|
||||
DW SC.X8 << 8, CursUp
|
||||
DW SC.X2 << 8, CursDown
|
||||
DW SC.X4 << 8, CursLeft
|
||||
DW SC.X6 << 8, CursRight
|
||||
DW SC.X9 << 8, PageUp
|
||||
DW SC.X3 << 8, PageDown
|
||||
DW SC.X7 << 8, Home
|
||||
DW SC.X1 << 8, End
|
||||
DW SC.F9 << 8, PullDown
|
||||
DW SC.XDOTZAP << 8 | '+', RESIDENT.MarkGroup
|
||||
DW SC.XMINUS << 8 | '-', RESIDENT.UnMarkGroup
|
||||
DW SC.XMUL << 8 | '*', RESIDENT.InvertSelect
|
||||
DW SC.X0 << 8, RESIDENT.MarkFile
|
||||
DW SC.F1 << 8, Help
|
||||
DW SC.F3 << 8, ViewFile
|
||||
DW SC.F4 << 8, EditFile
|
||||
DW SC.F5 << 8, RESIDENT.CopyFiles
|
||||
DW SC.F6 << 8, RESIDENT.ReName
|
||||
DW SC.F7 << 8, RESIDENT.MakeDIR
|
||||
DW SC.F8 << 8, RESIDENT.DeleteFiles
|
||||
DW SC.F10 << 8, RESIDENT.Quit
|
||||
DB 0xFF
|
||||
|
||||
.SHIFTKeys DW SC.F3 << 8, ViewFileSH
|
||||
DW SC.F4 << 8, EditFileSH
|
||||
DB 0xFF
|
||||
|
||||
.CTRLKeys DW SC.F9 << 8, RESIDENT.PrintFile
|
||||
DW SC.XDOTZAP << 8, RESIDENT.SelectAll
|
||||
DW SC.XMINUS << 8, RESIDENT.UnSelectAll
|
||||
DW SC.L << 8, RESIDENT.DiskInfo
|
||||
DW SC.F1 << 8, Brief
|
||||
DW SC.F2 << 8, Full
|
||||
DW SC.F8 << 8, Tree
|
||||
DW SC.F10 << 8, AllFiles
|
||||
DW SC.F11 << 8, ExeFiles
|
||||
DW SC.F12 << 8, NewFilter
|
||||
DW SC.F3 << 8, NameS
|
||||
DW SC.F4 << 8, Extention
|
||||
DW SC.F5 << 8, Data
|
||||
DW SC.F6 << 8, Size
|
||||
DW SC.F7 << 8, UnSort
|
||||
DW SC.U << 8, ReplacePanels
|
||||
DW SC.O << 8, ShowDOSscreen
|
||||
DW SC.BSLASH << 8, BegDIRECTORY
|
||||
DB 0xFF
|
||||
|
||||
.ALTKeys DW SC.ESC << 8, MouseOnOff
|
||||
DW SC.ENTER << 8, RESIDENT.FileInfo
|
||||
DW SC.F1 << 8, LeftDrive
|
||||
DW SC.F2 << 8, RightDrive
|
||||
DW SC.F3 << 8, StViewFile
|
||||
DW SC.F4 << 8, StEditFile
|
||||
DW SC.F10 << 8, RefreshTree
|
||||
DB 0xFF
|
||||
734
fntree.a80
Normal file
734
fntree.a80
Normal file
@ -0,0 +1,734 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
|
||||
MAX_LEVEL_DIR EQU 21
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ReadTreeR PUSH IY
|
||||
POP HL
|
||||
LD BC,PANEL.EFL
|
||||
ADD HL,BC
|
||||
LD B,PANEL.FILEMASK - PANEL.EFL
|
||||
.LL1 LD (HL),0
|
||||
INC HL
|
||||
DJNZ .LL1
|
||||
LD HL,BegDIR
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
LD HL,TreeName
|
||||
PUSH IY
|
||||
SPDSS DSSF.OPEN,,0
|
||||
POP IY
|
||||
JP NC,LoadTreeR
|
||||
; ä ©« á ¤¥à¥¢®¬ ª â «®£®¢ ¥ ©¤¥, ᪠¨à㥬 ¨ á®§¤ ¥¬
|
||||
.ScanTree
|
||||
GETPORT WINSP.CPU1
|
||||
LD C,A
|
||||
GETPORT WINSP.CPU3
|
||||
LD B,A
|
||||
PUSH BC
|
||||
LD A,(RAMPAGES.BuffPg3)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
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
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 240,96,160,40
|
||||
W_FILL 4,2,152,10,COLORI.BLACK
|
||||
W_TEXT 44,3,COLORI.WHITE,"Scanning tree"
|
||||
W_TEXT 32,20,COLORP.HIGHGRAY,"Directories:"
|
||||
W_END
|
||||
LD (.TreeSP1),SP
|
||||
SUB A
|
||||
LD (CurTree),A
|
||||
LD SP,STACKTREE
|
||||
LD HL,0
|
||||
PUSH HL
|
||||
LD (LoadItemDIRR.CurTAdr),HL
|
||||
LD HL,CPU3 + TreeHead_Size
|
||||
LD (EndTree),HL
|
||||
LD B,0x10
|
||||
SUB A
|
||||
.L2 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L2
|
||||
LD HL,1
|
||||
LD (TreeDIRS),HL
|
||||
CALL LoadItemDIRR
|
||||
JR NC,.TreeExit ; NC - ¥â ¤¨à¥ªâ®à¨©
|
||||
.TreeLoop PUSH HL
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD A,E
|
||||
SUB 0x1B
|
||||
POP HL
|
||||
JP Z,AbortTree
|
||||
LD A,(CurTree)
|
||||
INC A
|
||||
CP MAX_LEVEL_DIR
|
||||
JR Z,.DIRSend
|
||||
LD (CurTree),A
|
||||
LD DE,(TreeDIRS)
|
||||
BIT 2,D ; DE >= 1024
|
||||
JR NZ,.TreeExit
|
||||
PUSH HL
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR Z,.DIRSend
|
||||
LD (LoadItemDIRR.CurTAdr),HL
|
||||
SPDSS DSSF.CHDIR
|
||||
CALL LoadItemDIRR
|
||||
JR C,.TreeLoop ; C - ¥áâì ¤¨à¥ªâ®à¨¨
|
||||
.DIRSend
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD A,E
|
||||
SUB 0x1B
|
||||
JP Z,AbortTree
|
||||
POP HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.TreeExit
|
||||
PUSH HL
|
||||
LD HL,CurTree
|
||||
DEC (HL)
|
||||
LD HL,UpDIR
|
||||
SPDSS DSSF.CHDIR
|
||||
POP HL
|
||||
LD DE,0x000F
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
INC A
|
||||
JR NZ,.TreeLoop
|
||||
JR .DIRSend
|
||||
|
||||
.TreeExit
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD SP,STACKTREE
|
||||
LD IX,0
|
||||
PUSH IX
|
||||
LD HL,CPU1
|
||||
LD DE,TreeHead
|
||||
LD BC,TreeHead_Size
|
||||
EX DE,HL
|
||||
LDIR ; § ¥á«¨ § £®«®¢®ª ¤¥à¥¢ ª â «®£®¢ FN
|
||||
LD HL,(TreeDIRS)
|
||||
DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.TreeExit1
|
||||
LD HL,CPU3 + TreeHead_Size
|
||||
.TreeEndLp INC IXL
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD A,IXL
|
||||
CP IXH
|
||||
JR C,.L3
|
||||
LD IXH,A
|
||||
.L3 LD (DE),A
|
||||
INC DE
|
||||
SUB A
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD BC,0x000C
|
||||
LDIR
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD (DE),A
|
||||
INC DE
|
||||
INC HL
|
||||
LD C,(HL)
|
||||
INC HL
|
||||
LD B,(HL)
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
AND 0x80
|
||||
POP HL
|
||||
OR (HL)
|
||||
LD (HL),A
|
||||
LD L,C
|
||||
LD H,B
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.TreeEndLp
|
||||
.TreeEndLp1 DEC IXL
|
||||
POP HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR Z,.TreeExit1
|
||||
LD BC,0x000F
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
INC A
|
||||
JR NZ,.TreeEndLp
|
||||
JR .TreeEndLp1
|
||||
|
||||
.TreeExit1 LD (EndTree),DE
|
||||
DEC DE
|
||||
LD A,0xFF
|
||||
LD (DE),A
|
||||
LD SP,0
|
||||
.TreeSP1 EQU $-2
|
||||
POP IY
|
||||
RES VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
|
||||
LD A,IXH
|
||||
CP 0x0B
|
||||
JR C,.L4
|
||||
SET VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
|
||||
.L4
|
||||
GETPORT WINSP.CPU3
|
||||
LD (RAMPAGES.BuffPg3),A
|
||||
GETPORT WINSP.CPU1
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD HL,RAMPAGES.LEFTPANEL
|
||||
JR Z,.L5
|
||||
LD HL,RAMPAGES.RIGHTPANEL
|
||||
.L5 LD (HL),A
|
||||
WINDOWCLOSE
|
||||
POP BC
|
||||
LD A,B
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD A,C
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,(TreeDIRS)
|
||||
LD (IY+PANEL.EFL),L ; EQUIP FIL
|
||||
LD (IY+PANEL.EFH),H
|
||||
PUSH IY
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L6
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L6
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,BegDIR
|
||||
SPDSS DSSF.CHDIR
|
||||
LD HL,TreeName
|
||||
SPDSS DSSF.CREATE,,0
|
||||
JR C,.TreeErr
|
||||
PUSH AF
|
||||
LD HL,CPU3
|
||||
LD DE,(EndTree)
|
||||
RES 6,D
|
||||
SPDSS DSSF.WRITE
|
||||
POP AF
|
||||
SPDSS DSSF.CLOSE
|
||||
.TreeErr LD A,1
|
||||
LD (CPU3 + 1),A
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
JP LoadTreeR.TreeOkey
|
||||
|
||||
; § £à㧪 ¤¥à¥¢ ª â «®£®¢ ¨§ ä ©«
|
||||
LoadTreeR EX AF,AF'
|
||||
PUSH IY
|
||||
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
|
||||
EX AF,AF'
|
||||
PUSH AF
|
||||
LD HL,CPU3
|
||||
LD DE,0x4000
|
||||
SPDSS DSSF.READ
|
||||
EX AF,AF'
|
||||
LD HL,CPU3
|
||||
LD DE,WorkBuffer
|
||||
LD BC,0x0010
|
||||
LDIR
|
||||
POP AF
|
||||
SPDSS DSSF.CLOSE
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IY
|
||||
EX AF,AF'
|
||||
JP C,ReadTreeR.ScanTree ; Error
|
||||
LD HL,WorkBuffer + 2
|
||||
LD DE,TreeHead + 2
|
||||
LD B,TreeHead_Size - 3
|
||||
.L2 LD A,(DE)
|
||||
CP (HL)
|
||||
JP NZ,ReadTreeR.ScanTree ; Error
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .L2
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L3
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L3
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,CPU3
|
||||
LD DE,0x000E
|
||||
LD BC,0
|
||||
LD IXH,0
|
||||
.LoadTr1 LD A,(HL)
|
||||
AND 0x7F
|
||||
CP IXH
|
||||
JR C,.L4
|
||||
LD IXH,A
|
||||
.L4 INC HL
|
||||
LD (HL),0
|
||||
INC BC
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
INC A
|
||||
JR NZ,.LoadTr1
|
||||
RES VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
|
||||
LD A,IXH
|
||||
CP 0x0B
|
||||
JR C,.L5
|
||||
SET VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
|
||||
.L5 LD (IY+PANEL.EFL),C ; EQUIP FILES
|
||||
LD (IY+PANEL.EFH),B
|
||||
BIT PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
|
||||
LD A,1
|
||||
JR NZ,.L6
|
||||
LD A,3
|
||||
.L6 LD (CPU3 + 1),A
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
.TreeOkey PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
INC HL
|
||||
JP FindTreeDIRR
|
||||
|
||||
AbortTree LD SP,(ReadTreeR.TreeSP1)
|
||||
POP IY
|
||||
POP BC
|
||||
LD A,B
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD A,C
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
|
||||
RES VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
WINDOWCLOSE
|
||||
LD HL,InitPanels
|
||||
EX (SP),HL
|
||||
SUB A
|
||||
RET
|
||||
|
||||
TreeName DZ FILENAME.FNTREE_FLN
|
||||
TreeHead DB 0,0,0x5C,0,0,0,0xAE,"FlexTree",0
|
||||
TreeHead_Size EQU $ - TreeHead
|
||||
BegDIR DB 0x5C,0
|
||||
UpDIR DB "..",0
|
||||
CurTree DB 0
|
||||
TreeDIRS DW 0 ; ª®«¨ç¥á⢮ ©¤¥ëå ¤¨à
|
||||
EndTree DW 0 ; ⥪ã騩 ¤à¥á ¢ â ¡«¨æ¥ ¤¨à¥ªâ®à¨©
|
||||
|
||||
; ç⥨¥ ®¯¨á ⥫¥© ¤¨à¥ªâ®à¨©
|
||||
LoadItemDIRR: LD DE,(EndTree)
|
||||
PUSH DE
|
||||
LD IX,0
|
||||
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 IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_FIRST,1
|
||||
POP HL
|
||||
POP IX
|
||||
JR C,.FndFLtrE ; ¨ç¥£® ¥ ©¤¥®? ¢ë室
|
||||
.FndFLtr LD A,(WorkBuffer + 0x20)
|
||||
AND DIR.M_Dir ; íâ® ¤¨à ?
|
||||
CALL NZ,.ADD_DIR ; ¥á«¨ ¤ â® ¤®¡ ¢«ï¥¬
|
||||
JR C,.FndFLtrE ; ®è¨¡ª ¤®¡ ¢«¥¨ï? ¢ë室¨¬
|
||||
; ç¨â ¥¬ á«¥¤ãî騩 ®¯¨á ⥫ì
|
||||
LD DE,WorkBuffer
|
||||
PUSH IX
|
||||
PUSH DE
|
||||
SPDSS DSSF.F_NEXT
|
||||
POP HL
|
||||
POP IX
|
||||
JR NC,.FndFLtr
|
||||
; § ¢¥à襨¥ á®§¤ ¨ï ¤¥à¥¢
|
||||
.FndFLtrE LD HL,(EndTree)
|
||||
DEC HL
|
||||
LD (HL),0xFF
|
||||
LD C,IXL
|
||||
LD B,IXH
|
||||
LD HL,(TreeDIRS)
|
||||
ADD HL,BC
|
||||
LD (TreeDIRS),HL
|
||||
POP HL
|
||||
LD A,B
|
||||
OR C
|
||||
RET Z
|
||||
PUSH HL
|
||||
CALL .PRT_NUM_DIR ; ®¡®¢«ï¥¬ ª®«¨ç¥á⢮ ©¤¥ëå ¤¨à
|
||||
POP HL
|
||||
LD DE,0
|
||||
.CurTAdr EQU $-2
|
||||
LD A,D
|
||||
OR E
|
||||
SCF
|
||||
RET Z
|
||||
EX DE,HL
|
||||
LD BC,0x000D
|
||||
ADD HL,BC
|
||||
LD (HL),E
|
||||
INC HL
|
||||
LD (HL),D
|
||||
EX DE,HL
|
||||
SCF
|
||||
RET
|
||||
|
||||
; § ¥á¥¨¥ ¢ â ¡«¨æã í«¥¬¥â ¤¨à¥ªâ®à¨¨
|
||||
.ADD_DIR EX DE,HL
|
||||
LD HL,(EndTree)
|
||||
LD BC,0x0010
|
||||
ADD HL,BC
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
RET C
|
||||
LD BC,FFIRST.Name
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
CP '.' ; ¯¥à¢ë© ᨬ¢®« ¨¬¥¨ â®çª ?
|
||||
RET Z
|
||||
LD C,0x10 ; ¤«¨ í«¥¬¥â ¢ â ¡«¨æ¥
|
||||
SUB A
|
||||
; ¯¥à¥®á ¨¬¥¨ ¤® 0
|
||||
.L1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
LD B,C
|
||||
; ®áâ ⮪ § ¯®«ï¥¬ ã«¥¬
|
||||
.L2 LD (DE),A
|
||||
INC DE
|
||||
DJNZ .L2
|
||||
LD (EndTree),DE
|
||||
INC IX
|
||||
RET
|
||||
|
||||
; ª®¢¥àá¨ï ¨ ¯¥ç âì ç¨á« ª®«¨ç¥á⢠¤¨à¥ªâ®à¨© ¢ ¤¥à¥¢¥
|
||||
.PRT_NUM_DIR LD HL,(TreeDIRS)
|
||||
DEC HL
|
||||
LD DE,.CurDNumb
|
||||
PUSH DE
|
||||
LD B,4
|
||||
LD A,' '
|
||||
.L3 LD (DE),A
|
||||
INC DE
|
||||
DJNZ .L3
|
||||
POP DE
|
||||
EXX
|
||||
LD C,0
|
||||
EXX
|
||||
LD BC,1000 ; 1'000
|
||||
CALL .GetN16
|
||||
LD BC,100 ; 100
|
||||
CALL .GetN16
|
||||
LD BC,10 ; 10
|
||||
CALL .GetN16
|
||||
LD A,L
|
||||
ADD A,'0'
|
||||
LD (DE),A
|
||||
LD HL,.CurDNumb
|
||||
LD DE,336 ; X pos
|
||||
LD BC,116 ; Y pos
|
||||
LD A,COLORP.HIGHGRAY
|
||||
JP PrnTxtLnIFF
|
||||
|
||||
.GetN16 LD A,'0' - 1
|
||||
OR A
|
||||
.L4 INC A
|
||||
SBC HL,BC
|
||||
JR NC,.L4
|
||||
ADD HL,BC
|
||||
CP '0'
|
||||
JR Z,.L5
|
||||
EXX
|
||||
SET 0,C
|
||||
EXX
|
||||
.L5 EXX
|
||||
BIT 0,C
|
||||
EXX
|
||||
RET Z
|
||||
LD (DE),A
|
||||
INC DE
|
||||
RET
|
||||
|
||||
.CurDNumb DEFB " ",0
|
||||
|
||||
;[]=========================================================[]
|
||||
TestTreeR BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET Z
|
||||
LD B,0x28
|
||||
.TstTree PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
OR A
|
||||
RET NZ
|
||||
PUSH BC
|
||||
SPDSS DSSF.TESTKEY
|
||||
POP BC
|
||||
RET NZ
|
||||
HALT
|
||||
DJNZ .TstTree
|
||||
IFNDEF TREE_DIR_ENTER
|
||||
LD A,E
|
||||
CP 0x0D ; ᬥ ¤¨à¥ªâ®à¨¨ ¨§ ¤¥à¥¢ ⮫쪮 ¯® ENTER
|
||||
RET NZ
|
||||
ENDIF
|
||||
.TestTreeBeg
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L14
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L14
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD L,(IY+PANEL.FFL)
|
||||
LD H,(IY+PANEL.FFH)
|
||||
LD E,(IY+PANEL.CFL)
|
||||
LD D,(IY+PANEL.CFH)
|
||||
ADD HL,DE
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
SET 6,H
|
||||
INC HL
|
||||
BIT 0,(HL)
|
||||
JR NZ,.L2
|
||||
EX DE,HL
|
||||
LD HL,CPU1
|
||||
LD BC,0x000E
|
||||
.L1 INC HL
|
||||
RES 0,(HL)
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
INC A
|
||||
JR NZ,.L1
|
||||
EX DE,HL
|
||||
SET 0,(HL)
|
||||
CALL PrintDIR
|
||||
CALL SetInvert
|
||||
CALL MakeTreePathR
|
||||
PUSH IY
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD IY,RightPanel
|
||||
JR Z,.L3
|
||||
LD IY,LeftPanel
|
||||
.L3 CALL NewDIRECTORY
|
||||
POP IY
|
||||
.L2 POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
MakeTreePathR
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L5
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L5
|
||||
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
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
SET 6,H
|
||||
LD DE,WorkBuffer+0xFF
|
||||
LD BC,0x0010
|
||||
SUB A
|
||||
LD (DE),A
|
||||
DEC DE
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR Z,.L4
|
||||
AND 0x7F
|
||||
INC A
|
||||
LD IXL,A
|
||||
ADD HL,BC
|
||||
INC DE
|
||||
.L3 SBC HL,BC
|
||||
PUSH HL
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
AND 0x7F
|
||||
CP IXL
|
||||
JR NC,.L2
|
||||
LD IXL,A
|
||||
LD B,0xFF
|
||||
SUB A
|
||||
.L6 INC B
|
||||
INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L6
|
||||
.L1 DEC HL
|
||||
DEC DE
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
DJNZ .L1
|
||||
DEC DE
|
||||
LD A,'\\'
|
||||
LD (DE),A
|
||||
.L2 POP HL
|
||||
LD A,(HL)
|
||||
AND 0x7F
|
||||
CP 2
|
||||
JR NC,.L3
|
||||
.L4 EX DE,HL
|
||||
LD (HL),'\\'
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
FindTreeDIRR
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD IX,LeftPanel
|
||||
BIT VIEWFLAG.B_TREE,(IX+PANEL.VIEWFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR NZ,.L14
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L14
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD DE,CPU1
|
||||
LD BC,0
|
||||
.L1 LD A,(DE)
|
||||
AND 0x7F
|
||||
LD IXL,A
|
||||
.L2 PUSH HL
|
||||
PUSH DE
|
||||
LD A,(DE)
|
||||
AND 0x7F
|
||||
CP IXL
|
||||
JR NZ,.L4
|
||||
INC DE
|
||||
INC DE
|
||||
.L3 LD A,(DE)
|
||||
CP (HL)
|
||||
JR NZ,.L4
|
||||
INC HL
|
||||
INC DE
|
||||
LD A,(DE)
|
||||
OR A
|
||||
JR Z,.L6
|
||||
LD A,(HL)
|
||||
CP '\\'
|
||||
JR NZ,.L3
|
||||
.L4 POP HL
|
||||
LD DE,0x000F
|
||||
ADD HL,DE
|
||||
EX DE,HL
|
||||
POP HL
|
||||
INC BC
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
INC A
|
||||
JR NZ,.L2
|
||||
.L5 POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SCF
|
||||
RET
|
||||
|
||||
.L6 LD A,IXL
|
||||
OR A
|
||||
JR Z,.L7
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP '\\'
|
||||
JR Z,.L7
|
||||
DEC HL
|
||||
OR A
|
||||
JR NZ,.L4
|
||||
.L7 POP DE
|
||||
INC SP
|
||||
INC SP
|
||||
LD A,E
|
||||
ADD A,0x0F
|
||||
LD E,A
|
||||
JR NC,.L15
|
||||
INC D
|
||||
.L15 INC BC
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR Z,.L8
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
INC A
|
||||
JR Z,.L5
|
||||
JR .L1
|
||||
|
||||
.L8 DEC BC
|
||||
PUSH BC
|
||||
LD HL,CPU1
|
||||
LD BC,0x000E
|
||||
.L9 INC HL
|
||||
LD (HL),B
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
INC A
|
||||
JR NZ,.L9
|
||||
POP HL
|
||||
LD A,E
|
||||
SUB 0x0E
|
||||
LD E,A
|
||||
JR NC,.L10
|
||||
DEC D
|
||||
.L10 LD IX,LeftPanel
|
||||
BIT VIEWFLAG.B_TREE,(IX+PANEL.VIEWFLAG)
|
||||
JR NZ,.L11
|
||||
LD IX,RightPanel
|
||||
.L11 BIT PANELFLAG.B_PRNDOSPATH,(IX+PANEL.PANELFLAG)
|
||||
LD A,1
|
||||
JR NZ,.L12
|
||||
LD A,3
|
||||
.L12 LD (DE),A
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD E,L
|
||||
LD D,H
|
||||
LD BC,4
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR NC,.L13
|
||||
LD HL,0
|
||||
.L13 LD (IX+PANEL.FFL),L
|
||||
LD (IX+PANEL.FFH),H
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,DE
|
||||
LD (IX+PANEL.CFL),L
|
||||
LD (IX+PANEL.CFH),H
|
||||
OR A
|
||||
RET
|
||||
2077
fnwork.a80
Normal file
2077
fnwork.a80
Normal file
File diff suppressed because it is too large
Load Diff
BIN
iff_font.raw
Normal file
BIN
iff_font.raw
Normal file
Binary file not shown.
20
plugins/build_all.bat
Normal file
20
plugins/build_all.bat
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
@echo off
|
||||
|
||||
cls
|
||||
|
||||
cd cdplayer
|
||||
call build
|
||||
cd ..\date
|
||||
call build
|
||||
cd ..\test
|
||||
call build
|
||||
cd ..\calc
|
||||
call build
|
||||
cd ..\fneditor
|
||||
call build
|
||||
cd ..\fnviewer
|
||||
call build
|
||||
cd ..\help
|
||||
call build
|
||||
cd..
|
||||
21
plugins/calc/build.bat
Normal file
21
plugins/calc/build.bat
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\;d:\yad\sprinter_src\flexnav\src\
|
||||
|
||||
asl -U -L -C -x -olist tmp\calc.lst -i %includes% calc.a80 || goto error
|
||||
p2bin calc.p ..\calc.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
||||
348
plugins/calc/calc.a80
Normal file
348
plugins/calc/calc.a80
Normal file
@ -0,0 +1,348 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
include ports_sp.a80
|
||||
include define_sp.a80
|
||||
include macros_sp.a80
|
||||
include dss_sp.a80
|
||||
|
||||
org PluginOrg ; #C000 - Header lenght
|
||||
; Flex Navigator plugin header
|
||||
PluginStart: db "FLX-PLUG" ; Id
|
||||
dw 0x0000 ; LoadOffset
|
||||
dw PluginEntry ; EntryOffset
|
||||
db 0x00 ; PluginMode
|
||||
db 0x00,0x00,0x00 ; Reserved
|
||||
|
||||
PluginEntry:
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 242,80,155,97
|
||||
W_FILL 4,2,147,10,COLORI.BLACK
|
||||
W_TEXT 6,3,COLORI.WHITE,"Calculator"
|
||||
W_HORIZLINE 1,13,154
|
||||
W_BORDER 8,19,139,11
|
||||
W_BUTTON 8,34,26,13
|
||||
W_BUTTON 36,34,26,13
|
||||
W_BUTTON 64,34,26,13
|
||||
W_BUTTON 92,34,26,13
|
||||
W_BUTTON 120,34,26,13
|
||||
W_BUTTON 8,49,26,13
|
||||
W_BUTTON 36,49,26,13
|
||||
W_BUTTON 64,49,26,13
|
||||
W_BUTTON 92,49,26,13
|
||||
W_BUTTON 120,49,26,13
|
||||
W_BUTTON 8,64,26,13
|
||||
W_BUTTON 36,64,26,13
|
||||
W_BUTTON 64,64,26,13
|
||||
W_BUTTON 92,64,26,13
|
||||
W_BUTTON 120,64,26,28
|
||||
W_BUTTON 8,79,26,13
|
||||
W_BUTTON 36,79,26,13
|
||||
W_BUTTON 64,79,26,13
|
||||
W_BUTTON 92,79,26,13
|
||||
W_END
|
||||
ld ix, 16h
|
||||
ld hl, asc_C36E ; "7"
|
||||
ld de, 107h
|
||||
ld bc, 75h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C370 ; "8"
|
||||
ld de, 123h
|
||||
ld bc, 75h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
sub_C103: ld hl, asc_C372 ; "9"
|
||||
ld de, 140h
|
||||
ld bc, 75h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C37F ; "/"
|
||||
ld de, 15Bh
|
||||
ld bc, 75h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C374 ; "C"
|
||||
ld de, 177h
|
||||
ld bc, 75h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C368 ; "4"
|
||||
ld de, 107h
|
||||
ld bc, 84h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C36A ; "5"
|
||||
ld de, 123h
|
||||
ld bc, 84h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C36C ; "6"
|
||||
ld de, 140h
|
||||
ld bc, 84h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C37D ; "*"
|
||||
ld de, 15Bh
|
||||
ld bc, 84h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C376 ; "CE"
|
||||
ld de, 178h
|
||||
ld bc, 84h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C362 ; "1"
|
||||
ld de, 107h
|
||||
ld bc, 93h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C364 ; "2"
|
||||
ld de, 123h
|
||||
ld bc, 93h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C366 ; "3"
|
||||
ld de, 140h
|
||||
ld bc, 93h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C37B ; "-"
|
||||
ld de, 15Bh
|
||||
ld bc, 93h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C387 ; "="
|
||||
ld de, 178h
|
||||
ld bc, 9Ah
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C360 ; "0"
|
||||
ld de, 107h
|
||||
ld bc, 0A2h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C381 ; "+/-"
|
||||
ld de, 123h
|
||||
ld bc, 0A2h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C385 ; "."
|
||||
ld de, 13Fh
|
||||
ld bc, 0A2h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl, asc_C379 ; "+"
|
||||
ld de, 15Bh
|
||||
ld bc, 0A2h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathC
|
||||
call JUMPS.ResFire
|
||||
loc_C1F4: call sub_C324
|
||||
loc_C1F7: ld ix, PluginMouseTab
|
||||
call JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
jp z, loc_C1F7
|
||||
ld a, b
|
||||
or a
|
||||
jp nz, loc_C1F7
|
||||
ld a, e
|
||||
cp '0'
|
||||
jp z, loc_C2CD
|
||||
cp '1'
|
||||
jp z, loc_C2CD
|
||||
cp '2'
|
||||
jp z, loc_C2CD
|
||||
cp '3'
|
||||
jp z, loc_C2CD
|
||||
cp '4'
|
||||
jp z, loc_C2CD
|
||||
cp '5'
|
||||
jp z, loc_C2CD
|
||||
cp '6'
|
||||
jp z, loc_C2CD
|
||||
cp '7'
|
||||
jp z, loc_C2CD
|
||||
cp '8'
|
||||
jp z, loc_C2CD
|
||||
cp '9'
|
||||
jp z, loc_C2CD
|
||||
cp '.'
|
||||
jp z, loc_C2CD
|
||||
cp 'S'
|
||||
jp z, loc_C283
|
||||
cp 's'
|
||||
jp z, loc_C283
|
||||
cp 'R'
|
||||
jp z, loc_C266
|
||||
cp 'r'
|
||||
jp z, loc_C266
|
||||
cp 8
|
||||
jp z, loc_C304
|
||||
cp 1Bh
|
||||
jp nz, loc_C1F4
|
||||
WINDOWCLOSE
|
||||
or a
|
||||
ret
|
||||
|
||||
loc_C266: ld a, 20h ; ' '
|
||||
ld (byte_C33F), a
|
||||
ld a, 30h ; '0'
|
||||
ld (byte_C340), a
|
||||
xor a
|
||||
ld (byte_C33E), a
|
||||
ld (byte_C33D), a
|
||||
ld b, 0Ah
|
||||
ld hl, byte_C341
|
||||
loc_C27C: ld (hl), a
|
||||
inc hl
|
||||
djnz loc_C27C
|
||||
jp loc_C1F4
|
||||
|
||||
loc_C283: ld hl, byte_C340
|
||||
ld a, (hl)
|
||||
cp 30h ; '0'
|
||||
jp z, loc_C1F7
|
||||
ld hl, byte_C33F
|
||||
ld a, (hl)
|
||||
xor 0Dh
|
||||
ld (hl), a
|
||||
jp loc_C1F4
|
||||
|
||||
loc_C296: ld a, '0'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C29B: ld a, '1'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2A0: ld a, '2'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2A5: ld a, '3'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2AA: ld a, '4'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2AF: ld a, '5'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2B4: ld a, '6'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2B9: ld a, '7'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2BE: ld a, '8'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2C3: ld a, '9'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2C8: ld a, '.'
|
||||
jp loc_C2CD
|
||||
|
||||
loc_C2CD: ld c, a
|
||||
ld a, (byte_C33E)
|
||||
cp 0Bh
|
||||
jp z, loc_C1F4
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, byte_C340
|
||||
ld a, (hl)
|
||||
cp '0'
|
||||
jr nz, loc_C2E7
|
||||
ld a, c
|
||||
cp '0'
|
||||
jp z, loc_C1F4
|
||||
loc_C2E7: ld a, c
|
||||
cp '.'
|
||||
jr nz, loc_C2F8
|
||||
ld a, (byte_C33D)
|
||||
or a
|
||||
jp nz, loc_C1F4
|
||||
ld a, 0FFh
|
||||
ld (byte_C33D), a
|
||||
loc_C2F8: add hl, de
|
||||
ld (hl), c
|
||||
ld a, (byte_C33E)
|
||||
inc a
|
||||
ld (byte_C33E), a
|
||||
jp loc_C1F4
|
||||
|
||||
loc_C304: ld a, (byte_C33E)
|
||||
cp 1
|
||||
jp z, loc_C266
|
||||
dec a
|
||||
ld (byte_C33E), a
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, byte_C340
|
||||
add hl, de
|
||||
ld a, (hl)
|
||||
cp '.'
|
||||
jr nz, loc_C320
|
||||
ld a, d
|
||||
ld (byte_C33D), a
|
||||
loc_C320: ld (hl), d
|
||||
jp loc_C1F4
|
||||
|
||||
sub_C324: ld hl, asc_C34D
|
||||
call sub_C32D
|
||||
ld hl, byte_C33F
|
||||
sub_C32D: ld ix, 48h
|
||||
ld de, 183h
|
||||
ld bc, 65h
|
||||
ld a, 80h
|
||||
call JUMPS.PrnRangPathR
|
||||
ret
|
||||
|
||||
byte_C33D: db 0
|
||||
byte_C33E: db 0
|
||||
byte_C33F: db 20h
|
||||
byte_C340: db 30h
|
||||
byte_C341: db 0Ch DUP 0
|
||||
asc_C34D: DB " ",0
|
||||
asc_C360: DB "0",0
|
||||
asc_C362: DB "1",0
|
||||
asc_C364: DB "2",0
|
||||
asc_C366: DB "3",0
|
||||
asc_C368: DB "4",0
|
||||
asc_C36A: DB "5",0
|
||||
asc_C36C: DB "6",0
|
||||
asc_C36E: DB "7",0
|
||||
asc_C370: DB "8",0
|
||||
asc_C372: DB "9",0
|
||||
asc_C374: DB "C",0
|
||||
asc_C376: DB "CE",0
|
||||
asc_C379: DB "+",0
|
||||
asc_C37B: DB "-",0
|
||||
asc_C37D: DB "*",0
|
||||
asc_C37F: DB "/",0
|
||||
asc_C381: DB "+/-",0
|
||||
asc_C385: DB ".",0
|
||||
asc_C387: DB "=",0
|
||||
|
||||
PluginMouseTab: dw 0x00FA,0x0114,0x0072,0x007F,0x0021,0x0000,loc_C2B9,0x0000
|
||||
dw 0x0116,0x0130,0x0072,0x007F,0x0021,0x0000,loc_C2BE,0x0000
|
||||
dw 0x0132,0x014C,0x0072,0x007F,0x0021,0x0000,loc_C2C3,0x0000
|
||||
dw 0x014E,0x0168,0x0072,0x007F,0x0021,0x0000,loc_C266,0x0000
|
||||
dw 0x016A,0x0184,0x0072,0x007F,0x0021,0x0000,loc_C266,0x0000
|
||||
dw 0x00FA,0x0114,0x0081,0x008E,0x0021,0x0000,loc_C2AA,0x0000
|
||||
dw 0x0116,0x0130,0x0081,0x008E,0x0021,0x0000,loc_C2AF,0x0000
|
||||
dw 0x0132,0x014C,0x0081,0x008E,0x0021,0x0000,loc_C2B4,0x0000
|
||||
dw 0x014E,0x0168,0x0081,0x008E,0x0021,0x0000,loc_C266,0x0000
|
||||
dw 0x016A,0x0184,0x0081,0x008E,0x0021,0x0000,loc_C304,0x0000
|
||||
dw 0x00FA,0x0114,0x0090,0x009D,0x0021,0x0000,loc_C29B,0x0000
|
||||
dw 0x0116,0x0130,0x0090,0x009D,0x0021,0x0000,loc_C2A0,0x0000
|
||||
dw 0x0132,0x014C,0x0090,0x009D,0x0021,0x0000,loc_C2A5,0x0000
|
||||
dw 0x014E,0x0168,0x0090,0x009D,0x0021,0x0000,loc_C266,0x0000
|
||||
dw 0x016A,0x0184,0x0090,0x00AC,0x0021,0x0000,loc_C266,0x0000
|
||||
dw 0x00FA,0x0114,0x009F,0x00AC,0x0021,0x0000,loc_C296,0x0000
|
||||
dw 0x0116,0x0130,0x009F,0x00AC,0x0021,0x0000,loc_C283,0x0000
|
||||
dw 0x0132,0x014C,0x009F,0x00AC,0x0021,0x0000,loc_C2C8,0x0000
|
||||
dw 0x014E,0x0168,0x009F,0x00AC,0x0021,0x0000,loc_C266,0x0000
|
||||
dw 8000h
|
||||
21
plugins/cdplayer/INFO
Normal file
21
plugins/cdplayer/INFO
Normal file
@ -0,0 +1,21 @@
|
||||
INFO FILE CDPLAYER.FLX
|
||||
|
||||
MakeWindow 01
|
||||
x0=78 y0=79
|
||||
dx=484 dy=96
|
||||
02|FILL (82,81) 464x10 44
|
||||
01|STR (86,83) 4F 'SHAOS CD-Player v1.0 beta1'
|
||||
05|BUTTON (546,81) 12x10 80 'x' [546,558,81,91]
|
||||
03|BUTT0 (86,94) 268x38 [86,354,94,132]
|
||||
02|FILL (88,95) 264x36 00
|
||||
04|BUTTON (360,94) 116x18 [360,476,94,112]
|
||||
04|BUTTON (480,94) 36x18 [480,516,94,112]
|
||||
04|BUTTON (520,94) 36x18 [520,556,94,112]
|
||||
04|BUTTON (360,114) 36x18 [360,396,114,132]
|
||||
04|BUTTON (400,114) 36x18 [400,436,114,132]
|
||||
04|BUTTON (440,114) 36x18 [440,476,114,132]
|
||||
04|BUTTON (480,114) 36x18 [480,516,114,132]
|
||||
04|BUTTON (520,114) 36x18 [520,556,114,132]
|
||||
00|END
|
||||
|
||||
MakeWindow 7F
|
||||
21
plugins/cdplayer/build.bat
Normal file
21
plugins/cdplayer/build.bat
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\;d:\yad\sprinter_src\flexnav\src\
|
||||
|
||||
asl -U -L -C -x -olist tmp\flx-date.lst -i %includes% cdplayer.a80 || goto error
|
||||
p2bin cdplayer.p ..\cdplayer.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
||||
138
plugins/cdplayer/cd.a80
Normal file
138
plugins/cdplayer/cd.a80
Normal file
@ -0,0 +1,138 @@
|
||||
|
||||
; LAST UPDATE: 03.02.2025 savelij
|
||||
|
||||
cd_play: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
|
||||
cd_paus: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
|
||||
cd_stop: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
|
||||
cd_ll: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x70,0x00,0x88,0x88,0x88,0x70,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x70,0x00,0x00,0x88,0x88,0x70,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x70,0x00,0x00,0x00,0x88,0x70,0x00,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x70,0x00,0x00,0x00,0x88,0x70,0x00,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x70,0x00,0x00,0x88,0x88,0x70,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x70,0x00,0x88,0x88,0x88,0x70,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
|
||||
cd_l: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x88,0x88,0x88,0x70,0x00,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x88,0x88,0x70,0x00,0x00,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x00,0x88,0x70,0x00,0x00,0x00,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x70,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x00,0x88,0x70,0x00,0x00,0x00,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x88,0x88,0x70,0x00,0x00,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x88,0x88,0x88,0x70,0x00,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x88,0x88,0x70,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
|
||||
cd_r: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x07,0x88,0x00,0x00,0x00,0x07,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x07,0x88,0x00,0x00,0x00,0x07,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
|
||||
cd_rr: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x00,0x07,0x88,0x00,0x00,0x00,0x07,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x00,0x07,0x88,0x00,0x00,0x00,0x07,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x00,0x00,0x07,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x00,0x07,0x88,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x07,0x88,0x88,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x00,0x00,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
|
||||
cd_ejec: db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x07,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x00,0x07,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x00,0x00,0x00,0x07,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
db 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88
|
||||
253
plugins/cdplayer/cdplayer.a80
Normal file
253
plugins/cdplayer/cdplayer.a80
Normal file
@ -0,0 +1,253 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
|
||||
;// DEVICE ZXSPECTRUM128
|
||||
;// include '../FPLUGIN.INC'
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
include accel_sp.a80
|
||||
include ports_sp.a80
|
||||
include define_sp.a80
|
||||
include macros_sp.a80
|
||||
include dss_sp.a80
|
||||
|
||||
org PluginOrg ; #C000 - Header lenght
|
||||
; Flex Navigator plugin header
|
||||
PluginStart: db "FLX-PLUG" ; Id
|
||||
dw 0x0000 ; LoadOffset
|
||||
dw 0x0000 ; EntryOffset
|
||||
db 0x00 ; PluginMode
|
||||
db 0x00,0x00,0x00 ; Reserved
|
||||
|
||||
;// include 'dos_equ.inc'
|
||||
|
||||
PluginEntry:
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 78,79,484,72
|
||||
W_FILL 4,2,464,10,COLORI.BLUE + COLORP.BLUE
|
||||
W_TEXT 8,4,COLORI.WHITE + COLORP.BLUE,"SHAOS CD-Player v1.0 beta1"
|
||||
W_BUTTONTEXT 468,2,12,10,COLORP.HIGHGRAY,"x"
|
||||
W_BORDER 8,15,268,38
|
||||
W_FILL 10,16,264,36,COLORI.BLACK
|
||||
W_BUTTON 282,15,116,18
|
||||
W_BUTTON 402,15,36,18
|
||||
W_BUTTON 442,15,36,18
|
||||
W_BUTTON 282,35,36,18
|
||||
W_BUTTON 322,35,36,18
|
||||
W_BUTTON 362,35,36,18
|
||||
W_BUTTON 402,35,36,18
|
||||
W_BUTTON 442,35,36,18
|
||||
W_HORIZLINE 2,56,480
|
||||
W_END
|
||||
call JUMPS.ResFire
|
||||
call shows
|
||||
ld hl,cd_play
|
||||
ld ix,201
|
||||
ld iy,95
|
||||
call show
|
||||
ld hl,cd_paus
|
||||
ld ix,241
|
||||
ld iy,95
|
||||
call show
|
||||
ld hl,cd_stop
|
||||
ld ix,261
|
||||
ld iy,95
|
||||
call show
|
||||
ld hl,cd_ll
|
||||
ld ix,181
|
||||
ld iy,115
|
||||
call show
|
||||
ld hl,cd_l
|
||||
ld ix,201
|
||||
ld iy,115
|
||||
call show
|
||||
ld hl,cd_r
|
||||
ld ix,221
|
||||
ld iy,115
|
||||
call show
|
||||
ld hl,cd_rr
|
||||
ld ix,241
|
||||
ld iy,115
|
||||
call show
|
||||
ld hl,cd_ejec
|
||||
ld ix,261
|
||||
ld iy,115
|
||||
call show
|
||||
call shaos
|
||||
call CDinit
|
||||
plugin_loop: ld ix, PluginMouseTab
|
||||
call JUMPS.TestCoords
|
||||
; ld c, 0x31
|
||||
; rst 0x10
|
||||
SPDSS DSSF.SCANKEY
|
||||
jr z, plugin_loop
|
||||
ld a, b
|
||||
or a
|
||||
jr nz, plugin_loop
|
||||
ld a, e
|
||||
cp 0x1B
|
||||
jr z, PluginExit
|
||||
cp 0x0D
|
||||
jr nz, plugin_loop
|
||||
PluginExit:
|
||||
WINDOWCLOSE
|
||||
or a ; cf = 0
|
||||
ret
|
||||
|
||||
Ok: ld HL,String
|
||||
ld DE,0x00CA
|
||||
ld BC,0x00A0
|
||||
ld A,0x80
|
||||
call JUMPS.PrnTxtLnIFF
|
||||
ret
|
||||
|
||||
; hl - bitmap 32x16 for 16-color mode
|
||||
; ix,iy - coords (320x256)
|
||||
show:
|
||||
; in a,(82h)
|
||||
GETPORT WINSP.CPU0
|
||||
ld (shwin),a
|
||||
; ld a,50h
|
||||
; out (82h),a
|
||||
SETPORT WINSP.CPU0,0x50
|
||||
push ix
|
||||
pop de
|
||||
push iy
|
||||
pop bc
|
||||
ld b,16
|
||||
show1: ld a,c
|
||||
; out (89h),a
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
push de
|
||||
di
|
||||
; ACC_SetBlockSize
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
ld a,16
|
||||
; ACC_CopyBlock
|
||||
ACCEL ACCELCMD.COPY
|
||||
ld a,(hl)
|
||||
ld (de),a
|
||||
; ACC_Off
|
||||
ACCEL ACCELCMD.OFF
|
||||
ei
|
||||
ld de,16
|
||||
add hl,de
|
||||
pop de
|
||||
inc c
|
||||
dec b
|
||||
jp nz,show1
|
||||
; ld a,0xFF
|
||||
; out (89h),a
|
||||
SETPORT WINSP.Y_PORT,0xFF
|
||||
ld a,(shwin)
|
||||
; out (82h),a
|
||||
SETPORT WINSP.CPU0,,0
|
||||
ret
|
||||
|
||||
shwin db 0
|
||||
|
||||
; a - digit
|
||||
; ix,iy - coords (320x256)
|
||||
showd: rlca
|
||||
ld e,0
|
||||
ld d,a
|
||||
ld hl,digit0
|
||||
add hl,de
|
||||
call show
|
||||
ld de,16
|
||||
add iy,de
|
||||
call show
|
||||
ret
|
||||
|
||||
; Show Digit string
|
||||
shows: ld ix,46
|
||||
ld iy,97
|
||||
ld c,8
|
||||
ld hl,Digits
|
||||
shows1: push bc
|
||||
push hl
|
||||
push iy
|
||||
ld a,(hl)
|
||||
call showd
|
||||
ld bc,16
|
||||
add ix,bc
|
||||
pop iy
|
||||
pop hl
|
||||
pop bc
|
||||
inc hl
|
||||
dec c
|
||||
jp nz,shows1
|
||||
ret
|
||||
|
||||
include cdrom.a80
|
||||
|
||||
CDinit: call CD_INI
|
||||
jr nc,noCD
|
||||
yesCD: call SAVE_BUF
|
||||
ld hl,CD_BUF
|
||||
ld bc,54
|
||||
add hl,bc
|
||||
ld de,msg_
|
||||
yesCD1: ld a,(hl)
|
||||
ld (de),a
|
||||
or a
|
||||
jr z,yesCD0
|
||||
inc hl
|
||||
inc de
|
||||
jr yesCD1
|
||||
|
||||
yesCD0: ld hl,msgY
|
||||
ld a,0x80
|
||||
jr CDprn
|
||||
|
||||
noCD: ld hl,msgN
|
||||
ld a,0x81
|
||||
CDprn: ld de,84
|
||||
ld bc,140
|
||||
call JUMPS.PrnTxtLnIFF
|
||||
ret
|
||||
|
||||
msgY db "CD-ROM is present "
|
||||
msg_ DB 100 DUP 0
|
||||
msgN db "CD-ROM is absent",0
|
||||
|
||||
CDplay: ld hl,AP_PLA
|
||||
call ATAPI
|
||||
ret
|
||||
|
||||
CDejec: ld hl,AP_CD2
|
||||
call ATAPI
|
||||
ret
|
||||
|
||||
|
||||
Digits db 0x00,0x00,0x0B,0x00,0x00,0x0A,0x00,0x00
|
||||
|
||||
|
||||
PluginMouseTab: dw 546,558,81,91,0x21,0,PluginExit,PluginExit
|
||||
dw 360,476, 94,112,0x01,0,CDplay,0
|
||||
dw 480,516, 94,112,0x01,0,0,0
|
||||
dw 520,556, 94,112,0x01,0,0,0
|
||||
dw 360,396,114,132,0x01,0,0,0
|
||||
dw 400,436,114,132,0x01,0,0,0
|
||||
dw 440,476,114,132,0x01,0,0,0
|
||||
dw 480,516,114,132,0x01,0,0,0
|
||||
dw 520,556,114,132,0x01,0,CDejec,0
|
||||
|
||||
PluginMT2: dw 252,324,138,156,0x01,0,Ok,0
|
||||
dw 0x8000
|
||||
|
||||
StringBuf: db 16,1
|
||||
db 0,0,0
|
||||
dw 0x00CC,0x0057,0x00E8
|
||||
db 0xF0
|
||||
|
||||
String: DB 16 DUP 0
|
||||
DB 13 DUP 0
|
||||
|
||||
include shaos.a80
|
||||
include cd.a80
|
||||
include digits.a80
|
||||
|
||||
PluginEnd:
|
||||
;// savebin 'Build/FN/Plugins/cdplayer.flx',PluginStart,PluginEnd-PluginStart
|
||||
253
plugins/cdplayer/cdrom.a80
Normal file
253
plugins/cdplayer/cdrom.a80
Normal file
@ -0,0 +1,253 @@
|
||||
|
||||
; LAST UPDATE: 11.03.2025 savelij
|
||||
|
||||
; CDROM.A - Alexander Shabarshin 13.10.2002
|
||||
|
||||
IDE_DAW equ 0x0150
|
||||
IDE_DAR equ 0x0050
|
||||
IDE_HDW equ 0x4152
|
||||
IDE_HDR equ 0x4052
|
||||
IDE_COM equ 0x4153
|
||||
IDE_STA equ 0x4053
|
||||
IDE_CIL equ 0x0154
|
||||
IDE_CIH equ 0x0155
|
||||
|
||||
; Based on Vlad Sotnikov source files
|
||||
|
||||
; Wait when device will free
|
||||
NO_BSY: ld bc,IDE_STA
|
||||
in a,(c)
|
||||
rlca
|
||||
ret nc
|
||||
jr NO_BSY
|
||||
|
||||
; Wait ready data transfer
|
||||
WAIT_DRQ: ld bc,IDE_STA
|
||||
in a,(c)
|
||||
bit 3,a
|
||||
ret nz
|
||||
jr WAIT_DRQ
|
||||
|
||||
; Error test
|
||||
; ---
|
||||
; fc - error
|
||||
IS_ERROR: ld bc,IDE_STA
|
||||
in a,(c)
|
||||
rrca
|
||||
ret
|
||||
|
||||
; Set Slave device
|
||||
SEL_SLAVE: ld a,0xB0
|
||||
jr SEL_DEV
|
||||
|
||||
; Set Master device
|
||||
SEL_MASTER: ld a,0xA0
|
||||
jr SEL_DEV
|
||||
|
||||
; Set device (Slave or Master)
|
||||
; A - 0xA0 or 0xB0
|
||||
; ---
|
||||
; fc - 1 ???
|
||||
|
||||
SEL_DEV: ld bc,IDE_HDW
|
||||
out (c),a
|
||||
ld bc,IDE_HDR
|
||||
in a,(c)
|
||||
rlca
|
||||
ret
|
||||
|
||||
; Save HL to cilinder register
|
||||
HL_TO_LEN: ld bc,IDE_CIL
|
||||
out (c),l
|
||||
ld bc,IDE_CIH
|
||||
out (c),h
|
||||
ret
|
||||
|
||||
; Load HL from cilinder register
|
||||
LEN_TO_HL: ld bc,IDE_CIL
|
||||
in l,(c)
|
||||
ld bc,IDE_CIH
|
||||
in h,(c)
|
||||
ret
|
||||
|
||||
; Read from CD-ROM sector 2048 bytes
|
||||
CD_READ: call NO_BSY
|
||||
call WAIT_DRQ
|
||||
ld hl,CD_BUF
|
||||
ld bc,IDE_DAR
|
||||
ld d,0
|
||||
CD_LOOP: ini
|
||||
ini
|
||||
ini
|
||||
ini
|
||||
ini
|
||||
ini
|
||||
ini
|
||||
ini
|
||||
dec d
|
||||
jr nz,CD_LOOP
|
||||
ld hl,CD_BUF
|
||||
ld bc,1024
|
||||
CD_TRANS: ld d,(hl)
|
||||
inc hl
|
||||
ld e,(hl)
|
||||
dec hl
|
||||
ld (hl),e
|
||||
inc hl
|
||||
ld (hl),d
|
||||
inc hl
|
||||
dec bc
|
||||
ld a,b
|
||||
or c
|
||||
jr nz,CD_TRANS
|
||||
ret
|
||||
|
||||
; Send ATAPI command
|
||||
; HL - address of 12-bytes command
|
||||
SEND_ATAPI: ld de,CD_BUF
|
||||
di
|
||||
; ACC_SetBlockSize
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
ld a,12
|
||||
; ACC_CopyBlock
|
||||
ACCEL ACCELCMD.COPY
|
||||
ld a,(hl)
|
||||
ld (de),a
|
||||
; ACC_Off
|
||||
ACCEL ACCELCMD.OFF
|
||||
ei
|
||||
SA0: call NO_BSY
|
||||
; call IS_ERROR
|
||||
; jr c,SA0
|
||||
SA1: call SEL_SLAVE
|
||||
call NO_BSY
|
||||
SA2: ld bc,IDE_STA
|
||||
in a,(c)
|
||||
and 0x40
|
||||
jr z,SA2
|
||||
ld a,0xA0
|
||||
ld bc,IDE_COM
|
||||
out (c),a
|
||||
SA3: call NO_BSY
|
||||
call IS_ERROR
|
||||
jp c,SA0
|
||||
call WAIT_DRQ
|
||||
ld hl,CD_BUF
|
||||
ld bc,IDE_DAW
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
outi
|
||||
ret
|
||||
|
||||
; Initialisation slave CD-ROM
|
||||
; ---
|
||||
; fc - CD-ROM exists
|
||||
CD_INI: ld de,0xFFFF
|
||||
call SEL_SLAVE
|
||||
ld bc,IDE_STA
|
||||
in a,(c)
|
||||
rlca
|
||||
call c,NO_CDROM
|
||||
ld hl,0
|
||||
call HL_TO_LEN
|
||||
ld a,0xEC
|
||||
ld bc,IDE_COM
|
||||
out (c),a
|
||||
call NO_BSY
|
||||
call LEN_TO_HL
|
||||
; call whl
|
||||
; call nln
|
||||
push hl
|
||||
pop de
|
||||
ld bc,0xEB14
|
||||
or a
|
||||
sbc hl,bc
|
||||
; call nz,NO_CDROM
|
||||
ld a,0xA1
|
||||
ld bc,IDE_COM
|
||||
out (c),a
|
||||
call CD_READ
|
||||
ld hl,CD_BUF
|
||||
; inc hl
|
||||
ld a,(hl)
|
||||
and 0x1F
|
||||
cp 5
|
||||
jr nz,NO_CDROM
|
||||
scf
|
||||
ret
|
||||
|
||||
NO_CDROM: pop hl
|
||||
xor a
|
||||
ret
|
||||
|
||||
SAVE_BUF: push hl
|
||||
ld hl,FNAME
|
||||
; ld c,Dss.Create
|
||||
; ld a,0
|
||||
; rst ToDSS
|
||||
SPDSS DSSF.CREATE,,0
|
||||
ld (FHAND),a
|
||||
; ld c,Dss.Write
|
||||
ld a,(FHAND)
|
||||
ld de,2048
|
||||
ld hl,CD_BUF
|
||||
; rst ToDSS
|
||||
SPDSS DSSF.WRITE
|
||||
; !FIXIT WRITE ERROR
|
||||
; ld c,0x12
|
||||
ld a,(FHAND)
|
||||
; rst ToDSS
|
||||
SPDSS DSSF.CLOSE
|
||||
pop hl
|
||||
ret
|
||||
|
||||
FNAME db "cd_buf.dat",0
|
||||
FHAND db 0
|
||||
|
||||
AP_NOP: ld hl,AP_00
|
||||
call SEND_ATAPI
|
||||
ret
|
||||
|
||||
; ATAPI command
|
||||
; HL - address of ATAPI command (AP_*)
|
||||
ATAPI:
|
||||
AP_COM: call SEND_ATAPI
|
||||
ret
|
||||
|
||||
AP_00 db 0x00
|
||||
DB 11 DUP 0
|
||||
AP_TR0 db 0x01
|
||||
DB 11 DUP 0
|
||||
AP_CD1 db 0x1B
|
||||
DB 3 DUP 0
|
||||
db 1
|
||||
DB 7 DUP 0
|
||||
AP_CD2 db 0x1B
|
||||
DB 3 DUP 0
|
||||
db 2
|
||||
DB 7 DUP 0
|
||||
AP_CD3 db 0x1B
|
||||
DB 3 DUP 0
|
||||
db 3
|
||||
DB 7 DUP 0
|
||||
AP_PL0 db 0x4B
|
||||
DB 11 DUP 0
|
||||
AP_PL1 db 0x4B
|
||||
DB 7 DUP 0
|
||||
db 1
|
||||
DB 3 DUP 0
|
||||
AP_PLA db 0x47
|
||||
DB 2 DUP 0
|
||||
db 0,2,0
|
||||
db 80,0,74
|
||||
DB 3 DUP 0
|
||||
CD_BUF DB 2048 DUP 0
|
||||
384
plugins/cdplayer/digits.a80
Normal file
384
plugins/cdplayer/digits.a80
Normal file
@ -0,0 +1,384 @@
|
||||
digit0 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit1 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit2 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit3 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit4 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit5 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit6 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit7 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit8 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digit9 db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x22,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digi_sp db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
digi_ss db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
81
plugins/cdplayer/shaos.a80
Normal file
81
plugins/cdplayer/shaos.a80
Normal file
@ -0,0 +1,81 @@
|
||||
|
||||
; LAST UPDATE: 03.02.2025 savelij
|
||||
|
||||
; Shaos face
|
||||
shaos: ld hl,shaosraw
|
||||
ld de,44
|
||||
ld c,95
|
||||
ld b,36
|
||||
; in a,(82h)
|
||||
GETPORT WINSP.CPU0
|
||||
ld (shaowin),a
|
||||
; ld a,50h
|
||||
; out (82h),a
|
||||
SETPORT WINSP.CPU0,0x50
|
||||
shaos1: ld a,c
|
||||
; out (89h),a
|
||||
SETPORT WINSP.CPU0,,0
|
||||
push de
|
||||
di
|
||||
; ACC_SetBlockSize
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
ld a,32
|
||||
; ACC_CopyBlock
|
||||
ACCEL ACCELCMD.COPY
|
||||
ld a,(hl)
|
||||
ld (de),a
|
||||
; ACC_Off
|
||||
ACCEL ACCELCMD.OFF
|
||||
ei
|
||||
ld de,32
|
||||
add hl,de
|
||||
pop de
|
||||
inc c
|
||||
dec b
|
||||
jp nz,shaos1
|
||||
; ld a,0xFF
|
||||
; out (89h),a
|
||||
SETPORT WINSP.Y_PORT,0xFF
|
||||
ld a,(shaowin)
|
||||
; out (82h),a
|
||||
SETPORT WINSP.CPU0,,0
|
||||
ret
|
||||
|
||||
shaowin db 0
|
||||
|
||||
shaosraw: db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x88,0x70,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x07,0x88,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x88,0x77,0x00,0x00,0x70,0x77,0x07,0x00,0x70,0x70,0x70,0x07,0x00,0x70,0x07,0x77,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x77,0x00,0x00,0x70,0x70,0x70,0x07,0x07,0x07,0x07,0x00,0x07,0x00,0x70,0x07,0x00,0x07,0x08,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0x00,0x00,0x70,0x70,0x00,0x70,0x70,0x70,0x70,0x70,0x70,0x07,0x00,0x70,0x70,0x70,0x77,0x07,0x07,0x08,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0x87,0x00,0x70,0x70,0x70,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x07,0x07,0x07,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x78,0xFF,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xF7,0x00,0x70,0x70,0x70,0x70,0x07,0x07,0x00,0x07,0x00,0x77,0x07,0x00,0x70,0x00,0x70,0x70,0x77,0x70,0x70,0x70,0x70,0x07,0xFF,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF8,0x00,0x70,0x70,0x00,0x00,0x07,0x00,0x70,0x77,0x77,0x88,0x77,0x77,0x77,0x00,0x70,0x07,0x07,0x00,0x70,0x70,0x70,0x70,0x70,0x78,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF8,0x00,0x70,0x07,0x07,0x07,0x70,0x77,0x78,0x88,0x8F,0x88,0x88,0x88,0x88,0x77,0x77,0x07,0x07,0x07,0x00,0x70,0x70,0x70,0x00,0x77,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF7,0x77,0x70,0x70,0x70,0x77,0x78,0x88,0x88,0xF8,0xF8,0x88,0x88,0x78,0x78,0x88,0x77,0x70,0x70,0x77,0x70,0x70,0x07,0x07,0x70,0x07,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF8,0x7F,0x77,0x77,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x78,0x87,0x87,0x87,0x88,0x77,0x77,0x77,0x70,0x70,0x77,0x07,0x07,0x00,0x07,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF8,0x87,0x88,0x87,0x88,0x88,0x87,0x87,0x87,0x88,0x88,0x88,0x87,0x87,0x88,0x88,0x87,0x77,0x70,0x77,0x07,0x07,0x70,0x70,0x77,0x07,0x7F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0x77,0x88,0x87,0x87,0x78,0x78,0x77,0x77,0x87,0x87,0x78,0x78,0x78,0x77,0x77,0x88,0x87,0x78,0x77,0x77,0x70,0x70,0x77,0x70,0x00,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF8,0x77,0x78,0x78,0x77,0x78,0x87,0x87,0x87,0x87,0x78,0x78,0x78,0x78,0x78,0x88,0x78,0x78,0x87,0x77,0x77,0x77,0x07,0x70,0x77,0x07,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF8,0x07,0x88,0x87,0x87,0x87,0x88,0x88,0x88,0x78,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x77,0x88,0x87,0x70,0x77,0x77,0x78,0x88,0x87,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0x78,0x77,0x88,0x78,0x78,0x78,0x88,0x88,0x88,0xF8,0xF8,0x88,0x88,0x77,0x78,0x78,0x87,0x78,0x87,0x77,0x07,0x77,0x88,0x77,0x77,0x07,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0x77,0x87,0x87,0x87,0x87,0x87,0x78,0x88,0x77,0x77,0x77,0x88,0x77,0x87,0x78,0x77,0x88,0x88,0x88,0x77,0x77,0x78,0x87,0x77,0x88,0x77,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xF7,0x77,0x77,0x87,0x77,0x77,0x07,0x00,0x70,0x07,0x07,0x07,0x70,0x77,0x77,0x77,0x77,0x77,0x87,0x88,0x88,0x78,0x87,0x77,0x07,0x77,0x78,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0x87,0x00,0x70,0x77,0x77,0x77,0x07,0x07,0x07,0x00,0x70,0x70,0x70,0x07,0x07,0x77,0x77,0x87,0x78,0x78,0x88,0x78,0x88,0x70,0x70,0x77,0x7F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0x80,0x07,0x00,0x07,0x77,0x77,0x70,0x00,0x70,0x77,0x07,0x07,0x70,0x77,0x77,0x78,0x77,0x77,0x87,0x87,0x88,0x88,0x87,0x77,0x70,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xF8,0x07,0x00,0x00,0x78,0x87,0x77,0x77,0x07,0x07,0x77,0x77,0x77,0x77,0x88,0x87,0x87,0x87,0x78,0x78,0x88,0x88,0x77,0x78,0x87,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0x07,0x77,0x07,0x88,0x87,0x77,0x77,0x70,0x77,0x07,0x77,0x78,0x88,0x88,0x88,0x78,0x78,0x78,0x88,0x78,0x88,0x78,0xF8,0x87,0xFF,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0x70,0x77,0x77,0xF8,0x88,0x87,0x88,0x87,0x77,0x77,0x77,0x87,0x88,0x78,0x77,0x87,0x87,0x87,0x87,0x87,0x88,0x88,0x88,0x77,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xF8,0x77,0x77,0x78,0xFF,0x87,0x78,0x77,0x78,0x88,0x88,0x88,0x78,0x87,0x87,0x77,0x77,0x87,0x78,0x77,0x87,0x88,0x77,0x77,0x77,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0x77,0x78,0x8F,0xF8,0x88,0x88,0x77,0x70,0x78,0x87,0x87,0x88,0x78,0x77,0x77,0x78,0x78,0x78,0x87,0x87,0x88,0x80,0x77,0x78,0x8F,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0x77,0x77,0x87,0x88,0x87,0x88,0x87,0x77,0x07,0x77,0x77,0x77,0x77,0x87,0x78,0x77,0x87,0x87,0x87,0x87,0x88,0x88,0x78,0xF7,0x77,0xFF,0xFF,0xFF
|
||||
db 0xFF,0xFF,0xFF,0xFF,0x77,0x07,0x77,0x07,0x07,0x07,0x07,0x07,0x77,0x70,0x77,0x78,0x77,0x77,0x77,0x78,0x77,0x87,0x87,0x77,0x88,0x78,0xF8,0x70,0x00,0x07,0x77,0x7F
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xF7,0x70,0x77,0x70,0x70,0x77,0x77,0x77,0x88,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x78,0x78,0x78,0x78,0x77,0x8F,0x70,0x00,0x70,0x70,0x00,0x70
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xF8,0x77,0x77,0x77,0x77,0x77,0x77,0x87,0x87,0x77,0x77,0x77,0x77,0x77,0x77,0x87,0x77,0x77,0x77,0x77,0x88,0x77,0x00,0x70,0x70,0x70,0x70,0x70
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x77,0x77,0x07,0x07,0x07,0x07,0x00,0x70,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x87,0x77,0x00,0x70,0x70,0x07,0x07,0x07,0x07
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0x07,0x77,0x77,0x77,0x77,0x77,0x77,0x70,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x70,0x00,0x07,0x00,0x07,0x07,0x07,0x07,0x00
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x87,0x87,0x77,0x77,0x77,0x78,0x87,0x77,0x70,0x77,0x77,0x77,0x77,0x77,0x77,0x70,0x00,0x70,0x00,0x77,0x07,0x07,0x07,0x07,0x70
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x77,0x77,0x77,0x77,0x77,0x88,0x77,0x77,0x77,0x77,0x77,0x70,0x70,0x00,0x00,0x07,0x07,0x07,0x00,0x70,0x70,0x70,0x70,0x00
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x88,0x77,0x77,0x88,0x88,0x77,0x77,0x77,0x77,0x77,0x70,0x70,0x70,0x00,0x07,0x00,0x00,0x70,0x77,0x07,0x00,0x00,0x07,0x70
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x88,0x88,0x78,0x78,0x77,0x77,0x77,0x70,0x70,0x00,0x00,0x00,0x70,0x00,0x70,0x70,0x70,0x00,0x00,0x70,0x77,0x07,0x07
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0x77,0x77,0x70,0x70,0x70,0x70,0x07,0x07,0x00,0x70,0x00,0x07,0x00,0x70,0x70,0x07,0x07,0x00,0x70,0x07,0x07,0x70
|
||||
db 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x87,0x70,0x70,0x77,0x70,0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x70,0x07,0x00,0x70,0x00,0x70,0x70,0x77,0x70,0x77
|
||||
21
plugins/date/build.bat
Normal file
21
plugins/date/build.bat
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\;d:\yad\sprinter_src\flexnav\src\
|
||||
|
||||
asl -U -L -C -x -olist tmp\date.lst -i %includes% date.a80 || goto error
|
||||
p2bin date.p ..\date.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
||||
426
plugins/date/date.a80
Normal file
426
plugins/date/date.a80
Normal file
@ -0,0 +1,426 @@
|
||||
|
||||
; LAST UPDATE: 31.03.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
include macros_sp.a80
|
||||
include dss_sp.a80
|
||||
|
||||
org PluginOrg
|
||||
PluginStart: db "FLX-PLUG"
|
||||
dw 0
|
||||
dw PluginEntry
|
||||
db 0
|
||||
db 0,0,0
|
||||
|
||||
db "Date preferences plug-in for Flex Navigator",0
|
||||
db "2003 (c) Mac Buster",0
|
||||
db "$VER: 1.0 15-Jul-2003",0
|
||||
|
||||
PluginEntry:
|
||||
.L1
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 152,96,336,66
|
||||
W_FILL 4,2,328,10,COLORI.BLACK
|
||||
W_TEXT 6,3,COLORI.WHITE," Date preferences v1.0"
|
||||
W_HORIZLINE 1,13,336
|
||||
W_HORIZLINE 17,28,304
|
||||
W_HORIZLINE 17,46,304
|
||||
W_TEXT 18,34,COLORP.HIGHGRAY,"Day"
|
||||
aDay: EQU $ - STRLEN("Day") - 2
|
||||
W_BORDER 38,33,56,10
|
||||
W_ICONDOWNARROW 60,34
|
||||
W_ICONUPARROW 76,34
|
||||
W_TEXT 100,34,COLORP.HIGHGRAY,"Month"
|
||||
aMonth: EQU $ - STRLEN("Month") - 2
|
||||
W_BORDER 133,33,92,10
|
||||
W_ICONDOWNARROW 191,34
|
||||
W_ICONUPARROW 207,34
|
||||
W_TEXT 230,34,COLORP.HIGHGRAY,"Year"
|
||||
aYear: EQU $ - STRLEN("Year") - 2
|
||||
W_BORDER 254,33,64,10
|
||||
W_ICONDOWNARROW 285,34
|
||||
W_ICONUPARROW 301,34
|
||||
W_BUTTONTEXT 18,51,64,11,COLORP.HIGHGRAY," "
|
||||
W_BUTTONTEXT 86,51,64,11,COLORP.HIGHGRAY," "
|
||||
W_BUTTONTEXT 254,51,64,11,COLORP.HIGHGRAY," "
|
||||
; W_TEXT 202,149,COLORP.HIGHGRAY,"Set"
|
||||
; W_TEXT 270,149,COLORP.HIGHGRAY,"Reset"
|
||||
; W_TEXT 438,149,COLORP.HIGHGRAY,"Quit"
|
||||
; W_TEXT 320,114,COLORP.HIGHGRAY,"Today:"
|
||||
W_END
|
||||
ld ix,64
|
||||
ld hl,aSet ; "Set"
|
||||
ld de,202
|
||||
ld bc,149
|
||||
ld a,COLORP.HIGHGRAY;80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl,aReset ; "Reset"
|
||||
ld de,270
|
||||
ld bc,149
|
||||
ld a,COLORP.HIGHGRAY;80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ld hl,aQuit ; "Quit"
|
||||
ld de,438
|
||||
ld bc,149
|
||||
ld a,COLORP.HIGHGRAY;80h
|
||||
call JUMPS.PrnRangPathC
|
||||
call GetSysTime
|
||||
call InitDate
|
||||
ld ix,320
|
||||
ld hl,aToday ; "Today:"
|
||||
ld de,320
|
||||
ld bc,114
|
||||
ld a,COLORP.HIGHGRAY;80h
|
||||
call JUMPS.PrnRangPathC
|
||||
call sub_C2B7
|
||||
call PrintMonth
|
||||
call PrintYear
|
||||
call JUMPS.ResFire
|
||||
_plugin_loop: ld ix,PluginMouseTab
|
||||
call JUMPS.TestCoords
|
||||
halt
|
||||
SPDSS DSSF.SCANKEY
|
||||
jr z,_plugin_loop
|
||||
ld a,b
|
||||
or a
|
||||
jr nz,_plugin_loop
|
||||
ld a,e
|
||||
cp 1Bh
|
||||
jr nz,_plugin_loop
|
||||
PluginExit:
|
||||
WINDOWCLOSE
|
||||
and a
|
||||
ret
|
||||
|
||||
IncDay: ld a,(max_date)
|
||||
ld b,a
|
||||
ld a,(Day)
|
||||
cp b
|
||||
jr nz,loc_C198
|
||||
ld a,0
|
||||
loc_C198: inc a
|
||||
ld (Day),a
|
||||
PrintDay: ld a,(Day)
|
||||
ld l,a
|
||||
ld h,0
|
||||
add hl,hl
|
||||
add hl,hl
|
||||
ld de,Days0
|
||||
add hl,de
|
||||
ld ix,14h
|
||||
ld de,0C3h
|
||||
ld bc,82h
|
||||
ld a,80h
|
||||
call JUMPS.PrnRangPathL
|
||||
ret
|
||||
|
||||
DecDay: ld a,(max_date)
|
||||
ld b,a
|
||||
ld a,(Day)
|
||||
cp 1
|
||||
jr nz,loc_C1C5
|
||||
ld a,b
|
||||
inc a
|
||||
loc_C1C5: dec a
|
||||
ld (Day),a
|
||||
jr PrintDay
|
||||
|
||||
IncMonth: ld a,(Month)
|
||||
or a
|
||||
ret z
|
||||
dec a
|
||||
ld (Month),a
|
||||
call sub_C268
|
||||
call sub_C2B7
|
||||
PrintMonth: ld hl,asc_C374
|
||||
call sub_C1F3
|
||||
ld a,(Month)
|
||||
ld c,a
|
||||
ld b,0FFh
|
||||
ld hl, asc_C374+0Dh ; ""
|
||||
loc_C1E9: ld a,(hl)
|
||||
inc hl
|
||||
or a
|
||||
jr nz,loc_C1E9
|
||||
inc b
|
||||
ld a,c
|
||||
cp b
|
||||
jr nz,loc_C1E9
|
||||
sub_C1F3: ld ix,40h ; '@'
|
||||
ld de,13Ah
|
||||
ld bc,82h
|
||||
ld a,80h
|
||||
call JUMPS.PrnRangPathC
|
||||
ret
|
||||
|
||||
DecMonth: ld a,(Month)
|
||||
cp 0Bh
|
||||
ret z
|
||||
inc a
|
||||
ld (Month),a
|
||||
call sub_C268
|
||||
call sub_C2B7
|
||||
jr PrintMonth
|
||||
|
||||
IncYear: ld hl, a0+4 ; " "
|
||||
ld c,'0'
|
||||
ld a,'9'
|
||||
cp (hl)
|
||||
jr nz,loc_C230
|
||||
ld (hl),c
|
||||
dec hl
|
||||
cp (hl)
|
||||
jr nz,loc_C230
|
||||
ld (hl),c
|
||||
dec hl
|
||||
cp (hl)
|
||||
jr nz,loc_C230
|
||||
ld (hl),c
|
||||
dec hl
|
||||
cp (hl)
|
||||
jr nz,loc_C230
|
||||
ld (hl),c
|
||||
dec (hl)
|
||||
loc_C230: inc (hl)
|
||||
PrintYear: ld ix,1Ah
|
||||
ld hl, a0+1 ; " "
|
||||
ld de,1A7h
|
||||
ld bc,82h
|
||||
ld a,80h
|
||||
call JUMPS.PrnRangPathC
|
||||
call sub_C268
|
||||
call sub_C2B7
|
||||
ret
|
||||
|
||||
DecYear: ld hl, a0+4 ; " "
|
||||
ld c,'9'
|
||||
ld a,'0'
|
||||
cp (hl)
|
||||
jr nz,loc_C265
|
||||
ld (hl),c
|
||||
dec hl
|
||||
cp (hl)
|
||||
jr nz,loc_C265
|
||||
ld (hl),c
|
||||
dec hl
|
||||
cp (hl)
|
||||
jr nz,loc_C265
|
||||
ld (hl),c
|
||||
dec hl
|
||||
cp (hl)
|
||||
jr nz,loc_C265
|
||||
ld (hl),c
|
||||
inc (hl)
|
||||
loc_C265: dec (hl)
|
||||
jr PrintYear
|
||||
|
||||
sub_C268: ld a,(Month)
|
||||
cp 1
|
||||
jr z,loc_C285
|
||||
cp 3
|
||||
jr z,loc_C27F
|
||||
cp 5
|
||||
jr z,loc_C27F
|
||||
cp 0Ah
|
||||
jr z,loc_C27F
|
||||
ld a,1Fh
|
||||
jr loc_C281
|
||||
|
||||
loc_C27F: ld a,1Eh
|
||||
loc_C281: ld (max_date),a
|
||||
ret
|
||||
|
||||
loc_C285: ld de, a0+1 ; " "
|
||||
call JUMPS.ConvTxtNum16
|
||||
push hl
|
||||
pop bc
|
||||
ld de,190h
|
||||
push bc
|
||||
call JUMPS.Divis16X16
|
||||
pop bc
|
||||
ld a,h
|
||||
or l
|
||||
jr z,loc_C2AF
|
||||
ld de,4
|
||||
push bc
|
||||
call JUMPS.Divis16X16
|
||||
pop bc
|
||||
ld a,h
|
||||
or l
|
||||
jr nz,loc_C2B3
|
||||
ld de,64h ; 'd'
|
||||
call JUMPS.Divis16X16
|
||||
ld a,h
|
||||
or l
|
||||
jr z,loc_C2B3
|
||||
loc_C2AF: ld a,1Dh
|
||||
jr loc_C281
|
||||
|
||||
loc_C2B3: ld a,1Ch
|
||||
jr loc_C281
|
||||
|
||||
sub_C2B7: ld a,(Day)
|
||||
ld b,a
|
||||
ld a,(max_date)
|
||||
cp b
|
||||
jr nc,loc_C2C4
|
||||
ld (Day),a
|
||||
loc_C2C4: call PrintDay
|
||||
ret
|
||||
|
||||
SetDate: ld de, a0+1 ; " "
|
||||
call JUMPS.ConvTxtNum16
|
||||
push hl
|
||||
SPDSS DSSF.GETTIME,0
|
||||
ld a,(Day)
|
||||
ld d,a
|
||||
ld a,(Month)
|
||||
inc a
|
||||
ld e,a
|
||||
pop ix
|
||||
SPDSS DSSF.SETTIME
|
||||
call InitDate
|
||||
jr loc_C2E9
|
||||
|
||||
ReadDate: call GetSysTime
|
||||
loc_C2E9: call PrintDay
|
||||
call PrintMonth
|
||||
call PrintYear
|
||||
ret
|
||||
|
||||
GetSysTime:
|
||||
SPDSS DSSF.GETTIME,0
|
||||
ld a,d
|
||||
ld (Day),a
|
||||
ld a,e
|
||||
dec a
|
||||
ld (Month),a
|
||||
push ix
|
||||
ld hl,a0 ; "0 "
|
||||
ld b,5
|
||||
loc_C307: ld (hl),30h ; '0'
|
||||
inc hl
|
||||
djnz loc_C307
|
||||
pop hl
|
||||
ld de, a0+1 ; " "
|
||||
call JUMPS.ConvNumTxt16
|
||||
InitDate: ld hl, aToday+6 ; ""
|
||||
ld b,' '
|
||||
loc_C318: ld (hl),0
|
||||
inc hl
|
||||
djnz loc_C318
|
||||
ld a,(Day)
|
||||
ld l,a
|
||||
ld h,0
|
||||
add hl,hl
|
||||
add hl,hl
|
||||
ld de,Days0
|
||||
add hl,de
|
||||
ld de, aToday+6 ; ""
|
||||
ldi
|
||||
ldi
|
||||
ldi
|
||||
ex de,hl
|
||||
ld (hl),' '
|
||||
inc hl
|
||||
push hl
|
||||
ld a,(Month)
|
||||
ld c,a
|
||||
ld b,0FFh
|
||||
ld hl, asc_C374+0Dh ; ""
|
||||
loc_C340: ld a,(hl)
|
||||
inc hl
|
||||
or a
|
||||
jr nz,loc_C340
|
||||
inc b
|
||||
ld a,c
|
||||
cp b
|
||||
jr nz,loc_C340
|
||||
pop de
|
||||
loc_C34B: ld a,(hl)
|
||||
or a
|
||||
jr z,loc_C354
|
||||
ld (de),a
|
||||
inc hl
|
||||
inc de
|
||||
jr loc_C34B
|
||||
|
||||
loc_C354: ex de,hl
|
||||
ld (hl),20h ; ' '
|
||||
inc hl
|
||||
ex de,hl
|
||||
ld hl, a0+1 ; " "
|
||||
ldi
|
||||
ldi
|
||||
ldi
|
||||
ldi
|
||||
ret
|
||||
|
||||
aSet: db "Set",0
|
||||
aReset: db "Reset",0
|
||||
aQuit: db "Quit",0
|
||||
asc_C374: db " ",0
|
||||
aJanuary: db "January",0
|
||||
aFebruary: db "February",0
|
||||
aMarch: db "March",0
|
||||
aApril: db "April",0
|
||||
aMay: db "May",0
|
||||
aJune: db "June",0
|
||||
aJuly: db "July",0
|
||||
aAugust: db "August",0
|
||||
aSeptember: db "September",0
|
||||
aOctober: db "October",0
|
||||
aNovember: db "November",0
|
||||
aDecember: db "December",0
|
||||
aToday: db "Today:",0
|
||||
DB 31 DUP 0
|
||||
Day: db 12h
|
||||
Month: db 5
|
||||
max_date: db 1Eh
|
||||
a0: db "0 ",0
|
||||
Days0: DB 4 DUP 0 ; ‹¨è¨¥ 4 ã«ï,ç⮡ ¥ ®â¨¬ âì 1 ®â ®¬¥à ¤ï
|
||||
Days: db " 01",0
|
||||
db " 02",0
|
||||
db " 03",0
|
||||
db " 04",0
|
||||
db " 05",0
|
||||
db " 06",0
|
||||
db " 07",0
|
||||
db " 08",0
|
||||
db " 09",0
|
||||
db " 10",0
|
||||
db " 11",0
|
||||
db " 12",0
|
||||
db " 13",0
|
||||
db " 14",0
|
||||
db " 15",0
|
||||
db " 16",0
|
||||
db " 17",0
|
||||
db " 18",0
|
||||
db " 19",0
|
||||
db " 20",0
|
||||
db " 21",0
|
||||
db " 22",0
|
||||
db " 23",0
|
||||
db " 24",0
|
||||
db " 25",0
|
||||
db " 26",0
|
||||
db " 27",0
|
||||
db " 28",0
|
||||
db " 29",0
|
||||
db " 30",0
|
||||
db " 31",0
|
||||
|
||||
PluginMouseTab: dw 212,228,130,138,1,0,DecDay,0
|
||||
dw 228,244,130,138,1,0,IncDay,0
|
||||
dw 342,358,130,138,1,0,DecMonth,0
|
||||
dw 358,374,130,138,1,0,IncMonth,0
|
||||
dw 437,453,130,138,1,0,DecYear,0
|
||||
dw 453,469,130,138,1,0,IncYear,0
|
||||
dw 238,302,147,158,1,0,ReadDate,0
|
||||
dw 170,234,147,158,1,0,SetDate,0
|
||||
dw 406,470,147,158,33,0,PluginExit,0
|
||||
dw 0x8000
|
||||
PluginEnd:
|
||||
21
plugins/fneditor/build.bat
Normal file
21
plugins/fneditor/build.bat
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\;d:\yad\sprinter_src\flexnav\src\
|
||||
|
||||
asl -U -L -C -x -olist tmp\fneditor.lst -i %includes% femain.a80 || goto error
|
||||
p2bin femain.p ..\fneditor.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
||||
849
plugins/fneditor/feditor.a80
Normal file
849
plugins/fneditor/feditor.a80
Normal file
@ -0,0 +1,849 @@
|
||||
|
||||
; LAST UPDATE: 11.03.2025 savelij
|
||||
|
||||
INIT_VAR
|
||||
SETVAR CursorX ;EQU 0x00
|
||||
SETVAR StringX ;EQU 0x01
|
||||
SETVAR CursAddX ;EQU 0x02
|
||||
SETVAR CursorY ;EQU 0x03
|
||||
SETVAR LenString ;EQU 0x04
|
||||
SETVAR PrvLenStr ;EQU 0x05
|
||||
SETVAR ReadyStr ;EQU 0x06
|
||||
SETVAR ReadyFile ;EQU 0x07
|
||||
|
||||
LineBuffer := WorkBuffer+0x200
|
||||
TempBuffer := WorkBuffer+0x300
|
||||
|
||||
;[]==========================================================[]
|
||||
JP FileEditor
|
||||
|
||||
DZ FLEX_VERS.EDITOR
|
||||
|
||||
FileEditor CALL FELoadFile
|
||||
RET C
|
||||
call ReadEditorIni
|
||||
LD IY,EditData
|
||||
SUB A
|
||||
LD (EditMode),A
|
||||
LD (HEXmode),A
|
||||
LD (IY+CursorX),A
|
||||
LD (IY+StringX),A
|
||||
LD (IY+CursAddX),A
|
||||
LD (IY+CursorY),A
|
||||
LD (IY+ReadyStr),A
|
||||
LD (IY+ReadyFile),A
|
||||
INC A
|
||||
LD (FECrTimer),A
|
||||
LD HL,0x0000
|
||||
LD (CurLine),HL
|
||||
LD (LineShift),HL
|
||||
LD (FEPageShift),HL
|
||||
CALL FEInitScreen
|
||||
EditorBegin CALL InitStatus
|
||||
CALL InitFile
|
||||
CALL PrintPage
|
||||
EditorLoop CALL FEChCursor
|
||||
LD A,(EditMode)
|
||||
OR A
|
||||
JP NZ,HEditLoop
|
||||
TEditLoop LD IX,FEASCIItab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ¦ â¨ï ª« ¢¨è
|
||||
JR Z,EditorLoop
|
||||
LD A,D
|
||||
CP 0x44
|
||||
JP Z,EditorExit
|
||||
LD A,E ;…-ASCII ª®¤
|
||||
CP 0x1B ;Esc
|
||||
JP Z,EditorExit
|
||||
LD HL,EditorLoop
|
||||
PUSH HL
|
||||
OR A
|
||||
JP NZ,TInsertSymbol
|
||||
LD A,D
|
||||
CP 0x3B
|
||||
JP Z,FEAbout
|
||||
CP 0x3C
|
||||
JP Z,SaveFile
|
||||
CP 0x3E
|
||||
JP Z,ChEditor ;<3B>à®á¬®âà ¢ HEX
|
||||
CP 0x41
|
||||
JP Z,FEPrintFile
|
||||
CP 0x43
|
||||
JP Z,EditorSetup
|
||||
CP 0x4F
|
||||
JP Z,TDeleteSymbol
|
||||
CP 0x54
|
||||
JP Z,TCursorLeft
|
||||
CP 0x56
|
||||
JP Z,TCursorRight
|
||||
CP 0x58
|
||||
JP Z,TCursorUp
|
||||
CP 0x52
|
||||
JP Z,TCursorDown
|
||||
CP 0x57 ;Home
|
||||
JP Z,THomeString
|
||||
CP 0x51 ;End
|
||||
JP Z,TEndString
|
||||
CP 0x59 ;PageUp
|
||||
JP Z,FETPageUp
|
||||
CP 0x53 ;PageDown
|
||||
JP Z,TPageDown
|
||||
LD A,B
|
||||
AND 0x30
|
||||
CP 0x30
|
||||
RET Z
|
||||
bit 4,b ;<3B>ਠ¦ ⮬ Alt
|
||||
jr z,.ctrl
|
||||
ld a,d
|
||||
and 0x7f
|
||||
CP 0x54 ;Alt+<
|
||||
JP Z,THomeString
|
||||
CP 0x56 ;Alt+>
|
||||
JP Z,TEndString
|
||||
ret
|
||||
|
||||
.ctrl: BIT 5,B ;<3B>ਠ¦ ⮬ Ctrl
|
||||
RET Z
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP 0x0E
|
||||
JP Z,TDeleteWord
|
||||
CP 0x15 ;Ctrl+Y - Delete String
|
||||
JP Z,TDeleteString
|
||||
CP 0x1E ;Ctrl+S
|
||||
JP Z,SaveFile
|
||||
CP 0x1F ;Ctrl+D
|
||||
JP Z,TDoubleString
|
||||
CP 0x19 ;Ctrl+P
|
||||
JP Z,FEPrintFile
|
||||
cp 0x2a ;Ctrl+Z
|
||||
jp z,Undo
|
||||
CP 0x54
|
||||
JP Z,TWordLeft
|
||||
CP 0x56
|
||||
JP Z,TWordRight
|
||||
CP 0x58
|
||||
JP Z,TScrollUp
|
||||
CP 0x52
|
||||
JP Z,TScrollDown
|
||||
CP 0x57 ;Ctrl+Home
|
||||
JP Z,FETBegFile ;¢ ç «® ä ©«
|
||||
CP 0x51 ;Ctrl+PageEnd
|
||||
JP Z,FETEndFile ;¢ ª®¥æ ä ©«
|
||||
RET
|
||||
|
||||
HEditLoop LD IX,FEHEXtab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ¦ â¨ï ª« ¢¨è
|
||||
JP Z,EditorLoop
|
||||
LD A,D ;
|
||||
CP 0x44 ;F10
|
||||
JP Z,EditorExit
|
||||
LD A,E ;…-ASCII ª®¤
|
||||
CP 0x1B ;Esc
|
||||
JP Z,EditorExit
|
||||
LD HL,EditorLoop
|
||||
PUSH HL
|
||||
OR A
|
||||
JP NZ,HPutSymbol
|
||||
LD A,D
|
||||
CP 0x3B
|
||||
JP Z,FEAbout
|
||||
CP 0x3C
|
||||
JP Z,SaveFile
|
||||
CP 0x9E ;Ctrl+S
|
||||
JP Z,SaveFile
|
||||
CP 0x3E ;F4
|
||||
JP Z,ChEditor ;<3B>à®á¬®âà ¢ ⥪áâ¥
|
||||
CP 0x3F ;F5
|
||||
JP Z,FEHGoTo ;<3B>¥à¥å®¤ ¤à¥á ¯®«ì§®¢ ⥫ï
|
||||
CP 0x41
|
||||
JP Z,FEPrintFile
|
||||
CP 0x43
|
||||
JP Z,EditorSetup
|
||||
CP 0x54
|
||||
JP Z,HCursorLeft
|
||||
CP 0x56
|
||||
JP Z,HCursorRight
|
||||
CP 0x57 ;Home
|
||||
JP Z,HHomeString
|
||||
CP 0x51 ;End
|
||||
JP Z,HEndString
|
||||
CP 0x58 ;‘â५ª ¢¢¥àå
|
||||
JP Z,HCursorUp
|
||||
CP 0x52 ;‘â५ª ¢¨§
|
||||
JP Z,HCursorDown
|
||||
CP 0x59 ;PageUp
|
||||
JP Z,FEHPageUp
|
||||
CP 0x53 ;PageDown
|
||||
JP Z,FEHPageDown
|
||||
LD A,B
|
||||
AND 0x30
|
||||
CP 0x30
|
||||
RET Z
|
||||
BIT 5,B
|
||||
RET Z
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP 0x58
|
||||
JP Z,HScrollUp
|
||||
CP 0x52
|
||||
JP Z,HScrollDown
|
||||
CP 0x57 ;Ctrl+PageUp
|
||||
JP Z,FEHBegFile ;¢ ç «® ä ©«
|
||||
CP 0x51 ;Ctrl+PageDown
|
||||
JP Z,FEHEndFile ;¢ ª®¥æ ä ©«
|
||||
CP 0x19 ;Ctrl+P
|
||||
JP Z,FEPrintFile
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
EditingFile DUPL 0x30,0
|
||||
EditMode DEFB 0x00
|
||||
HEXmode DEFB 0x00
|
||||
EditData DEFB 0x00 ;Cursor X
|
||||
DEFB 0x00 ;String X
|
||||
DEFB 0x00 ;Cursor add X
|
||||
DEFB 0x00 ;Cursor Y
|
||||
DEFB 0x00 ;Len String
|
||||
DEFB 0x00 ;Previos Len String
|
||||
DEFB 0x00 ;Ready String
|
||||
DEFB 0x00 ;Ready File
|
||||
CurLine DEFW 0x0000
|
||||
EquipLines DEFW 0x0000
|
||||
LineShift DEFW 0x0000
|
||||
FEPageShift DEFW 0x0000
|
||||
FETempShift DEFW 0x0000
|
||||
FEFileLenght DEFW 0x0000 ;„«¨ ä ©« (16¡¨â)
|
||||
FEEmptyLines DEFB 0x00
|
||||
FEMemIndef DEFB 0x00
|
||||
FEFHandle DEFB 0x00
|
||||
FEReadLen
|
||||
SaveLen DEFW 0x0000
|
||||
|
||||
;[]==========================================================[]
|
||||
ChEditor LD HL,EditorBegin
|
||||
EX (SP),HL
|
||||
LD A,(EditMode)
|
||||
XOR 0x01
|
||||
LD (EditMode),A
|
||||
JR NZ,HEXEdit
|
||||
ASCIIEdit LD HL,(LineShift)
|
||||
LD E,(IY+CursorX)
|
||||
SRL E
|
||||
LD D,0x00
|
||||
ADD HL,DE
|
||||
PUSH HL
|
||||
INC HL
|
||||
CALL FESearchUp
|
||||
LD (LineShift),HL
|
||||
LD (FEPageShift),HL
|
||||
SUB A
|
||||
LD (IY+StringX),A
|
||||
LD (IY+CursorY),A
|
||||
PUSH HL
|
||||
CALL GetString
|
||||
POP DE
|
||||
POP HL
|
||||
OR A
|
||||
SBC HL,DE
|
||||
LD A,L
|
||||
CP (IY+LenString)
|
||||
JR C,.L1
|
||||
LD A,(IY+LenString)
|
||||
.L1 DEC A
|
||||
LD (IY+StringX),A
|
||||
JP TCursorRight
|
||||
|
||||
HEXEdit CALL PutString
|
||||
LD HL,(LineShift)
|
||||
LD A,(IY+StringX)
|
||||
CP (IY+LenString)
|
||||
JR C,.L1
|
||||
LD A,(IY+LenString)
|
||||
.L1 LD E,A
|
||||
LD D,0x00
|
||||
ADD HL,DE
|
||||
LD A,L
|
||||
AND 0x0F
|
||||
ADD A,A
|
||||
LD (IY+CursorX),A
|
||||
LD A,L
|
||||
AND 0xF0
|
||||
LD L,A
|
||||
LD (LineShift),HL
|
||||
LD (FEPageShift),HL
|
||||
SUB A
|
||||
LD (IY+CursorY),A
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
EditorExit CALL PutString
|
||||
CALL FEResCursor
|
||||
LD A,(IY+ReadyFile)
|
||||
OR A
|
||||
JP Z,QuitAsk;EditorE
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 208,80,224,60
|
||||
W_FILL 4,2,216,10,COLORI.BLACK
|
||||
W_TEXT 88,3,COLORI.WHITE,"Information"
|
||||
W_TEXT 64,19,COLORP.HIGHGRAY,"File has been modified."
|
||||
W_TEXT 96,29,COLORP.HIGHGRAY,"Save ?"
|
||||
W_BUTTON 32,42,72,14
|
||||
W_TEXT 58,45,COLORP.HIGHGRAY,"Yes"
|
||||
W_BUTTON 120,42,72,14
|
||||
W_TEXT 150,45,COLORP.HIGHGRAY,"No"
|
||||
W_END
|
||||
SureLoop LD IX,SureTab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,SureLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,SureLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
SCF
|
||||
JR Z,SureExit
|
||||
CP 0x0D
|
||||
JR Z,SureExit
|
||||
RES 5,A
|
||||
CP 'N'
|
||||
JR Z,SureExit
|
||||
CP 'Y'
|
||||
JR NZ,SureLoop
|
||||
SureOkey CALL SaveFile
|
||||
OR A
|
||||
SureExit
|
||||
WINDOWCLOSE
|
||||
JP C,EditorLoop
|
||||
EditorE LD A,(FEMemIndef)
|
||||
SPDSS DSSF.FREEMEM
|
||||
OR A
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
QuitAsk: ld a,0
|
||||
.param EQU $-1
|
||||
and a
|
||||
jr z,EditorE
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 208,88,224,50
|
||||
W_FILL 4,2,216,10,COLORI.BLACK
|
||||
W_TEXT 104,3,COLORI.WHITE,"Quit"
|
||||
W_TEXT 28,19,COLORP.HIGHGRAY,"Do you want to close the editor?"
|
||||
W_BUTTON 32,32,72,14
|
||||
W_TEXT 58,35,COLORP.HIGHGRAY,"Yes"
|
||||
W_BUTTON 120,32,72,14
|
||||
W_TEXT 150,35,COLORP.HIGHGRAY,"No"
|
||||
W_END
|
||||
FEQuitLoop: LD IX,FEQuitTab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,FEQuitLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,FEQuitLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
scf
|
||||
JP Z,SureExit
|
||||
CP 0x0D
|
||||
JP Z,SureExit
|
||||
RES 5,A
|
||||
CP 'Y'
|
||||
JP Z,SureExit
|
||||
CP 'N'
|
||||
JR NZ,FEQuitLoop
|
||||
FEQuitAbort: SCF
|
||||
JP SureExit
|
||||
|
||||
;[]==========================================================[]
|
||||
FEInitScreen
|
||||
MAKEWINDOW WINSUBOBJ.NOSTORE
|
||||
W_MAIN 0,0,640,256
|
||||
W_FILL 4,2,632,10,COLORI.BLACK
|
||||
W_TEXT 16,3,COLORI.WHITE,"FN File Editor v\{FLEX_VERS.EDITOR}"
|
||||
W_HORIZLINE 0,13,640
|
||||
W_TEXT 8,17,COLORP.HIGHGRAY,"Editing:"
|
||||
W_VERTICLINE 366,16,10
|
||||
W_TEXT 400,17,COLORP.HIGHGRAY,"Line:"
|
||||
W_TEXT 480,17,COLORP.HIGHGRAY,"Col:"
|
||||
W_TEXT 552,17,COLORP.HIGHGRAY,"Free:"
|
||||
W_HORIZLINE 0,27,640
|
||||
W_HORIZLINE 0,227,640
|
||||
W_ICONUPARROW 624,28
|
||||
W_FILL 624,36,16,184,COLORI.HIGHGRAY
|
||||
W_ICONDOWNARROW 624,220
|
||||
W_END
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,WorkBuffer
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP HL
|
||||
SUB A
|
||||
.L1 INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
DEC HL
|
||||
LD A,0x5C
|
||||
CP (HL)
|
||||
INC HL
|
||||
JR Z,.L2
|
||||
LD (HL),A
|
||||
INC HL
|
||||
.L2 EX DE,HL
|
||||
LD HL,EditingFile+33
|
||||
SUB A
|
||||
.L3 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L3
|
||||
LD (DE),A
|
||||
LD IX,0x0130
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x0030
|
||||
LD BC,0x0011
|
||||
LD A,0x80
|
||||
CALL JUMPS.PrnRangPathL
|
||||
LD HL,0x01FC
|
||||
LD DE,0x0003
|
||||
LD B,0x08
|
||||
EXX
|
||||
LD HL,0x022E
|
||||
LD DE,0x0003
|
||||
LD B,0x08
|
||||
EXX
|
||||
LD A,0x02
|
||||
CALL JUMPS.SetCMOSPrint
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
InitStatus LD A,(EditMode)
|
||||
OR A
|
||||
JP NZ,InitHEXStatus
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_HORIZLINE 0,235,626
|
||||
W_VERTICLINE 622,228,8
|
||||
W_ICONLEFTARROW 0,228
|
||||
W_FILL 16,228,592,8,COLORI.HIGHGRAY
|
||||
W_ICONRIGHTARROW 608,228
|
||||
W_HORIZLINE 0,241,640
|
||||
W_FILL 2,243,636,12,COLORI.HIGHGRAY
|
||||
W_HORIZLINE 2,255,637
|
||||
W_BUTTON 0,242,80,14
|
||||
W_TEXT 18,245,COLORP.HIGHGRAY,"F1 About"
|
||||
W_BUTTON 80,242,80,14
|
||||
W_TEXT 100,245,COLORP.HIGHGRAY,"F2 Save"
|
||||
W_BUTTON 160,242,80,14
|
||||
W_TEXT 184,245,COLORP.HIGHGRAY,"F4 Hex"
|
||||
W_BUTTON 400,242,80,14
|
||||
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
|
||||
W_BUTTON 480,242,80,14
|
||||
W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
|
||||
W_BUTTON 560,242,80,14
|
||||
W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
|
||||
W_END
|
||||
RET
|
||||
|
||||
InitHEXStatus
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_HORIZLINE 0,227,640
|
||||
W_FILL 2,229,636,10,COLORI.HIGHGRAY
|
||||
W_HORIZLINE 2,241,640
|
||||
W_FILL 2,243,636,12,COLORI.HIGHGRAY
|
||||
W_HORIZLINE 2,255,638
|
||||
W_BUTTON 0,242,80,14
|
||||
W_TEXT 18,245,COLORP.HIGHGRAY,"F1 About"
|
||||
W_BUTTON 80,242,80,14
|
||||
W_TEXT 100,245,COLORP.HIGHGRAY,"F2 Save"
|
||||
W_BUTTON 160,242,80,14
|
||||
W_TEXT 182,245,COLORP.HIGHGRAY,"F4 ASCII"
|
||||
W_BUTTON 240,242,80,14
|
||||
W_TEXT 258,245,COLORP.HIGHGRAY,"F5 Go to"
|
||||
W_BUTTON 400,242,80,14
|
||||
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
|
||||
W_BUTTON 480,242,80,14
|
||||
W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
|
||||
W_BUTTON 560,242,80,14
|
||||
W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
|
||||
W_END
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
InitFile LD A,(EditMode)
|
||||
OR A
|
||||
JR NZ,InitFileHex
|
||||
CALL JUMPS.SetClock
|
||||
LD HL,0x0000
|
||||
LD E,L
|
||||
LD D,H
|
||||
InitAlp PUSH HL
|
||||
LD BC,(LineShift)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
POP HL
|
||||
JR NZ,.L1
|
||||
LD (CurLine),DE
|
||||
.L1 PUSH DE
|
||||
CALL FESearchDown
|
||||
POP DE
|
||||
INC DE
|
||||
JR NC,InitAlp
|
||||
DEC DE
|
||||
LD (EquipLines),DE
|
||||
LD (ELines),DE
|
||||
LD HL,TBarU
|
||||
LD (BarPgU),HL
|
||||
LD HL,TBarD
|
||||
LD (BarPgD),HL
|
||||
LD IX,EditVBar
|
||||
CALL JUMPS.InitScrBar
|
||||
LD HL,0x00F0
|
||||
LD (CScrnX),HL
|
||||
LD IX,EditHBar
|
||||
CALL JUMPS.InitScrBar
|
||||
LD HL,0xFFFF
|
||||
LD (CLine),HL
|
||||
LD H,0x00
|
||||
LD (CAddX),HL
|
||||
CALL JUMPS.SetMouse
|
||||
RET
|
||||
|
||||
InitFileHex LD HL,(FEFileLenght)
|
||||
LD A,L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
AND 0x0F
|
||||
JR Z,.L1
|
||||
INC HL
|
||||
.L1 LD (EquipLines),HL
|
||||
LD (ELines),HL
|
||||
LD HL,(LineShift)
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
LD (CurLine),HL
|
||||
LD HL,HBarU
|
||||
LD (BarPgU),HL
|
||||
LD HL,HBarD
|
||||
LD (BarPgD),HL
|
||||
LD IX,EditVBar
|
||||
CALL JUMPS.InitScrBar
|
||||
LD HL,0xFFFF
|
||||
LD (CLine),HL
|
||||
RET
|
||||
|
||||
EditVBar DEFW 0x0270 ;X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0024 ;Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x00B8 ;Max ¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ;⥪.¤«¨ áªà®«¡ à
|
||||
BarPgU DEFW 0x0000 ;€¤à¥á ï祩ª¨ BarLeft
|
||||
BarPgD DEFW 0x0000 ;€¤à¥á ï祩ª¨ BarRight
|
||||
DEFW 0x0019 ;Š®«-¢® áâப áâà ¨æ¥
|
||||
ELines DEFW 0x0000 ;ޡ饥 ª®«-¢® áâப
|
||||
CLine DEFW 0x0000 ;<3B>¥à¢ ï áâப áâà ¨æ¥
|
||||
EditHBar DEFW 0x0010 ;X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x00E4 ;Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0250 ;Max ¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ;⥪.¤«¨ áªà®«¡ à
|
||||
DEFW TBarL ;€¤à¥á ï祩ª¨ BarLeft
|
||||
DEFW TBarR ;€¤à¥á ï祩ª¨ BarRight
|
||||
DEFW 0x004E ;Š®«-¢® áâப áâà ¨æ¥
|
||||
CScrnX DEFW 0x0000 ;ޡ饥 ª®«-¢® áâப
|
||||
CAddX DEFW 0x0000 ;<3B>¥à¢ ï áâப áâà ¨æ¥
|
||||
|
||||
;[]==========================================================[]
|
||||
PrintPage LD A,(EditMode)
|
||||
OR A
|
||||
JP Z,FEPrnASCIIpage
|
||||
JP FEPrnHEXpage
|
||||
|
||||
PrnEDITinfo LD A,(EditMode)
|
||||
OR A
|
||||
JP Z,PrnASCIIinfo
|
||||
JP PrnHEXinfo
|
||||
|
||||
;[]==========================================================[]
|
||||
FEChCursor HALT
|
||||
LD HL,FECrTimer
|
||||
DEC (HL)
|
||||
RET NZ
|
||||
LD (HL),CursTimer
|
||||
LD A,(FECurCursor)
|
||||
XOR 0x01
|
||||
LD (FECurCursor),A
|
||||
JR Z,ResCurs
|
||||
JR SetCurs
|
||||
|
||||
FESetCursor LD (CursorPos),DE
|
||||
LD A,0x01
|
||||
LD (FECurCursor),A
|
||||
LD A,CursTimer
|
||||
LD (FECrTimer),A
|
||||
SetCurs
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
GETPORT WINSP.Y_PORT
|
||||
PUSH AF
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
LD DE,(CursorPos)
|
||||
LD L,E
|
||||
LD H,0x00
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
SET 6,H
|
||||
LD A,D
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
ADD A,0x22
|
||||
LD C,A
|
||||
LD B,COLORP.FILES + COLORI.FILES
|
||||
DI
|
||||
LD DE,FECursBuffer
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x04
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
ACCEL ACCELCMD.FILL
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC C
|
||||
LD DE,FECursBuffer+4
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
ACCEL ACCELCMD.FILL
|
||||
LD (HL),B
|
||||
ACCEL ACCELCMD.OFF
|
||||
EI
|
||||
POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
FEResCursor SUB A
|
||||
LD (FECurCursor),A
|
||||
INC A
|
||||
LD (FECrTimer),A
|
||||
ResCurs
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
GETPORT WINSP.Y_PORT
|
||||
PUSH AF
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
LD DE,(CursorPos)
|
||||
LD L,E
|
||||
LD H,0x00
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
SET 6,H
|
||||
LD A,D
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
ADD A,0x22
|
||||
LD C,A
|
||||
DI
|
||||
LD DE,FECursBuffer
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0x04
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(DE)
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC C
|
||||
LD DE,FECursBuffer+4
|
||||
LD A,C
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY
|
||||
LD A,(DE)
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
EI
|
||||
POP AF
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
FECrTimer DEFB 0x01
|
||||
FECurCursor DEFB 0x00
|
||||
CursorPos DEFW 0x0000
|
||||
FECursBuffer DUPL 8,0
|
||||
|
||||
;[]==========================================================[]
|
||||
FEAbout CALL FEResCursor
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 160,72,320,85
|
||||
W_FILL 4,2,312,10,COLORI.BLACK
|
||||
W_TEXT 144,3,COLORI.WHITE,"About"
|
||||
W_TEXT 96,18,COLORP.HIGHGRAY,"Flex Navigator File Editor"
|
||||
W_TEXT 144,28,COLORP.HIGHGRAY,"v\{FLEX_VERS.EDITOR}"
|
||||
W_TEXT 18,40,COLORP.HIGHGRAY,"Programming: (C)2000 Enin Anton"
|
||||
W_TEXT 92,50,COLORP.HIGHGRAY,"(C)2021 Mikhaltchenkov Dmitry"
|
||||
W_BUTTON 124,66,72,14
|
||||
W_TEXT 154,69,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
FEAboutLoop LD IX,FEAboutTab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,FEAboutLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,FEAboutLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,FEAboutExt
|
||||
CP 0x0D
|
||||
JR Z,FEAboutExt
|
||||
RES 5,A
|
||||
CP 'O'
|
||||
JR NZ,FEAboutLoop
|
||||
FEAboutExt
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
FEScrollSCRup LD DE,0x241C
|
||||
JR FEScrlSCRDnUp
|
||||
|
||||
FEScrollSCRdown LD DE,0x1C24
|
||||
;<3B> ¢å®¤:
|
||||
; D - Y ®âªã¤
|
||||
; … - Y ªã¤
|
||||
FEScrlSCRDnUp DI
|
||||
PUSH DE
|
||||
SPMOUSE MOUSEF.REFRESH
|
||||
POP DE
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
SETPORT WINSP.CPU1,0x50
|
||||
LD HL,0x4000
|
||||
LD BC,312
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0xC0
|
||||
ACCEL ACCELCMD.OFF
|
||||
.ScSCRN1 LD A,D
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD A,(HL)
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,E
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
CPI
|
||||
JP PE,.ScSCRN1
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EI
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
include fedos.a80
|
||||
include fetext.a80
|
||||
include fehex.a80
|
||||
include feprn.a80
|
||||
include fesetup.a80
|
||||
|
||||
;[]==========================================================[]
|
||||
FEASCIItab: DW 0x0000,0x0270,0x001C,0x00E4,0x00,0x0000, TNewCrPos, 0x0000
|
||||
DW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000, FEAbout, 0x0000
|
||||
DW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000, SaveFile, 0x0000
|
||||
DW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000, ChEditor, 0x0000
|
||||
DW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000, EditorSetup, 0x0000
|
||||
DW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000, FEPrintFile, 0x0000
|
||||
DW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000, EditorExit, 0x0000
|
||||
DW 0x0270,0x0280,0x001C,0x0024,0x03,0x0000, TCursorUp, 0x0000
|
||||
DW 0x0270,0x0280,0x00DC,0x00E4,0x03,0x0000, TCursorDown, 0x0000
|
||||
TBarU EQU $+6
|
||||
DW 0x0270,0x0280,0x001C,0x0000,0x00,0x0000, FETPageUp, 0x0000
|
||||
TBarD EQU $+4
|
||||
DW 0x0270,0x0280,0x0000,0x00E4,0x00,0x0000, TPageDown, 0x0000
|
||||
DW 0x0000,0x0010,0x00E4,0x00EC,0x03,0x0000, TCursorLeft, 0x0000
|
||||
DW 0x0260,0x0270,0x00E4,0x00EC,0x03,0x0000, TCursorRight, 0x0000
|
||||
TBarL EQU $+2
|
||||
DW 0x0010,0x0000,0x00E4,0x00EC,0x00,0x0000, TCursorLeft, 0x0000
|
||||
TBarR: DW 0x0000,0x0260,0x00E4,0x00EC,0x00,0x0000, TCursorRight, 0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
FEHEXtab: DW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000, FEAbout, 0x0000
|
||||
DW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000, SaveFile, 0x0000
|
||||
DW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000, ChEditor, 0x0000
|
||||
DW 0x00F0,0x0140,0x00F2,0x0100,0x01,0x0000, FEHGoTo, 0x0000
|
||||
DW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000, EditorSetup, 0x0000
|
||||
DW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000, FEPrintFile, 0x0000
|
||||
DW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000, EditorExit, 0x0000
|
||||
|
||||
DW 0x0270,0x0280,0x001C,0x0024,0x03,0x0000, HCursorUp, 0x0000
|
||||
DW 0x0270,0x0280,0x00DC,0x00E4,0x03,0x0000, HCursorDown, 0x0000
|
||||
DW 0x0048,0x01D8,0x001C,0x00E4,0x00,0x0000, HNewHEXPos, 0x0000
|
||||
DW 0x01E8,0x0268,0x001C,0x00E4,0x00,0x0000, HNewASCPos, 0x0000
|
||||
HBarU EQU $+6
|
||||
DW 0x0270,0x0280,0x001C,0x0000,0x00,0x0000, FEHPageUp, 0x0000
|
||||
HBarD EQU $+4
|
||||
DW 0x0270,0x0280,0x0000,0x00E4,0x00,0x0000, FEHPageDown, 0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
FEAboutTab: DEFW 0x011C,0x0164,0x008A,0x0098,0x21,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x0000,0x00A0,0x0000,0x0100,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x01E0,0x0280,0x0000,0x0100,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0048,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x0000,0x0280,0x009D,0x0100,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
SureTab: DEFW 0x00F0,0x0138,0x007A,0x0088,0x021,0x0000, SureOkey, 0x0000
|
||||
DEFW 0x0148,0x0190,0x007A,0x0088,0x021,0x0000, SureExit, 0x0000
|
||||
DEFW 0x0000,0x00D0,0x0000,0x0100,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x01B0,0x0280,0x0000,0x0100,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0050,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x0000,0x0280,0x008C,0x0100,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
NewFileTab: DEFW 0x00F0,0x0138,0x0082,0x0090,0x021,0x0000, NewFExitO, 0x0000
|
||||
DEFW 0x0148,0x0190,0x0082,0x0090,0x021,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x0000,0x00C0,0x0000,0x0100,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x01C0,0x0280,0x0000,0x0100,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0058,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0094,0x0100,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
FEQuitTab: DW 0x00F0,0x0138,0x0078,0x0086,0x21,0x0000, SureExit, 0x0000
|
||||
DW 0x0148,0x0190,0x0078,0x0086,0x21,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x0000,0x00D0,0x0000,0x0100,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x01B0,0x0280,0x0000,0x0100,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x0000,0x0280,0x0000,0x0058,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x0000,0x0280,0x008A,0x0100,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x8000
|
||||
|
||||
SettingsFileName:
|
||||
DZ FILENAME.FNEDIT_INI
|
||||
|
||||
;[]==========================================================[]
|
||||
494
plugins/fneditor/fedos.a80
Normal file
494
plugins/fneditor/fedos.a80
Normal file
@ -0,0 +1,494 @@
|
||||
|
||||
; LAST UPDATE: 27.05.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FELoadFile CALL JUMPS.SetClock
|
||||
LD DE,EditingFile
|
||||
PUSH HL
|
||||
SPDSS DSSF.F_FIRST,1,0x37
|
||||
POP HL
|
||||
JP C,FENewFile
|
||||
; LD HL,EditingFile+33
|
||||
; LD A,(HL)
|
||||
;.LoadFl0 CALL FECorrBigChar
|
||||
; LD (HL),A
|
||||
; INC HL
|
||||
; LD A,(HL)
|
||||
; OR A
|
||||
; JR NZ,.LoadFl0
|
||||
LD IX,EditingFile
|
||||
LD L,(IX+28)
|
||||
LD H,(IX+29)
|
||||
LD A,H
|
||||
AND 0xC0
|
||||
CP 0xC0
|
||||
LD A,0x1E
|
||||
PUSH AF
|
||||
CALL Z,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
POP AF
|
||||
SCF
|
||||
JP Z,FELoadExit
|
||||
LD (FEFileLenght),HL
|
||||
LD A,(IX+30)
|
||||
OR (IX+31)
|
||||
LD A,0x1E
|
||||
PUSH AF
|
||||
CALL NZ,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
POP AF
|
||||
SCF
|
||||
JP NZ,FELoadExit
|
||||
SPDSS DSSF.GETMEM,3
|
||||
PUSH AF
|
||||
CALL C,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
POP AF
|
||||
JP C,FELoadExit
|
||||
LD (FEMemIndef),A
|
||||
LD HL,PagesList
|
||||
SPBIOS BIOSF.GETMEMBLKPAGES
|
||||
LD IX,ProcessEdit
|
||||
LD HL,(FEFileLenght)
|
||||
LD A,H
|
||||
AND 0xC0
|
||||
RLCA
|
||||
RLCA
|
||||
LD (IX+PROC.MAXL1),A
|
||||
SUB A
|
||||
LD (IX+PROC.MAXH1),A
|
||||
LD (IX+PROC.MAXL2),A
|
||||
LD (IX+PROC.MAXH2),A
|
||||
CALL JUMPS.InitProcess
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 160,88,320,48
|
||||
W_FILL 4,2,312,10,COLORI.BLACK
|
||||
W_TEXT 112,3,COLORI.WHITE,"FN File Editor v\{FLEX_VERS.EDITOR}"
|
||||
W_TEXT 8,16,COLORP.HIGHGRAY,"Reading:"
|
||||
W_BORDER 16,28,288,12
|
||||
W_FILL 18,29,284,10,COLORI.WHITE
|
||||
W_END
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,WorkBuffer
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP HL
|
||||
SUB A
|
||||
.L1 INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
DEC HL
|
||||
LD A,0x5C
|
||||
CP (HL)
|
||||
INC HL
|
||||
JR Z,.L2
|
||||
LD (HL),A
|
||||
INC HL
|
||||
.L2 EX DE,HL
|
||||
LD HL,EditingFile+33
|
||||
SUB A
|
||||
.L3 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L3
|
||||
LD (DE),A
|
||||
LD IX,0x0100
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x00D8
|
||||
LD BC,0x0068
|
||||
LD A,0x80
|
||||
CALL JUMPS.PrnRangPathL
|
||||
LD HL,EditingFile+33
|
||||
SPDSS DSSF.OPEN,,1
|
||||
PUSH AF
|
||||
CALL C,JUMPS.DOSError
|
||||
POP AF
|
||||
JP C,FENoRead
|
||||
LD (FEFHandle),A
|
||||
LD IX,EditingFile
|
||||
LD L,(IX+28)
|
||||
LD H,(IX+29)
|
||||
LD (FEReadLen),HL
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD HL,PagesList
|
||||
LD A,(HL)
|
||||
.ReadLp1 INC HL
|
||||
PUSH HL
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD HL,0x011B
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JP Z,FEReadAbort
|
||||
LD HL,(FEReadLen)
|
||||
LD BC,0x4000
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR C,.ReadEnd
|
||||
LD (FEReadLen),HL
|
||||
LD HL,0x4000
|
||||
LD DE,0x4000
|
||||
LD A,(FEFHandle)
|
||||
SPDSS DSSF.READ
|
||||
JP C,FEReadAbort
|
||||
CALL FENextProcess
|
||||
POP HL
|
||||
LD A,(HL)
|
||||
CP 0xFF
|
||||
JR NZ,.ReadLp1
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
JR .ReadExit
|
||||
|
||||
.ReadEnd LD HL,0x4000
|
||||
LD DE,(FEReadLen)
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,.ReadEn1
|
||||
LD A,(FEFHandle)
|
||||
SPDSS DSSF.READ
|
||||
JP C,FEReadAbort
|
||||
CALL FENextProcess
|
||||
.ReadEn1 POP HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
.ReadExit LD A,(FEFHandle)
|
||||
SPDSS DSSF.CLOSE
|
||||
OR A
|
||||
FELoadExit HALT
|
||||
HALT
|
||||
WINDOWCLOSE
|
||||
PUSH AF
|
||||
CALL JUMPS.SetMouse
|
||||
POP AF
|
||||
RET
|
||||
|
||||
FEReadAbort POP HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
FENoRead LD A,(FEMemIndef)
|
||||
SPDSS DSSF.FREEMEM
|
||||
SCF
|
||||
JR FELoadExit
|
||||
|
||||
;[]==========================================================[]
|
||||
FENewFile PUSH AF
|
||||
CALL JUMPS.SetMouse
|
||||
POP AF
|
||||
CP 0x03
|
||||
JR Z,.NewFile1
|
||||
CP 0x06
|
||||
JP NZ,EError
|
||||
.NewFile1
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 192,88,256,60
|
||||
W_FILL 4,2,248,10,COLORI.BLACK
|
||||
W_TEXT 118,3,COLORI.WHITE,"Edit"
|
||||
W_TEXT 84,18,COLORP.HIGHGRAY,"Can`t find the file:"
|
||||
W_BUTTON 48,42,72,14
|
||||
W_TEXT 64,45,COLORP.HIGHGRAY,"New file"
|
||||
W_BUTTON 136,42,72,14
|
||||
W_TEXT 154,45,COLORP.HIGHGRAY,"Cancel"
|
||||
W_END
|
||||
PUSH HL
|
||||
LD DE,WorkBuffer
|
||||
SUB A
|
||||
.L1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
LD (DE),A
|
||||
LD IX,0x00E0
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x0140
|
||||
LD BC,0x0076
|
||||
LD A,0x80
|
||||
CALL JUMPS.PrnRangPathC
|
||||
NewFLoop LD IX,NewFileTab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,NewFLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,NewFLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,NewFExitC
|
||||
CP 0x0D
|
||||
JR Z,NewFExitO
|
||||
RES 5,A
|
||||
CP 'N'
|
||||
JR Z,NewFExitO
|
||||
CP 'C'
|
||||
JR NZ,NewFLoop
|
||||
NewFExitC SCF
|
||||
NewFExitO
|
||||
WINDOWCLOSE
|
||||
POP HL
|
||||
RET C
|
||||
LD E,L
|
||||
LD D,H
|
||||
LD C,0x00
|
||||
LD A,0x21
|
||||
DEC HL
|
||||
DEC C
|
||||
.L1 INC HL
|
||||
INC C
|
||||
CP (HL)
|
||||
JR C,.L1
|
||||
LD A,C
|
||||
OR A
|
||||
LD A,0x10
|
||||
JP Z,EError
|
||||
LD B,C
|
||||
LD A,0x5C
|
||||
.L2 DEC HL
|
||||
CP (HL)
|
||||
JR Z,ChangeDIR
|
||||
DJNZ .L2
|
||||
EX DE,HL
|
||||
JR NewFileE
|
||||
|
||||
ChangeDIR INC HL
|
||||
PUSH HL
|
||||
EX DE,HL
|
||||
LD DE,WorkBuffer
|
||||
LD C,B
|
||||
LD B,0x00
|
||||
LDIR
|
||||
SUB A
|
||||
LD (DE),A
|
||||
LD HL,WorkBuffer
|
||||
SPDSS DSSF.CHDIR
|
||||
POP DE
|
||||
JP C,EError
|
||||
NewFileE LD HL,EditingFile+33
|
||||
EX DE,HL
|
||||
LD A,0x20
|
||||
LD C,0x00
|
||||
NewFE0 CP (HL)
|
||||
JR NC,NewFE1
|
||||
LDI
|
||||
JR NewFE0
|
||||
|
||||
NewFE1 SUB A
|
||||
LD (DE),A
|
||||
LD A,C
|
||||
OR A
|
||||
LD A,0x10
|
||||
JP Z,EError
|
||||
LD IX,EditingFile
|
||||
SUB A
|
||||
LD (IX+28),A
|
||||
LD (IX+29),A
|
||||
LD (IX+30),A
|
||||
LD (IX+31),A
|
||||
LD (IX+32),A
|
||||
LD HL,0x0000
|
||||
LD (FEFileLenght),HL
|
||||
SPDSS DSSF.GETMEM,3
|
||||
PUSH AF
|
||||
CALL C,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
POP AF
|
||||
JP C,FELoadExit
|
||||
LD (FEMemIndef),A
|
||||
LD HL,PagesList
|
||||
SPBIOS BIOSF.GETMEMBLKPAGES
|
||||
OR A
|
||||
RET
|
||||
|
||||
EError PUSH AF
|
||||
CALL JUMPS.DOSError
|
||||
POP AF
|
||||
SCF
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
SaveFile CALL PutString
|
||||
CALL JUMPS.SetClock
|
||||
LD IX,ProcessEdit
|
||||
LD HL,(FEFileLenght)
|
||||
LD A,H
|
||||
AND 0xC0
|
||||
RLCA
|
||||
RLCA
|
||||
LD B,A
|
||||
LD A,H
|
||||
AND 0x3F
|
||||
OR L
|
||||
JR Z,.L1
|
||||
INC B
|
||||
.L1 LD (IX+PROC.MAXL1),B
|
||||
SUB A
|
||||
LD (IX+PROC.MAXH1),A
|
||||
LD (IX+PROC.MAXL2),A
|
||||
LD (IX+PROC.MAXH2),A
|
||||
CALL JUMPS.InitProcess
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 160,88,320,48
|
||||
W_FILL 4,2,312,10,COLORI.BLACK
|
||||
W_TEXT 112,3,COLORI.WHITE,"FN File Editor v\{FLEX_VERS.EDITOR}"
|
||||
W_TEXT 8,16,COLORP.HIGHGRAY,"Saving:"
|
||||
W_BORDER 16,28,288,12
|
||||
W_FILL 18,29,284,10,COLORI.WHITE
|
||||
W_END
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDISK
|
||||
POP IY
|
||||
LD HL,WorkBuffer
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH IY
|
||||
PUSH HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP HL
|
||||
POP IY
|
||||
SUB A
|
||||
.L2 INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
DEC HL
|
||||
LD A,0x5C
|
||||
CP (HL)
|
||||
INC HL
|
||||
JR Z,.L3
|
||||
LD (HL),A
|
||||
INC HL
|
||||
.L3 EX DE,HL
|
||||
LD HL,EditingFile+33
|
||||
SUB A
|
||||
.L4 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L4
|
||||
LD (DE),A
|
||||
LD IX,0x0100
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x00D0
|
||||
LD BC,0x0068
|
||||
LD A,0x80
|
||||
CALL JUMPS.PrnRangPathL
|
||||
LD HL,EditingFile+33
|
||||
LD A,(EditingFile+32)
|
||||
PUSH IY
|
||||
SPDSS DSSF.CREATE
|
||||
POP IY
|
||||
PUSH AF
|
||||
CALL C,JUMPS.DOSError
|
||||
POP AF
|
||||
JP C,SaveExit1
|
||||
LD (FEFHandle),A
|
||||
LD HL,(FEFileLenght)
|
||||
LD (SaveLen),HL
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD HL,PagesList
|
||||
LD A,(HL)
|
||||
SaveLp1 INC HL
|
||||
PUSH HL
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,(SaveLen)
|
||||
LD BC,0x4000
|
||||
OR A
|
||||
SBC HL,BC
|
||||
JR C,SaveEnd
|
||||
LD (SaveLen),HL
|
||||
LD HL,0x4000
|
||||
LD DE,0x4000
|
||||
LD A,(FEFHandle)
|
||||
PUSH IY
|
||||
SPDSS DSSF.WRITE
|
||||
POP IY
|
||||
JP C,SaveAbort
|
||||
CALL FENextProcess
|
||||
POP HL
|
||||
LD A,(HL)
|
||||
CP 0xFF
|
||||
JR NZ,SaveLp1
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
JP SaveExit
|
||||
|
||||
SaveEnd LD HL,0x4000
|
||||
LD DE,(SaveLen)
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,SaveEn1
|
||||
LD A,(FEFHandle)
|
||||
PUSH IY
|
||||
SPDSS DSSF.WRITE
|
||||
POP IY
|
||||
JP C,SaveAbort
|
||||
CALL FENextProcess
|
||||
SaveEn1 POP HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SaveExit SUB A
|
||||
LD (IY+ReadyFile),A
|
||||
CALL PrnEDITinfo
|
||||
LD A,(FEFHandle)
|
||||
PUSH IY
|
||||
SPDSS DSSF.CLOSE
|
||||
POP IY
|
||||
SaveExit1 HALT
|
||||
HALT
|
||||
WINDOWCLOSE
|
||||
CALL JUMPS.SetMouse
|
||||
RET
|
||||
|
||||
SaveAbort POP HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
JR SaveExit1
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
FENextProcess LD IX,ProcessEdit
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.NextPr1
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
.NextPr1 CALL JUMPS.PrnProcess
|
||||
RET
|
||||
|
||||
ProcessEdit DEFW 0x00B2
|
||||
DEFW 0x0075
|
||||
DEFW 0x011C
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFB 0x4F
|
||||
|
||||
;FECorrBigChar CP 0x41
|
||||
; RET C
|
||||
; CP 0x5B
|
||||
; JR NC,.CorrCh1
|
||||
; SET 5,A
|
||||
; RET
|
||||
|
||||
;.CorrCh1 CP 0x80
|
||||
; RET C
|
||||
; CP 0xA0
|
||||
; RET NC
|
||||
; SET 5,A
|
||||
; CP 0x90
|
||||
; RET C
|
||||
; SET 6,A
|
||||
; RES 4,A
|
||||
; RET
|
||||
1228
plugins/fneditor/fehex.a80
Normal file
1228
plugins/fneditor/fehex.a80
Normal file
File diff suppressed because it is too large
Load Diff
24
plugins/fneditor/femain.a80
Normal file
24
plugins/fneditor/femain.a80
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
include fn_version.a80
|
||||
include accel_sp.a80
|
||||
include ports_sp.a80
|
||||
include define_sp.a80
|
||||
include macros_sp.a80
|
||||
include dss_sp.a80
|
||||
include bios_sp.a80
|
||||
include mouse_sp.a80
|
||||
|
||||
org PluginOrg ; #C000 - Header lenght
|
||||
; Flex Navigator plugin header
|
||||
PluginStart: db "FLX-PLUG" ; Id
|
||||
dw 0x0000 ; LoadOffset
|
||||
dw 0x0000 ; EntryOffset
|
||||
db 0x00 ; PluginMode
|
||||
db 0x00,0x00,0x00 ; Reserved
|
||||
|
||||
PluginEntry: include feditor.a80
|
||||
340
plugins/fneditor/feprn.a80
Normal file
340
plugins/fneditor/feprn.a80
Normal file
@ -0,0 +1,340 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FEPrintFile CALL FEResCursor
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 168,96,304,50
|
||||
W_FILL 4,2,296,10,COLORI.BLACK
|
||||
W_TEXT 132,3,COLORI.WHITE,"Print file"
|
||||
W_BORDER 16,16,272,12
|
||||
W_FILL 18,17,268,10,COLORI.WHITE
|
||||
W_BUTTON 116,32,72,14
|
||||
W_TEXT 140,35,COLORP.HIGHGRAY,"Stop"
|
||||
W_END
|
||||
LD IX,FEPrintTab
|
||||
CALL JUMPS.TestCoords
|
||||
LD IX,FEProcessPrn
|
||||
LD HL,(FEFileLenght)
|
||||
LD A,L
|
||||
LD L,H
|
||||
LD H,0x00
|
||||
OR A
|
||||
JR Z,.InitPrn
|
||||
INC HL
|
||||
.InitPrn LD (IX+PROC.MAXL1),L
|
||||
LD (IX+PROC.MAXH1),H
|
||||
LD (IX+PROC.MAXL2),0X00
|
||||
LD (IX+PROC.MAXH2),0x00
|
||||
CALL JUMPS.InitProcess
|
||||
LD A,(EditMode)
|
||||
OR A
|
||||
JP NZ,FEPrintHEX
|
||||
FEPrintASCII LD HL,0x0000
|
||||
LD (FETempShift),HL
|
||||
LD HL,(FEFileLenght)
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD DE,(FETempShift)
|
||||
LD A,D ;‚뤥«ï¥¬ ®¬¥à áâà ¨æë
|
||||
AND 0xC0
|
||||
RLCA
|
||||
RLCA
|
||||
EXX
|
||||
LD E,A ;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
|
||||
LD D,HIGH (PagesList)
|
||||
LD A,(DE) ;’¥ª.áâà ¨æ
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EXX
|
||||
RES 7,D ;‚ª«.á 0x4000
|
||||
SET 6,D
|
||||
FEPrnASCII BIT 7,D
|
||||
JR Z,PrnASC
|
||||
RES 7,D
|
||||
SET 6,D
|
||||
EXX
|
||||
INC E ;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
|
||||
LD A,(DE) ;’¥ª.áâà ¨æ
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EXX
|
||||
PrnASC LD A,(DE)
|
||||
INC DE
|
||||
CALL FEPrintCHAR
|
||||
JR C,FEPrnASCIIext
|
||||
CALL FENxtPrnProc
|
||||
DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,FEPrnASCII
|
||||
CALL FEEndJob
|
||||
jr c,FEPrnASCIIext
|
||||
LD DE,0x0000
|
||||
CALL FENxtPrnProc
|
||||
HALT
|
||||
HALT
|
||||
FEPrnASCIIext POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
FEPrintHEX LD HL,0x0000
|
||||
LD (FETempShift),HL
|
||||
LD HL,LineBuffer
|
||||
LD BC,0x4E20
|
||||
.L1 LD (HL),C
|
||||
INC L
|
||||
DJNZ .L1
|
||||
FEPrintHEXlp CALL FEPrnHEXline
|
||||
JR C,FEPrintHEXext
|
||||
LD HL,(FETempShift)
|
||||
LD DE,0x0010 ;€¤à¥á ¤ ¬¯ +16
|
||||
ADD HL,DE
|
||||
LD (FETempShift),HL
|
||||
JR FEPrintHEXlp
|
||||
|
||||
FEPrintHEXext CALL FEEndJob
|
||||
OR A
|
||||
JR NZ,.PrnHEXe
|
||||
LD DE,0x0000
|
||||
CALL FENxtPrnProc
|
||||
HALT
|
||||
HALT
|
||||
.PrnHEXe
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
FEPrnHEXline LD IXL,0x00
|
||||
LD IXH,B
|
||||
LD HL,(FEFileLenght)
|
||||
LD BC,(FETempShift)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD A,0x00
|
||||
RET C
|
||||
LD B,0x10
|
||||
LD A,H
|
||||
OR A
|
||||
JR NZ,.PrnHLn
|
||||
LD A,L
|
||||
CP B
|
||||
JR NC,.PrnHLn
|
||||
LD B,L
|
||||
.PrnHLn
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD DE,(FETempShift)
|
||||
LD A,D ;‚뤥«ï¥¬ ®¬¥à áâà ¨æë
|
||||
AND 0xC0
|
||||
RLCA
|
||||
RLCA
|
||||
EXX
|
||||
LD E,A ;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
|
||||
LD D,HIGH (PagesList)
|
||||
LD A,(DE) ;’¥ª.áâà ¨æ
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EXX
|
||||
RES 7,D ;‚ª«.á 0x4000
|
||||
SET 6,D
|
||||
LD HL,LineBuffer+1 ;¡ãä¥à áâப¨
|
||||
EXX
|
||||
LD HL,LineBuffer+0x3D ;¬¥áâ® ¤«ï ASCII ª®¤®¢
|
||||
EXX
|
||||
LD (HL),'0'
|
||||
INC L
|
||||
LD A,(FETempShift+1)
|
||||
CALL FEPutHexNumb
|
||||
LD A,(FETempShift)
|
||||
CALL FEPutHexNumb
|
||||
LD (HL),':'
|
||||
INC L
|
||||
INC L
|
||||
INC L
|
||||
LD A,B
|
||||
OR A
|
||||
JR Z,PrnHLp2
|
||||
FEPrnHLoop BIT 7,D
|
||||
JR Z,PrnHLp1
|
||||
RES 7,D
|
||||
SET 6,D
|
||||
EXX
|
||||
INC E ;DE - €¤à¥á áâà ¨æë ¢ ᯨ᪥
|
||||
LD A,(DE) ;’¥ª.áâà ¨æ
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EXX
|
||||
PrnHLp1 LD A,(DE)
|
||||
INC DE
|
||||
EXX
|
||||
CP 0x20
|
||||
JR NC,.L1
|
||||
LD A,'.'
|
||||
.L1 LD (HL),A
|
||||
INC L
|
||||
EXX
|
||||
CALL FEPutHexNumb ;<3B>à®æ¥¤ãà ª®¢¥àâ
|
||||
INC L
|
||||
INC IXL ;“¢¥«¨ç.ª®«-¢® ¢¢¥¤¥ëå ¡ ©â®¢
|
||||
LD A,IXL
|
||||
AND 0x03
|
||||
JR NZ,.L2
|
||||
INC L
|
||||
.L2 DJNZ FEPrnHLoop
|
||||
PrnHLp2 POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
;<3B>à®æ¥¤ãà ®âç¨á⪨ § ª®ç¨¢è¨åáï ¡ ©â®¢
|
||||
FillHeP LD A,0x10 ;Œ ªá.¡ ©â®¢
|
||||
SUB IXL ;’¥ª.ª®«-¢® ¡ ©â®¢
|
||||
JR Z,FEFillP2
|
||||
LD B,A
|
||||
LD C,0x20
|
||||
FEFillP1 LD (HL),C
|
||||
INC L
|
||||
LD (HL),C
|
||||
INC L
|
||||
INC L
|
||||
EXX
|
||||
LD (HL),0x20
|
||||
INC L
|
||||
EXX
|
||||
INC IXL
|
||||
LD A,IXL ;‚ æ¥âॠ2 ¯à®¡¥«
|
||||
AND 0x03
|
||||
JR NZ,.L1
|
||||
INC L
|
||||
.L1 DJNZ FEFillP1
|
||||
FEFillP2 LD HL,LineBuffer
|
||||
LD B,0x4E
|
||||
FEPrnHEX LD A,(HL)
|
||||
INC HL
|
||||
CALL FEPrintCHAR
|
||||
LD A,0x01
|
||||
RET C
|
||||
DJNZ FEPrnHEX
|
||||
LD A,0x0D
|
||||
CALL FEPrintCHAR
|
||||
RET C
|
||||
LD A,0x0A
|
||||
CALL FEPrintCHAR
|
||||
RET
|
||||
|
||||
FEPrintCHAR LD IXL,A
|
||||
PUSH IX
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
JR Z,.PrnCH1
|
||||
LD IX,FEPrintTab
|
||||
CALL JUMPS.TestCoords
|
||||
JR C,.PrnCH2
|
||||
.PrnCH1
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD A,E
|
||||
.PrnCH2 POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
POP IX
|
||||
RET C
|
||||
JR Z,FEPrnCHAR
|
||||
CP 0x1B
|
||||
SCF
|
||||
RET Z
|
||||
RES 5,A
|
||||
CP 'S'
|
||||
JR NZ,FEPrnCHAR
|
||||
FEStopPrint SCF
|
||||
RET
|
||||
|
||||
FEPrnCHAR PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
LD A,IXL
|
||||
SPDSS DSSF.PRINT
|
||||
POP DE
|
||||
LD A,B
|
||||
EXX
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
RET NC
|
||||
HALT
|
||||
JR FEPrintCHAR
|
||||
|
||||
FEPrintTab DEFW 0x011C,0x0164,0x0080,0x008E,0x01,0x0000,FEStopPrint,0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
FENxtPrnProc LD A,E
|
||||
OR A
|
||||
RET NZ
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
LD IX,FEProcessPrn
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.NxtProc
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
.NxtProc CALL JUMPS.PrnProcess
|
||||
POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
RET
|
||||
|
||||
FEEndJob: PUSH AF
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
ld a,0x0C
|
||||
CALL FEPrintCHAR
|
||||
jr c,.print_cancel
|
||||
ld a,0x1B
|
||||
CALL FEPrintCHAR
|
||||
jr c,.print_cancel
|
||||
ld a,0x40
|
||||
CALL FEPrintCHAR
|
||||
jr c,.print_cancel
|
||||
POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP HL
|
||||
POP AF
|
||||
ret
|
||||
|
||||
.print_cancel: POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP HL
|
||||
POP AF
|
||||
SCF
|
||||
RET
|
||||
|
||||
FEProcessPrn DEFW 0x00BA
|
||||
DEFW 0x0071
|
||||
DEFW 0x010C
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFB 0x4F
|
||||
314
plugins/fneditor/fesetup.a80
Normal file
314
plugins/fneditor/fesetup.a80
Normal file
@ -0,0 +1,314 @@
|
||||
|
||||
; LAST UPDATE: 24.03.2025 savelij
|
||||
|
||||
FECSign: DB "FEC"
|
||||
HomeKeyFlag: DB 0
|
||||
IndentFlag: DB 0
|
||||
BracketsFlag: DB 0
|
||||
ExitDlgFlag: DB 0
|
||||
|
||||
;[]==========================================================[]
|
||||
ReadEditorIni: ld a,0
|
||||
.iniReaded EQU $-1
|
||||
and a
|
||||
ret nz
|
||||
inc a
|
||||
ld (.iniReaded),a
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDISK
|
||||
POP IY
|
||||
LD HL,WorkBuffer
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDIR
|
||||
POP IY
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD A,(JUMPS.FNFUNCT)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,ADDR.FlexDIRECTORY
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
EX AF,AF'
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EX AF,AF'
|
||||
JP C,.exit
|
||||
LD HL,SettingsFileName
|
||||
PUSH IY
|
||||
SPDSS DSSF.OPEN,,1
|
||||
pop iy
|
||||
jr c,.exit
|
||||
ld (.file),a
|
||||
ld hl,LineBuffer
|
||||
push hl
|
||||
ld de,LineBuffer+1
|
||||
ld (hl),0
|
||||
ld bc,7
|
||||
ldir
|
||||
pop hl
|
||||
ld de,7
|
||||
PUSH IY
|
||||
SPDSS DSSF.READ
|
||||
pop iy
|
||||
jr c,.close
|
||||
ld hl,(LineBuffer)
|
||||
ld de,'EF'
|
||||
and a
|
||||
sbc hl,de
|
||||
jr nz,.close
|
||||
ld hl,LineBuffer+2
|
||||
ld a,(hl)
|
||||
cp 'C'
|
||||
jr nz,.close
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (THomeString.param),a
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (CalcStartTabs.param),a
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (AutoBrackets),a
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
ld (QuitAsk.param),a
|
||||
.close: ld a,0
|
||||
.file EQU $-1
|
||||
PUSH IY
|
||||
SPDSS DSSF.CLOSE
|
||||
pop IY
|
||||
.exit: LD HL,WorkBuffer
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
ret
|
||||
|
||||
;[]==========================================================[]
|
||||
EditorSetup: CALL PutString
|
||||
CALL FEResCursor
|
||||
LD A,(QuitAsk.param)
|
||||
ld (ExitDlgFlag),a
|
||||
CALL ParamToSymbol
|
||||
LD (ExitDlgFlg),A
|
||||
LD A,(THomeString.param)
|
||||
ld (HomeKeyFlag),a
|
||||
CALL ParamToSymbol
|
||||
LD (HomeKeyFlg),A
|
||||
LD A,(CalcStartTabs.param)
|
||||
ld (IndentFlag),a
|
||||
CALL ParamToSymbol
|
||||
LD (IndentFlg),A
|
||||
LD A,(AutoBrackets)
|
||||
ld (BracketsFlag),a
|
||||
CALL ParamToSymbol
|
||||
LD (BracketsFlg),A
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 200,80,240,110
|
||||
W_FILL 4,2,232,10,COLORI.BLACK
|
||||
W_TEXT 84,3,COLORI.WHITE,"Editor settings"
|
||||
W_BORDER 16,19,20,11
|
||||
W_FILL 18,20,16,9,COLORI.WHITE
|
||||
W_TEXT 20,21,COLORP.WHITE,"\xFF"
|
||||
ExitDlgFlg: EQU $ - 2
|
||||
W_TEXT 40,22,COLORP.HIGHGRAY,"Confirmation of closing the editor"
|
||||
W_BORDER 16,35,20,11
|
||||
W_FILL 18,36,16,9,COLORI.WHITE
|
||||
W_TEXT 20,37,COLORP.WHITE,"\xFF"
|
||||
HomeKeyFlg: EQU $-2
|
||||
W_TEXT 40,38,COLORP.HIGHGRAY,"find first symbol on Home key"
|
||||
W_BORDER 16,51,20,11
|
||||
W_FILL 18,52,16,9,COLORI.WHITE
|
||||
W_TEXT 20,53,COLORP.WHITE,"\xFF"
|
||||
IndentFlg: EQU $-2
|
||||
W_TEXT 40,54,COLORP.HIGHGRAY,"auto Indent"
|
||||
W_BORDER 16,67,20,11
|
||||
W_FILL 18,68,16,9,COLORI.WHITE
|
||||
W_TEXT 20,69,COLORP.WHITE,"\xFF"
|
||||
BracketsFlg: EQU $-2
|
||||
W_TEXT 40,70,COLORP.HIGHGRAY,"auto Brackets"
|
||||
W_HORIZLINE 4,84,232
|
||||
W_BUTTON 77,90,72,14
|
||||
W_TEXT 96,93,COLORP.HIGHGRAY,"Cancel"
|
||||
W_BUTTON 160,90,64,14
|
||||
W_TEXT 188,93,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
|
||||
FESetupLoop: LD IX,FESetupTab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,FESetupLoop
|
||||
LD A,E
|
||||
RES 5,A
|
||||
CP 0x1B
|
||||
JP Z,FESetupCancel
|
||||
CP 0x0D
|
||||
JP Z,FESetupOkey
|
||||
CP 'O'
|
||||
JP Z,FESetupOkey
|
||||
ld hl,FESetupLoop
|
||||
push hl
|
||||
CP 'B'
|
||||
JP Z,SetupAutoBracketsInvert
|
||||
CP 'C'
|
||||
JP Z,SetupConfirmDlgInvert
|
||||
CP 'H'
|
||||
JP Z,SetupHomeKeyInvert
|
||||
CP 'I'
|
||||
JP Z,SetupAutoIndentInvert
|
||||
ret
|
||||
|
||||
;A - parameter
|
||||
;Out - A = A == 0 ? " " : "v"
|
||||
ParamToSymbol: OR A
|
||||
LD A,0xFE
|
||||
RET Z
|
||||
INC A
|
||||
RET
|
||||
|
||||
CheckTxt: DEFB 0x00,0x00
|
||||
|
||||
SetupConfirmDlgInvert:
|
||||
LD HL,CheckTxt
|
||||
LD A,(ExitDlgFlag)
|
||||
XOR 0x01
|
||||
LD (ExitDlgFlag),A
|
||||
call ParamToSymbol
|
||||
LD (HL),A
|
||||
LD DE,0x00DC
|
||||
LD BC,0x0065
|
||||
LD A,0xF0
|
||||
CALL JUMPS.PrnTxtLnIFF
|
||||
JP JUMPS.ResFire
|
||||
|
||||
SetupHomeKeyInvert:
|
||||
LD HL,CheckTxt
|
||||
LD A,(HomeKeyFlag)
|
||||
XOR 0x01
|
||||
LD (HomeKeyFlag),A
|
||||
call ParamToSymbol
|
||||
LD (HL),A
|
||||
LD DE,0x00DC
|
||||
LD BC,0x0075
|
||||
LD A,0xF0
|
||||
CALL JUMPS.PrnTxtLnIFF
|
||||
JP JUMPS.ResFire
|
||||
|
||||
SetupAutoIndentInvert:
|
||||
LD HL,CheckTxt
|
||||
LD A,(IndentFlag)
|
||||
XOR 0x01
|
||||
LD (IndentFlag),A
|
||||
call ParamToSymbol
|
||||
LD (HL),A
|
||||
LD DE,0x00DC
|
||||
LD BC,0x0085
|
||||
LD A,0xF0
|
||||
CALL JUMPS.PrnTxtLnIFF
|
||||
JP JUMPS.ResFire
|
||||
|
||||
SetupAutoBracketsInvert:
|
||||
LD HL,CheckTxt
|
||||
LD A,(BracketsFlag)
|
||||
XOR 0x01
|
||||
LD (BracketsFlag),A
|
||||
call ParamToSymbol
|
||||
LD (HL),A
|
||||
LD DE,0x00DC
|
||||
LD BC,0x0095
|
||||
LD A,0xF0
|
||||
CALL JUMPS.PrnTxtLnIFF
|
||||
JP JUMPS.ResFire
|
||||
|
||||
FESetupOkey: ld a,(ExitDlgFlag)
|
||||
LD (QuitAsk.param),a
|
||||
LD A,(HomeKeyFlag)
|
||||
LD (THomeString.param),A
|
||||
ld A,(IndentFlag)
|
||||
LD (CalcStartTabs.param),A
|
||||
ld a,(BracketsFlag)
|
||||
LD (AutoBrackets),a
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDISK ;Write ini-file
|
||||
LD HL,WorkBuffer
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
SPDSS DSSF.CURDIR
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
LD A,(JUMPS.FNFUNCT)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,ADDR.FlexDIRECTORY
|
||||
SPDSS DSSF.CHDIR
|
||||
EX AF,AF'
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
EX AF,AF'
|
||||
JP C,.exit
|
||||
LD HL,SettingsFileName
|
||||
SPDSS DSSF.CREATE,,0x20
|
||||
jr c,.exit
|
||||
ld (.file),a
|
||||
jr c,.close
|
||||
ld hl,FECSign
|
||||
ld de,7
|
||||
SPDSS DSSF.WRITE
|
||||
.close: ld a,0
|
||||
.file EQU $-1
|
||||
SPDSS DSSF.CLOSE
|
||||
.exit: LD HL,WorkBuffer
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
FESetupCancel:
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
;”®à¬ â â ¡«¨æë
|
||||
; +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 €¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢)
|
||||
|
||||
;[]==========================================================[]
|
||||
FESetupTab: DEFW 0x0114,0x015C,0x00AA,0x00B8,0x0021,0x0000,FESetupCancel,0x0000
|
||||
DEFW 0x0168,0x01A8,0x00AA,0x00B8,0x0021,0x0000,FESetupOkey,0x0000
|
||||
DEFW 0x00D8,0x0192,0x0063,0x006D,0x0000,0x0000,SetupConfirmDlgInvert,0x0000
|
||||
DEFW 0x00D8,0x0186,0x0073,0x007D,0x0000,0x0000,SetupHomeKeyInvert,0x0000
|
||||
DEFW 0x00D8,0x0129,0x0083,0x008D,0x0000,0x0000,SetupAutoIndentInvert,0x0000
|
||||
DEFW 0x00D8,0x0132,0x0093,0x009D,0x0000,0x0000,SetupAutoBracketsInvert,0x0000
|
||||
DEFW 0x0000,0x00C8,0x0000,0x0100,0x0020,0x0000,FESetupCancel,0x0000
|
||||
DEFW 0x01B8,0x0280,0x0000,0x0100,0x0020,0x0000,FESetupCancel,0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0050,0x0020,0x0000,FESetupCancel,0x0000
|
||||
DEFW 0x0000,0x0280,0x00BC,0x0100,0x0020,0x0000,FESetupCancel,0x0000
|
||||
DEFW 0x8000
|
||||
1946
plugins/fneditor/fetext.a80
Normal file
1946
plugins/fneditor/fetext.a80
Normal file
File diff suppressed because it is too large
Load Diff
21
plugins/fnviewer/build.bat
Normal file
21
plugins/fnviewer/build.bat
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\;d:\yad\sprinter_src\flexnav\src\
|
||||
|
||||
asl -U -L -C -x -olist tmp\fviewer.lst -i %includes% fvmain.a80 || goto error
|
||||
p2bin fvmain.p ..\fnviewer.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
||||
724
plugins/fnviewer/fvhex.a80
Normal file
724
plugins/fnviewer/fvhex.a80
Normal file
@ -0,0 +1,724 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
|
||||
;--------------------------------------------------------------
|
||||
;<3B>à®æ¥¤ãà ¯¥ç ⨠áâà ¨æë ¤ ¬¯ á ⥪.ᬥé. ®â ç « ä ©«
|
||||
;<3B> ¢å®¤:
|
||||
; None
|
||||
;<3B> ¢ë室:
|
||||
; None
|
||||
PrnHEXpage LD HL,PrintVProc
|
||||
PUSH HL
|
||||
LD HL,(FileShift)
|
||||
LD A,L
|
||||
AND 0xF0
|
||||
LD L,A
|
||||
LD (FileShift),HL
|
||||
LD (TempShift),HL ;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
|
||||
LD HL,(FileShift+2)
|
||||
LD (TempShift+2),HL
|
||||
LD HL,LineBuffer
|
||||
LD BC,0x5020
|
||||
.L1 LD (HL),C
|
||||
INC L
|
||||
DJNZ .L1
|
||||
LD B,0x1C ;ˆ§ ç.¯®§¨æ¨ï ¯¥ç â¨
|
||||
PrnHEXl PUSH BC
|
||||
CALL PutHLine ;‚뢮¤¨¬ áâப㠢 ¡ãä¥à ¨ íªà
|
||||
POP BC
|
||||
JR C,FillDwnHex ;CY-‡ ª®ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
|
||||
LD HL,(TempShift)
|
||||
LD DE,0x0010 ;€¤à¥á ¤ ¬¯ +16
|
||||
ADD HL,DE
|
||||
LD (TempShift),HL
|
||||
LD HL,(TempShift+2)
|
||||
LD E,D
|
||||
ADC HL,DE
|
||||
LD (TempShift+2),HL
|
||||
LD A,B
|
||||
ADD A,0x08
|
||||
LD B,A
|
||||
CP 0xE4
|
||||
JR NZ,PrnHEXl
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà
|
||||
FillDwnHex LD A,B
|
||||
CP 0xE4
|
||||
RET Z ;Z-¥â ®âç¨á⪨
|
||||
LD (FPosHex),A
|
||||
LD A,0xE4
|
||||
SUB B
|
||||
LD (FLenHex),A
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_FILL 0,0,640,0,COLORI.PANEL
|
||||
FPosHex EQU $ - 7
|
||||
FLenHex EQU $ - 3
|
||||
W_END
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ¯¥ç ⨠⥪.áâப¨ ¢ ¡ãä¥à ¨ íªà
|
||||
PutHLine LD IXL,0x00
|
||||
LD IXH,B
|
||||
LD HL,(FileLenght)
|
||||
LD BC,(TempShift)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
LD BC,(TempShift+2)
|
||||
SBC HL,BC
|
||||
RET C
|
||||
LD B,0x10
|
||||
JR NZ,PutHLn
|
||||
LD A,D
|
||||
OR A
|
||||
JR NZ,PutHLn
|
||||
OR E
|
||||
SCF
|
||||
RET Z
|
||||
LD A,E
|
||||
CP B
|
||||
JR NC,PutHLn
|
||||
LD B,E
|
||||
PutHLn
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
CALL InitFPages
|
||||
LD HL,LineBuffer+1 ;¡ãä¥à áâப¨
|
||||
EXX
|
||||
LD HL,LineBuffer+0x3F ;¬¥áâ® ¤«ï ASCII ª®¤®¢
|
||||
EXX
|
||||
LD A,(TempShift+3) ;Š« ¤¥¬ ᬥ饨¥
|
||||
CALL PutHexNumb ;®â ç « ä ¨«
|
||||
LD A,(TempShift+2)
|
||||
CALL PutHexNumb
|
||||
LD A,(TempShift+1)
|
||||
CALL PutHexNumb
|
||||
LD A,(TempShift)
|
||||
CALL PutHexNumb
|
||||
LD (HL),":"
|
||||
INC L
|
||||
INC L
|
||||
PutHLoop CALL TestFPages
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
EXX
|
||||
LD (HL),A
|
||||
INC L
|
||||
EXX
|
||||
CALL PutHexNumb ;<3B>à®æ¥¤ãà ª®¢¥àâ
|
||||
INC L
|
||||
INC IXL ;“¢¥«¨ç.ª®«-¢® ¢¢¥¤¥ëå ¡ ©â®¢
|
||||
LD A,IXL
|
||||
CP 0x04
|
||||
JR Z,.PtHNx1
|
||||
CP 0x08
|
||||
JR Z,.PtHNx1
|
||||
CP 0x0C
|
||||
JR NZ,.L1
|
||||
.PtHNx1 INC L
|
||||
.L1 DJNZ PutHLoop
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
;<3B>à®æ¥¤ãà ®ç¨á⪨ § ª®ç¨¢è¨åáï ¡ ©â®¢
|
||||
FillHex LD A,0x10 ;Œ ªá.¡ ©â®¢
|
||||
SUB IXL ;’¥ª.ª®«-¢® ¡ ©â®¢
|
||||
JR Z,.FillE2
|
||||
LD B,A
|
||||
LD C,0x20
|
||||
.FillE1 LD (HL),C
|
||||
INC L
|
||||
LD (HL),C
|
||||
INC L
|
||||
INC L
|
||||
EXX
|
||||
LD (HL),0x20
|
||||
INC L
|
||||
EXX
|
||||
INC IXL
|
||||
LD A,IXL ;‚ æ¥âॠ2 ¯à®¡¥«
|
||||
CP 0x04
|
||||
JR Z,.FlHNx1
|
||||
CP 0x08
|
||||
JR Z,.FlHNx1
|
||||
CP 0x0C
|
||||
JR NZ,.L2
|
||||
.FlHNx1 INC L
|
||||
.L2 DJNZ .FillE1
|
||||
.FillE2 LD HL,LineBuffer
|
||||
LD DE,0x0000
|
||||
LD B,0x50
|
||||
LD C,IXH
|
||||
LD A,COLORP.PANEL + COLORI.FILES
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
OR A
|
||||
RET ;CY-¡ë« ¯®á«¥¤ïï áâப
|
||||
|
||||
;<3B>à®æ¥¤ãà ¯à¥®¡à §®¢ ¨ï 8¡¨â®¢ëå ç¨á¥« ¢ è¥áâ ¤æ. ⥪áâ
|
||||
;<3B> ¢å®¤:
|
||||
; HL - ¤à¥á ¡ãä¥à
|
||||
; € - ¡ ©â
|
||||
;<3B> ¢ë室:
|
||||
; ¡ãä¥à á ⥪áâ.ç¨á«®¬
|
||||
PutHexNumb PUSH AF
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
AND 0x0F
|
||||
ADD A,0x90
|
||||
DAA
|
||||
ADC A,0x40
|
||||
DAA
|
||||
LD (HL),A
|
||||
INC L
|
||||
POP AF
|
||||
AND 0x0F
|
||||
ADD A,0x90
|
||||
DAA
|
||||
ADC A,0x40
|
||||
DAA
|
||||
LD (HL),A
|
||||
INC L
|
||||
RET
|
||||
|
||||
;--------------------------------------------------------------
|
||||
;<3B>à®æ¥¤ãàë ®¡à ¡®âª¨ View
|
||||
;<3B> áâப㠢¢¥àå
|
||||
HLineUpMs CALL FVHLineUp
|
||||
RET C
|
||||
LD B,0x0A
|
||||
HUpMs1 PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ HUpMs1
|
||||
HUpMs2 CALL FVHLineUp
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR HUpMs2
|
||||
|
||||
FVHLineUp LD HL,(FileShift)
|
||||
LD DE,(FileShift+2)
|
||||
LD A,H ;<3B>஢¥à塞 ç «® ä ©«
|
||||
OR D
|
||||
OR L
|
||||
OR E
|
||||
SCF
|
||||
RET Z ;Z- ç «® ä ©«
|
||||
LD BC,0x0010
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD (FileShift),HL ;FileShift-16¡ ©â(¯à¥¤¨¤.áâப )
|
||||
LD (TempShift),HL ;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
|
||||
LD C,B
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
LD (FileShift+2),HL
|
||||
LD (TempShift+2),HL
|
||||
CALL ScrollSCRdown
|
||||
LD B,0x1C
|
||||
CALL PutHLine ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
|
||||
CALL PrintVProc
|
||||
OR A
|
||||
RET
|
||||
|
||||
;<3B> áâப㠢¨§
|
||||
HLineDwnMs CALL HLineDwn
|
||||
RET C
|
||||
LD B,0x0A
|
||||
HDnMs1 PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ HDnMs1
|
||||
HDnMs2 CALL HLineDwn
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR HDnMs2
|
||||
|
||||
HLineDwn LD HL,(FileShift)
|
||||
LD BC,(FileShift+2)
|
||||
LD DE,0x0190
|
||||
ADD HL,DE
|
||||
LD (TempShift),HL ;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
|
||||
JR NC,.L1 ;<3B>ਡ ¢«ï¥¬ ª ᬥ饨î áâà ¨æã
|
||||
INC BC ;¡ ©â®¢ (480¡)
|
||||
.L1 LD (TempShift+2),BC
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght)
|
||||
OR A
|
||||
SBC HL,DE ;<3B>஢¥à塞 ª®¥æ ä ©«
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
SBC HL,BC
|
||||
RET C
|
||||
JR NZ,.L2
|
||||
LD A,D
|
||||
OR E
|
||||
SCF
|
||||
RET Z ;Z - ª®¥æ
|
||||
.L2 LD HL,(FileShift)
|
||||
LD DE,(FileShift+2)
|
||||
LD BC,0x0010
|
||||
ADD HL,BC
|
||||
JR NC,.L3
|
||||
INC DE
|
||||
.L3 LD (FileShift),HL
|
||||
LD (FileShift+2),DE
|
||||
CALL ScrollSCRup
|
||||
LD B,0xDC
|
||||
CALL PutHLine ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
|
||||
CALL PrintVProc
|
||||
OR A
|
||||
RET
|
||||
|
||||
;<3B> áâà ¨æã ¢¢¥àå
|
||||
HPageUpMs CALL FVHPageUp
|
||||
RET C
|
||||
LD B,0x0A
|
||||
HUpMs1p PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ HUpMs1p
|
||||
HUpMs2p CALL FVHPageUp
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR HUpMs2p
|
||||
|
||||
FVHPageUp LD HL,(FileShift)
|
||||
LD BC,(FileShift+2)
|
||||
LD A,H ;<3B>஢¥à塞 ç «® ä ©«
|
||||
OR B
|
||||
OR L
|
||||
OR C
|
||||
SCF
|
||||
RET Z
|
||||
LD DE,0x0190 ;Žâ¨¬ ¥¬ ®â ⥪.ᬥé. áâà ¨æã ¡ ©â®¢
|
||||
OR A
|
||||
SBC HL,DE
|
||||
JR NC,.HPgUp1
|
||||
LD A,B
|
||||
OR C
|
||||
DEC BC ;<3B>஢¥à塞,çâ® ¥ ¢ë¢ «¨«¨áì §
|
||||
JR NZ,.HPgUp1 ; ç «® ä ©« Z - ¢ë¢ «¨«¨áì
|
||||
INC BC
|
||||
LD L,C ;’®£¤ ᬥ饨¥ = 0
|
||||
LD H,B
|
||||
.HPgUp1 LD (FileShift),HL
|
||||
LD (FileShift+2),BC
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
OR A
|
||||
RET
|
||||
|
||||
;<3B> áâà ¨æã ¢¨§
|
||||
HPageDwnMs CALL HPageDwn
|
||||
RET C
|
||||
LD B,0x0A
|
||||
HDnMs1p PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ HDnMs1p
|
||||
HDnMs2p CALL HPageDwn
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR HDnMs2p
|
||||
|
||||
HPageDwn LD HL,(FileShift)
|
||||
LD BC,(FileShift+2)
|
||||
LD DE,0x0190 ;<3B>«îá㥬 ª ⥪.ᬥé.
|
||||
ADD HL,DE ;áâà ¨æã ¡ ©â®¢
|
||||
PUSH HL
|
||||
JR NC,.L1
|
||||
INC BC
|
||||
.L1 PUSH BC
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght) ;<3B>஢¥à塞,çâ® áâà ¨æ
|
||||
OR A ;¯®á«¥¤ïï
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
SBC HL,BC
|
||||
POP BC
|
||||
POP HL
|
||||
RET C ;‘ - ¥â
|
||||
JR NZ,.L2
|
||||
LD A,D
|
||||
OR E
|
||||
SCF
|
||||
RET Z ;Z - ¥â
|
||||
.L2 LD (FileShift),HL
|
||||
LD (FileShift+2),BC
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
OR A
|
||||
RET
|
||||
|
||||
;‚ ç «® ä ©«
|
||||
HBegFile LD HL,JUMPS.ResFire
|
||||
PUSH HL
|
||||
LD HL,(FileShift)
|
||||
LD BC,(FileShift+2)
|
||||
LD A,H ;<3B>஢¥à塞 ç «® ä ©«
|
||||
OR B
|
||||
OR L
|
||||
OR C
|
||||
RET Z ;Z - <20> ç «®
|
||||
LD HL,0x0000 ;‘¬¥é¥¨¥ = 0000
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),HL
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
RET
|
||||
|
||||
;‚ ª®¥æ ä ©«
|
||||
HEndFile LD HL,JUMPS.ResFire
|
||||
PUSH HL
|
||||
LD HL,(FileShift)
|
||||
LD BC,(FileShift+2)
|
||||
LD DE,0x0190
|
||||
ADD HL,DE
|
||||
JR NC,.L1
|
||||
INC BC
|
||||
.L1 EX DE,HL
|
||||
LD HL,(FileLenght) ;<3B>஢¥à塞,çâ® ¬ë ¯®á«¥¤¥©
|
||||
PUSH HL ;áâà ¨æ¥
|
||||
OR A
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
PUSH HL
|
||||
SBC HL,BC
|
||||
POP BC
|
||||
POP HL
|
||||
RET C ;‘ - ¢ ª®æ¥
|
||||
JR NZ,.L2
|
||||
LD A,D
|
||||
OR E
|
||||
RET Z ;Z - ¢ ª®æ¥
|
||||
.L2 LD DE,0x0190
|
||||
OR A
|
||||
SBC HL,DE ;<3B>à®áç¨âë¢ ¥¬ ᬥ饨¥ ¯®á«¥¤¥© áâà ¨æë
|
||||
JR NC,.L3
|
||||
DEC BC
|
||||
.L3 LD A,L ;‘¬¥é¥¨¥ ªà â® 16
|
||||
AND 0x0F
|
||||
JR Z,.HEnd1
|
||||
LD A,L
|
||||
AND 0xF0
|
||||
LD L,A
|
||||
LD DE,0x0010
|
||||
ADD HL,DE
|
||||
JR NC,.HEnd1
|
||||
INC BC
|
||||
.HEnd1 LD (FileShift),HL
|
||||
LD (FileShift+2),BC
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
RET
|
||||
|
||||
;--------------------------------------------------------------
|
||||
;<3B>à®æ¥¤ãà ¢¢®¤ ®¢®£® 㪠§ ⥫ï á¬¥é¥¨ï ¢ ä ©«¥
|
||||
HGoTo LD HL,(FileLenght)
|
||||
LD DE,(FileLenght+2)
|
||||
LD A,H ;<3B>஢¥à塞,çâ® ¤«¨
|
||||
OR D ;ä ©« ¡®«ìè¥ 16 ¡ ©â
|
||||
OR E
|
||||
JR NZ,HGoToOk
|
||||
LD A,L
|
||||
CP 0x11
|
||||
RET C ;¬¥ìè¥ 16¡ ©â
|
||||
HGoToOk LD HL,NewShift ;<3B>ãä¥à ¤«ï ¢¢®¤ ®¢®£® 㪠§.
|
||||
SUB A
|
||||
LD (CursPos+1),A ;<3B>®§¨æ¨ï ¢¢®¤ ¢ ¡ãä¥à¥
|
||||
INC A
|
||||
LD (BuffFlg),A
|
||||
LD A,(FileShift+3)
|
||||
CALL PutHexNumb ;‡ ®á¨¬ ¢ ¡ãä¥à ⥪ã饥 ᬥé.
|
||||
LD A,(FileShift+2) ;¢ ⥪á⮢®¬ ¢¨¤¥
|
||||
CALL PutHexNumb
|
||||
LD A,(FileShift+1)
|
||||
CALL PutHexNumb
|
||||
LD A,(FileShift)
|
||||
CALL PutHexNumb
|
||||
;‚뢮¤¨¬ íªà ¡ãä¥à ¨
|
||||
HGoToRet CALL PrintHGT ;¯¥ç â ¥¬ ªãàá®à
|
||||
HGoToLp HALT ;ަ¨¤ ¥¬ ¯à¥àë¢ ¨¥
|
||||
CALL ChangeCurs ;¯à®¢¥àï¬ á¬¥ã ªãàá®à
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
JP NZ,HGTescape
|
||||
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ¦ â¨ï ª« ¢¨è¨
|
||||
JR Z,HGoToLp ;Z - ¥ ¦ â
|
||||
LD A,B
|
||||
AND 0x3F
|
||||
JR NZ,HGoToLp
|
||||
LD A,E
|
||||
OR A
|
||||
JR Z,HGoToSys ;A=0 á¨áâ.ª« ¢¨è
|
||||
CP 0x0D
|
||||
JP Z,HGTenter ; ¦ â Enter
|
||||
CP 0x08
|
||||
JR Z,HGTdelete ; ¦ â BackSpace
|
||||
CP 0x1B
|
||||
JP Z,HGTescape ; ¦ â Esc
|
||||
CP 0x20
|
||||
JR C,HGoToLp ;ª®¤<0x20 ¬ ¥ ¯®¤å®¤¨â
|
||||
LD C,A ;á®åà. ASCII ª®¤
|
||||
LD A,0x00
|
||||
BuffFlg EQU $-1
|
||||
OR A
|
||||
CALL NZ,ClearBuff
|
||||
CursPos LD A,0x00 ;⥪.¯®§¨æ¨ï ¯¥ç ⨠¢ ¡ãä¥à¥
|
||||
LD B,A ;á®åà.⥪.¯®§.
|
||||
LD HL,NewShift ;‘¬¥é.®â ç « ¡ãä¥à
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD (HL),C ;‡ ®á¨¬ ª®¤ ¢ ¡ãä¥à
|
||||
LD A,B ;⥪.¯®§.
|
||||
CP 0x07 ;<3B>®§¨æ¨ï ¢ ¡ãä¥à¥ (7-¯®á«¥¤ïï)
|
||||
JR Z,HGoToRet ;¯¥ç â ¥¬ áâப㠨 ªãàá®à
|
||||
INC A ;á«¥¤.¯®§¨æ¨ï
|
||||
LD (CursPos+1),A
|
||||
JR HGoToRet ;¯¥ç â ¥¬ áâப㠨 ªãàá®à
|
||||
|
||||
ClearBuff LD HL,NewShift
|
||||
LD B,0x08
|
||||
LD A,0x20
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L1
|
||||
SUB A
|
||||
LD (BuffFlg),A
|
||||
RET
|
||||
|
||||
;‡ ¡®©
|
||||
HGTdelete SUB A
|
||||
LD (BuffFlg),A
|
||||
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
|
||||
OR A
|
||||
JR Z,HGoToLp ;0 - ¢ë室¨¬
|
||||
DEC A
|
||||
LD (CursPos+1),A ;¯à¥¤¨¤.¯®§¨æ¨ï
|
||||
LD HL,NewShift
|
||||
ADD A,L ;ᬥé.¢ ¡ãä¥à¥
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD (HL)," " ;‡ ¡¨¢ ¥¬ ¯à®¡¥«®¬
|
||||
JR HGoToRet
|
||||
|
||||
;á¨á⥬ ï ª« ¢¨è
|
||||
HGoToSys LD A,D
|
||||
CP 0x54 ;<-
|
||||
JR Z,HGTleft
|
||||
CP 0x56 ;->
|
||||
JR Z,HGTright
|
||||
JR HGoToLp
|
||||
|
||||
;Šãàá®à ¢«¥¢®
|
||||
HGTleft SUB A
|
||||
LD (BuffFlg),A
|
||||
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
|
||||
OR A
|
||||
JP Z,HGoToLp ;0 - ¢ë室¨¬
|
||||
DEC A
|
||||
LD (CursPos+1),A ;“¬¥ìè.¯®§.
|
||||
JP HGoToRet
|
||||
|
||||
HGTright SUB A
|
||||
LD (BuffFlg),A
|
||||
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
|
||||
CP 0x07
|
||||
JP Z,HGoToLp ;7 - ¯®á«¥¤ïï
|
||||
INC A
|
||||
LD (CursPos+1),A ;“¢¥«¨ç.¯®§.
|
||||
JP HGoToRet
|
||||
|
||||
;<3B>à®æ¥¤ãà ¢ë¢®¤ áâப¨ ¨ ªãàá®à
|
||||
PrintHGT LD HL,NewShift
|
||||
LD DE,0x0008
|
||||
LD BC,0x081C
|
||||
LD A,COLORP.PANEL + COLORI.FILES
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
LD A,(CursPos+1) ;<3B>®§¨æ¨ï ¢ë¢®¤ ªãàá®à
|
||||
INC A
|
||||
LD L,A
|
||||
LD H,0x00
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
LD HL,TCursor
|
||||
LD (HL),0xAB;"<"
|
||||
LD BC,0x011C
|
||||
LD A,COLORP.PANEL + COLORI.FILES
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
LD A,0x01 ;<3B>®¬¥à ¢ë¢¥¤¥®£® ªãàá®à
|
||||
LD (CurCurs),A
|
||||
LD A,0x06 ;ަ¨¤ ¨¥ ¤«ï á¬¥ë ªãàá®à
|
||||
LD (CurWait),A
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà á¬¥ë ªãàá®à
|
||||
ChangeCurs LD A,0x00 ;‡ ¤¥à¦ª ¬¥¦¤ã ᬥ®© ªãàá®à
|
||||
CurWait EQU $-1
|
||||
DEC A
|
||||
LD (CurWait),A
|
||||
RET NZ ;¥é¥ ¥ ¢à¥¬ï
|
||||
LD A,(CursPos+1)
|
||||
INC A
|
||||
LD L,A
|
||||
LD H,0x00 ;’¥ª.§ ª®¬¥áâ®
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
LD HL,NewShift ;‘¬¥é.¢ ¡ãä¥à¥
|
||||
LD A,(CursPos+1)
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L2
|
||||
INC H
|
||||
.L2 LD A,0x00 ;<3B>®¬¥à ⥪ã饣® ªãàá®à
|
||||
CurCurs EQU $-1
|
||||
XOR 0x01 ;Œ¥ï¥¬ ªãàá®à
|
||||
LD (CurCurs),A
|
||||
LD A,(HL)
|
||||
JR Z,.L1 ;<3B>¥ç â ¥¬
|
||||
LD A,0xAB;"<"
|
||||
.L1 LD HL,TCursor
|
||||
LD (HL),A
|
||||
LD BC,0x011C
|
||||
LD A,COLORP.PANEL + COLORI.FILES
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
LD A,0x0C ;ަ¨¤ ¨¥ ¤«ï á¬¥ë ªãàá®à
|
||||
LD (CurWait),A
|
||||
RET
|
||||
|
||||
TCursor DEFB " "
|
||||
|
||||
;Š« ¢¨è ENTER
|
||||
HGTenter SUB A ;<3B>ਠ®è¨¡ª¥ ¢¥à¥¬áï á ªãàá®à®¬
|
||||
LD (CursPos+1),A ;¢ ã«¥¢®© ¯®§¨æ¨¨
|
||||
LD BC,NewShift ;<3B>ãä¥à áâப¨
|
||||
CALL GetHexNum32 ;<3B>¥à¥¢®¤¨¬ ⥪áâ ¢ 32¡¨â ç¨á«®
|
||||
JP C,HGoToRet ;CY - á¨â ªá.®è¨¡ª
|
||||
LD C,E
|
||||
LD B,D
|
||||
LD A,L ;€¤à¥á ªà âë© 16
|
||||
AND 0xF0
|
||||
LD L,A
|
||||
EX DE,HL ;‘¬¥é.¢ BC+DE
|
||||
LD HL,(FileLenght) ;<3B>஢¥à塞,ç⮠ᬥ饨¥ ¢
|
||||
OR A ;¯à¥¤¥« å ä ©«
|
||||
SBC HL,DE
|
||||
LD HL,(FileLenght+2)
|
||||
SBC HL,BC
|
||||
JR C,HGTent ;CY-§ ¯à¥¤¥« ¬¨
|
||||
JR NZ,HGTent1 ;NZ-¢ ¯à¥¤¥« å
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,HGTent1 ;NZ-¢ ¯à¥¤¥« å
|
||||
HGTent LD HL,(FileLenght)
|
||||
LD BC,0x0010
|
||||
OR A
|
||||
SBC HL,BC ;ᬥé.=¯®á«¥¤ïï áâப ä ©« 16 ¡ ©â
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
JR NC,.L1
|
||||
DEC HL
|
||||
.L1 LD C,L
|
||||
LD B,H
|
||||
HGTent1 LD (FileShift),DE
|
||||
LD (FileShift+2),BC
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
RET
|
||||
|
||||
;<3B> ¦ â Escape
|
||||
HGTescape LD HL,NewShift ;<3B>ãä¥à áâப¨
|
||||
PUSH HL
|
||||
LD A,(FileShift+3) ;‡ ®á¨¬ ⥪.ᬥ饨¥
|
||||
CALL PutHexNumb
|
||||
LD A,(FileShift+2)
|
||||
CALL PutHexNumb
|
||||
LD A,(FileShift+1)
|
||||
CALL PutHexNumb
|
||||
LD A,(FileShift)
|
||||
CALL PutHexNumb
|
||||
POP HL
|
||||
LD DE,0x0008
|
||||
LD BC,0x081C
|
||||
LD A,COLORP.PANEL + COLORI.FILES
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
CALL JUMPS.ResFire
|
||||
RET ;‚ë室¨¬
|
||||
|
||||
NewShift DEFB " ",0
|
||||
|
||||
;<3B>à®æ¥¤ãà ª®¢¥àâ¨à®¢ ¨ï 32¡¨â®¢®£® è¥áâ.⥪á⮢®£® ç¨á«
|
||||
;<3B> ¢å®¤:
|
||||
; BC - €¤à¥á ¡ãä¥à á ⥪á⮬ (0-ª®¥æ ¡ãä¥à )
|
||||
;<3B> ¢ë室:
|
||||
; DE+HL - —¨á«® 32¡¨â
|
||||
; CY - á¨â ªá¨ç¥áª ï ®è¨¡ª
|
||||
GetHexNum32 LD HL,0x0000
|
||||
LD E,L
|
||||
LD D,H
|
||||
GetHNlp LD A,(BC)
|
||||
INC BC
|
||||
OR A
|
||||
RET Z
|
||||
CP " "
|
||||
JR Z,GetHNlp
|
||||
CP 0x61
|
||||
JR C,.L1
|
||||
SUB 0x20
|
||||
.L1 CP 0x30
|
||||
RET C
|
||||
CP 0x47
|
||||
CCF
|
||||
RET C
|
||||
SUB 0x30
|
||||
CP 0x0A
|
||||
JR C,GetHNum
|
||||
SUB 0x07
|
||||
CP 0x0A
|
||||
RET C
|
||||
GetHNum ADD HL,HL
|
||||
EX DE,HL
|
||||
ADC HL,HL
|
||||
EX DE,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
ADC HL,HL
|
||||
EX DE,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
ADC HL,HL
|
||||
EX DE,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
ADC HL,HL
|
||||
EX DE,HL
|
||||
OR L
|
||||
LD L,A
|
||||
JR GetHNlp
|
||||
1081
plugins/fnviewer/fviewer.a80
Normal file
1081
plugins/fnviewer/fviewer.a80
Normal file
File diff suppressed because it is too large
Load Diff
24
plugins/fnviewer/fvmain.a80
Normal file
24
plugins/fnviewer/fvmain.a80
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
include fn_version.a80
|
||||
include accel_sp.a80
|
||||
include ports_sp.a80
|
||||
include define_sp.a80
|
||||
include macros_sp.a80
|
||||
include dss_sp.a80
|
||||
include bios_sp.a80
|
||||
include mouse_sp.a80
|
||||
|
||||
org PluginOrg ; #C000 - Header lenght
|
||||
; Flex Navigator plugin header
|
||||
PluginStart: db "FLX-PLUG" ; Id
|
||||
dw 0x0000 ; LoadOffset
|
||||
dw 0x0000 ; EntryOffset
|
||||
db 0x00 ; PluginMode
|
||||
db 0x00,0x00,0x00 ; Reserved
|
||||
|
||||
PluginEntry: include fviewer.a80
|
||||
334
plugins/fnviewer/fvprn.a80
Normal file
334
plugins/fnviewer/fvprn.a80
Normal file
@ -0,0 +1,334 @@
|
||||
|
||||
; LAST UPDATE: 24.03.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FVPrintFile
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 168,96,304,50
|
||||
W_FILL 4,2,296,10,COLORI.BLACK
|
||||
W_TEXT 132,3,COLORI.WHITE,"Print file"
|
||||
W_BORDER 16,16,272,12
|
||||
W_FILL 18,17,268,10,COLORI.WHITE
|
||||
W_BUTTON 116,32,72,14
|
||||
W_TEXT 140,35,COLORP.HIGHGRAY,"Stop"
|
||||
W_END
|
||||
LD IX,PrintTab
|
||||
CALL JUMPS.TestCoords
|
||||
LD IX,ProcessPrn
|
||||
LD HL,(FileLenght)
|
||||
LD DE,(FileLenght+2)
|
||||
LD A,L
|
||||
LD L,H
|
||||
LD H,E
|
||||
LD E,D
|
||||
OR A
|
||||
JR Z,.InitPrn
|
||||
INC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.InitPrn
|
||||
INC E
|
||||
.InitPrn LD (IX+PROC.MAXL1),L
|
||||
LD (IX+PROC.MAXH1),H
|
||||
LD (IX+PROC.MAXL2),E
|
||||
LD (IX+PROC.MAXH2),0x00
|
||||
CALL JUMPS.InitProcess
|
||||
LD A,(ViewMode)
|
||||
OR A
|
||||
JP NZ,PrintHEX
|
||||
PrintASCII LD HL,0x0000
|
||||
LD (TempShift),HL
|
||||
LD (TempShift+2),HL
|
||||
LD HL,(FileLenght)
|
||||
LD BC,(FileLenght+2)
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
CALL InitFPages
|
||||
PrnASCII CALL TestFPages
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
CALL FVPrintCHAR
|
||||
JR C,PrnASCIIext
|
||||
CALL FVNxtPrnProc
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.L1
|
||||
DEC BC
|
||||
.L1 DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
OR B
|
||||
OR C
|
||||
JR NZ,PrnASCII
|
||||
CALL EndJob
|
||||
jr c,PrnASCIIext
|
||||
LD DE,0x0000
|
||||
CALL FVNxtPrnProc
|
||||
HALT
|
||||
HALT
|
||||
PrnASCIIext POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
PrintHEX LD HL,0x0000
|
||||
LD (TempShift),HL
|
||||
LD (TempShift+2),HL
|
||||
LD HL,LineBuffer
|
||||
LD BC,0x5020
|
||||
.L1 LD (HL),C
|
||||
INC L
|
||||
DJNZ .L1
|
||||
PrintHEXlp CALL PrnHEXline
|
||||
JR C,PrintHEXext
|
||||
LD HL,(TempShift)
|
||||
LD DE,0x0010 ;€¤à¥á ¤ ¬¯ +16
|
||||
ADD HL,DE
|
||||
LD (TempShift),HL
|
||||
LD HL,(TempShift+2)
|
||||
LD E,D
|
||||
ADC HL,DE
|
||||
LD (TempShift+2),HL
|
||||
JR PrintHEXlp
|
||||
|
||||
PrintHEXext CALL EndJob
|
||||
OR A
|
||||
JR NZ,PrnHEXe
|
||||
LD DE,0x0000
|
||||
CALL FVNxtPrnProc
|
||||
HALT
|
||||
HALT
|
||||
PrnHEXe
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
PrnHEXline LD IXL,0x00
|
||||
LD HL,(FileLenght)
|
||||
LD BC,(TempShift)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
LD BC,(TempShift+2)
|
||||
SBC HL,BC
|
||||
LD A,0x00
|
||||
RET C
|
||||
LD B,0x10
|
||||
JR NZ,PrnHLn
|
||||
LD A,D
|
||||
OR A
|
||||
JR NZ,PrnHLn
|
||||
OR E
|
||||
LD A,0x00
|
||||
SCF
|
||||
RET Z
|
||||
LD A,E
|
||||
CP B
|
||||
JR NC,PrnHLn
|
||||
LD B,E
|
||||
PrnHLn
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
CALL InitFPages
|
||||
LD HL,LineBuffer+1 ;¡ãä¥à áâப¨
|
||||
EXX
|
||||
LD HL,LineBuffer+0x3F ;¬¥áâ® ¤«ï ASCII ª®¤®¢
|
||||
EXX
|
||||
LD A,(TempShift+3) ;Š« ¤¥¬ ᬥ饨¥
|
||||
CALL PutHexNumb ;®â ç « ä ¨«
|
||||
LD A,(TempShift+2)
|
||||
CALL PutHexNumb
|
||||
LD A,(TempShift+1)
|
||||
CALL PutHexNumb
|
||||
LD A,(TempShift)
|
||||
CALL PutHexNumb
|
||||
LD (HL),":"
|
||||
INC L
|
||||
INC L
|
||||
PrnHLoop CALL TestFPages
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
PUSH AF
|
||||
CALL PutHexNumb
|
||||
POP AF
|
||||
INC L
|
||||
EXX
|
||||
CP 0x20
|
||||
JR NC,.L1
|
||||
LD A,"."
|
||||
.L1 LD (HL),A
|
||||
INC L
|
||||
EXX
|
||||
INC IXL
|
||||
LD A,IXL
|
||||
CP 0x04
|
||||
JR Z,.PrHNx1
|
||||
CP 0x08
|
||||
JR Z,.PrHNx1
|
||||
CP 0x0C
|
||||
JR NZ,.L2
|
||||
.PrHNx1 INC L
|
||||
.L2 DJNZ PrnHLoop
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD A,0x10
|
||||
SUB IXL
|
||||
JR Z,.FillP2
|
||||
LD B,A
|
||||
LD C,0x20
|
||||
.FillP1 LD (HL),C
|
||||
INC L
|
||||
LD (HL),C
|
||||
INC L
|
||||
INC L
|
||||
EXX
|
||||
LD (HL),0x20
|
||||
INC L
|
||||
EXX
|
||||
INC IXL
|
||||
LD A,IXL ;‚ æ¥âॠ2 ¯à®¡¥«
|
||||
CP 0x04
|
||||
JR Z,.FlPNx1
|
||||
CP 0x08
|
||||
JR Z,.FlPNx1
|
||||
CP 0x0C
|
||||
JR NZ,.L3
|
||||
.FlPNx1 INC L
|
||||
.L3 DJNZ .FillP1
|
||||
.FillP2 LD HL,LineBuffer
|
||||
LD B,0x50
|
||||
PrnHEX LD A,(HL)
|
||||
INC HL
|
||||
CALL FVPrintCHAR
|
||||
LD A,0x01
|
||||
RET C
|
||||
DJNZ PrnHEX
|
||||
LD A,0x0D
|
||||
CALL FVPrintCHAR
|
||||
RET C
|
||||
LD A,0x0A
|
||||
CALL FVPrintCHAR
|
||||
RET
|
||||
|
||||
FVPrintCHAR LD IXL,A
|
||||
PUSH IX
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
JR Z,.PrnCH1
|
||||
LD IX,PrintTab
|
||||
CALL JUMPS.TestCoords
|
||||
JR C,.PrnCH2
|
||||
.PrnCH1
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD A,E
|
||||
.PrnCH2 POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
POP IX
|
||||
RET C
|
||||
JR Z,FVPrnCHAR
|
||||
CP 0x1B
|
||||
SCF
|
||||
RET Z
|
||||
RES 5,A
|
||||
CP "S"
|
||||
JR NZ,FVPrnCHAR
|
||||
FVStopPrint SCF
|
||||
RET
|
||||
|
||||
FVPrnCHAR PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
LD A,IXL
|
||||
SPDSS DSSF.PRINT
|
||||
POP DE
|
||||
LD A,B
|
||||
EXX
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
RET NC
|
||||
HALT
|
||||
JR FVPrintCHAR
|
||||
|
||||
PrintTab DEFW 0x011C,0x0164,0x0080,0x008E,0x01,0x0000,FVStopPrint,0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
FVNxtPrnProc LD A,E
|
||||
OR A
|
||||
RET NZ
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
LD IX,ProcessPrn
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.NxtProc
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
.NxtProc CALL JUMPS.PrnProcess
|
||||
POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
RET
|
||||
|
||||
EndJob: PUSH AF
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH DE
|
||||
ld a,0x0C
|
||||
CALL FVPrintCHAR
|
||||
jr c,.print_cancel
|
||||
ld a,0x1B
|
||||
CALL FVPrintCHAR
|
||||
jr c,.print_cancel
|
||||
ld a,0x40
|
||||
CALL FVPrintCHAR
|
||||
jr c,.print_cancel
|
||||
POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP HL
|
||||
POP AF
|
||||
ret
|
||||
|
||||
.print_cancel: POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP HL
|
||||
POP AF
|
||||
SCF
|
||||
RET
|
||||
|
||||
ProcessPrn DEFW 0x00BA
|
||||
DEFW 0x0071
|
||||
DEFW 0x010C
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFB 0x4F
|
||||
780
plugins/fnviewer/fvtext.a80
Normal file
780
plugins/fnviewer/fvtext.a80
Normal file
@ -0,0 +1,780 @@
|
||||
|
||||
; LAST UPDATE: 25.03.2025 savelij
|
||||
|
||||
;[]---------------------------------------------------------[]
|
||||
PrnASCIIpage LD HL,PrintVProc
|
||||
PUSH HL
|
||||
LD HL,(FileShift)
|
||||
LD (TempShift),HL
|
||||
LD HL,(FileShift+2)
|
||||
LD (TempShift+2),HL
|
||||
LD B,0x1C
|
||||
PrnASCIIlp PUSH BC
|
||||
CALL PutASCIIline ;‚뢮¤¨¬ áâப㠢 ¡ãä ¨ íªà
|
||||
POP BC
|
||||
JR C,FillASCIIdn ;CY-‡ ª®ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
|
||||
LD A,B
|
||||
ADD A,0x08
|
||||
LD B,A
|
||||
CP 0xE4
|
||||
JR NZ,PrnASCIIlp
|
||||
LD HL,(TempShift)
|
||||
LD (FVNextShift),HL
|
||||
LD HL,(TempShift+2)
|
||||
LD (FVNextShift+2),HL
|
||||
SUB A
|
||||
LD (EmptyLines),A
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà
|
||||
FillASCIIdn LD A,0xE4
|
||||
SUB B
|
||||
LD (FLenASC),A
|
||||
JR Z,FASCIIe ;Z-¥â ®âç¨á⪨
|
||||
LD A,B
|
||||
LD (FPosASC),A
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_FILL 0,0,640,0,COLORI.PANEL
|
||||
W_END
|
||||
FLenASC EQU $-4
|
||||
FPosASC EQU $-8
|
||||
|
||||
FASCIIe LD HL,(TempShift)
|
||||
LD (FVNextShift),HL
|
||||
LD HL,(TempShift+2)
|
||||
LD (FVNextShift+2),HL
|
||||
LD A,(FLenASC)
|
||||
SRL A
|
||||
SRL A
|
||||
SRL A
|
||||
LD (EmptyLines),A
|
||||
RET
|
||||
|
||||
;<3B>à®æ¥¤ãà ¯¥ç ⨠⥪.áâப¨ ¢ ¡ãä¥à ¨ íªà
|
||||
PutASCIIline LD IXH,B
|
||||
LD A,(ASCIImode)
|
||||
OR A
|
||||
LD C,0x50
|
||||
JR Z,.L1
|
||||
LD C,0xF0
|
||||
.L1 PUSH BC
|
||||
LD HL,(FileLenght)
|
||||
LD BC,(TempShift)
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
LD BC,(TempShift+2)
|
||||
SBC HL,BC
|
||||
POP BC
|
||||
RET C
|
||||
LD B,0xF0
|
||||
JR NZ,PutLine
|
||||
LD A,D
|
||||
OR A
|
||||
JR NZ,PutLine
|
||||
OR E
|
||||
SCF
|
||||
RET Z
|
||||
LD B,E
|
||||
PutLine LD HL,LineBuffer
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
CALL InitFPages
|
||||
PutLnLoop CALL TestFPages
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
CP 0x0D
|
||||
JR NZ,PutLine1
|
||||
CALL TestFPages
|
||||
LD A,(DE)
|
||||
CP 0x0A
|
||||
JR NZ,PutLnExit
|
||||
INC DE
|
||||
JR PutLnExit
|
||||
|
||||
PutLine1 CP 0x0A
|
||||
JR Z,PutLnExit
|
||||
CP 0x09
|
||||
JR NZ,PutLine2
|
||||
PutTab LD (HL),0x20
|
||||
INC L
|
||||
LD A,L
|
||||
CP C
|
||||
JR Z,PutLineWrap;PutLine3
|
||||
AND 0x07
|
||||
JR NZ,PutTab
|
||||
JR PutLine3
|
||||
|
||||
PutLine2 CALL DecodeSymbol ; § ¬¥ï¥âáï NOP, ¥á«¨ ¥ 㦠¯¥à¥ª®¤¨à®¢ª
|
||||
LD (HL),A
|
||||
LD A,L
|
||||
CP C
|
||||
JR Z,PutLineWrap;PutLine3
|
||||
INC L
|
||||
PutLine3 DJNZ PutLnLoop
|
||||
INC DE
|
||||
PutLineWrap: dec de
|
||||
CALL TestFPages
|
||||
LD A,(DE)
|
||||
CP 0x0D
|
||||
JR NZ,PutLnExit
|
||||
INC DE
|
||||
CALL TestFPages
|
||||
LD A,(DE)
|
||||
CP 0x0A
|
||||
JR NZ,PutLnExit
|
||||
INC DE
|
||||
PutLnExit POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
CALL GetFPages
|
||||
LD A,(ASCIImode)
|
||||
OR A
|
||||
JR NZ,PutLineUWR
|
||||
LD A,0x50
|
||||
SUB L
|
||||
JR Z,PutLine4
|
||||
LD B,A
|
||||
LD A,0x20
|
||||
.L1 LD (HL),A
|
||||
INC L
|
||||
DJNZ .L1
|
||||
PutLine4 LD HL,LineBuffer
|
||||
LD DE,0x0000
|
||||
LD B,0x50
|
||||
LD C,IXH
|
||||
LD A,COLORP.PANEL + COLORI.FILES
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
OR A
|
||||
RET
|
||||
|
||||
DecodeSymbol: CP 0x80
|
||||
RET C
|
||||
PUSH HL
|
||||
SUB 0x80
|
||||
LD HL,Table866
|
||||
.table EQU $-2
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD A,(HL)
|
||||
POP HL
|
||||
RET
|
||||
|
||||
PutLineUWR LD C,IXH
|
||||
LD A,L
|
||||
LD (SaveUW),A
|
||||
LD A,(ASCIIaddX)
|
||||
ADD A,0x50
|
||||
SUB L
|
||||
JR Z,PutLnUW1
|
||||
JR C,PutLnUW1
|
||||
LD B,A
|
||||
LD A,0x20
|
||||
.L1 LD (HL),A
|
||||
INC L
|
||||
DJNZ .L1
|
||||
PutLnUW1 LD E,0x00
|
||||
LD B,0x50
|
||||
LD H,HIGH (LineBuffer)
|
||||
LD A,(ASCIIaddX)
|
||||
LD L,A ;ᬥ饨¥ ®â ç « áâப¨
|
||||
OR A
|
||||
JR Z,PutLnUW2
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
LD HL,SpaceLeft
|
||||
LD D,0x00
|
||||
LD B,0x01
|
||||
LD A,COLORP.PANEL + COLORI.YELLOW ;(Yellow)
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
POP BC
|
||||
POP HL
|
||||
INC L
|
||||
DEC B
|
||||
LD A,(ASCIIaddX)
|
||||
LD E,0x08
|
||||
PutLnUW2 LD D,A
|
||||
LD A,0x00
|
||||
SaveUW EQU $-1
|
||||
SUB D
|
||||
JR C,PutLnUW3
|
||||
CP 0x51
|
||||
JR C,PutLnUW3
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
LD HL,SpaceRight
|
||||
LD DE,0x0278
|
||||
LD B,0x01
|
||||
LD A,COLORP.PANEL + COLORI.YELLOW ;(Yellow)
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
DEC B
|
||||
PutLnUW3 LD D,0x00
|
||||
LD A,COLORP.PANEL + COLORI.FILES ;(Yellow)
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
OR A
|
||||
RET
|
||||
|
||||
SpaceLeft DEFB 0x1B
|
||||
SpaceRight DEFB 0x1A
|
||||
|
||||
;[]==========================================================[]
|
||||
ChCodePage: LD HL,ViewerBegin
|
||||
EX (SP),HL
|
||||
LD A,(CodePage)
|
||||
INC A
|
||||
CP 3
|
||||
JR C,.L1
|
||||
XOR A
|
||||
.L1 LD (CodePage), A
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
ChASCIImode LD HL,ViewerBegin
|
||||
EX (SP),HL
|
||||
LD A,(ASCIImode)
|
||||
XOR 0x01
|
||||
LD (ASCIImode),A
|
||||
RET Z
|
||||
SUB A
|
||||
LD (ASCIIaddX),A
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ScrollLeft LD A,(ASCIImode)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,(ASCIIaddX)
|
||||
OR A
|
||||
RET Z
|
||||
DEC A
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ScrollRght LD A,(ASCIImode)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,(ASCIIaddX)
|
||||
CP 0xA0
|
||||
RET Z
|
||||
INC A
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
THome LD A,(ASCIImode)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,(ASCIIaddX)
|
||||
OR A
|
||||
RET Z
|
||||
SUB A
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TEnd LD A,(ASCIImode)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,(ASCIIaddX)
|
||||
CP 0xA0
|
||||
RET Z
|
||||
LD A,0xA0
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TLineUpMs CALL TLineUp
|
||||
RET C
|
||||
LD B,0x0A
|
||||
TUpMs1 PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ TUpMs1
|
||||
TUpMs2 CALL TLineUp
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR TUpMs2
|
||||
TLineUp LD HL,(FileShift)
|
||||
LD DE,(FileShift+2)
|
||||
LD A,H
|
||||
OR L
|
||||
OR D
|
||||
OR E
|
||||
SCF
|
||||
RET Z
|
||||
CALL SearchUp
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),DE
|
||||
LD (TempShift),HL
|
||||
LD (TempShift+2),DE
|
||||
LD HL,EmptyLines
|
||||
LD A,(HL)
|
||||
DEC (HL)
|
||||
OR A
|
||||
JR NZ,TLineU1
|
||||
INC (HL)
|
||||
LD HL,(FVNextShift)
|
||||
LD DE,(FVNextShift+2)
|
||||
CALL SearchUp
|
||||
LD (FVNextShift),HL
|
||||
LD (FVNextShift+2),DE
|
||||
TLineU1 CALL ScrollSCRdown
|
||||
LD B,0x1C
|
||||
CALL PutASCIIline ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
|
||||
CALL PrintVProc
|
||||
OR A
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TLineDwnMs CALL TLineDwn
|
||||
RET C
|
||||
LD B,0x0A
|
||||
TDnMs1 PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ TDnMs1
|
||||
TDnMs2 CALL TLineDwn
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR TDnMs2
|
||||
|
||||
TLineDwn LD HL,(FVNextShift)
|
||||
LD DE,(FVNextShift+2)
|
||||
LD BC,(FileLenght)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD BC,(FileLenght+2)
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
CCF
|
||||
RET C
|
||||
LD HL,(FileShift)
|
||||
LD DE,(FileShift+2)
|
||||
CALL SearchDown
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),DE
|
||||
LD HL,(FVNextShift)
|
||||
LD DE,(FVNextShift+2)
|
||||
LD (TempShift),HL
|
||||
LD (TempShift+2),DE
|
||||
CALL ScrollSCRup
|
||||
LD B,0xDC
|
||||
CALL PutASCIIline ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
|
||||
LD HL,(TempShift)
|
||||
LD DE,(TempShift+2)
|
||||
LD (FVNextShift),HL
|
||||
LD (FVNextShift+2),DE
|
||||
CALL PrintVProc
|
||||
OR A
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TPageUpMs CALL TPageUp
|
||||
RET C
|
||||
LD B,0x0A
|
||||
TUpMs1p PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ TUpMs1p
|
||||
TUpMs2p CALL TPageUp
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR TUpMs2p
|
||||
|
||||
TPageUp LD HL,(FileShift)
|
||||
LD DE,(FileShift+2)
|
||||
LD A,H
|
||||
OR L
|
||||
OR D
|
||||
OR E
|
||||
SCF
|
||||
RET Z
|
||||
LD B,0x19
|
||||
TPageU1 PUSH BC
|
||||
CALL SearchUp
|
||||
POP BC
|
||||
JR C,TPageU2
|
||||
DJNZ TPageU1
|
||||
TPageU2 LD (FileShift),HL
|
||||
LD (FileShift+2),DE
|
||||
CALL PrnASCIIpage
|
||||
OR A
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TPageDwnMs CALL TPageDwn
|
||||
RET C
|
||||
LD B,0x0A
|
||||
TDnMs1p PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ TDnMs1p
|
||||
TDnMs2p CALL TPageDwn
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR TDnMs2p
|
||||
|
||||
TPageDwn LD HL,(FVNextShift)
|
||||
LD DE,(FVNextShift+2)
|
||||
LD BC,(FileLenght)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD BC,(FileLenght+2)
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
CCF
|
||||
RET C
|
||||
LD HL,(FVNextShift)
|
||||
LD (FileShift),HL
|
||||
LD HL,(FVNextShift+2)
|
||||
LD (FileShift+2),HL
|
||||
CALL PrnASCIIpage
|
||||
OR A
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TBegFile LD HL,JUMPS.ResFire
|
||||
PUSH HL
|
||||
LD HL,(FileShift)
|
||||
LD DE,(FileShift+2)
|
||||
LD A,H
|
||||
OR D
|
||||
OR L
|
||||
OR E
|
||||
RET Z
|
||||
LD HL,0x0000
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),HL
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TEndFile LD HL,JUMPS.ResFire
|
||||
PUSH HL
|
||||
LD HL,(FVNextShift)
|
||||
LD DE,(FVNextShift+2)
|
||||
LD BC,(FileLenght)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD BC,(FileLenght+2)
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
RET NC
|
||||
LD HL,(FileLenght)
|
||||
LD DE,(FileLenght+2)
|
||||
LD B,0x19
|
||||
TEndFl1 PUSH BC
|
||||
CALL SearchUp
|
||||
POP BC
|
||||
RET C
|
||||
DJNZ TEndFl1
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),DE
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
SearchUp LD B,0xF0
|
||||
LD A,D
|
||||
OR E
|
||||
JR NZ,.SearchUpBeg
|
||||
LD A,H
|
||||
OR A
|
||||
JR NZ,.SearchUpBeg
|
||||
OR L
|
||||
SCF
|
||||
RET Z
|
||||
LD B,L
|
||||
.SearchUpBeg
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD A,H ;‚뤥«ï¥¬ ®¬¥à áâà ¨æë
|
||||
RLA
|
||||
RL E
|
||||
RLA
|
||||
RL E
|
||||
LD D,HIGH (PagesList)
|
||||
LD A,(DE) ;’¥ª.áâà ¨æ
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES 7,H
|
||||
SET 6,H
|
||||
LD C,0x00
|
||||
LD IXL,C
|
||||
INC C
|
||||
DEC B
|
||||
DEC HL
|
||||
BIT 6,H
|
||||
JR NZ,.SrchUp0
|
||||
DEC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SET 6,H
|
||||
.SrchUp0 LD A,(HL)
|
||||
CP 0x0A
|
||||
JR NZ,.L3
|
||||
LD A,B
|
||||
OR A
|
||||
JR Z,.SrchUpEx
|
||||
INC C
|
||||
DEC B
|
||||
DEC HL
|
||||
BIT 6,H
|
||||
JR NZ,.SrchUp1
|
||||
DEC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SET 6,H
|
||||
.SrchUp1 LD A,(HL)
|
||||
.L3 CP 0x0D
|
||||
JR Z,.SearchUpLp
|
||||
DEC C
|
||||
INC B
|
||||
INC HL
|
||||
BIT 7,H
|
||||
JR Z,.SearchUpLp1
|
||||
INC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES 7,H
|
||||
SET 6,H
|
||||
JR .SearchUpLp1
|
||||
|
||||
.SearchUpLp LD A,B
|
||||
OR A
|
||||
JR Z,.SrchUpEx
|
||||
.SearchUpLp1 DEC HL
|
||||
BIT 6,H
|
||||
JR NZ,.SrchUp2
|
||||
DEC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
SET 6,H
|
||||
.SrchUp2 LD A,(HL)
|
||||
CP 0x0A
|
||||
JR Z,.SrchUpEx
|
||||
CP 0x0D
|
||||
JR Z,.SrchUpEx
|
||||
CP 0x09
|
||||
JR NZ,.L1
|
||||
ld a,7
|
||||
add a,c
|
||||
ld c,a
|
||||
ld a,7
|
||||
add a,IXL
|
||||
ld IXL,a
|
||||
ld a,b
|
||||
sub 7
|
||||
jr z,.SrchUpEx
|
||||
jr c,.SrchUpEx
|
||||
.L1 INC IXL
|
||||
INC C
|
||||
DJNZ .SearchUpLp1
|
||||
.SrchUpEx POP DE
|
||||
POP HL
|
||||
LD B,0x00
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD C,B
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD A,(ASCIImode)
|
||||
OR A
|
||||
RET NZ
|
||||
LD A,IXL
|
||||
CP 0x51
|
||||
CCF
|
||||
RET NC
|
||||
LD C,0x50
|
||||
.SrchUpEx0 ADD HL,BC
|
||||
JR NC,.L2
|
||||
INC DE
|
||||
.L2 SUB 0x50
|
||||
CP 0x51
|
||||
JR NC,.SrchUpEx0
|
||||
OR A
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
SearchDown LD (SrchHL),HL
|
||||
LD (SrchDE),DE
|
||||
LD A,(ASCIImode)
|
||||
OR A
|
||||
LD B,0x50
|
||||
JR Z,.L1
|
||||
LD B,0xF0
|
||||
.L1 PUSH BC
|
||||
LD C,L
|
||||
LD B,H
|
||||
LD HL,(FileLenght)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD C,E
|
||||
LD B,D
|
||||
EX DE,HL
|
||||
LD HL,(FileLenght+2)
|
||||
SBC HL,BC
|
||||
POP BC
|
||||
RET C
|
||||
JR NZ,.SearchDnBeg
|
||||
LD A,D
|
||||
OR A
|
||||
JR NZ,.SearchDnBeg
|
||||
OR E
|
||||
SCF
|
||||
RET Z
|
||||
LD B,E
|
||||
.SearchDnBeg
|
||||
LD HL,0x0000
|
||||
SrchHL EQU $-2
|
||||
LD DE,0x0000
|
||||
SrchDE EQU $-2
|
||||
GETPORT WINSP.CPU1
|
||||
PUSH AF
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD A,H ;‚뤥«ï¥¬ ®¬¥à áâà ¨æë
|
||||
RLA
|
||||
RL E
|
||||
RLA
|
||||
RL E
|
||||
LD D,HIGH (PagesList)
|
||||
LD A,(DE) ;’¥ª.áâà ¨æ
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES 7,H
|
||||
SET 6,H
|
||||
LD C,0x00
|
||||
DEC HL
|
||||
SearchDnLp INC C
|
||||
INC HL
|
||||
BIT 7,H
|
||||
JR Z,SrchDn0
|
||||
INC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES 7,H
|
||||
SET 6,H
|
||||
SrchDn0 LD A,(HL)
|
||||
CP 0x0D
|
||||
JR NZ,SrchE1
|
||||
INC HL
|
||||
BIT 7,H
|
||||
JR Z,SrchDn1
|
||||
INC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES 7,H
|
||||
SET 6,H
|
||||
SrchDn1 LD A,(HL)
|
||||
CP 0x0A
|
||||
JR NZ,SrchEEx
|
||||
INC C
|
||||
JR SrchEEx
|
||||
|
||||
SrchE1 CP 0x0A
|
||||
JR Z,SrchEEx
|
||||
DJNZ SearchDnLp
|
||||
INC HL
|
||||
BIT 7,H
|
||||
JR Z,SrchDnE
|
||||
INC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES 7,H
|
||||
SET 6,H
|
||||
SrchDnE LD A,(HL)
|
||||
CP 0x0D
|
||||
JR NZ,SrchEEx
|
||||
INC C
|
||||
INC HL
|
||||
BIT 7,H
|
||||
JR Z,SrchDE1
|
||||
INC E
|
||||
LD A,(DE)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RES 7,H
|
||||
SET 6,H
|
||||
SrchDE1 LD A,(HL)
|
||||
CP 0x0A
|
||||
JR NZ,SrchEEx
|
||||
INC C
|
||||
SrchEEx POP DE
|
||||
POP HL
|
||||
LD B,0x00
|
||||
ADD HL,BC
|
||||
LD C,B
|
||||
EX DE,HL
|
||||
ADC HL,BC
|
||||
EX DE,HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU1,,0
|
||||
OR A
|
||||
RET
|
||||
|
||||
Table866: db 0x3F,0x3F,0x27,0x3F,0x22,0x3A,0xC5,0xD8
|
||||
db 0x3F,0x25,0x3F,0x3C,0x3F,0x3F,0x3F,0x3F
|
||||
db 0x3F,0x27,0x27,0x22,0x22,0x07,0x2D,0x2D
|
||||
db 0x3F,0x54,0x3F,0x3E,0x3F,0x3F,0x3F,0x3F
|
||||
db 0xFF,0xF6,0xF7,0x3F,0xFD,0x3F,0xB3,0x15
|
||||
db 0xF0,0x63,0xF2,0x3C,0xBF,0x2D,0x52,0xF4
|
||||
db 0xF8,0x2B,0x49,0x69,0x3F,0xE7,0x14,0xFA
|
||||
db 0xF1,0xFC,0xF3,0x3E,0x3F,0x3F,0x3F,0xF5
|
||||
db 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87
|
||||
db 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F
|
||||
db 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97
|
||||
db 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F
|
||||
db 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7
|
||||
db 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF
|
||||
db 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7
|
||||
db 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF
|
||||
; koi8-r
|
||||
TableKoi: db 0xC4,0xB3,0xDA,0xBF,0xC0,0xD9,0xC3,0xB4
|
||||
db 0xC2,0xC1,0xC5,0xDF,0xDC,0xDB,0xDD,0xDE
|
||||
db 0xB0,0xB1,0xB2,0xF4,0xFE,0xF9,0xFB,0xF7
|
||||
db 0xF3,0xF2,0xFF,0xF5,0xF8,0xFD,0xFA,0xF6
|
||||
db 0xCD,0xBA,0xD5,0xF1,0xD6,0xC9,0xB8,0xB7
|
||||
db 0xBB,0xD4,0xD3,0xC8,0xBE,0xBD,0xBC,0xC6
|
||||
db 0xC7,0xCC,0xB5,0xF0,0xB6,0xB9,0xD1,0xD2
|
||||
db 0xCB,0xCF,0xD0,0xCA,0xD8,0xD7,0xCE,0xFC
|
||||
db 0xEE,0xA0,0xA1,0xE6,0xA4,0xA5,0xE4,0xA3
|
||||
db 0xE5,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE
|
||||
db 0xAF,0xEF,0xE0,0xE1,0xE2,0xE3,0xA6,0xA2
|
||||
db 0xEC,0xEB,0xA7,0xE8,0xED,0xE9,0xE7,0xEA
|
||||
db 0x9E,0x80,0x81,0x96,0x84,0x85,0x94,0x83
|
||||
db 0x95,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E
|
||||
db 0x8F,0x9F,0x90,0x91,0x92,0x93,0x86,0x82
|
||||
db 0x9C,0x9B,0x87,0x98,0x9D,0x99,0x97,0x9A
|
||||
21
plugins/help/build.bat
Normal file
21
plugins/help/build.bat
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\;d:\yad\sprinter_src\flexnav\src\
|
||||
|
||||
asl -U -L -C -x -olist tmp\header.lst -i %includes% header.a80 || goto error
|
||||
p2bin header.p ..\help.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
||||
30
plugins/help/header.a80
Normal file
30
plugins/help/header.a80
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
; LAST UPDATE: 26.03.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
include fn_version.a80
|
||||
include accel_sp.a80
|
||||
include ports_sp.a80
|
||||
include define_sp.a80
|
||||
include macros_sp.a80
|
||||
include dss_sp.a80
|
||||
include bios_sp.a80
|
||||
include mouse_sp.a80
|
||||
|
||||
WINSP_CPU EQU WINSP.CPU1
|
||||
WINSP_ADR EQU 0x4000
|
||||
|
||||
org PluginOrg ; #C000 - Header lenght
|
||||
; Flex Navigator plugin header
|
||||
PluginStart: db "FLX-PLUG" ; Id
|
||||
dw 0x0000 ; LoadOffset
|
||||
dw 0x0000 ; EntryOffset
|
||||
db 0x00 ; PluginMode
|
||||
db 0x00,0x00,0x00 ; Reserved
|
||||
|
||||
PluginEntry: include help.a80
|
||||
|
||||
HelpText: include help_t.a80
|
||||
HelpTextEnd:
|
||||
401
plugins/help/help.a80
Normal file
401
plugins/help/help.a80
Normal file
@ -0,0 +1,401 @@
|
||||
|
||||
; LAST UPDATE: 23.04.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
HelpR LD A,0x01
|
||||
LD (JUMPS.CMOSPrint),A
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 64,16,512,224
|
||||
W_FILL 4,2,504,10,COLORI.BLACK
|
||||
W_TEXT 248,3,COLORI.WHITE,"Help"
|
||||
W_BUTTON 220,206,72,14
|
||||
W_TEXT 250,209,COLORP.HIGHGRAY,"Ok"
|
||||
W_BORDER 8,16,496,187
|
||||
W_FILL 10,17,476,185,COLORI.WHITE
|
||||
W_ICONUPARROW 486,17
|
||||
W_ICONDOWNARROW 486,194
|
||||
W_END
|
||||
CALL InitHelpTxt
|
||||
CALL PrnHelpPg
|
||||
CALL JUMPS.ResFire
|
||||
HelpLoop LD IX,HelpTab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,HelpLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,HelpLoop
|
||||
LD A,E ; …-ASCII ª®¤
|
||||
CP 0x1B ; Esc
|
||||
JP Z,HelpExit
|
||||
CP 0x0D ; Enter
|
||||
JP Z,HelpExit
|
||||
RES 5,A
|
||||
CP 'O'
|
||||
JP Z,HelpExit
|
||||
OR A
|
||||
JR NZ,HelpLoop ; †¤¥¬ äãªæ¨®.ª« ¢¨è¨
|
||||
LD HL,HelpLoop
|
||||
PUSH HL
|
||||
LD A,D
|
||||
CP SC.X8 ; ‘â५ª ¢¢¥àå
|
||||
JP Z,HLineUp
|
||||
CP SC.X2 ; ‘â५ª ¢¨§
|
||||
JP Z,HLineDown
|
||||
CP SC.X9 ; PageUp
|
||||
JP Z,HPageUp
|
||||
CP SC.X3 ; PageDown
|
||||
JP Z,HPageDown
|
||||
CP SC.X7 ; Home
|
||||
JP Z,HHome
|
||||
CP SC.X1 ; End
|
||||
JP Z,HEnd
|
||||
RET
|
||||
|
||||
HelpExit
|
||||
WINDOWCLOSE
|
||||
SUB A
|
||||
LD (JUMPS.CMOSPrint),A
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
InitHelpTxt LD HL,HelpText
|
||||
LD (PageShift),HL
|
||||
LD HL,0x0000
|
||||
LD (CHLine),HL
|
||||
LD HL,HelpText
|
||||
LD DE,0x0000
|
||||
InHelp1 LD BC,0x1000
|
||||
SUB A
|
||||
CPIR
|
||||
INC DE
|
||||
LD A,(HL)
|
||||
INC A
|
||||
JR NZ,InHelp1
|
||||
DEC DE
|
||||
LD (EHLines),DE
|
||||
LD IX,HelpVBar
|
||||
JP JUMPS.InitScrollBar
|
||||
|
||||
PageShift DW 0
|
||||
NextShift DW 0
|
||||
HelpVBar DW 550 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 41 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 169 ; Max ¤«¨ áªà®«¡ à
|
||||
DW 0 ; ⥪.¤«¨ áªà®«¡ à
|
||||
DW HBarUp ; €¤à¥á ï祩ª¨ BarLeft
|
||||
DW HBarDn ; €¤à¥á ï祩ª¨ BarRight
|
||||
DW 23 ; Š®«-¢® áâப áâà ¨æ¥
|
||||
EHLines DW 0 ; ޡ饥 ª®«-¢® áâப
|
||||
CHLine DW 0 ; <20>¥à¢ ï áâப áâà ¨æ¥
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
PrnHelpPg LD HL,(PageShift)
|
||||
LD B,34
|
||||
PrnHPg1 PUSH BC
|
||||
CALL ClearHRect
|
||||
LD DE,80
|
||||
LD C,B
|
||||
LD B,D
|
||||
LD A,(HL)
|
||||
INC A
|
||||
LD A,240
|
||||
CALL NZ,JUMPS.PrnTxtLnIFF
|
||||
POP BC
|
||||
LD A,B
|
||||
ADD A,8
|
||||
LD B,A
|
||||
CP 218
|
||||
JR NZ,PrnHPg1
|
||||
LD (NextShift),HL
|
||||
LD IX,HelpVBar
|
||||
JP JUMPS.PrnVScrBar
|
||||
|
||||
ClearHRect PUSH HL
|
||||
PUSH BC
|
||||
GETPORT WINSP_CPU
|
||||
PUSH AF
|
||||
DI
|
||||
SETPORT WINSP_CPU,0x50
|
||||
LD HL,WINSP_ADR + 40
|
||||
LD IXL,B
|
||||
LD D,COLORP.WHITE + COLORI.WHITE
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0xE8
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD B,0x08
|
||||
ClHRect LD A,IXL
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.FILL
|
||||
LD (HL),D
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC IXL
|
||||
DJNZ ClHRect
|
||||
POP AF
|
||||
SETPORT WINSP_CPU,,0
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
EI
|
||||
POP BC
|
||||
POP HL
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
HHome LD HL,(PageShift)
|
||||
LD DE,HelpText
|
||||
OR A
|
||||
SBC HL,DE
|
||||
RET Z
|
||||
LD (PageShift),DE
|
||||
LD HL,0x0000
|
||||
LD (CHLine),HL
|
||||
JP PrnHelpPg
|
||||
|
||||
HEnd LD HL,(NextShift)
|
||||
LD A,(HL)
|
||||
INC A
|
||||
RET Z
|
||||
LD HL,HelpTextEnd
|
||||
DEC HL
|
||||
DEC HL
|
||||
PUSH HL
|
||||
LD DE,HelpText
|
||||
OR A
|
||||
SBC HL,DE
|
||||
LD C,L
|
||||
LD B,H
|
||||
POP HL
|
||||
LD DE,(EHLines)
|
||||
DEC HL
|
||||
LD A,0x17
|
||||
.L1 EX AF,AF'
|
||||
SUB A
|
||||
DEC DE
|
||||
CPDR
|
||||
JP PO,.L2
|
||||
EX AF,AF'
|
||||
DEC A
|
||||
JR NZ,.L1
|
||||
INC HL
|
||||
.L2 INC HL
|
||||
LD (PageShift),HL
|
||||
INC DE
|
||||
LD (CHLine),DE
|
||||
JP PrnHelpPg
|
||||
|
||||
HLineUp LD HL,(PageShift)
|
||||
LD DE,HelpText
|
||||
OR A
|
||||
SBC HL,DE
|
||||
RET Z
|
||||
LD C,L
|
||||
LD B,H
|
||||
ADD HL,DE
|
||||
DEC HL
|
||||
SUB A
|
||||
CPD
|
||||
JP PO,HLnUp0
|
||||
CPDR
|
||||
INC HL
|
||||
HLnUp0 INC HL
|
||||
LD (PageShift),HL
|
||||
LD DE,HelpTextEnd
|
||||
DEC DE
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
LD C,E
|
||||
LD B,D
|
||||
LD A,0x17
|
||||
HLnUp1 EX AF,AF'
|
||||
SUB A
|
||||
CPIR
|
||||
JP PO,HLnUp2
|
||||
EX AF,AF'
|
||||
DEC A
|
||||
JR NZ,HLnUp1
|
||||
HLnUp2 LD (NextShift),HL
|
||||
LD HL,(CHLine)
|
||||
DEC HL
|
||||
LD (CHLine),HL
|
||||
LD DE,0x222A
|
||||
CALL ScrHELPDnUp
|
||||
LD B,34
|
||||
CALL ClearHRect
|
||||
LD HL,(PageShift)
|
||||
LD DE,80
|
||||
LD C,B
|
||||
LD B,D
|
||||
LD A,(HL)
|
||||
INC A
|
||||
LD A,240
|
||||
CALL NZ,JUMPS.PrnTxtLnIFF
|
||||
LD IX,HelpVBar
|
||||
JP JUMPS.PrnVScrBar
|
||||
|
||||
HLineDown LD HL,(NextShift)
|
||||
LD A,(HL)
|
||||
INC A
|
||||
RET Z
|
||||
PUSH HL
|
||||
LD DE,HelpTextEnd
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
LD C,E
|
||||
LD B,D
|
||||
SUB A
|
||||
CPIR
|
||||
LD (NextShift),HL
|
||||
LD HL,(PageShift)
|
||||
LD DE,HelpTextEnd
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
LD C,E
|
||||
LD B,D
|
||||
SUB A
|
||||
CPIR
|
||||
LD (PageShift),HL
|
||||
LD HL,(CHLine)
|
||||
INC HL
|
||||
LD (CHLine),HL
|
||||
LD DE,0x2A22
|
||||
CALL ScrHELPDnUp
|
||||
POP HL
|
||||
LD B,210
|
||||
CALL ClearHRect
|
||||
LD DE,80
|
||||
LD C,B
|
||||
LD B,D
|
||||
LD A,(HL)
|
||||
INC A
|
||||
LD A,240
|
||||
CALL NZ,JUMPS.PrnTxtLnIFF
|
||||
LD IX,HelpVBar
|
||||
JP JUMPS.PrnVScrBar
|
||||
|
||||
;<3B> ¢å®¤:
|
||||
; D - Y ®âªã¤
|
||||
; … - Y ªã¤
|
||||
ScrHELPDnUp
|
||||
GETPORT WINSP_CPU
|
||||
PUSH AF
|
||||
DI
|
||||
SETPORT WINSP_CPU,0x50
|
||||
LD HL,WINSP_ADR + 40
|
||||
LD B,0xE8
|
||||
ACCEL ACCELCMD.SET_BUFFER
|
||||
LD A,0xB0
|
||||
ACCEL ACCELCMD.OFF
|
||||
ScHelp1 LD A,D
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD A,(HL)
|
||||
ACCEL ACCELCMD.OFF
|
||||
LD A,E
|
||||
SETPORT WINSP.Y_PORT,,0
|
||||
ACCEL ACCELCMD.COPY_VERT
|
||||
LD (HL),A
|
||||
ACCEL ACCELCMD.OFF
|
||||
INC HL
|
||||
DJNZ ScHelp1
|
||||
POP AF
|
||||
SETPORT WINSP_CPU,,0
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
EI
|
||||
RET
|
||||
|
||||
HPageUpM CALL HPageUp
|
||||
RET C
|
||||
LD B,0x0A
|
||||
HUpM1 PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ HUpM1
|
||||
HUpM2 CALL HPageUp
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR HUpM2
|
||||
|
||||
HPageUp LD HL,(PageShift)
|
||||
LD DE,HelpText
|
||||
OR A
|
||||
SBC HL,DE
|
||||
SCF
|
||||
RET Z
|
||||
LD C,L
|
||||
LD B,H
|
||||
ADD HL,DE
|
||||
LD DE,(CHLine)
|
||||
DEC HL
|
||||
LD A,0x18
|
||||
.L1 EX AF,AF'
|
||||
SUB A
|
||||
DEC DE
|
||||
CPDR
|
||||
JP PO,.L2
|
||||
EX AF,AF'
|
||||
DEC A
|
||||
JR NZ,.L1
|
||||
INC DE
|
||||
INC HL
|
||||
.L2 INC HL
|
||||
LD (PageShift),HL
|
||||
LD (CHLine),DE
|
||||
CALL PrnHelpPg
|
||||
OR A
|
||||
RET
|
||||
|
||||
HPageDownM CALL HPageDown
|
||||
RET C
|
||||
LD B,0x0A
|
||||
HDnM1 PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 0,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ HDnM1
|
||||
HDnM2 CALL HPageDown
|
||||
RET C
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
RET Z
|
||||
JR HDnM2
|
||||
|
||||
HPageDown LD HL,(NextShift)
|
||||
LD A,(HL)
|
||||
INC A
|
||||
SCF
|
||||
RET Z
|
||||
LD (PageShift),HL
|
||||
LD HL,(CHLine)
|
||||
LD DE,0x0017
|
||||
ADD HL,DE
|
||||
LD (CHLine),HL
|
||||
CALL PrnHelpPg
|
||||
OR A
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
HelpTab DW 550,566, 33, 41,%0000000000000011,0,HLineUp,0
|
||||
DW 550,566,210,218,%0000000000000011,0,HLineDown,0
|
||||
DW 550,566, 41, 0,%0000000000000000,0,HPageUpM,0
|
||||
HBarUp EQU $ - 10
|
||||
DW 550,566, 0,210,%0000000000000000,0,HPageDownM,0
|
||||
HBarDn EQU $ - 12
|
||||
DW 284,356,222,236,%0000000000100001,0,HelpExit,0
|
||||
DW 0, 64, 0,256,%0000000000100000,0,HelpExit,0
|
||||
DW 576,640, 0,256,%0000000000100000,0,HelpExit,0
|
||||
DW 0,640, 0, 16,%0000000000100000,0,HelpExit,0
|
||||
DW 0,640,240,256,%0000000000100000,0,HelpExit,0
|
||||
DW 0x8000
|
||||
137
plugins/help/help_t.a80
Normal file
137
plugins/help/help_t.a80
Normal file
@ -0,0 +1,137 @@
|
||||
|
||||
; LAST UPDATE: 26.03.2025 savelij
|
||||
|
||||
DB 0,0
|
||||
DB " Flex Navigator",0,0
|
||||
DB " version \{FLEX_VERS.NAVIGATOR}",0,0,0
|
||||
DB " Copyright (C) 2000, Enin Anton, St.-Petersburg, Russia",0
|
||||
DB " Copyright (C) 2023, Sprinter Team",0
|
||||
DB 0
|
||||
DB " All right reserved.",0,0,0,0
|
||||
DB " <20>㪮¢®¤á⢮ ¯®«ì§®¢ ⥫ï.",0,0,0,0
|
||||
DB " Žƒ‹€‚‹…<E280B9>ˆ…",0
|
||||
DB " ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ",0,0," ",9
|
||||
DB " ‚‚…„…<E2809E>ˆ…",0," ",9
|
||||
DB " <20>€—€‹Ž <20>€<EFBFBD>Ž’›",0," ",9
|
||||
DB " ”€‰‹Ž‚€Ÿ <20>€<EFBFBD>…‹œ",0," ",9
|
||||
DB " ‘’<E28098>ŽŠ€ DOS",0," ",9
|
||||
DB " Œ…<C592>ž -File-",0," ",9
|
||||
DB " Œ…<C592>ž -Select-",0," ",9
|
||||
DB " Œ…<C592>ž -Option-",0," ",9
|
||||
DB " Œ…<C592>ž -View-",0," ",9
|
||||
DB " Œ…<C592>ž -Config-",0," ",9
|
||||
DB " Œ…<C592>ž -About-",0," ",9
|
||||
DB " ”€‰‹› <20>€‘˜ˆ<CB9C>…<EFBFBD>ˆ‰",0,0
|
||||
DB " ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ",0,0,0," ",9
|
||||
DB " ‚‚…„…<E2809E>ˆ…",0,0
|
||||
DB " „®¡à® ¯®¦ «®¢ âì ¢ Flex Navigator - ¯à®£à ¬¬®¥ ®¡¥á¯¥ç¥¨¥, ª®â®à®¥ ®¡«¥£ç¨â",0
|
||||
DB "‚ èã à ¡®âã á ¤ 묨 ¢ ä®à¬ ⥠MS-DOS.",0,0,0," ",9
|
||||
DB " <20>€—€‹Ž <20>€<EFBFBD>Ž’›",0,0
|
||||
DB " Flex Navigator ¯à¥¤áâ ¢«ï¥â ᮡ®© ¯à¨¢ëçãî ä ©«®¢ãî ®¡®«®çªã ⨯ Norton",0
|
||||
DB "Commander ( PC) ¨«¨ Commander DOS ( Sprinter'¥), ⮫쪮 ¢ë¯®«¥ ¢",0
|
||||
DB "£à ä¨ç¥áª®¬ ¨â¥à䥩á¥. <20>¥ «¨§®¢ ë ¯à ªâ¨ç¥áª¨ ¢á¥ äãªæ¨¨ ä ©«®¢®©",0
|
||||
DB "®¡®«®çª¨ ¤«ï à ¡®âë ¢ DOS.",0
|
||||
DB " …᫨ ‚ë å®â¨â¥, ç⮡ë Flex Navigator ç¨ « ᢮î à ¡®âã ¯®á«¥ ¢ª«î票ï",0
|
||||
DB "ª®¬¯ìîâ¥à , â® ¢ ä ©«¥ SYSTEM.BAT ¥®¡å®¤¨¬® ¯à®¯¨á âì ¯®«ë© ¯ãâì á ¥£®",0
|
||||
DB "¨¬¥¥¬.",0,0,0," ",9
|
||||
DB " ”€‰‹Ž‚€Ÿ <20>€<EFBFBD>…‹œ",0,0
|
||||
DB " ” ©«®¢ ï ¯ ¥«ì ¯à¥¤áâ ¢«ï¥â ᮡ®© 㣫㡫¥¨¥ ᮠᯨ᪮¬ ä ©«®¢ ⥪ã饩",0
|
||||
DB "¤¨à¥ªâ®à¨¨ á ¯®«®á®© ¯à®ªàã⪨. <20>¥à¥å®¤ ®â ®¤®© ¯ ¥«¨ ª ¤à㣮© ®áãé¥á⢫ï¥âáï",0
|
||||
DB "¯à¨ ¯®¬®é¨ ª« ¢¨è¨ Tab. <20>®¬¥ïâì ¯ ¥«¨ ¬¥áâ ¬¨ ¬®¦® ª« ¢¨è¥© Ctrl+U.",0,0
|
||||
DB " Šãàá®àë¥ ª« ¢¨è¨ - ¤¢¨¦¥¨¥ ¯® ä ©« ¬",0
|
||||
DB " PageUp - áâà ¨æã ä ©«®¢ § ¤",0
|
||||
DB " PageDown - áâà ¨æã ä ©«®¢ ¢¯¥à¥¤",0
|
||||
DB " Home - ¢ ç «® á¯¨áª ä ©«®¢",0
|
||||
DB " End - ¢ ª®¥æ á¯¨áª ä ©«®¢",0
|
||||
DB " Alt+F1 - ᬥ¨âì ®á¨â¥«ì ¤«ï «¥¢®© ¯ ¥«¨",0
|
||||
DB " Alt+F2 - ᬥ¨âì ®á¨â¥«ì ¤«ï ¯à ¢®© ¯ ¥«¨",0
|
||||
DB " Alt+F3 - ¯à®á¬®âà ä ©« ¢áâà®¥ë¬ ¯à®á¬®âà騪®¬ ä ©«®¢",0
|
||||
DB " Alt+F4 - । ªâ¨à®¢ ¨¥ ä ©« ¢áâà®¥ë¬ à¥¤ ªâ®à®¬ ä ©«®¢",0
|
||||
DB " Shift+F3 - ¢¢¥á⨠¨¬ï ä ©« ¤«ï ¯à®á¬®âà ",0
|
||||
DB " Shift+F4 - ¢¢¥á⨠¨¬ï ä ©« ¤«ï । ªâ¨à®¢ ¨ï",0
|
||||
DB " Ctrl+\\ - ¯¥à¥ç¨â âì ª®à¥¢®© ª â «®£",0
|
||||
DB " F1 - ¯®¬®éì",0
|
||||
DB " F3 - ¯à®á¬®âà¥âì ä ©«",0
|
||||
DB " F4 - । ªâ¨à®¢ âì ä ©«",0
|
||||
DB " F5 - ª®¯¨à®¢ âì ä ©«(ë)",0
|
||||
DB " F6 - ¯¥à¥¨¬¥®¢ âì ä ©«",0
|
||||
DB " F8 - 㤠«¨âì ä ©«(ë)",0
|
||||
DB " F9 - áâப ¬¥î",0
|
||||
DB " F10 - ¢ë室 ¢ DOS",0
|
||||
DB " Alt+Enter - ¨ä®à¬ æ¨ï ® ä ©«¥",0
|
||||
DB " Ctrl+F9 - à ᯥç â âì ä ©« ¯à¨â¥à¥",0
|
||||
DB " + - ¬ ન஢ âì £à㯯ã ä ©«®¢",0
|
||||
DB " - - ६ ન஢ âì £à㯯ã ä ©«®¢",0
|
||||
DB " * - ®¡à â¨âì ¬ ન஢ªã",0
|
||||
DB " Ctrl+ - ¬ ન஢ âì ¢á¥ ä ©«ë",0
|
||||
DB " Ctrl- - ६ ન஢ âì ¢á¥ ä ©«ë",0
|
||||
DB " Alt+F10 - ®¡®¢¨âì ¤¥à¥¢® ª â «®£®¢",0
|
||||
DB " Ctrl+L - ¨ä®à¬ æ¨ï ® ⥪ã饬 ®á¨â¥«¥",0
|
||||
DB " Ctrl+F1 - ªà ⪨© ᯨ᮪ ä ©«®¢",0
|
||||
DB " Ctrl+F2 - ¯®«ë© ᯨ᮪ ä ©«®¢",0
|
||||
DB " Ctrl+F3 - á®àâ¨à®¢ª ¯® ¨¬¥¨",0
|
||||
DB " Ctrl+F4 - á®àâ¨à®¢ª ¯® à áè¨à¥¨î",0
|
||||
DB " Ctrl+F5 - á®àâ¨à®¢ª ¯® ¤ â ¬",0
|
||||
DB " Ctrl+F6 - á®àâ¨à®¢ª ¯® à §¬¥àã",0
|
||||
DB " Ctrl+F7 - ¡¥§ á®àâ¨à®¢ª¨",0
|
||||
DB " Ctrl+F8 - ¤¥à¥¢® ª â «®£®¢",0
|
||||
DB " Ctrl+F10 - ᯨ᮪ ¢á¥å ä ©«®¢",0
|
||||
DB " Ctrl+F11 - ᯨ᮪ § ¯ã᪠¥¬ëå ä ©«®¢",0
|
||||
DB " Ctrl+F12 - 䨫ìâà ¤«ï á¯¨áª ä ©«®¢",0
|
||||
DB " Alt+A..Z - ¡ëáâàë© ¯®¨áª ä ©« ",0,0,0," ",9
|
||||
DB " ‘’<E28098>ŽŠ€ DOS",0,0
|
||||
DB " ‘âப DOS á«ã¦¨â ¢ ®á®¢®¬ ¤«ï § ¯ãáª ä ©«®¢ á ¯ à ¬¥âà ¬¨. „«ï",0
|
||||
DB " ªâ¨¢¨§ 樨 áâப¨ ¥®¡å®¤¨¬® ¯®¯ áâì ¢ ¥¥ ªãàá®à®¬ ¬ëè¨ ¨«¨ ¦ âì ª« ¢¨èã",0
|
||||
DB "¥ ®â®áïéãîáï ª äãªæ¨® «ìë¬.",0,0
|
||||
DB " Ctrl+E - ¯à¥¤¨áâ®à¨ï áâப¨",0
|
||||
DB " Ctrl+Enter - ¯®¬¥áâ¨âì ¢ áâபã ⥪ã饥 ¨¬ï ä ©« ",0
|
||||
DB " Ctrl+[ - ¯®¬¥áâ¨âì ¢ áâப㠯®«ë© ¯ãâì «¥¢®© ¯ ¥«¨",0
|
||||
DB " Ctrl+] - ¯®¬¥áâ¨âì ¢ áâப㠯®«ë© ¯ãâì ¯à ¢®© ¯ ¥«¨",0,0,0," ",9
|
||||
DB " Œ…<C592>ž - File -",0,0
|
||||
DB " File info... - ¨ä®à¬ æ¨ï ® ⥪ã饬 ä ©«¥ (¨¬ï, ¤«¨ , ¤ â á®§¤ ¨ï,",0
|
||||
DB " âਡãâ, ¯¥à¢ë© ª« áâ¥à ä ©« )",0
|
||||
DB " Print - à ᯥç â âì ä ©« ¯à¨â¥à¥",0
|
||||
DB " Exit - ¢ë室 ¢ DOS",0,0,0," ",9
|
||||
DB " Œ…<C592>ž - Select -",0,0
|
||||
DB " Mark group... - ¬ ન஢ âì £à㯯ã ä ©«®¢",0
|
||||
DB " Unmark group... - ६ ન஢ âì £à㯯ã ä ©«®¢",0
|
||||
DB " Mark all - ¬ ન஢ âì ¢á¥ ä ©«ë",0
|
||||
DB " Unmark all - ६ ન஢ âì ¢á¥ ä ©«ë",0
|
||||
DB " Invert selection - ®¡à â¨âì ¢ë¤¥«¥¨¥",0,0,0," ",9
|
||||
DB " Œ…<C592>ž - Option -",0,0
|
||||
DB " Refresh tree - ®¡®¢¨âì ¤¥à¥¢® ª â «®£®¢",0
|
||||
DB " Disk info... - ¨ä®à¬ æ¨ï ® ⥪ã饬 ®á¨â¥«¥",0
|
||||
DB " System information... - ¨ä®à¬ æ¨ï ® á¨á⥬¥",0,0,0," ",9
|
||||
DB " Œ…<C592>ž - View -",0,0
|
||||
DB " Brief - ªà ⪨© ᯨ᮪ ä ©«®¢",0
|
||||
DB " Full - ¯®¤à®¡ë© ᯨ᮪ ä ©«®¢",0
|
||||
DB " Tree - ¤¥à¥¢® ª â «®£®¢",0
|
||||
DB " All files - ᯨ᮪ ¢á¥å ä ©«®¢",0
|
||||
DB " Execute files - ᯨ᮪ § ¯ã᪠¥¬ëå ä ©«®¢",0
|
||||
DB " *.* - ãáâ ®¢¨âì 䨫ìâà ¤«ï á¯¨áª ä ©«®¢",0
|
||||
DB " Filtr... - 䨫ìâà ¤«ï á¯¨áª ä ©«®¢",0
|
||||
DB " Name - á®àâ¨à®¢ âì ¯® ¨¬¥¨",0
|
||||
DB " Extention - á®àâ¨à®¢ âì ¯® à áè¨à¥¨î",0
|
||||
DB " Data - á®àâ¨à®¢ âì ¯® ¤ â¥",0
|
||||
DB " Size - á®àâ¨à®¢ âì ¯® à §¬¥àã",0
|
||||
DB " Unsorted - ¡¥§ á®àâ¨à®¢ª¨",0,0,0," ",9
|
||||
DB " Œ…<C592>ž - Config -",0,0
|
||||
DB " Setup... - ãáâ ®¢ª¨ ¤«ï Flex Navigator",0,0,0," ",9
|
||||
DB " Œ…<C592>ž - About -",0,0
|
||||
DB " Version... - ¨ä®à¬ æ¨ï ® ¢¥àᨨ Flex Navigator",0,0,0," ",9
|
||||
DB " ”€‰‹› <20>€‘˜ˆ<CB9C>…<EFBFBD>ˆ‰",0,0
|
||||
DB " „«ï ¯®¤ª«îç¥¨ï ¢¥è¨å ¯à®£à ¬¬ ¤«ï à ¡®âë á ä ©« ¬¨ áãé¥áâ¢ãîâ ä ©«ë",0
|
||||
DB "à áè¨à¥¨©. Flex Navigator ¨á¯®«ì§ã¥â âà¨ ä ©« à áè¨à¥¨©:",0,0
|
||||
DB " fn.ext - £« ¢ë© ä ©« à áè¨à¥¨©",0
|
||||
DB " fnview.ext - ä ©« à áè¨à¥¨© ¯à®áâମâà ",0
|
||||
DB " fnedit.ext - ä ©« à áè¨à¥¨© । ªâ®à ",0,0
|
||||
DB " ”®à¬ â ä ©«®¢ à áè¨à¥¨©:",0,0
|
||||
DB " ext: [drive]:\\[path]\\filename.ext parametr",0,0
|
||||
DB " £¤¥: ext - à áè¨à¥¨¥ ä ©« ",0
|
||||
DB " [drive]:\\[path]\\filename.ext - ¢¥èïï ¯®¤ª«îç ¥¬ ï ¯à®£à ¬¬ ",0
|
||||
DB " parametr - !.! ⥪ã饥 ¨¬ï ä ©« ",0
|
||||
DB " !: ⥪ã饥 ãáâனá⢮",0
|
||||
DB " !\\ ⥪ã騩 ¯ãâì",0,0,0
|
||||
DB " ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ",0
|
||||
DB " <20>®áá¨ï, £. • ¡ ஢áª, tolik.trek@gmail.com",0
|
||||
DB 0xFF
|
||||
2
plugins/test/Q_START.ENG
Normal file
2
plugins/test/Q_START.ENG
Normal file
@ -0,0 +1,2 @@
|
||||
1. Copy TEST.FLX file to the Sprinter
|
||||
2. Execute TEST.FLX in Flex Navigator.
|
||||
21
plugins/test/build.bat
Normal file
21
plugins/test/build.bat
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
@echo off
|
||||
|
||||
if not exist tmp md tmp
|
||||
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\sprinter_src\tools\
|
||||
set includes=d:\yad\svn\pentevo\rom;d:\yad\sprinter_src\;d:\yad\sprinter_src\flexnav\src\
|
||||
|
||||
asl -U -L -C -x -olist tmp\test.lst -i %includes% test.a80 || goto error
|
||||
p2bin test.p ..\test.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
echo ########################
|
||||
goto exit
|
||||
|
||||
:error
|
||||
echo #######################
|
||||
echo # -= Error Compile =- #
|
||||
echo #######################
|
||||
|
||||
:exit
|
||||
75
plugins/test/test.a80
Normal file
75
plugins/test/test.a80
Normal file
@ -0,0 +1,75 @@
|
||||
|
||||
; LAST UPDATE: 24.03.2025 savelij
|
||||
|
||||
;// DEVICE ZXSPECTRUM128
|
||||
;[]=======================================================================[]
|
||||
;
|
||||
; test.z80 -- test plugin for Flex Navigator v1.xx
|
||||
;
|
||||
; Created by Anton Enin 08-June-2002
|
||||
;
|
||||
; Last update 08-June-2002
|
||||
;
|
||||
; Copyright (C) 2002 R-lab
|
||||
;
|
||||
; This program should be compiled using z80asm
|
||||
; http://www.zxasm.narod.ru/
|
||||
;
|
||||
;[]=======================================================================[]
|
||||
|
||||
;// include '../fplugin.inc'
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
include fn_macros.a80
|
||||
include macros_sp.a80
|
||||
include dss_sp.a80
|
||||
|
||||
org PluginOrg ; #C000 - Header lenght
|
||||
PluginStart: ; Flex Navigator plugin header
|
||||
db "FLX-PLUG" ; Id
|
||||
dw 0x0000 ; LoadOffset
|
||||
dw PluginEntry ; EntryOffset
|
||||
db 0x00 ; PluginMode
|
||||
db 0x00, 0x00, 0x00 ; Reserved
|
||||
|
||||
PluginEntry:
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,80,192,96
|
||||
W_FILL 4,2,184,10,COLORI.BLACK
|
||||
W_TEXT 82,3,COLORI.WHITE,"Plugin"
|
||||
W_TEXT 16,20,COLORI.BLUE + COLORP.HIGHGRAY,"Flex Navigator v1.xx Plugin Test"
|
||||
W_TEXT 46,38,COLORP.HIGHGRAY,"Written by Enin Anton"
|
||||
W_TEXT 64,48,COLORP.HIGHGRAY,"June, 8 2002"
|
||||
W_TEXT 52,58,COLORP.HIGHGRAY,"Copyright (c) 2002"
|
||||
W_BUTTON 60,74,72,14
|
||||
W_TEXT 88,77,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
call JUMPS.ResFire
|
||||
.plugin_loop:
|
||||
ld ix, PluginMouseTab
|
||||
call JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
jr z, .plugin_loop
|
||||
ld a, b
|
||||
or a
|
||||
jr nz, .plugin_loop
|
||||
ld a, e
|
||||
cp 0x1B
|
||||
jr z, PluginExit
|
||||
cp 0x0D
|
||||
jr nz, .plugin_loop
|
||||
PluginExit:
|
||||
WINDOWCLOSE
|
||||
or a ; cf = 0
|
||||
ret
|
||||
|
||||
;[]=======================================================================[]
|
||||
PluginMouseTab:
|
||||
dw 0x011C, 0x0164, 0x009A, 0x00A8, 0x0021, 0x0000, PluginExit, 0x0000
|
||||
dw 0x0000, 0x00E0, 0x0000, 0x0100, 0x0020, 0x0000, PluginExit, 0x0000
|
||||
dw 0x01A0, 0x0280, 0x0000, 0x0100, 0x0020, 0x0000, PluginExit, 0x0000
|
||||
dw 0x0000, 0x0280, 0x0000, 0x0050, 0x0020, 0x0000, PluginExit, 0x0000
|
||||
dw 0x0000, 0x0280, 0x00B0, 0x0100, 0x0020, 0x0000, PluginExit, 0x0000
|
||||
dw 0x8000
|
||||
PluginEnd:
|
||||
;// savebin 'Build/FN/Plugins/test.flx',PluginStart,PluginEnd-PluginStart
|
||||
712
rez2_fnconfig.a80
Normal file
712
rez2_fnconfig.a80
Normal file
@ -0,0 +1,712 @@
|
||||
|
||||
; LAST UPDATE: 24.03.2025 savelij
|
||||
|
||||
PALITRA.RESERV EQU PALETTE + 0x34
|
||||
|
||||
;[]==========================================================[]
|
||||
SetupR
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD HL,PALETTE
|
||||
LD DE,TempPALETTE
|
||||
LD BC,0x0040
|
||||
LDIR
|
||||
LD A,(SavePanels)
|
||||
LD (SaveSav+1),A
|
||||
OR A
|
||||
LD A,0xFE
|
||||
JR Z,.L1
|
||||
INC A
|
||||
.L1 LD (SaveFlg),A
|
||||
SUB A
|
||||
LD (SaveFlag),A
|
||||
LD A,(AutoActivatePanel)
|
||||
LD (AutoActivatePanelFlag),A
|
||||
OR A
|
||||
LD A,0xFF
|
||||
JR Z,.L2
|
||||
DEC A
|
||||
.L2: LD (ActivateFlg),A
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 96,64,448,142
|
||||
; W_MAIN 32,32,448,142
|
||||
W_FILL 4,2,440,10,COLORI.BLACK
|
||||
W_TEXT 208,3,COLORI.WHITE,"Setup"
|
||||
W_BORDER 8,18,144,53
|
||||
W_FILL 10,19,140,51,COLORI.WHITE
|
||||
W_TEXT 14,21,COLORP.WHITE,"Panel"
|
||||
W_TEXT 14,29,COLORP.WHITE,"Files"
|
||||
W_TEXT 14,37,COLORP.WHITE,"Selected files"
|
||||
W_TEXT 14,45,COLORP.WHITE,"Invert background"
|
||||
W_TEXT 14,53,COLORP.WHITE,"Invert foreground"
|
||||
W_TEXT 14,61,COLORP.WHITE,"Invert foreground (select)"
|
||||
W_TEXT 164,24,COLORP.HIGHGRAY,"R:"
|
||||
W_BORDER 176,22,164,10
|
||||
W_ICONLEFTARROW 178,23
|
||||
W_ICONRIGHTARROW 322,23
|
||||
W_TEXT 164,40,COLORP.HIGHGRAY,"G:"
|
||||
W_BORDER 176,38,164,10
|
||||
W_ICONLEFTARROW 178,39
|
||||
W_ICONRIGHTARROW 322,39
|
||||
W_TEXT 164,56,COLORP.HIGHGRAY,"B:"
|
||||
W_BORDER 176,54,164,10
|
||||
W_ICONLEFTARROW 178,55
|
||||
W_ICONRIGHTARROW 322,55
|
||||
W_BORDER 372,23,64,40
|
||||
W_HORIZLINE 4,75,440
|
||||
W_BORDER 16,81,20,11
|
||||
W_FILL 18,82,16,9,COLORI.WHITE
|
||||
W_TEXT 20,83,COLORP.WHITE,"\0"
|
||||
ActivateFlg EQU $-2
|
||||
W_TEXT 40,84,COLORP.HIGHGRAY,"activate panel in which changed drive"
|
||||
W_BORDER 16,99,20,11
|
||||
W_FILL 18,100,16,9,COLORI.WHITE
|
||||
W_TEXT 20,101,COLORP.WHITE,"\0"
|
||||
SaveFlg EQU $-2
|
||||
W_TEXT 40,102,COLORP.HIGHGRAY,"save Information about panels"
|
||||
W_BUTTON 360,98,72,14
|
||||
W_TEXT 384,101,COLORP.HIGHGRAY,"Save"
|
||||
W_HORIZLINE 4,115,440
|
||||
W_BUTTON 272,120,72,14
|
||||
W_TEXT 292,123,COLORP.HIGHGRAY,"Cancel"
|
||||
W_BUTTON 360,120,72,14
|
||||
W_TEXT 390,123,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
|
||||
SUB A
|
||||
LD (CurElement),A
|
||||
CALL SetSetupInv
|
||||
LD IX,BarRed
|
||||
CALL InitScrollBar
|
||||
LD IX,BarGreen
|
||||
CALL InitScrollBar
|
||||
LD IX,BarBlue
|
||||
CALL InitScrollBar
|
||||
CALL InitElement
|
||||
SetupLoop LD IX,SetupTab
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,SetupLoop
|
||||
LD A,B
|
||||
AND 0x3F
|
||||
JR Z,SetupLoop0
|
||||
BIT 4,B
|
||||
JR NZ,SetupLoop
|
||||
BIT 5,B
|
||||
JR Z,SetupLoop
|
||||
LD HL,SetupLoop
|
||||
PUSH HL
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP SC.R
|
||||
JP Z,InputRED
|
||||
CP SC.G
|
||||
JP Z,InputGREEN
|
||||
CP SC.B
|
||||
JP Z,InputBLUE
|
||||
RET
|
||||
|
||||
SetupLoop0 LD A,B
|
||||
AND 0xC0
|
||||
JR Z,SetupLoop1
|
||||
LD HL,SetupLoop
|
||||
PUSH HL
|
||||
LD A,E
|
||||
AND 0x5F
|
||||
CP 'R'
|
||||
JP Z,DecRED
|
||||
CP 'G'
|
||||
JP Z,DecGREEN
|
||||
CP 'B'
|
||||
JP Z,DecBLUE
|
||||
RET
|
||||
|
||||
SetupLoop1 LD A,E
|
||||
RES 5,A
|
||||
CP 0x1B
|
||||
JP Z,SetupCancel
|
||||
CP 0x0D
|
||||
JP Z,SetupOkey
|
||||
CP 'C'
|
||||
JP Z,SetupCancel
|
||||
CP 'O'
|
||||
JP Z,SetupOkey
|
||||
LD HL,SetupLoop
|
||||
PUSH HL
|
||||
CP 'S'
|
||||
JP Z,SaveSetup
|
||||
CP 'R'
|
||||
JP Z,IncRED
|
||||
CP 'G'
|
||||
JP Z,IncGREEN
|
||||
CP 'B'
|
||||
JP Z,IncBLUE
|
||||
CP 'I'
|
||||
JP Z,ChSavePan
|
||||
CP 'A'
|
||||
JP Z,ChActivatePan
|
||||
OR A
|
||||
RET NZ
|
||||
LD A,D
|
||||
CP SC.X8
|
||||
JP Z,BoxUp
|
||||
CP SC.X2
|
||||
JP Z,BoxDown
|
||||
CP SC.X7
|
||||
JP Z,BoxHome
|
||||
CP SC.X1
|
||||
JP Z,BoxEnd
|
||||
CP SC.X9
|
||||
JP Z,BoxHome
|
||||
CP SC.X3
|
||||
JP Z,BoxEnd
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
SaveSetup CALL SetClock
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDISK
|
||||
POP IY
|
||||
LD HL,WorkBuffer
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDIR
|
||||
POP IY
|
||||
LD HL,FlexDIRECTORY
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
PUSH AF
|
||||
CALL C,DOSError
|
||||
POP AF
|
||||
JP C,SetupSaveEx
|
||||
LD HL,SetupName
|
||||
PUSH IY
|
||||
SPDSS DSSF.CREATE,,0
|
||||
POP IY
|
||||
PUSH AF
|
||||
CALL C,DOSError
|
||||
POP AF
|
||||
JR C,SetupSaveEx
|
||||
EX AF,AF'
|
||||
LD HL,SetupHead
|
||||
LD DE,WorkBuffer+0x100
|
||||
LD BC,11
|
||||
LDIR
|
||||
LD HL,TempPALETTE
|
||||
LD BC,0x0040
|
||||
LDIR
|
||||
LD A,(SavePanels)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
OR A
|
||||
JR Z,SvSetup
|
||||
LD A,(MouseFlag)
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD HL,LeftPanel
|
||||
PUSH HL
|
||||
LDI
|
||||
LDI
|
||||
LDI
|
||||
POP HL
|
||||
LD BC,PANEL.FILEMASK
|
||||
ADD HL,BC
|
||||
SUB A
|
||||
.L1 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD HL,RightPanel
|
||||
PUSH HL
|
||||
LDI
|
||||
LDI
|
||||
LDI
|
||||
POP HL
|
||||
LD BC,PANEL.FILEMASK
|
||||
ADD HL,BC
|
||||
SUB A
|
||||
.L2 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
LD (DE),A
|
||||
INC DE
|
||||
SvSetup ld a,(AutoActivatePanelFlag)
|
||||
ld (de),a
|
||||
inc de
|
||||
LD HL,WorkBuffer+0x100
|
||||
OR A
|
||||
EX DE,HL
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
EX AF,AF'
|
||||
PUSH IY
|
||||
PUSH AF
|
||||
SPDSS DSSF.WRITE
|
||||
POP AF
|
||||
SPDSS DSSF.CLOSE
|
||||
POP IY
|
||||
LD A,0x01
|
||||
LD (SaveFlag),A
|
||||
SetupSaveEx LD HL,WorkBuffer
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
JP SetMouse
|
||||
|
||||
SetupHead DEFB 0xAE,"FlexSetup",0
|
||||
SetupName DZ FILENAME.FN_INI
|
||||
|
||||
;--------------------------------------------------------------
|
||||
SetupCancel
|
||||
WINDOWCLOSE
|
||||
SaveSav LD A,0x00
|
||||
LD (SavePanels),A
|
||||
JR SetupExit
|
||||
|
||||
SetupOkey
|
||||
WINDOWCLOSE
|
||||
LD HL,TempPALETTE
|
||||
LD DE,PALETTE
|
||||
LD BC,0x0040
|
||||
PUSH DE
|
||||
LDIR
|
||||
POP HL
|
||||
LD DE,0x1000
|
||||
SPBIOS BIOSF.PIC_GET_PAL,0xFF,0
|
||||
LD A,(AutoActivatePanelFlag)
|
||||
LD (AutoActivatePanel),A
|
||||
SetupExit LD A,(SaveFlag)
|
||||
OR A
|
||||
RET Z
|
||||
LD IX,LeftPanel
|
||||
LD HL,LeftPanel + PANEL.CURRPATH
|
||||
LD DE,FlexDIRECTORY
|
||||
LD A,(DE)
|
||||
SetRef1 CP (HL)
|
||||
JR NZ,SetRef2
|
||||
INC HL
|
||||
INC DE
|
||||
LD A,(DE)
|
||||
OR A
|
||||
JR NZ,SetRef1
|
||||
CP (HL)
|
||||
CALL Z,RefreshSetup
|
||||
SetRef2 LD IX,RightPanel
|
||||
LD HL,RightPanel + PANEL.CURRPATH
|
||||
LD DE,FlexDIRECTORY
|
||||
LD A,(DE)
|
||||
SetRef3 CP (HL)
|
||||
JR NZ,SetRef4
|
||||
INC HL
|
||||
INC DE
|
||||
LD A,(DE)
|
||||
OR A
|
||||
JR NZ,SetRef3
|
||||
CP (HL)
|
||||
CALL Z,RefreshSetup
|
||||
SetRef4 PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
RET
|
||||
|
||||
RefreshSetup BIT VIEWFLAG.B_TREE,(IX+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
POP IY
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
JR C,RefrErr
|
||||
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
|
||||
RefrErr POP IY
|
||||
RET
|
||||
|
||||
SaveFlag DEFB 0x00
|
||||
|
||||
;--------------------------------------------------------------
|
||||
BoxUp LD A,(CurElement)
|
||||
DEC A
|
||||
RET M
|
||||
JR BoxKeyExt
|
||||
|
||||
BoxDown LD A,(CurElement)
|
||||
INC A
|
||||
CP 0x06
|
||||
RET Z
|
||||
JR BoxKeyExt
|
||||
|
||||
BoxHome LD A,(CurElement)
|
||||
OR A
|
||||
RET Z
|
||||
SUB A
|
||||
JR BoxKeyExt
|
||||
|
||||
BoxEnd LD A,(CurElement)
|
||||
CP 0x05
|
||||
RET Z
|
||||
LD A,0x05
|
||||
JR BoxKeyExt
|
||||
|
||||
NewElement LD A,(CurElement)
|
||||
LD C,A
|
||||
LD A,E
|
||||
SUB 0x55
|
||||
SRL A
|
||||
SRL A
|
||||
SRL A
|
||||
CP C
|
||||
RET Z
|
||||
BoxKeyExt PUSH AF
|
||||
CALL ResSetupInv
|
||||
POP AF
|
||||
LD (CurElement),A
|
||||
CALL SetSetupInv
|
||||
JP InitElement
|
||||
|
||||
;--------------------------------------------------------------
|
||||
ChSavePan LD HL,SavePanTxt
|
||||
LD A,(SavePanels)
|
||||
XOR 0x01
|
||||
LD (SavePanels),A
|
||||
XOR 0x01
|
||||
INC A
|
||||
NEG
|
||||
LD (HL),A
|
||||
LD DE,0x0074
|
||||
LD BC,0x00A5
|
||||
LD A,0xF0
|
||||
CALL PrnTxtLnIFF
|
||||
JP ResFire
|
||||
|
||||
SavePanTxt DEFB 0x00,0x00
|
||||
|
||||
;--------------------------------------------------------------
|
||||
ChActivatePan: LD HL,SavePanTxt
|
||||
LD A,0
|
||||
AutoActivatePanelFlag EQU $-1
|
||||
XOR 0x01
|
||||
LD (AutoActivatePanelFlag),A
|
||||
INC A
|
||||
NEG
|
||||
LD (HL),A
|
||||
LD DE,0x0074
|
||||
LD BC,0x0093
|
||||
LD A,0xF0
|
||||
CALL PrnTxtLnIFF
|
||||
JP ResFire
|
||||
|
||||
;--------------------------------------------------------------
|
||||
DecRED LD HL,PALITRA.RESERV + 2
|
||||
LD DE,PrintRED
|
||||
JR DecCOLOR
|
||||
|
||||
IncRED LD HL,PALITRA.RESERV + 2
|
||||
LD DE,PrintRED
|
||||
JR IncCOLOR
|
||||
|
||||
DecGREEN LD HL,PALITRA.RESERV + 1
|
||||
LD DE,PrintGREEN
|
||||
JR DecCOLOR
|
||||
|
||||
IncGREEN LD HL,PALITRA.RESERV + 1
|
||||
LD DE,PrintGREEN
|
||||
JR IncCOLOR
|
||||
|
||||
DecBLUE LD HL,PALITRA.RESERV
|
||||
LD DE,PrintBLUE
|
||||
JR DecCOLOR
|
||||
|
||||
IncBLUE LD HL,PALITRA.RESERV
|
||||
LD DE,PrintBLUE
|
||||
JR IncCOLOR
|
||||
|
||||
DecCOLOR LD A,(HL)
|
||||
OR A
|
||||
RET Z
|
||||
DEC A
|
||||
LD (HL),A
|
||||
JR DecIncCOLOR
|
||||
|
||||
IncCOLOR LD A,(HL)
|
||||
INC A
|
||||
RET Z
|
||||
LD (HL),A
|
||||
DecIncCOLOR LD HL,PrnPALETTE
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD HL,ElementColor
|
||||
LD A,(CurElement)
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD A,(HL)
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
LD DE,TempPALETTE
|
||||
ADD A,E
|
||||
LD E,A
|
||||
JR NC,.L2
|
||||
INC D
|
||||
.L2 LD HL,PALITRA.RESERV
|
||||
LDI
|
||||
LDI
|
||||
LDI
|
||||
RET
|
||||
|
||||
;--------------------------------------------------------------
|
||||
InputRED LD HL,PALITRA.RESERV + 2
|
||||
LD DE,PrintRED
|
||||
LD BC,0x0058
|
||||
JR InputColor
|
||||
|
||||
InputGREEN LD HL,PALITRA.RESERV + 1
|
||||
LD DE,PrintGREEN
|
||||
LD BC,0x0068
|
||||
JR InputColor
|
||||
|
||||
InputBLUE LD HL,PALITRA.RESERV
|
||||
LD DE,PrintBLUE
|
||||
LD BC,0x0078
|
||||
InputColor LD (ColorY),BC
|
||||
LD BC,DecIncCOLOR
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD DE,ColText
|
||||
LD A,(HL)
|
||||
CALL ConvNumTxt8
|
||||
SUB A
|
||||
LD (DE),A
|
||||
LD A,E
|
||||
SUB LOW (ColText)
|
||||
LD (ColLen),A
|
||||
InpAg LD IX,ColorStr
|
||||
LD HL,EmptyTab
|
||||
CALL InputLine
|
||||
POP DE
|
||||
POP HL
|
||||
RET C
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
LD DE,ColText
|
||||
CALL ConvTxtNum16
|
||||
JR C,InpAg
|
||||
LD A,H
|
||||
OR A
|
||||
JR NZ,InpAg
|
||||
LD A,L
|
||||
POP DE
|
||||
POP HL
|
||||
LD (HL),A
|
||||
RET
|
||||
|
||||
ColorStr DEFB 0x03,0x00,0x00,0x00
|
||||
ColLen DEFB 0x00
|
||||
DEFW 0x01B8
|
||||
ColorY DEFW 0x0000
|
||||
DEFW 0x001A
|
||||
DEFB 0x80
|
||||
ColText DUPL 0x04,0x00
|
||||
|
||||
;--------------------------------------------------------------
|
||||
CurElement DEFB 0x00
|
||||
SavePanels DEFB 0x01
|
||||
ElementColor DB COLORI.PANEL,COLORI.FILES,COLORI.SELECTFILES
|
||||
DB COLORI.INVERTPAPER,COLORI.INVERTINK,COLORI.INVSELFILES
|
||||
|
||||
BarRed DEFW 0x0122 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0057 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0080 ; Max ¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ; ⥪.¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ; €¤à¥á ï祩ª¨ BarLeft
|
||||
DEFW 0x0000 ; €¤à¥á ï祩ª¨ BarRight
|
||||
DEFW 0x0198 ; Š®«-¢® ä ©«®¢ áâà ¨æ¥
|
||||
DEFW 0x0FF0 ; ޡ饥 ª®«-¢® ä ©«®¢
|
||||
CRed DEFW 0x0000 ; <20>¥à¢ë© ä ©« áâà ¨æ¥
|
||||
|
||||
BarGreen DEFW 0x0122 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0067 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0080 ; Max ¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ; ⥪.¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ; €¤à¥á ï祩ª¨ BarLeft
|
||||
DEFW 0x0000 ; €¤à¥á ï祩ª¨ BarRight
|
||||
DEFW 0x0198 ; Š®«-¢® ä ©«®¢ áâà ¨æ¥
|
||||
DEFW 0x0FF0 ; ޡ饥 ª®«-¢® ä ©«®¢
|
||||
CGreen DEFW 0x0000 ; <20>¥à¢ë© ä ©« áâà ¨æ¥
|
||||
|
||||
BarBlue DEFW 0x0122 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0077 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0080 ; Max ¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ; ⥪.¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ; €¤à¥á ï祩ª¨ BarLeft
|
||||
DEFW 0x0000 ; €¤à¥á ï祩ª¨ BarRight
|
||||
DEFW 0x0198 ; Š®«-¢® ä ©«®¢ áâà ¨æ¥
|
||||
DEFW 0x0FF0 ; ޡ饥 ª®«-¢® ä ©«®¢
|
||||
CBlue DEFW 0x0000 ; <20>¥à¢ë© ä ©« áâà ¨æ¥
|
||||
|
||||
TempPALETTE DUPL 0x40,0
|
||||
|
||||
;--------------------------------------------------------------
|
||||
ResSetupInv LD DE,(COLORP.BLUE + COLORI.WHITE) << 8 | (COLORP.WHITE + COLORI.BLACK) ;0x4FF0
|
||||
JR SetupInvert
|
||||
|
||||
SetSetupInv LD DE,(COLORP.WHITE + COLORI.BLACK) << 8 | (COLORP.BLUE + COLORI.WHITE) ;0xF04F
|
||||
SetupInvert LD HL,85 ; Y ¨á室ë©
|
||||
; TODO ¥ ãç¨âë¢ ¥âáï ¯®§¨æ¨ï ®ª , ᤥ« âì ¯à¨¢ï§ªã
|
||||
LD A,(CurElement)
|
||||
OR A
|
||||
JR Z,SetupI1
|
||||
LD B,A
|
||||
PUSH DE
|
||||
LD DE,8
|
||||
.L1 ADD HL,DE
|
||||
DJNZ .L1
|
||||
POP DE
|
||||
SetupI1 LD IX,8 << 8 | 70 ; HIGH -> ¢ëá®â , LOW -> è¨à¨
|
||||
LD C,L
|
||||
LD B,H ; Y
|
||||
LD HL,106 ; X
|
||||
; TODO ¥ ãç¨âë¢ ¥âáï ¯®§¨æ¨ï ®ª , ᤥ« âì ¯à¨¢ï§ªã
|
||||
JP InvertRectan
|
||||
|
||||
InitElement LD HL,ElementColor
|
||||
LD A,(CurElement)
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD A,(HL)
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
LD HL,PALETTE
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L2
|
||||
INC H
|
||||
.L2 LD DE,PALITRA.RESERV
|
||||
LDI
|
||||
LDI
|
||||
LDI
|
||||
CALL PrintRED
|
||||
CALL PrintGREEN
|
||||
CALL PrintBLUE
|
||||
JP PrnPALETTE
|
||||
|
||||
PrintRED LD DE,WorkBuffer
|
||||
LD A,(PALITRA.RESERV + 2)
|
||||
LD L,A
|
||||
LD H,0x00
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD (CRed),HL
|
||||
CALL ConvNumTxt8
|
||||
LD A,0x04
|
||||
SUB E
|
||||
LD B,A
|
||||
LD A,0x20
|
||||
.L1 LD (DE),A
|
||||
INC E
|
||||
DJNZ .L1
|
||||
SUB A
|
||||
InitEl1 LD (DE),A
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x01B8
|
||||
LD BC,0x0058
|
||||
LD A,0x80
|
||||
CALL PrnTxtLnIFF
|
||||
LD IX,BarRed
|
||||
JP PrnHScrBar
|
||||
|
||||
PrintGREEN LD DE,WorkBuffer
|
||||
LD A,(PALITRA.RESERV + 1)
|
||||
LD L,A
|
||||
LD H,0x00
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD (CGreen),HL
|
||||
CALL ConvNumTxt8
|
||||
LD A,0x04
|
||||
SUB E
|
||||
LD B,A
|
||||
LD A,0x20
|
||||
.L1 LD (DE),A
|
||||
INC E
|
||||
DJNZ .L1
|
||||
SUB A
|
||||
InitEl2 LD (DE),A
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x01B8
|
||||
LD BC,0x0068
|
||||
LD A,0x80
|
||||
CALL PrnTxtLnIFF
|
||||
LD IX,BarGreen
|
||||
JP PrnHScrBar
|
||||
|
||||
PrintBLUE LD DE,WorkBuffer
|
||||
LD A,(PALITRA.RESERV)
|
||||
LD L,A
|
||||
LD H,0x00
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD (CBlue),HL
|
||||
CALL ConvNumTxt8
|
||||
LD A,0x04
|
||||
SUB E
|
||||
LD B,A
|
||||
LD A,0x20
|
||||
.L1 LD (DE),A
|
||||
INC E
|
||||
DJNZ .L1
|
||||
SUB A
|
||||
InitEl3 LD (DE),A
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x01B8
|
||||
LD BC,0x0078
|
||||
LD A,0x80
|
||||
CALL PrnTxtLnIFF
|
||||
LD IX,BarBlue
|
||||
JP PrnHScrBar
|
||||
|
||||
PrnPALETTE LD HL,PALETTE
|
||||
LD DE,0x1000
|
||||
SPBIOS BIOSF.PIC_GET_PAL,0xFF,0
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_FILL 470,88,60,38,COLORI.RESERVED
|
||||
W_END
|
||||
RET
|
||||
346
rez2_fnerror.a80
Normal file
346
rez2_fnerror.a80
Normal file
@ -0,0 +1,346 @@
|
||||
|
||||
; LAST UPDATE: 25.03.2025 savelij
|
||||
|
||||
; !FIXIT ¯¥à¥¤¥« âì ®¤¨ ª®¢ë¥ ®ª á à §ë¬ â¥ªá⮬ ¤«ï ®è¨¡®ª ¯®¤ ¢â®¬ â¨ç¥áªãî ¯à®æ¥¤ãàã
|
||||
;[]===========================================================[]
|
||||
DOSErrorR ;[x] 30/07/23 -bug ¢ë«¥â § ¯à¥¤¥«ë â ¡«¨æë ®è¨¡®ª
|
||||
CP (.error - .ErrorWins)/2
|
||||
JR C,.calc_addr
|
||||
LD HL,.error
|
||||
JR .goto_addr
|
||||
|
||||
.calc_addr: LD HL,.ErrorWins
|
||||
ADD A,A
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.goto_addr
|
||||
INC H
|
||||
.goto_addr: LD A,(HL)
|
||||
INC HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
LD A,H
|
||||
OR L
|
||||
RET Z
|
||||
CALL SetMouse
|
||||
JP (HL)
|
||||
|
||||
.ErrorWins DEFW 0x0000 ; 00
|
||||
DEFW 0x0000 ; 01
|
||||
DEFW InvDrive ; 02
|
||||
DEFW FileNFound ; 03
|
||||
DEFW InvPath ; 04
|
||||
DEFW 0x0000 ; 05
|
||||
DEFW FileNFound ; 06
|
||||
DEFW FILEexists ; 07
|
||||
DEFW 0x0000 ; 08
|
||||
DEFW ROOToverflow ; 09
|
||||
DEFW NoDiskSpace ; 0A
|
||||
DEFW DIRnotEmpty ; 0B
|
||||
DEFW 0x0000 ; 0C
|
||||
DEFW InvMedia ; 0D
|
||||
DEFW 0x0000 ; 0E
|
||||
DEFW DIRexists ; 0F
|
||||
DEFW InvName ; 10
|
||||
DEFW InvEXEfile ; 11
|
||||
DEFW InvEXEver ; 12
|
||||
DEFW 0x0000 ; 13
|
||||
DEFW NotReady ; 14
|
||||
DEFW 0x0000 ; 15
|
||||
DEFW 0x0000 ; 16
|
||||
DEFW 0x0000 ; 17
|
||||
DEFW WriteProtect ; 18 ; [ ] 26/06/2024
|
||||
DEFW 0x0000 ; 19
|
||||
DEFW 0x0000 ; 1A
|
||||
DEFW 0x0000 ; 1B
|
||||
DEFW NotReady ; 1C
|
||||
DEFW 0x0000 ; 1D
|
||||
DEFW NoMemory ; 1E
|
||||
DEFW 0x0000 ; 1F
|
||||
DEFW 0x0000 ; 20
|
||||
DEFW 0x0000 ; 21
|
||||
DEFW 0x0000 ; 22
|
||||
DEFW ToManyFilesInDir ; 23
|
||||
; always last in the table:
|
||||
.error: DW UnknownError ; if no ERROR in this table then will show this message
|
||||
|
||||
;--------------------------------------------------------------
|
||||
WriteProtect:
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 37,18,COLORP.HIGHGRAY,"Drive is write protected"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
InvDrive
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 24,18,COLORP.HIGHGRAY,"Invalid drive letter:"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_BORDER 120,15,16,12
|
||||
W_FILL 122,16,12,10,COLORI.WHITE
|
||||
W_END
|
||||
JP InputDrive
|
||||
|
||||
InvMedia
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 46,18,COLORP.HIGHGRAY,"Invalid media:"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_BORDER 120,15,16,12
|
||||
W_FILL 122,16,12,10,COLORI.WHITE
|
||||
W_END
|
||||
JR InputDrive
|
||||
|
||||
NotReady
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 36,18,COLORP.HIGHGRAY,"Drive not ready:"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_BORDER 120,15,16,12
|
||||
W_FILL 122,16,12,10,COLORI.WHITE
|
||||
W_END
|
||||
InputDrive PUSH IY
|
||||
SPDSS DSSF.CURDISK
|
||||
POP IY
|
||||
ADD A,"A"
|
||||
LD (CurDrv),A
|
||||
LD IX,DriveStr
|
||||
LD HL,ErrorTab1
|
||||
CALL InputLine
|
||||
WINDOWCLOSE
|
||||
CALL SetClock
|
||||
LD A,(CurDrv)
|
||||
RES 5,A
|
||||
SUB "A"
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDISK
|
||||
POP IY
|
||||
JP C,DOSErrorR
|
||||
LD HL,BegDIR
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
JP C,DOSErrorR
|
||||
CALL SetMouse
|
||||
LD A,0x01
|
||||
RET
|
||||
|
||||
ErrorTab1 DEFW 0x011C,0x0164,0x0076,0x0084,0x01,0x0000,InputLine.InpLnExtN,0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
DriveStr DEFB 0x01,0x00,0x00,0x00
|
||||
DEFB 0x01
|
||||
DEFW 0x015C,0x006A
|
||||
DEFW 0x000A
|
||||
DEFB 0xF0
|
||||
CurDrv DUPL 0x02,0x00
|
||||
|
||||
;--------------------------------------------------------------
|
||||
InvPath
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 70,18,COLORP.HIGHGRAY,"Invalid path"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
ErrorLp0 LD IX,ErrorTab2
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,ErrorLp0
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,ErrorLp0
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,ErrorExt0
|
||||
CP 0x0D
|
||||
JR Z,ErrorExt0
|
||||
RES 5,A
|
||||
CP "O"
|
||||
JR NZ,ErrorLp0
|
||||
ErrorExt0
|
||||
WINDOWCLOSE
|
||||
CALL SetClock
|
||||
LD HL,BegDIR
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
JP C,DOSErrorR
|
||||
CALL SetMouse
|
||||
LD A,0x01
|
||||
RET
|
||||
|
||||
ErrorTab2 DEFW 0x011C,0x0164,0x0076,0x0084,0x21,0x0000,ErrorExt0,0x0000
|
||||
DEFW 0x8000
|
||||
|
||||
;--------------------------------------------------------------
|
||||
FileNFound
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 60,18,COLORP.HIGHGRAY,"File not found"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
ROOToverflow
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 64,18,COLORP.HIGHGRAY,"ROOT overflow"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
NoDiskSpace
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 62,18,COLORP.HIGHGRAY,"No disk space"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
DIRnotEmpty
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 40,18,COLORP.HIGHGRAY,"Directory is not empty"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
FILEexists
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 72,18,COLORP.HIGHGRAY,"File exists"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
DIRexists
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 56,18,COLORP.HIGHGRAY,"Directory exists"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
InvName
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 66,18,COLORP.HIGHGRAY,"Invalid name"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
InvEXEfile
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 60,18,COLORP.HIGHGRAY,"Invalid EXE file"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
InvEXEver
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 40,18,COLORP.HIGHGRAY,"Unsupport EXE version"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
NoMemory
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 52,18,COLORP.HIGHGRAY,"No memory space"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
ToManyFilesInDir:
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 30,18,COLORP.HIGHGRAY,"Too many directory entries"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
JP ErrorLp
|
||||
|
||||
UnknownError: ;[x] 30/07/23 -bug ¢ë«¥â § ¯à¥¤¥«ë â ¡«¨æë ®è¨¡®ª
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,88,192,48
|
||||
W_FILL 4,2,184,10,COLORI.RED
|
||||
W_TEXT 86,3,COLORI.WHITE + COLORP.RED,"Error"
|
||||
W_TEXT 60,18,COLORP.HIGHGRAY,"Unknown Error"
|
||||
W_BUTTON 60,30,72,14
|
||||
W_TEXT 88,33,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
;JP ErrorLp
|
||||
|
||||
ErrorLp LD IX,ErrorTab3
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,ErrorLp
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,ErrorLp
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,ErrorExt
|
||||
CP 0x0D
|
||||
JR Z,ErrorExt
|
||||
RES 5,A
|
||||
CP 'O'
|
||||
JR NZ,ErrorLp
|
||||
ErrorExt
|
||||
WINDOWCLOSE
|
||||
SUB A
|
||||
RET
|
||||
|
||||
ErrorTab3 DEFW 0x011C,0x0164,0x0076,0x0084,0x21,0x0000,ErrorExt,0x0000
|
||||
DEFW 0x8000
|
||||
2418
rez2_fnfunct.a80
Normal file
2418
rez2_fnfunct.a80
Normal file
File diff suppressed because it is too large
Load Diff
965
rez2_fnmisc.a80
Normal file
965
rez2_fnmisc.a80
Normal file
@ -0,0 +1,965 @@
|
||||
|
||||
; LAST UPDATE: 28.05.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FileInfoR LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
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
|
||||
LD L,(IY+PANEL.FFL)
|
||||
LD H,(IY+PANEL.FFH)
|
||||
LD E,(IY+PANEL.CFL)
|
||||
LD D,(IY+PANEL.CFH)
|
||||
ADD HL,DE
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,H
|
||||
OR 0xC0
|
||||
LD H,A
|
||||
LD DE,WorkBuffer
|
||||
LD BC,0x0018
|
||||
LDIR
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD IX,WorkBuffer
|
||||
LD HL,WorkBuffer+1
|
||||
LD DE,WorkBuffer+0x20
|
||||
LD A,(HL)
|
||||
CP '.'
|
||||
RET Z
|
||||
CALL SetClock
|
||||
PUSH DE
|
||||
CALL MakeDOSname
|
||||
POP HL
|
||||
LD DE,FName
|
||||
LD C,12
|
||||
SUB A
|
||||
.L2 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
LD A,C
|
||||
OR A
|
||||
JR Z,.L5
|
||||
LD B,A
|
||||
LD A,0x20
|
||||
.L3 LD (DE),A
|
||||
INC DE
|
||||
DJNZ .L3
|
||||
.L5 LD HL,FAtributs
|
||||
LD DE,FAttrib
|
||||
LD C,(IX + FileHDR.Attr)
|
||||
LD B,0x08
|
||||
.L6 RL C
|
||||
LD A,'-'
|
||||
JR NC,.L4
|
||||
LD A,(HL)
|
||||
.L4 LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .L6
|
||||
LD HL,FLen
|
||||
LD B,0x10
|
||||
LD A,0x20
|
||||
.L10 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L10
|
||||
LD DE,FLen
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
JR Z,.L7
|
||||
LD HL,DirText
|
||||
LD BC,0x000A
|
||||
LDIR
|
||||
JR .L8
|
||||
|
||||
.L7 LD L,(IX+0x0F)
|
||||
LD H,(IX+0x10)
|
||||
LD C,(IX+0x11)
|
||||
LD B,(IX+0x12)
|
||||
CALL ConvNumTxt32
|
||||
LD A,0x20
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD HL,Bytes
|
||||
LD BC,0x0005
|
||||
LDIR
|
||||
.L8 LD DE,FData
|
||||
CALL GetData
|
||||
LD DE,FTime
|
||||
CALL GetTime
|
||||
LD HL,WorkBuffer+0x20
|
||||
LD DE,WorkBuffer+0x30
|
||||
LD A,(FileAtribut)
|
||||
PUSH IY
|
||||
SPDSS DSSF.F_FIRST,0
|
||||
POP IY
|
||||
JP C,SetMouse
|
||||
LD HL,FClast
|
||||
LD B,0x05
|
||||
LD A,0x20
|
||||
.L9 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L9
|
||||
LD HL,WorkBuffer+0x30+26
|
||||
LD E,(HL)
|
||||
INC HL
|
||||
LD D,(HL)
|
||||
EX DE,HL
|
||||
LD DE,FClast
|
||||
CALL ConvNumTxt16
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 240,80,160,98
|
||||
W_FILL 4,2,152,10,COLORI.BLACK
|
||||
W_TEXT 56,3,COLORI.WHITE,"File info"
|
||||
W_TEXT 10,20,COLORP.HIGHGRAY,"Name: "
|
||||
FName EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,32,COLORP.HIGHGRAY,"Attributes: "
|
||||
FAttrib EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,44,COLORP.HIGHGRAY,"Len: "
|
||||
FLen EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,56,COLORP.HIGHGRAY,"Data: "
|
||||
FData EQU $ - STRLEN(" ") - 1
|
||||
FTime EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,68,COLORP.HIGHGRAY,"First Claster: "
|
||||
FClast EQU $ - STRLEN(" ") - 1
|
||||
W_BUTTON 44,80,72,14
|
||||
W_TEXT 72,83,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
CALL SetMouse
|
||||
FileInfoLoop: LD IX,FileInfoTab
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,FileInfoLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,FileInfoLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,FileInfoExt
|
||||
CP 0x0D
|
||||
JR Z,FileInfoExt
|
||||
RES 5,A
|
||||
CP 'O'
|
||||
JR NZ,FileInfoLoop
|
||||
FileInfoExt:
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
FAtributs: DEFB "--ad-shr"
|
||||
|
||||
;[]==========================================================[]
|
||||
PrintFileR LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
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
|
||||
LD L,(IY+PANEL.FFL)
|
||||
LD H,(IY+PANEL.FFH)
|
||||
LD E,(IY+PANEL.CFL)
|
||||
LD D,(IY+PANEL.CFH)
|
||||
ADD HL,DE
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,H
|
||||
OR 0xC0
|
||||
LD H,A
|
||||
LD DE,WorkBuffer
|
||||
LD BC,0x0018
|
||||
LDIR
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD IX,WorkBuffer
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
RET NZ
|
||||
LD HL,WorkBuffer+1
|
||||
LD DE,PrnFileName
|
||||
CALL MakeDOSname
|
||||
LD L,(IX + FileHDR.SizeBytes)
|
||||
LD H,(IX + FileHDR.SizeBytes + 1)
|
||||
LD (PrnFileLen),HL
|
||||
LD E,(IX + FileHDR.SizeBytes + 2)
|
||||
LD D,(IX + FileHDR.SizeBytes + 3)
|
||||
LD (PrnFileLen+2),DE
|
||||
LD A,H
|
||||
OR L
|
||||
OR D
|
||||
OR E
|
||||
RET Z
|
||||
PUSH IY
|
||||
SPDSS DSSF.GETMEM,1
|
||||
POP IY
|
||||
PUSH AF
|
||||
CALL C,DOSError
|
||||
POP AF
|
||||
RET C
|
||||
LD (PrnMIndef),A
|
||||
PUSH IY
|
||||
LD HL,PagesList
|
||||
SPBIOS BIOSF.GETMEMBLKPAGES
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 168,84,304,62
|
||||
W_FILL 4,2,296,10,COLORI.BLACK
|
||||
W_TEXT 142,3,COLORI.WHITE,"Print"
|
||||
W_TEXT 16,16,COLORP.HIGHGRAY,"Printing file:"
|
||||
W_BORDER 16,28,272,12
|
||||
W_FILL 18,29,268,10,COLORI.WHITE
|
||||
W_BUTTON 116,44,72,14
|
||||
W_TEXT 140,47,COLORP.HIGHGRAY,"Stop"
|
||||
W_END
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD DE,PANEL.CURRPATH
|
||||
ADD HL,DE
|
||||
LD DE,WorkBuffer
|
||||
SUB A
|
||||
.L2 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
DEC HL
|
||||
LD A,0x5C
|
||||
CP (HL)
|
||||
JR Z,.L3
|
||||
LD (DE),A
|
||||
INC DE
|
||||
.L3 LD HL,PrnFileName
|
||||
SUB A
|
||||
.L4 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L4
|
||||
LD (DE),A
|
||||
LD IX,0x00D0
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x00F8
|
||||
LD BC,0x0064
|
||||
LD A,0x80
|
||||
CALL PrnRangPathL
|
||||
LD IX,PrintFTab
|
||||
CALL TestCoords
|
||||
LD IX,ProcessFPrn
|
||||
LD HL,(PrnFileLen)
|
||||
LD DE,(PrnFileLen+2)
|
||||
LD A,L
|
||||
LD L,H
|
||||
LD H,E
|
||||
LD E,D
|
||||
OR A
|
||||
JR Z,InitPrn
|
||||
INC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,InitPrn
|
||||
INC E
|
||||
InitPrn LD (IX+PROC.MAXL1),L
|
||||
LD (IX+PROC.MAXH1),H
|
||||
LD (IX+PROC.MAXL2),E
|
||||
LD (IX+PROC.MAXH2),0x00
|
||||
CALL InitProcess
|
||||
LD HL,PrnFileName
|
||||
SPDSS DSSF.OPEN,,1
|
||||
PUSH AF
|
||||
CALL C,DOSError
|
||||
POP AF
|
||||
JP C,PrnError
|
||||
LD (PrnFHandle),A
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
LD HL,PagesList
|
||||
LD A,(HL)
|
||||
ReadPr1 INC HL
|
||||
PUSH HL
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,(PrnFileLen)
|
||||
LD DE,(PrnFileLen+2)
|
||||
LD BC,0x4000
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD B,0x00
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
JR C,ReadPrnEnd
|
||||
LD (PrnFileLen),HL
|
||||
LD (PrnFileLen+2),DE
|
||||
CALL SetClock
|
||||
LD HL,0xC000
|
||||
LD DE,0x4000
|
||||
LD A,(PrnFHandle)
|
||||
SPDSS DSSF.READ
|
||||
CALL SetMouse
|
||||
LD BC,0x4000
|
||||
CALL PrintBlock
|
||||
POP HL
|
||||
JR C,PrnEsc
|
||||
LD A,(HL)
|
||||
CP 0xFF
|
||||
JR NZ,ReadPr1
|
||||
PrnEsc POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
JR PrnFileExit
|
||||
|
||||
ReadPrnEnd: LD HL,0xC000
|
||||
LD DE,(PrnFileLen)
|
||||
LD A,D
|
||||
OR E
|
||||
JR Z,.L1
|
||||
CALL SetClock
|
||||
LD A,(PrnFHandle)
|
||||
PUSH DE
|
||||
SPDSS DSSF.READ
|
||||
POP BC
|
||||
CALL SetMouse
|
||||
CALL PrintBlock
|
||||
JR C,.L2
|
||||
.L1 CALL NxtPrnProc
|
||||
.L2 POP HL
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
PrnFileExit LD A,(PrnFHandle)
|
||||
SPDSS DSSF.CLOSE
|
||||
PrnError LD A,(PrnMIndef)
|
||||
SPDSS DSSF.FREEMEM
|
||||
POP IY
|
||||
HALT
|
||||
HALT
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
PrintBlock: LD DE,0xC000
|
||||
PrnBlockLp LD A,(DE)
|
||||
INC DE
|
||||
CALL PrintCHAR
|
||||
RET C
|
||||
CALL NxtPrnProc
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,PrnBlockLp
|
||||
RET
|
||||
|
||||
PrintCHAR: LD L,A
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
BIT 0,A
|
||||
JR Z,PrnCH1
|
||||
LD IX,PrintFTab
|
||||
CALL TestCoords
|
||||
JR C,PrnCH2
|
||||
PrnCH1
|
||||
SPDSS DSSF.SCANKEY
|
||||
LD A,E
|
||||
PrnCH2 POP BC
|
||||
POP DE
|
||||
POP HL
|
||||
RET C
|
||||
JR Z,PrnCHAR
|
||||
CP 0x1B
|
||||
SCF
|
||||
RET Z
|
||||
RES 5,A
|
||||
CP 'S'
|
||||
JR NZ,PrnCHAR
|
||||
StopPrint SCF
|
||||
RET
|
||||
|
||||
PrnCHAR PUSH DE
|
||||
PUSH BC
|
||||
LD A,L
|
||||
SPDSS DSSF.PRINT
|
||||
LD A,B
|
||||
POP BC
|
||||
POP DE
|
||||
RET NC
|
||||
HALT
|
||||
JR PrintCHAR
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
NxtPrnProc LD A,E
|
||||
OR A
|
||||
RET NZ
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
LD IX,ProcessFPrn
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.L1
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
.L1 CALL PrnProcess
|
||||
POP BC
|
||||
POP DE
|
||||
RET
|
||||
|
||||
ProcessFPrn: DEFW 0x00BA
|
||||
DEFW 0x0071
|
||||
DEFW 0x010C
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFB 0x4F
|
||||
PrnFileName: DUPL 13,0
|
||||
PrnFileLen: DUPL 4,0
|
||||
PrnMIndef: DEFB 0x00
|
||||
PrnFHandle: DEFB 0x00
|
||||
|
||||
;[]==========================================================[]
|
||||
SystemInfoR
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD HL,DOSvers
|
||||
LD DE,BIOSver
|
||||
LD B,0x05
|
||||
LD A,0x20
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ .L1
|
||||
PUSH IY
|
||||
SPDSS DSSF.VERSION
|
||||
POP IY
|
||||
EX DE,HL
|
||||
LD DE,DOSvers
|
||||
LD A,H
|
||||
CALL ConvNumTxt8
|
||||
LD A,'.'
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,L
|
||||
CALL ConvNumTxt8
|
||||
LD HL,WorkBuffer
|
||||
SPBIOS BIOSF.FN_VERSION
|
||||
SUB A
|
||||
.L2 INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
LD A,0x20
|
||||
.L3 DEC HL
|
||||
CP (HL)
|
||||
JR NZ,.L3
|
||||
INC HL
|
||||
LD DE,BIOSver
|
||||
SUB A
|
||||
.L4 LDI
|
||||
CP (HL)
|
||||
JR NZ,.L4
|
||||
LD HL,Present
|
||||
LD A,(CMOSFlag)
|
||||
OR A
|
||||
JR NZ,.L5
|
||||
LD HL,NotPresent
|
||||
.L5 LD DE,CMOS
|
||||
LD BC,0x000B
|
||||
LDIR
|
||||
LD HL,TotMem
|
||||
LD DE,FreeMem
|
||||
LD B,0x0F
|
||||
LD A,0x20
|
||||
.L6 LD (HL),A
|
||||
INC HL
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ .L6
|
||||
PUSH IY
|
||||
SPDSS DSSF.INFOMEM
|
||||
POP IY
|
||||
PUSH BC
|
||||
LD B,H
|
||||
LD C,L
|
||||
LD HL,0x0000
|
||||
LD DE,WorkBuffer
|
||||
SRL B
|
||||
RR C
|
||||
RR H
|
||||
RR L
|
||||
SRL B
|
||||
RR C
|
||||
RR H
|
||||
RR L
|
||||
PUSH DE
|
||||
CALL ConvNumTxt32
|
||||
SUB A
|
||||
LD (DE),A
|
||||
POP HL
|
||||
LD DE,TotMem
|
||||
CALL CorrBigNum
|
||||
INC DE
|
||||
LD HL,Bytes
|
||||
LD BC,0x0005
|
||||
LDIR
|
||||
POP HL
|
||||
LD B,H
|
||||
LD C,L
|
||||
LD HL,0x0000
|
||||
LD DE,WorkBuffer
|
||||
SRL B
|
||||
RR C
|
||||
RR H
|
||||
RR L
|
||||
SRL B
|
||||
RR C
|
||||
RR H
|
||||
RR L
|
||||
PUSH DE
|
||||
CALL ConvNumTxt32
|
||||
SUB A
|
||||
LD (DE),A
|
||||
POP HL
|
||||
LD DE,FreeMem
|
||||
CALL CorrBigNum
|
||||
INC DE
|
||||
LD HL,Bytes
|
||||
LD BC,0x0005
|
||||
LDIR
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 224,64,192,114
|
||||
W_FILL 4,2,184,10,COLORI.BLACK
|
||||
W_TEXT 48,3,COLORI.WHITE,"System information"
|
||||
W_TEXT 10,20,COLORP.HIGHGRAY,"FN version: \{FLEX_VERS.NAVIGATOR}"
|
||||
W_TEXT 10,32,COLORP.HIGHGRAY,"BIOS version: "
|
||||
BIOSver EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,44,COLORP.HIGHGRAY,"DOS version: "
|
||||
DOSvers EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,56,COLORP.HIGHGRAY,"CMOS: "
|
||||
CMOS EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,70,COLORP.HIGHGRAY,"Total memory: "
|
||||
TotMem EQU $ - STRLEN(" ") - 1
|
||||
W_TEXT 10,82,COLORP.HIGHGRAY,"Free memory: "
|
||||
FreeMem EQU $ - STRLEN(" ") - 1
|
||||
W_BUTTON 60,96,72,14
|
||||
W_TEXT 88,99,COLORP.HIGHGRAY,"Ok",0
|
||||
W_END
|
||||
SysInfoLoop: LD IX,SysInfoTab
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,SysInfoLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,SysInfoLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,SysInfoExt
|
||||
CP 0x0D
|
||||
JR Z,SysInfoExt
|
||||
RES 5,A
|
||||
CP 'O'
|
||||
JR NZ,SysInfoLoop
|
||||
SysInfoExt
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
Bytes: DEFB "bytes"
|
||||
Present: DEFB "Present "
|
||||
NotPresent: DEFB "Not present"
|
||||
|
||||
;[]==========================================================[]
|
||||
DiskInfoR: LD HL,SetInvert
|
||||
;!FIXIT ¯à®¢¥à¨âì ¤«ï íâ® ®® ¨«¨ ¥â SAFE_PORTY
|
||||
PUSH HL
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
CALL SetClock
|
||||
PUSH IY
|
||||
SPDSS DSSF.CURDISK
|
||||
POP IY
|
||||
ADD A,'A'
|
||||
LD (.CrDrive),A
|
||||
;!TEST
|
||||
;LD IX,0x0000
|
||||
;LD HL,0x0000
|
||||
;LD DE,WorkBuffer
|
||||
;LD BC,0x0105
|
||||
;SUB 'A'
|
||||
;PUSH IY
|
||||
;RST ToDSS.DRV ;!FIXIT rst 0x18
|
||||
;POP IY
|
||||
;JP C,SetMouse
|
||||
LD B,0
|
||||
CALL .get_info
|
||||
EX AF,AF'
|
||||
LD A,D
|
||||
AND E
|
||||
EXX
|
||||
AND D
|
||||
AND E
|
||||
INC A
|
||||
EXX
|
||||
JR Z,.no_full_info
|
||||
; ¢á¥ ¤ ë¥ ¥áâì
|
||||
PUSH DE ; ᢮¡®¤ëå ª« áâ¥à®¢, ¬« ¤è ï ç áâì
|
||||
PUSH HL ; ®¡é¥¥ ª®«-¢® ª« áâ¥à®¢, ¬« ¤è ï ç áâì
|
||||
PUSH BC ; à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
EXX
|
||||
PUSH DE ; ᢮¡®¤ëå ª« áâ¥à®¢, áâ àè ï ç áâì
|
||||
PUSH HL ; ®¡é¥¥ ª®«-¢® ª« áâ¥à®¢, áâ àè ï ç áâì
|
||||
EX AF,AF'
|
||||
PUSH AF ; à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
EX AF,AF'
|
||||
.no_full_info: PUSH AF
|
||||
; parsing
|
||||
LD D,0
|
||||
LD HL,WorkBuffer
|
||||
; âãâ ¢ HL ¤«¨ ¯®«ï "” ©«®¢ ï á¨á⥬ "
|
||||
LD E,(HL)
|
||||
ADD HL,DE
|
||||
INC HL
|
||||
; ¤«¨ ¯®«ï "‘¥à¨©ë© ®¬¥à ¤¨áª "
|
||||
LD A,(HL)
|
||||
PUSH HL
|
||||
INC HL
|
||||
LD (.serial_1),HL
|
||||
INC HL
|
||||
LD (.serial_2),HL
|
||||
INC HL
|
||||
LD (.serial_3),HL
|
||||
INC HL
|
||||
LD (.serial_4),HL
|
||||
POP HL
|
||||
LD E,A
|
||||
ADD HL,DE
|
||||
INC HL ; 㪠§ â¥«ì ¤«¨ã ¯®«ï "Œ¥âª ¤¨áª "
|
||||
INC HL
|
||||
; ¬¥âª
|
||||
LD (.buf_label),HL
|
||||
LD DE,.NoLabel
|
||||
LD B,11
|
||||
.loop1: SUB A
|
||||
CP (HL)
|
||||
JR Z,.DiskI2
|
||||
LD A,(DE)
|
||||
CP (HL)
|
||||
JR NZ,.DiskI1
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .loop1
|
||||
.DiskI1: LD HL,WorkBuffer+0x2B
|
||||
.buf_label EQU $-2
|
||||
JR NZ,.DiskI21F
|
||||
.DiskI2: LD HL,.NoLabelT
|
||||
.DiskI21F: LD DE,.Dlabel
|
||||
LD BC,.Dlabel.Size
|
||||
LDIR
|
||||
; á¥à¨©¨ª
|
||||
LD DE,.SerialN
|
||||
LD A,(WorkBuffer+0x2A)
|
||||
.serial_4 EQU $-2
|
||||
CALL ConvHexTxt
|
||||
LD A,(WorkBuffer+0x29)
|
||||
.serial_3 EQU $-2
|
||||
CALL ConvHexTxt
|
||||
INC DE
|
||||
LD A,(WorkBuffer+0x28)
|
||||
.serial_2 EQU $-2
|
||||
CALL ConvHexTxt
|
||||
LD A,(WorkBuffer+0x27)
|
||||
.serial_1 EQU $-2
|
||||
CALL ConvHexTxt
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 192,80,256,98
|
||||
W_FILL 4,2,248,10,COLORI.BLACK
|
||||
W_TEXT 106,3,COLORI.WHITE,"Disk info"
|
||||
W_TEXT 10,20,COLORP.HIGHGRAY,"Current drive: "
|
||||
.CrDrive: EQU $ - 2
|
||||
W_TEXT 10,32,COLORP.HIGHGRAY,"Total disk space:"
|
||||
W_TEXT 10,44,COLORP.HIGHGRAY,"Avaliable disk space:"
|
||||
W_TEXT 10,56,COLORP.HIGHGRAY,"Disk label: "
|
||||
.Dlabel: EQU $ - STRLEN(" ") - 1
|
||||
.Dlabel.Size EQU $ - .Dlabel - 1
|
||||
W_TEXT 10,68,COLORP.HIGHGRAY,"Serial volume number: - "
|
||||
.SerialN: EQU $ - STRLEN(" - ") - 1
|
||||
W_BUTTON 92,80,72,14
|
||||
W_TEXT 120,83,COLORP.HIGHGRAY,"Ok"
|
||||
W_END
|
||||
POP AF
|
||||
JR NZ,.calc_size
|
||||
LD B,1
|
||||
CALL .get_info
|
||||
PUSH DE ; ᢮¡®¤ëå ª« áâ¥à®¢, ¬« ¤è ï ç áâì
|
||||
PUSH HL ; ®¡é¥¥ ª®«-¢® ª« áâ¥à®¢, ¬« ¤è ï ç áâì
|
||||
PUSH BC ; à §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
EXX
|
||||
PUSH DE ; ᢮¡®¤ëå ª« áâ¥à®¢, áâ àè ï ç áâì
|
||||
PUSH HL ; ®¡é¥¥ ª®«-¢® ª« áâ¥à®¢, áâ àè ï ç áâì
|
||||
PUSH AF ; à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
.calc_size: POP AF ; à §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
POP HL
|
||||
POP DE
|
||||
EXX
|
||||
POP BC
|
||||
POP HL
|
||||
POP DE
|
||||
; --> (HL':HL)*BC*A, (DE':DE)*BC*A = B':HL'HL, C':DE':DE
|
||||
EXX
|
||||
LD BC,0
|
||||
EXX
|
||||
SRL B
|
||||
RR C
|
||||
RRCA
|
||||
JR C,.loop_2
|
||||
.loop_1: SLA L
|
||||
RL H
|
||||
EXX
|
||||
RL L
|
||||
RL H
|
||||
RL B
|
||||
EXX
|
||||
SLA E
|
||||
RL D
|
||||
EXX
|
||||
RL E
|
||||
RL D
|
||||
RL C
|
||||
EXX
|
||||
RRCA
|
||||
JP NC,.loop_1
|
||||
.loop_2: SLA L
|
||||
RL H
|
||||
EXX
|
||||
RL L
|
||||
RL H
|
||||
RL B
|
||||
EXX
|
||||
SLA E
|
||||
RL D
|
||||
EXX
|
||||
RL E
|
||||
RL D
|
||||
RL C
|
||||
EXX
|
||||
SRL B
|
||||
RR C
|
||||
JP NC,.loop_2
|
||||
; <-- B':HL'HL, C':DE':DE
|
||||
EXX
|
||||
LD A,C
|
||||
LD (.freeSpace_h),A
|
||||
LD (.freeSpace_m),DE
|
||||
LD A,B
|
||||
PUSH HL
|
||||
EXX
|
||||
LD (.freeSpace_l),DE
|
||||
POP BC
|
||||
; ¢ëç¨á«ï¥¬ ®¡é¨© à §¬¥à ¢ ¡ ©â å
|
||||
; A:BC:HL - ç¨á«® ¤«ï ¯¥à¥¢®¤
|
||||
LD DE,WorkBuffer
|
||||
CALL ConvNumTxt40
|
||||
SUB A
|
||||
LD (DE),A
|
||||
LD HL,WorkBuffer
|
||||
LD DE,WorkBuffer+0x100
|
||||
CALL CorrBigNum
|
||||
LD A,' '
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD HL,Bytes
|
||||
LD BC,5;Bytes.Size
|
||||
LDIR
|
||||
SUB A
|
||||
LD (DE),A
|
||||
; ¢ëç¨á«ï¥¬ ᢮¡®¤®¥ ¬¥áâ® ¢ ¡ ©â å
|
||||
LD A,0
|
||||
.freeSpace_h EQU $-1
|
||||
LD BC,0
|
||||
.freeSpace_m EQU $-2
|
||||
LD HL,0
|
||||
.freeSpace_l EQU $-2
|
||||
LD DE,WorkBuffer+0x80
|
||||
; A:BC:HL - ç¨á«® ¤«ï ¯¥à¥¢®¤
|
||||
CALL ConvNumTxt40
|
||||
SUB A
|
||||
LD (DE),A
|
||||
LD HL,WorkBuffer+0x80
|
||||
LD DE,WorkBuffer+0x180
|
||||
CALL CorrBigNum
|
||||
LD A,' '
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD HL,Bytes
|
||||
LD BC,5;Bytes.Size
|
||||
LDIR
|
||||
SUB A
|
||||
LD (DE),A
|
||||
; ¢ë¢®¤ à §¬¥à®¢
|
||||
LD HL,WorkBuffer+0x100
|
||||
LD DE,0x0128
|
||||
LD BC,0x0070
|
||||
LD A,0x80
|
||||
CALL PrnTxtLnIFF
|
||||
LD HL,WorkBuffer+0x180
|
||||
LD DE,0x0013A
|
||||
LD BC,0x007C
|
||||
LD A,0x80
|
||||
CALL PrnTxtLnIFF
|
||||
CALL SetMouse
|
||||
.DiskInfoLoop: LD IX,DiskInfoTab
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,.DiskInfoLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,.DiskInfoLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,.Ext
|
||||
CP 0x0D
|
||||
JR Z,.Ext
|
||||
RES 5,A
|
||||
CP 'O'
|
||||
JR NZ,.DiskInfoLoop
|
||||
.Ext:
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
|
||||
.get_info: LD A,(.CrDrive)
|
||||
SUB 'A'
|
||||
OR 0x80
|
||||
LD HL,WorkBuffer
|
||||
PUSH IY
|
||||
SPDSS DSSF.DSKINFO
|
||||
POP IY
|
||||
RET NC
|
||||
; ¥á«¨ ®è¨¡ª , â® ®¡ã«ï¥¬ à §¬¥à ᢮¡®¤®£® ¬¥áâ ¨ ¯®«ë© à §¬¥à
|
||||
XOR A
|
||||
LD H,A
|
||||
LD L,A
|
||||
LD D,A
|
||||
LD E,A
|
||||
EXX
|
||||
LD H,A
|
||||
LD L,A
|
||||
LD D,A
|
||||
LD E,A
|
||||
LD B,A
|
||||
LD C,A
|
||||
RET
|
||||
|
||||
.NoLabel DEFB "NO NAME "
|
||||
.NoLabelT DEFB "no label "
|
||||
|
||||
ConvHexTxt PUSH AF
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
CALL ConvHexT1
|
||||
POP AF
|
||||
ConvHexT1 AND 0x0F
|
||||
ADD A,0x90
|
||||
DAA
|
||||
ADC A,0x40
|
||||
DAA
|
||||
LD (DE),A
|
||||
INC DE
|
||||
RET
|
||||
|
||||
CorrBigNum PUSH HL
|
||||
SUB A
|
||||
LD C,A
|
||||
.L1 INC C
|
||||
INC HL
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
POP HL
|
||||
LD A,C
|
||||
.L2 SUB 0x03
|
||||
JR Z,.L5
|
||||
JR NC,.L2
|
||||
ADD A,0x03
|
||||
LD B,A
|
||||
.L3 LD A,(HL)
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .L3
|
||||
.L4 LD A,(HL)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,' '
|
||||
LD (DE),A
|
||||
INC DE
|
||||
.L5 LDI
|
||||
LDI
|
||||
LDI
|
||||
JR .L4
|
||||
|
||||
;[]==========================================================[]
|
||||
VersionR
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD HL,SetInvert
|
||||
PUSH HL
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 192,64,256,152
|
||||
W_FILL 4,2,248,10,COLORI.BLACK
|
||||
W_TEXT 110,3,COLORI.WHITE,"Version"
|
||||
W_TEXT 93,20,COLORP.HIGHGRAY,"Flex Navigator"
|
||||
W_TEXT 76,38,COLORP.HIGHGRAY,"Component versions:"
|
||||
W_TEXT 70,48,COLORP.HIGHGRAY,"Manager:"
|
||||
W_TEXT 128,48,COLORP.HIGHGRAY,"\{FLEX_VERS.NAVIGATOR}"
|
||||
W_TEXT 65,58,COLORP.HIGHGRAY,"File Editor:"
|
||||
W_TEXT 128,58,COLORP.HIGHGRAY,"\{FLEX_VERS.EDITOR}"
|
||||
W_TEXT 61,68,COLORP.HIGHGRAY,"File Viewer:"
|
||||
W_TEXT 128,68,COLORP.HIGHGRAY,"\{FLEX_VERS.VIEWER}"
|
||||
W_TEXT 50,86,COLORP.HIGHGRAY,"2000, Enin Anton"
|
||||
W_TEXT 50,96,COLORP.HIGHGRAY,"2021, Mikhaltchenkov Dmitry"
|
||||
W_TEXT 50,106,COLORP.HIGHGRAY,"2022, Belyanskiy Anatoliy"
|
||||
W_TEXT 50,116,COLORP.HIGHGRAY,"(C) Sprinter Team. 13.12.2024"
|
||||
W_BUTTON 92,133,72,14
|
||||
W_TEXT 120,136,COLORP.HIGHGRAY,"OK"
|
||||
W_END
|
||||
CALL ResFire
|
||||
VersionLoop LD IX,VersionTab
|
||||
CALL TestCoords
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,VersionLoop
|
||||
LD A,B
|
||||
OR A
|
||||
JR NZ,VersionLoop
|
||||
LD A,E
|
||||
CP 0x1B
|
||||
JR Z,VersionExt
|
||||
CP 0x0D
|
||||
JR NZ,VersionLoop
|
||||
VersionExt
|
||||
WINDOWCLOSE
|
||||
RET
|
||||
368
rez2_fnsearch.a80
Normal file
368
rez2_fnsearch.a80
Normal file
@ -0,0 +1,368 @@
|
||||
|
||||
; LAST UPDATE: 27.03.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
QSearchR LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD HL,SearchN
|
||||
LD B,0x0C
|
||||
SUB A
|
||||
.L1 LD (HL),A
|
||||
INC HL
|
||||
DJNZ .L1
|
||||
LD (SrchLen),A
|
||||
LD L,(IY+PANEL.XL)
|
||||
LD H,(IY+PANEL.XH)
|
||||
LD DE,0x000A
|
||||
ADD HL,DE
|
||||
LD (.SrchX1),HL
|
||||
LD DE,0x0034
|
||||
ADD HL,DE
|
||||
LD (SrchX2),HL
|
||||
LD HL,0x00E0
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
JR Z,.L2
|
||||
LD HL,0x00D0
|
||||
.L2 LD (.SrchY1),HL
|
||||
LD DE,0x0007
|
||||
ADD HL,DE
|
||||
LD (SrchY2),HL
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 0,0,166,20
|
||||
.SrchX1 EQU $ - 8
|
||||
.SrchY1 EQU $ -6
|
||||
W_TEXT 8,7,COLORP.HIGHGRAY,"Search:"
|
||||
W_BORDER 48,4,108,12
|
||||
W_FILL 50,5,104,10,COLORI.WHITE
|
||||
W_END
|
||||
LD IX,SearchStr
|
||||
LD (InpLnData),IX
|
||||
SUB A
|
||||
LD (IX+0x02),A
|
||||
LD (IX+0x03),A
|
||||
LD (IX+0x04),A
|
||||
CALL InsInpLnCol
|
||||
CALL PrintInpLn+3
|
||||
.SearchInpLp HALT
|
||||
CALL ChCursor
|
||||
CALL TestCMOS
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
OR A
|
||||
JP NZ,SearchExit
|
||||
SPDSS DSSF.SCANKEY
|
||||
JR Z,.SearchInpLp
|
||||
RES 7,D
|
||||
BIT KEYBSTAT.B_CTRL,B ;Ctrl
|
||||
JR NZ,.SearchInpLp
|
||||
LD IX,SearchTab
|
||||
BIT KEYBSTAT.B_ALT,B ;Alt
|
||||
JR Z,.Search1
|
||||
LD A,D
|
||||
OR A
|
||||
JR Z,.SearchInpLp
|
||||
CP SC.LCTRL
|
||||
JR NC,.SearchInpLp
|
||||
LD HL,AltTable
|
||||
DEC A
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L3
|
||||
INC H
|
||||
.L3 LD A,(HL)
|
||||
BIT 0,C
|
||||
CALL NZ,CorrSmallChar
|
||||
LD E,A
|
||||
.Search1 LD A,(IX+0x00)
|
||||
INC IX
|
||||
CP 0xFF
|
||||
JR Z,.SearchInpLp1
|
||||
LD L,A
|
||||
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,.Search1
|
||||
LD IX,(InpLnData)
|
||||
LD HL,.SearchInpLp
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
RET
|
||||
|
||||
.SearchInpLp1 LD IX,(InpLnData)
|
||||
LD HL,.SearchInpLp
|
||||
PUSH HL
|
||||
LD A,E
|
||||
JR InsSymbolSrch
|
||||
|
||||
SearchTab DW SC.ESC << 8 | 0x1B, SrchExit
|
||||
DW SC.ENTER << 8 | 0x0D, SrchExit
|
||||
DW SC.BKSP << 8 | 0x08, QSdelet
|
||||
DB 0xFF
|
||||
|
||||
InsSymbolSrch CP 0x20
|
||||
RET C
|
||||
EX AF,AF'
|
||||
LD A,(IX+0x04) ;InpytSymb
|
||||
SUB (IX+0x00) ;Max len
|
||||
RET NC
|
||||
LD A,(IX+0x04)
|
||||
SUB (IX+0x02)
|
||||
JR Z,NotInsSrch
|
||||
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
|
||||
NotInsSrch 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)
|
||||
CALL SearchFile
|
||||
JP C,ILdelet
|
||||
FoundSFile PUSH HL
|
||||
CALL PrintInpLn
|
||||
POP HL
|
||||
EX DE,HL
|
||||
LD L,(IY+PANEL.CFL)
|
||||
LD H,(IY+PANEL.CFH)
|
||||
LD C,(IY+PANEL.FFL)
|
||||
LD B,(IY+PANEL.FFH)
|
||||
ADD HL,BC
|
||||
SBC HL,DE
|
||||
EX DE,HL
|
||||
RET Z
|
||||
PUSH HL
|
||||
CALL ResInvert
|
||||
POP HL
|
||||
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 C,(IY+PANEL.FFL)
|
||||
LD B,(IY+PANEL.FFH)
|
||||
LD (IY+PANEL.FFL),E
|
||||
LD (IY+PANEL.FFH),D
|
||||
EX DE,HL
|
||||
OR A
|
||||
SBC HL,BC
|
||||
CALL NZ,PrintDIR
|
||||
CALL SetInvert
|
||||
CALL PrnFileInfo
|
||||
PUSH IY
|
||||
POP IX
|
||||
LD DE,PANEL.BARXL
|
||||
ADD IX,DE
|
||||
LD A,(IY+PANEL.VIEWFLAG)
|
||||
AND VIEWFLAG.MASK
|
||||
PUSH AF
|
||||
CALL Z,PrnHScrBar
|
||||
POP AF
|
||||
JP NZ,PrnVScrBar
|
||||
RET
|
||||
|
||||
QSdelet 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,QSDel1
|
||||
LD C,A
|
||||
LD B,0x00
|
||||
LDIR
|
||||
SUB A
|
||||
QSDel1 LD (DE),A
|
||||
DEC (IX+0x02)
|
||||
DEC (IX+0x04)
|
||||
CALL SearchFile
|
||||
JP NC,FoundSFile
|
||||
JP PrintInpLn
|
||||
|
||||
SearchStr DEFB 0x0C,0x00,0x00,0x00
|
||||
SrchLen DEFB 0x03
|
||||
SrchX2 DEFW 0x0000
|
||||
SrchY2 DEFW 0x0000
|
||||
DEFW 0x0064
|
||||
DEFB 0xF0
|
||||
SearchN DUPL 13,0
|
||||
|
||||
AltTable DEFB 0x1B,"1234567890-=",0x08,0x09,"qwertyuiop[]"
|
||||
DEFB 0x00,"asdfghjkl;'",0x0D,0x00,"zxcvbnm,./",0x00,0x5C
|
||||
|
||||
SearchFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
JP NZ,SearchFileT ;Tree
|
||||
PUSH IX
|
||||
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
|
||||
LD IX,0x0000
|
||||
LD HL,0xC001
|
||||
LD BC,0x0018
|
||||
.SearchFlp LD DE,SearchN
|
||||
LD A,(DE)
|
||||
CALL CorrBigChar
|
||||
CP (HL)
|
||||
JR Z,.SrchF1
|
||||
CALL CorrSmallChar
|
||||
CP (HL)
|
||||
JR NZ,.SearchFnxt
|
||||
.SrchF1 PUSH HL
|
||||
PUSH DE
|
||||
LD DE,WorkBuffer
|
||||
PUSH DE
|
||||
CALL MakeDOSname
|
||||
POP HL
|
||||
POP DE
|
||||
.SrchF2 INC DE
|
||||
LD A,(DE)
|
||||
OR A
|
||||
JR Z,.SearchFexit
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR Z,.SearchFnx0
|
||||
LD A,(DE)
|
||||
CALL CorrBigChar
|
||||
CP (HL)
|
||||
JR Z,.SrchF2
|
||||
CALL CorrSmallChar
|
||||
CP (HL)
|
||||
JR Z,.SrchF2
|
||||
.SearchFnx0 POP HL
|
||||
LD BC,0x0018
|
||||
.SearchFnxt ADD HL,BC
|
||||
INC IX
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR NZ,.SearchFlp
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IX
|
||||
SCF
|
||||
RET
|
||||
|
||||
.SearchFexit INC SP
|
||||
INC SP
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
PUSH IX
|
||||
POP HL
|
||||
POP IX
|
||||
OR A
|
||||
RET
|
||||
|
||||
SearchFileT PUSH IX
|
||||
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
|
||||
LD IX,0x0000
|
||||
LD HL,0xC002
|
||||
LD BC,0x000D
|
||||
.SearchTlp LD DE,SearchN
|
||||
LD A,(DE)
|
||||
CALL CorrBigChar
|
||||
CP (HL)
|
||||
JR Z,.SrchT1
|
||||
CALL CorrSmallChar
|
||||
CP (HL)
|
||||
JR NZ,.SearchTnxt
|
||||
.SrchT1 PUSH HL
|
||||
.SrchT2 INC DE
|
||||
LD A,(DE)
|
||||
OR A
|
||||
JR Z,.SearchTexit
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR Z,.SearchTnx0
|
||||
LD A,(DE)
|
||||
CALL CorrBigChar
|
||||
CP (HL)
|
||||
JR Z,.SrchT2
|
||||
CALL CorrSmallChar
|
||||
CP (HL)
|
||||
JR Z,.SrchT2
|
||||
.SearchTnx0 POP HL
|
||||
.SearchTnxt ADD HL,BC
|
||||
INC IX
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
INC A
|
||||
JR NZ,.SearchTlp
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
POP IX
|
||||
SCF
|
||||
RET
|
||||
|
||||
.SearchTexit INC SP
|
||||
INC SP
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
PUSH IX
|
||||
POP HL
|
||||
POP IX
|
||||
OR A
|
||||
RET
|
||||
|
||||
SrchExit POP HL
|
||||
SearchExit
|
||||
WINDOWCLOSE
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
IF TREE_REZID
|
||||
CALL NZ,TestTreeR.TestTreeBeg
|
||||
ELSE
|
||||
CALL NZ,TestTreeR.TestTreeBeg
|
||||
ENDIF
|
||||
RET
|
||||
151
rez2_fntab1.a80
Normal file
151
rez2_fntab1.a80
Normal file
@ -0,0 +1,151 @@
|
||||
|
||||
; LAST UPDATE: 16.04.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
; ”®à¬ â â ¡«¨æë
|
||||
; +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 €¤à¥á ®¡à ¡®â稪 ¯à¨ ¦ ⮬ ®£¥ (¯à ¢)
|
||||
|
||||
;[]==========================================================[]
|
||||
SetupTab: DW 106,246, 85,133,%0000000000000000,0,NewElement,0
|
||||
DW 114,130,146,155,%0000000000000000,0,ChActivatePan,0
|
||||
DW 114,130,164,173,%0000000000000000,0,ChSavePan,0
|
||||
DW 274,290, 87, 95,%0000000000000011,0,DecRED,0
|
||||
DW 418,434, 87, 95,%0000000000000011,0,IncRED,0
|
||||
DW 440,464, 87, 95,%0000000000000000,0,InputRED,0
|
||||
DW 274,290,103,111,%0000000000000011,0,DecGREEN,0
|
||||
DW 418,434,103,111,%0000000000000011,0,IncGREEN,0
|
||||
DW 440,464,103,111,%0000000000000000,0,InputGREEN,0
|
||||
DW 274,290,119,127,%0000000000000011,0,DecBLUE,0
|
||||
DW 418,434,119,127,%0000000000000011,0,IncBLUE,0
|
||||
DW 440,464,119,127,%0000000000000000,0,InputBLUE,0
|
||||
DW 456,528,162,176,%0000000000000001,0,SaveSetup,0
|
||||
DW 368,440,184,198,%0000000000100001,0,SetupCancel,0
|
||||
DW 456,528,184,198,%0000000000100001,0,SetupOkey,0
|
||||
DW 0, 96, 0,256,%0000000000100000,0,SetupCancel,0
|
||||
DW 544,640, 0,256,%0000000000100000,0,SetupCancel,0
|
||||
DW 0,640, 0, 64,%0000000000100000,0,SetupCancel,0
|
||||
DW 0,640,184,256,%0000000000100000,0,SetupCancel,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
FileInfoTab: DW 284,356,160,174,%0000000000100001,0,FileInfoExt,0
|
||||
DW 0,240, 0,256,%0000000000100000,0,FileInfoExt,0
|
||||
DW 400,640, 0,256,%0000000000100000,0,FileInfoExt,0
|
||||
DW 0,640, 0, 80,%0000000000100000,0,FileInfoExt,0
|
||||
DW 0,640,178,256,%0000000000100000,0,FileInfoExt,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
PrintFTab: DW 284,356,128,142,%0000000000000001,0,StopPrint,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
SysInfoTab: DW 284,356,160,174,%0000000000100001,0,SysInfoExt,0
|
||||
DW 0,224, 0,256,%0000000000100000,0,SysInfoExt,0
|
||||
DW 416,640, 0,256,%0000000000100000,0,SysInfoExt,0
|
||||
DW 0,640, 0, 64,%0000000000100000,0,SysInfoExt,0
|
||||
DW 0,640,178,256,%0000000000100000,0,SysInfoExt,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
DiskInfoTab: DW 284,356,160,174,%0000000000100001,0,DiskInfoR.Ext,0
|
||||
DW 0,192, 0,256,%0000000000100000,0,DiskInfoR.Ext,0
|
||||
DW 448,640, 0,256,%0000000000100000,0,DiskInfoR.Ext,0
|
||||
DW 0,640, 0, 80,%0000000000100000,0,DiskInfoR.Ext,0
|
||||
DW 0,640,178,256,%0000000000100000,0,DiskInfoR.Ext,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
VersionTab: DW 284,356,157,171,%0000000000100001,0,VersionExt,0
|
||||
DW 0,192, 0,256,%0000000000100000,0,VersionExt,0
|
||||
DW 448,640, 0,256,%0000000000100000,0,VersionExt,0
|
||||
DW 0,640, 0, 64,%0000000000100000,0,VersionExt,0
|
||||
DW 0,640,176,256,%0000000000100000,0,VersionExt,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
PathTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InpLnExtN,0
|
||||
DW 328,400,123,137,%0000000000000001,0,InputLine.InpLnExtC,0
|
||||
DW 0, 96, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 544,640, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640,143,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
OverWrtTab: DW 196,252,126,140,%0000000100100001,0,OverWrtFile,0
|
||||
DW 260,316,126,140,%0000000100100001,0,OverWrtAll,0
|
||||
DW 324,380,126,140,%0000000100100001,0,OverSkip,0
|
||||
DW 388,444,126,140,%0000000100100001,0,OverExit,0
|
||||
DW 0,180, 0,256,%0000000100100000,0,OverExit,0
|
||||
DW 460,640, 0,256,%0000000100100000,0,OverExit,0
|
||||
DW 0,640, 0, 88,%0000000100100000,0,OverExit,0
|
||||
DW 0,640,144,256,%0000000100100000,0,OverExit,0
|
||||
DW 0x8001
|
||||
|
||||
;[]===============================================================[]
|
||||
ReNameTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InpLnExtN,0
|
||||
DW 328,400,123,137,%0000000000000001,0,InputLine.InpLnExtC,0
|
||||
DW 0,208, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 432,640, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640,143,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
MakeDIRTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InpLnExtN,0
|
||||
DW 328,400,123,137,%0000000000000001,0,InputLine.InpLnExtC,0
|
||||
DW 0,200, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 440,640, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0,640,143,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
DeleteTab: DW 196,252,118,132,%0000000100100001,0,DelDelete,0
|
||||
DW 260,316,118,132,%0000000100100001,0,DelAll,0
|
||||
DW 324,380,118,132,%0000000100100001,0,DelSkip,0
|
||||
DW 388,444,118,132,%0000000100100001,0,DelExit,0
|
||||
DW 0,180, 0,256,%0000000100100000,0,DelExit,0
|
||||
DW 460,640, 0,256,%0000000100100000,0,DelExit,0
|
||||
DW 0,640, 0, 80,%0000000100100000,0,DelExit,0
|
||||
DW 0,640,136,256,%0000000100100000,0,DelExit,0
|
||||
DW 0x8000
|
||||
|
||||
;[]===============================================================[]
|
||||
QuitTab:
|
||||
DW 240,312,120,134,%0000000000100001,0,QuitConfirmWin.OK,0
|
||||
DW 328,400,120,134,%0000000000100001,0,QuitConfirmWin.Abort,0
|
||||
DW 0,208, 0,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 432,640, 0,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0,640, 0, 88,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0,640,138,256,%0000000000100000,0,QuitConfirmWin.Abort,0
|
||||
DW 0x8000
|
||||
|
||||
EmptyTab: DW 0,640, 0,256,%0000000000000000,0,InputLine.InpLnExtC,0
|
||||
DW 0x8000
|
||||
870
rez3_fnmark.a80
Normal file
870
rez3_fnmark.a80
Normal file
@ -0,0 +1,870 @@
|
||||
|
||||
; LAST UPDATE: 12.05.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
MarkFileR LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
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
|
||||
LD L,(IY+PANEL.FFL)
|
||||
LD H,(IY+PANEL.FFH)
|
||||
LD E,(IY+PANEL.CFL)
|
||||
LD D,(IY+PANEL.CFH)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *16
|
||||
ADD HL,DE ; *18
|
||||
SET 6,H
|
||||
SET 7,H ; | 0xC000
|
||||
LD E,(HL) ; FileHDR.Flag
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
BIT FileHDR.B_MARK,E
|
||||
PUSH AF
|
||||
CALL Z,SelectFile
|
||||
POP AF
|
||||
CALL NZ,UnSelectFile
|
||||
CALL CursDown
|
||||
CALL PrnFileInfo
|
||||
LD B,0x07
|
||||
.L2 PUSH BC
|
||||
SPMOUSE MOUSEF.READ_STATE
|
||||
POP BC
|
||||
BIT 1,A
|
||||
RET Z
|
||||
HALT
|
||||
DJNZ .L2
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
SelectFile: LD IXL,0x01
|
||||
JR UnSelectFile.L1
|
||||
|
||||
UnSelectFile: LD IXL,0x00
|
||||
.L1
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD A,(RAMPAGES.LEFTPANEL)
|
||||
JR Z,.L2
|
||||
LD A,(RAMPAGES.RIGHTPANEL)
|
||||
.L2
|
||||
SETPORT WINSP.CPU3,,0
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD L,(IY+PANEL.FFL)
|
||||
LD H,(IY+PANEL.FFH)
|
||||
LD E,(IY+PANEL.CFL)
|
||||
LD D,(IY+PANEL.CFH)
|
||||
ADD HL,DE
|
||||
ADD HL,HL ; *2
|
||||
ADD HL,HL ; *4
|
||||
ADD HL,HL ; *8
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL ; *16
|
||||
ADD HL,DE ; *18 - FileHDR.SIZE
|
||||
SET 6,H
|
||||
SET 7,H ; | 0xC000
|
||||
PUSH HL
|
||||
LD DE,FileHDR.Attr
|
||||
ADD HL,DE
|
||||
LD C,(HL) ; FileHDR.Attr (ä« £¨ ®¯¨á ⥫ï FAT ä ©« )
|
||||
POP HL
|
||||
BIT DIR.B_Dir,C ; íâ® ¤¨à ?
|
||||
IF MARK_DIR
|
||||
CALL NZ,COUNTING_DIR
|
||||
ELSE
|
||||
JR NZ,.MrFile1
|
||||
ENDIF
|
||||
; íâ® ä ©«
|
||||
LD B,(HL) ; áâ ஥ á®áâ®ï¨¥ ¯®¬¥âª¨ ä ©«
|
||||
LD A,IXL
|
||||
LD (HL),A ; ®¢®¥ á®áâ®ï¨¥ ¯®¬¥âª¨ ä ©«
|
||||
LD DE,WorkBuffer
|
||||
PUSH BC
|
||||
LD BC,FileHDR.SIZE
|
||||
LDIR
|
||||
IF MARK_DIR
|
||||
LD HL,COUNTING_DIR.FILES_SIZE
|
||||
LD DE,WorkBuffer + FileHDR.SizeBytes
|
||||
LD BC,DWORD
|
||||
LDIR
|
||||
ENDIF
|
||||
POP BC
|
||||
.MrFile1 POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
IF MARK_DIR = 0
|
||||
BIT DIR.B_Dir,C
|
||||
RET NZ ; ¢ë室 ¥á«¨ ¤¨à
|
||||
ENDIF
|
||||
LD A,B
|
||||
CP IXL
|
||||
RET Z ; ¢ë室 ¥á«¨ áâ ஥ ¨ ®¢®¥ á®áâ®ï¨¥ ¯®¬¥âª¨ ᮢ¯ «¨
|
||||
BIT VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
|
||||
JR NZ,.MarkFull
|
||||
; ¯à¨ ªà ⪮¬ ¯®ª §¥ ä ©«®¢
|
||||
LD L,(IY+PANEL.CFL)
|
||||
LD H,(IY+PANEL.CFH)
|
||||
LD E,L
|
||||
LD D,H
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD DE,PositTABLeft
|
||||
JR Z,.L3
|
||||
LD DE,PositTABRight
|
||||
.L3 ADD HL,DE
|
||||
LD E,(HL)
|
||||
INC HL
|
||||
LD D,(HL)
|
||||
INC HL
|
||||
LD C,(HL)
|
||||
LD B,0x00
|
||||
EX DE,HL
|
||||
LD A,IXL
|
||||
OR A
|
||||
PUSH AF
|
||||
LD DE,(COLORP.INVERTPAPER + COLORI.INVERTINK) << 8 | (COLORP.INVERTPAPER + COLORI.INVSELFILES)
|
||||
JR NZ,.L4
|
||||
LD DE,(COLORP.INVERTPAPER + COLORI.INVSELFILES) << 8 | (COLORP.INVERTPAPER + COLORI.INVERTINK)
|
||||
.L4 LD IX,8 << 8 + 48
|
||||
DEC HL
|
||||
DEC HL
|
||||
CALL InvertRectan
|
||||
POP AF
|
||||
JR NZ,.MarkExit1
|
||||
JR .MarkExit2
|
||||
|
||||
; ¯à¨ ¯®«®¬ ¯®ª §¥ ä ©«®¢
|
||||
.MarkFull LD L,(IY+PANEL.CFL)
|
||||
LD H,(IY+PANEL.CFH)
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
LD BC,0x003F
|
||||
ADD HL,BC
|
||||
LD C,L
|
||||
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
|
||||
LD HL,6
|
||||
JR Z,.L5
|
||||
LD HL,326
|
||||
.L5 LD A,IXL
|
||||
OR A
|
||||
PUSH AF
|
||||
LD DE,(COLORP.INVERTPAPER + COLORI.INVERTINK) << 8 | (COLORP.INVERTPAPER + COLORI.INVSELFILES)
|
||||
JR NZ,.L6
|
||||
LD DE,(COLORP.INVERTPAPER + COLORI.INVSELFILES) << 8 | (COLORP.INVERTPAPER + COLORI.INVERTINK)
|
||||
.L6 LD IX,8 << 8 + 146
|
||||
CALL InvertRectan
|
||||
POP AF
|
||||
JR Z,.MarkExit2
|
||||
; ãáâ ®¢ª ¢ë¡®à ä ©«
|
||||
.MarkExit1 LD IX,WorkBuffer
|
||||
LD L,(IY + PANEL.MFL)
|
||||
LD H,(IY + PANEL.MFH)
|
||||
INC HL
|
||||
LD (IY + PANEL.MFL),L
|
||||
LD (IY + PANEL.MFH),H ; ®¡®¢«¥¨¥ ª®«¨ç¥á⢠¯®¬¥ç¥ëå ä ©«®¢
|
||||
LD L,(IX + FileHDR.SizeBytes)
|
||||
LD H,(IX + FileHDR.SizeBytes + 1)
|
||||
LD E,(IY + PANEL.MBL1)
|
||||
LD D,(IY + PANEL.MBH1)
|
||||
XOR A ; [ ] fat32
|
||||
ADD HL,DE
|
||||
LD (IY + PANEL.MBL1),L
|
||||
LD (IY + PANEL.MBH1),H ; ®¡®¢«¥¨¥ à §¬¥à ¯®¬¥ç¥ëå ä ©«®¢ ¡¨âë 15-0
|
||||
LD L,(IX + FileHDR.SizeBytes + 2)
|
||||
LD H,(IX + FileHDR.SizeBytes + 3)
|
||||
; [ ] fat32
|
||||
LD E,(IY + PANEL.MBL2)
|
||||
LD D,(IY + PANEL.MBH2)
|
||||
ADC HL,DE
|
||||
; [ ] fat32
|
||||
ADC A,(IY + PANEL.MBL3)
|
||||
LD (IY + PANEL.MBL3),A ; ®¡®¢«¥¨¥ à §¬¥à ¯®¬¥ç¥ëå ä ©«®¢ ¡¨âë 32-39
|
||||
LD (IY + PANEL.MBL2),L
|
||||
LD (IY + PANEL.MBH2),H ; ®¡®¢«¥¨¥ à §¬¥à ¯®¬¥ç¥ëå ä ©«®¢ ¡¨âë 31-15
|
||||
RET
|
||||
|
||||
; áï⨥ ¢ë¡®à ä ©«
|
||||
.MarkExit2 LD IX,WorkBuffer
|
||||
LD L,(IY + PANEL.MFL)
|
||||
LD H,(IY + PANEL.MFH)
|
||||
DEC HL
|
||||
LD (IY + PANEL.MFL),L
|
||||
LD (IY + PANEL.MFH),H
|
||||
LD L,(IY + PANEL.MBL1)
|
||||
LD H,(IY + PANEL.MBH1)
|
||||
LD E,(IX + FileHDR.SizeBytes)
|
||||
LD D,(IX + FileHDR.SizeBytes + 1)
|
||||
XOR A
|
||||
SBC HL,DE
|
||||
LD (IY + PANEL.MBL1),L
|
||||
LD (IY + PANEL.MBH1),H
|
||||
LD L,(IY + PANEL.MBL2)
|
||||
LD H,(IY + PANEL.MBH2)
|
||||
LD E,(IX + FileHDR.SizeBytes + 2)
|
||||
LD D,(IX + FileHDR.SizeBytes + 3)
|
||||
SBC HL,DE
|
||||
; [ ] fat32
|
||||
ADC A,(IY + PANEL.MBL3)
|
||||
LD (IY + PANEL.MBL3),A
|
||||
LD (IY + PANEL.MBL2),L
|
||||
LD (IY + PANEL.MBH2),H
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
UnMarkGroupR: CALL ResInvert
|
||||
UnMarkGroupRN: LD HL,SetInvert
|
||||
PUSH HL
|
||||
SUB A
|
||||
JR SelectGroup
|
||||
|
||||
MarkGroupR: CALL ResInvert
|
||||
MarkGroupRN: LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD A,0x01
|
||||
SelectGroup: LD (SelMode),A
|
||||
LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 208,81,224,62
|
||||
W_FILL 4,2,216,10,COLORI.BLACK
|
||||
W_TEXT 82,3,COLORI.WHITE,"Select mask"
|
||||
W_BUTTON 32,42,72,14
|
||||
W_TEXT 60,45,COLORP.HIGHGRAY,"Ok"
|
||||
W_BUTTON 120,42,72,14
|
||||
W_TEXT 140,45,COLORP.HIGHGRAY,"Cancel"
|
||||
W_TEXT 10,25,COLORP.HIGHGRAY,"Mark mask:"
|
||||
W_BORDER 70,22,134,12
|
||||
W_FILL 72,23,130,10,COLORI.WHITE
|
||||
W_END
|
||||
LD IX,SMaskStr
|
||||
LD HL,SMaskTab
|
||||
CALL InputLine
|
||||
WINDOWCLOSE
|
||||
RET C
|
||||
LD A,(MaskLen)
|
||||
OR A
|
||||
RET Z
|
||||
LD B,A
|
||||
LD HL,CrSMask
|
||||
CorMask LD A,(HL)
|
||||
CALL CorrBigChar
|
||||
LD (HL),A
|
||||
INC HL
|
||||
DJNZ CorMask
|
||||
LD HL,CrSMask
|
||||
LD DE,SelMask
|
||||
CALL MakeMask
|
||||
JR C,MarkGNext
|
||||
LD HL,NORMmask
|
||||
LD DE,CrSMask
|
||||
LD BC,MASK_SIZE
|
||||
LDIR
|
||||
LD HL,CrSMask
|
||||
LD DE,SelMask
|
||||
JP MakeMask
|
||||
|
||||
MarkGNext
|
||||
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
|
||||
;!FIXIT ¯à®¢¥à¨âì ¤«ï íâ® ®® ¨«¨ ¥â SAFE_PORTY
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD IX,CPU3
|
||||
LD HL,0xC000
|
||||
LD DE,SelMask
|
||||
EX AF,AF' ; [ ] fat32
|
||||
EXX
|
||||
LD L,(IY+PANEL.MBL1)
|
||||
LD H,(IY+PANEL.MBH1)
|
||||
LD E,(IY+PANEL.MBL2)
|
||||
LD D,(IY+PANEL.MBH2)
|
||||
LD A,(IY+PANEL.MBL3) ; [ ] FAT32
|
||||
LD C,(IY+PANEL.MFL)
|
||||
LD B,(IY+PANEL.MFH)
|
||||
EXX
|
||||
EX AF,AF' ; [ ] fat32
|
||||
PUSH IY
|
||||
LD IYL,0x00
|
||||
SelMode EQU $-1
|
||||
LD IYH,0x00
|
||||
Select1 PUSH DE
|
||||
BIT DIR.B_Dir,(IX + FileHDR.Attr)
|
||||
JR NZ,Select8
|
||||
LD A,IYL
|
||||
CP (HL)
|
||||
JR Z,Select8
|
||||
PUSH HL
|
||||
INC HL
|
||||
LD B,8
|
||||
Select2 LD A,(DE)
|
||||
CP '?'
|
||||
JR Z,Select3
|
||||
CP (HL)
|
||||
JR NZ,Select6
|
||||
Select3 INC HL
|
||||
INC DE
|
||||
DJNZ Select2
|
||||
INC HL
|
||||
LD B,03
|
||||
Select4 LD A,(DE)
|
||||
CP '?'
|
||||
JR Z,Select5
|
||||
CP (HL)
|
||||
JR NZ,Select6
|
||||
Select5 INC HL
|
||||
INC DE
|
||||
DJNZ Select4
|
||||
Select6 POP HL
|
||||
JR NZ,Select8
|
||||
LD IYH,0x01
|
||||
LD A,IYL
|
||||
LD (HL),A
|
||||
OR A
|
||||
CALL Z,SUB_SIZE
|
||||
CALL NZ,ADD_SIZE
|
||||
Select8: LD DE,FileHDR.SIZE
|
||||
ADD HL,DE
|
||||
ADD IX,DE
|
||||
POP DE
|
||||
LD A,(IX + FileHDR.Name)
|
||||
OR A
|
||||
JR NZ,Select1
|
||||
LD A,IYH
|
||||
EX AF,AF'
|
||||
POP IY
|
||||
EXX
|
||||
LD (IY+PANEL.MBL1),L
|
||||
LD (IY+PANEL.MBH1),H
|
||||
LD (IY+PANEL.MBL2),E
|
||||
LD (IY+PANEL.MBH2),D
|
||||
LD (IY+PANEL.MBL3),A ; [ ] FAT32
|
||||
LD (IY+PANEL.MFL),C
|
||||
LD (IY+PANEL.MFH),B
|
||||
EXX
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
EX AF,AF'
|
||||
OR A
|
||||
RET Z
|
||||
CALL PrintDIR
|
||||
JP PrnFileInfo
|
||||
|
||||
SMaskStr: DEFB 0x0C,0x00,0x00,0x00
|
||||
MaskLen: DEFB 0x03
|
||||
DEFW 282,106
|
||||
DEFW 104
|
||||
DEFB 0xF0
|
||||
CrSMask: DEFB "*.*"
|
||||
DB 10 DUP 0
|
||||
SelMask: DEFB "???????????"
|
||||
|
||||
MakeMask LD BC,0x0902
|
||||
SMaskLp LD A,(HL)
|
||||
CP '!'
|
||||
RET C
|
||||
CP '\"'
|
||||
RET Z
|
||||
CP '*'
|
||||
JR Z,SMask1
|
||||
CP '+'
|
||||
RET Z
|
||||
CP ','
|
||||
RET Z
|
||||
CP '.'
|
||||
JR Z,SMask2
|
||||
CP '/'
|
||||
RET Z
|
||||
CP ':'
|
||||
RET Z
|
||||
CP ';'
|
||||
RET Z
|
||||
CP '<'
|
||||
RET Z
|
||||
CP '='
|
||||
RET Z
|
||||
CP '>'
|
||||
RET Z
|
||||
CP '['
|
||||
RET Z
|
||||
CP '\\'
|
||||
RET Z
|
||||
CP ']'
|
||||
RET Z
|
||||
CP '|'
|
||||
RET Z
|
||||
CALL CorrBigChar
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ SMaskLp
|
||||
AND A
|
||||
RET
|
||||
|
||||
SMask1 LD A,'?'
|
||||
INC HL
|
||||
DJNZ SMask11
|
||||
AND A
|
||||
RET
|
||||
|
||||
SMask11 LD (DE),A
|
||||
INC DE
|
||||
DJNZ SMask11
|
||||
INC B
|
||||
JR SMaskLp
|
||||
|
||||
SMask2 LD A,' '
|
||||
INC HL
|
||||
DJNZ SMask21
|
||||
LD B,0x04
|
||||
DEC C
|
||||
JR NZ,SMaskLp
|
||||
AND A
|
||||
RET
|
||||
|
||||
SMask21 LD (DE),A
|
||||
INC DE
|
||||
DJNZ SMask21
|
||||
LD B,0x04
|
||||
DEC C
|
||||
JR NZ,SMaskLp
|
||||
AND A
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
SelectAllR: CALL ResInvert
|
||||
SelectAllRN: LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
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
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD IX,CPU3
|
||||
LD BC,FileHDR.SIZE
|
||||
EX AF,AF' ; [ ] fat32
|
||||
SUB A
|
||||
LD L,A
|
||||
LD H,L
|
||||
LD E,L
|
||||
LD D,H
|
||||
EXX
|
||||
LD L,A
|
||||
LD H,L
|
||||
EXX
|
||||
EX AF,AF' ; [ ] fat32
|
||||
.loop: BIT DIR.B_Dir,(IX + FileHDR.Attr) ;!HARDCODE DIRECTORY
|
||||
JR NZ,.SelAll1
|
||||
SET FileHDR.B_MARK,(IX + FileHDR.Flag)
|
||||
LD C,(IX + FileHDR.SizeBytes)
|
||||
LD B,(IX + FileHDR.SizeBytes + 1)
|
||||
EX AF,AF' ; [ ] fat32
|
||||
ADD HL,BC
|
||||
LD C,(IX + FileHDR.SizeBytes + 2)
|
||||
LD B,(IX + FileHDR.SizeBytes + 3)
|
||||
EX DE,HL
|
||||
ADC HL,BC
|
||||
EX DE,HL
|
||||
ADC A,0
|
||||
EX AF,AF' ; [ ] fat32
|
||||
EXX
|
||||
INC HL
|
||||
EXX
|
||||
LD BC,FileHDR.SIZE
|
||||
.SelAll1: ADD IX,BC
|
||||
LD A,(IX + FileHDR.Name)
|
||||
OR A
|
||||
JR NZ,.loop
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
EXX
|
||||
LD E,(IY+PANEL.MFL)
|
||||
LD D,(IY+PANEL.MFH)
|
||||
OR A
|
||||
SBC HL,DE
|
||||
RET Z
|
||||
ADD HL,DE
|
||||
LD (IY+PANEL.MFL),L
|
||||
LD (IY+PANEL.MFH),H
|
||||
EXX
|
||||
LD (IY+PANEL.MBL1),L
|
||||
LD (IY+PANEL.MBH1),H
|
||||
LD (IY+PANEL.MBL2),E
|
||||
LD (IY+PANEL.MBH2),D
|
||||
; [ ] FAT32
|
||||
EX AF,AF'
|
||||
LD (IY+PANEL.MBL3),A
|
||||
CALL PrintDIR
|
||||
JP PrnFileInfo
|
||||
|
||||
;[]==========================================================[]
|
||||
UnSelectAllR: CALL ResInvert
|
||||
UnSelectAllRN: LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
LD A,(IY+PANEL.MFL)
|
||||
OR (IY+PANEL.MFH)
|
||||
RET Z
|
||||
PUSH IY
|
||||
POP HL
|
||||
LD BC,PANEL.MFL
|
||||
ADD HL,BC
|
||||
LD B,PANEL.FILEMASK - PANEL.MFL
|
||||
.L2 LD (HL),0
|
||||
INC HL
|
||||
DJNZ .L2
|
||||
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
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD HL,CPU3
|
||||
LD BC,FileHDR.SIZE + 1
|
||||
UnSelA1: RES 0,(HL)
|
||||
ADD HL,BC
|
||||
LD A,(HL)
|
||||
DEC HL
|
||||
OR A
|
||||
JR NZ,UnSelA1
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
CALL PrintDIR
|
||||
JP PrnFileInfo
|
||||
|
||||
;[]==========================================================[]
|
||||
InvertSelectR: CALL ResInvert
|
||||
InvertSelectRN: LD HL,SetInvert
|
||||
PUSH HL
|
||||
LD A,(IY+PANEL.EFL)
|
||||
OR (IY+PANEL.EFH)
|
||||
RET Z
|
||||
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
|
||||
RET NZ
|
||||
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
|
||||
SETPORT WINSP.Y_PORT,0xC0
|
||||
LD IX,0xC000
|
||||
LD DE,FileHDR.SIZE
|
||||
LD B,0x00
|
||||
EX AF,AF' ; [ ] fat32
|
||||
EXX
|
||||
LD L,(IY + PANEL.MBL1)
|
||||
LD H,(IY + PANEL.MBH1)
|
||||
LD E,(IY + PANEL.MBL2)
|
||||
LD D,(IY + PANEL.MBH2)
|
||||
LD A,(IY + PANEL.MBL3) ; [ ] FAT32
|
||||
LD C,(IY + PANEL.MFL)
|
||||
LD B,(IY + PANEL.MFH)
|
||||
EXX
|
||||
EX AF,AF' ; [ ] fat32
|
||||
.loop: BIT DIR.B_Dir,(IX + FileHDR.Attr) ;!HARDCODE Dir
|
||||
JR NZ,.InvSel3
|
||||
LD B,FileHDR.M_MARK
|
||||
LD A,(IX + FileHDR.Flag)
|
||||
XOR B
|
||||
LD (IX + FileHDR.Flag),A
|
||||
CALL Z,SUB_SIZE
|
||||
CALL NZ,ADD_SIZE
|
||||
.InvSel3: ADD IX,DE
|
||||
LD A,(IX + FileHDR.Name)
|
||||
OR A
|
||||
JR NZ,.loop
|
||||
POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
EX AF,AF' ; [ ] fat32
|
||||
EXX
|
||||
LD (IY + PANEL.MBL1),L
|
||||
LD (IY + PANEL.MBH1),H
|
||||
LD (IY + PANEL.MBL2),E
|
||||
LD (IY + PANEL.MBH2),D
|
||||
LD (IY + PANEL.MBL3),A ; [ ] FAT32
|
||||
LD (IY + PANEL.MFL),C
|
||||
LD (IY + PANEL.MFH),B
|
||||
EXX
|
||||
LD A,B
|
||||
OR A
|
||||
RET Z
|
||||
CALL PrintDIR
|
||||
JP PrnFileInfo
|
||||
|
||||
ADD_SIZE: EX AF,AF' ; [ ] fat32
|
||||
EXX
|
||||
PUSH BC
|
||||
LD C,(IX + FileHDR.SizeBytes)
|
||||
LD B,(IX + FileHDR.SizeBytes + 1)
|
||||
ADD HL,BC
|
||||
LD C,(IX + FileHDR.SizeBytes + 2)
|
||||
LD B,(IX + FileHDR.SizeBytes + 3)
|
||||
EX DE,HL
|
||||
ADC HL,BC
|
||||
EX DE,HL
|
||||
ADC A,0 ; [ ] fat32
|
||||
POP BC
|
||||
INC BC
|
||||
EXX
|
||||
EX AF,AF' ; [ ] fat32
|
||||
RET
|
||||
|
||||
SUB_SIZE: EX AF,AF' ; [ ] fat32
|
||||
EXX
|
||||
PUSH BC
|
||||
LD C,(IX + FileHDR.SizeBytes)
|
||||
LD B,(IX + FileHDR.SizeBytes + 1)
|
||||
OR A
|
||||
SBC HL,BC
|
||||
LD C,(IX + FileHDR.SizeBytes + 2)
|
||||
LD B,(IX + FileHDR.SizeBytes + 3)
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
SBC A,0 ; [ ] fat32
|
||||
POP BC
|
||||
DEC BC
|
||||
EXX
|
||||
EX AF,AF'
|
||||
RET
|
||||
|
||||
IF MARK_DIR
|
||||
; ¯®¤áç¥â ¢ ¡ ©â å à §¬¥à ®â¬¥ç¥®© ¤¨à¥ªâ®à¨¨
|
||||
COUNTING_DIR PUSH IX
|
||||
PUSH IY
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
GETPORT WINSP.CPU3
|
||||
PUSH AF
|
||||
PUSH HL
|
||||
XOR A
|
||||
LD H,A
|
||||
LD L,A
|
||||
LD IXH,A ; ®¡ã«¥¨¥ ãà®¢ï ¢å®¦¤¥¨ï ¢ ¤¨àë
|
||||
LD (.FILES_SIZE),HL
|
||||
LD (.FILES_SIZE + 2),HL ; ®¡ã«¥¨¥ à §¬¥à ¤¨àë
|
||||
LD HL,CPU3
|
||||
LD (.CURR_DIRNAME),HL
|
||||
; á®åà ¥¨¥ ⥪ã饣® ¯ã⨠¤«ï ¢®§¢à â
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,WorkBuffer + 0x300 ; á®åà ¥ë© ¯ãâì ¤«ï ¢®§¢à â
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP DE
|
||||
JR C,.END_COUNT
|
||||
; ¢å®¤ ¢ ¤¨à¥ªâ®à¨î
|
||||
LD HL,FileHDR.Name
|
||||
ADD HL,DE
|
||||
LD DE,.DIR_NAME
|
||||
PUSH DE
|
||||
LD BC,FileHDR.Name_Size
|
||||
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤«ï ¨§¬¥à¥¨ï
|
||||
LD A,(RAMPAGES.FLX)
|
||||
SETPORT WINSP.CPU3,,0
|
||||
CALL .ADD_2DOT ; ¢®§¢à â ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
POP HL
|
||||
LD DE,(.CURR_DIRNAME)
|
||||
LD BC,FileHDR.Name_Size
|
||||
LDIR ; ¨¬ï ¤¨àë ¤«ï ¢å®¤
|
||||
LD (.CURR_DIRNAME),DE
|
||||
XOR A
|
||||
LD (DE),A
|
||||
CALL .SET_PATH ; ãáâ ®¢ª ⥪ã饣® ¯ãâ¨
|
||||
INC IXH
|
||||
.CONTINUE CALL .ADD_2DOT
|
||||
CALL .COUNT_FILES
|
||||
LD A,IXL
|
||||
AND A ; ¤¨àë ¥áâì
|
||||
JR Z,.PREV_DIR ; ¤¨àë ¥ ©¤¥ë
|
||||
CALL .SET_PATH ; ¢å®¤ ¢ ¤¨àã ¨§ ᯨáª
|
||||
INC IXH
|
||||
JR .CONTINUE
|
||||
|
||||
; ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
.PREV_DIR CALL .OUT_DIR
|
||||
LD A,IXH
|
||||
AND A
|
||||
JR Z,.END_COUNT
|
||||
CALL .GET_NAME
|
||||
CALL .GET_NAME
|
||||
LD HL,(.CURR_DIRNAME)
|
||||
LD DE,-FileHDR.Name_Size
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
CP '.'
|
||||
JR Z,.PREV_DIR
|
||||
CALL .SET_PATH
|
||||
INC IXH
|
||||
JR .CONTINUE
|
||||
|
||||
; ¢®§¢à â ⥪ã饣® ¯ãâ¨
|
||||
.END_COUNT POP AF
|
||||
SETPORT WINSP.CPU3,,0
|
||||
LD HL,WorkBuffer + 0x300 ; á®åà ¥ë© ¯ãâì ¤«ï ¢®§¢à â
|
||||
SPDSS DSSF.CHDIR
|
||||
POP BC
|
||||
POP HL
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
.GET_NAME LD HL,(.CURR_DIRNAME)
|
||||
LD (HL),0
|
||||
LD DE,-FileHDR.Name_Size
|
||||
ADD HL,DE
|
||||
LD (.CURR_DIRNAME),HL
|
||||
RET
|
||||
|
||||
.OUT_DIR DEC IXH
|
||||
LD HL,.RET_DIR
|
||||
JR .SP1
|
||||
|
||||
; ¯¥à¥å®¤ ¢ ¤¨àã ¨§ ᯨáª
|
||||
.SET_PATH LD HL,(.CURR_DIRNAME)
|
||||
LD DE,-FileHDR.Name_Size
|
||||
ADD HL,DE
|
||||
LD DE,.DIR_NAME
|
||||
PUSH DE
|
||||
LD BC,FFIRST.Name_Size
|
||||
LDIR
|
||||
POP HL
|
||||
.SP1 PUSH IX
|
||||
SPDSS DSSF.CHDIR
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,WorkBuffer + 0x200
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
SPDSS DSSF.CURDIR
|
||||
POP IX
|
||||
RET
|
||||
|
||||
; ¤®¡ ¢«¥¨¥ ¨¬¥¨ ¤¨àë ¤«ï ¢ë室 ¢ ¯à¥¤ë¤ãéãî ¤¨àã
|
||||
.ADD_2DOT PUSH HL
|
||||
LD HL,.RET_DIR
|
||||
LD DE,(.CURR_DIRNAME)
|
||||
LD BC,FFIRST.Name_Size
|
||||
LDIR
|
||||
LD (.CURR_DIRNAME),DE
|
||||
POP HL
|
||||
RET
|
||||
|
||||
; ¯¥à¥áç¨âë¢ ¥¬ à §¬¥àë ä ©«®¢ ¢ ⥪ã饩 ¤¨à¥ªâ®à¨¨
|
||||
; ¨ ¢ë£à¥¡ ¥¬ ¨¬¥ ¤¨à ¢ â ¡«¨çªã
|
||||
.COUNT_FILES LD IXL,0 ; ª®«¨ç¥á⢮ ¤¨à ¢ ⥪ã饩 ¤¨à¥
|
||||
CALL .F_FIRST ; ¨é¥¬ ¯¥à¢ë© ®¯¨á ⥫ì
|
||||
RET C
|
||||
.L2 LD DE,FFIRST.Attr
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
SBC HL,DE
|
||||
BIT DIR.B_Dir,A
|
||||
JR Z,.L4
|
||||
; ¤«ï ¤¨àë ª®¯¨à㥬 ¨¬ï ¢ â ¡«¨çªã
|
||||
LD DE,FFIRST.Name
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
CP '.' ; . ¨ .. ¯à®¯ã᪠¥¬
|
||||
JR Z,.L5
|
||||
LD DE,(.CURR_DIRNAME)
|
||||
LD BC,FFIRST.Name_Size
|
||||
LDIR
|
||||
LD (.CURR_DIRNAME),DE
|
||||
INC IXL
|
||||
JR .L5
|
||||
|
||||
; ¤«ï ä ©« ¤®¡ ¢«ï¥¬ ¤«¨ã
|
||||
.L4 LD DE,FFIRST.FileSize
|
||||
ADD HL,DE
|
||||
CALL GET_DWORD ; ¢§ïâì à §¬¥à ¨§ ®¯¨á ⥫ï
|
||||
LD HL,.FILES_SIZE
|
||||
PUSH HL
|
||||
CALL BCDEHLP ; ¤®¡ ¢¨«¨ ª ⥪ã饬ã à §¬¥àã
|
||||
POP HL
|
||||
CALL SET_DWORD ; ¯®«®¦¨«¨ ®¡à â®
|
||||
.L5 CALL .F_NEXT
|
||||
JR NC,.L2
|
||||
RET
|
||||
|
||||
; ¯®¨áª ¯¥à¢®£® ®¯¨á ⥫ï
|
||||
.F_FIRST LD A, DIR.M_Archive + \
|
||||
DIR.M_System + \
|
||||
DIR.M_Hidden + \
|
||||
DIR.M_ReadOnly + \
|
||||
DIR.M_Dir
|
||||
.FFF1 LD HL,.FILES_MASK
|
||||
LD DE,WorkBuffer + 0x300
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
SPDSS DSSF.F_FIRST,0
|
||||
POP IX
|
||||
POP HL
|
||||
RET
|
||||
|
||||
; ¯®¨áª á«¥¤ãî饣® ®¯¨á ⥫ï
|
||||
.F_NEXT LD DE,WorkBuffer + 0x300
|
||||
PUSH DE
|
||||
PUSH IX
|
||||
SPDSS DSSF.F_NEXT
|
||||
POP IX
|
||||
POP HL
|
||||
RET
|
||||
|
||||
.FILES_SIZE DD 0
|
||||
.FILES_MASK DZ "*.*"
|
||||
.RET_DIR DZ ".. "
|
||||
.DIR_NAME DZ " "
|
||||
.CURR_DIRNAME DW 0
|
||||
|
||||
GetDirSizeR CALL COUNTING_DIR
|
||||
LD HL,COUNTING_DIR.FILES_SIZE
|
||||
JP GET_DWORD
|
||||
ENDIF
|
||||
219
rez3_fnnext.a80
Normal file
219
rez3_fnnext.a80
Normal file
@ -0,0 +1,219 @@
|
||||
|
||||
; LAST UPDATE: 11.03.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
InitExtention: ;[ ] 07/10/23
|
||||
; LD (InitExt.path),HL
|
||||
; EX HL,DE
|
||||
;
|
||||
LD HL,.ExtName1
|
||||
LD DE,fn_ext
|
||||
CALL InitExt
|
||||
LD HL,.ExtName2
|
||||
LD DE,fnview_ext
|
||||
CALL InitExt
|
||||
LD HL,.ExtName3
|
||||
LD DE,fnedit_ext
|
||||
CALL InitExt
|
||||
RET
|
||||
|
||||
.ExtName1: DZ FILENAME.FN_EXT
|
||||
.ExtName2: DZ FILENAME.FNVIEW_EXT
|
||||
.ExtName3: DZ FILENAME.FNEDIT_EXT
|
||||
.PathEnd: DW 0 ; not used
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
InitExt: LD (.EXTdata),DE
|
||||
;[ ] 07/10/23
|
||||
; .path+1: LD DE,0
|
||||
; CALL CopyString
|
||||
; LD HL,FlexDIRECTORY
|
||||
SPDSS DSSF.OPEN,,1
|
||||
RET C
|
||||
LD (ExtHandle),A
|
||||
LD HL,WorkBuffer
|
||||
LD DE,WorkBuffer_Size
|
||||
SPDSS DSSF.READ
|
||||
RET C
|
||||
OR A
|
||||
RET P
|
||||
LD A,(ExtHandle)
|
||||
PUSH DE
|
||||
SPDSS DSSF.CLOSE
|
||||
POP BC
|
||||
LD HL,WorkBuffer
|
||||
LD DE,0x0000
|
||||
.EXTdata EQU $-2
|
||||
EXX
|
||||
LD BC,0x03FE
|
||||
EXX
|
||||
.loop: CALL InitExtLine
|
||||
JR NC,.loop
|
||||
RET
|
||||
|
||||
ExtHandle: DEFB 0x00
|
||||
|
||||
InitExtLine: LD (.InExtSv),DE
|
||||
SUB A
|
||||
LD (DE),A
|
||||
INC DE
|
||||
EXX
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
EXX
|
||||
RET Z
|
||||
SUB A
|
||||
LD (DE),A
|
||||
INC DE
|
||||
EXX
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
EXX
|
||||
RET Z
|
||||
DEC HL
|
||||
INC BC
|
||||
LD IXL,0x04
|
||||
.L1: LD A,B
|
||||
OR C
|
||||
SCF
|
||||
RET Z
|
||||
EXX
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
EXX
|
||||
RET Z
|
||||
INC HL
|
||||
DEC BC
|
||||
LD A,(HL)
|
||||
CP 0x20
|
||||
JR C,.L4
|
||||
CP '`'
|
||||
JR Z,.L4
|
||||
CP ':'
|
||||
JR Z,.L6
|
||||
CP '*'
|
||||
JR NZ,.L3
|
||||
.L2: LD A,'?'
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DEC IXL
|
||||
LD A,IXL
|
||||
DEC A
|
||||
JR Z,.L1
|
||||
EXX
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
EXX
|
||||
RET Z
|
||||
JR .L2
|
||||
|
||||
.L3: LD (DE),A
|
||||
INC DE
|
||||
EXX
|
||||
DEC BC
|
||||
EXX
|
||||
DEC IXL
|
||||
JR NZ,.L1
|
||||
.L4: LD DE,(.InExtSv)
|
||||
.L5: LD A,B
|
||||
OR C
|
||||
SCF
|
||||
RET Z
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
DEC BC
|
||||
CP 0x0D
|
||||
JR NZ,.L5
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
RET Z
|
||||
INC HL
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
RET NZ
|
||||
SCF
|
||||
RET
|
||||
|
||||
.L6: DEC IXL
|
||||
JR Z,.L8
|
||||
.L7: EXX
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
EXX
|
||||
RET Z
|
||||
INC DE
|
||||
EXX
|
||||
DEC BC
|
||||
EXX
|
||||
DEC IXL
|
||||
JR NZ,.L7
|
||||
.L8: LD A,B
|
||||
OR C
|
||||
SCF
|
||||
RET Z
|
||||
EXX
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
EXX
|
||||
RET Z
|
||||
INC HL
|
||||
DEC BC
|
||||
LD A,(HL)
|
||||
CP 0x0D
|
||||
JR Z,.L4
|
||||
CP 0x09
|
||||
JR Z,.L8
|
||||
CP 0x20
|
||||
JR Z,.L8
|
||||
JR C,.L4
|
||||
LD (DE),A
|
||||
INC DE
|
||||
EXX
|
||||
DEC BC
|
||||
EXX
|
||||
.L9: LD A,B
|
||||
OR C
|
||||
SCF
|
||||
RET Z
|
||||
EXX
|
||||
LD A,B
|
||||
OR C
|
||||
SCF
|
||||
EXX
|
||||
RET Z
|
||||
INC HL
|
||||
DEC BC
|
||||
LD A,(HL)
|
||||
CP 0x0D
|
||||
JR Z,.L10
|
||||
CP 0x20
|
||||
JR C,.L4
|
||||
LD (DE),A
|
||||
INC DE
|
||||
EXX
|
||||
DEC BC
|
||||
EXX
|
||||
JR .L9
|
||||
|
||||
.L10: SUB A
|
||||
LD (DE),A
|
||||
INC DE
|
||||
PUSH HL
|
||||
LD HL,0x0000
|
||||
.InExtSv: EQU $-2
|
||||
LD (HL),E
|
||||
INC HL
|
||||
LD (HL),D
|
||||
POP HL
|
||||
JR .L5
|
||||
Loading…
Reference in New Issue
Block a user