Compare commits

..

No commits in common. "50a6074f16df5584b8d766b13e6ae826e2570116" and "ec227157b088a1d478e110ba753aa798a76ccee0" have entirely different histories.

59 changed files with 3357 additions and 3361 deletions

View File

@ -4,7 +4,7 @@
if not exist tmp md tmp
if not exist fn md fn
if not exist fn\flx md fn\flx
call setpath_tools
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\svn\pentevo\tools\noice2equ\
call setpath_includes
cls
@ -18,9 +18,9 @@ asl -U -L -C -x -olist tmp\fnexeboot.lst -i %includes% -D NO_EDIT,NO_VIEW,NO_HEL
p2bin fn_exe_boot.p tmp\fn.exe -r $-$ -k
rem Flex Navigator Plugins
cd plugins
call build_all
cd ..
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

View File

@ -1,7 +1,7 @@
[]========================================================================[]
* *
* ޝ¨á ­¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
* doc v0.5 ®â 07.09.2025 *
* doc v0.5 ®â 26.07.2025 (¢ ¯à®æ¥áá¥) *
* *
[]========================================================================[]
@ -137,8 +137,7 @@
[]------------------------------------------------------------------------[]
JUMPS.ReplaceColorRectan - ¯à®æ¥¤ãà  § ¬¥­ë æ¢¥â  ¯àאַ㣮«ì­®©
¯«®áª®áâ¨
JUMPS.InvertRectan - ¯à®æ¥¤ãà  § ¬¥­ë æ¢¥â  ¯àאַ㣮«ì­®© ¯«®áª®áâ¨
­  ¢å®¤:
HL - x ª®®à¤¨­ â 
@ -157,7 +156,7 @@
[]------------------------------------------------------------------------[]
JUMPS.PrintTxtLine_IFF - ¯à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨©
JUMPS.PrnTxtLnIFF - ¯à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨©
íªà ­ 640x256 ¢ ०¨¬¥ à §¬¥à­®£® ¯® X èà¨äâ 
­  ¢å®¤:
@ -171,7 +170,7 @@
[]------------------------------------------------------------------------[]
JUMPS.PrintTxtLine - ¯à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨©
JUMPS.PrnTxtLnNorm - ¯à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨©
íªà ­ 640x256
­  ¢å®¤:
@ -185,8 +184,8 @@
[]------------------------------------------------------------------------[]
JUMPS.PrintTxtLineNumsChar - ¯à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­ 
£à ä¨ç¥áª¨© íªà ­ 640x256 á ¨§¢¥áâ­ë¬ ç¨á«®¬ ᨬ¢®«®¢
JUMPS.PrnTxtLnNormC - ¯à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨©
íªà ­ 640x256 á ¨§¢¥áâ­ë¬ ç¨á«®¬ ᨬ¢®«®¢
­  ¢å®¤:
HL -  ¤à¥á ⥪á⮢®© áâப¨
@ -200,7 +199,7 @@
[]------------------------------------------------------------------------[]
JUMPS.PrintPathLeft - ¯à®æ¥¤ãà  ¢ë¢®¤  ¤®á®¢áª¨å ¯ã⥩ ­  £à ä¨ç¥áª¨©
JUMPS.PrnRangPathL - ¯à®æ¥¤ãà  ¢ë¢®¤  ¤®á®¢áª¨å ¯ã⥩ ­  £à ä¨ç¥áª¨©
íªà ­ 640x256 ¢ ०¨¬¥ à §¬¥à­®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
«¥¢®¬ã ªà î ( |-> )
@ -219,7 +218,7 @@
[]------------------------------------------------------------------------[]
JUMPS.PrintPathRight - ¯à®æ¥¤ãà  ¢ë¢®¤  ¤®á®¢áª¨å ¯ã⥩ ­  £à ä¨ç¥áª¨©
JUMPS.PrnRangPathR - ¯à®æ¥¤ãà  ¢ë¢®¤  ¤®á®¢áª¨å ¯ã⥩ ­  £à ä¨ç¥áª¨©
íªà ­ 640x256 ¢ ०¨¬¥ à §¬¥à­®£® ¯® X èà¨äâ , ¯à¨¦ âëå ª
¯à ¢®¬ã ªà î ( <-| )
@ -238,7 +237,7 @@
[]------------------------------------------------------------------------[]
JUMPS.PrintPathCentr - ¯à®æ¥¤ãà  ¢ë¢®¤  ¤®á®¢áª¨å ¯ã⥩ ­  £à ä¨ç¥áª¨©
JUMPS.PrnRangPathC - ¯à®æ¥¤ãà  ¢ë¢®¤  ¤®á®¢áª¨å ¯ã⥩ ­  £à ä¨ç¥áª¨©
íªà ­ 640x256 ¢ ०¨¬¥ à §¬¥à­®£® ¯® X èà¨äâ , ®â業âà¨à®¢ ­­ëå
®â­®á¨â¥«ì­® ªà ñ¢ ( <-|-> )
@ -279,8 +278,8 @@
+0C ... á ¬  áâப 
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥­â®¢ íªà ­ :
JUMPS.InputLineExitOk - ¯à®æ¥¤ãà  ­®à¬ «ì­®£® ¢ë室  ¨§ । ªæ¨¨
JUMPS.InputLineExitCancel - ¯à®æ¥¤ãà  ¢ë室  ¨§ । ªæ¨¨ ¯® cancel
JUMPS.InpLnExtN - ¯à®æ¥¤ãà  ­®à¬ «ì­®£® ¢ë室  ¨§ । ªæ¨¨
JUMPS.InpLnExtC - ¯à®æ¥¤ãà  ¢ë室  ¨§ । ªæ¨¨ ¯® cancel
(¢®ááâ ­ ¢«¨¢ ¥â ¨§­ ç «ì­ãî áâபã)
[]------------------------------------------------------------------------[]
@ -318,7 +317,7 @@
[]------------------------------------------------------------------------[]
JUMPS.DrawHScrollBar - ¯à®æ¥¤ãà  ¢ë¢®¤  £®à¨§®­â «ì­®£® áªà®««¡ à 
JUMPS.PrnHScrBar - ¯à®æ¥¤ãà  ¯¥ç â¨ £®à¨§®­â «ì­®£® áªà®««¡ à 
­  ¢å®¤:
IX -  ¤à¥á ®¯¨á â¥«ï áªà®««¡ à  (á¬. ¢ëè¥)
@ -327,7 +326,7 @@
[]------------------------------------------------------------------------[]
JUMPS.DrawVScrollBar - ¯à®æ¥¤ãà  ¯¥ç â¨ ¢¥à⨪ «ì­®£® áªà®««¡ à 
JUMPS.PrnVScrBar - ¯à®æ¥¤ãà  ¯¥ç â¨ ¢¥à⨪ «ì­®£® áªà®««¡ à 
­  ¢å®¤:
IX -  ¤à¥á ®¯¨á â¥«ï áªà®««¡ à  (á¬. ¢ëè¥)
@ -336,7 +335,7 @@
[]------------------------------------------------------------------------[]
JUMPS.InitProgressBar - ¯à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ ®¯¨á â¥«ï ¯à®£à¥áá¡ à 
JUMPS.InitProcess - ¯à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ ®¯¨á â¥«ï ¯à®æ¥áá¡ à 
­  ¢å®¤:
IX -  ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à 
@ -347,17 +346,16 @@
+00 (2) X ¯®§¨æ¨ï ¯à®æ¥áá¡ à  (0-639)
+02 (2) Y ¯®§¨æ¨ï ¯à®æ¥áá¡ à  (0-255)
+04 (2) ¤«¨­  ¯à®æ¥áá¡ à 
+06 (2) ª®íä䍿¨¥­â ¤«ï ¯à®æ¥áá  (¨­¨æ¨ «¨§¨àã¥âáï ¢
InitProgressBar)
+08 (2) ª®à४æ¨ï ª®í䍿¨¥­â  (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitProgressBar)
+10 (4) ¬ ªá¨¬ã¬ (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitProgressBar)
+14 (4) ⥪ã饥 (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitProgressBar)
+06 (2) ª®íä䍿¨¥­â ¤«ï ¯à®æ¥áá  (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
+08 (2) ª®à४æ¨ï ª®í䍿¨¥­â  (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
+10 (4) ¬ ªá¨¬ã¬ (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
+14 (4) ⥪ã饥 (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitProcess)
+18 (1) æ¢¥â ¯à®æ¥áá¡ à 
(d7-d4 梥â background, d3-d0 梥â foreground)
[]------------------------------------------------------------------------[]
JUMPS.DrawProgressBar - ¯à®æ¥¤ãà  ¯¥ç â¨ ¯à®£à¥áá¡ à 
JUMPS.PrnProcess - ¯à®æ¥¤ãà  ¯¥ç â¨ ¯à®æ¥áá¡ à 
­  ¢å®¤:
IX -  ¤à¥á ®¯¨á â¥«ï ¯à®æ¥áá¡ à  (á¬. ¢ëè¥)
@ -366,13 +364,13 @@
[]------------------------------------------------------------------------[]
5 ª®¬ ­¤ ¯¥à¥å®¤  (15 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (15 ¡ ©â 0xC9)
5 ª®¬ ­¤ ¯¥à¥å®¤  (12 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (12 ¡ ©â 0xC9)
[]------------------------------------------------------------------------[]
JUMPS.WaitUnpressMouse - ¯à®æ¥¤ãà  ®¦¨¤ ­¨ï, ¯®ª  ¢á¥ ª­®¯ª¨ ¬ëè¨ ­¥
¡ã¤ãâ ®â¯ã饭ë
JUMPS.ResFire - ¯à®æ¥¤ãà  ®¦¨¤ ­¨ï, ¯®ª  ¢á¥ ª­®¯ª¨ ¬ëè¨ ­¥ ¡ã¤ãâ
®â¯ã饭ë
­  ¢å®¤:
-
@ -381,7 +379,7 @@
[]------------------------------------------------------------------------[]
JUMPS.CheckCoordsMouse - ¯à®æ¥¤ãà  ¯à®¢¥àª¨ ª®®à¤¨­ â ¬ëè¨ ¯® â ¡«¨æ¥
JUMPS.TestCoords - ¯à®æ¥¤ãà  ¯à®¢¥àª¨ ª®®à¤¨­ â ¬ëè¨ ¯® â ¡«¨æ¥
í«¥¬¥­â®¢ íªà ­ 
­  ¢å®¤:
@ -390,10 +388,10 @@
-
â ¡«¨æ  í«¥¬¥­â®¢ §ªà ­ :
+00 (2) «¥¢ ï X ª®®à¤¨­ â  í«¥¬¥­â 
+02 (2) ¯à ¢ ï X ª®®à¤¨­ â  í«¥¬¥­â 
+04 (2) ¢¥àå­ïï Y ª®®à¤¨­ â  í«¥¬¥­â 
+06 (2) ­¨¦­ïï Y ª®®à¤¨­ â  í«¥¬¥­â 
+00 (2) «¥¢ ï x ª®®à¤¨­ â  í«¥¬¥­â 
+02 (2) ¯à ¢ ï x ª®®à¤¨­ â  í«¥¬¥­â 
+04 (2) ¢¥àå­ïï y ª®®à¤¨­ â  í«¥¬¥­â 
+06 (2) ­¨¦­ïï y ª®®à¤¨­ â  í«¥¬¥­â 
+08 (2) ä« £¨ í«¥¬¥­â 
+10 (2)  ¤à¥á ®¡à ¡®â稪  ¯à¨ ­¥ ­ ¦ â®¬ ®£­¥
+12 (2)  ¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ («¥¢ ï ª­®¯ª )
@ -436,30 +434,24 @@
[]------------------------------------------------------------------------[]
JUMPS.CMOSPrintDateTime - ¯à®æ¥¤ãà  ¯¥ç â¨ ­  íªà ­¥ ¤ âë/¢à¥¬ï ¨§ CMOS
JUMPS.SetCMOSPrint - ¯à®æ¥¤ãà  ¢ª«î祭¨ï ¯¥ç â¨ ¤ âë/¢à¥¬ï ¨§ CMOS
­  ¢å®¤:
HL - X ¯®§¨æ¨ï ¢ë¢®¤  ¢à¥¬¥­¨
DE - Y ¯®§¨æ¨ï ¢ë¢®¤  ¢à¥¬¥­¨
B - 梥⠢뢮¤  ¢à¥¬¥­¨
HL' - X ¯®§¨æ¨ï ¢ë¢®¤  ¤ âë
DE' - Y ¯®§¨æ¨ï ¢ë¢®¤  ¤ âë
B' - 梥⠢뢮¤  ¤ âë
A - ä®à¬ â ¢ë¢®¤  ¬¥áïæ  ¢ ¤ â¥
1 - ¬¥áïæ ¢ë¢®¤¨âáï ç¨á«®¬
2 - ¬¥áïæ ¢ë¢®¤¨âáï ⥪á⮬,
ç¨á«® ¢ë¢®¤¨âáï ¡¥§ ¢¥¤ã饣® ­ã«ï
- ¡ã¤¥â ®¯¨á ­® ¯®§¤­¥¥
­  ¢ë室:
-
[]------------------------------------------------------------------------[]
JUMPS.ResCMOSPrint - ¯à®æ¥¤ãà  ¢ëª«î祭¨ï ¯¥ç â¨ ¤ âë/¢à¥¬ï ¨§ CMOS
­  ¢å®¤:
- ¡ã¤¥â ®¯¨á ­® ¯®§¤­¥¥
­  ¢ë室:
-
[]------------------------------------------------------------------------[]
1 ª®¬ ­¤  ¯¥à¥å®¤  (3 ¡ ©â ) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (3 ¡ ©â  0xC9)
[]------------------------------------------------------------------------[]
JUMPS.PointerMouseClock - ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ ªãàá®à  ¬ëè¨ ¢ ç áë
JUMPS.SetClock - ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ ªãàá®à  ¬ëè¨ ¢ ç áë
­  ¢å®¤:
-
@ -468,8 +460,7 @@
[]------------------------------------------------------------------------[]
JUMPS.PointerMousePointer - ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ ªãàá®à  ¬ëè¨ ¢
­®à¬ «ì­ë© ªãàá®à
JUMPS.SetMouse - ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ ªãàá®à  ¬ëè¨ ¢ ­®à¬ «ì­ë© ªãàá®à
­  ¢å®¤:
-
@ -483,8 +474,8 @@
[]------------------------------------------------------------------------[]
JUMPS.ConvertNumbers_40b - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
40 bit ¢ ⥪áâ á 㤠«¥­¨¥¬ ¢¥¤ãé¨å ­ã«¥©.
JUMPS.ConvNumTxt40 - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
40 bit ¢ ⥪áâ
­  ¢å®¤¥:
ABCHL - ç¨á«®
@ -493,7 +484,7 @@
[]------------------------------------------------------------------------[]
JUMPS.MoveBytesInc - ¯à®æ¥¤ãà  ¡ëáâண® ª®¯¨à®¢ ­¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
JUMPS.MoveBytes - ¯à®æ¥¤ãà  ¡ëáâண® ª®¯¨à®¢ ­¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
 ªá¥««¥à â®à  á 㢥«¨ç¥­¨¥¬  ¤à¥á®¢
­  ¢å®¤:
@ -506,7 +497,7 @@
[]------------------------------------------------------------------------[]
JUMPS.MoveBytesDec - ¯à®æ¥¤ãà  ¡ëáâண® ª®¯¨à®¢ ­¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
JUMPS.MoveBytesUp - ¯à®æ¥¤ãà  ¡ëáâண® ª®¯¨à®¢ ­¨ï ¯ ¬ïâ¨ á ¯®¬®éìî
 ªá¥««¥à â®à  á 㬥­ì襭¨¥¬  ¤à¥á®¢
­  ¢å®¤:
@ -519,7 +510,7 @@
[]------------------------------------------------------------------------[]
JUMPS.Mul_8X8_16b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
JUMPS.Mult8 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
8 * 8 bit = 16 bit
­  ¢å®¤:
@ -529,7 +520,7 @@
[]------------------------------------------------------------------------[]
JUMPS.Mul_16X8_24b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
JUMPS.Mult16X8 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
16 * 8 bit = 24 bit
­  ¢å®¤:
@ -539,7 +530,7 @@
[]------------------------------------------------------------------------[]
JUMPS.Mul_16X16_16b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
JUMPS.Mult16 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
16 * 16 bit = 16 bit
­  ¢å®¤:
@ -549,27 +540,27 @@
[]------------------------------------------------------------------------[]
JUMPS.Mul_16X16_32b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
JUMPS.Mult16X16 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
16 * 16 bit = 32 bit
­  ¢å®¤:
DE * BC
­  ¢ë室:
HLDE - १ã«ìâ â
HL, DE - १ã«ìâ â
[]------------------------------------------------------------------------[]
JUMPS.Mul_32X16_32b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
JUMPS.Mult32 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® 㬭®¦¥­¨ï
32 * 16 bit = 32 bit
­  ¢å®¤:
HLDE * BC
HL, DE * BC
­  ¢ë室:
HLDE - १ã«ìâ â
HL, DE - १ã«ìâ â
[]------------------------------------------------------------------------[]
JUMPS.Div_16X16_16b_16b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
JUMPS.Divis16X16 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
16 / 16 bit = 16.16 bit
­  ¢å®¤:
@ -580,52 +571,52 @@
[]------------------------------------------------------------------------[]
JUMPS.Div_24X16_8b_16b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
JUMPS.Divis24X16 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
24 / 16 bit = 8.16 bit
­  ¢å®¤:
HLC / DE
HL, C / DE
­  ¢ë室:
A - १ã«ìâ â
HL - ®áâ â®ª
[]------------------------------------------------------------------------[]
JUMPS.Div_32X16_16b_16b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
JUMPS.Divis32X16 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
32 / 16 bit = 16.16 bit
­  ¢å®¤:
HLDE / BC
HL, DE / BC
­  ¢ë室:
DE - १ã«ìâ â
HL - ®áâ â®ª
[]------------------------------------------------------------------------[]
JUMPS.Div_32X16_32b_16b - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
JUMPS.Divis32 - ¯à®æ¥¤ãà  ¡¥§§­ ª®¢®£® ¤¥«¥­¨ï
32 / 16 bit = 32.16 bit
­  ¢å®¤:
HLDE / BC
HL, DE / BC
­  ¢ë室:
HL, DE - १ã«ìâ â
BC - ®áâ â®ª
[]------------------------------------------------------------------------[]
JUMPS.ConvertNumbers_32b - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
32 bit ¢ ⥪áâ á 㤠«¥­¨¥¬ ¢¥¤ãé¨å ­ã«¥©.
JUMPS.ConvNumTxt32 - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
32 bit ¢ ⥪áâ
­  ¢å®¤:
BCHL - ç¨á«® 32 bit
BC, HL - ç¨á«® 32 bit
DE -  ¤à¥á ¡ãä¥à 
­  ¢ë室:
DE -  ¤à¥á á«¥¤ãî饣® ¡ ©â  §  ç¨á«®¬
[]------------------------------------------------------------------------[]
JUMPS.ConvertNumbers_16b - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
16 bit ¢ ⥪áâ á 㤠«¥­¨¥¬ ¢¥¤ãé¨å ­ã«¥©.
JUMPS.ConvNumTxt16 - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
16 bit ¢ ⥪áâ
­  ¢å®¤:
HL - ç¨á«® 16 bit
@ -635,8 +626,8 @@
[]------------------------------------------------------------------------[]
JUMPS.ConvertNumbers_8b- ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
8 bit ¢ ⥪áâ á 㤠«¥­¨¥¬ ¢¥¤ãé¨å ­ã«¥©.
JUMPS.ConvNumTxt8 - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
8 bit ¢ ⥪áâ
­  ¢å®¤:
A - ç¨á«® 8 bit
@ -646,18 +637,18 @@
[]------------------------------------------------------------------------[]
JUMPS.atoi_32b - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ⥪áâ  ¢ ¡¥§§­ ª®¢®¥
JUMPS.ConvTxtNum32 - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ⥪áâ  ¢ ¡¥§§­ ª®¢®¥
ç¨á«® 32 bit
­  ¢å®¤:
DE -  ¤à¥á ⥪áâ  (ª®­¥æ áâப¨ - 0)
­  ¢ë室:
HLIX - ç¨á«®
HL, IX - ç¨á«®
C flag - ®è¨¡ª 
[]------------------------------------------------------------------------[]
JUMPS.atoi_16b - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ⥪áâ  ¢ ¡¥§§­ ª®¢®¥
JUMPS.ConvTxtNum16 - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ⥪áâ  ¢ ¡¥§§­ ª®¢®¥
ç¨á«® 16 bit
­  ¢å®¤:
@ -679,35 +670,3 @@
áâ à®£® §­ ç¥­¨ï ­®¬¥à  áâà ­¨æë ¤«ï ¢®ááâ ­®¢«¥­¨ï)
[]------------------------------------------------------------------------[]
„® ᬥ饭¨ï 0xC0 ª®¬ ­¤ë ¯¥à¥å®¤  § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (¡ ©âë 0xC9).
[]------------------------------------------------------------------------[]
ޡ鍥 ¯¥à¥¬¥­­ë¥ ᮠᬥ饭¨¥ 0xC0 ®â ­ ç «  â ¡«¨æë ¯¥à¥å®¤®¢:
NUM_DEVICES 1 Š®«¨ç¥á⢮ ãáâனáâ¢
TreeFlag 1 ”« £ ¤¥à¥¢  ¤¨à¥ªâ®à¨©
CMOSFlag 1 ”« £ CMOS: 0 - ­¥â
1 - ¥áâì
MouseFlag 1 ”« £ ¬ëè¨: 0 - ­¥â
1 - ¥áâì
CMOSPrint 1 ”« £ à §à¥è¥­¨ï ¯¥ç â¨ ¤ âë ¢à¥¬¥­¨
1 - § ¯à¥é¥­®, 0 - à §à¥è¥­®
RAMPAGES
.FNPAGESID 1 ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠£¤¥ FN
.FNREZ2 1 ‘âà ­¨æ  á äã­ªæ¨ï¬¨ FN
.FNFONT 1 ‘âà ­¨æ  èà¨ä⮢
.FNREZ3 1 ‘âà ­¨æ  ¥é¥ ­¥¬­®£® ä㭪権 FN
.BufferID 1 ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à 
.FLX 1 ‘âà ­¨æ  ¤«ï § £à㧪¨ FLX ¯« £¨­®¢
.LEFTPANEL 1 ‘âà ­¨æ  ª â «®£  ‹¥¢®© ¯ ­¥«¨
.RIGHTPANEL 1 ‘âà ­¨æ  ª â «®£  <20>à ¢®© ¯ ­¥«¨
.BuffPg1 1
.BuffPg2 1
.BuffPg3 1 ¨á¯®«ì§ã¥âáï ª®¯¨à®¢é¨ª®¬ ä ©«®¢/¤¨à¥ªâ®à¨©
.BuffPg4 1 ¨á¯®«ì§ã¥âáï á®àâ¨à®¢ª®©, à ¡®â  á ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨©
.BuffPgEnd 1 ¡ ©â 0xFF ¬ àª¥à ª®­æ  ᯨ᪠ áâà ­¨æ
.FILES_COUNT 2 ª®«¨ç¥á⢮ ¯®¬¥ç¥­­ëå ä ©«®¢
.FILES_BYTES 5 à §¬¥à ¯®¬¥ç¥­­ëå ä ©«®¢ ¢ ¡ ©â å

View File

@ -1,41 +1,4 @@
11.01.2026
FlexNavigator 1.16.05
- ¢ ä㭪樨 ⥪á⮢®£® ¢¢®¤  § ¡«®ª¨à®¢ ­  ®¡à ¡®âª  ª« ¢¨è¨
ALT, ¢ë§ë¢ «® § ¢¨á ­¨¥ ¯à¨ ¯®¯ë⪥ ᤥ« âì ᬥ­ã ¤¨áª  (ALT/Fx).
- ã¡à ­® 㤠«¥­¨¥ ¢ ०¨¬¥ ¯à®á¬®âà  ¤¥à¥¢ .
07.09.2025
FlexNavigator 1.16.04
- á®àâ¨à®¢ª  ¨ ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨© ⥯¥àì ­¥ ¨á¯®«ì§ã¥â
áâà ­¨æë ¯ ­¥«¥©.
- ã¡à ­® ¯¥à¥áâ ¢«¥­¨¥ áâà ­¨æ ¢ ᯨ᪥ ¢ë¤¥«¥­­ëå ¯à¨ á®àâ¨à®¢ª¥.
- ¤®¤¥« ­® ª®¯¨à®¢ ­¨¥ ¤¨à¥ªâ®à¨©, ¯®ª  ⮫쪮 ⮩ çâ® ¯®¤ ªãàá®à®¬.
- ᤥ« ­®/¯¥à¥¤¥« ­® ¨§¬¥à¥­¨¥ à §¬¥à  ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å ¯®¤ ªãàá®à®¬.
- ¤®¡ ¢«¥­® ®¯¨á ­¨¥ ä®à¬ ¯®«¥© ¢¢®¤ .
- ¯¥à¥­¥á¥­ë ­¥ª®â®àë¥ tab â ¡«¨æë.
- ¯¥à¥­¥á¥­ë ¡ãä¥àë ¤«ï § £à㧪¨ ini ä ©«¨ª®¢.
27.08.2025
FlexNavigator 1.16.03
- ¨á¯à ¢«¥­® ä®à¬¨à®¢ ­¨¥ ¯ã⨠¤® ¯ ¯ª¨ ¯« £¨­®¢.
- MISC ä㭪樨 ¯¥à¥­¥á¥­ë ¨§ 2 १¨¤¥­â  ¢ 3.
- ¯¥à¥à á¯à¥¤¥«¥­¨¥ TAB â ¡«¨æ.
- ¢ ®¯¨á ­¨¥ Flex Navigator API ¤®¡ ¢«¥­® ®¯¨á ­¨¥ £«®¡ «ì­ëå
¯¥à¥¬¥­­ëå.
FileViewer.flx 1.07
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
FileEditor.flx 1.11
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
02.08.2025
FlexNavigator 1.16.02
- ¯¥à¥¤¥« ­® ®â®¡à ¦¥­¨¥ ¤ âë/¢à¥¬¥­¨, ¢ ०¨¬¥ 1 (ä®à¬ â 02.08.2025)
­¥¯à ¢¨«ì­® ª®­¢¥à⨫® £®¤.
- ®¡­®¢«¥­® ®¯¨á ­¨¥ Flex Navigator API ¤® ¢¥àᨨ 0.5.
- 㤠«¥­ ®¤¨­ ¤¦ ¬¯ ¨§ â ¡«¨æë §  ­¥­ ¤®¡­®áâìî.
- ¡®«ì讥 ¯¥à¨¬¥­®¢ ­¨¥ ¬¥â®ª, ¯¥à¥á¡®àª  ¢á¥£® ¤«ï ¯à®¢¥àª¨.
29.07.2025
FileEditor.flx 1.10
- γαβΰ ­­<E282AF> ―₯ΰ₯―γβ ­­λ₯ ͺ­<CDBA>ͺ¨ €«ο ­ ¦ β¨© ¬λθμξ €«ο F7 ¨ F9.

View File

@ -1,15 +1,8 @@
Flex navigator TODO:
[] ¯« £¨­ CD Player ¨á¯à ¢¨âì ᬥ­ã ¤¨áª .
[] ä ©« á à áè¨à¥­¨¥¬ fln ¯® F3 ¢ë§ë¢ ¥â § ¢¨á ­¨¥.
[] ¨á¯à ¢¨âì £«®¡ «ì­ë© ¨­¤¨ª â®à ¯à®æ¥áá  ª®¯¨à®®¢ ­¨ï, ¯®ª  ¯à¨¢¨à ¥â.
[] ¤®¡ ¢¨âì ¯®¤¤¥à¦ªã ¤¦®©á⨪  ¤«ï ­ ¢¨£ æ¨¨.
[] ¢ ª®¯¨à®¢ ­¨¨ ä ©«®¢/¤¨à¥ªâ®à¨© ¤®¤¥« âì ®¡à ¡®âªã ®è¨¡®ª ¯à¨ á®§¤ ­¨¨ ¤¨à¥ªâ®à¨©.
[] ¢ ¯« £¨­¥ । ªâ®à  ¨á¯à ¢¨âì ­¥ á®åà ­¥­¨¥ ¢¢¥¤¥­­ë®© áâப¨ ¯à¨ ­ ¦ â¨¨¨ ä㭪樮­ «ì­ëå ª« ¢¨è ­¥ á¢ï§ ­­ëå á । ªâ¨à®¢ ­¨¥¬.
[] ¤«ï à ¡®âë ¢ ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨© ã¡à âì ¯®¤¬¥­ã áâà ­¨æ ¢ ᯨ᪥ ¢ë¤ ­­ëå.
[] ¤®¡ ¢¨âì áâ५ª¨ ¢«¥¢®/¢¯à ¢® ¤«ï ¢ë¡®à  ¤¨áª®¢ ¥á«¨ ¡®«ìè¥ 10.
[] ¤®¡ ¢¨âì ¢ ­ áâனª¨  ¢â®¯®ª § ¨«¨ ¯® ENTER ¯à¨ ¯¥à¥¬¥é¥­¨¨ ¯® ¤¥à¥¢ã ª â «®£®¢
[] ¤®¡ ¢¨âì ¢ ­ áâனª¨ ¢ë¡®à ¬¥­ïâì «¨  ªâ¨¢­ãî ¯ ­¥«ì ¯à¨ ᬥ­¥ ¤¨áª  ­  ­¥  ªâ¨¢­®© ¯ ­¥«¨
[] ¯à¨ ¢ë¢®¤¥ ¤¥à¥¢  ª â «®£®¢ ᤥ« âì áªà®«« ¢«¥¢®/¢¯à ¢® ¥á«¨ ¤¥à¥¢® ­¥ ¢«¥§ ¥â ¯® £®à¨§®­â «¨
[] ¯® ª­®¯ª¥ F6 ⮫쪮 ¯¥à¥¨¬¥­®¢ ­¨¥,   ¤®«¦­® ¡ëâì ¯¥à¥¨¬¥­®¢ ­¨¥/¯¥à¥¬¥é¥­¨¥ ä ©«  ¥á«¨ ­  ¯ ­¥«ïå à §­ë¥ ¯ãâ¨
[] ¯¥à¥¤¥« âì § å®à¤ª®¦¥­­ë¥ ª®®à¤¨­ âë, ¯¥à¥¤¥« âì ­  ¯à¨¢ï§ªã ª ª®®à¤¨­ â ¬ ®ª­ 
@ -18,7 +11,6 @@ Flex navigator TODO:
[] ¯« £¨­ ¤«ï á®§¤ ­¨ï ä®à¬ ®ª®­
[?] ¢ë§®¢ ¨ ¢§ ¨¬®¤¥©á⢨¥ ¯« £¨­  á ¯« £¨­®¬
[x] (¥áâì ¨§­ ç «ì­®) ¤®¡ ¢¨âì ¢ ­ áâனª¨ ¢ë¡®à ¬¥­ïâì «¨  ªâ¨¢­ãî ¯ ­¥«ì ¯à¨ ᬥ­¥ ¤¨áª  ­  ­¥  ªâ¨¢­®© ¯ ­¥«¨
[x] § £à㧪  FLX ¯« £¨­  ¯® ¨¬¥­¨ ¡¥§ § ¯ã᪠
[x] ¢¢®¤ ¢ ª®¬ ­¤­ãî áâப㠨 ­ ¦ â¨¥ ALT+F1/F2 (¢ë¡®à ¤à ©¢ ) ¯®¤¢¨á ¥â
[x] á®àâ¨à®¢é¨ª á®àâ¨àã¥â "..",   ­¥ ¤®«¦¥­

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fn/fn.exe

Binary file not shown.

View File

@ -1,41 +1,4 @@
10.01.2026
FlexNavigator 1.16.05
- ¢ ä㭪樨 ⥪á⮢®£® ¢¢®¤  § ¡«®ª¨à®¢ ­  ®¡à ¡®âª  ª« ¢¨è¨
ALT, ¢ë§ë¢ «® § ¢¨á ­¨¥ ¯à¨ ¯®¯ë⪥ ᤥ« âì ᬥ­ã ¤¨áª  (ALT/Fx).
- ã¡à ­® 㤠«¥­¨¥ ¢ ०¨¬¥ ¯à®á¬®âà  ¤¥à¥¢ .
07.09.2025
FlexNavigator 1.16.04
- á®àâ¨à®¢ª  ¨ ª®¯¨à®¢ ­¨¥ ä ©«®¢/¤¨à¥ªâ®à¨© ⥯¥àì ­¥ ¨á¯®«ì§ã¥â
áâà ­¨æë ¯ ­¥«¥©.
- ã¡à ­® ¯¥à¥áâ ¢«¥­¨¥ áâà ­¨æ ¢ ᯨ᪥ ¢ë¤¥«¥­­ëå ¯à¨ á®àâ¨à®¢ª¥.
- ¤®¤¥« ­® ª®¯¨à®¢ ­¨¥ ¤¨à¥ªâ®à¨©, ¯®ª  ⮫쪮 ⮩ çâ® ¯®¤ ªãàá®à®¬.
- ᤥ« ­®/¯¥à¥¤¥« ­® ¨§¬¥à¥­¨¥ à §¬¥à  ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å ¯®¤ ªãàá®à®¬.
- ¤®¡ ¢«¥­® ®¯¨á ­¨¥ ä®à¬ ¯®«¥© ¢¢®¤ .
- ¯¥à¥­¥á¥­ë ­¥ª®â®àë¥ tab â ¡«¨æë.
- ¯¥à¥­¥á¥­ë ¡ãä¥àë ¤«ï § £à㧪¨ ini ä ©«¨ª®¢.
27.08.2025
FlexNavigator 1.16.03
- ¨á¯à ¢«¥­® ä®à¬¨à®¢ ­¨¥ ¯ã⨠¤® ¯ ¯ª¨ ¯« £¨­®¢.
- MISC ä㭪樨 ¯¥à¥­¥á¥­ë ¨§ 2 १¨¤¥­â  ¢ 3.
- ¯¥à¥à á¯à¥¤¥«¥­¨¥ TAB â ¡«¨æ.
- ¢ ®¯¨á ­¨¥ Flex Navigator API ¤®¡ ¢«¥­® ®¯¨á ­¨¥ £«®¡ «ì­ëå
¯¥à¥¬¥­­ëå.
FileViewer.flx 1.07
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
FileEditor.flx 1.11
- ¬¥«ª®¥ ¨á¯à ¢«¥­¨¥ ¯®§¨æ¨¨ ¢ë¢®¤  ¤ âë/¢à¥¬¥­¨.
02.08.2025
FlexNavigator 1.16.02
- ¯¥à¥¤¥« ­® ®â®¡à ¦¥­¨¥ ¤ âë/¢à¥¬¥­¨, ¢ ०¨¬¥ 1 (ä®à¬ â 02.08.2025)
­¥¯à ¢¨«ì­® ª®­¢¥à⨫® £®¤.
- ®¡­®¢«¥­® ®¯¨á ­¨¥ Flex Navigator API ¤® ¢¥àᨨ 0.5.
- 㤠«¥­ ®¤¨­ ¤¦ ¬¯ ¨§ â ¡«¨æë §  ­¥­ ¤®¡­®áâìî.
- ¡®«ì讥 ¯¥à¨¬¥­®¢ ­¨¥ ¬¥â®ª, ¯¥à¥á¡®àª  ¢á¥£® ¤«ï ¯à®¢¥àª¨.
29.07.2025
FileEditor.flx 1.10
- γαβΰ ­­<E282AF> ―₯ΰ₯―γβ ­­λ₯ ͺ­<CDBA>ͺ¨ €«ο ­ ¦ β¨© ¬λθμξ €«ο F7 ¨ F9.

View File

@ -1,11 +1,5 @@
; LAST UPDATE: 11.01.2026 savelij
NUM_FILES_PANEL EQU 17 ; ª®«¨ç¥á⢮ ä ©«®¢ ¢ á⮫¡æ¥ ¯ ­¥«¨
NUM_PAGES_FN EQU 7 ; ª®«¨ç¥á⢮ áâà ­¨æ ¯ ¬ï⨠¤«ï à ¡®âë FN
DateMonthFormat ; ä®à¬ â ¢ë¢®¤  ¬¥áïæ  ¢ ¤ â¥
.Digit EQU 1 ; ¬¥áïæ æ¨äன 02.08.2025
.Text EQU 2 ; ¬¥áïæ â¥ªá⮬ 2 Aug 2025
; LAST UPDATE: 26.07.2025 savelij
INIT_VAR 0x8000
SETVAR WorkBuffer, 0x400 ; à ¡®ç¨© ¡ãä¥à
@ -36,6 +30,7 @@ FLXMODES
; 1 -  ¤à¥á ª®¬¯¨«ï樨 ¨ à ¡®âë ¢  ¤à¥á å 0x4000-0x7FFF
LenInpData EQU 12 ; ª ª®¥-⮠ᬥ饭¨¥ ¤«ï ¬¥âª¨ SearchStr
CursTimer EQU 6 ; "ç áâ®â " ¬®à£ ­¨ï ⥪á⮢®£® ªãàá®à 
Step EQU 8 ; è¨à¨­  ᨬ¢®«  ¤«ï ¯¥à¥¬¥é¥­¨ï ªãàá®à  ¯à¨ ¢¢®¤¥ ⥪áâ 
MainPullMenu EQU 6 ; ª®«¨ç¥á⢮ ¯ã­ªâ®¢ ¢ £« ¢­®¬ ¬¥­î
@ -122,7 +117,6 @@ WINSUBOBJ
PANEL
_INIT_VAR
_SETVAR .PANELFLAG, BYTE ; ”« £ ¯ ­¥«¨ ¡¨â 7 - ¡¨â ¢ë¤¥«¥­­®áâ¨
; ¡¨â 1 - áâà ­¨æ  ¤«ï á®àâ¨à®¢ª¨
; ¡¨â 0 - ­®¬¥à ¯ ­¥«¨
_SETVAR .VIEWFLAG, BYTE ; ”« £ ¢¨¤  ¯ ­¥«¨ 0 - ªà âª ï ¯ ­¥«ì
; ¡¨â 0 - ¯®¤à®¡­ ï ¯ ­¥«ì
@ -154,7 +148,6 @@ PANEL
PANELFLAG
_BITMASK PRNDOSPATH, 7 ; =1-¯¥ç â âì ¯ãâì DOS
_BITMASK DIRPAGE, 1 ; =1-A-­®¬¥à áâà ­¨æë, =0-áâà ­¨æë ¯ ­¥«¥©
_BITMASK SIDE, 0 ; =1-¯à ¢ ï ¯ ­¥«ì, =0-«¥¢ ï ¯ ­¥«ì
VIEWFLAG
@ -177,8 +170,7 @@ SORTFLAG
.MASKEXECFILTER EQU .M_FILTER | .M_EXEC
;[]----------------------------------------------------------[]
; ‘ªà®«« ¡ à
SCROLLBAR
BAR
_INIT_VAR
_SETVAR .X, WORD
_SETVAR .Y, WORD
@ -194,7 +186,7 @@ SCROLLBAR
;[]----------------------------------------------------------[]
; <20>ணà¥áá ¡ à
PROGRESSBAR
PROC
_INIT_VAR
_SETVAR .X, WORD
_SETVAR .Y, WORD
@ -260,96 +252,81 @@ FORMTABL
_BITMASK CLOSEWIN, 0 ; ¢ë§¢ âì äã­ªæ¨î § ªàëâ¨ï ®ª­  ¯¥à¥¤ § ¯ã᪮¬ ¯à®£à ¬¬ë ¯® «¥¢®© ª­®¯ª¥
_BITMASK ENDTABL, 7 ; ¡¨â ¢ .XMINH 㪠§ â¥«ì ­  ª®­¥æ ᯨ᪠
;[]----------------------------------------------------------[]
INPUTFORM
_INIT_VAR
_SETVAR .MAXLEN, BYTE ; +00 Œ ªá¨¬ «ì­ ï ¤«¨­  áâப¨
_SETVAR .FLAG, BYTE ; +01 ”« £ £®â®¢­®áâ¨
_SETVAR .CURR_X, BYTE ; +02 ⥪ãé ï X ¯®§¨æ¨ï ªãàá®à 
_SETVAR .CURRADD_X, BYTE ; +03 ⥪ãé ï AddX
_SETVAR .CURR_SYMBOLS, BYTE ; +04 ª®«¨ç¥á⢮ ¢¢¥¤¥­­ëå ᨬ¢®«®¢
_SETVAR .SCR_POS_X, WORD ; +05 X ¯®§¨æ¨ï áâப¨ ­  íªà ­¥
_SETVAR .SCR_POS_Y, WORD ; +07 Y ¯®§¨æ¨ï áâப¨ ­  íªà ­¥
_SETVAR .SCR_LEN_X, WORD ; +09 X ¤«¨­  áâப¨ ­  íªà ­¥
_SETVAR .COLOR, BYTE ; +0B –¢¥â áâப¨
_SETVAR .BUFLINE, 0 ; +0C ...á ¬  áâப 
; ¡ §  â ¡«¨æë ¯¥à¥å®¤®¢ ¤«ï ¢ë§®¢  ¨§ ¯« £¨­®¢
JUMPS
.JUMPSIZE EQU 3
; â ¡«¨æ  ¯¥à¥å®¤®¢ ­  ä㭪樨 ¤«ï ¯« £¨­®¢
_INIT_VAR BASE_ADDR
_SETVAR .MainStartFN, .JUMPSIZE
_INIT_VAR BASE_ADDR + .JUMPSIZE ; ¯à®¯ã᪠¯¥à¥å®¤  ­  ®á­®¢­®© ¢å®¤
_SETVAR .ClearScreen, .JUMPSIZE
_SETVAR .MakeWindow, .JUMPSIZE
_SETVAR .ReplaceColorRectan, .JUMPSIZE
_SETVAR .PrintTxtLine_IFF, .JUMPSIZE
_SETVAR .PrintTxtLine, .JUMPSIZE
_SETVAR .PrintTxtLineNumsChar, .JUMPSIZE
_SETVAR .PrintPathLeft, .JUMPSIZE
_SETVAR .PrintPathRight, .JUMPSIZE
_SETVAR .PrintPathCentr, .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 .InputLineExitOk, .JUMPSIZE
_SETVAR .InputLineExitCancel, .JUMPSIZE
_SETVAR .InpLnExtN, .JUMPSIZE
_SETVAR .InpLnExtC, .JUMPSIZE
_SETVAR .DOSError, .JUMPSIZE
_SETVAR .InitScrollBar, .JUMPSIZE
_SETVAR .DrawHScrollBar, .JUMPSIZE
_SETVAR .DrawVScrollBar, .JUMPSIZE
_SETVAR .InitProgressBar, .JUMPSIZE
_SETVAR .DrawProgressBar, .JUMPSIZE
_ADDVAR .JUMPSIZE * 5 ; RESERVED 15 BYTE 0xC9
_SETVAR .WaitUnpressMouse, .JUMPSIZE
_SETVAR .CheckCoordsMouse, .JUMPSIZE
_SETVAR .CMOSPrintDateTime, .JUMPSIZE
_ADDVAR .JUMPSIZE * 1 ; RESERVED 3 BYTE 0xC9
_SETVAR .PointerMouseClock, .JUMPSIZE
_SETVAR .PointerMousePointer, .JUMPSIZE
_ADDVAR .JUMPSIZE * 4 ; RESERVED 12 BYTE 0xC9
_SETVAR .ConvertNumbers_40b, .JUMPSIZE
_SETVAR .MoveBytesInc, .JUMPSIZE
_SETVAR .MoveBytesDec, .JUMPSIZE
_SETVAR .Mul_8X8_16b, .JUMPSIZE
_SETVAR .Mul_16X8_24b, .JUMPSIZE
_SETVAR .Mul_16X16_16b, .JUMPSIZE
_SETVAR .Mul_16X16_32b, .JUMPSIZE
_SETVAR .Mul_32X16_32b, .JUMPSIZE
_SETVAR .Div_16X16_16b_16b, .JUMPSIZE
_SETVAR .Div_24X16_8b_16b, .JUMPSIZE
_SETVAR .Div_32X16_16b_16b, .JUMPSIZE
_SETVAR .Div_32X16_32b_16b, .JUMPSIZE
_SETVAR .ConvertNumbers_32b, .JUMPSIZE
_SETVAR .ConvertNumbers_16b, .JUMPSIZE
_SETVAR .ConvertNumbers_8b, .JUMPSIZE
_SETVAR .atoi_32b, .JUMPSIZE
_SETVAR .atoi_16b, .JUMPSIZE
_SETVAR .PrnHScrBar, .JUMPSIZE
_SETVAR .PrnVScrBar, .JUMPSIZE
_SETVAR .InitProcess, .JUMPSIZE
_SETVAR .PrnProcess, .JUMPSIZE
_ADDVAR .JUMPSIZE * 5 ; 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
; १¥à¢¨à®¢ ­¨¥ ¤® ᬥ饭¨ï 0xC0
_ADDVAR (BASE_ADDR + 0xC0) - .CURRVAR ; RESERVED UNTIL OFFSET 0xC0 BYTE 0xC9
; £«®¡ «ì­ë¥ ¯¥à¥¬¥­­ë¥ ¤«ï ¤®áâ㯠 ¨§ ¯« £¨­®¢
_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 ; ”« £ à §à¥è¥­¨ï ¯¥ç â¨ ¤ âë ¢à¥¬¥­¨
; 1 - § ¯à¥é¥­®, 0 - à §à¥è¥­®
_SETVAR .FNPAGESID, BYTE ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠FN
_SETVAR .CMOSPrint, BYTE
_SETVAR .FNPAGESID, BYTE ; ˆ­¤¥ä.¯ ¬ï⨠£¤¥ FN
_SETVAR .FNREZ2, BYTE ; ‘âà ­¨æ  á äã­ªæ¨ï¬¨ FN
_SETVAR .FNFONT, BYTE ; ‘âà ­¨æ  èà¨ä⮢
_SETVAR .FNREZ3, BYTE ; ‘âà ­¨æ  FN HELP
; <20>ãä¥à­ë¥ áâà ­¨æë ¯®¤ ¨­â¥à䥩á
IFDEF ENABLE.VIEW
_SETVAR .FNVIEW, BYTE ; ‘âà ­¨æ  á FileViewer
ENDIF
IFDEF ENABLE.EDIT
_SETVAR .FNEDIT, BYTE ; ‘âà ­¨æ  á FileEditor
ENDIF
_SETVAR .BufferID, BYTE ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à 
_SETVAR .FLX, BYTE ; ‘âà ­¨æ  ¤«ï § £à㧪¨ FLX ¯« £¨­®¢
_SETVAR .FLX, BYTE ; ‘âà ­¨æ  ¤«ï ¯®¤£à㧪¨ FLX ¯à®á¬®âà. FLX ã⨫¨â
_SETVAR .LEFTPANEL, BYTE ; ‘âà ­¨æ  ª â «®£  ‹¥¢®© ¯ ­¥«¨
_SETVAR .RIGHTPANEL, BYTE ; ‘âà ­¨æ  ª â «®£  <20>à ¢®© ¯ ­¥«¨
_SETVAR .BuffPg1, BYTE
_SETVAR .BuffPg2, BYTE
_SETVAR .BuffPg3, BYTE ; ¨á¯®«ì§ã¥âáï ª®¯¨à®¢é¨ª®¬ ä ©«®¢/¤¨à¥ªâ®à¨©
_SETVAR .BuffPg4, BYTE + BYTE ; ¨á¯®«ì§ã¥âáï á®àâ¨à®¢ª®©, à ¡®â  á ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨©
_SETVAR .FILES_COUNT, WORD
_SETVAR .FILES_BYTES, DWORD + 1
; <20>ãä¥à­ë¥ áâà ­¨æë ¯®¤ ¨­â¥à䥩á
_SETVAR .BuffPg1, WORD
_SETVAR .BuffPg3, 3
FileHDR
_INIT_VAR
@ -366,7 +343,6 @@ FileHDR
_SETVAR .Hours, BYTE ; +#16
_SETVAR .Minutes, BYTE ; +#17
_SETVAR .SIZE, 0
_BITMASK MARK, 0 ; 1-ä ©« ¯®¬¥ç¥­
; ¨¬¥­  ä ©«®¢
@ -381,17 +357,13 @@ FILENAME
.EDIT_FLX EQU "FNEDITOR.FLX"
.VIEW_FLX EQU "FNVIEWER.FLX"
; ¢­ãâ७­¨¥ ®è¨¡ª¨
FNinternal
_INIT_VAR 0xF0
_SETVAR .PlugNotFound
; ®â« ¤®ç­®¥, ­¥ ¬¥­ïâì ¯® ¨§¡¥¦ ­¨¥ £«îª®¢
PLUGS_ENABLE EQU 0 ; ¬¥­î ¯« £¨­®¢
TREE_REZID EQU 0
MARK_DIR EQU 0 ; ¢ë¡®à ¤¨à¥ªâ®à¨¨ á ¯®¤áç¥â®¬ à §¬¥à  ¢á¥å ä ©«®¢
TREE_DIR_ENTER EQU 0 ; ¯®ª § ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¤¥à¥¢¥ ¯® ENTER
CORR_FILENAME EQU 1 ; ¯à¥®¡à §®¢ ­¨¥ ᨬ¢®«®¢ ¨¬¥­¨ ä ©« 
; § ¯à¥é¥­­ë¥ ᨬ¢®«ë ¢ ª®à®âª¨å ¨¬¥­ å ­  FAT
; 22 2A 2B 2C 2E 2F 3A 3B 3C 3D 3E 3F 5B 5C 5D 7C
; \" * + , . / : ; < = > ? [ \\ ] |

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 22.08.2025 savelij
; LAST UPDATE: 19.07.2025 savelij
include macros.a80
@ -14,8 +14,19 @@
include fat_dir_sp.a80
include fn_version.a80
ENABLE
;.EDIT
;.VIEW
;.HELP
PAGES_MEM := 4
IFDEF ENABLE.VIEW
PAGES_MEM := PAGES_MEM + 1
ENDIF
IFDEF ENABLE.EDIT
PAGES_MEM := PAGES_MEM + 1
ENDIF
INIT_VAR 0xC000
SETVAR FONT_RAW, 6888;IFFFONT_RAW_PACK - FONT_RAW_PACK
SETVAR_ALIGN
@ -52,7 +63,7 @@ EntryExec: DI
LD A,(MAIN.FNMAIN) ; set pages from 0xC000
SETPORT WINSP.CPU3,,0
LD HL,BASE_ADDR ; FNMAIN
LD DE,BLOCK1_SIZE
LD DE,END_BLOCK_1 - START_BLOCK_1
LD A,(MAIN.hFile)
SPDSS DSSF.READ
JP C,disk_error
@ -60,7 +71,7 @@ EntryExec: DI
LD A,(MAIN.FNREZ2)
SETPORT WINSP.CPU3,,0
LD HL,0xC000 ; FNREZ2
LD DE,BLOCK2_SIZE
LD DE,END_BLOCK_2 - START_BLOCK_2
LD A,(MAIN.hFile)
SPDSS DSSF.READ
JP C,disk_error
@ -87,11 +98,32 @@ EntryExec: DI
; § £à㧪  奫¯ 
LD A,(MAIN.FNREZ3) ; FNREZ3
SETPORT WINSP.CPU3,,0
; SETPORT WINSP.CPU1,,0 ; ????
LD HL,0xC000
LD DE,BLOCK3_SIZE
LD DE,END_BLOCK_3 - START_BLOCK_3
LD A,(MAIN.hFile)
SPDSS DSSF.READ
JP C,disk_error
IFDEF ENABLE.VIEW
; § £à㧪  ¢ìà 
LD A,(MAIN.FNVIEW) ; FNVIEW
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
ENDIF
IFDEF ENABLE.EDIT
; § £à㧪  । ªâ®à 
LD A,(MAIN.FNEDIT) ; FNEDIT
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
ENDIF
LD A,(MAIN.hFile)
SPDSS DSSF.CLOSE ; close file
;!TEST ; !HARDCODE SYS_PAGE
@ -173,6 +205,12 @@ MAIN
.FNREZ2 db 0x00 ; 00
.FNFONT db 0x00 ; 01
.FNREZ3 db 0x00 ; 02
IFDEF ENABLE.VIEW
.FNVIEW db 0x00 ; 03
ENDIF
IFDEF ENABLE.EDIT
.FNEDIT db 0x00 ; 04
ENDIF
DB 0xFF
.copyright_str: DZ "\r\nThe Flex Navigator, ver.\{FLEX_VERS.NAVIGATOR}\r\n"

View File

@ -1,7 +1,7 @@
; LAST UPDATE: 10.01.2026 savelij
; LAST UPDATE: 29.07.2025 savelij
FLEX_VERS
.NAVIGATOR EQU "1.16.05"
.EDITOR EQU "1.11"
.VIEWER EQU "1.07"
.NAVIGATOR EQU "1.16.01"
.EDITOR EQU "1.10"
.VIEWER EQU "1.06"

236
fnbar.a80
View File

@ -1,13 +1,13 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 25.07.2025 savelij
;[]-----------------------------------------------------------[]
InitScrollBar LD C,(IX + SCROLLBAR.PAGE_FILES)
LD B,(IX + SCROLLBAR.PAGE_FILES + 1) ; Š®«-¢® í«¥¬. ­  áâà.
InitScrollBar LD C,(IX + BAR.PAGE_FILES)
LD B,(IX + BAR.PAGE_FILES + 1) ; Š®«-¢® í«¥¬. ­  áâà.
LD L,C
LD H,B
LD E,(IX + SCROLLBAR.MAX_FILES)
LD D,(IX + SCROLLBAR.MAX_FILES + 1) ; ¬ ªá.í«¥¬¥­â®¢
LD E,(IX + BAR.MAX_FILES)
LD D,(IX + BAR.MAX_FILES + 1) ; ¬ ªá.í«¥¬¥­â®¢
LD A,D
OR E
JR NZ,.L1
@ -18,11 +18,11 @@ InitScrollBar LD C,(IX + SCROLLBAR.PAGE_FILES)
ADD HL,DE
EX DE,HL
.L2 PUSH DE
LD E,(IX + SCROLLBAR.MAX_LEN)
LD D,(IX + SCROLLBAR.MAX_LEN + 1) ; Š®«-¢® ¢¨¤. í«¥¬. * à §¬¥à ¡ à 
CALL Mul_16X16_32b ; DE * BC = HL + DE
LD E,(IX + BAR.MAX_LEN)
LD D,(IX + BAR.MAX_LEN + 1) ; Š®«-¢® ¢¨¤. í«¥¬. * à §¬¥à ¡ à 
CALL Mult16X16 ; DE * BC = HL + DE
POP BC ; /¬ ªá.í«¥¬¥­â®¢
CALL Div_32X16_16b_16b ; HL + DE / BC = DE (HL-®áâ)
CALL Divis32X16 ; HL + DE / BC = DE (HL-®áâ)
LD A,H
OR L
JR Z,.L3
@ -31,21 +31,21 @@ InitScrollBar LD C,(IX + SCROLLBAR.PAGE_FILES)
SBC HL,DE
JR C,.L4
LD DE,0x0003
.L4 LD (IX + SCROLLBAR.LEN_FILES),E ; = ¤«¨­  ¡ à 
LD (IX + SCROLLBAR.LEN_FILES + 1),D ; = ¤«¨­  ¡ à 
.L4 LD (IX + BAR.LEN_FILES),E ; = ¤«¨­  ¡ à 
LD (IX + BAR.LEN_FILES + 1),D ; = ¤«¨­  ¡ à 
RET
DrawHScrollBar: PUSH IY
PrnHScrBar PUSH IY
GETPORT WINSP.Y_PORT
PUSH AF
GETPORT WINSP.CPU1
LD IYL,A
LD L,(IX + SCROLLBAR.FIRST_FILE) ; FirstFile
LD H,(IX + SCROLLBAR.FIRST_FILE + 1)
LD E,(IX + SCROLLBAR.PAGE_FILES)
LD D,(IX + SCROLLBAR.PAGE_FILES + 1)
LD C,(IX + SCROLLBAR.MAX_FILES) ; EquipFiles
LD B,(IX + SCROLLBAR.MAX_FILES + 1)
LD L,(IX + BAR.FIRST_FILE) ; FirstFile
LD H,(IX + BAR.FIRST_FILE + 1)
LD E,(IX + BAR.PAGE_FILES)
LD D,(IX + BAR.PAGE_FILES + 1)
LD C,(IX + BAR.MAX_FILES) ; EquipFiles
LD B,(IX + BAR.MAX_FILES + 1)
LD A,B
OR C
JR NZ,.L1
@ -63,11 +63,11 @@ DrawHScrollBar: PUSH IY
JR NC,.L2
LD HL,0x0000
.L2 EX DE,HL
LD C,(IX + SCROLLBAR.MAX_LEN)
LD B,(IX + SCROLLBAR.MAX_LEN + 1)
CALL Mul_16X16_32b
LD C,(IX + BAR.MAX_LEN)
LD B,(IX + BAR.MAX_LEN + 1)
CALL Mult16X16
POP BC
CALL Div_32X16_16b_16b
CALL Divis32X16
LD A,D
OR E
JR Z,.L3
@ -76,12 +76,12 @@ DrawHScrollBar: PUSH IY
RR E
JR NC,.L4
INC DE
.L4 LD L,(IX + SCROLLBAR.X)
LD H,(IX + SCROLLBAR.X + 1)
.L4 LD L,(IX + BAR.X)
LD H,(IX + BAR.X + 1)
SRL H
RR L
SET 6,H
LD A,(IX + SCROLLBAR.Y)
LD A,(IX + BAR.Y)
LD C,A
LD B,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
SETPORT WINSP.CPU1,0x50
@ -104,11 +104,11 @@ DrawHScrollBar: PUSH IY
EI
POP DE
.L3 PUSH DE
LD L,(IX + SCROLLBAR.X)
LD H,(IX + SCROLLBAR.X + 1)
LD L,(IX + BAR.X)
LD H,(IX + BAR.X + 1)
ADD HL,DE
LD E,(IX + SCROLLBAR.LEFT_FILES)
LD D,(IX + SCROLLBAR.LEFT_FILES + 1)
LD E,(IX + BAR.LEFT_FILES)
LD D,(IX + BAR.LEFT_FILES + 1)
LD A,D
OR E
JR Z,.L6
@ -122,10 +122,10 @@ DrawHScrollBar: PUSH IY
SRL H
RR L
SET 6,H
LD A,(IX + SCROLLBAR.Y)
LD A,(IX + BAR.Y)
LD C,A
LD E,(IX + SCROLLBAR.LEN_FILES)
LD D,(IX + SCROLLBAR.LEN_FILES + 1)
LD E,(IX + BAR.LEN_FILES)
LD D,(IX + BAR.LEN_FILES + 1)
LD A,D
OR A
JR NZ,.L7
@ -185,12 +185,12 @@ DrawHScrollBar: PUSH IY
SETPORT WINSP.CPU1,,0
EI
POP HL
LD C,(IX + SCROLLBAR.LEN_FILES)
LD B,(IX + SCROLLBAR.LEN_FILES + 1)
LD C,(IX + BAR.LEN_FILES)
LD B,(IX + BAR.LEN_FILES + 1)
PUSH BC
ADD HL,BC
LD C,(IX + SCROLLBAR.RIGHT_FILES)
LD B,(IX + SCROLLBAR.RIGHT_FILES + 1)
LD C,(IX + BAR.RIGHT_FILES)
LD B,(IX + BAR.RIGHT_FILES + 1)
LD A,B
OR C
JR Z,.L10
@ -201,8 +201,8 @@ DrawHScrollBar: PUSH IY
LD A,H
LD (BC),A
.L10 POP BC
LD L,(IX + SCROLLBAR.MAX_LEN)
LD H,(IX + SCROLLBAR.MAX_LEN + 1)
LD L,(IX + BAR.MAX_LEN)
LD H,(IX + BAR.MAX_LEN + 1)
OR A
SBC HL,BC
POP BC
@ -216,7 +216,7 @@ DrawHScrollBar: PUSH IY
SRL D
RR E
JR Z,.L11
LD A,(IX + SCROLLBAR.Y)
LD A,(IX + BAR.Y)
LD C,A
LD B,COLORP.HIGHGRAY + COLORI.HIGHGRAY;0x88
SETPORT WINSP.CPU1,0x50
@ -242,17 +242,17 @@ DrawHScrollBar: PUSH IY
POP IY
RET
DrawVScrollBar: PUSH IY
PrnVScrBar PUSH IY
GETPORT WINSP.Y_PORT
PUSH AF
GETPORT WINSP.CPU1
LD IYH,A
LD L,(IX + SCROLLBAR.FIRST_FILE) ; FirstFile
LD H,(IX + SCROLLBAR.FIRST_FILE + 1)
LD E,(IX + SCROLLBAR.PAGE_FILES)
LD D,(IX + SCROLLBAR.PAGE_FILES + 1)
LD C,(IX + SCROLLBAR.MAX_FILES) ; EquipFiles
LD B,(IX + SCROLLBAR.MAX_FILES + 1)
LD L,(IX + BAR.FIRST_FILE) ; FirstFile
LD H,(IX + BAR.FIRST_FILE + 1)
LD E,(IX + BAR.PAGE_FILES)
LD D,(IX + BAR.PAGE_FILES + 1)
LD C,(IX + BAR.MAX_FILES) ; EquipFiles
LD B,(IX + BAR.MAX_FILES + 1)
LD A,B
OR C
JR NZ,.L1
@ -270,12 +270,12 @@ DrawVScrollBar: PUSH IY
JR NC,.L2
LD HL,0x0000
.L2 EX DE,HL
LD C,(IX + SCROLLBAR.MAX_LEN)
LD B,(IX + SCROLLBAR.MAX_LEN + 1)
CALL Mul_16X16_32b
LD C,(IX + BAR.MAX_LEN)
LD B,(IX + BAR.MAX_LEN + 1)
CALL Mult16X16
POP BC
CALL Div_32X16_16b_16b
LD A,(IX + SCROLLBAR.Y)
CALL Divis32X16
LD A,(IX + BAR.Y)
LD IYL,A
LD A,D
OR E
@ -283,8 +283,8 @@ DrawVScrollBar: PUSH IY
PUSH DE
LD A,E
LD (.L4),A
LD L,(IX + SCROLLBAR.X)
LD H,(IX + SCROLLBAR.X + 1)
LD L,(IX + BAR.X)
LD H,(IX + BAR.X + 1)
SRL H
RR L
SET 6,H
@ -311,11 +311,11 @@ DrawVScrollBar: PUSH IY
EI
POP DE
.L3 PUSH DE
LD L,(IX + SCROLLBAR.Y)
LD H,(IX + SCROLLBAR.Y + 1)
LD L,(IX + BAR.Y)
LD H,(IX + BAR.Y + 1)
ADD HL,DE
LD E,(IX + SCROLLBAR.LEFT_FILES)
LD D,(IX + SCROLLBAR.LEFT_FILES + 1)
LD E,(IX + BAR.LEFT_FILES)
LD D,(IX + BAR.LEFT_FILES + 1)
LD A,D
OR E
JR Z,.L6
@ -326,12 +326,12 @@ DrawVScrollBar: PUSH IY
LD (HL),D
EX DE,HL
.L6 PUSH HL
LD L,(IX + SCROLLBAR.X)
LD H,(IX + SCROLLBAR.X + 1)
LD L,(IX + BAR.X)
LD H,(IX + BAR.X + 1)
SRL H
RR L
SET 6,H
LD A,(IX + SCROLLBAR.LEN_FILES)
LD A,(IX + BAR.LEN_FILES)
LD C,A
SUB 0x02
LD (.L7),A
@ -382,12 +382,12 @@ DrawVScrollBar: PUSH IY
SETPORT WINSP.CPU1,,0
EI
POP HL
LD C,(IX + SCROLLBAR.LEN_FILES)
LD B,(IX + SCROLLBAR.LEN_FILES + 1)
LD C,(IX + BAR.LEN_FILES)
LD B,(IX + BAR.LEN_FILES + 1)
PUSH BC
ADD HL,BC
LD C,(IX + SCROLLBAR.RIGHT_FILES)
LD B,(IX + SCROLLBAR.RIGHT_FILES + 1)
LD C,(IX + BAR.RIGHT_FILES)
LD B,(IX + BAR.RIGHT_FILES + 1)
LD A,B
OR C
JR Z,.L9
@ -398,8 +398,8 @@ DrawVScrollBar: PUSH IY
LD A,H
LD (BC),A
.L9 POP BC
LD L,(IX + SCROLLBAR.MAX_LEN)
LD H,(IX + SCROLLBAR.MAX_LEN + 1)
LD L,(IX + BAR.MAX_LEN)
LD H,(IX + BAR.MAX_LEN + 1)
OR A
SBC HL,BC
POP BC
@ -411,8 +411,8 @@ DrawVScrollBar: PUSH IY
JR C,.L10
LD A,L
LD (.L11),A
LD L,(IX + SCROLLBAR.X)
LD H,(IX + SCROLLBAR.X + 1)
LD L,(IX + BAR.X)
LD H,(IX + BAR.X + 1)
SRL H
RR L
SET 6,H
@ -440,21 +440,20 @@ DrawVScrollBar: PUSH IY
RET
;[]-----------------------------------------------------------[]
; ¨­¨æ¨ «¨§ æ¨ï ¨­¤¨ªâ®à  ¯à®æ¥áá 
InitProgressBar SUB A
LD (IX + PROGRESSBAR.CURR_PAGE),A
LD (IX + PROGRESSBAR.CURR_PAGE + 1),A
LD (IX + PROGRESSBAR.CURR_PAGE + 2),A
LD (IX + PROGRESSBAR.CURR_PAGE + 3),A
LD (IX + PROGRESSBAR.CORR_INDEX),A
LD (IX + PROGRESSBAR.CORR_INDEX + 1),A
LD C,(IX + PROGRESSBAR.MAX_LEN) ; Œ ªá/¬ ªá.¤«¨­ã ¯à®æ¥á 
LD B,(IX + PROGRESSBAR.MAX_LEN + 1)
LD E,(IX + PROGRESSBAR.MAX_PAGES)
LD D,(IX + PROGRESSBAR.MAX_PAGES + 1)
LD L,(IX + PROGRESSBAR.MAX_PAGES + 2)
LD H,(IX + PROGRESSBAR.MAX_PAGES + 3)
CALL Div_32X16_16b_16b ; HLDE / BC = DE, (HL-®áâ â®ª)
InitProcess SUB A
LD (IX + PROC.CURR_PAGE),A
LD (IX + PROC.CURR_PAGE + 1),A
LD (IX + PROC.CURR_PAGE + 2),A
LD (IX + PROC.CURR_PAGE + 3),A
LD (IX + PROC.CORR_INDEX),A
LD (IX + PROC.CORR_INDEX + 1),A
LD C,(IX + PROC.MAX_LEN) ; Œ ªá/¬ ªá.¤«¨­ã ¯à®æ¥á 
LD B,(IX + PROC.MAX_LEN + 1)
LD E,(IX + PROC.MAX_PAGES)
LD D,(IX + PROC.MAX_PAGES + 1)
LD L,(IX + PROC.MAX_PAGES + 2)
LD H,(IX + PROC.MAX_PAGES + 3)
CALL Divis32X16 ; HL + DE / BC = DE (HL-®áâ)
LD A,H
OR L
JR Z,.L2
@ -463,43 +462,42 @@ InitProgressBar SUB A
OR A
SBC HL,DE
JR C,.L1
LD A,(IX + PROGRESSBAR.MAX_PAGES + 2)
OR (IX + PROGRESSBAR.MAX_PAGES + 3)
LD A,(IX + PROC.MAX_PAGES + 2)
OR (IX + PROC.MAX_PAGES + 3)
JR NZ,.L1
LD E,(IX + PROGRESSBAR.MAX_PAGES)
LD D,(IX + PROGRESSBAR.MAX_PAGES + 1)
LD E,(IX + PROC.MAX_PAGES)
LD D,(IX + PROC.MAX_PAGES + 1)
LD BC,1000
LD (IX + PROGRESSBAR.CORR_INDEX),C
LD (IX + PROGRESSBAR.CORR_INDEX + 1),B
CALL Mul_16X16_32b
LD C,(IX + PROGRESSBAR.MAX_LEN) ; Œ ªá/¬ ªá.¤«¨­ã ¯à®æ¥á 
LD B,(IX + PROGRESSBAR.MAX_LEN + 1)
CALL Div_32X16_16b_16b ; HLDE / BC = DE, (HL-®áâ â®ª)
.L1 LD (IX + PROGRESSBAR.INDEX),E
LD (IX + PROGRESSBAR.INDEX + 1),D
LD (IX + PROC.CORR_INDEX),C
LD (IX + PROC.CORR_INDEX + 1),B
CALL Mult16X16
LD C,(IX + PROC.MAX_LEN) ; Œ ªá/¬ ªá.¤«¨­ã ¯à®æ¥á 
LD B,(IX + PROC.MAX_LEN + 1)
CALL Divis32X16 ; HL + DE / BC = DE (HL-®áâ)
.L1 LD (IX + PROC.INDEX),E
LD (IX + PROC.INDEX + 1),D
RET
DrawProgressBar:
PUSH IY
PrnProcess PUSH IY
GETPORT WINSP.Y_PORT
PUSH AF
GETPORT WINSP.CPU1
LD IYL,A
LD E,(IX + PROGRESSBAR.CURR_PAGE)
LD D,(IX + PROGRESSBAR.CURR_PAGE + 1)
LD L,(IX + PROGRESSBAR.CURR_PAGE + 2)
LD H,(IX + PROGRESSBAR.CURR_PAGE + 3)
LD A,(IX + PROGRESSBAR.CORR_INDEX)
OR (IX + PROGRESSBAR.CORR_INDEX + 1)
LD E,(IX + PROC.CURR_PAGE)
LD D,(IX + PROC.CURR_PAGE + 1)
LD L,(IX + PROC.CURR_PAGE + 2)
LD H,(IX + PROC.CURR_PAGE + 3)
LD A,(IX + PROC.CORR_INDEX)
OR (IX + PROC.CORR_INDEX + 1)
JR Z,.L1
LD C,(IX + PROGRESSBAR.CORR_INDEX)
LD B,(IX + PROGRESSBAR.CORR_INDEX + 1)
CALL Mul_16X16_32b
.L1 LD C,(IX + PROGRESSBAR.INDEX)
LD B,(IX + PROGRESSBAR.INDEX + 1)
CALL Div_32X16_16b_16b
LD L,(IX + PROGRESSBAR.X)
LD H,(IX + PROGRESSBAR.X + 1)
LD C,(IX + PROC.CORR_INDEX)
LD B,(IX + PROC.CORR_INDEX + 1)
CALL Mult16X16
.L1 LD C,(IX + PROC.INDEX)
LD B,(IX + PROC.INDEX + 1)
CALL Divis32X16
LD L,(IX + PROC.X)
LD H,(IX + PROC.X + 1)
SRL H
RR L
SET 6,H
@ -508,8 +506,8 @@ DrawProgressBar:
JR Z,.L2
PUSH DE
PUSH HL
LD L,(IX + PROGRESSBAR.MAX_LEN)
LD H,(IX + PROGRESSBAR.MAX_LEN + 1)
LD L,(IX + PROC.MAX_LEN)
LD H,(IX + PROC.MAX_LEN + 1)
OR A
SBC HL,DE
JR NC,.L3
@ -520,9 +518,9 @@ DrawProgressBar:
RR E
JR NC,.L4
INC DE
.L4 LD A,(IX + PROGRESSBAR.Y)
.L4 LD A,(IX + PROC.Y)
LD C,A
LD A,(IX + PROGRESSBAR.COLOR)
LD A,(IX + PROC.COLOR)
AND 0xF0
LD B,A
RRCA
@ -551,8 +549,8 @@ DrawProgressBar:
EI
POP DE
.L2 PUSH HL
LD L,(IX + PROGRESSBAR.MAX_LEN)
LD H,(IX + PROGRESSBAR.MAX_LEN + 1)
LD L,(IX + PROC.MAX_LEN)
LD H,(IX + PROC.MAX_LEN + 1)
OR A
SBC HL,DE
EX DE,HL
@ -563,9 +561,9 @@ DrawProgressBar:
RR E
JR NC,.L7
INC DE
.L7 LD A,(IX + PROGRESSBAR.Y)
.L7 LD A,(IX + PROC.Y)
LD C,A
LD A,(IX + PROGRESSBAR.COLOR)
LD A,(IX + PROC.COLOR)
AND 0x0F
LD B,A
RLCA

View File

@ -1,12 +1,12 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 27.04.2025 savelij
;[]----------------------------------------------------------[]
BegDIRECTORY LD HL,BegDIR
NewDIRECTORY PUSH HL
CALL ResInvert
POP HL
CALL PointerMouseClock
CALL SetClock
PUSH IY
SPDSS DSSF.CHDIR
POP IY
@ -67,10 +67,10 @@ NewDIRECT1 BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
LD A,(IY + PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
CALL NZ,DrawVScrollBar
JP PointerMousePointer
CALL NZ,PrnVScrBar
JP SetMouse
NewDIRTree PUSH IY
POP HL
@ -78,8 +78,13 @@ NewDIRTree PUSH IY
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
@ -103,9 +108,9 @@ RefreshDIR BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
LD A,(IY + PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
CALL NZ,DrawVScrollBar
CALL NZ,PrnVScrBar
RfDIRn1 LD HL,LeftPanel + PANEL.CURR_PATH
LD DE,RightPanel + PANEL.CURR_PATH
RefrDIR LD A,(DE)
@ -137,9 +142,9 @@ RefrDIR LD A,(DE)
LD A,(IY + PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
CALL NZ,DrawVScrollBar
CALL NZ,PrnVScrBar
RefrDex POP IY
RET

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 25.07.2025 savelij
;[]==========================================================[]
DOSline SUB A
@ -59,7 +59,7 @@ DOSlnEx
DOSloop SUB A
LD (HistCurrent),A
LD IX,DOSstr
LD HL,MAINTAB.DOSTab
LD HL,DOSTab
CALL DOSInputLine
RET C
JR Z,RunDOSline
@ -153,14 +153,18 @@ RunDLine DEC HL
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.BAR_X
ADD IX,DE
CALL DrawVScrollBar
CALL PrnVScrBar
POP IY
RET
@ -245,7 +249,7 @@ RunDOSexe1 ld hl,WorkBuffer
SUB A
CALL ClearScreen
CALL ResVideoMode
LD HL,ReStartFN
LD HL,ReStartPoint
EX (SP),HL
LD HL,WorkBuffer + 0x0100
SPDSS DSSF.EXEC,0
@ -344,7 +348,7 @@ SaveDOSline
PUSH BC
CALL FindHistory
POP BC
LD DE,REZ3_BUFFERS.DOShistory + REZ3_BUFFERS.DOShistory_Size
LD DE,DOShistory + DOShistory_Size
OR A
EX DE,HL
SBC HL,DE
@ -361,7 +365,7 @@ SaveDOSline
INC HL
EX DE,HL
PUSH HL
LD BC,REZ3_BUFFERS.DOShistory
LD BC,DOShistory
OR A
SBC HL,BC
LD C,L
@ -375,7 +379,7 @@ SaveDOSline
LDDR
.L2 POP BC
LD HL,DOSinp
LD DE,REZ3_BUFFERS.DOShistory
LD DE,DOShistory
LD A,C
INC A
LD (DE),A
@ -423,7 +427,7 @@ GetDOShistory LD IX,DOSstr
SETPORT WINSP.CPU1,,0
RET
FindHistory LD HL,REZ3_BUFFERS.DOShistory
FindHistory LD HL,DOShistory
OR A
RET Z
LD B,A
@ -444,7 +448,7 @@ DOSInputLine LD (InpLnData),IX
.L1 CALL InsInpLnCol
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + 0x04)
ADD HL,DE
@ -453,7 +457,7 @@ DOSInputLine LD (InpLnData),IX
DOSLineLp HALT
CALL ChCursor
LD IX,(InputLine.InpMous)
CALL CheckCoordsMouse
CALL TestCoords
SPDSS DSSF.TESTKEY
JR Z,DOSLineLp
RES 7,D
@ -530,8 +534,8 @@ DOSLnExtC POP HL
SCF
RET
DOSTable1 DW SC.ESC << 8 | 0x1B, InputLine.InputLineExitCancel ; 0x011B,InpLnExtC
DW SC.ENTER << 8 | 0x0D,InputLine.InputLineExitOk ; 0x280D,InpLnExtN
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
@ -648,7 +652,7 @@ InsertWord LD A,(IX + 0x04) ;InpytSymb
; ‚¢®¤ ¢ á¥à¥¤¨­ã ⥪áâ 
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + 0x04)
ADD HL,DE
@ -665,7 +669,7 @@ InsertWord LD A,(IX + 0x04) ;InpytSymb
POP BC
NotInsWord PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + 0x02)
ADD HL,DE
@ -691,13 +695,13 @@ 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

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 27.08.2025 savelij
; LAST UPDATE: 24.07.2025 savelij
;[]==========================================================[]
InitVideoMode
@ -58,23 +58,22 @@ InitDrivers SUB A
LD (CMOSFlag),A
LD L,A
LD H,A
LD (CheckCoordsMouse.PrvTabl),HL
LD (CheckCoordsMouse.PrMousX),HL
LD (CheckCoordsMouse.PrMousY),HL
SPDSS DSSF.GETMEM,NUM_PAGES_FN
JR NC,.InitDrv
LD (TestCoords.PrvTabl),HL
LD (TestCoords.PrMousX),HL
LD (TestCoords.PrMousY),HL
SPDSS DSSF.GETMEM,7
JR NC,InitDrv
CALL ResVideoMode
LD HL,.NoEnMemory
LD HL,NoEnMemory
SPDSS DSSF.PCHARS
LD A,(RAMPAGES.FNPAGESID)
SPDSS DSSF.FREEMEM
SPDSS DSSF.EXIT,ERR_DSS.NOT_ENOUGH_MEMORY
SPDSS DSSF.EXIT,0x1E
.NoEnMemory DZ "Not enough memory to run program.\r\n"
NoEnMemory DZ "Not enough memory to run program.\r\n"
.InitDrv LD HL,RAMPAGES.BufferID
LD (HL),A
INC HL
InitDrv LD (RAMPAGES.BufferID),A
LD HL,RAMPAGES.FLX
SPBIOS BIOSF.GETMEMBLKPAGES
.skip:
SPDSS DSSF.CURDISK
@ -136,7 +135,7 @@ InitFlg EQU $-1
FirstInit
SPDSS DSSF.BOOTDSK,0
ADD A,'A'
LD (ShellFile),a
LD (ShellFile),a ; fndosln.z80
SPDSS DSSF.CURDISK
LD HL,LeftPanel + PANEL.CURR_PATH
PUSH HL
@ -160,19 +159,15 @@ FirstInit
; á®§¤ ­¨¥ ¯ã⨠¤«ï § ¯ã᪠ FLX ¯« £¨­®¢ á ¯à¨¢ï§ª®© ª ¯ã⨠FN
LD HL,BUF_REZ2.FlexDIRECTORY
LD DE,BUF_REZ2.FLXdir
XOR A
.L6 CP (HL)
.L6 LD A,(HL)
AND A
JR Z,.L7
LDI
JR .L6
.L7 LD HL,.DIRFLX
.L9 CP (HL)
JR Z,.L8
LDI
JR .L9
.L8 LD (DE),A
LD BC,.EDIRFLX - .DIRFLX
LDIR
LD (LOADFLX4RUN.NAMEFLX),DE
LD HL,BUF_REZ2.FlexDIRECTORY
SPDSS DSSF.CHDIR
@ -262,12 +257,12 @@ FirstInit
LD (InitFlg),A
RET
.DIRFLX DZ "FLX\\"
.DIRFLX DB "FLX\\"
.EDIRFLX
; ®¡­®¢«¥­¨¥ ¢ â ¡«¨æ¥ ¢ë¡®à  ¤¨áª®¢ ­  ¯ ­¥«¨
SETUP_DISKS LD HL,MAINTAB.BgDISKl ; ¤¨áª¨ «¥¢®© ¯ ­¥«¨
LD DE,MAINTAB.BgDISKr ; ¤¨áª¨ ¯à ¢®© ¯ ­¥«¨
SETUP_DISKS LD HL,BgDISKl ; ¤¨áª¨ «¥¢®© ¯ ­¥«¨
LD DE,BgDISKr ; ¤¨áª¨ ¯à ¢®© ¯ ­¥«¨
LD BC,FORMTABL.SIZE * 2
LD A,(NUM_DEVICES)
.L1 ADD HL,BC
@ -341,38 +336,38 @@ InitScreen
OR A
RET Z
MAKEWINDOW WINSUBOBJ.WOBIND
W_BORDER 510,15,126,12
W_BORDER 500,15,136,12
W_END
LD HL,520
LD DE,17
LD B,COLORP.HIGHGRAY + COLORI.BLACK
LD HL,0x01FC
LD DE,0x0012
LD B,0x80
EXX
LD HL,568
LD DE,17
LD B,COLORP.HIGHGRAY + COLORI.BLACK
LD HL,0x022E
LD DE,0x0012
LD B,0x80
EXX
LD A,DateMonthFormat.Digit
JP CMOSPrintDateTime
LD A,0x02
JP SetCMOSPrint
;[]==========================================================[]
InitPanels LD (InitPanFlg),A
LD HL,LeftPanel+PANEL.VIEWFLAG
LD A,(RightPanel+PANEL.VIEWFLAG)
OR (HL)
AND VIEWFLAG.M_TREE;0x02
JR NZ,.InitPanTree
AND 0x02
JR NZ,InitPanTree
LD IY,LeftPanel
CALL InitPanelE
LD IY,RightPanel
CALL InitPanelE
JR .InitPanExit
JR InitPanExit
.InitPanTree LD IY,LeftPanel
InitPanTree LD IY,LeftPanel
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
JR NZ,.L1
LD IY,RightPanel
.L1 CALL InitPanelE
.InitPanExit LD HL,LeftPanel
InitPanExit LD HL,LeftPanel
LD DE,PANEL.CURR_PATH
BIT 7,(HL)
JR NZ,.L2
@ -387,7 +382,7 @@ InitPanel SUB A
InitPanel1 LD (InitPanFlg),A
InitPanelE LD A,(InitPanFlg)
BIT 0,A
CALL Z,PointerMouseClock
CALL Z,SetClock
CALL PrintDisks
CALL PrintPath
BIT PANELFLAG.B_PRNDOSPATH,(IY+PANEL.PANELFLAG)
@ -444,10 +439,10 @@ PanelN6 EQU $+1
W_END
LD HL,NormMouse
LD DE,MAINTAB.PanelPlaceL
LD DE,PanelPlaceL
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD DE,MAINTAB.PanelPlaceR
LD DE,PanelPlaceR
.L1 PUSH DE
LD BC,0x0050
LDIR
@ -518,10 +513,10 @@ PanelP6 EQU $+1
W_END
LD HL,PodrMouse
LD DE,MAINTAB.PanelPlaceL
LD DE,PanelPlaceL
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD DE,MAINTAB.PanelPlaceR
LD DE,PanelPlaceR
.L1 PUSH DE
LD BC,0x0050
LDIR
@ -587,10 +582,10 @@ InitPanEx LD A,(InitPanFlg)
LD A,(IY+PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
CALL NZ,DrawVScrollBar
CALL PointerMousePointer
CALL NZ,PrnVScrBar
CALL SetMouse
LD A,(InitPanFlg)
BIT 0,A
RET NZ

View File

@ -1,32 +1,32 @@
; LAST UPDATE: 10.01.2026 savelij
; LAST UPDATE: 20.03.2025 savelij
;[]----------------------------------------------------------[]
InputLine LD (InpLnData),IX
LD (.InpMous),HL
SET 7,(IX + INPUTFORM.FLAG)
SET 7,(IX+0x01)
SUB A
LD (IX + INPUTFORM.CURR_X),A
LD (IX + INPUTFORM.CURRADD_X),A
LD (IX+0x02),A
LD (IX+0x03),A
CALL InsInpLnCol
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
PUSH HL
LD E,(IX + INPUTFORM.CURR_SYMBOLS)
LD E,(IX+0x04)
ADD HL,DE
LD (HL),D
LD (IX + INPUTFORM.CURR_X),E
LD (IX+0x02),E
POP HL
LD DE,WorkBuffer
LD A,(IX + INPUTFORM.CURR_X)
LD A,(IX+0x02)
LD (DE),A
INC DE
LD A,(IX + INPUTFORM.CURRADD_X)
LD A,(IX+0x03)
LD (DE),A
INC DE
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
LD A,(IX+0x04)
LD (DE),A
INC DE
LD C,A
@ -39,26 +39,26 @@ InputLine LD (InpLnData),IX
CALL ChCursor
LD IX,0x0000
.InpMous EQU $-2
CALL CheckCoordsMouse
CALL TestCoords
SPDSS DSSF.TESTKEY
JR Z,.InpLineLp
RES 7,D
BIT KEYBSTAT.B_ALT,B
JR NZ,.InpLineLp1;.InpLineLp ; ¢ë室, §¤¥áì ­¥â ª®¬¡¨­ æ¨© á ALT
JR NZ,.InpLineLp
LD IX,InpTable2
BIT KEYBSTAT.B_CTRL,B
JR NZ,.NextInpKeys
LD IX,InpTable1
.NextInpKeys LD L,(IX + 0)
.NextInpKeys LD L,(IX+0x00)
INC L
JR Z,.InpLineLp1
INC IX
DEC L
LD H,(IX + 0)
LD H,(IX+0x00)
INC IX
LD C,(IX + 0)
LD C,(IX+0x00)
INC IX
LD B,(IX + 0)
LD B,(IX+0x00)
INC IX
OR A
SBC HL,DE
@ -81,37 +81,34 @@ InputLine LD (InpLnData),IX
LD A,E
JR InsertSymbol
.InputLineExitOk:
POP HL
.InpLnExtN POP HL
LD IX,(InpLnData)
CALL ResCursor
XOR A
RET
.InputLineExitCancel:
POP HL
.InpLnExtC POP HL
LD IX,(InpLnData)
CALL ResCursor
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
EX DE,HL
LD HL,WorkBuffer
LD A,(HL)
INC HL
LD (IX + INPUTFORM.CURR_X),A
LD (IX+0x02),A
LD A,(HL)
INC HL
LD (IX + INPUTFORM.CURRADD_X),A
LD (IX+0x03),A
LD A,(HL)
INC HL
LD (IX + INPUTFORM.CURR_SYMBOLS),A
LD (IX+0x04),A
LD C,A
LD B,0x00
; LD A,B
; OR C
AND A
LD A,B
OR C
SCF
RET Z
LDIR
@ -129,9 +126,9 @@ InpLnData DEFW 0x0000 ;
; +0B –¢¥â áâப¨
; +0C ...á ¬  áâப 
InpTable1 DW SC.ESC << 8 | 0x1B, InputLine.InputLineExitCancel
DW SC.ENTER << 8 | 0x0D, InputLine.InputLineExitOk
DW SC.XENTER << 8 | 0x0D, InputLine.InputLineExitOk
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
@ -148,22 +145,22 @@ InpTable2 DW SC.X4 << 8, ILwordL
InsertSymbol CP ' '
RET C
EX AF,AF'
BIT 7,(IX + INPUTFORM.FLAG) ; ready
BIT 7,(IX+0x01) ; ready
CALL NZ,ClearInpLn
LD A,(IX + INPUTFORM.CURR_SYMBOLS) ; InpytSymb
SUB (IX + INPUTFORM.MAXLEN) ; Max len
LD A,(IX+0x04) ; InpytSymb
SUB (IX+0x00) ; Max len
RET NC
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
SUB (IX + INPUTFORM.CURR_X)
LD A,(IX+0x04)
SUB (IX+0x02)
JR Z,NotInsert
; ‚¢®¤ ¢ á¥à¥¤¨­ã ⥪áâ 
LD C,A
LD B,0x00
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + INPUTFORM.CURR_SYMBOLS)
LD E,(IX+0x04)
ADD HL,DE
LD E,L
LD D,H
@ -171,129 +168,127 @@ InsertSymbol CP ' '
LDDR
NotInsert PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + INPUTFORM.CURR_X)
LD E,(IX+0x02)
ADD HL,DE
EX AF,AF'
LD (HL),A
INC (IX + INPUTFORM.CURR_SYMBOLS)
INC (IX + INPUTFORM.CURR_X)
INC (IX+0x04)
INC (IX+0x02)
JP PrintInpLn
; Clear Buffer
ClearInpLn RES 7,(IX + INPUTFORM.FLAG)
ClearInpLn RES 7,(IX+0x01)
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD B,(IX + INPUTFORM.MAXLEN)
LD B,(IX+0x00)
SUB A
.L1 LD (HL),A
INC HL
DJNZ .L1
LD (IX + INPUTFORM.CURR_X),A
LD (IX + INPUTFORM.CURRADD_X),A
LD (IX + INPUTFORM.CURR_SYMBOLS),A
LD (IX+0x02),A
LD (IX+0x03),A
LD (IX+0x04),A
JP PrintInpLn
; Šãàá®à ¢«¥¢® ­  ®¤­® ¬¥áâ®
ILleft RES 7,(IX + INPUTFORM.FLAG)
LD A,(IX + INPUTFORM.CURR_X)
ILleft RES 7,(IX+0x01)
LD A,(IX+0x02)
DEC A
RET M
LD (IX + INPUTFORM.CURR_X),A
LD (IX+0x02),A
JP PrintInpLn
; Šãàá®à ¢¯à ¢® ­  ®¤­® ¬¥áâ®
ILright RES 7,(IX + INPUTFORM.FLAG)
LD A,(IX + INPUTFORM.CURR_X)
CP (IX + INPUTFORM.CURR_SYMBOLS)
ILright RES 7,(IX+0x01)
LD A,(IX+0x02)
CP (IX+0x04)
RET Z
INC (IX + INPUTFORM.CURR_X)
INC (IX+0x02)
JP PrintInpLn
; delete
ILdelet BIT 7,(IX + INPUTFORM.FLAG) ; ready
ILdelet BIT 7,(IX+0x01) ; ready
CALL NZ,ClearInpLn
LD A,(IX + INPUTFORM.CURR_X)
LD A,(IX+0x02)
OR A
RET Z
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + INPUTFORM.CURR_X)
LD E,(IX+0x02)
ADD HL,DE
LD E,L
LD D,H
DEC DE
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
SUB (IX + INPUTFORM.CURR_X)
LD A,(IX+0x04)
SUB (IX+0x02)
JR Z,ILDel1
LD C,A
XOR A
LD B,A
LD B,0x00
LDIR
; SUB A
SUB A
ILDel1 LD (DE),A
DEC (IX + INPUTFORM.CURR_X)
DEC (IX + INPUTFORM.CURR_SYMBOLS)
DEC (IX+0x02)
DEC (IX+0x04)
JP PrintInpLn
; Delete Char in Current Position
IL_del_ BIT 7,(IX + INPUTFORM.FLAG) ; ready
IL_del_ BIT 7,(IX+0x01) ; ready
CALL NZ,ClearInpLn
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + INPUTFORM.CURR_X)
LD E,(IX+0x02)
ADD HL,DE
INC HL
LD E,L
LD D,H
DEC DE
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
SUB (IX + INPUTFORM.CURR_X)
LD A,(IX+0x04)
SUB (IX+0x02)
RET Z
LD C,A
XOR A
LD B,A
LD B,0x00
LDIR
; SUB A
SUB A
LD (DE),A
DEC (IX + INPUTFORM.CURR_SYMBOLS)
DEC (IX+0x04)
JP PrintInpLn
; Home
ILhome RES 7,(IX + INPUTFORM.FLAG)
LD A,(IX + INPUTFORM.CURR_X)
ILhome RES 7,(IX+0x01)
LD A,(IX+0x02)
OR A
RET Z
SUB A
LD (IX + INPUTFORM.CURR_X),A
LD (IX+0x02),A
JP PrintInpLn
; End string
ILend RES 7,(IX + INPUTFORM.FLAG)
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
CP (IX + INPUTFORM.CURR_X)
ILend RES 7,(IX+0x01)
LD A,(IX+0x04)
CP (IX+0x02)
RET Z
LD (IX + INPUTFORM.CURR_X),A
LD (IX+0x02),A
JP PrintInpLn
; Word right
ILwordR RES 7,(IX + INPUTFORM.FLAG)
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
SUB (IX + INPUTFORM.CURR_X)
ILwordR RES 7,(IX+0x01)
LD A,(IX+0x04)
SUB (IX+0x02)
RET Z
LD B,A
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + INPUTFORM.CURR_X)
LD E,(IX+0x02)
ADD HL,DE
LD C,E
.L2 LD A,(HL)
@ -322,19 +317,19 @@ ILwordR RES 7,(IX + INPUTFORM.FLAG)
.L1 INC HL
INC C
DJNZ .L3
.L4 LD (IX + INPUTFORM.CURR_X),C
.L4 LD (IX+0x02),C
JP PrintInpLn
; Word left
ILwordL RES 7,(IX + INPUTFORM.FLAG)
LD A,(IX + INPUTFORM.CURR_X)
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,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,C
ADD HL,DE
@ -347,7 +342,7 @@ ILwordL RES 7,(IX + INPUTFORM.FLAG)
JR Z,.L2
CP '.'
JR Z,.L2
CP '\\'
CP 0x5C
JR Z,.L2
DJNZ .L3
JR .L5
@ -365,23 +360,23 @@ ILwordL RES 7,(IX + INPUTFORM.FLAG)
DEC C
DJNZ .L2
.L4 INC C
.L5 LD (IX + INPUTFORM.CURR_X),C
.L5 LD (IX+0x02),C
JP PrintInpLn
; Delete word
ILdelWR RES 7,(IX + INPUTFORM.FLAG)
LD A,(IX + INPUTFORM.CURR_X)
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,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,C
ADD HL,DE
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
LD A,(IX+0x04)
SUB B
LD E,A
PUSH HL
@ -426,14 +421,14 @@ ILdelWR RES 7,(IX + INPUTFORM.FLAG)
DJNZ .L4
.L2 INC HL
INC C
.L6 LD A,(IX + INPUTFORM.CURR_X)
LD (IX + INPUTFORM.CURR_X),C
.L6 LD A,(IX+0x02)
LD (IX+0x02),C
SUB C
LD C,A
EX AF,AF'
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
LD A,(IX+0x04)
SUB C
LD (IX + INPUTFORM.CURR_SYMBOLS),A
LD (IX+0x04),A
LD C,E
LD B,0x00
EX DE,HL
@ -452,10 +447,10 @@ ILdelWR RES 7,(IX + INPUTFORM.FLAG)
JP PrintInpLn
;[]----------------------------------------------------------[]
InsInpLnCol LD L,(IX + INPUTFORM.SCR_POS_Y)
LD H,(IX + INPUTFORM.SCR_POS_Y + 1)
InsInpLnCol LD L,(IX+0x07)
LD H,(IX+0x08)
LD (FillILy),HL
LD A,(IX + INPUTFORM.COLOR)
LD A,(IX+0x0B)
AND 0x0F ; INK
LD C,A
RLCA
@ -470,7 +465,7 @@ InsInpLnCol LD L,(IX + INPUTFORM.SCR_POS_Y)
INC HL
DJNZ .L1
LD B,A
LD A,(IX + INPUTFORM.COLOR)
LD A,(IX+0x0B)
AND 0xF0 ; PAPER
LD C,A
RRCA
@ -488,42 +483,42 @@ InsInpLnCol LD L,(IX + INPUTFORM.SCR_POS_Y)
RET
PrintInpLn CALL ResCursor
.L1 LD A,(IX + INPUTFORM.CURR_X)
SUB (IX + INPUTFORM.CURRADD_X)
.L1 LD A,(IX+0x02)
SUB (IX+0x03)
JR NC,PrnInpLn1
LD A,(IX + INPUTFORM.CURRADD_X)
LD A,(IX+0x03)
SUB Step
LD (IX + INPUTFORM.CURRADD_X),A
LD (IX+0x03),A
JR PrintInpLn.L1
PrnInpLn1 PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + INPUTFORM.CURRADD_X)
LD E,(IX+0x03)
ADD HL,DE
OR A
CALL NZ,TstInpLnLen ; <20>  ¢å®¤: HL-­ ç «® ¢ë¢®¤ 
; € -ª®«.ᨬ¢.¤® ªãàá®à 
PUSH IY
PUSH IX
LD A,(IX + INPUTFORM.SCR_POS_Y)
LD A,(IX+0x07)
LD IYL,A ; Y ª®®à¤¨­ â 
LD A,(IX + INPUTFORM.CURR_SYMBOLS)
LD A,(IX+0x04)
LD IYH,A
GETPORT WINSP.Y_PORT ; ‘®å࠭塞 Y ¯®àâ
PUSH AF
EXX
LD HL,PrnPAPl
LD DE,PrnINKl
LD C,(IX + INPUTFORM.SCR_POS_X)
LD B,(IX + INPUTFORM.SCR_POS_X + 1)
LD C,(IX+0x05)
LD B,(IX+0x06)
SRL B
RR C
SET 6,B
EXX
LD C,(IX + INPUTFORM.SCR_LEN_X)
LD B,(IX + INPUTFORM.SCR_LEN_X + 1)
LD C,(IX+0x09)
LD B,(IX+0x0A)
SRL B
RR C
LD IXL,C
@ -631,9 +626,9 @@ TstInpLnLen PUSH IY
LD A,(RAMPAGES.FNFONT)
SETPORT WINSP.CPU0,,0
LD D,HIGH (FONT_RAW)-0xC0
.TstInpLn PUSH HL
TstInpLn PUSH HL
LD BC,0x0000
.TstInpL LD E,(HL)
TstInpL LD E,(HL)
INC HL
LD A,(DE)
ADD A,A
@ -643,23 +638,23 @@ TstInpLnLen PUSH IY
ADC A,0x00
LD B,A
DEC IYL
JR NZ,.TstInpL
LD L,(IX + INPUTFORM.SCR_LEN_X)
LD H,(IX + INPUTFORM.SCR_LEN_X + 1)
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 + INPUTFORM.CURRADD_X)
LD A,(IX+0x03)
ADD A,C
LD (IX + INPUTFORM.CURRADD_X),A
LD (IX+0x03),A
LD A,IYH
SUB C
LD IYH,A
LD IYL,A
JR .TstInpLn
JR TstInpLn
TstInpE POP HL
POP AF
@ -670,12 +665,12 @@ TstInpE POP HL
SetCursor PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX + INPUTFORM.CURRADD_X)
LD E,(IX+0x03)
ADD HL,DE
LD BC,0x0000
LD A,(IX + INPUTFORM.CURR_X)
LD A,(IX+0x02)
SUB E
JR Z,StCurs1
EX AF,AF'
@ -707,8 +702,8 @@ StCurs1 LD (CurShiftX),BC
LD (CurCursor),A
LD A,CursTimer
LD (CrTimer),A
SetCr LD L,(IX + INPUTFORM.SCR_POS_X)
LD H,(IX + INPUTFORM.SCR_POS_X + 1)
SetCr LD L,(IX+0x05)
LD H,(IX+0x06)
LD BC,(CurShiftX)
ADD HL,BC
SRL H
@ -720,9 +715,9 @@ SetCr LD L,(IX + INPUTFORM.SCR_POS_X)
LD B,A
PUSH BC
LD DE,CursBuffer
LD C,(IX + INPUTFORM.SCR_POS_Y)
LD C,(IX+0x07)
DEC C
LD A,(IX + INPUTFORM.COLOR)
LD A,(IX+0x0B)
AND 0x0F
LD B,A
RLCA
@ -755,8 +750,8 @@ SetCr LD L,(IX + INPUTFORM.SCR_POS_X)
SETPORT WINSP.CPU1,,0
RET
ResCursor LD L,(IX + INPUTFORM.SCR_POS_X)
LD H,(IX + INPUTFORM.SCR_POS_X + 1)
ResCursor LD L,(IX+0x05)
LD H,(IX+0x06)
LD BC,(CurShiftX)
ADD HL,BC
SRL H
@ -768,7 +763,7 @@ ResCursor LD L,(IX + INPUTFORM.SCR_POS_X)
LD B,A
PUSH BC
LD DE,CursBuffer
LD B,(IX + INPUTFORM.SCR_POS_Y)
LD B,(IX+0x07)
DEC B
LD C,WINSP.Y_PORT
SETPORT WINSP.CPU1,0x50

View File

@ -1,91 +1,122 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 25.07.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
JP MainStartFN ; entry point
JP ClearScreen
JP MakeWindow
JP ReplaceColorRectan
JP PrintTxtLine_IFF
JP PrintTxtLine
JP PrintTxtLineNumsChar
JP PrintPathLeft
JP PrintPathRight
JP PrintPathCentr
JP InputLine
JP InputLine.InputLineExitOk
JP InputLine.InputLineExitCancel
JP DOSError
JP InitScrollBar
JP DrawHScrollBar
JP DrawVScrollBar
JP InitProgressBar
JP DrawProgressBar
;[]=======================================================================[]
; 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
DB JUMPS.JUMPSIZE * 5 DUP 0xC9
JP WaitUnpressMouse
JP CheckCoordsMouse
JP CMOSPrintDateTime
DB JUMPS.JUMPSIZE * 1 DUP 0xC9
JP PointerMouseClock
JP PointerMousePointer
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 ConvertNumbers_40b
JP MoveBytesInc
JP MoveBytesDec
JP Mul_8X8_16b
JP Mul_16X8_24b
JP Mul_16X16_16b
JP Mul_16X16_32b
JP Mul_32X16_32b
JP Div_16X16_16b_16b
JP Div_24X16_8b_16b
JP Div_32X16_16b_16b
JP Div_32X16_32b_16b
JP ConvertNumbers_32b
JP ConvertNumbers_16b
JP ConvertNumbers_8b
JP atoi_32b
JP atoi_16b
JP Resident
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
NUM_DEVICES DB 0 ; Š®«¨ç¥á⢮ ãáâனáâ¢
;[]-----------------------------------------------------------------------[]
; flex navigator settings
NUM_DEVICES DB 0 ; Š®«-¢® ãáâனáâ¢
TreeFlag DB 0 ; ”« £ ¤¥à¥¢ 
CMOSFlag DB 0 ; ”« £ CMOS 0 - ­¥â
; 1 - ¥áâì
MouseFlag DB 1 ; ”« £ ¬ëè¨ 0 - ­¥â
; 1 - ¥áâì
CMOSPrint: DB 1 ; ”« £ à §à¥è¥­¨ï ¯¥ç â¨ ¤ âë ¢à¥¬¥­¨
; 1 - § ¯à¥é¥­®, 0 - à §à¥è¥­®
CMOSPrint: DB 1
RAMPAGES
.FNPAGESID DB 0 ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠£¤¥ FN
.FNREZ2 DB 0 ; 0 ‘âà ­¨æ  á äã­ªæ¨ï¬¨ FN
.FNFONT DB 0 ; 1 ‘âà ­¨æ  èà¨ä⮢
.FNREZ3 DB 0 ; 2 ‘âà ­¨æ  ¥é¥ ­¥¬­®£® ä㭪権 FN
; <20>ãä¥à­ë¥ áâà ­¨æë ¯®¤ ¨­â¥à䥩á
.FNPAGESID DB 0 ; ˆ­¤¥ä.¯ ¬ï⨠£¤¥ FN
.FNREZ2 DB 0 ; ‘âà ­¨æ  á äã­ªæ¨ï¬¨ FN
.FNFONT DB 0 ; ‘âà ­¨æ  èà¨ä⮢
.FNREZ3 DB 0 ; ‘âà ­¨æ  ¥é¥ ­¥¬­®£® ä㭪権 FN
IFDEF ENABLE.VIEW
.FNVIEW DB 0 ; ‘âà ­¨æ  á FileViewer
ENDIF
IFDEF ENABLE.EDIT
.FNEDIT DB 0 ; ‘âà ­¨æ  á FileEditor
ENDIF
.BufferID DB 0 ; ˆ­¤¥­â¨ä¨ª â®à ¯ ¬ï⨠¯®¤ ¡ãä¥à 
.FLX DB 0 ; 0 ‘âà ­¨æ  ¤«ï § £à㧪¨ FLX ¯« £¨­®¢
.LEFTPANEL DB 0 ; 1 ‘âà ­¨æ  ª â «®£  ‹¥¢®© ¯ ­¥«¨
.RIGHTPANEL DB 0 ; 2 ‘âà ­¨æ  ª â «®£  <20>à ¢®© ¯ ­¥«¨
.BuffPg1 DB 0 ; 3
.BuffPg2 DB 0 ; 4
.BuffPg3 DB 0 ; 5 ¨á¯®«ì§ã¥âáï ª®¯¨à®¢é¨ª®¬ ä ©«®¢/¤¨à¥ªâ®à¨©
.BuffPg4 DB 0 ; 6 ¨á¯®«ì§ã¥âáï á®àâ¨à®¢ª®©, à ¡®â  á ¤¥à¥¢®¬ ¤¨à¥ªâ®à¨©
.BuffPgEnd DB 0xFF ; ¬ àª¥à ª®­æ  ᯨ᪠ áâà ­¨æ
.FILES_COUNT DW 0 ; ª®«¨ç¥á⢮ ¯®¬¥ç¥­­ëå ä ©«®¢
.FILES_BYTES DB 5 DUP 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
@ -108,6 +139,168 @@ RAMPAGES
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.FNREZ2)
SETPORT WINSP.CPU1,,0
EX AF,AF'
CALL DOSErrorR
EX AF,AF'
POP AF
SETPORT WINSP.CPU1,,0
EX AF,AF'
RET
;[]----------------------------------------------------------[]
Resident LD (.ResCall),DE
IN B,(C)
PUSH BC
OUT (C),A
CALL 0x0000
.ResCall EQU $-2
POP BC
OUT (C),B
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 - ­®¬¥à ¯ ­¥«¨
@ -171,141 +364,118 @@ RightPanel: DB 0x01 ;
DB 0x0A DUP 0
DB PANEL.CURR_PATH_Size DUP 0 ; <20>ãâì ª ⥪ã饩 ¤¨à¥ªâ®à¨¨
thanks DZ "\r\nThank you for using Flex Navigator.\r\n"
;[]=======================================================================[]
DOSError EX AF,AF'
GETPORT WINSP.CPU1
PUSH AF
LD A,(RAMPAGES.FNREZ2)
SETPORT WINSP.CPU1,,0
EX AF,AF'
CALL DOSErrorR
EX AF,AF'
POP AF
SETPORT WINSP.CPU1,,0
EX AF,AF'
RET
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
Resident LD (.ResCall),DE
IN B,(C)
PUSH BC
OUT (C),A
CALL 0x0000
.ResCall EQU $-2
POP BC
OUT (C),B
RET
; (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
; (ADR) + BCDE = (ADR)
HLPBCDE: LD A,(HL)
ADD A,E
LD (HL),A
INC HL
LD A,(HL)
ADC A,D
LD (HL),A
INC HL
LD A,(HL)
ADC A,C
LD (HL),A
INC HL
LD A,(HL)
ADC A,B
LD (HL),A
INC HL
LD A,(HL)
ADC A,0
LD (HL),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
GET_HANDLE_ADR LD L,(IY+PANEL.FIRST_FILE)
LD H,(IY+PANEL.FIRST_FILE + 1)
LD E,(IY+PANEL.CURR_FILE)
LD D,(IY+PANEL.CURR_FILE + 1)
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
OR H
LD H,A
RET
include fnwork.a80
; ¢ë§®¢ ä㭪樨 ¢ áâà ­¨æ å
RESIDENT
; ==============resident 2==============
;[]----------------------------------------------------------[]
.CopyFiles: LD DE,CopyFilesR
; resident 2
.FunctResident: LD A,(RAMPAGES.FNREZ2)
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 MARK_DIR
; áç¨â «ª  ᮤ¥à¦¨¬®£® ¤¨à¥ªâ®à¨¨ ¢ ¡ ©â å
.CalcDirSize LD DE,CalcDirSizeR
JR .FunctResident
ENDIF
; ==============resident 2==============
IF TREE_REZID
.TestTree LD DE,TestTreeR
jr .FunctResident
; ==============resident 3==============
.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.FNREZ3)
LD C,WINSP.CPU1
JP Resident
IF MARK_DIR
.GetDirSize: LD DE,GetDirSizeR
JR .HelpResident
.MkdirsDst LD DE,MkdirsDstR
JR .HelpResident
ENDIF
.UnMarkGroup: LD DE,UnMarkGroupR
jr .HelpResident
@ -336,142 +506,6 @@ RESIDENT
.InvertSelectN: LD DE,InvertSelectRN
jr .HelpResident
.PrintFile: CALL ResInvert
.PrintFileL3
LD HL,SetInvert
PUSH HL
LD DE,PrintFileR
jr .HelpResident
.FileInfo: CALL ResInvert
.FileInfoL2
LD HL,SetInvert
PUSH HL
LD DE,FileInfoR
jr .HelpResident
.Version: LD DE,VersionR
jr .HelpResident
.DiskInfo: CALL ResInvert
.DiskInfoL4:
LD DE,DiskInfoR
jr .HelpResident
.SystemInfo: LD DE,SystemInfoR
jr .HelpResident
.Quit: CALL ResInvert
.QuitL1 LD DE,QuitConfirmWin
CALL .HelpResident
JP C,SetInvert
LD HL,ComExit
EX (SP),HL
RET
; ==============resident 3==============
; ‚ë室
ComExit CALL ResDrivers
CALL ResVideoMode
LD HL,thanks
SPDSS DSSF.PCHARS
LD A,(RAMPAGES.FNPAGESID)
SPDSS DSSF.FREEMEM
SPDSS DSSF.EXIT,0
include fnwin.a80
include fnprint.a80
include fninput.a80
include fnbar.a80
include fnmouse.a80
include fnsys.a80
; ‘â àâ
MainStartFN: DI
LD SP,STACK
ReStartFN:
SETPORT BORDER,0
SETPORT WINSP.Y_PORT,0xC0
CALL InitVideoMode
CALL InitDrivers
CALL InitScreen
CALL ClearDOSline
SUB A
CALL InitPanels
CALL WaitUnpressMouse
MainLoop: LD IX,MAINTAB.FilePanelLeft
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
JR Z,.L1
LD IX,MAINTAB.FilePanelRight
.L1 CALL CheckCoordsMouse
CALL TestKeys
CALL C,DOSline
LD A,(TreeFlag)
OR A
CALL NZ,TestTreeR
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
START_SORT
include fnsort.a80
END_SORT
START_TREE
include fntree.a80
END_TREE
include fnpanel.a80
include fndos.a80
include fnwork.a80
include fnmenu.a80
include fninit.a80
include fndosline.a80
@ -479,63 +513,90 @@ END_TREE
END_BLOCK_1:
DEPHASE ; BASE_ADDR
; ==============resident 2==============
;[]=======================================================================[]
PHASE 0x4000
; MAIN.FNREZ2
START_BLOCK_2
; ¡ãä¥à  çâ®¡ë ¯ ¬ïâì ­¥ § ­¨¬ «¨ ¢ EXE ä ©«¥
REZ2_BUFFERS
_INIT_VAR BUF_REZ2.FlexDIRECTORY
_MINUSVAR .OLDLEFTPANEL, 0x100 ; ⥪ã騩 ¯ãâì «¥¢®© ¯ ­¥«¨
_MINUSVAR .OLDRIGHTPANEL, 0x100 ; ⥪ã騩 ¯ãâì ¯à ¢®© ¯ ­¥«¨
_MINUSVAR .FINDCURRPATH, 0x100 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì ¨áâ®ç­¨ª 
_MINUSVAR .FINDBUF, 0x100 ; ¢à¥¬¥­­ë© ¡ãä¥à ¯®¨áª 
_MINUSVAR .ENDPATHSRC, WORD ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
_MINUSVAR .CURR_DIRNAME, WORD ; ⥪ã騩  ¤à¥á ¢ ¯ãâ¨
;FlexDIRECTORY: DB 0x100 DUP 0
;FLXdir: 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_fntab.a80
include rez2_fntab1.a80
IF TREE_REZID
include fntree.a80
ENDIF
END_BLOCK_2:
DEPHASE ; 0x4000
; ==============resident 2==============
; ==============fonts==============
;[]=======================================================================[]
PHASE 0xC000
; MAIN.FNFONT
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
; ==============fonts==============
; ==============resident 3==============
;[]-----------------------------------------------------------------------[]
PHASE 0x4000
; MAIN.FNREZ3
START_BLOCK_3
; ¡ãä¥à  çâ®¡ë ¯ ¬ïâì ­¥ § ­¨¬ «¨ ¢ EXE ä ©«¥
REZ3_BUFFERS
_INIT_VAR 0x8000 ; á ª®­æ  áâà ­¨æë
_MINUSVAR .DOShistory, 0x200 ;times 0x200 db 0
_MINUSVAR .fnedit_ext, WorkBuffer_Size ;times 0x400 db 0
_MINUSVAR .fnview_ext, WorkBuffer_Size ;times 0x400 db 0
_MINUSVAR .fn_ext, WorkBuffer_Size ;times 0x400 db 0
include rez3_fnnext.a80
include rez3_fnmark.a80
include rez3_fnmisc.a80
include rez3_fntab.a80
; ¡ãä¥à  çâ®¡ë ¯ ¬ïâì ­¥ § ­¨¬ «¨ ¢ EXE ä ©«¥
INIT_VAR 0x8000 ; á ª®­æ  áâà ­¨æë
MINUSVAR fnedit_ext, WorkBuffer_Size ;times 0x400 db 0
MINUSVAR fnview_ext, WorkBuffer_Size ;times 0x400 db 0
MINUSVAR fn_ext, WorkBuffer_Size ;times 0x400 db 0
MINUSVAR DOShistory, 0x200 ;times 0x200 db 0
IFDEF ENABLE.HELP
WINSP_CPU EQU WINSP.CPU3 ; ®ª­® ¯à®¥æ¨à®¢ ­¨ï
WINSP_ADR EQU 0xC000 ;  ¤à¥á ®ª­ 
include plugins/help/help.a80
HelpText: include plugins/help/help_t.a80
HelpTextEnd:
ENDIF
END_BLOCK_3:
DEPHASE ; 0x4000
; ==============resident 3==============
;[]-----------------------------------------------------------------------[]
IFDEF ENABLE.VIEW
; MAIN.FNVIEW
START_BLOCK_VIEWER
PHASE 0xC000
include plugins/fnviewer/fviewer.a80
DEPHASE ; 0xC000
END_BLOCK_VIEWER
ENDIF
IFDEF ENABLE.EDIT
; MAIN.FNEDIT
START_BLOCK_EDITOR
PHASE 0xC000
include plugins/fneditor/feditor.a80
DEPHASE ; 0xC000
END_BLOCK_EDITOR
ENDIF
;[]-----------------------------------------------------------------------[]
; ç¨áâ® ¤«ï ®â« ¤ª¨
BLOCK1_SIZE EQU END_BLOCK_1 - START_BLOCK_1 ; ®á­®¢­®© ª®¤
BLOCK2_SIZE EQU END_BLOCK_2 - START_BLOCK_2 ; १¨¤¥­â 2
BLOCK3_SIZE EQU END_BLOCK_3 - START_BLOCK_3 ; १¨¤¥­â 3
IFDEF ENABLE.EDIT
EDITOR_SIZE EQU END_BLOCK_EDITOR - START_BLOCK_EDITOR ; । ªâ®à
ENDIF
IFDEF ENABLE.VIEW
VIEWER_SIZE EQU END_BLOCK_VIEWER - START_BLOCK_VIEWER ; ¢ìà
ENDIF
SORT_SIZE EQU END_SORT - START_SORT ; á®àâ¨à®¢é¨ª
TREE_SIZE EQU END_TREE - START_TREE ; à ¡®â  á ¤¥à¥¢®¬

View File

@ -1,11 +1,11 @@
; LAST UPDATE: 14.08.2025 savelij
; LAST UPDATE: 25.07.2025 savelij
;[]==========================================================[]
PullDown: CALL ResInvert
CALL SetPullInvert
PullLoop: LD IX,MAINTAB.PullTab
CALL CheckCoordsMouse
PullLoop: LD IX,PullTab
CALL TestCoords
SPDSS DSSF.SCANKEY
JR Z,PullLoop
LD A,B
@ -89,7 +89,7 @@ PullInvert: LD L,A
ADD HL,HL ; *4
ADD HL,HL ; *8
ADD HL,HL ; *16
LD BC,MAINTAB.PullTab
LD BC,PullTab
ADD HL,BC
PUSH HL
POP IX
@ -106,7 +106,7 @@ PullInvert: LD L,A
EX AF,AF'
SRL A
LD IXL,A
JP ReplaceColorRectan
JP InvertRectan
MFile: CALL ResPullInvert
JP MenuFile.L1
@ -141,7 +141,7 @@ MenuFile: CALL ResInvert
W_TEXT 16,40,COLORP.HIGHGRAY,"Exit"
W_TEXT 100,40,COLORP.HIGHGRAY,"F10"
W_END
LD HL,MAINTAB.FileTab
LD HL,FileTab
LD BC,3
JP MenuWork
@ -162,7 +162,7 @@ MenuSelect: CALL ResInvert
W_TEXT 16,62,COLORP.HIGHGRAY,"Invert selection"
W_TEXT 112,62,COLORP.HIGHGRAY,"*"
W_END
LD HL,MAINTAB.SelectTab
LD HL,SelectTab
LD BC,1 << 8 | 5
JP MenuWork
@ -186,7 +186,7 @@ MenuOption: CALL ResInvert
W_TEXT 16,54,COLORP.HIGHGRAY,"Plugins..." ; 03
ENDIF
W_END
LD HL,MAINTAB.OptionTab
LD HL,OptionTab
IF PLUGS_ENABLE
LD BC,2 << 8 | 4
ELSE
@ -326,7 +326,7 @@ MenuView: CALL ResInvert
W_TEXT 110,172,COLORP.HIGHGRAY,"\xFE CTRL+F7"
.sort5 EQU $ - STRLEN("v CTRL+F7v")
W_END
LD HL,MAINTAB.ViewTab
LD HL,ViewTab
LD BC,3 << 8 | 12
JP MenuWork
@ -338,7 +338,7 @@ MenuConfig: CALL ResInvert
W_MAIN 174,26,96,20
W_TEXT 16,6,COLORP.HIGHGRAY,"Setup..."
W_END
LD HL,MAINTAB.ConfigTab
LD HL,ConfigTab
LD BC,4 << 8 | 1
JP MenuWork
@ -350,7 +350,7 @@ MenuAbout: CALL ResInvert
W_MAIN 222,26,112,20
W_TEXT 16,6,COLORP.HIGHGRAY,"Version..."
W_END
LD HL,MAINTAB.AboutTab
LD HL,AboutTab
LD BC,5 << 8 | 1
; HL -  ¤à¥á â ¡«¨æë  ªâ¨¢­ëå §®­
; B - ⥪ã騩 ¯ã­ªâ ¬¥­î
@ -364,7 +364,7 @@ MenuWork: LD (CurWTab),HL
SUB A
LD (CurMLine),A
LD IX,(CurWTab)
CALL CheckCoordsMouse
CALL TestCoords
CALL TestInvert
JR NZ,MenuLoop
LD A,0
@ -373,7 +373,7 @@ MKeyFlg EQU $-1
CALL NZ,SetMSelect
MenuLoop: LD IX,0x0000
CurWTab EQU $-2
CALL CheckCoordsMouse
CALL TestCoords
SPDSS DSSF.SCANKEY
JR Z,MenuLoop
LD A,B
@ -804,7 +804,7 @@ NewFilter: CALL ResInvert
NEG
LD (FiltLen),A
LD IX,FilterStr
LD HL,MAINTAB.FilterTab
LD HL,FilterTab
CALL InputLine
WINDOWCLOSE
RET C
@ -855,7 +855,7 @@ LeftDrive: CALL ResInvert
W_TEXT 86,3,COLORI.WHITE,"Left drive"
W_END
LD HL,LeftTab
LD DE,MAINTAB.DriveTab
LD DE,DriveTab
LD BC,0x0020
LDIR
LD IX,LeftPanel
@ -872,7 +872,7 @@ RightDrive: CALL ResInvert
W_TEXT 86,3,COLORI.WHITE,"Right drive"
W_END
LD HL,RightTab
LD DE,MAINTAB.DriveTab
LD DE,DriveTab
LD BC,0x0020
LDIR
LD IX,RightPanel
@ -885,7 +885,7 @@ RightTab: DEFW 0x0000,0x0160,0x0000,0x0100,0x20,0x0000,DriveExit,0x0000
ChangeDrv: PUSH IY
PUSH IX
POP IY
LD IX,MAINTAB.BegDrive
LD IX,BegDrive
LD A,(NUM_DEVICES)
ADD A,A
LD C,A
@ -910,8 +910,8 @@ ChangeDrv: PUSH IY
PUSH HL
PUSH DE
PUSH BC
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL PrintTxtLine_IFF
LD A,0x80
CALL PrnTxtLnIFF
POP BC
POP DE
POP HL
@ -948,8 +948,8 @@ ChangeDrv: PUSH IY
SUB 'A'
LD (CurDrive),A
CALL SetDriveInv
DriveLoop: LD IX,MAINTAB.DriveTab
CALL CheckCoordsMouse
DriveLoop: LD IX,DriveTab
CALL TestCoords
SPDSS DSSF.SCANKEY
JR Z,DriveLoop
LD A,B
@ -1016,7 +1016,7 @@ DriveRight: LD A,(NUM_DEVICES)
LD (CurDrive),A
JP SetDriveInv
DriveMouse: LD IX,MAINTAB.BegDrive
DriveMouse: LD IX,BegDrive
LD C,(IX+0x00)
LD B,(IX+0x01)
OR A
@ -1074,7 +1074,7 @@ DriveInvert: LD L,A
ADD HL,HL
ADD HL,HL
ADD HL,HL
LD BC,MAINTAB.BegDrive
LD BC,BegDrive
ADD HL,BC
PUSH HL
POP IX
@ -1091,7 +1091,7 @@ DriveInvert: LD L,A
EX AF,AF'
SRL A
LD IXL,A
JP ReplaceColorRectan
JP InvertRectan
CurDrive: DEFB 0x00
Drive: DEFB " ",0
@ -1183,7 +1183,7 @@ GetPlugins: LD HL,WorkBuffer + 0x300 ;
W_TEXT 50,179,COLORP.HIGHGRAY,"Cancel"
W_END
.Loop LD IX,PluginsTab
CALL CheckCoordsMouse
CALL TestCoords
SPDSS DSSF.SCANKEY
JR Z,.Loop
LD A,B

View File

@ -1,9 +1,8 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 25.07.2025 savelij
;[]----------------------------------------------------------[]
WaitUnpressMouse:
LD A,(MouseFlag)
ResFire: LD A,(MouseFlag)
OR A
RET Z
RsFire1 CALL TestCMOS
@ -16,8 +15,7 @@ RsFire1 CALL TestCMOS
; <20>஢¥àª  ª®®à¤¨­ â ¬ëè¨ ¯® â ¡«¨æ¥
; <20>  ¢å®¤:
; IX - €¤à¥á â ¡«¨æë
CheckCoordsMouse:
CALL TestCMOS
TestCoords: CALL TestCMOS
SPMOUSE MOUSEF.READ_STATE
EX AF,AF'
LD BC,0x0000
@ -30,7 +28,7 @@ CheckCoordsMouse:
JR Z,.L3
.L2 LD (.PrvTabl),IX
CALL ResMInvert
LD BC,WaitUnpressMouse
LD BC,ResFire
PUSH BC
SUB A
LD (RunFlag),A
@ -221,7 +219,7 @@ SetSelect1 BIT FORMTABL.B_FIRENOINV,(IX+FORMTABL.FLAG + 1) ; 09
SRL A
LD IXL,A
LD DE,(COLORP.HIGHGRAY + COLORI.BLACK) << 8 | (COLORP.BLUE + COLORI.WHITE);0x804F
CALL ReplaceColorRectan
CALL InvertRectan
POP IX
PUSH IX
NxCrds1 LD BC,FORMTABL.SIZE;0x0010
@ -258,7 +256,7 @@ ResSelect1 BIT FORMTABL.B_FIRENOINV,(IX+FORMTABL.FLAG + 1) ; 09
SRL A
LD IXL,A
LD DE,(COLORP.BLUE + COLORI.WHITE) << 8 | (COLORP.HIGHGRAY + COLORI.BLACK);0x4F80
CALL ReplaceColorRectan
CALL InvertRectan
POP DE
POP HL
POP IX
@ -285,7 +283,7 @@ SetSelect2 BIT FORMTABL.B_HZ,(IX+FORMTABL.FLAG + 1) ; 09
SRL A
LD IXL,A
LD DE,(COLORP.HIGHGRAY + COLORI.BLACK) << 8 | (COLORP.BLUE + COLORI.WHITE);0x804F
CALL ReplaceColorRectan
CALL InvertRectan
POP AF
POP DE
POP HL
@ -295,7 +293,7 @@ SetSelect2 BIT FORMTABL.B_HZ,(IX+FORMTABL.FLAG + 1) ; 09
ResSelect2 PUSH HL
PUSH DE
PUSH IX
LD IX,(CheckCoordsMouse.PrvTabl)
LD IX,(TestCoords.PrvTabl)
LD BC,FORMTABL.SIZE;0x0010
NxCrds3 BIT FORMTABL.B_STATICINV,(IX+FORMTABL.FLAG) ; 08
JR NZ,ResSel22
@ -321,7 +319,7 @@ ResSel22 BIT FORMTABL.B_HZ,(IX+FORMTABL.FLAG + 1) ; 09
SRL A
LD IXL,A
LD DE,(COLORP.BLUE + COLORI.WHITE) << 8 | (COLORP.HIGHGRAY + COLORI.BLACK);0x4F80
CALL ReplaceColorRectan
CALL InvertRectan
ResSel2E POP IX
POP DE
POP HL

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 24.07.2025 savelij
;[]----------------------------------------------------------[]
PrintDisks LD L,(IY + PANEL.X)
@ -116,7 +116,7 @@ PrintPath BIT PANELFLAG.B_PRNDOSPATH,(IY + PANEL.PANELFLAG)
LD C,0x30
LD A,0x00
.PathCol EQU $-1
JP PrintPathLeft
JP PrnRangPathL
;[]----------------------------------------------------------[]
PrintDOSPath PUSH IY
@ -148,7 +148,7 @@ PrintDOSPath PUSH IY
LD DE,250
LD BC,231
LD A,COLORP.HIGHGRAY + COLORI.BLACK
JP PrintPathRight
JP PrnRangPathR
;[]----------------------------------------------------------[]
PrnFileInfo BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
@ -164,24 +164,22 @@ PrnFileInfo BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
LD A,(RAMPAGES.RIGHTPANEL)
.L1
SETPORT WINSP.CPU1,,0
; LD L,(IY + PANEL.FIRST_FILE)
; LD H,(IY + PANEL.FIRST_FILE + 1)
; LD E,(IY + PANEL.CURR_FILE)
; LD D,(IY + PANEL.CURR_FILE + 1)
; ADD HL,DE
; ADD HL,HL ; *2
; ADD HL,HL ; *4
; ADD HL,HL ; *8
; LD E,L
; LD D,H
; ADD HL,HL ; *10
; ADD HL,DE ; *18
; SET 6,H ; | 0x4000
LD A,HIGH (CPU1)
CALL GET_HANDLE_ADR
LD L,(IY + PANEL.FIRST_FILE)
LD H,(IY + PANEL.FIRST_FILE + 1)
LD E,(IY + PANEL.CURR_FILE)
LD D,(IY + PANEL.CURR_FILE + 1)
ADD HL,DE
ADD HL,HL ; *2
ADD HL,HL ; *4
ADD HL,HL ; *8
LD E,L
LD D,H
ADD HL,HL ; *10
ADD HL,DE ; *18
SET 6,H ; | 0x4000
LD DE,WorkBuffer
LD BC,FileHDR.SIZE
CALL MoveBytesInc
CALL MoveBytes
POP AF
SETPORT WINSP.CPU1,,0
LD HL,WorkBuffer + FileHDR.SIZE;0x18
@ -246,7 +244,7 @@ PrntFI LD HL,WorkBuffer + FileHDR.SIZE;0x18
INC DE
LD BC,215
LD A,COLORP.HIGHGRAY + COLORI.BLACK
JP PrintTxtLine
JP PrnTxtLnNorm
GetFileLen BIT DIR.B_Dir,(IX + FileHDR.Attr)
JP NZ,PDirectory
@ -316,7 +314,12 @@ Get8Bit LD B,'0' - 1
INC HL
RET
PrnTreeInfo CALL MakeTreePathR
PrnTreeInfo
IF TREE_REZID
CALL RESIDENT.MakeTreePath
ELSE
CALL MakeTreePathR
ENDIF
EX DE,HL
PUSH IY
POP HL
@ -341,13 +344,13 @@ PrnSelInfo LD L,(IY+PANEL.BYTES_MARK)
LD B,(IY+PANEL.BYTES_MARK + 3)
LD A,(IY+PANEL.BYTES_MARK_H) ; [ ] FAT32
LD DE,WorkBuffer
CALL ConvertNumbers_40b ; [ ] fat32
CALL ConvNumTxt40 ; [ ] fat32
LD HL,CrSizeT
LD BC,0x000A
LDIR
LD L,(IY+PANEL.FILES_MARK)
LD H,(IY+PANEL.FILES_MARK + 1)
CALL ConvertNumbers_16b
CALL ConvNumTxt16
LD HL,CrSelT
LD BC,0x000F
LDIR
@ -384,7 +387,7 @@ PrnSelInfo LD L,(IY+PANEL.BYTES_MARK)
INC DE
LD BC,215
LD A,COLORP.HIGHGRAY + COLORI.BLACK
JP PrintTxtLine
JP PrnTxtLnNorm
CrSizeT DEFB " bytes in "
CrSelT DEFB " selected files"
@ -441,7 +444,7 @@ PrnDIRECT BIT VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
SET 6,H ; | 0x4000
LD DE,WorkBuffer
LD BC,0x33 * FileHDR.SIZE;0x18
CALL MoveBytesInc
CALL MoveBytes
POP AF
SETPORT WINSP.CPU1,,0
LD B,COLORP.PANEL + COLORI.FILES
@ -535,7 +538,7 @@ PrintFULL PUSH IY
SET 6,H ; | 0x4000
LD DE,WorkBuffer
LD BC,0x12 * FileHDR.SIZE;0x18
CALL MoveBytesInc
CALL MoveBytes
POP AF
SETPORT WINSP.CPU1,,0
LD B,COLORP.PANEL + COLORI.FILES
@ -681,7 +684,7 @@ PrintTREE
JR NZ,.PrDIRb1
.PrDIRb2 LD DE,WorkBuffer+0x100
LD BC,0x12*0x10
CALL MoveBytesInc
CALL MoveBytes
POP AF
SETPORT WINSP.CPU1,,0
LD B,COLORP.PANEL + COLORI.FILES
@ -1080,21 +1083,19 @@ PrnInvert LD A,(IY + PANEL.FILES_ALL)
LD A,(RAMPAGES.RIGHTPANEL)
.L1
SETPORT WINSP.CPU1,,0
; LD L,(IY + PANEL.FIRST_FILE)
; LD H,(IY + PANEL.FIRST_FILE + 1)
; LD E,(IY + PANEL.CURR_FILE)
; LD D,(IY + PANEL.CURR_FILE + 1)
; ADD HL,DE
; ADD HL,HL ; *2
; ADD HL,HL ; *4
; ADD HL,HL ; *8
; LD E,L
; LD D,H
; ADD HL,HL ; *10
; ADD HL,DE ; *18
; SET 6,H ; | 0xC000
LD A,HIGH (CPU1)
CALL GET_HANDLE_ADR
LD L,(IY + PANEL.FIRST_FILE)
LD H,(IY + PANEL.FIRST_FILE + 1)
LD E,(IY + PANEL.CURR_FILE)
LD D,(IY + PANEL.CURR_FILE + 1)
ADD HL,DE
ADD HL,HL ; *2
ADD HL,HL ; *4
ADD HL,HL ; *8
LD E,L
LD D,H
ADD HL,HL ; *10
ADD HL,DE ; *18
SET 6,H ; | 0xC000
LD E,(HL)
POP AF
SETPORT WINSP.CPU1,,0
@ -1131,7 +1132,7 @@ PrnInvert LD A,(IY + PANEL.FILES_ALL)
LD IX,8 << 8 + 48
DEC HL
DEC HL
JP ReplaceColorRectan
JP InvertRectan
PrnInvertP LD L,(IY + PANEL.CURR_FILE)
LD H,(IY + PANEL.CURR_FILE + 1)
@ -1147,7 +1148,7 @@ PrnInvertP LD L,(IY + PANEL.CURR_FILE)
JR Z,.L1
LD HL,326
.L1 LD IX,8 << 8 + 146
JP ReplaceColorRectan
JP InvertRectan
PrnTreeInv PUSH HL
GETPORT WINSP.CPU1
@ -1235,4 +1236,4 @@ PrnTreeInv PUSH HL
ADD HL,BC
.L5 POP BC
LD IXH,0x08
JP ReplaceColorRectan
JP InvertRectan

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 20.02.2025 savelij
;[]----------------------------------------------------------[]
; <20>à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨© íªà ­ 640x256
@ -11,7 +11,7 @@
; BC - ¯®§¨æ¨ï ¢ë¢®¤  ¯® Y
; A - 梥⠯¥ç â¨ (7-4¡¨â PAPER, 3-0¡¨â INK)
; (ª®­¥æ áâப¨ - 0)
PrintPathLeft: PUSH DE
PrnRangPathL PUSH DE
PUSH BC
PUSH AF
DI
@ -86,7 +86,7 @@ PrRngLE POP AF
POP AF
POP BC
POP DE
JP PrintTxtLine_IFF
JP PrnTxtLnIFF
;[]----------------------------------------------------------[]
; <20>à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨© íªà ­ 640x256
@ -98,7 +98,7 @@ PrRngLE POP AF
; BC - ¯®§¨æ¨ï ¢ë¢®¤  ¯® Y
; A - 梥⠯¥ç â¨ (7-4¡¨â PAPER, 3-0¡¨â INK)
; (ª®­¥æ áâப¨ - 0)
PrintPathRight: PUSH AF
PrnRangPathR PUSH AF
PUSH BC
PUSH DE
DI
@ -193,7 +193,7 @@ PrRngRE POP AF
EX DE,HL
POP BC
POP AF
JP PrintTxtLine_IFF
JP PrnTxtLnIFF
;[]----------------------------------------------------------[]
; <20>à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨© íªà ­ 640x256
@ -205,7 +205,7 @@ PrRngRE POP AF
; BC - ¯®§¨æ¨ï ¢ë¢®¤  ¯® Y
; A - 梥⠯¥ç â¨ (7-4¡¨â PAPER, 3-0¡¨â INK)
; (ª®­¥æ áâப¨ - 0)
PrintPathCentr: PUSH BC
PrnRangPathC PUSH BC
PUSH AF
PUSH DE
DI
@ -289,7 +289,7 @@ PrRngCE POP AF
EX DE,HL
POP AF
POP BC
JP PrintTxtLine_IFF
JP PrnTxtLnIFF
;[]----------------------------------------------------------[]
; <20>à®æ¥¤ãà  ¢ë¢®¤  ⥪á⮢ëå áâப ­  £à ä¨ç¥áª¨© íªà ­ 640x256;
@ -300,8 +300,7 @@ PrRngCE POP AF
; BC - ¯®§¨æ¨ï ¢ë¢®¤  ¯® Y
; A - 梥⠯¥ç â¨ (7-4¡¨â PAPER, 3-0¡¨â INK)
; (ª®­¥æ áâப¨ - 0)
PrintTxtLine_IFF:
PUSH IY
PrnTxtLnIFF PUSH IY
LD IYL,C ; Y ª®®à¤¨­ â 
LD B,A
GETPORT WINSP.Y_PORT ; ‘®å࠭塞 Y ¯®àâ
@ -396,7 +395,7 @@ PrnIFFe LD L,C ;
; BC - ¯®§¨æ¨ï ¢ë¢®¤  ¯® Y
; A - 梥⠯¥ç â¨ (7-4¡¨â PAPER, 3-0¡¨â INK)
; (ª®­¥æ áâப¨ - 0)
PrintTxtLine PUSH IY
PrnTxtLnNorm PUSH IY
LD IYL,C ; Y ª®®à¤¨­ â 
LD B,A
GETPORT WINSP.Y_PORT ; ‘®å࠭塞 Y ¯®àâ
@ -493,8 +492,7 @@ PrnNORe LD L,C ;
; B - ª®«-¢® ¯¥ç â ¥¬ëå ᨬ¢®«®¢
; A - 梥⠯¥ç â¨ (7-4¡¨â PAPER, 3-0¡¨â INK)
; (ª®­¥æ áâப¨ - 0)
PrintTxtLineNumsChar:
PUSH IY
PrnTxtLnNormC PUSH IY
LD IYL,C ; Y ª®®à¤¨­ â 
LD IYH,B ; ª®«-¢® ᨬ¢
LD B,A

View File

@ -1,49 +1,29 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 24.07.2025 savelij
;[]----------------------------------------------------------[]
; <20>  ¢å®¤¥:
; A - ­®¬¥à áâà ­¨æë ¤«ï à ¡®âë ¥á«¨ ¡¨â PANELFLAG.B_DIRPAGE ãáâ ­®¢«¥­
; ¨­ ç¥ ­¥ âॡã¥âáï
ReadDIR BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
JR NZ,.RD1
.RD2 BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
JR Z,.RD1
LD A,(RAMPAGES.RIGHTPANEL)
.RD1 LD (.DIRPAGE),A
BIT VIEWFLAG.B_TREE,(IY + PANEL.VIEWFLAG)
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
LD A,(IY + PANEL.SORTFLAG)
AND SORTFLAG.MASK
JR Z,.L6
; á á®àâ¨à®¢ª®© £à㧨¬ ¢ ᢮¡®¤­ãî ¯ £ã
LD A,(RAMPAGES.BuffPg4)
JR .L1
; ¡¥§ á®àâ¨à®¢ª¨ £à㧨¬ ¢ áâà ­¨æã ¯ ­¥«¨
.L6 LD A,0
.DIRPAGE EQU $-1
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 D,H
LD E,L
LD BC,PANEL.FILE_MASK
ADD HL,BC
BIT PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
JR NZ,.L8
EX DE,HL
LD BC,PANEL.FILES_ALL
ADD HL,BC
LD B,PANEL.FILE_MASK - PANEL.FILES_ALL
.L5 LD (HL),0
INC HL
DJNZ .L5
.L8 RES PANELFLAG.B_DIRPAGE,(IY + PANEL.PANELFLAG)
BIT SORTFLAG.B_FILTER,(IY + PANEL.SORTFLAG)
JR NZ,.L2
LD HL,NORMmask
@ -128,8 +108,8 @@ FindFILESm LD HL,NORMmask
POP IX
POP IY
RET C
FFILEm1 LD A,(WorkBuffer + FFIRST.Attr)
AND DIR.M_Dir
FFILEm1 LD A,(WorkBuffer + FFIRST.Attr);+0x20)
AND DIR.M_Dir;0x10
CALL NZ,InsFileInfo
RET C
LD DE,WorkBuffer
@ -180,7 +160,7 @@ InsFileInfo EX DE,HL
LD (DE),A
INC DE
PUSH HL
LD BC,FFIRST.Attr
LD BC,FFIRST.Attr;0x20
ADD HL,BC
LD B,(HL) ; FFIRST.Attr
INC HL
@ -404,10 +384,14 @@ SortDIR
GETPORT WINSP.CPU3
LD B,A
PUSH BC
LD A,(ReadDIR.DIRPAGE)
SETPORT WINSP.CPU3,,0
LD A,(RAMPAGES.BuffPg4)
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
@ -501,6 +485,14 @@ SortDIR
.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
@ -701,7 +693,7 @@ SortDIRins DEC HL
EX DE,HL
LD A,B
OR C
CALL NZ,MoveBytesDec
CALL NZ,MoveBytesUp
POP DE
POP HL
LD BC,FileHDR.SIZE

311
fnsys.a80
View File

@ -1,12 +1,12 @@
; LAST UPDATE: 03.08.2025 savelij
; LAST UPDATE: 25.07.2025 savelij
;[]-----------------------------------------------------------[]
; <20>à®æ¥¤ãà  ã¬­®¦¥­¨ï (8*8bit)
; <20>  ¢å®¤: E * C
; <20>  ¢ë室:
; HL - १ã«ìâ â
Mul_8X8_16b: SUB A
Mult8 SUB A
LD L,A
LD H,A
LD D,A
@ -26,7 +26,7 @@ Mul_8X8_16b: SUB A
; <20>  ¢å®¤: DE * C
; <20>  ¢ë室:
; AHL - १ã«ìâ â
Mul_16X8_24b: SUB A
Mult16X8 SUB A
LD L,A
LD H,A
CP C
@ -48,7 +48,7 @@ Mul_16X8_24b: SUB A
; <20>  ¢å®¤: DE * BC
; <20>  ¢ë室:
; HL - १ã«ìâ â
Mul_16X16_16b: LD HL,0x0000
Mult16 LD HL,0x0000
LD A,0x10
.L1 RR B
RR C
@ -64,7 +64,7 @@ Mul_16X16_16b: LD HL,0x0000
; <20>  ¢å®¤: DE * BC
; <20>  ¢ë室:
; HLDE - १ã«ìâ â
Mul_16X16_32b: PUSH IX
Mult16X16 PUSH IX
EX DE,HL
LD E,0x00
LD D,E
@ -90,7 +90,7 @@ Mul_16X16_32b: PUSH IX
; <20>  ¢å®¤: HLDE * BC
; <20>  ¢ë室:
; HLDE - १ã«ìâ â
Mul_32X16_32b: PUSH IX
Mult32 PUSH IX
LD IX,0x0000
LD A,0x20
EX DE,HL
@ -114,8 +114,7 @@ Mul_32X16_32b: PUSH IX
; <20>  ¢ë室:
; BC - १ã«ìâ â
; HL - ®áâ â®ª
Div_16X16_16b_16b:
LD A,D
Divis16X16 LD A,D
OR E
RET Z
LD HL,0x0000
@ -150,8 +149,7 @@ Div_16X16_16b_16b:
; <20>  ¢ë室:
; A -१ã«ìâ â
; HL - ®áâ â®ª
Div_24X16_8b_16b:
LD A,D
Divis24X16 LD A,D
CPL
LD D,A
LD A,E
@ -186,8 +184,7 @@ Div_24X16_8b_16b:
; <20>  ¢ë室:
; DE - १ã«ìâ â
; HL - ®áâ â®ª
Div_32X16_16b_16b:
LD A,0x10
Divis32X16 LD A,0x10
.L2 EX DE,HL
ADD HL,HL
EX DE,HL
@ -209,8 +206,7 @@ Div_32X16_16b_16b:
; <20>  ¢ë室:
; HLDE - १ã«ìâ â
; BC-®áâ â®ª
Div_32X16_32b_16b:
PUSH IX
Divis32 PUSH IX
LD IXL,E
LD IXH,D
EX DE,HL
@ -239,8 +235,7 @@ Div_32X16_32b_16b:
;<3B>  ¢å®¤:
; ABCHL - ç¨á«® 40 ¡¨â
; DE - ¡ãä¥à
ConvertNumbers_40b:
PUSH IX
ConvNumTxt40: PUSH IX
LD IX,ConvertFlg
RES 7,(IX+0x00)
PUSH BC
@ -278,8 +273,7 @@ ConvertNumbers_40b:
;<3B>  ¢å®¤:
; BCHL - ç¨á«® 32 ¡¨â
; DE - ¡ãä¥à
ConvertNumbers_32b:
PUSH IX
ConvNumTxt32 PUSH IX
LD IX,ConvertFlg
RES 7,(IX+0x00)
PUSH BC
@ -339,8 +333,7 @@ ConvNumTxt32_Shared:
; <20>  ¢å®¤:
; HL - ç¨á«® 16 ¡¨â
; DE - ¡ãä¥à
ConvertNumbers_16b:
PUSH IX
ConvNumTxt16 PUSH IX
PUSH BC
LD IX,ConNumbExit
ld (ChooseStringFormat.address),IX
@ -366,8 +359,7 @@ ConvertNumbers_16b:
; <20>  ¢å®¤:
; A - ç¨á«® 8 ¡¨â
; DE - ¡ãä¥à
ConvertNumbers_8b:
PUSH IX
ConvNumTxt8 PUSH IX
PUSH BC
LD IX,ConNumbExit
ld (ChooseStringFormat.address),IX
@ -460,7 +452,7 @@ ConNumbExit: CP "0"
; <20>  ¢ë室:
; HLIX - ç¨á«®
; CY - ®è¨¡ª 
atoi_32b: LD IX,0x0000
ConvTxtNum32 LD IX,0x0000
LD HL,0x0000
ConvTN1 LD A,(DE)
CP 0x21
@ -502,7 +494,7 @@ ConvTN1 LD A,(DE)
; <20>  ¢ë室:
; HL - ç¨á«®
; CY - ®è¨¡ª 
atoi_16b: LD HL,0x0000
ConvTxtNum16 LD HL,0x0000
ConvTN2 LD A,(DE)
CP 0x21
CCF
@ -530,7 +522,7 @@ ConvTN2 LD A,(DE)
JR ConvTN2
;[]-----------------------------------------------------------[]
MoveBytesInc: LD A,B
MoveBytes LD A,B
OR A
JR Z,MvByte1
DI
@ -571,7 +563,7 @@ Mvlen1 EQU $-1
INC H
RET
MoveBytesDec: LD A,B
MoveBytesUp LD A,B
OR A
JR Z,MovUp1
DI
@ -683,34 +675,50 @@ SkipWord: ld b,0x20
jr .skipSpace
;[]----------------------------------------------------------[]
; HL - X ¯®§¨æ¨ï ¢ë¢®¤  ¢à¥¬¥­¨
; DE - Y ¯®§¨æ¨ï ¢ë¢®¤  ¢à¥¬¥­¨
; B - 梥⠢뢮¤  ¢à¥¬¥­¨
; HL' - X ¯®§¨æ¨ï ¢ë¢®¤  ¤ âë
; DE' - Y ¯®§¨æ¨ï ¢ë¢®¤  ¤ âë
; B' - 梥⠢뢮¤  ¤ âë
; A - ä®à¬ â ¢ë¢®¤  ¬¥áïæ  ¢ ¤ â¥
; 1 - ¬¥áïæ ¢ë¢®¤¨âáï ç¨á«®¬
; 2 - ¬¥áïæ ¢ë¢®¤¨âáï ⥪á⮬,
; ç¨á«® ¢ë¢®¤¨âáï ¡¥§ ¢¥¤ã饣® ­ã«ï
CMOSPrintDateTime:
LD (CMOSpos.CMOSOut),A
LD (CMOSpos.posXtime),HL
LD (CMOSpos.posYtime),DE
SetCMOSPrint: EX AF,AF'
LD (CMOSposXT),HL
LD (CMOSposYT),DE
LD A,B
LD (CMOSpos.colorTime),A
LD (CMOSColorT),A
SUB A
LD L,A
LD H,A
LD (CMOSPrint),A
LD (CMOSpos.Time),HL
LD (CMOSpos.Time + 2),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 (CMOSpos.posXDate),HL
LD (CMOSpos.posYDate),DE
LD (CMOSposXD),HL
LD (CMOSposYD),DE
LD A,B
LD (CMOSpos.colorDate),A
LD (CMOSColorD),A
EXX
JR TestCMOS
ResCMOSPrint: LD A,0x01
LD (CMOSPrint),A
RET
TestCMOS: LD A,(CMOSFlag)
OR A
RET Z
@ -725,97 +733,143 @@ TestCMOS: LD A,(CMOSFlag)
;!TEST
;EI
PUSH DE
PUSH IX ; DE,IX á®åà ­¨«¨ ¤¥­ì,¬¥áïæ £®¤
PUSH IX
EX DE,HL
LD HL,(CMOSpos.Time)
LD HL,(CMOSTime)
OR A
SBC HL,DE
JR NZ,.PrnCMOSTime
LD A,(CMOSpos.Time + 2)
JR NZ,PrnCMOSTime
LD A,(CMOSTime+2)
CP B
JR Z,.TCMOS1
.PrnCMOSTime: EX DE,HL
LD (CMOSpos.Time),HL
JR Z,TCMOS1
PrnCMOSTime: EX DE,HL
LD (CMOSTime),HL
LD A,B
LD (CMOSpos.Time + 2),A
LD DE,CMOSpos.TimeTXT
LD A,H ; ç áë
CALL Conv4CMOS
INC DE
LD A,L ; ¬¨­ãâë
CALL Conv4CMOS
INC DE
LD A,(CMOSpos.Time + 2) ; ᥪ㭤ë
CALL Conv4CMOS
LD HL,CMOSpos.TimeTXT
LD DE,(CMOSpos.posXtime)
LD BC,(CMOSpos.posYtime)
LD A,(CMOSpos.colorTime)
CALL PrintTxtLine_IFF
.TCMOS1 POP IX
POP DE ; DE,IX ¢®ááâ ­®¢¨«¨ ¤¥­ì,¬¥áïæ,£®¤
LD A,(CMOSpos.CMOSOut)
OR A
JP Z,TCMOSexit
EX DE,HL
LD (CMOSpos.Date),HL ; ¤¥­ì,¬¥áïæ
LD (CMOSpos.Date + 2),IX ; £®¤
LD A,(CMOSpos.CMOSOut)
DEC A
JR NZ,.TCMOS2
; ¢ë¢®¤ ¤ âë ¢¢¨¤¥ 02.08.2025
LD DE,CMOSpos.DateTXT
LD (CMOSTime+2),A
LD DE,CMOSTimeT
LD A,H
CALL Conv4CMOS
CALL GetCMOS
INC DE
LD A,L
CALL Conv4CMOS
CALL GetCMOS
INC DE
LD HL,(CMOSpos.Date + 2)
CALL ConvertNumbers_16b
LD HL,CMOSpos.DateTXT
LD DE,(CMOSpos.posXDate)
LD BC,(CMOSpos.posYDate)
LD A,(CMOSpos.colorDate)
CALL PrintTxtLine_IFF
JR TCMOSexit
; ¢ë¢®¢ ¤ âë ¢¢¨¤¥ 2 Aug 2025
.TCMOS2 LD DE,CMOSpos.DateT1
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 ConvertNumbers_8b
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
ADC A,H
SUB L
LD H,A
LD A,' '
JR NC,.L1
INC H
.L1 LD A,' '
.L2 LDI
CP (HL)
JR NZ,.L2
LDI
LD HL,(CMOSpos.Date + 2)
CALL ConvertNumbers_16b
LD (DE),A
INC DE
PUSH IX
POP HL
CALL ConvNumTxt16
SUB A
LD (DE),A
LD HL,CMOSpos.DateT1
LD DE,(CMOSpos.posXDate)
LD BC,(CMOSpos.posYDate)
LD A,(CMOSpos.colorDate)
CALL PrintTxtLine_IFF
TCMOSexit POP IX
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
Conv4CMOS: EX DE,HL
LD BC,(('0' - 1) << 8) + 10
;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
@ -828,39 +882,21 @@ Conv4CMOS: EX DE,HL
EX DE,HL
RET
CMOSpos
.CMOSOut: DB 0 ; ⨯ ¢ë¢®¤  ¤ âë:
; 0 - â¥áâ
; 1 - ¤¥­ì/¬¥áïæ/£®¤
; 2 - ¤¥­ì ¬¥áïæ £®¤
.posXtime: DW 0 ; ¯®§¨æ¨ï X ¤«ï ¢à¥¬¥­¨
.posYtime: DW 0 ; ¯®§¨æ¨ï Y ¤«ï ¢à¥¬¥­¨
.colorTime: DB 0 ; 梥⠤«ï ¢à¥¬¥­¨
.Time: DB 3 DUP 0 ; ç áë,¬¨­ãâë,ᥪ㭤ë
.TimeTXT: DZ "00:00:00"
.posXDate: DW 0 ; ¯®§¨æ¨ï X ¤«ï ¤ âë
.posYDate: DW 0 ; ¯®§¨æ¨ï Y ¤«ï ¤ âë
.colorDate: DB 0 ; 梥⠤«ï ¤ âë
.Date: DD 0 ; ¤¥­ì,¬¥áïæ,£®¤
.DateTXT: DZ "00.00.0000"
.DateT1: DB 14 DUP 0
Month: DB "Jan "
DB "Feb "
DB "Mar "
DB "Febr "
DB "March "
DB "Apr "
DB "May "
DB "Jun "
DB "Jul "
DB "June "
DB "July "
DB "Aug "
DB "Sep "
DB "Sept "
DB "Oct "
DB "Nov "
DB "Dec "
;[]----------------------------------------------------------[]
PointerMouseClock:
LD A,(MouseFlag)
SetClock: LD A,(MouseFlag)
OR A
RET Z
PUSH IY
@ -872,7 +908,7 @@ PointerMouseClock:
PUSH AF
LD A,(RAMPAGES.FNFONT)
SETPORT WINSP.CPU3,,0
LD IX,CLOCK_BMP
LD IX,CLOCK_BMP;ClockBMP
LD HL,14 << 8 + 9
LD DE,7 << 8 | 4
SPMOUSE MOUSEF.LOAD_IMAGE
@ -886,8 +922,7 @@ PointerMouseClock:
HALT
RET
PointerMousePointer:
LD A,(MouseFlag)
SetMouse LD A,(MouseFlag)
OR A
RET Z
PUSH IY
@ -899,7 +934,7 @@ PointerMousePointer:
PUSH AF
LD A,(RAMPAGES.FNFONT)
SETPORT WINSP.CPU3,,0
LD IX,MOUSE_BMP
LD IX,MOUSE_BMP;MouseBMP
LD HL,13 << 8 + 9
LD DE,0
SPMOUSE MOUSEF.LOAD_IMAGE

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 24.08.2025 savelij
; LAST UPDATE: 02.05.2025 savelij
;[]==========================================================[]
; ”®à¬ â â ¡«¨æë
@ -29,10 +29,7 @@
; +0A 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­¥ ­ ¦ â®¬ ®£­¥
; +0C 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ («¥¢)
; +0E 2 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ (¯à ¢)
MAINTAB
;[]==========================================================[]
.FilePanelLeft DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
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
@ -40,7 +37,7 @@ MAINTAB
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
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
@ -55,7 +52,7 @@ MAINTAB
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
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
@ -80,7 +77,7 @@ MAINTAB
DW 0x8000
;[]==========================================================[]
.FilePanelRight DW 6, 40, 15, 26,%0000000000000000,0,MenuFile,0
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
@ -88,7 +85,7 @@ MAINTAB
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
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
@ -103,7 +100,7 @@ MAINTAB
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
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
@ -128,7 +125,7 @@ MAINTAB
DW 0x8000
;[]==========================================================[]
.FileTab DW 8,160, 29, 43,%0000000100100100,0,RESIDENT.FileInfoL2,0
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
@ -143,11 +140,11 @@ MAINTAB
DW 164,640, 0,256,%0000000100100000,0,MenuExit,0
DW 0x8000
.SelectTab DW 44,196, 29, 43,%0000000100100100,0,RESIDENT.MarkGroupN,0 ; Mark group +
DW 44,196, 43, 57,%0000000100100100,0,RESIDENT.UnMarkGroupN,0 ; Unmark group -
DW 44,196, 57, 71,%0000000100100100,0,RESIDENT.SelectAllN,0 ; Mark all CTRL+
DW 44,196, 71, 85,%0000000100100100,0,RESIDENT.UnSelectAllN,0 ; Unmark all CTRL-
DW 44,196, 85, 99,%0000000100100100,0,RESIDENT.InvertSelectN,0 ; Invert selection *
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
@ -161,7 +158,7 @@ MAINTAB
DW 0x8000
; ¯®¤¬¥­î "Options"
.OptionTab DW 88,288, 29, 43,%0000000100100100,0,RefreshTree,0 ; Options->Refresh tree
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
@ -180,7 +177,7 @@ MAINTAB
DW 0x8000
; ¯®¤¬¥­î "View"
.ViewTab DW 142,324, 29, 43,%0000000100100100,0,ChView1,0
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
@ -204,7 +201,7 @@ MAINTAB
DW 330,640, 0,256,%0000000101100000,0,MenuExit,0
DW 0x8000
.ConfigTab DW 178,266, 29, 43,%0000000100100100,0,RESIDENT.Setup,0
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
@ -217,7 +214,7 @@ MAINTAB
DW 270,640, 0,256,%0000000100100000,0,MenuExit,0
DW 0x8000
.AboutTab DW 226,330, 29, 43,%0000000100100100,0,RESIDENT.Version,0
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
@ -230,7 +227,7 @@ MAINTAB
DW 334,640, 0,256,%0000000100100000,0,MenuExit,0
DW 0x8000
.PullTab DW 6, 40, 15, 26,%0000000000100000,0,MFile,0
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
@ -243,35 +240,43 @@ MAINTAB
DW 0x8000
;[]==========================================================[]
.FilterTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,208, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 432,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
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
.DOSTab DW 0,256, 0,256,%0000000000000000,0,DOSLnExtC,0
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.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,200, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 440,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
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
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
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
@ -286,7 +291,7 @@ MAINTAB
IF PLUGS_ENABLE
; ®¡« á⨠¢ë¡®à  ¢ ¬¥­î ¯« £¨­®¢
.PluginsTab: DW 4, 13,100, 10,%0000000000000000,0,SelectPlugin.NUM00,0
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

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 03.08.2025 savelij
; LAST UPDATE: 24.07.2025 savelij
MAX_LEVEL_DIR EQU 21
@ -28,7 +28,7 @@ ReadTreeR PUSH IY
GETPORT WINSP.CPU3
LD B,A
PUSH BC
LD A,(RAMPAGES.BuffPg4)
LD A,(RAMPAGES.BuffPg3)
SETPORT WINSP.CPU1,,0
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
@ -182,7 +182,7 @@ ReadTreeR PUSH IY
SET VIEWFLAG.B_SHORTTREE,(IY+PANEL.VIEWFLAG)
.L4
GETPORT WINSP.CPU3
LD (RAMPAGES.BuffPg4),A
LD (RAMPAGES.BuffPg3),A
GETPORT WINSP.CPU1
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
LD HL,RAMPAGES.LEFTPANEL
@ -451,7 +451,7 @@ LoadItemDIRR: LD DE,(EndTree)
LD DE,336 ; X pos
LD BC,116 ; Y pos
LD A,COLORP.HIGHGRAY
JP PrintTxtLine_IFF
JP PrnTxtLnIFF
.GetN16 LD A,'0' - 1
OR A

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 17.07.2025 savelij
;[]----------------------------------------------------------[]
;<3B>à®æ¥¤ãà  ®âç¨áª¨ 0 íªà ­ 
@ -200,10 +200,9 @@ StoreWindow DI
LD HL,RAMPAGES.BuffPg1
ADD A,L
LD L,A
ADC A,H
SUB L
LD H,A
LD A,(HL)
JR NC,.L1
INC H
.L1 LD A,(HL)
SETPORT WINSP.CPU3,,0
EXX
LD A,H
@ -329,10 +328,9 @@ RestoreWindow LD HL,MakeWindow.Open
LD HL,RAMPAGES.BuffPg1
ADD A,L
LD L,A
ADC A,H
SUB L
LD H,A
LD A,(HL)
JR NC,.L2
INC H
.L2 LD A,(HL)
SETPORT WINSP.CPU3,,0
EXX
LD A,H
@ -471,7 +469,7 @@ PutAdrTxtLine LD HL,(MakeWindow.PositX)
LD A,H
OR L
LD A,IYL
CALL NZ,PrintTxtLine_IFF ; ŻĄç â âě Ąá«¨  ¤ŕĄá ­Ą 0
CALL NZ,PrnTxtLnIFF ; ¯¥ç â âì ¥á«¨  ¤à¥á ­¥ 0
POP IY
RET
@ -497,7 +495,7 @@ PutTxtLine LD HL,(MakeWindow.PositX)
INC IY
PUSH IY
POP HL
CALL PrintTxtLine_IFF
CALL PrnTxtLnIFF
PUSH HL
POP IY
RET
@ -763,7 +761,7 @@ PutButton LD HL,(MakeWindow.PositX)
INC IY
PUSH IY
POP HL
CALL PrintTxtLine_IFF
CALL PrnTxtLnIFF
PUSH HL
POP IY
RET
@ -998,7 +996,7 @@ SBdown
DB 0xFF,0x77,0x77,0x77,0x77,0x77,0x77,0x77 ; 7
;[]----------------------------------------------------------[]
; Źŕ®ćĄ¤ăŕ  § ¬Ą­ë ć˘Ąâ  ˘ Żŕאַ㣮«ě­®© Ż«®áŞ®áâ¨
; <EFBFBD>à®æ¥¤ãà  ¨­¢¥àâ¨à®¢ ­¨ï ¯àאַ㣮«ì­®© ¯«®áª®áâ¨
; <20>  ¢å®¤:
; HL - X ª®®à¤¨­ â 
; BC - Y ª®®à¤¨­ â 
@ -1006,8 +1004,7 @@ SBdown
; LX - ¤«¨­  X
; D - ⥪ã騩 梥â
; E - ­ã¦­ë© 梥â
ReplaceColorRectan:
PUSH IY
InvertRectan PUSH IY
GETPORT WINSP.Y_PORT ; ‘®å࠭塞 Y ¯®àâ
PUSH AF
GETPORT WINSP.CPU1

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 29.07.2025 savelij
;[]===========================================================[]
CursUp LD A,(IY + PANEL.FILES_ALL)
@ -70,7 +70,7 @@ ScrlDn1 BIT VIEWFLAG.B_FULL,(IY + PANEL.VIEWFLAG)
PUSH HL
LDIR
POP HL
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
LD DE,0x18*0x11
ADD HL,DE
LD E,IXL
LD D,IXH
@ -84,7 +84,7 @@ ScrlDn1 BIT VIEWFLAG.B_FULL,(IY + PANEL.VIEWFLAG)
PUSH HL
LDIR
POP HL
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
LD DE,0x18*0x11
ADD HL,DE
LD E,IXL
LD D,IXH
@ -171,7 +171,7 @@ ScrlDn1 BIT VIEWFLAG.B_FULL,(IY + PANEL.VIEWFLAG)
POP IX
LD DE,PANEL.BAR_X
ADD IX,DE
JP DrawHScrollBar
JP PrnHScrBar
ScrlDnP
GETPORT WINSP.CPU1
@ -257,7 +257,7 @@ ScrlDnP
POP IX
LD DE,PANEL.BAR_X
ADD IX,DE
JP DrawVScrollBar
JP PrnVScrBar
ScrlDnT
GETPORT WINSP.CPU1
@ -344,7 +344,7 @@ ScrDdn2 LD DE,WorkBuffer+0x100
POP IX
LD DE,PANEL.BAR_X
ADD IX,DE
JP DrawVScrollBar
JP PrnVScrBar
;[]===========================================================[]
CursDown LD C,(IY+PANEL.FILES_ALL)
@ -419,14 +419,14 @@ ScrlUp1 BIT VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
PUSH HL
LDIR
POP HL
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
LD DE,0x18*0x11
ADD HL,DE
LD DE,WorkBuffer+0x10
LD C,0x0E
PUSH HL
LDIR
POP HL
LD DE,FileHDR.SIZE * NUM_FILES_PANEL
LD DE,0x18*0x11
ADD HL,DE
LD DE,WorkBuffer+0x20
LD C,0x0E
@ -507,7 +507,7 @@ ScrlUp1 BIT VIEWFLAG.B_FULL,(IY+PANEL.VIEWFLAG)
POP IX
LD DE,PANEL.BAR_X
ADD IX,DE
JP DrawHScrollBar
JP PrnHScrBar
ScrlUpP
GETPORT WINSP.CPU1
@ -594,7 +594,7 @@ ScrlUpP
POP IX
LD DE,PANEL.BAR_X
ADD IX,DE
JP DrawVScrollBar
JP PrnVScrBar
ScrlUpT
GETPORT WINSP.CPU1
@ -681,7 +681,7 @@ ScrDup1 PUSH BC
POP IX
LD DE,PANEL.BAR_X
ADD IX,DE
JP DrawVScrollBar
JP PrnVScrBar
; <20>  ¢å®¤:
; HL - X ¯®§¨æ¨ï
@ -858,9 +858,9 @@ PageUDex CALL PrintDIR
LD A,(IY+PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
CALL NZ,DrawVScrollBar
CALL NZ,PrnVScrBar
LD B,0x07
PgUDext PUSH BC
SPMOUSE MOUSEF.READ_STATE
@ -1032,11 +1032,15 @@ NewFile1 LD HL,0x003F
LD (IY+PANEL.CURR_FILE + 1),H
CALL SetInvert
CALL PrnFileInfo
JP WaitUnpressMouse
JP ResFire
;[]==========================================================[]
OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
IF TREE_REZID
JP NZ,RESIDENT.TestTreeBeg
ELSE
JP NZ,TestTreeR.TestTreeBeg
ENDIF
LD A,(IY+PANEL.FILES_ALL)
OR (IY+PANEL.FILES_ALL + 1)
RET Z
@ -1048,21 +1052,19 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
LD A,(RAMPAGES.RIGHTPANEL)
.L1
SETPORT WINSP.CPU1,,0
; LD L,(IY + PANEL.FIRST_FILE)
; LD H,(IY + PANEL.FIRST_FILE + 1)
; LD E,(IY + PANEL.CURR_FILE)
; LD D,(IY + PANEL.CURR_FILE + 1)
; ADD HL,DE
; ADD HL,HL ; *2
; ADD HL,HL ; *4
; ADD HL,HL ; *8
; LD E,L
; LD D,H
; ADD HL,HL ; *10
; ADD HL,DE ; *18
; SET 6,H ; | 0x4000
LD A,HIGH (CPU1)
CALL GET_HANDLE_ADR
LD L,(IY+PANEL.FIRST_FILE)
LD H,(IY+PANEL.FIRST_FILE + 1)
LD E,(IY+PANEL.CURR_FILE)
LD D,(IY+PANEL.CURR_FILE + 1)
ADD HL,DE
ADD HL,HL ; *2
ADD HL,HL ; *4
ADD HL,HL ; *8
LD E,L
LD D,H
ADD HL,HL ; *10
ADD HL,DE ; *18
SET 6,H ; | 0x4000
LD DE,WorkBuffer
LD BC,FileHDR.Attr
PUSH HL
@ -1078,9 +1080,8 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
INC HL
JP Z,RunEXEfile
LD A,(HL)
CP '.' ; ¢ë室 ¨§ ¤¨à¥ªâ®à¨¨ ¢¢¥àå?
JR NZ,EnterDIR
; ¢ë室 ¨§ ¤¨à¥ªâ®à¨¨ ¢¢¥àå
CP '.'
JR NZ,OpenF2
PUSH HL
PUSH IY
POP HL
@ -1093,7 +1094,7 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
LD A,'\\'
DEC HL
CP (HL)
JR Z,.L5
JR Z,OpenF1
.L3 DEC HL
CP (HL)
JR NZ,.L3
@ -1105,13 +1106,12 @@ OpenFile BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
JR NZ,.L4
LD (DE),A
LD A,'.'
.L5 POP HL
; ¢å®¤ ¢ ¤¨à¥ªâ®à¨î
EnterDIR PUSH AF
OpenF1 POP HL
OpenF2 PUSH AF
PUSH HL
CALL ResInvert
POP HL
CALL PointerMouseClock
CALL SetClock
PUSH IY
SPDSS DSSF.CHDIR
POP IY
@ -1147,13 +1147,13 @@ EnterDIR PUSH AF
LD A,(IY+PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
CALL NZ,DrawVScrollBar
CALL PointerMousePointer
CALL NZ,PrnVScrBar
CALL SetMouse
LD A,(TreeFlag)
OR A
JP Z,WaitUnpressMouse
JP Z,ResFire
PUSH IY
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
LD IY,LeftPanel
@ -1165,14 +1165,18 @@ EnterDIR PUSH AF
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.BAR_X
ADD IX,DE
CALL DrawVScrollBar
CALL PrnVScrBar
POP IY
RET
@ -1349,10 +1353,10 @@ ShowDSlp
JR Z,ShowDSlp
ShowDSexit
SPDSS DSSF.SETVMOD,0,SETVMOD.GRF640X256
JP WaitUnpressMouse
JP ResFire
;[]==========================================================[]
RunEXEfile: LD IX,REZ3_BUFFERS.fn_ext
RunEXEfile: LD IX,fn_ext
LD DE,PrevFile
PUSH DE
SUB A
@ -1890,7 +1894,7 @@ ViewFileSH: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
W_FILL 88,23,130,10,COLORI.WHITE
W_END
LD IX,ViewStr
LD HL,MAINTAB.ViewEditTab
LD HL,ViewEditTab
CALL InputLine
WINDOWCLOSE
RET C
@ -1934,12 +1938,14 @@ StViewFile: LD A,0x01
LD A,(IY+PANEL.FILES_ALL)
OR (IY+PANEL.FILES_ALL + 1)
RET Z
IFNDEF ENABLE.VIEW
; ¯®¯ë⪠ § £à㧪¨ ¯« £¨­ 
CALL LOADFLX4RUN
DZ FILENAME.VIEW_FLX
; ¢ë¢®¤ ®è¨¡ª¨ "<22>« £¨­ ­¥ ­ ©¤¥­"
LD A,FNinternal.PlugNotFound
JP C,DOSError
ENDIF
GETPORT WINSP.CPU1
PUSH AF
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
@ -1948,21 +1954,19 @@ StViewFile: LD A,0x01
LD A,(RAMPAGES.RIGHTPANEL)
.L2
SETPORT WINSP.CPU1,,0
; LD L,(IY+PANEL.FIRST_FILE)
; LD H,(IY+PANEL.FIRST_FILE + 1)
; LD E,(IY+PANEL.CURR_FILE)
; LD D,(IY+PANEL.CURR_FILE + 1)
; ADD HL,DE
; ADD HL,HL ; *2
; ADD HL,HL ; *4
; ADD HL,HL ; *8
; LD E,L
; LD D,H
; ADD HL,HL ; *10
; ADD HL,DE ; *18
; SET 6,H ; | 0x4000
LD A,HIGH (CPU1)
CALL GET_HANDLE_ADR
LD L,(IY+PANEL.FIRST_FILE)
LD H,(IY+PANEL.FIRST_FILE + 1)
LD E,(IY+PANEL.CURR_FILE)
LD D,(IY+PANEL.CURR_FILE + 1)
ADD HL,DE
ADD HL,HL ; *2
ADD HL,HL ; *4
ADD HL,HL ; *8
LD E,L
LD D,H
ADD HL,HL ; *10
ADD HL,DE ; *18
SET 6,H ; | 0x4000
LD DE,WorkBuffer
LD BC,FileHDR.Attr
PUSH HL
@ -1987,7 +1991,7 @@ StViewFile: LD A,0x01
VFlag: EQU $-1
OR A
JR NZ,View1
View: LD IX,REZ3_BUFFERS.fnview_ext
View: LD IX,fnview_ext
LD DE,PrevFile
CALL TestEXT
RET NC
@ -2017,7 +2021,12 @@ View1: CALL ResInvert
LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000
JR NZ,.L4
LD C,WINSP.CPU3 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0xC000
.L4 LD A,(RAMPAGES.FLX)
.L4
IFDEF ENABLE.VIEW
LD A,(RAMPAGES.FNVIEW)
ELSE
LD A,(RAMPAGES.FLX)
ENDIF
CALL Resident
LD HL,0
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨­  £«ã訬  ¤à¥á § £à㧪¨
@ -2052,7 +2061,7 @@ EditFileSH: BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
W_FILL 88,23,130,10,COLORI.WHITE
W_END
LD IX,EditStr
LD HL,MAINTAB.ViewEditTab
LD HL,ViewEditTab
CALL InputLine
WINDOWCLOSE
RET C
@ -2096,12 +2105,14 @@ StEditFile: LD A,0x01
LD A,(IY+PANEL.FILES_ALL)
OR (IY+PANEL.FILES_ALL + 1)
RET Z
IFNDEF ENABLE.VIEW
; ¯®¯ë⪠ § £à㧪¨ ¯« £¨­ 
CALL LOADFLX4RUN
DZ FILENAME.EDIT_FLX
; ¢ë¢®¤ ®è¨¡ª¨ "<22>« £¨­ ­¥ ­ ©¤¥­"
LD A,FNinternal.PlugNotFound
JP C,DOSError
ENDIF
GETPORT WINSP.CPU1
PUSH AF
BIT PANELFLAG.B_SIDE,(IY+PANEL.PANELFLAG)
@ -2110,21 +2121,19 @@ StEditFile: LD A,0x01
LD A,(RAMPAGES.RIGHTPANEL)
.L2
SETPORT WINSP.CPU1,,0
; LD L,(IY+PANEL.FIRST_FILE)
; LD H,(IY+PANEL.FIRST_FILE + 1)
; LD E,(IY+PANEL.CURR_FILE)
; LD D,(IY+PANEL.CURR_FILE + 1)
; ADD HL,DE
; ADD HL,HL ; *2
; ADD HL,HL ; *4
; ADD HL,HL ; *8
; LD E,L
; LD D,H
; ADD HL,HL ; *10
; ADD HL,DE ; *18
; SET 6,H ; | 0x4000
LD A,HIGH (CPU1)
CALL GET_HANDLE_ADR
LD L,(IY+PANEL.FIRST_FILE)
LD H,(IY+PANEL.FIRST_FILE + 1)
LD E,(IY+PANEL.CURR_FILE)
LD D,(IY+PANEL.CURR_FILE + 1)
ADD HL,DE
ADD HL,HL ; *2
ADD HL,HL ; *4
ADD HL,HL ; *8
LD E,L
LD D,H
ADD HL,HL ; *10
ADD HL,DE ; *18
SET 6,H ; | 0x4000
LD DE,WorkBuffer
LD BC,FileHDR.Attr
PUSH HL
@ -2149,7 +2158,7 @@ StEditFile: LD A,0x01
EFlag: EQU $-1
OR A
JR NZ,Edit1
Edit: LD IX,REZ3_BUFFERS.fnedit_ext
Edit: LD IX,fnedit_ext
LD DE,PrevFile
CALL TestEXT
RET NC
@ -2179,7 +2188,12 @@ Edit1: CALL ResInvert
LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000
JR NZ,.L4
LD C,WINSP.CPU3 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0xC000
.L4 LD A,(RAMPAGES.FLX)
.L4
IFDEF ENABLE.VIEW
LD A,(RAMPAGES.FNEDIT)
ELSE
LD A,(RAMPAGES.FLX)
ENDIF
CALL Resident
LD HL,0
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨­  £«ã訬  ¤à¥á § £à㧪¨

View File

@ -1,7 +1,7 @@
@echo off
rem cls
cls
cd cdplayer
call build

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 15.07.2025 savelij
include macros.a80
include fn_const.a80
@ -42,102 +42,102 @@ PluginEntry:
ld hl, asc_C36E ; "7"
ld de, 107h
ld bc, 75h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C370 ; "8"
ld de, 123h
ld bc, 75h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
sub_C103: ld hl, asc_C372 ; "9"
ld de, 140h
ld bc, 75h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C37F ; "/"
ld de, 15Bh
ld bc, 75h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C374 ; "C"
ld de, 177h
ld bc, 75h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C368 ; "4"
ld de, 107h
ld bc, 84h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C36A ; "5"
ld de, 123h
ld bc, 84h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C36C ; "6"
ld de, 140h
ld bc, 84h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C37D ; "*"
ld de, 15Bh
ld bc, 84h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C376 ; "CE"
ld de, 178h
ld bc, 84h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C362 ; "1"
ld de, 107h
ld bc, 93h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C364 ; "2"
ld de, 123h
ld bc, 93h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C366 ; "3"
ld de, 140h
ld bc, 93h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C37B ; "-"
ld de, 15Bh
ld bc, 93h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C387 ; "="
ld de, 178h
ld bc, 9Ah
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C360 ; "0"
ld de, 107h
ld bc, 0A2h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C381 ; "+/-"
ld de, 123h
ld bc, 0A2h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C385 ; "."
ld de, 13Fh
ld bc, 0A2h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
ld a, 80h
call JUMPS.PrnRangPathC
ld hl, asc_C379 ; "+"
ld de, 15Bh
ld bc, 0A2h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
call JUMPS.PrintPathCentr
call JUMPS.WaitUnpressMouse
ld a, 80h
call JUMPS.PrnRangPathC
call JUMPS.ResFire
loc_C1F4: call sub_C324
loc_C1F7: ld ix, PluginMouseTab
call JUMPS.CheckCoordsMouse
call JUMPS.TestCoords
SPDSS DSSF.SCANKEY
jp z, loc_C1F7
ld a, b
@ -290,8 +290,9 @@ sub_C324: ld hl, asc_C34D
sub_C32D: ld ix, 48h
ld de, 183h
ld bc, 65h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
JP JUMPS.PrintPathRight
ld a, 80h
call JUMPS.PrnRangPathR
ret
byte_C33D: db 0
byte_C33E: db 0

View File

@ -6,7 +6,7 @@ set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad
call ..\..\setpath_includes
set includes=%includes%;..\..\
rem cls
cls
asl -U -L -C -x -olist tmp\cdplayer.lst -i %includes% cdplayer.a80 || goto error
p2bin cdplayer.p ..\cdplayer.flx -r $-$ -k

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 15.07.2025 savelij
include macros.a80
include fn_const.a80
@ -36,7 +36,7 @@ PluginEntry:
W_BUTTON 442,35,36,18
W_HORIZLINE 2,56,480
W_END
call JUMPS.WaitUnpressMouse
call JUMPS.ResFire
CALL SHOW_BUTTON ; ¢ë¢®¤ ¨ª®­®ª ­  ª­®¯ª¨
IF DEBUG
CALL DEBUG_TXTKEYS ; ®â« ¤®ç­ë© ⥪áâ
@ -68,7 +68,7 @@ plugin_loop: LD HL,FLAG
CALL Z,BIGDIGITSALL ; ¨«¨ ¢ë¢®¤¨¬ ­  íªà ­
; ®á­®¢­®© 横« ®¯à®á  ã¯à ¢«¥­¨ï
.L3 ld ix,PluginMouseTab
call JUMPS.CheckCoordsMouse
call JUMPS.TestCoords
SPDSS DSSF.SCANKEY
jr z,plugin_loop
ld a,b
@ -310,7 +310,7 @@ CDinit: LD B,0xC0 - 1
LD DE,360
LD BC,140
LD A,COLORP.HIGHGRAY + COLORI.BLUE
CALL JUMPS.PrintTxtLine_IFF
CALL JUMPS.PrnTxtLnIFF
LD A,1
LD (CURRENT.TRACK),A
; ®¡­®¢«¥­¨¥ ⥪ã饣® ­®¬¥à  â४  ¨ ¢à¥¬¥­¨ ¨£à ­¨ï ­  íªà ­¥
@ -363,7 +363,7 @@ noCD: ld hl,msgN
ld a,COLORP.HIGHGRAY + COLORI.RED
CDprn: ld de,84
ld bc,140
JP JUMPS.PrintTxtLine_IFF
JP JUMPS.PrnTxtLnIFF
msgY DZ "CD-ROM is present"
msgN DZ "CD-ROM is absent"
@ -418,7 +418,7 @@ DEBUG_TXTKEYS LD HL,DEBUGTABLKEYS
INC HL
EX (SP),HL
LD A,COLORP.HIGHGRAY + COLORI.RED
CALL JUMPS.PrninTxtLine_IFF
CALL JUMPS.PrnTxtLnIFF
POP HL
JR .L1
ENDIF

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 15.07.2025 savelij
include macros.a80
include fn_const.a80
@ -52,17 +52,17 @@ aYear: EQU $ - STRLEN("Year") - 2
ld de,202
ld bc,149
ld a,COLORP.HIGHGRAY;80h
call JUMPS.PrintPathCentr
call JUMPS.PrnRangPathC
ld hl,aReset ; "Reset"
ld de,270
ld bc,149
ld a,COLORP.HIGHGRAY;80h
call JUMPS.PrintPathCentr
call JUMPS.PrnRangPathC
ld hl,aQuit ; "Quit"
ld de,438
ld bc,149
ld a,COLORP.HIGHGRAY;80h
call JUMPS.PrintPathCentr
call JUMPS.PrnRangPathC
call GetSysTime
call InitDate
ld ix,320
@ -70,13 +70,13 @@ aYear: EQU $ - STRLEN("Year") - 2
ld de,320
ld bc,114
ld a,COLORP.HIGHGRAY;80h
call JUMPS.PrintPathCentr
call JUMPS.PrnRangPathC
call sub_C2B7
call PrintMonth
call PrintYear
call JUMPS.WaitUnpressMouse
call JUMPS.ResFire
_plugin_loop: ld ix,PluginMouseTab
call JUMPS.CheckCoordsMouse
call JUMPS.TestCoords
halt
SPDSS DSSF.SCANKEY
jr z,_plugin_loop
@ -109,8 +109,9 @@ PrintDay: ld a,(Day)
ld ix,14h
ld de,0C3h
ld bc,82h
ld a,COLORP.HIGHGRAY + COLORI.BLACK
JP JUMPS.PrintPathLeft
ld a,80h
call JUMPS.PrnRangPathL
ret
DecDay: ld a,(max_date)
ld b,a
@ -148,7 +149,8 @@ sub_C1F3: ld ix,40h ; '@'
ld de,13Ah
ld bc,82h
ld a,80h
JP JUMPS.PrintPathCentr
call JUMPS.PrnRangPathC
ret
DecMonth: ld a,(Month)
cp 0Bh
@ -184,9 +186,10 @@ PrintYear: ld ix,1Ah
ld de,1A7h
ld bc,82h
ld a,80h
call JUMPS.PrintPathCentr
call JUMPS.PrnRangPathC
call sub_C268
JP sub_C2B7
call sub_C2B7
ret
DecYear: ld hl, a0+4 ; " "
ld c,'9'
@ -227,25 +230,25 @@ loc_C281: ld (max_date),a
ret
loc_C285: ld de, a0+1 ; " "
call JUMPS.atoi_16b
call JUMPS.ConvTxtNum16
push hl
pop bc
ld de,190h
push bc
call JUMPS.Div_16X16_16b_16b
call JUMPS.Divis16X16
pop bc
ld a,h
or l
jr z,loc_C2AF
ld de,4
push bc
call JUMPS.Div_16X16_16b_16b
call JUMPS.Divis16X16
pop bc
ld a,h
or l
jr nz,loc_C2B3
ld de,64h ; 'd'
call JUMPS.Div_16X16_16b_16b
call JUMPS.Divis16X16
ld a,h
or l
jr z,loc_C2B3
@ -261,10 +264,11 @@ sub_C2B7: ld a,(Day)
cp b
jr nc,loc_C2C4
ld (Day),a
loc_C2C4: JP PrintDay
loc_C2C4: call PrintDay
ret
SetDate: ld de, a0+1 ; " "
call JUMPS.atoi_16b
call JUMPS.ConvTxtNum16
push hl
SPDSS DSSF.GETTIME,0
ld a,(Day)
@ -280,7 +284,8 @@ SetDate: ld de, a0+1 ; " "
ReadDate: call GetSysTime
loc_C2E9: call PrintDay
call PrintMonth
JP PrintYear
call PrintYear
ret
GetSysTime:
SPDSS DSSF.GETTIME,0
@ -297,7 +302,7 @@ loc_C307: ld (hl),30h ; '0'
djnz loc_C307
pop hl
ld de, a0+1 ; " "
call JUMPS.ConvertNumbers_16b
call JUMPS.ConvNumTxt16
InitDate: ld hl, aToday+6 ; ""
ld b,' '
loc_C318: ld (hl),0

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 03.08.2025 savelij
; LAST UPDATE: 29.07.2025 savelij
ENABLE_CODEPAGE EQU 0
@ -46,7 +46,7 @@ EditorLoop CALL FEChCursor
JP NZ,HEditLoop
; ०¨¬ । ªâ¨à®¢ ­¨ï ⥪áâ
TEditLoop LD IX,FEASCIItab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,EditorLoop
LD A,D
@ -138,7 +138,7 @@ TEditLoop LD IX,FEASCIItab
; ०¨¬ । ªâ¨à®¢ ­¨ï HEX
HEditLoop LD IX,FEHEXtab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JP Z,EditorLoop
LD A,D
@ -276,7 +276,7 @@ EditorExit CALL PutString
W_TEXT 150,45,COLORP.HIGHGRAY,"No"
W_END
SureLoop LD IX,SureTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY
JR Z,SureLoop
LD A,B
@ -319,7 +319,7 @@ QuitAsk: ld a,0
W_TEXT 150,35,COLORP.HIGHGRAY,"No"
W_END
FEQuitLoop: LD IX,FEQuitTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY
JR Z,FEQuitLoop
LD A,B
@ -389,18 +389,18 @@ FEInitScreen
LD HL,WorkBuffer
LD DE,0x0030
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathLeft
LD HL,520
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
LD A,0x80
CALL JUMPS.PrnRangPathL
LD HL,0x01FC
LD DE,0x0003
LD B,0x08
EXX
LD HL,568
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
LD HL,0x022E
LD DE,0x0003
LD B,0x08
EXX
LD A,DateMonthFormat.Digit
JP JUMPS.CMOSPrintDateTime
LD A,0x02
JP JUMPS.SetCMOSPrint
;[]==========================================================[]
InitStatus
@ -478,7 +478,7 @@ ASCIIenc2 EQU $ - 2
InitFile LD A,(EditMode)
OR A
JR NZ,InitFileHex
CALL JUMPS.PointerMouseClock
CALL JUMPS.SetClock
LD HL,0x0000
LD E,L
LD D,H
@ -511,7 +511,7 @@ InitAlp PUSH HL
LD (CLine),HL
LD H,0x00
LD (CAddX),HL
JP JUMPS.PointerMousePointer
JP JUMPS.SetMouse
InitFileHex LD HL,(FEFileLenght)
LD A,L
@ -704,7 +704,7 @@ FEAbout CALL FEResCursor
W_TEXT 154,69,COLORP.HIGHGRAY,"Ok"
W_END
FEAboutLoop LD IX,FEAboutTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY
JR Z,FEAboutLoop
LD A,B

View File

@ -1,8 +1,8 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 29.07.2025 savelij
;[]==========================================================[]
FELoadFile CALL JUMPS.PointerMouseClock
FELoadFile CALL JUMPS.SetClock
LD DE,EditingFile
PUSH HL
SPDSS DSSF.F_FIRST,1,0x37
@ -51,12 +51,12 @@ FELoadFile CALL JUMPS.PointerMouseClock
AND 0xC0
RLCA
RLCA
LD (IX+PROGRESSBAR.MAX_PAGES),A
LD (IX+PROC.MAX_PAGES),A
SUB A
LD (IX+PROGRESSBAR.MAX_PAGES + 1),A
LD (IX+PROGRESSBAR.MAX_PAGES + 2),A
LD (IX+PROGRESSBAR.MAX_PAGES + 3),A
CALL JUMPS.InitProgressBar
LD (IX+PROC.MAX_PAGES + 1),A
LD (IX+PROC.MAX_PAGES + 2),A
LD (IX+PROC.MAX_PAGES + 3),A
CALL JUMPS.InitProcess
MAKEWINDOW WINSUBOBJ.STORE
W_MAIN 160,88,320,48
W_FILL 4,2,312,10,COLORI.BLACK
@ -97,8 +97,8 @@ FELoadFile CALL JUMPS.PointerMouseClock
LD HL,WorkBuffer
LD DE,0x00D8
LD BC,0x0068
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathLeft
LD A,0x80
CALL JUMPS.PrnRangPathL
LD HL,EditingFile+33
SPDSS DSSF.OPEN,,1
PUSH AF
@ -162,7 +162,7 @@ FELoadExit HALT
HALT
WINDOWCLOSE
PUSH AF
CALL JUMPS.PointerMousePointer
CALL JUMPS.SetMouse
POP AF
RET
@ -176,7 +176,7 @@ FENoRead LD A,(FEMemIndef)
;[]==========================================================[]
FENewFile PUSH AF
CALL JUMPS.PointerMousePointer
CALL JUMPS.SetMouse
POP AF
CP 0x03
JR Z,.NewFile1
@ -204,10 +204,10 @@ FENewFile PUSH AF
LD HL,WorkBuffer
LD DE,0x0140
LD BC,0x0076
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathCentr
LD A,0x80
CALL JUMPS.PrnRangPathC
NewFLoop LD IX,NewFileTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY
JR Z,NewFLoop
LD A,B
@ -307,7 +307,7 @@ EError PUSH AF
;[]==========================================================[]
SaveFile CALL PutString
CALL JUMPS.PointerMouseClock
CALL JUMPS.SetClock
LD IX,ProcessEdit
LD HL,(FEFileLenght)
LD A,H
@ -320,12 +320,12 @@ SaveFile CALL PutString
OR L
JR Z,.L1
INC B
.L1 LD (IX+PROGRESSBAR.MAX_PAGES),B
.L1 LD (IX+PROC.MAX_PAGES),B
SUB A
LD (IX+PROGRESSBAR.MAX_PAGES + 1),A
LD (IX+PROGRESSBAR.MAX_PAGES + 2),A
LD (IX+PROGRESSBAR.MAX_PAGES + 3),A
CALL JUMPS.InitProgressBar
LD (IX+PROC.MAX_PAGES + 1),A
LD (IX+PROC.MAX_PAGES + 2),A
LD (IX+PROC.MAX_PAGES + 3),A
CALL JUMPS.InitProcess
MAKEWINDOW WINSUBOBJ.STORE
W_MAIN 160,88,320,48
W_FILL 4,2,312,10,COLORI.BLACK
@ -370,8 +370,8 @@ SaveFile CALL PutString
LD HL,WorkBuffer
LD DE,0x00D0
LD BC,0x0068
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathLeft
LD A,0x80
CALL JUMPS.PrnRangPathL
LD HL,EditingFile+33
LD A,(EditingFile+32)
PUSH IY
@ -438,7 +438,7 @@ SaveExit SUB A
SaveExit1 HALT
HALT
WINDOWCLOSE
CALL JUMPS.PointerMousePointer
CALL JUMPS.SetMouse
RET
SaveAbort POP HL
@ -448,20 +448,20 @@ SaveAbort POP HL
;[]----------------------------------------------------------[]
FENextProcess LD IX,ProcessEdit
LD L,(IX+PROGRESSBAR.CURR_PAGE)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 1)
LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURR_PAGE + 1)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE),L
LD (IX+PROGRESSBAR.CURR_PAGE + 1),H
LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURR_PAGE + 1),H
LD A,H
OR L
JR NZ,.NextPr1
LD L,(IX+PROGRESSBAR.CURR_PAGE + 2)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 3)
LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURR_PAGE + 3)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE + 2),L
LD (IX+PROGRESSBAR.CURR_PAGE + 3),H
.NextPr1 CALL JUMPS.DrawProgressBar
LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURR_PAGE + 3),H
.NextPr1 CALL JUMPS.PrnProcess
RET
ProcessEdit DW 178

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 26.07.2025 savelij
;[]==========================================================[]
;<3B>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©« 
@ -161,7 +161,7 @@ FEFillHex LD A,0x10 ;
LD B,0x4E
LD C,IXH
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
OR A
RET ;CY-¡ë«  ¯®á«¥¤­ïï áâப 
@ -222,18 +222,18 @@ PrnHEXinfo LD HL,LineH
LD HL,(CurLine)
LD DE,LineH
INC HL
CALL JUMPS.ConvertNumbers_16b
CALL JUMPS.ConvNumTxt16
LD DE,ColH
LD A,(IY+CursorX)
SRL A
INC A
CALL JUMPS.ConvertNumbers_8b
CALL JUMPS.ConvNumTxt8
LD HL,0xC000
LD DE,FreeH
LD BC,(FEFileLenght)
OR A
SBC HL,BC
CALL JUMPS.ConvertNumbers_16b
CALL JUMPS.ConvNumTxt16
LD HL,ReadyNo
LD A,(IY+ReadyFile)
OR A
@ -241,23 +241,23 @@ PrnHEXinfo LD HL,LineH
LD HL,ReadyYes
.L1 LD DE,0x017E
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD HL,LineH
LD DE,0x01AE
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD HL,ColH
LD DE,0x01F8
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD HL,FreeH
LD DE,0x0248
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD IX,EditVBar
LD HL,(ELines)
LD DE,(EquipLines)
@ -268,7 +268,7 @@ PrnHEXinfo LD HL,LineH
CALL JUMPS.InitScrollBar
LD HL,(CurLine)
LD (CLine),HL
CALL JUMPS.DrawVScrollBar
CALL JUMPS.PrnVScrBar
RET
TstLinH LD HL,(CLine)
@ -277,7 +277,7 @@ TstLinH LD HL,(CLine)
SBC HL,DE
RET Z
LD (CLine),DE
CALL JUMPS.DrawVScrollBar
CALL JUMPS.PrnVScrBar
RET
LineH DUPL 6,0
@ -448,7 +448,7 @@ HDeleteByte LD HL,(LineShift)
LD C,A
LD B,0x06
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
HDelS1 LD (IY+ReadyFile),0x01
RES 0,(IY+CursorX)
LD A,0x01
@ -1076,7 +1076,7 @@ FEPrintHGT LD HL,FENewShift
LD DE,0x0008
LD BC,0x051C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
LD A,(FECursPos) ;<3B>®§¨æ¨ï ¢ë¢®¤  ªãàá®à 
INC A
LD L,A
@ -1089,7 +1089,7 @@ FEPrintHGT LD HL,FENewShift
LD (HL),0xAB;'<'
LD BC,0x011C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
LD A,0x01 ;<3B>®¬¥à ¢ë¢¥¤¥­­®£® ªãàá®à 
LD (FECurCurs),A
LD A,0x06 ;ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à 
@ -1127,7 +1127,7 @@ FECurCurs EQU $-1
LD (HL),A
LD BC,0x011C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
LD A,0x0C ;ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à 
LD (FECurWait),A
RET
@ -1169,7 +1169,8 @@ FEHGTenter SUB A ;
SUB A
LD (IY+CursorX),A
LD (IY+CursorY),A
JP FEPrnHEXpage ;<3B>¥ç â ¥¬ áâà ­¨æã
CALL FEPrnHEXpage ;<3B>¥ç â ¥¬ áâà ­¨æã
RET
;<3B> ¦ â Escape
FEHGTescape LD HL,FENewShift ;<3B>ãä¥à áâப¨
@ -1184,9 +1185,10 @@ FEHGTescape LD HL,FENewShift ;
LD DE,0x0008
LD BC,0x051C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
CALL PrHEXCr
JP JUMPS.WaitUnpressMouse ;‚ë室¨¬
CALL JUMPS.ResFire
RET ;‚ë室¨¬
FENewShift DEFB " ",0

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 26.07.2025 savelij
;[]==========================================================[]
FEPrintFile CALL FEResCursor
@ -13,7 +13,7 @@ FEPrintFile CALL FEResCursor
W_TEXT 140,35,COLORP.HIGHGRAY,"Stop"
W_END
LD IX,FEPrintTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
LD IX,FEProcessPrn
LD HL,(FEFileLenght)
LD A,L
@ -22,11 +22,11 @@ FEPrintFile CALL FEResCursor
OR A
JR Z,.InitPrn
INC HL
.InitPrn LD (IX+PROGRESSBAR.MAX_PAGES),L
LD (IX+PROGRESSBAR.MAX_PAGES + 1),H
LD (IX+PROGRESSBAR.MAX_PAGES + 2),0x00
LD (IX+PROGRESSBAR.MAX_PAGES + 3),0x00
CALL JUMPS.InitProgressBar
.InitPrn LD (IX+PROC.MAX_PAGES),L
LD (IX+PROC.MAX_PAGES + 1),H
LD (IX+PROC.MAX_PAGES + 2),0x00
LD (IX+PROC.MAX_PAGES + 3),0x00
CALL JUMPS.InitProcess
LD A,(EditMode)
OR A
JP NZ,FEPrintHEX
@ -227,7 +227,7 @@ FEPrintCHAR LD IXL,A
BIT 0,A
JR Z,.PrnCH1
LD IX,FEPrintTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
JR C,.PrnCH2
.PrnCH1
SPDSS DSSF.SCANKEY
@ -278,20 +278,20 @@ FENxtPrnProc LD A,E
EXX
PUSH DE
LD IX,FEProcessPrn
LD L,(IX+PROGRESSBAR.CURR_PAGE)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 1)
LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURR_PAGE + 1)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE),L
LD (IX+PROGRESSBAR.CURR_PAGE + 1),H
LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURR_PAGE + 1),H
LD A,H
OR L
JR NZ,.NxtProc
LD L,(IX+PROGRESSBAR.CURR_PAGE + 2)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 3)
LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURR_PAGE + 3)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE + 2),L
LD (IX+PROGRESSBAR.CURR_PAGE + 3),H
.NxtProc CALL JUMPS.DrawProgressBar
LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURR_PAGE + 3),H
.NxtProc CALL JUMPS.PrnProcess
POP DE
EXX
POP BC

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 26.07.2025 savelij
FECSign: DB "FEC"
HomeKeyFlag: DB 0
@ -140,7 +140,7 @@ BracketsFlg: EQU $-2
W_END
FESetupLoop: LD IX,FESetupTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY
JR Z,FESetupLoop
LD A,E
@ -182,9 +182,9 @@ SetupConfirmDlgInvert:
LD (HL),A
LD DE,0x00DC
LD BC,0x0065
LD A,COLORP.WHITE + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
JP JUMPS.WaitUnpressMouse
LD A,0xF0
CALL JUMPS.PrnTxtLnIFF
JP JUMPS.ResFire
SetupHomeKeyInvert:
LD HL,CheckTxt
@ -195,9 +195,9 @@ SetupHomeKeyInvert:
LD (HL),A
LD DE,0x00DC
LD BC,0x0075
LD A,COLORP.WHITE + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
JP JUMPS.WaitUnpressMouse
LD A,0xF0
CALL JUMPS.PrnTxtLnIFF
JP JUMPS.ResFire
SetupAutoIndentInvert:
LD HL,CheckTxt
@ -208,9 +208,9 @@ SetupAutoIndentInvert:
LD (HL),A
LD DE,0x00DC
LD BC,0x0085
LD A,COLORP.WHITE + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
JP JUMPS.WaitUnpressMouse
LD A,0xF0
CALL JUMPS.PrnTxtLnIFF
JP JUMPS.ResFire
SetupAutoBracketsInvert:
LD HL,CheckTxt
@ -221,9 +221,9 @@ SetupAutoBracketsInvert:
LD (HL),A
LD DE,0x00DC
LD BC,0x0095
LD A,COLORP.WHITE + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
JP JUMPS.WaitUnpressMouse
LD A,0xF0
CALL JUMPS.PrnTxtLnIFF
JP JUMPS.ResFire
FESetupOkey: ld a,(ExitDlgFlag)
LD (QuitAsk.param),a

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 29.07.2025 savelij
;[]==========================================================[]
FEPrnASCIIpage LD HL,PrnASCIIinfo
@ -235,7 +235,7 @@ PutLnExA LD L,(IY+CursAddX)
LD B,0x4E
LD C,IXH
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
OR A
RET
@ -285,7 +285,7 @@ PrASCIIex1 CALL FEResCursor
ADD A,0x1C
LD C,A
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
LD E,(IY+CursorX)
LD D,(IY+CursorY)
JP FESetCursor
@ -770,18 +770,18 @@ PrnASCIIinfo LD HL,LineT
LD HL,(CurLine)
LD DE,LineT
INC HL
CALL JUMPS.ConvertNumbers_16b
CALL JUMPS.ConvNumTxt16
LD DE,ColT
LD A,(IY+CursorX)
ADD A,(IY+CursAddX)
INC A
CALL JUMPS.ConvertNumbers_8b
CALL JUMPS.ConvNumTxt8
LD HL,0xC000
LD DE,FreeT
LD BC,(FEFileLenght)
OR A
SBC HL,BC
CALL JUMPS.ConvertNumbers_16b
CALL JUMPS.ConvNumTxt16
LD HL,ReadyNo
LD A,(IY+ReadyFile)
OR A
@ -789,23 +789,23 @@ PrnASCIIinfo LD HL,LineT
LD HL,ReadyYes
.L1 LD DE,0x017E
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD HL,LineT
LD DE,0x01AE
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD HL,ColT
LD DE,0x01F8
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD HL,FreeT
LD DE,0x0248
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintTxtLine_IFF
LD A,0x80
CALL JUMPS.PrnTxtLnIFF
LD IX,EditVBar
LD HL,(ELines)
LD DE,(EquipLines)
@ -816,7 +816,7 @@ PrnASCIIinfo LD HL,LineT
CALL JUMPS.InitScrollBar
LD HL,(CurLine)
LD (CLine),HL
CALL JUMPS.DrawVScrollBar
CALL JUMPS.PrnVScrBar
JR TstAddX
TstLine LD HL,(CLine)
@ -825,7 +825,7 @@ TstLine LD HL,(CLine)
SBC HL,DE
JR Z,TstAddX
LD (CLine),DE
CALL JUMPS.DrawVScrollBar
CALL JUMPS.PrnVScrBar
TstAddX LD A,(CAddX)
SUB (IY+CursorX)
CP (IY+CursAddX)
@ -834,7 +834,7 @@ TstAddX LD A,(CAddX)
ADD A,(IY+CursAddX)
LD (CAddX),A
LD IX,EditHBar
JP JUMPS.DrawHScrollBar
JP JUMPS.PrnHScrBar
ReadyNo DEFB 0x01,0
ReadyYes DEFB "*",0
@ -1945,7 +1945,7 @@ NewPos6 LD A,C
LD D,(IY+CursorY)
CALL FESetCursor
CALL PrnASCIIinfo
JP JUMPS.WaitUnpressMouse
JP JUMPS.ResFire
IF ENABLE_CODEPAGE
; ¯¥à¥ª¤î祭¨¥ ª®¤¨à®¢ª¨

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 28.07.2025 savelij
;--------------------------------------------------------------
; <20>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©« 
@ -153,7 +153,7 @@ FillHex LD A,0x10 ;
LD B,0x50
LD C,IXH
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
OR A
RET ; CY-¡ë«  ¯®á«¥¤­ïï áâப 
@ -369,7 +369,7 @@ HPageDwn LD HL,(FileShift)
RET
; ­ ç «® ä ©« 
HBegFile LD HL,JUMPS.WaitUnpressMouse
HBegFile LD HL,JUMPS.ResFire
PUSH HL
LD HL,(FileShift)
LD BC,(FileShift+2)
@ -384,7 +384,7 @@ HBegFile LD HL,JUMPS.WaitUnpressMouse
JP PrnHEXpage ; <20>¥ç â ¥¬ áâà ­¨æã
; ª®­¥æ ä ©« 
HEndFile LD HL,JUMPS.WaitUnpressMouse
HEndFile LD HL,JUMPS.ResFire
PUSH HL
LD HL,(FileShift)
LD BC,(FileShift+2)
@ -552,7 +552,7 @@ PrintHGT LD HL,NewShift
LD DE,0x0008
LD BC,0x081C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
LD A,(CursPos+1) ; <20>®§¨æ¨ï ¢ë¢®¤  ªãàá®à 
INC A
LD L,A
@ -565,7 +565,7 @@ PrintHGT LD HL,NewShift
LD (HL),0xAB;"<"
LD BC,0x011C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
LD A,0x01 ; <20>®¬¥à ¢ë¢¥¤¥­­®£® ªãàá®à 
LD (CurCurs),A
LD A,0x06 ; ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à 
@ -603,7 +603,7 @@ CurCurs EQU $-1
LD (HL),A
LD BC,0x011C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
LD A,0x0C ; ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à 
LD (CurWait),A
RET
@ -661,8 +661,8 @@ HGTescape LD HL,NewShift ;
LD DE,0x0008
LD BC,0x081C
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
JP JUMPS.WaitUnpressMouse ; ‚ë室¨¬
CALL JUMPS.PrnTxtLnNormC
JP JUMPS.ResFire ; ‚ë室¨¬
NewShift DEFB " ",0

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 03.08.2025 savelij
; LAST UPDATE: 28.07.2025 savelij
LineBuffer := WorkBuffer+0x300
@ -29,7 +29,7 @@ ViewerLoop LD A,(ViewMode) ;
JR NZ,HViewLoop
; ०¨¬ ¯à®á¬®âà  â¥ªáâ
TViewLoop LD IX,ASCIItab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,TViewLoop
LD A,E ; …-ASCII ª®¤
@ -87,7 +87,7 @@ TViewLoop LD IX,ASCIItab
;--------------------------------------------------------------
; ०¨¬ ¯à®á¬®âà  HEX
HViewLoop LD IX,HEXtab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,HViewLoop
LD A,E ; …-ASCII ª®¤
@ -168,7 +168,7 @@ ViewerExit LD A,(FVMemIndef)
RET
;[]==========================================================[]
LoadFile CALL JUMPS.PointerMouseClock
LoadFile CALL JUMPS.SetClock
LD DE,ViewingFile
SPDSS DSSF.F_FIRST,1, DIR.M_Archive + \
DIR.M_Dir + \
@ -233,13 +233,13 @@ LoadFl1 LD A,D
POP DE
JP C,LoadExit
LD IX,ProcessView
LD (IX+PROGRESSBAR.MAX_PAGES),E
LD (IX+PROGRESSBAR.MAX_PAGES + 1),D
LD (IX+PROC.MAX_PAGES),E
LD (IX+PROC.MAX_PAGES + 1),D
SUB A
LD (IX+PROGRESSBAR.MAX_PAGES + 2),A
LD (IX+PROGRESSBAR.MAX_PAGES + 3),A
LD (IX+PROC.MAX_PAGES + 2),A
LD (IX+PROC.MAX_PAGES + 3),A
PUSH DE
CALL JUMPS.InitProgressBar
CALL JUMPS.InitProcess
POP DE
LD B,E
SPDSS DSSF.GETMEM
@ -286,8 +286,8 @@ LoadFl1 LD A,D
LD HL,WorkBuffer
LD DE,0x00D8
LD BC,0x0068
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathLeft
LD A,0x80
CALL JUMPS.PrnRangPathL
LD HL,ViewingFile+33
SPDSS DSSF.OPEN,,1
PUSH AF
@ -358,7 +358,7 @@ LoadExit HALT
HALT
WINDOWCLOSE
PUSH AF
CALL JUMPS.PointerMousePointer
CALL JUMPS.SetMouse
POP AF
RET
@ -371,20 +371,20 @@ NoRead LD A,(FVMemIndef)
JR LoadExit
FVNextProcess LD IX,ProcessView
LD L,(IX+PROGRESSBAR.CURR_PAGE)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 1)
LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURR_PAGE + 1)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE),L
LD (IX+PROGRESSBAR.CURR_PAGE + 1),H
LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURR_PAGE + 1),H
LD A,H
OR L
JR NZ,.NextPr1
LD L,(IX+PROGRESSBAR.CURR_PAGE + 2)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 3)
LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURR_PAGE + 3)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE + 2),L
LD (IX+PROGRESSBAR.CURR_PAGE + 3),H
.NextPr1 JP JUMPS.DrawProgressBar
LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURR_PAGE + 3),H
.NextPr1 JP JUMPS.PrnProcess
;[]----------------------------------------------------------[]
ProcessView DW 178
@ -434,7 +434,7 @@ InitViewScr LD HL,FVFLen
LD H,(IX+29)
LD C,(IX+30)
LD B,(IX+31)
CALL JUMPS.ConvertNumbers_32b
CALL JUMPS.ConvNumTxt32
LD A,0x20
LD (DE),A
INC DE
@ -448,7 +448,7 @@ InitViewScr LD HL,FVFLen
LD L,(IX+26)
LD H,(IX+27)
LD DE,FVFClast
CALL JUMPS.ConvertNumbers_16b
CALL JUMPS.ConvNumTxt16
LD HL,FVFAtributs
LD DE,FVFAttrib
LD C,(IX+32)
@ -486,10 +486,10 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
W_END
SPDSS DSSF.CURDISK
LD HL,WorkBuffer
ADD A,'A'
ADD A,"A"
LD (HL),A
INC HL
LD (HL),':'
LD (HL),":"
INC HL
PUSH HL
SPDSS DSSF.CURDIR
@ -512,22 +512,22 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
CP (HL)
JR NZ,.L6
LD (DE),A
LD IX,512
LD IX,0x0200
LD HL,WorkBuffer
LD DE,52
LD BC,17
LD A,COLORP.HIGHGRAY + COLORI.BLACK
CALL JUMPS.PrintPathLeft
LD HL,520
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
LD DE,0x0034
LD BC,0x0011
LD A,0x80
CALL JUMPS.PrnRangPathL
LD HL,0x01FC
LD DE,0x0003
LD B,0x08
EXX
LD HL,568
LD DE,3
LD B,COLORP.BLACK + COLORI.HIGHGRAY
LD HL,0x022E
LD DE,0x0003
LD B,0x08
EXX
LD A,DateMonthFormat.Digit
JP JUMPS.CMOSPrintDateTime
LD A,0x02
JP JUMPS.SetCMOSPrint
FVFAtributs DEFB "--ad-shr"
@ -667,7 +667,7 @@ About
W_TEXT 154,69,COLORP.HIGHGRAY,"Ok"
W_END
AboutLoop LD IX,FVAboutTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY
JR Z,AboutLoop
LD A,B
@ -821,7 +821,7 @@ InitProc PUSH HL
PUSH DE
EX DE,HL
LD BC,100 ; „«¨­  ä ©« /100 (%)
CALL JUMPS.Div_32X16_32b_16b
CALL JUMPS.Divis32
LD (Coeff1+1),DE ; <20>®«ãç ¥¬ ª®«-¢® ¡ ©â ­ 
LD (Coeff2+1),HL ; ®¤¨­ ¯à®æ¥­â
LD IX,ProcentTab
@ -988,8 +988,8 @@ PutProcent LD HL,ProcText
POP HL
LD DE,0x0250
LD BC,0x0011
LD A,COLORP.HIGHGRAY + COLORI.BLACK
JP JUMPS.PrintTxtLine
LD A,0x80
JP JUMPS.PrnTxtLnNorm
InitCodePage: LD A,0
CodePage EQU $-1

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 28.07.2025 savelij
;[]==========================================================[]
FVPrintFile
@ -13,7 +13,7 @@ FVPrintFile
W_TEXT 140,35,COLORP.HIGHGRAY,"Stop"
W_END
LD IX,PrintTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
LD IX,ProcessPrn
LD HL,(FileLenght)
LD DE,(FileLenght+2)
@ -28,11 +28,11 @@ FVPrintFile
OR L
JR NZ,.InitPrn
INC E
.InitPrn LD (IX+PROGRESSBAR.MAX_PAGES),L
LD (IX+PROGRESSBAR.MAX_PAGES + 1),H
LD (IX+PROGRESSBAR.MAX_PAGES + 2),E
LD (IX+PROGRESSBAR.MAX_PAGES + 3),0x00
CALL JUMPS.InitProgressBar
.InitPrn LD (IX+PROC.MAX_PAGES),L
LD (IX+PROC.MAX_PAGES + 1),H
LD (IX+PROC.MAX_PAGES + 2),E
LD (IX+PROC.MAX_PAGES + 3),0x00
CALL JUMPS.InitProcess
LD A,(ViewMode)
OR A
JP NZ,PrintHEX
@ -220,7 +220,7 @@ FVPrintCHAR LD IXL,A
BIT 0,A
JR Z,.PrnCH1
LD IX,PrintTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
JR C,.PrnCH2
.PrnCH1
SPDSS DSSF.SCANKEY
@ -271,20 +271,20 @@ FVNxtPrnProc LD A,E
EXX
PUSH DE
LD IX,ProcessPrn
LD L,(IX+PROGRESSBAR.CURR_PAGE)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 1)
LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURR_PAGE + 1)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE),L
LD (IX+PROGRESSBAR.CURR_PAGE + 1),H
LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURR_PAGE + 1),H
LD A,H
OR L
JR NZ,.NxtProc
LD L,(IX+PROGRESSBAR.CURR_PAGE + 2)
LD H,(IX+PROGRESSBAR.CURR_PAGE + 3)
LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURR_PAGE + 3)
INC HL
LD (IX+PROGRESSBAR.CURR_PAGE + 2),L
LD (IX+PROGRESSBAR.CURR_PAGE + 3),H
.NxtProc CALL JUMPS.DrawProgressBar
LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURR_PAGE + 3),H
.NxtProc CALL JUMPS.PrnProcess
POP DE
EXX
POP BC

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 28.07.2025 savelij
;[]---------------------------------------------------------[]
PrnASCIIpage LD HL,PrintVProc
@ -143,7 +143,7 @@ PutLine4 LD HL,LineBuffer
LD B,0x50
LD C,IXH
LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
OR A
RET
@ -188,7 +188,7 @@ PutLnUW1 LD E,0x00
LD D,0x00
LD B,0x01
LD A,COLORP.PANEL + COLORI.YELLOW ;(Yellow)
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
POP BC
POP HL
INC L
@ -209,14 +209,14 @@ SaveUW EQU $-1
LD DE,0x0278
LD B,0x01
LD A,COLORP.PANEL + COLORI.YELLOW ;(Yellow)
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
POP BC
POP DE
POP HL
DEC B
PutLnUW3 LD D,0x00
LD A,COLORP.PANEL + COLORI.FILES ;(Yellow)
CALL JUMPS.PrintTxtLineNumsChar
CALL JUMPS.PrnTxtLnNormC
OR A
RET
@ -460,7 +460,7 @@ TPageDwn LD HL,(FVNextShift)
RET
;[]----------------------------------------------------------[]
TBegFile LD HL,JUMPS.WaitUnpressMouse
TBegFile LD HL,JUMPS.ResFire
PUSH HL
LD HL,(FileShift)
LD DE,(FileShift+2)
@ -475,7 +475,7 @@ TBegFile LD HL,JUMPS.WaitUnpressMouse
JP PrnASCIIpage
;[]----------------------------------------------------------[]
TEndFile LD HL,JUMPS.WaitUnpressMouse
TEndFile LD HL,JUMPS.ResFire
PUSH HL
LD HL,(FVNextShift)
LD DE,(FVNextShift+2)

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 23.04.2025 savelij
;[]==========================================================[]
HelpR LD A,0x01
@ -18,9 +18,9 @@ HelpR LD A,0x01
W_END
CALL InitHelpTxt
CALL PrnHelpPg
CALL JUMPS.WaitUnpressMouse
CALL JUMPS.ResFire
HelpLoop LD IX,HelpTab
CALL JUMPS.CheckCoordsMouse
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY
JR Z,HelpLoop
LD A,B
@ -101,7 +101,7 @@ PrnHPg1 PUSH BC
LD A,(HL)
INC A
LD A,240
CALL NZ,JUMPS.PrintTxtLine_IFF
CALL NZ,JUMPS.PrnTxtLnIFF
POP BC
LD A,B
ADD A,8
@ -110,7 +110,7 @@ PrnHPg1 PUSH BC
JR NZ,PrnHPg1
LD (NextShift),HL
LD IX,HelpVBar
JP JUMPS.DrawVScrollBar
JP JUMPS.PrnVScrBar
ClearHRect PUSH HL
PUSH BC
@ -230,9 +230,9 @@ HLnUp2 LD (NextShift),HL
LD A,(HL)
INC A
LD A,240
CALL NZ,JUMPS.PrintTxtLine_IFF
CALL NZ,JUMPS.PrnTxtLnIFF
LD IX,HelpVBar
JP JUMPS.DrawVScrollBar
JP JUMPS.PrnVScrBar
HLineDown LD HL,(NextShift)
LD A,(HL)
@ -274,9 +274,9 @@ HLineDown LD HL,(NextShift)
LD A,(HL)
INC A
LD A,240
CALL NZ,JUMPS.PrintTxtLine_IFF
CALL NZ,JUMPS.PrnTxtLnIFF
LD IX,HelpVBar
JP JUMPS.DrawVScrollBar
JP JUMPS.PrnVScrBar
;<3B>  ¢å®¤:
; D - Y ®âªã¤ 

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 31.07.2025 savelij
; LAST UPDATE: 15.07.2025 savelij
;// DEVICE ZXSPECTRUM128
;[]=======================================================================[]
@ -38,10 +38,10 @@ PluginEntry:
W_BUTTON 60,74,72,14
W_TEXT 88,77,COLORP.HIGHGRAY,"Ok"
W_END
call JUMPS.WaitUnpressMouse
call JUMPS.ResFire
.plugin_loop:
ld ix, PluginMouseTab
call JUMPS.CheckCoordsMouse
call JUMPS.TestCoords
SPDSS DSSF.SCANKEY
jr z, .plugin_loop
ld a, b

View File

@ -3,13 +3,12 @@ Flex Navigator для компьютера Sprinter
Собранные файлы забирать из папки fn
`FlexNavigator 1.16.05`
- в функции текстового ввода заблокирована обработка клавиши
ALT, вызывало зависание при попытке сделать смену диска (ALT/Fx).
- убрано удаление в режиме просмотра дерева.
`FileEditor.flx 1.10:`
- устранено перепутанные кнопки для нажатий мышью для F7 и F9.
`FileViewer.flx 1.07`
- мелкое исправление позиции вывода даты/времени.
`FileViewer.flx 1.06:`
- добавлено переключение кодировки в режиме HEX просмотра.
`FileEditor.flx 1.11`
- мелкое исправление позиции вывода даты/времени.
`FlexNavigaror 1.16.01:`
- исправлен вылет при создании нового файла по Shift+F4 или просмотр с
вводом имени по Shift+F3, плагин был не загружен.

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 14.08.2025 savelij
; LAST UPDATE: 24.07.2025 savelij
PALITRA.RESERV EQU PALETTE + 0x34
@ -84,8 +84,8 @@ SaveFlg EQU $-2
LD IX,BarBlue
CALL InitScrollBar
CALL InitElement
SetupLoop LD IX,REZ2TAB.SetupTab
CALL CheckCoordsMouse
SetupLoop LD IX,SetupTab
CALL TestCoords
SPDSS DSSF.SCANKEY
JR Z,SetupLoop
LD A,B
@ -164,7 +164,7 @@ SetupLoop1 LD A,E
RET
;[]----------------------------------------------------------[]
SaveSetup CALL PointerMouseClock
SaveSetup CALL SetClock
PUSH IY
SPDSS DSSF.CURDISK
POP IY
@ -258,7 +258,7 @@ SetupSaveEx LD HL,WorkBuffer
PUSH IY
SPDSS DSSF.CHDIR
POP IY
JP PointerMousePointer
JP SetMouse
SetupHead DEFB 0xAE,"FlexSetup",0
SetupName DZ FILENAME.FN_INI
@ -344,9 +344,9 @@ RefreshSetup BIT VIEWFLAG.B_TREE,(IX+PANEL.VIEWFLAG)
LD A,(IY+PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
CALL NZ,DrawVScrollBar
CALL NZ,PrnVScrBar
RefrErr POP IY
RET
@ -404,8 +404,8 @@ ChSavePan LD HL,SavePanTxt
LD DE,0x0074
LD BC,0x00A5
LD A,0xF0
CALL PrintTxtLine_IFF
JP WaitUnpressMouse
CALL PrnTxtLnIFF
JP ResFire
SavePanTxt DEFB 0x00,0x00
@ -420,9 +420,9 @@ AutoActivatePanelFlag EQU $-1
LD (HL),A
LD DE,0x0074
LD BC,0x0093
LD A,COLORP.WHITE + COLORI.BLACK
CALL PrintTxtLine_IFF
JP WaitUnpressMouse
LD A,0xF0
CALL PrnTxtLnIFF
JP ResFire
;--------------------------------------------------------------
DecRED LD HL,PALITRA.RESERV + 2
@ -504,14 +504,14 @@ InputColor LD (ColorY),BC
PUSH DE
LD DE,ColText
LD A,(HL)
CALL ConvertNumbers_8b
CALL ConvNumTxt8
SUB A
LD (DE),A
LD A,E
SUB LOW (ColText)
LD (ColLen),A
InpAg LD IX,ColorStr
LD HL,REZ2TAB.EmptyTab
LD HL,EmptyTab
CALL InputLine
POP DE
POP HL
@ -519,7 +519,7 @@ InpAg LD IX,ColorStr
PUSH HL
PUSH DE
LD DE,ColText
CALL atoi_16b
CALL ConvTxtNum16
JR C,InpAg
LD A,H
OR A
@ -597,7 +597,7 @@ SetupI1 LD IX,8 << 8 | 70 ; HIGH ->
LD B,H ; Y
LD HL,106 ; X
; TODO ­¥ ãç¨â뢠¥âáï ¯®§¨æ¨ï ®ª­ , ᤥ« âì ¯à¨¢ï§ªã
JP ReplaceColorRectan
JP InvertRectan
InitElement LD HL,ElementColor
LD A,(CurElement)
@ -631,7 +631,7 @@ PrintRED LD DE,WorkBuffer
ADD HL,HL
ADD HL,HL
LD (CRed),HL
CALL ConvertNumbers_8b
CALL ConvNumTxt8
LD A,0x04
SUB E
LD B,A
@ -645,9 +645,9 @@ InitEl1 LD (DE),A
LD DE,0x01B8
LD BC,0x0058
LD A,0x80
CALL PrintTxtLine_IFF
CALL PrnTxtLnIFF
LD IX,BarRed
JP DrawHScrollBar
JP PrnHScrBar
PrintGREEN LD DE,WorkBuffer
LD A,(PALITRA.RESERV + 1)
@ -658,7 +658,7 @@ PrintGREEN LD DE,WorkBuffer
ADD HL,HL
ADD HL,HL
LD (CGreen),HL
CALL ConvertNumbers_8b
CALL ConvNumTxt8
LD A,0x04
SUB E
LD B,A
@ -672,9 +672,9 @@ InitEl2 LD (DE),A
LD DE,0x01B8
LD BC,0x0068
LD A,0x80
CALL PrintTxtLine_IFF
CALL PrnTxtLnIFF
LD IX,BarGreen
JP DrawHScrollBar
JP PrnHScrBar
PrintBLUE LD DE,WorkBuffer
LD A,(PALITRA.RESERV)
@ -685,7 +685,7 @@ PrintBLUE LD DE,WorkBuffer
ADD HL,HL
ADD HL,HL
LD (CBlue),HL
CALL ConvertNumbers_8b
CALL ConvNumTxt8
LD A,0x04
SUB E
LD B,A
@ -699,9 +699,9 @@ InitEl3 LD (DE),A
LD DE,0x01B8
LD BC,0x0078
LD A,0x80
CALL PrintTxtLine_IFF
CALL PrnTxtLnIFF
LD IX,BarBlue
JP DrawHScrollBar
JP PrnHScrBar
PrnPALETTE LD HL,PALETTE
LD DE,0x1000

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 01.08.2025 savelij
; LAST UPDATE: 18.07.2025 savelij
; !FIXIT ¯¥à¥¤¥« âì ®¤¨­ ª®¢ë¥ ®ª­  á à §­ë¬ ⥪á⮬ ¤«ï ®è¨¡®ª ¯®¤  ¢â®¬ â¨ç¥áªãî ¯à®æ¥¤ãàã
;[]===========================================================[]
@ -48,7 +48,7 @@ DOSErrorR ;[x] 30/07/23 -bug
RET Z ; ¥á«¨  ¤à¥á ¯¥à¥å®¤  0, ¢ë室¨¬
LD (.ADRJUMP),HL
LD (.ADRJUMP2),HL
CALL PointerMousePointer
CALL SetMouse
LD A,0
.WINTYPE EQU $-1
BIT 7,A
@ -161,7 +161,7 @@ InputDrive PUSH IY
LD HL,ErrorTab1
CALL InputLine
WINDOWCLOSE
CALL PointerMouseClock
CALL SetClock
LD A,(CurDrv)
RES 5,A
SUB 'A'
@ -174,11 +174,11 @@ InputDrive PUSH IY
SPDSS DSSF.CHDIR
POP IY
JP C,DOSErrorR
CALL PointerMousePointer
CALL SetMouse
LD A,0x01
RET
ErrorTab1 DEFW 284,356,118,132,%0000000000000001,%0000000000000000,InputLine.InputLineExitOk,0
ErrorTab1 DEFW 284,356,118,132,%0000000000000001,%0000000000000000,InputLine.InpLnExtN,0
DEFW 0x8000
DriveStr DEFB 0x01,0x00,0x00,0x00
@ -190,7 +190,7 @@ CurDrv DUPL 0x02,0x00
;--------------------------------------------------------------
ErrorLp0 LD IX,ErrorTab2
CALL CheckCoordsMouse
CALL TestCoords
SPDSS DSSF.SCANKEY
JR Z,ErrorLp0
LD A,B
@ -206,13 +206,13 @@ ErrorLp0 LD IX,ErrorTab2
JR NZ,ErrorLp0
ErrorExt0
WINDOWCLOSE
CALL PointerMouseClock
CALL SetClock
LD HL,BegDIR
PUSH IY
SPDSS DSSF.CHDIR
POP IY
JP C,DOSErrorR
CALL PointerMousePointer
CALL SetMouse
LD A,0x01
RET
@ -222,7 +222,7 @@ ErrorTab2 DEFW 284,356,118,132,%0000000000100001,%0000000000000000,ErrorExt0,0
;--------------------------------------------------------------
ErrorLp LD IX,ErrorTab3
CALL CheckCoordsMouse
CALL TestCoords
SPDSS DSSF.SCANKEY
JR Z,ErrorLp
LD A,B

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 24.07.2025 savelij
;[]==========================================================[]
QSearchR LD A,(IY+PANEL.FILES_ALL)
@ -120,7 +120,7 @@ InsSymbolSrch CP 0x20
LD B,0x00
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX+0x04)
ADD HL,DE
@ -130,7 +130,7 @@ InsSymbolSrch CP 0x20
LDDR
NotInsSrch PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX+0x02)
ADD HL,DE
@ -188,9 +188,9 @@ FoundSFile PUSH HL
LD A,(IY+PANEL.VIEWFLAG)
AND VIEWFLAG.MASK
PUSH AF
CALL Z,DrawHScrollBar
CALL Z,PrnHScrBar
POP AF
JP NZ,DrawVScrollBar
JP NZ,PrnVScrBar
RET
QSdelet LD A,(IX+0x02)
@ -198,7 +198,7 @@ QSdelet LD A,(IX+0x02)
RET Z
PUSH IX
POP HL
LD DE,INPUTFORM.BUFLINE
LD DE,LenInpData
ADD HL,DE
LD E,(IX+0x02)
ADD HL,DE
@ -378,5 +378,9 @@ SrchExit POP HL
SearchExit
WINDOWCLOSE
BIT VIEWFLAG.B_TREE,(IY+PANEL.VIEWFLAG)
JP NZ,TestTreeR.TestTreeBeg
IF TREE_REZID
CALL NZ,TestTreeR.TestTreeBeg
ELSE
CALL NZ,TestTreeR.TestTreeBeg
ENDIF
RET

View File

@ -1,106 +0,0 @@
; LAST UPDATE: 12.09.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 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ (¯à ¢)
REZ2TAB
;[]==========================================================[]
.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
;[]===============================================================[]
.PathTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0, 96, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 544,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,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.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,208, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 432,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000
;[]===============================================================[]
.MakeDIRTab: DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,200, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 440,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000
;[]===============================================================[]
.DeleteTab: DW 196,252,118,132,%0000000100100001,0,DeleteOne,0
DW 260,316,118,132,%0000000100100001,0,DeleteAll,0
DW 324,380,118,132,%0000000100100001,0,DeleteSkip,0
DW 388,444,118,132,%0000000100100001,0,DeleteExit,0
DW 0,180, 0,256,%0000000100100000,0,DeleteExit,0
DW 460,640, 0,256,%0000000100100000,0,DeleteExit,0
DW 0,640, 0, 80,%0000000100100000,0,DeleteExit,0
DW 0,640,136,256,%0000000100100000,0,DeleteExit,0
DW 0x8000
.EmptyTab: DW 0,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000

151
rez2_fntab1.a80 Normal file
View 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

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.09.2025 savelij
; LAST UPDATE: 25.07.2025 savelij
;[]==========================================================[]
MarkFileR LD A,(IY+PANEL.FILES_ALL)
@ -15,8 +15,20 @@ MarkFileR LD A,(IY+PANEL.FILES_ALL)
LD A,(RAMPAGES.RIGHTPANEL)
.L1
SETPORT WINSP.CPU3,,0
LD A,HIGH (CPU3)
CALL GET_HANDLE_ADR
LD L,(IY+PANEL.FIRST_FILE)
LD H,(IY+PANEL.FIRST_FILE + 1)
LD E,(IY+PANEL.CURR_FILE)
LD D,(IY+PANEL.CURR_FILE + 1)
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
@ -52,8 +64,20 @@ UnSelectFile: LD IXL,0x00
.L2
SETPORT WINSP.CPU3,,0
SETPORT WINSP.Y_PORT,0xC0
LD A,HIGH (CPU3)
CALL GET_HANDLE_ADR
LD L,(IY+PANEL.FIRST_FILE)
LD H,(IY+PANEL.FIRST_FILE + 1)
LD E,(IY+PANEL.CURR_FILE)
LD D,(IY+PANEL.CURR_FILE + 1)
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
@ -61,13 +85,9 @@ UnSelectFile: LD IXL,0x00
POP HL
BIT DIR.B_Dir,C ; íâ® ¤¨à ?
IF MARK_DIR
PUSH HL
PUSH BC
CALL NZ,RESIDENT.CalcDirSize ; ¨§¬¥à¥­¨¥ à §¬¥à  ¤¨àë
POP BC
POP HL
CALL NZ,COUNTING_DIR ; ¨§¬¥à¥­¨¥ à §¬¥à  ¤¨àë
ELSE
JR NZ,.MrFile1 ; ¤¨à¥ªâ®à¨¨ ª®¯¨à®¢ âì ­¥ 㬥¥¬, ⮫쪮 ä ©«ë
JR NZ,.MrFile1 ; ¤¨à¥ª®à¨¨ ª®¯¨à®¢ âì ­¥ 㬥¥¬, ⮫쪮 ä ©«ë
ENDIF
; íâ® ä ©«
LD B,(HL) ; áâ à®¥ á®áâ®ï­¨¥ ¯®¬¥âª¨ ä ©« 
@ -78,11 +98,11 @@ UnSelectFile: LD IXL,0x00
PUSH BC
LD BC,FileHDR.SIZE
LDIR
IF MARK_DIR
BIT DIR.B_Dir,A ; ä ©« ¨«¨ ¤¨à 
JR Z,.L8
; ª®¯¨à㥬 à §¬¥à ¢ ¡ ©â å ¢ à §¬¥à ¤¨àë
LD HL,JUMPS.FILES_BYTES
IF MARK_DIR
; ª®¯¨à㥬 à §¬¥à ¢ ¡ ©â å ¨§ à §¬¥à  ¤¨àë
LD HL,COUNTING_DIR.FILES_SIZE
LD DE,WorkBuffer + FileHDR.SizeBytes
LD BC,DWORD
LDIR
@ -127,7 +147,7 @@ UnSelectFile: LD IXL,0x00
.L4 LD IX,8 << 8 + 48
DEC HL
DEC HL
CALL ReplaceColorRectan
CALL InvertRectan
POP AF
JR NZ,.MarkExit1
JR .MarkExit2
@ -152,7 +172,7 @@ UnSelectFile: LD IXL,0x00
JR NZ,.L6
LD DE,(COLORP.INVERTPAPER + COLORI.INVSELFILES) << 8 | (COLORP.INVERTPAPER + COLORI.INVERTINK)
.L6 LD IX,8 << 8 + 146
CALL ReplaceColorRectan
CALL InvertRectan
POP AF
JR Z,.MarkExit2
; ãáâ ­®¢ª  ¢ë¡®à ä ©« 
@ -240,7 +260,7 @@ SelectGroup: LD (SelMode),A
W_FILL 72,23,130,10,COLORI.WHITE
W_END
LD IX,SMaskStr
LD HL,REZ3TAB.SMaskTab
LD HL,SMaskTab
CALL InputLine
WINDOWCLOSE
RET C
@ -476,8 +496,6 @@ SelectAllRN: LD HL,SetInvert
EX AF,AF' ; [ ] fat32
.loop: BIT DIR.B_Dir,(IX + FileHDR.Attr) ;!HARDCODE DIRECTORY
JR NZ,.SelAll1
; ¬ àª¨à®¢ª  ⮫쪮 ä ©«®¢
PUSH BC
SET FileHDR.B_MARK,(IX + FileHDR.Flag)
LD C,(IX + FileHDR.SizeBytes)
LD B,(IX + FileHDR.SizeBytes + 1)
@ -493,8 +511,7 @@ SelectAllRN: LD HL,SetInvert
EXX
INC HL
EXX
; LD BC,FileHDR.SIZE
POP BC
LD BC,FileHDR.SIZE
.SelAll1: ADD IX,BC
LD A,(IX + FileHDR.Name)
OR A
@ -661,3 +678,415 @@ SUB_SIZE: EX AF,AF' ; [ ] fat32
EXX
EX AF,AF'
RET
IF MARK_DIR
; ¯®¤áç¥â ¢ ¡ ©â å à §¬¥à  ®â¬¥ç¥­­®© ¤¨à¥ªâ®à¨¨
; HL -  ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ­¨æ¥ ¯ ­¥«¨ ª®â®àãî ¬¥àïâì
COUNTING_DIR
.OLDPATH EQU WorkBuffer + 0x300 ; á®åà ­¥­­ë© ⥪ã騩 ¯ãâì
.CURRPATH EQU WorkBuffer + 0x200 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì
PUSH IX
PUSH IY
PUSH HL
PUSH BC
GETPORT WINSP.CPU3
PUSH AF
PUSH HL
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD A,(RAMPAGES.LEFTPANEL)
JR Z,.L1
LD A,(RAMPAGES.RIGHTPANEL)
.L1 ; ¢ª«îç ¥¬ ¯ £ã á ¤¨à¥ªâ®à¨¥© ⥪ã饩 ¯ ­¥«¨
SETPORT WINSP.CPU3,,0
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,.OLDPATH ; á®åà ­¥­ë© ¯ãâì ¤«ï ¢®§¢à â 
ADD A,'A'
LD (HL),A
INC HL
LD (HL),':'
INC HL
SPDSS DSSF.CURDIR
POP DE
JP 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,.OLDPATH ; á®åà ­¥­ë© ¯ãâì ¤«ï ¢®§¢à â 
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,.CURRPATH
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,.OLDPATH
PUSH DE
PUSH IX
SPDSS DSSF.F_FIRST,0
POP IX
POP HL
RET
; ¯®¨áª á«¥¤ãî饣® ®¯¨á â¥«ï
.F_NEXT LD DE,.OLDPATH
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
; ¯®¤áç¥â à §¬¥à  ¤¨à¥ªâ®à¨¨
; <20>  ¢å®¤¥:
; HL -  ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ­¨æ¥ ¯ ­¥«¨ ª®â®àãî ¬¥àïâì
; <20>  ¢ë室¥:
; BCDE' - à §¬¥à ¢ ¡ ©â å
GetDirSizeR CALL COUNTING_DIR
LD HL,COUNTING_DIR.FILES_SIZE
CALL GET_DWORD
EXX
RET
; á®§¤ ­¨¥ ¯ ¯®ª ­  ¯à¨¥¬­¨ª¥
; HL -  ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ­¨æ¥ ¯ ­¥«¨ ª®â®àãî ª®¯¨à®¢ âì
MkdirsDstR
.OLDPATH EQU WorkBuffer + 0x300 ; á®åà ­¥­­ë© ⥪ã騩 ¯ãâì
.CURRPATHSRC EQU WorkBuffer + 0x200 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì ¨áâ®ç­¨ª 
.CURRPATHDST EQU WorkBuffer + 0x100 ; ¢à¥¬¥­­®© ⥪ã騩 ¯ãâì ¯à¨¥¬­¨ª 
.FINDBUF EQU WorkBuffer
PUSH IX
PUSH IY
GETPORT WINSP.CPU3
PUSH AF
LD (.OLDSP),SP
PUSH HL
BIT PANELFLAG.B_SIDE,(IY + PANEL.PANELFLAG)
LD DE,RightPanel ; ¤«ï ¯ã⨠ªã¤  ª®¯¨à®¢ âì
LD A,(RAMPAGES.LEFTPANEL) ; ¨§ ª ª®© áâà ­¨æë ¯ ­¥«¨ ¡à âì ¯ãâì
JR Z,.L1
LD DE,LeftPanel ; ¤«ï ¯ã⨠ªã¤  ª®¯¨à®¢ âì
LD A,(RAMPAGES.RIGHTPANEL) ; ¨§ ª ª®© áâà ­¨æë ¯ ­¥«¨ ¡à âì ¯ãâì
.L1 ; ¢ª«îç ¥¬ ¯ £ã á ¤¨à¥ªâ®à¨¥© ⥪ã饩 ¯ ­¥«¨
SETPORT WINSP.CPU3,,0
LD HL,PANEL.CURR_PATH
ADD HL,DE ; ®âªã¤  ¯ãâì ¯à¨¥¬­¨ª  ¢§ïâì
LD DE,.CURRPATHDST ; ¡ãä¥à ¯ã⨠¯à¨¥¬­¨ª 
CALL .COPYNAME2PATH
LD (.ENDPATHDST),DE ;  ¤à¥á 墮áâ  ¯ã⨠¯à¨¥¬­¨ª 
; á®åà ­¥­¨¥ ⥪ã饣® ¯ã⨠¤«ï ¢®§¢à â 
SPDSS DSSF.CURDISK
LD HL,.OLDPATH ; á®åà ­¥­­ë© ¯ãâì ¤«ï ¢®§¢à â 
ADD A,'A'
LD (HL),A
INC HL
LD (HL),':'
INC HL
SPDSS DSSF.CURDIR
POP DE ;  ¤à¥á ®¯¨á â¥«ï ¤¨àë ¢ áâà ­¨æ¥ ¯ ­¥«¨ ª®â®àãî ª®¯¨à®¢ âì
; JP C,ERROR ;COUNTING_DIR.END_COUNT
; ª®¯¨à®¢ ­¨¥ ¨¬¥­¨ ¤¨à¥ªâ®à¨¨ ¤«ï ª®¯¨à®¢ ­¨ï
LD HL,FileHDR.Name
ADD HL,DE
LD DE,COUNTING_DIR.DIR_NAME
LD BC,FileHDR.Name_Size
LDIR ; § ¡à «¨ ¨¬ï ¤¨àë ¤«ï ª®¯¨à®¢ ­¨ï
EX DE,HL
CALL .CUTOFFSPACES ; ®âá¥ç¥­¨¥ ¯à®¡¥«®¢
; ¯¥à¥­®á ⥪ã饣® ¯ã⨠¨áâ®ç­¨ª 
LD HL,.OLDPATH
LD DE,.CURRPATHSRC
CALL .COPYNAME2PATH ; ᪮¯¨à®¢ «¨ ¯ãâì ¨áâ®ç­¨ª 
LD (.ENDPATHSRC),DE ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ¤«ï ª®¯¨à®¢ ­¨ï ¢ ¯ãâì ¨áâ®ç­¨ª 
LD HL,(.ENDPATHSRC)
LD DE,COUNTING_DIR.DIR_NAME
CALL .ADDNAME2PATH
LD (.ENDPATHSRC),DE ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¤¨àë ¤«ï ª®¯¨à®¢ ­¨ï ¢ ¯ãâì ¯à¨¥¬­¨ª 
LD HL,(.ENDPATHDST)
LD DE,COUNTING_DIR.DIR_NAME
CALL .ADDNAME2PATH
LD (.ENDPATHDST),DE
; á®§¤ ­¨¥ ¤¨àë ¢ ¯à¨¥¬­¨ª¥
LD HL,.CURRPATHDST
SPDSS DSSF.MKDIR ; á®§¤ «¨ ¤¨à㠯ਥ¬­¨ª 
JR NC,.L3
CP ERR_DSS.DIR_EXISTS ; ¥á«¨ ¤¨à  㦥 ¥áâì ¨£­®à¨¬ ®è¨¡ªã
; JP C,ERROR
.L3
; TODO 横«¨ç¥áª¨© ¯®¨áª ¤¨à¥ªâ®à¨© á á®§¤ ­¨¥¬ ­  ¯à¨¥¬­¨ª¥
LD HL,.CURRPATHSRC
SPDSS DSSF.CHDIR ; ¢å®¤ ¢ ¤¨àã ¨áâ®ç­¨ª 
CALL .FINDFIRSTSRCDIR ; ¯®¨áª ¯¥à¢®£® ®¯¨á â¥«ï
JP C,.ENDCOPY ; ¡®«ìè¥ ¤¨à¥ªâ®à¨© ­¥â, ¢ë室¨¬
; ¯®¨áª ¤¨à¥ªâ®à¨©
.L2 CALL .FINDNEXTSRCDIR ; ¯®¨áª á«¥¤ãî饣® ®¯¨á â¥«ï
JP C,.ENDFINDNEXT ; ¯®¨áª ®ª®­ç¥­?
LD HL,.FINDBUF + FFIRST.Name
LD A,(HL)
CP '.' ; ®¯¨á â¥«¨ "." ¨ ".." ¨£­®à¨¬
JR Z,.L2
LD DE,.TMPNAMEDIR
PUSH DE
CALL .COPYNAME2PATH
LD HL,(.ENDPATHDST)
POP DE
CALL .ADDNAME2PATH
LD HL,.CURRPATHDST
SPDSS DSSF.MKDIR ; á®§¤ ¥¬ ¤¨àã ­  ¯à¨¥¬­¨ª¥
; JP C,ERROR
LD HL,.CURRPATHSRC
SPDSS DSSF.CHDIR ; ¢®§¢à é ¥¬ ¯ãâì ­  ¨áâ®ç­¨ª
; JP C,ERROR
JR .L2 ; ¨é¥¬ á«¥¤ãî騩
; § ¢¥à襭¨¥ ¨ ¢ë室
JP COUNTING_DIR.END_COUNT;RestoreDIR
; LD A,(RAMPAGES.FLX)
; SETPORT WINSP.CPU3,,0
.ENDFINDNEXT
JR $
; ¯®¨áª ¯¥à¢®© ¤¨àë ¢ ⥪ã饩 ¯®¤¤¨à¥ªâ®à¨¨
.FINDFIRSTSRCDIR
LD HL,COUNTING_DIR.FILES_MASK
LD DE,.FINDBUF
SPDSS DSSF.F_FIRST,1,DIR.M_Dir
RET
.FINDNEXTSRCDIR
LD DE,.FINDBUF
SPDSS DSSF.F_NEXT
RET
; ¤®¡ ¢«¥­¨¥ ¨¬¥­¨ ¢ áâப㠯ãâ¨
; HL - ªã¤  ¤®¡ ¢«ïâì (墮áâ ⥪ã饣® ¯ãâ¨)
; DE - ®âªã¤  ¨¬ï ¡à âì
.ADDNAME2PATH CALL .CHECK_BSLASH
LD (HL),'\\'
INC HL
EX DE,HL
; ª®¯¨à®¢ ­¨¥ ¨¬¥­¨ ¨§ ¡ãä¥à 
.COPYNAME2PATH XOR A
.CNP2 CP (HL)
JR Z,.CNP1
LDI
JR .CNP2
.CNP1 LD (DE),A
RET
.NAME2DIRNAME
; ¯à®¢¥àª  ­  BACKSLASH
.CHECK_BSLASH DEC HL
LD A,(HL)
CP '\\'
RET Z
INC HL
RET
; ®âá¥ç¥­¨¥ ¯à®¡¥«®¢ ¢ ¨¬¥­¨
.CUTOFFSPACES LD A,' '
.COS2 DEC HL
CP (HL)
JR Z,.COS2
INC HL
LD (HL),0
RET
; ®âá¥ç¥­¨¥ ¨¬¥­¨ ¤¨àë ¢ áâப¥ ¯ãâ¨
.DELNAME2PATH LD A,'\\'
.COB1 DEC HL
CP (HL)
JR NZ,.COB1
LD (HL),0
RET
; ¢ë室 ¨§ ª®¯¨à®¢ ­¨ï ¤¨à¥ªâ®à¨©
.ENDCOPY LD SP,0
.OLDSP EQU $-2
LD HL,.OLDPATH
SPDSS DSSF.CHDIR
POP AF
SETPORT WINSP.CPU3,,0
POP IY
POP IX
RET
.ENDPATHSRC DW 0 ;  ¤à¥á 墮áâ  ¯ã⨠¨áâ®ç­¨ª 
.ENDPATHDST DW 0 ;  ¤à¥á 墮áâ  ¯ã⨠¯à¨¥¬­¨ª 
.TMPNAMEDIR DB 8 DUP 0
ENDIF
; C:/DEV/
; /CAMEL401
; /DEMON
; /MASM80
; /OASM028
; /SOLID
; /DOC
; /EXAMPLES
; /INCLUDE
; /SRC
; /CLIB
; /BUILD
; /SPFORTH
; /F83
; /F99
; /TASM

View File

@ -1,15 +1,15 @@
; LAST UPDATE: 15.08.2025 savelij
; LAST UPDATE: 18.07.2025 savelij
;[]==========================================================[]
InitExtention: LD HL,INIFILES.ExtName1
LD DE,REZ3_BUFFERS.fn_ext
LD DE,fn_ext
CALL InitExt
LD HL,INIFILES.ExtName2
LD DE,REZ3_BUFFERS.fnview_ext
LD DE,fnview_ext
CALL InitExt
LD HL,INIFILES.ExtName3
LD DE,REZ3_BUFFERS.fnedit_ext
LD DE,fnedit_ext
;[]----------------------------------------------------------[]
InitExt: LD (.EXTdata),DE
SPDSS DSSF.OPEN,,1

View File

@ -1,86 +0,0 @@
; LAST UPDATE: 15.08.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 €¤à¥á ®¡à ¡®â稪  ¯à¨ ­ ¦ â®¬ ®£­¥ (¯à ¢)
REZ3TAB
;[]===============================================================[]
.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
.SMaskTab DW 240,312,123,137,%0000000000000001,0,InputLine.InputLineExitOk,0
DW 328,400,123,137,%0000000000000001,0,InputLine.InputLineExitCancel,0
DW 0,208, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 432,640, 0,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640, 0, 81,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0,640,143,256,%0000000000000000,0,InputLine.InputLineExitCancel,0
DW 0x8000
;[]===============================================================[]
.FileInfoTab: DW 284,356,160,174,%0000000000100001,0,FileInfoR.FileInfoExt,0
DW 0,240, 0,256,%0000000000100000,0,FileInfoR.FileInfoExt,0
DW 400,640, 0,256,%0000000000100000,0,FileInfoR.FileInfoExt,0
DW 0,640, 0, 80,%0000000000100000,0,FileInfoR.FileInfoExt,0
DW 0,640,178,256,%0000000000100000,0,FileInfoR.FileInfoExt,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
;[]===============================================================[]
.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
;[]===============================================================[]
.PrintFTab: DW 284,356,128,142,%0000000000000001,0,StopPrint,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

View File

@ -1,2 +0,0 @@
set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad\svn\pentevo\tools\noice2equ\