FileEditor.flx 1.10

- устранено перепутанные кнопки для нажатий мышью для F7 и F9.
FileViewer.flx 1.06
- добавлено переключение кодировки в режиме HEX просмотра.
FlexNavigaror 1.16.01
- исправлен вылет при создании нового файла по Shift+F4 или просмотр с
  вводом имени по Shift+F3, плагин был не загружен.
This commit is contained in:
savelij13 2025-07-29 21:58:48 +03:00
parent e3c3c2dd22
commit f428f0b18b
26 changed files with 1082 additions and 910 deletions

View File

@ -1,7 +1,7 @@
[]========================================================================[] []========================================================================[]
* * * *
* <20>―¨α ­¨¥ Flex Navigator API v1.xx ¤«ο ΰ §ΰ ΅®βη¨<CEB7>®Ά Flx-Plugins * * <20>―¨α ­¨¥ Flex Navigator API v1.xx ¤«ο ΰ §ΰ ΅®βη¨<CEB7>®Ά Flx-Plugins *
* doc v0.5 ®â 31.03.2025 (¢ ¯à®æ¥áá¥) * * doc v0.5 ®â 26.07.2025 (¢ ¯à®æ¥áá¥) *
* * * *
[]========================================================================[] []========================================================================[]
@ -57,7 +57,7 @@
¤ «¥¥ ¨¤γβ ®΅'¥<>βλ ®<>­  Ά δ®ΰ¬ β¥: ¤ «¥¥ ¨¤γβ ®΅'¥<>βλ ®<>­  Ά δ®ΰ¬ β¥:
+00 (1) β¨― ®΅κ¥<CEBA>β  +00 (1) β¨― ®΅κ¥<CEBA>β 
+01 ... ®¯¨á â¥«¨ ®¡¥ªâ  +01 ... ®¯¨á â¥«¨ ®¡ê¥ªâ 
®΅'¥<>βλ ®<>­ : ®΅'¥<>βλ ®<>­ :
0. +00 (1) == 0 - <20>®­¥ζ α―¨α<C2A8>  ®΅'¥<>β®Ά. ―®α«¥ ν⮣® ®<>®­­ ο 0. +00 (1) == 0 - <20>®­¥ζ α―¨α<C2A8>  ®΅'¥<>β®Ά. ―®α«¥ ν⮣® ®<>®­­ ο
@ -128,6 +128,13 @@
+01 (2) ᬥ饭¨¥ x ®β ­ η «  ®<>­  (0 - 639) +01 (2) ᬥ饭¨¥ x ®β ­ η «  ®<>­  (0 - 639)
+03 (2) ᬥ饭¨¥ y ®β ­ η «  ®<>­  (0 - 255) +03 (2) ᬥ饭¨¥ y ®β ­ η «  ®<>­  (0 - 255)
12. +00 (2) == 12 - ⥪á⮢ ï áâப 
+01 (2) ᬥ饭¨¥ x ®â ­ ç «  ®ª­  (0 - 639)
+03 (2) ᬥ饭¨¥ y ®â ­ ç «  ®ª­  (0 - 255)
+05 (1) 梥⠯¥ç â¨
(d7-d4 梥â background, d3-d0 梥â foreground)
+06 (2)  ¤à¥á ⥪á⮢®© áâப¨ (ª®­¥æ áâப¨ - 0)
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
JUMPS.InvertRectan - ―ΰ®ζ¥¤γΰ  § ¬¥­λ ζΆ¥β  ―ΰאַ㣮«μ­®© ―«®α<C2AE>®αβ¨ JUMPS.InvertRectan - ―ΰ®ζ¥¤γΰ  § ¬¥­λ ζΆ¥β  ―ΰאַ㣮«μ­®© ―«®α<C2AE>®αβ¨
@ -271,18 +278,10 @@
+0C ... α ¬  αβΰ®<CEB0>  +0C ... α ¬  αβΰ®<CEB0> 
―ΰ®ζ¥¤γΰλ ¤«ο β ΅«¨ζλ ν«¥¬¥­β®Ά ν<>ΰ ­ : ―ΰ®ζ¥¤γΰλ ¤«ο β ΅«¨ζλ ν«¥¬¥­β®Ά ν<>ΰ ­ :
InpLnExtN - ¯à®æ¥¤ãà  ­®à¬ «ì­®£® ¢ë室  ¨§ । ªæ¨¨ JUMPS.InpLnExtN - ¯à®æ¥¤ãà  ­®à¬ «ì­®£® ¢ë室  ¨§ । ªæ¨¨
InpLnExtC - ¯à®æ¥¤ãà  ¢ë室  ¨§ । ªæ¨¨ ¯® cancel JUMPS.InpLnExtC - ¯à®æ¥¤ãà  ¢ë室  ¨§ । ªæ¨¨ ¯® cancel
(Ά®ααβ ­ Ά«¨Ά ¥β ¨§­ η «μ­γξ αβΰ®<CEB0>γ) (Ά®ααβ ­ Ά«¨Ά ¥β ¨§­ η «μ­γξ αβΰ®<CEB0>γ)
[]------------------------------------------------------------------------[]
JUMPS.InpLnExtN
[]------------------------------------------------------------------------[]
JUMPS.InpLnExtC
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
JUMPS.DOSError - ―ΰ®ζ¥¤γΰ  ΆλΆ®¤  ®<>­  ®θ¨΅<C2A8>¨ (¤«ο DOS ®θ¨΅®<CE85>) JUMPS.DOSError - ―ΰ®ζ¥¤γΰ  ΆλΆ®¤  ®<>­  ®θ¨΅<C2A8>¨ (¤«ο DOS ®θ¨΅®<CE85>)
@ -294,7 +293,7 @@
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
JUMPS.InitScrBar - ¯à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ ®¯¨á â¥«ï áªà®««¡ à  JUMPS.InitScrollBar - ¯à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ ®¯¨á â¥«ï áªà®««¡ à 
­  Άε®¤: ­  Άε®¤:
IX -  ¤ΰ¥α ®―¨α β¥«ο α<>ΰ®««΅ ΰ  IX -  ¤ΰ¥α ®―¨α β¥«ο α<>ΰ®««΅ ΰ 
@ -305,7 +304,7 @@
+00 (2) X ―®§¨ζ¨ο α<>ΰ®«΅ ΰ  (0-639) +00 (2) X ―®§¨ζ¨ο α<>ΰ®«΅ ΰ  (0-639)
+02 (2) Y ―®§¨ζ¨ο α<>ΰ®«΅ ΰ  (0-255) +02 (2) Y ―®§¨ζ¨ο α<>ΰ®«΅ ΰ  (0-255)
+04 (2) ¤«¨­  α<>ΰ®«΅ ΰ  +04 (2) ¤«¨­  α<>ΰ®«΅ ΰ 
+06 (2) ⥪ãé ï ¤«¨­  áªà®«¡ à  (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitScrBar) +06 (2) ⥪ãé ï ¤«¨­  áªà®«¡ à  (¨­¨æ¨ «¨§¨àã¥âáï ¢ InitScrollBar)
+08 (2)  ¤ΰ¥α ο祩<C2A5>¨, <20>γ¤  § ―¨θ¥βαο ­ η «μ­ ο <20>®®ΰ¤¨­ β  ΅ ΰ  +08 (2)  ¤ΰ¥α ο祩<C2A5>¨, <20>γ¤  § ―¨θ¥βαο ­ η «μ­ ο <20>®®ΰ¤¨­ β  ΅ ΰ 
¥α«¨ 0, β® ­¥ ¨α―®«μ§γ¥βαο ¥α«¨ 0, β® ­¥ ¨α―®«μ§γ¥βαο
(¨α―®«μ§γ¥βαο ¤«ο β ΅«¨ζλ ν«¥¬¥­β®Ά ν<>ΰ ­ ) (¨α―®«μ§γ¥βαο ¤«ο β ΅«¨ζλ ν«¥¬¥­β®Ά ν<>ΰ ­ )
@ -365,15 +364,7 @@
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
JUMPS.InitScrollBar 5 ª®¬ ­¤ ¯¥à¥å®¤  (12 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
[]------------------------------------------------------------------------[]
JUMPS.MenuWork
[]------------------------------------------------------------------------[]
3 ª®¬ ­¤ ¯¥à¥å®¤  (12 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
<20>®¬ ­¤®© RET (12 ΅ ©β 0xC9) <20>®¬ ­¤®© RET (12 ΅ ©β 0xC9)
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
@ -408,7 +399,7 @@
¥α«¨ +00 == 0x8000 νβ® αη¨β ¥βαο <20>®­ζ®¬ β ΅«¨ζλ ν«¥¬¥­β®Ά §<>ΰ ­  ¥α«¨ +00 == 0x8000 νβ® αη¨β ¥βαο <20>®­ζ®¬ β ΅«¨ζλ ν«¥¬¥­β®Ά §<>ΰ ­ 
ä« £¨ í«¥¬¥­â : ä« £¨ í«¥¬¥­â  (­®¬¥à ¡¨â ):
d00 - ν«¥¬¥­β <20>­®―<C2AE>  d00 - ν«¥¬¥­β <20>­®―<C2AE> 
d01 - ΰ ΅®η ο <20>­®―<C2AE>  d01 - ΰ ΅®η ο <20>­®―<C2AE> 
d02 - ¨­Ά¥ΰβ d02 - ¨­Ά¥ΰβ
@ -483,7 +474,13 @@
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
JUMPS.ConvNumTxt40 JUMPS.ConvNumTxt40 - ¯à®æ¥¤ãà  ª®­¢¥àâ æ¨¨ ¡¥§§­ ª®¢®£® ç¨á« 
40 bit ¢ ⥪áâ
­  ¢å®¤¥:
ABCHL - ç¨á«®
DE -  ¤à¥á ¡ãä¥à 
­  ¢ë室¥:
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
@ -662,10 +659,14 @@
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
JUMPS.Resident JUMPS.Resident - ¢ë§®¢ ¯à®æ¥¤ãà ¢ áâà ­¨æ¥
­  ¢å®¤¥:
DE -  ¤à¥á ¢ë§®¢ 
C -  ¤à¥á ¯®àâ  ®ª­  áâà ­¨æë
A - ­®¬¥à áâà ­¨æë
­  ¢ë室¥:
¯®àâ¨âáï ॣ¨áâà B (¨á¯®«ì§ã¥âáï ¯à¨ ¢ë§®¢¥ ¤«ï åà ­¥­¨ï
áâ à®£® §­ ç¥­¨ï ­®¬¥à  áâà ­¨æë ¤«ï ¢®ááâ ­®¢«¥­¨ï)
[]------------------------------------------------------------------------[] []------------------------------------------------------------------------[]
13 july 2002
Anton Enin (C) Copyright 2002 R-lab
¥á«¨ ¥áâì ¢®¯à®áë e-mail: r-lab@mail.ru ¨«¨ ­  á¯à¨­â¥à ä®à㬥.

View File

@ -1,15 +1,20 @@
FN - FlexNavigator 29.07.2025
FV - FileViewer FileEditor.flx 1.10
FE - FileEditor - ãáâà ­¥­® ¯¥à¥¯ãâ ­­ë¥ ª­®¯ª¨ ¤«ï ­ ¦ â¨© ¬ëèìî ¤«ï F7 ¨ F9.
FileViewer.flx 1.06
- ¤®¡ ¢«¥­® ¯¥à¥ª«î祭¨¥ ª®¤¨à®¢ª¨ ¢ ०¨¬¥ HEX ¯à®á¬®âà .
FlexNavigaror 1.16.01
- ¨á¯à ¢«¥­ ¢ë«¥â ¯à¨ á®§¤ ­¨¨ ­®¢®£® ä ©«  ¯® Shift+F4 ¨«¨ ¯à®á¬®âà á
¢¢®¤®¬ ¨¬¥­¨ ¯® Shift+F3, ¯« £¨­ ¡ë« ­¥ § £à㦥­.
25.07.2025 25.07.2025
CDplayer.flx 1.1: CDplayer.flx 1.1:
- ¯« £¨­ ¤®¤¥« ­, ®¯¨á ­¨¥/history ¢ cdplayer.txt à冷¬ á ¯« £¨­®¬. - ¯« £¨­ ¤®¤¥« ­, ®¯¨á ­¨¥/history ¢ cdplayer.txt à冷¬ á ¯« £¨­®¬.
FE 1.09 FileEditor.flx 1.09
- ¨á¯à ¢«¥­®: ¯à¨ ¢ë室¥ ¨§ । ªâ®à  á ­¥á®åà ­¥­­ë¬ ä ©«®¬ ¨ § ¯à®á¥ ­  - ¨á¯à ¢«¥­®: ¯à¨ ¢ë室¥ ¨§ । ªâ®à  á ­¥á®åà ­¥­­ë¬ ä ©«®¬ ¨ § ¯à®á¥ ­ 
á®åà ­¥­¨¥ ª« ¢¨è  Enter ⥯¥àì à ¡®â ¥â ª ª ¯®¤â¢¥à¦¤¥­¨¥ á®åà ­¥­¨ï. á®åà ­¥­¨¥ ª« ¢¨è  Enter ⥯¥àì à ¡®â ¥â ª ª ¯®¤â¢¥à¦¤¥­¨¥ á®åà ­¥­¨ï.
FN 1.16 FlexNavigator 1.16
- ¨á¯à ¢«¥­ ¢®§à â ⥪ã饩 ¤¨à¥ªâ®à¨¨ ¯®á«¥ § £à㧪¨ ¯« £¨­ . - ¨á¯à ¢«¥­ ¢®§à â ⥪ã饩 ¤¨à¥ªâ®à¨¨ ¯®á«¥ § £à㧪¨ ¯« £¨­ .
- ¢áâ஥­­ë© editor ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F4, ¨§ FN 㤠«¥­. - ¢áâ஥­­ë© editor ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F4, ¨§ FN 㤠«¥­.
- ¢áâ஥­­ë© viewer ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F3, ¨§ FN 㤠«¥­. - ¢áâ஥­­ë© viewer ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F3, ¨§ FN 㤠«¥­.
@ -25,9 +30,13 @@ FN 1.16
- ¨á¯à ¢«¥­  ¯®â¥àï æ¢¥â  ¯à¨ ¯¥ç â¨ ⥪áâ  ¯® 㪠§ ­­®¬ã  ¤à¥áã. - ¨á¯à ¢«¥­  ¯®â¥àï æ¢¥â  ¯à¨ ¯¥ç â¨ ⥪áâ  ¯® 㪠§ ­­®¬ã  ¤à¥áã.
- ⥪áâ®¢ë¬ ä ©« ¬ ¢¥à­ã« ª®¤¨à®¢ªã CP866, readme.md ®áâ ¢«¥­ ¢ ª®¤¨à®¢ª¥ UTF8. - ⥪áâ®¢ë¬ ä ©« ¬ ¢¥à­ã« ª®¤¨à®¢ªã CP866, readme.md ®áâ ¢«¥­ ¢ ª®¤¨à®¢ª¥ UTF8.
FN - FlexNavigator
FV - FileViewer
FE - FileEditor
27.06.2025 27.06.2025
FN 1.15.01 FN 1.15.01
- ¢ ¯ à¥ ¬¥áâ ¨á¯à «¥­  data ­  date. - ¢ ¯ à¥ ¬¥áâ ¨á¯à ¢«¥­  data ­  date.
25.06.2025 25.06.2025
FN 1.15 FN 1.15

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fn/fn.exe

Binary file not shown.

View File

@ -1,15 +1,20 @@
FN - FlexNavigator 29.07.2025
FV - FileViewer FileEditor.flx 1.10
FE - FileEditor - ãáâà ­¥­® ¯¥à¥¯ãâ ­­ë¥ ª­®¯ª¨ ¤«ï ­ ¦ â¨© ¬ëèìî ¤«ï F7 ¨ F9.
FileViewer.flx 1.06
- ¤®¡ ¢«¥­® ¯¥à¥ª«î祭¨¥ ª®¤¨à®¢ª¨ ¢ ०¨¬¥ HEX ¯à®á¬®âà .
FlexNavigaror 1.16.01
- ¨á¯à ¢«¥­ ¢ë«¥â ¯à¨ á®§¤ ­¨¨ ­®¢®£® ä ©«  ¯® Shift+F4 ¨«¨ ¯à®á¬®âà á
¢¢®¤®¬ ¨¬¥­¨ ¯® Shift+F3, ¯« £¨­ ¡ë« ­¥ § £à㦥­.
25.07.2025 25.07.2025
CDplayer.flx 1.1: CDplayer.flx 1.1:
- ¯« £¨­ ¤®¤¥« ­, ®¯¨á ­¨¥/history ¢ cdplayer.txt à冷¬ á ¯« £¨­®¬. - ¯« £¨­ ¤®¤¥« ­, ®¯¨á ­¨¥/history ¢ cdplayer.txt à冷¬ á ¯« £¨­®¬.
FE 1.09 FileEditor.flx 1.09
- ¨á¯à ¢«¥­®: ¯à¨ ¢ë室¥ ¨§ । ªâ®à  á ­¥á®åà ­¥­­ë¬ ä ©«®¬ ¨ § ¯à®á¥ ­  - ¨á¯à ¢«¥­®: ¯à¨ ¢ë室¥ ¨§ । ªâ®à  á ­¥á®åà ­¥­­ë¬ ä ©«®¬ ¨ § ¯à®á¥ ­ 
á®åà ­¥­¨¥ ª« ¢¨è  Enter ⥯¥àì à ¡®â ¥â ª ª ¯®¤â¢¥à¦¤¥­¨¥ á®åà ­¥­¨ï. á®åà ­¥­¨¥ ª« ¢¨è  Enter ⥯¥àì à ¡®â ¥â ª ª ¯®¤â¢¥à¦¤¥­¨¥ á®åà ­¥­¨ï.
FN 1.16 FlexNavigator 1.16
- ¨á¯à ¢«¥­ ¢®§à â ⥪ã饩 ¤¨à¥ªâ®à¨¨ ¯®á«¥ § £à㧪¨ ¯« £¨­ . - ¨á¯à ¢«¥­ ¢®§à â ⥪ã饩 ¤¨à¥ªâ®à¨¨ ¯®á«¥ § £à㧪¨ ¯« £¨­ .
- ¢áâ஥­­ë© editor ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F4, ¨§ FN 㤠«¥­. - ¢áâ஥­­ë© editor ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F4, ¨§ FN 㤠«¥­.
- ¢áâ஥­­ë© viewer ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F3, ¨§ FN 㤠«¥­. - ¢áâ஥­­ë© viewer ¯¥à¥¥å « ¢ ¯« £¨­ ®âªã¤  ¨ § ¯ã᪠¥âáï ¯® F3, ¨§ FN 㤠«¥­.
@ -25,9 +30,13 @@ FN 1.16
- ¨á¯à ¢«¥­  ¯®â¥àï æ¢¥â  ¯à¨ ¯¥ç â¨ ⥪áâ  ¯® 㪠§ ­­®¬ã  ¤à¥áã. - ¨á¯à ¢«¥­  ¯®â¥àï æ¢¥â  ¯à¨ ¯¥ç â¨ ⥪áâ  ¯® 㪠§ ­­®¬ã  ¤à¥áã.
- ⥪áâ®¢ë¬ ä ©« ¬ ¢¥à­ã« ª®¤¨à®¢ªã CP866, readme.md ®áâ ¢«¥­ ¢ ª®¤¨à®¢ª¥ UTF8. - ⥪áâ®¢ë¬ ä ©« ¬ ¢¥à­ã« ª®¤¨à®¢ªã CP866, readme.md ®áâ ¢«¥­ ¢ ª®¤¨à®¢ª¥ UTF8.
FN - FlexNavigator
FV - FileViewer
FE - FileEditor
27.06.2025 27.06.2025
FN 1.15.01 FN 1.15.01
- ¢ ¯ à¥ ¬¥áâ ¨á¯à «¥­  data ­  date. - ¢ ¯ à¥ ¬¥áâ ¨á¯à ¢«¥­  data ­  date.
25.06.2025 25.06.2025
FN 1.15 FN 1.15

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 25.07.2025 savelij ; LAST UPDATE: 26.07.2025 savelij
INIT_VAR 0x8000 INIT_VAR 0x8000
SETVAR WorkBuffer, 0x400 ; à ¡®ç¨© ¡ãä¥à SETVAR WorkBuffer, 0x400 ; à ¡®ç¨© ¡ãä¥à
@ -174,13 +174,15 @@ BAR
_INIT_VAR _INIT_VAR
_SETVAR .X, WORD _SETVAR .X, WORD
_SETVAR .Y, WORD _SETVAR .Y, WORD
_SETVAR .MAX_LEN, WORD ; à §¬¥à ¡ à  _SETVAR .MAX_LEN, WORD ; ¤«¨­  áªà®«¡ à 
_SETVAR .LEN_FILES, WORD ; ª®«¨ç¥á⢮ ä ©«®¢ _SETVAR .LEN_FILES, WORD ; ⥪ãé ï ¤«¨­  áªà®«¡ à 
_SETVAR .LEFT_FILES, WORD _SETVAR .LEFT_FILES, WORD ;  ¤à¥á ï祩ª¨, ªã¤  § ¯¨è¥âáï ­ ç «ì­ ï ª®®à¤¨­ â  ¡ à 
_SETVAR .RIGHT_FILES, WORD ; ¥á«¨ 0, â® ­¥ ¨á¯®«ì§ã¥âáï
_SETVAR .PAGE_FILES, WORD ; ª®«¨ç¥á⢮ ä ©«®¢ ­  áâà ­¨æã _SETVAR .RIGHT_FILES, WORD ;  ¤à¥á ï祩ª¨, ªã¤  § ¯¨è¥âáï ª®­¥ç­ ï ª®®à¤¨­ â  ¡ à 
_SETVAR .MAX_FILES, WORD ; ¬ ªá¨¬ «ì­®¥ ª®«¨ç¥á⢮ ä ©«®¢ ; ¥á«¨ 0, â® ­¥ ¨á¯®«ì§ã¥âáï
_SETVAR .FIRST_FILE, WORD ; ¯¥à¢ë© ä ©« _SETVAR .PAGE_FILES, WORD ; ª®«¨ç¥á⢮ ¢¨¤¨¬ëå í«¥¬¥­â®¢
_SETVAR .MAX_FILES, WORD ; ®¡é¥¥ ª®«¨ç¥á⢮ í«¥¬¥­â®¢
_SETVAR .FIRST_FILE, WORD ; ¯¥à¢ ï ¢¨¤¨¬ë© í«¥¬¥­â
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
; <20>ணà¥áá ¡ à ; <20>ணà¥áá ¡ à
@ -188,12 +190,12 @@ PROC
_INIT_VAR _INIT_VAR
_SETVAR .X, WORD _SETVAR .X, WORD
_SETVAR .Y, WORD _SETVAR .Y, WORD
_SETVAR .MAX_LEN, WORD ; ¬ ªá¨¬ «ì­ ï ¤«¨­  ¯à®æ¥áá  _SETVAR .MAX_LEN, WORD ; ¤«¨­  ¯à®æ¥áá¡ à 
_SETVAR .INDEX, WORD ; Š®íä䍿¨¥­â ¤«ï ¯à®æ¥áá  _SETVAR .INDEX, WORD ; ª®íä䍿¨¥­â ¤«ï ¯à®æ¥áá 
_SETVAR .CORR_INDEX, WORD ; Š®à४æ¨ï ª®í䍿¨¥­â  _SETVAR .CORR_INDEX, WORD ; ª®à४æ¨ï ª®í䍿¨¥­â 
_SETVAR .MAX_PAGES, DWORD ; Œ ªá¨¬ã¬ áâà ­¨æ _SETVAR .MAX_PAGES, DWORD ; ¬ ªá¨¬ã¬ áâà ­¨æ
_SETVAR .CURR_PAGE, DWORD ; ¥ªãé ï áâà ­¨æ  _SETVAR .CURR_PAGE, DWORD ; ⥪ãé ï áâà ­¨æ 
_SETVAR .COLOR, BYTE ; ¢¥â ¯à®£à¥áá  _SETVAR .COLOR, BYTE ; 梥⠯ணà¥áá 
; ”®à¬ â â ¡«¨æë ; ”®à¬ â â ¡«¨æë
; +00 2 Xmin ; +00 2 Xmin
@ -268,13 +270,12 @@ JUMPS
_SETVAR .InpLnExtN, .JUMPSIZE _SETVAR .InpLnExtN, .JUMPSIZE
_SETVAR .InpLnExtC, .JUMPSIZE _SETVAR .InpLnExtC, .JUMPSIZE
_SETVAR .DOSError, .JUMPSIZE _SETVAR .DOSError, .JUMPSIZE
_SETVAR .InitScrBar, .JUMPSIZE _SETVAR .InitScrollBar, .JUMPSIZE
_SETVAR .PrnHScrBar, .JUMPSIZE _SETVAR .PrnHScrBar, .JUMPSIZE
_SETVAR .PrnVScrBar, .JUMPSIZE _SETVAR .PrnVScrBar, .JUMPSIZE
_SETVAR .InitProcess, .JUMPSIZE _SETVAR .InitProcess, .JUMPSIZE
_SETVAR .PrnProcess, .JUMPSIZE _SETVAR .PrnProcess, .JUMPSIZE
_SETVAR .InitScrollBar, .JUMPSIZE _ADDVAR .JUMPSIZE * 5 ; DUPL 15,0xC9
_ADDVAR .JUMPSIZE * 4 ; DUPL 15,0xC9
_SETVAR .ResFire, .JUMPSIZE _SETVAR .ResFire, .JUMPSIZE
_SETVAR .TestCoords, .JUMPSIZE _SETVAR .TestCoords, .JUMPSIZE
_SETVAR .SetCMOSPrint, .JUMPSIZE _SETVAR .SetCMOSPrint, .JUMPSIZE

View File

@ -1,7 +1,7 @@
; LAST UPDATE: 18.07.2025 savelij ; LAST UPDATE: 29.07.2025 savelij
FLEX_VERS FLEX_VERS
.NAVIGATOR EQU "1.16" .NAVIGATOR EQU "1.16.01"
.EDITOR EQU "1.09" .EDITOR EQU "1.10"
.VIEWER EQU "1.05" .VIEWER EQU "1.06"

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 24.07.2025 savelij ; LAST UPDATE: 25.07.2025 savelij
;[]=======================================================================[] ;[]=======================================================================[]
; FLEX NAVIGATOR ; ; FLEX NAVIGATOR ;
@ -54,9 +54,8 @@ START_BLOCK_1
JP PrnVScrBar ; 8630->9882 JP PrnVScrBar ; 8630->9882
JP InitProcess ; 8633->99DA JP InitProcess ; 8633->99DA
JP PrnProcess ; 8636->9A39 JP PrnProcess ; 8636->9A39
JP InitScrollBar
DB JUMPS.JUMPSIZE * 4 DUP 0xC9 DB JUMPS.JUMPSIZE * 5 DUP 0xC9
JP ResFire ; 8648->9B01 JP ResFire ; 8648->9B01
JP TestCoords ; 864B->9B10 JP TestCoords ; 864B->9B10

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 25.07.2025 savelij ; LAST UPDATE: 29.07.2025 savelij
;[]===========================================================[] ;[]===========================================================[]
CursUp LD A,(IY + PANEL.FILES_ALL) CursUp LD A,(IY + PANEL.FILES_ALL)
@ -2001,6 +2001,21 @@ View1: CALL ResInvert
PUSH IY PUSH IY
LD HL,PrevFile LD HL,PrevFile
LD DE,(RunFLX.FLXexec) LD DE,(RunFLX.FLXexec)
LD A,D
OR E
JR NZ,.L1
; ¥á«¨ ¯« £¨­ ­¥ § £à㦥­, § £à㦠¥¬
PUSH HL
CALL LOADFLX4RUN
DZ FILENAME.VIEW_FLX
POP HL
JR NC,.L1
; ¥á«¨ ¯« £¨­ ­¥ § £à㦥­/­¥ ­ ©¤¥­
POP IY
LD A,FNinternal.PlugNotFound
JP DOSError
.L1 LD DE,(RunFLX.FLXexec)
LD A,(RunFLX.FLXmode) LD A,(RunFLX.FLXmode)
AND FLXMODES.M_ADRORG AND FLXMODES.M_ADRORG
LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000 LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000
@ -2013,6 +2028,8 @@ View1: CALL ResInvert
LD A,(RAMPAGES.FLX) LD A,(RAMPAGES.FLX)
ENDIF ENDIF
CALL Resident CALL Resident
LD HL,0
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨­  £«ã訬  ¤à¥á § £à㧪¨
POP IY POP IY
RET C RET C
SETPORT BORDER,0 SETPORT BORDER,0
@ -2151,6 +2168,21 @@ Edit1: CALL ResInvert
PUSH IY PUSH IY
LD HL,PrevFile LD HL,PrevFile
LD DE,(RunFLX.FLXexec) LD DE,(RunFLX.FLXexec)
LD A,D
OR E
JR NZ,.L1
; ¥á«¨ ¯« £¨­ ­¥ § £à㦥­, § £à㦠¥¬
PUSH HL
CALL LOADFLX4RUN
DZ FILENAME.EDIT_FLX
POP HL
JR NC,.L1
; ¥á«¨ ¯« £¨­ ­¥ § £à㦥­/­¥ ­ ©¤¥­
POP IY
LD A,FNinternal.PlugNotFound
JP DOSError
.L1 LD DE,(RunFLX.FLXexec)
LD A,(RunFLX.FLXmode) LD A,(RunFLX.FLXmode)
AND FLXMODES.M_ADRORG AND FLXMODES.M_ADRORG
LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000 LD C,WINSP.CPU1 ; ®ª­® § ¯ã᪠ á  ¤à¥á  0x4000
@ -2163,6 +2195,8 @@ Edit1: CALL ResInvert
LD A,(RAMPAGES.FLX) LD A,(RAMPAGES.FLX)
ENDIF ENDIF
CALL Resident CALL Resident
LD HL,0
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨­  £«ã訬  ¤à¥á § £à㧪¨
POP IY POP IY
RET C RET C
SETPORT BORDER,0 SETPORT BORDER,0

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 18.07.2025 savelij ; LAST UPDATE: 26.07.2025 savelij
include macros.a80 include macros.a80
include fn_const.a80 include fn_const.a80
@ -12,7 +12,8 @@
include dss_sp.a80 include dss_sp.a80
include bios_sp.a80 include bios_sp.a80
include mouse_sp.a80 include mouse_sp.a80
include errors_sp.a80
HDR_FLX "-EDIT",,,;FLXMODES.M_ADRORG HDR_FLX "-EDIT"
include feditor.a80 include feditor.a80

View File

@ -6,8 +6,8 @@ set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad
call ..\..\setpath_includes call ..\..\setpath_includes
set includes=%includes%;..\..\ set includes=%includes%;..\..\
asl -U -L -C -x -olist tmp\fneditor.lst -i %includes% femain.a80 || goto error asl -U -L -C -x -olist tmp\fneditor.lst -i %includes% build.a80 || goto error
p2bin femain.p ..\fneditor.flx -r $-$ -k p2bin build.p ..\fneditor.flx -r $-$ -k
echo ######################## echo ########################
echo # -= End Compile Ok =- # echo # -= End Compile Ok =- #

View File

@ -1,37 +1,35 @@
; LAST UPDATE: 18.07.2025 savelij ; LAST UPDATE: 29.07.2025 savelij
ENABLE_CODEPAGE EQU 0
INIT_VAR INIT_VAR
SETVAR CursorX ;EQU 0x00 SETVAR CursorX
SETVAR StringX ;EQU 0x01 SETVAR StringX
SETVAR CursAddX ;EQU 0x02 SETVAR CursAddX
SETVAR CursorY ;EQU 0x03 SETVAR CursorY
SETVAR LenString ;EQU 0x04 SETVAR LenString
SETVAR PrvLenStr ;EQU 0x05 SETVAR PrvLenStr
SETVAR ReadyStr ;EQU 0x06 SETVAR ReadyStr
SETVAR ReadyFile ;EQU 0x07 SETVAR ReadyFile
LineBuffer := WorkBuffer+0x200 LineBuffer := WorkBuffer+0x200
TempBuffer := WorkBuffer+0x300 TempBuffer := WorkBuffer+0x300
;[]==========================================================[] ;[]==========================================================[]
JP FileEditor CALL FELoadFile
DZ FLEX_VERS.EDITOR
FileEditor CALL FELoadFile
RET C RET C
call ReadEditorIni call ReadEditorIni
LD IY,EditData LD IY,EditData
SUB A SUB A
LD (EditMode),A LD (EditMode),A
LD (HEXmode),A LD (HEXmode),A
LD (IY+CursorX),A LD (IY + EDBUF_.CursorX),A
LD (IY+StringX),A LD (IY + EDBUF_.StringX),A
LD (IY+CursAddX),A LD (IY + EDBUF_.CursAddX),A
LD (IY+CursorY),A LD (IY + EDBUF_.CursorY),A
LD (IY+ReadyStr),A LD (IY + EDBUF_.ReadyStr),A
LD (IY+ReadyFile),A LD (IY + EDBUF_.ReadyFile),A
INC A INC A
LD (FECrTimer),A LD (FECrTimer),A
LD HL,0x0000 LD HL,0x0000
@ -43,185 +41,167 @@ EditorBegin CALL InitStatus
CALL InitFile CALL InitFile
CALL PrintPage CALL PrintPage
EditorLoop CALL FEChCursor EditorLoop CALL FEChCursor
LD A,(EditMode) LD A,(EditMode) ; ०¨¬ । ªâ¨à®¢ ­¨ï
OR A OR A
JP NZ,HEditLoop JP NZ,HEditLoop
; ०¨¬ । ªâ¨à®¢ ­¨ï ⥪áâ
TEditLoop LD IX,FEASCIItab TEditLoop LD IX,FEASCIItab
CALL JUMPS.TestCoords CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,EditorLoop JR Z,EditorLoop
LD A,D LD A,D
CP 0x44 CP SC.F10
JP Z,EditorExit JP Z,EditorExit
LD A,E ;…-ASCII ª®¤ LD A,E ; …-ASCII ª®¤
CP 0x1B ;Esc CP 0x1B ; Esc
JP Z,EditorExit JP Z,EditorExit
LD HL,EditorLoop LD HL,EditorLoop
PUSH HL PUSH HL
OR A OR A
JP NZ,TInsertSymbol JP NZ,TInsertSymbol ; ª ª®© â® ¯¥ç â­ë© ᨬ¢®«?
LD A,D LD A,D
CP 0x3B CP SC.F1
JP Z,FEAbout JP Z,FEAbout
CP 0x3C CP SC.F2
JP Z,SaveFile JP Z,SaveFile
CP 0x3E CP SC.F4
JP Z,ChEditor ;<3B>à®á¬®âà ¢ HEX JP Z,ChEditor ; <EFBFBD>à®á¬®âà ¢ HEX
CP 0x41 CP SC.F7
JP Z,FEPrintFile JP Z,FEPrintFile
CP 0x43 IF ENABLE_CODEPAGE
CP SC.F8
JP Z,ChCodePage
ENDIF
CP SC.F9
JP Z,EditorSetup JP Z,EditorSetup
CP 0x4F CP SC.XDEL
JP Z,TDeleteSymbol JP Z,TDeleteSymbol
CP 0x54 CP SC.X4
JP Z,TCursorLeft JP Z,TCursorLeft
CP 0x56 CP SC.X6
JP Z,TCursorRight JP Z,TCursorRight
CP 0x58 CP SC.X8
JP Z,TCursorUp JP Z,TCursorUp
CP 0x52 CP SC.X2
JP Z,TCursorDown JP Z,TCursorDown
CP 0x57 ;Home CP SC.X7 ; Home
JP Z,THomeString JP Z,THomeString
CP 0x51 ;End CP SC.X1 ; End
JP Z,TEndString JP Z,TEndString
CP 0x59 ;PageUp CP SC.X9 ; PageUp
JP Z,FETPageUp JP Z,FETPageUp
CP 0x53 ;PageDown CP SC.X3 ; PageDown
JP Z,TPageDown JP Z,TPageDown
LD A,B LD A,B
AND 0x30 AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
CP 0x30 CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
RET Z RET Z
bit 4,b ;<EFBFBD>ਠ­ ¦ â®¬ Alt bit KEYBSTAT.B_ALT,B ; <EFBFBD>ਠ­ ¦ â®¬ Alt
jr z,.ctrl jr z,.ctrl
ld a,d ld a,d
and 0x7f and %01111111
CP 0x54 ;Alt+< CP SC.X4 ; Alt+<
JP Z,THomeString JP Z,THomeString
CP 0x56 ;Alt+> CP SC.X6 ; Alt+>
JP Z,TEndString JP Z,TEndString
ret ret
.ctrl: BIT 5,B ;<EFBFBD>ਠ­ ¦ â®¬ Ctrl .ctrl: BIT KEYBSTAT.B_CTRL,B ; <EFBFBD>ਠ­ ¦ â®¬ Ctrl
RET Z RET Z
LD A,D LD A,D
AND 0x7F AND %01111111
CP 0x0E CP SC.BKSP
JP Z,TDeleteWord JP Z,TDeleteWord
CP 0x15 ;Ctrl+Y - Delete String CP SC.Y ; Ctrl+Y - Delete String
JP Z,TDeleteString JP Z,TDeleteString
CP 0x1E ;Ctrl+S CP SC.S ; Ctrl+S
JP Z,SaveFile JP Z,SaveFile
CP 0x1F ;Ctrl+D CP SC.D ; Ctrl+D
JP Z,TDoubleString JP Z,TDoubleString
CP 0x19 ;Ctrl+P CP SC.P ; Ctrl+P
JP Z,FEPrintFile JP Z,FEPrintFile
cp 0x2a ;Ctrl+Z cp SC.Z ; Ctrl+Z
jp z,Undo jp z,Undo
CP 0x54 CP SC.X4
JP Z,TWordLeft JP Z,TWordLeft
CP 0x56 CP SC.X6
JP Z,TWordRight JP Z,TWordRight
CP 0x58 CP SC.X8
JP Z,TScrollUp JP Z,TScrollUp
CP 0x52 CP SC.X2
JP Z,TScrollDown JP Z,TScrollDown
CP 0x57 ;Ctrl+Home CP SC.X7 ; Ctrl+Home
JP Z,FETBegFile ;¢ ­ ç «® ä ©«  JP Z,FETBegFile ; ¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageEnd CP SC.X1 ; Ctrl+PageEnd
JP Z,FETEndFile ;¢ ª®­¥æ ä ©«  JP Z,FETEndFile ; ¢ ª®­¥æ ä ©« 
RET RET
; ०¨¬ । ªâ¨à®¢ ­¨ï HEX
HEditLoop LD IX,FEHEXtab HEditLoop LD IX,FEHEXtab
CALL JUMPS.TestCoords CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JP Z,EditorLoop JP Z,EditorLoop
LD A,D ; LD A,D
CP 0x44 ;F10 CP SC.F10 ; F10
JP Z,EditorExit JP Z,EditorExit
LD A,E ;…-ASCII ª®¤ LD A,E ; …-ASCII ª®¤
CP 0x1B ;Esc CP 0x1B ; Esc
JP Z,EditorExit JP Z,EditorExit
LD HL,EditorLoop LD HL,EditorLoop
PUSH HL PUSH HL
OR A OR A
JP NZ,HPutSymbol JP NZ,HPutSymbol
LD A,D LD A,D
CP 0x3B CP SC.F1
JP Z,FEAbout JP Z,FEAbout
CP 0x3C CP SC.F2
JP Z,SaveFile JP Z,SaveFile
CP 0x9E ;Ctrl+S CP SC.S + 0x80 ; Ctrl+S
JP Z,SaveFile JP Z,SaveFile
CP 0x3E ;F4 CP SC.F4 ; F4
JP Z,ChEditor ;<3B>à®á¬®âà ¢ ⥪á⥠JP Z,ChEditor ; <EFBFBD>à®á¬®âà ¢ ⥪áâ¥
CP 0x3F ;F5 CP SC.F5 ; F5
JP Z,FEHGoTo ;<3B>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï JP Z,FEHGoTo ; <EFBFBD>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
CP 0x41 CP SC.F7
JP Z,FEPrintFile JP Z,FEPrintFile
CP 0x43 CP SC.F9
JP Z,EditorSetup JP Z,EditorSetup
CP 0x54 CP SC.X4
JP Z,HCursorLeft JP Z,HCursorLeft
CP 0x56 CP SC.X6
JP Z,HCursorRight JP Z,HCursorRight
CP 0x57 ;Home CP SC.X7 ; Home
JP Z,HHomeString JP Z,HHomeString
CP 0x51 ;End CP SC.X1 ; End
JP Z,HEndString JP Z,HEndString
CP 0x58 ;‘â५ª  ¢¢¥àå CP SC.X8 ; ‘â५ª  ¢¢¥àå
JP Z,HCursorUp JP Z,HCursorUp
CP 0x52 ;‘â५ª  ¢­¨§ CP SC.X2 ; ‘â५ª  ¢­¨§
JP Z,HCursorDown JP Z,HCursorDown
CP 0x59 ;PageUp CP SC.X9 ; PageUp
JP Z,FEHPageUp JP Z,FEHPageUp
CP 0x53 ;PageDown CP SC.X3 ; PageDown
JP Z,FEHPageDown JP Z,FEHPageDown
LD A,B LD A,B
AND 0x30 AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
CP 0x30 CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
RET Z RET Z
BIT 5,B BIT KEYBSTAT.B_CTRL,B
RET Z RET Z
LD A,D LD A,D
AND 0x7F AND %01111111
CP 0x58 CP SC.X8
JP Z,HScrollUp JP Z,HScrollUp
CP 0x52 CP SC.X2
JP Z,HScrollDown JP Z,HScrollDown
CP 0x57 ;Ctrl+PageUp CP SC.X7 ; Ctrl+PageUp
JP Z,FEHBegFile ;¢ ­ ç «® ä ©«  JP Z,FEHBegFile ; ¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageDown CP SC.X1 ; Ctrl+PageDown
JP Z,FEHEndFile ;¢ ª®­¥æ ä ©«  JP Z,FEHEndFile ; ¢ ª®­¥æ ä ©« 
CP 0x19 ;Ctrl+P CP SC.P ; Ctrl+P
JP Z,FEPrintFile JP Z,FEPrintFile
RET RET
;[]==========================================================[]
EditingFile DUPL 0x30,0
EditMode DEFB 0x00
HEXmode DEFB 0x00
EditData DEFB 0x00 ;Cursor X
DEFB 0x00 ;String X
DEFB 0x00 ;Cursor add X
DEFB 0x00 ;Cursor Y
DEFB 0x00 ;Len String
DEFB 0x00 ;Previos Len String
DEFB 0x00 ;Ready String
DEFB 0x00 ;Ready File
CurLine DEFW 0x0000
EquipLines DEFW 0x0000
LineShift DEFW 0x0000
FEPageShift DEFW 0x0000
FETempShift DEFW 0x0000
FEFileLenght DEFW 0x0000 ;„«¨­  ä ©«  (16¡¨â)
FEEmptyLines DEFB 0x00
FEMemIndef DEFB 0x00
FEFHandle DEFB 0x00
FEReadLen
SaveLen DEFW 0x0000
;[]==========================================================[] ;[]==========================================================[]
ChEditor LD HL,EditorBegin ChEditor LD HL,EditorBegin
EX (SP),HL EX (SP),HL
@ -230,7 +210,7 @@ ChEditor LD HL,EditorBegin
LD (EditMode),A LD (EditMode),A
JR NZ,HEXEdit JR NZ,HEXEdit
ASCIIEdit LD HL,(LineShift) ASCIIEdit LD HL,(LineShift)
LD E,(IY+CursorX) LD E,(IY + EDBUF_.CursorX)
SRL E SRL E
LD D,0x00 LD D,0x00
ADD HL,DE ADD HL,DE
@ -240,8 +220,8 @@ ASCIIEdit LD HL,(LineShift)
LD (LineShift),HL LD (LineShift),HL
LD (FEPageShift),HL LD (FEPageShift),HL
SUB A SUB A
LD (IY+StringX),A LD (IY + EDBUF_.StringX),A
LD (IY+CursorY),A LD (IY + EDBUF_.CursorY),A
PUSH HL PUSH HL
CALL GetString CALL GetString
POP DE POP DE
@ -249,39 +229,39 @@ ASCIIEdit LD HL,(LineShift)
OR A OR A
SBC HL,DE SBC HL,DE
LD A,L LD A,L
CP (IY+LenString) CP (IY + EDBUF_.LenString)
JR C,.L1 JR C,.L1
LD A,(IY+LenString) LD A,(IY + EDBUF_.LenString)
.L1 DEC A .L1 DEC A
LD (IY+StringX),A LD (IY + EDBUF_.StringX),A
JP TCursorRight JP TCursorRight
HEXEdit CALL PutString HEXEdit CALL PutString
LD HL,(LineShift) LD HL,(LineShift)
LD A,(IY+StringX) LD A,(IY + EDBUF_.StringX)
CP (IY+LenString) CP (IY + EDBUF_.LenString)
JR C,.L1 JR C,.L1
LD A,(IY+LenString) LD A,(IY + EDBUF_.LenString)
.L1 LD E,A .L1 LD E,A
LD D,0x00 LD D,0x00
ADD HL,DE ADD HL,DE
LD A,L LD A,L
AND 0x0F AND 0x0F
ADD A,A ADD A,A
LD (IY+CursorX),A LD (IY + EDBUF_.CursorX),A
LD A,L LD A,L
AND 0xF0 AND 0xF0
LD L,A LD L,A
LD (LineShift),HL LD (LineShift),HL
LD (FEPageShift),HL LD (FEPageShift),HL
SUB A SUB A
LD (IY+CursorY),A LD (IY + EDBUF_.CursorY),A
RET RET
;[]==========================================================[] ;[]==========================================================[]
EditorExit CALL PutString EditorExit CALL PutString
CALL FEResCursor CALL FEResCursor
LD A,(IY+ReadyFile) LD A,(IY + EDBUF_.ReadyFile)
OR A OR A
JP Z,QuitAsk;EditorE JP Z,QuitAsk;EditorE
MAKEWINDOW WINSUBOBJ.STORE MAKEWINDOW WINSUBOBJ.STORE
@ -392,7 +372,7 @@ FEInitScreen
CP (HL) CP (HL)
JR NZ,.L1 JR NZ,.L1
DEC HL DEC HL
LD A,0x5C LD A,'\\'
CP (HL) CP (HL)
INC HL INC HL
JR Z,.L2 JR Z,.L2
@ -420,11 +400,14 @@ FEInitScreen
LD B,0x08 LD B,0x08
EXX EXX
LD A,0x02 LD A,0x02
CALL JUMPS.SetCMOSPrint JP JUMPS.SetCMOSPrint
RET
;[]==========================================================[] ;[]==========================================================[]
InitStatus LD A,(EditMode) InitStatus
IF ENABLE_CODEPAGE
CALL InitCodePage
ENDIF
LD A,(EditMode)
OR A OR A
JP NZ,InitHEXStatus JP NZ,InitHEXStatus
MAKEWINDOW WINSUBOBJ.WOBIND MAKEWINDOW WINSUBOBJ.WOBIND
@ -442,8 +425,16 @@ InitStatus LD A,(EditMode)
W_TEXT 100,245,COLORP.HIGHGRAY,"F2 Save" W_TEXT 100,245,COLORP.HIGHGRAY,"F2 Save"
W_BUTTON 160,242,80,14 W_BUTTON 160,242,80,14
W_TEXT 184,245,COLORP.HIGHGRAY,"F4 Hex" W_TEXT 184,245,COLORP.HIGHGRAY,"F4 Hex"
IF ENABLE_CODEPAGE
W_BUTTON 340,242,80,14
W_TEXT 362,245,COLORP.HIGHGRAY,"F7 Print"
W_BUTTON 420,242,60,14
W_ADRTEXT 432,245,COLORP.HIGHGRAY,0
ASCIIenc1 EQU $ - 2
ELSE
W_BUTTON 400,242,80,14 W_BUTTON 400,242,80,14
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print" W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
ENDIF
W_BUTTON 480,242,80,14 W_BUTTON 480,242,80,14
W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings" W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
W_BUTTON 560,242,80,14 W_BUTTON 560,242,80,14
@ -466,8 +457,16 @@ InitHEXStatus
W_TEXT 182,245,COLORP.HIGHGRAY,"F4 ASCII" W_TEXT 182,245,COLORP.HIGHGRAY,"F4 ASCII"
W_BUTTON 240,242,80,14 W_BUTTON 240,242,80,14
W_TEXT 258,245,COLORP.HIGHGRAY,"F5 Go to" W_TEXT 258,245,COLORP.HIGHGRAY,"F5 Go to"
IF ENABLE_CODEPAGE
W_BUTTON 340,242,80,14
W_TEXT 362,245,COLORP.HIGHGRAY,"F7 Print"
W_BUTTON 420,242,60,14
W_ADRTEXT 432,245,COLORP.HIGHGRAY,0
ASCIIenc2 EQU $ - 2
ELSE
W_BUTTON 400,242,80,14 W_BUTTON 400,242,80,14
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print" W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
ENDIF
W_BUTTON 480,242,80,14 W_BUTTON 480,242,80,14
W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings" W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
W_BUTTON 560,242,80,14 W_BUTTON 560,242,80,14
@ -503,17 +502,16 @@ InitAlp PUSH HL
LD HL,TBarD LD HL,TBarD
LD (BarPgD),HL LD (BarPgD),HL
LD IX,EditVBar LD IX,EditVBar
CALL JUMPS.InitScrBar CALL JUMPS.InitScrollBar
LD HL,0x00F0 LD HL,0x00F0
LD (CScrnX),HL LD (CScrnX),HL
LD IX,EditHBar LD IX,EditHBar
CALL JUMPS.InitScrBar CALL JUMPS.InitScrollBar
LD HL,0xFFFF LD HL,0xFFFF
LD (CLine),HL LD (CLine),HL
LD H,0x00 LD H,0x00
LD (CAddX),HL LD (CAddX),HL
CALL JUMPS.SetMouse JP JUMPS.SetMouse
RET
InitFileHex LD HL,(FEFileLenght) InitFileHex LD HL,(FEFileLenght)
LD A,L LD A,L
@ -545,29 +543,29 @@ InitFileHex LD HL,(FEFileLenght)
LD HL,HBarD LD HL,HBarD
LD (BarPgD),HL LD (BarPgD),HL
LD IX,EditVBar LD IX,EditVBar
CALL JUMPS.InitScrBar CALL JUMPS.InitScrollBar
LD HL,0xFFFF LD HL,0xFFFF
LD (CLine),HL LD (CLine),HL
RET RET
EditVBar DEFW 0x0270 ;X ¯®§¨æ¨ï áªà®«¡ à  EditVBar DW 624 ; X ¯®§¨æ¨ï áªà®«¡ à 
DEFW 0x0024 ;Y ¯®§¨æ¨ï áªà®«¡ à  DW 36 ; Y ¯®§¨æ¨ï áªà®«¡ à 
DEFW 0x00B8 ;Max ¤«¨­  áªà®«¡ à  DW 184 ; Max ¤«¨­  áªà®«¡ à 
DEFW 0x0000 ;⥪.¤«¨­  áªà®«¡ à  DW 0 ; ⥪.¤«¨­  áªà®«¡ à 
BarPgU DEFW 0x0000 ;€¤à¥á ï祩ª¨ BarLeft BarPgU DW 0 ; €¤à¥á ï祩ª¨ BarLeft
BarPgD DEFW 0x0000 ;€¤à¥á ï祩ª¨ BarRight BarPgD DW 0 ; €¤à¥á ï祩ª¨ BarRight
DEFW 0x0019 ;Š®«-¢® áâப ­  áâà ­¨æ¥ DW 25 ; Š®«-¢® áâப ­  áâà ­¨æ¥
ELines DEFW 0x0000 ;ޡ饥 ª®«-¢® áâப ELines DW 0 ; ޡ饥 ª®«-¢® áâப
CLine DEFW 0x0000 ;<3B>¥à¢ ï áâப  ­  áâà ­¨æ¥ CLine DW 0 ; <20>¥à¢ ï áâப  ­  áâà ­¨æ¥
EditHBar DEFW 0x0010 ;X ¯®§¨æ¨ï áªà®«¡ à  EditHBar DW 16 ; X ¯®§¨æ¨ï áªà®«¡ à 
DEFW 0x00E4 ;Y ¯®§¨æ¨ï áªà®«¡ à  DW 228 ; Y ¯®§¨æ¨ï áªà®«¡ à 
DEFW 0x0250 ;Max ¤«¨­  áªà®«¡ à  DW 592 ; Max ¤«¨­  áªà®«¡ à 
DEFW 0x0000 ;⥪.¤«¨­  áªà®«¡ à  DW 0 ; ⥪.¤«¨­  áªà®«¡ à 
DEFW TBarL ;€¤à¥á ï祩ª¨ BarLeft DW TBarL ; €¤à¥á ï祩ª¨ BarLeft
DEFW TBarR ;€¤à¥á ï祩ª¨ BarRight DW TBarR ; €¤à¥á ï祩ª¨ BarRight
DEFW 0x004E ;Š®«-¢® áâப ­  áâà ­¨æ¥ DW 78 ; Š®«-¢® áâப ­  áâà ­¨æ¥
CScrnX DEFW 0x0000 ;ޡ饥 ª®«-¢® áâப CScrnX DW 0 ; ޡ饥 ª®«-¢® áâப
CAddX DEFW 0x0000 ;<3B>¥à¢ ï áâப  ­  áâà ­¨æ¥ CAddX DW 0 ; <20>¥à¢ ï áâப  ­  áâà ­¨æ¥
;[]==========================================================[] ;[]==========================================================[]
PrintPage LD A,(EditMode) PrintPage LD A,(EditMode)
@ -692,11 +690,6 @@ ResCurs
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
RET RET
FECrTimer DEFB 0x01
FECurCursor DEFB 0x00
CursorPos DEFW 0x0000
FECursBuffer DUPL 8,0
;[]==========================================================[] ;[]==========================================================[]
FEAbout CALL FEResCursor FEAbout CALL FEResCursor
MAKEWINDOW WINSUBOBJ.STORE MAKEWINDOW WINSUBOBJ.STORE
@ -766,6 +759,46 @@ FEScrlSCRDnUp DI
EI EI
RET RET
IF ENABLE_CODEPAGE
InitCodePage: LD A,0
CodePage EQU $-1
LD L,A
ADD A,A ; *2
ADD A,L ; *3
ADD A,A ; *6
ADD A,L ; *7
LD HL,EncDos
ADD A,L
LD L,A
ADC A,H
SUB L
LD H,A
LD (ASCIIenc1),HL
LD (ASCIIenc2),HL
LD A, (CodePage)
AND A
JR NZ,.next
LD HL,0
.call: LD (PutLineA2),A
LD (PutLineA2 + 1),HL
LD (InsSymbol),A
LD (InsSymbol + 1),HL
RET
.next: DEC A
LD HL,Table866
JR Z,.next1
LD HL,TableKoi
.next1: LD (DecodeSymbol.table),HL
LD HL,DecodeSymbol
LD A,0xCD
JR .call
EncDos: DZ "F8 DOS"
EncWin: DZ "F8 WIN"
EncKoi: DZ "F8 KOI"
ENDIF
;[]==========================================================[] ;[]==========================================================[]
include fedos.a80 include fedos.a80
include fetext.a80 include fetext.a80
@ -774,76 +807,118 @@ FEScrlSCRDnUp DI
include fesetup.a80 include fesetup.a80
;[]==========================================================[] ;[]==========================================================[]
FEASCIItab: DW 0x0000,0x0270,0x001C,0x00E4,0x00,0x0000, TNewCrPos, 0x0000 FEASCIItab: DW 0,624, 28,228,%0000000000000000,%0000000000000000,TNewCrPos,0
DW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000, FEAbout, 0x0000 DW 0, 80,242,256,%0000000000000001,%0000000000000000,FEAbout,0 ; F1
DW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000, SaveFile, 0x0000 DW 80,160,242,256,%0000000000000001,%0000000000000000,SaveFile,0 ; F2
DW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000, ChEditor, 0x0000 DW 160,240,242,256,%0000000000000001,%0000000000000000,ChEditor,0 ; F4
DW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000, EditorSetup, 0x0000 IF ENABLE_CODEPAGE
DW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000, FEPrintFile, 0x0000 DW 340,420,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0 ; F7
DW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000, EditorExit, 0x0000 DW 420,480,242,256,%0000000000000001,%0000000000000000,ChCodePage,0 ; F8
DW 0x0270,0x0280,0x001C,0x0024,0x03,0x0000, TCursorUp, 0x0000 ELSE
DW 0x0270,0x0280,0x00DC,0x00E4,0x03,0x0000, TCursorDown, 0x0000 DW 400,480,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0
ENDIF
DW 480,560,242,256,%0000000000000001,%0000000000000000,EditorSetup,0 ; F9
DW 560,640,242,256,%0000000000100001,%0000000000000000,EditorExit,0 ; F10
DW 624,640, 28, 36,%0000000000000011,%0000000000000000,TCursorUp,0
DW 624,640,220,228,%0000000000000011,%0000000000000000,TCursorDown,0
TBarU EQU $+6 TBarU EQU $+6
DW 0x0270,0x0280,0x001C,0x0000,0x00,0x0000, FETPageUp, 0x0000 DW 624,640, 28, 0,%0000000000000000,%0000000000000000,FETPageUp,0
TBarD EQU $+4 TBarD EQU $+4
DW 0x0270,0x0280,0x0000,0x00E4,0x00,0x0000, TPageDown, 0x0000 DW 624,640, 0,228,%0000000000000000,%0000000000000000,TPageDown,0
DW 0x0000,0x0010,0x00E4,0x00EC,0x03,0x0000, TCursorLeft, 0x0000 DW 0, 16,228,236,%0000000000000011,%0000000000000000,TCursorLeft,0
DW 0x0260,0x0270,0x00E4,0x00EC,0x03,0x0000, TCursorRight, 0x0000 DW 608,624,228,236,%0000000000000011,%0000000000000000,TCursorRight,0
TBarL EQU $+2 TBarL EQU $+2
DW 0x0010,0x0000,0x00E4,0x00EC,0x00,0x0000, TCursorLeft, 0x0000 DW 16, 0,228,236,%0000000000000000,%0000000000000000,TCursorLeft,0
TBarR: DW 0x0000,0x0260,0x00E4,0x00EC,0x00,0x0000, TCursorRight, 0x0000 TBarR: DW 0,608,228,236,%0000000000000000,%0000000000000000,TCursorRight,0
DEFW 0x8000 DW 0x8000
FEHEXtab: DW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000, FEAbout, 0x0000 FEHEXtab: DW 0, 80,242,256,%0000000000000001,%0000000000000000,FEAbout,0 ; F1
DW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000, SaveFile, 0x0000 DW 80,160,242,256,%0000000000000001,%0000000000000000,SaveFile,0 ; F2
DW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000, ChEditor, 0x0000 DW 160,240,242,256,%0000000000000001,%0000000000000000,ChEditor,0 ; F4
DW 0x00F0,0x0140,0x00F2,0x0100,0x01,0x0000, FEHGoTo, 0x0000 DW 240,320,242,256,%0000000000000001,%0000000000000000,FEHGoTo,0 ; F5
DW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000, EditorSetup, 0x0000 IF ENABLE_CODEPAGE
DW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000, FEPrintFile, 0x0000 DW 340,420,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0 ; F7
DW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000, EditorExit, 0x0000 DW 420,480,242,256,%0000000000000001,%0000000000000000,ChCodePage,0 ; F8
ELSE
DW 400,480,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0
ENDIF
DW 480,560,242,256,%0000000000000001,%0000000000000000,EditorSetup,0 ; F9
DW 560,640,242,256,%0000000000100001,%0000000000000000,EditorExit,0 ; F10
DW 0x0270,0x0280,0x001C,0x0024,0x03,0x0000, HCursorUp, 0x0000 DW 624,640, 28, 36,%0000000000000011,%0000000000000000,HCursorUp,0
DW 0x0270,0x0280,0x00DC,0x00E4,0x03,0x0000, HCursorDown, 0x0000 DW 624,640,220,228,%0000000000000011,%0000000000000000,HCursorDown,0
DW 0x0048,0x01D8,0x001C,0x00E4,0x00,0x0000, HNewHEXPos, 0x0000 DW 72,472, 28,228,%0000000000000000,%0000000000000000,HNewHEXPos,0
DW 0x01E8,0x0268,0x001C,0x00E4,0x00,0x0000, HNewASCPos, 0x0000 DW 488,616, 28,228,%0000000000000000,%0000000000000000,HNewASCPos,0
HBarU EQU $+6 HBarU EQU $+6
DW 0x0270,0x0280,0x001C,0x0000,0x00,0x0000, FEHPageUp, 0x0000 DW 624,640, 28, 0,%0000000000000000,%0000000000000000,FEHPageUp,0
HBarD EQU $+4 HBarD EQU $+4
DW 0x0270,0x0280,0x0000,0x00E4,0x00,0x0000, FEHPageDown, 0x0000 DW 624,640, 0,228,%0000000000000000,%0000000000000000,FEHPageDown,0
DEFW 0x8000 DW 0x8000
FEAboutTab: DEFW 0x011C,0x0164,0x008A,0x0098,0x21,0x0000, FEAboutExt, 0x0000 FEAboutTab: DW 284,356,138,152,%0000000000100001,%0000000000000000,FEAboutExt,0
DEFW 0x0000,0x00A0,0x0000,0x0100,0x20,0x0000, FEAboutExt, 0x0000 DW 0,160, 0,256,%0000000000100000,%0000000000000000,FEAboutExt,0
DEFW 0x01E0,0x0280,0x0000,0x0100,0x20,0x0000, FEAboutExt, 0x0000 DW 480,640, 0,256,%0000000000100000,%0000000000000000,FEAboutExt,0
DEFW 0x0000,0x0280,0x0000,0x0048,0x20,0x0000, FEAboutExt, 0x0000 DW 0,640, 0, 72,%0000000000100000,%0000000000000000,FEAboutExt,0
DEFW 0x0000,0x0280,0x009D,0x0100,0x20,0x0000, FEAboutExt, 0x0000 DW 0,640,157,256,%0000000000100000,%0000000000000000,FEAboutExt,0
DEFW 0x8000 DW 0x8000
SureTab: DEFW 0x00F0,0x0138,0x007A,0x0088,0x021,0x0000, SureOkey, 0x0000 SureTab: DW 240,312,122,136,%0000000000100001,%0000000000000000,SureOkey,0
DEFW 0x0148,0x0190,0x007A,0x0088,0x021,0x0000, SureExit, 0x0000 DW 328,400,122,136,%0000000000100001,%0000000000000000,SureExit,0
DEFW 0x0000,0x00D0,0x0000,0x0100,0x120,0x0000, EditorLoop, 0x0000 DW 0,208, 0,256,%0000000100100000,%0000000000000000,EditorLoop,0
DEFW 0x01B0,0x0280,0x0000,0x0100,0x120,0x0000, EditorLoop, 0x0000 DW 432,640, 0,256,%0000000100100000,%0000000000000000,EditorLoop,0
DEFW 0x0000,0x0280,0x0000,0x0050,0x120,0x0000, EditorLoop, 0x0000 DW 0,640, 0, 80,%0000000100100000,%0000000000000000,EditorLoop,0
DEFW 0x0000,0x0280,0x008C,0x0100,0x120,0x0000, EditorLoop, 0x0000 DW 0,640,140,256,%0000000100100000,%0000000000000000,EditorLoop,0
DEFW 0x8000 DW 0x8000
NewFileTab: DEFW 0x00F0,0x0138,0x0082,0x0090,0x021,0x0000, NewFExitO, 0x0000 NewFileTab: DW 240,312,130,144,%0000000000100001,%0000000000000000,NewFExitO,0
DEFW 0x0148,0x0190,0x0082,0x0090,0x021,0x0000, NewFExitC, 0x0000 DW 328,400,130,144,%0000000000100001,%0000000000000000,NewFExitC,0
DEFW 0x0000,0x00C0,0x0000,0x0100,0x020,0x0000, NewFExitC, 0x0000 DW 0,192, 0,256,%0000000000100000,%0000000000000000,NewFExitC,0
DEFW 0x01C0,0x0280,0x0000,0x0100,0x020,0x0000, NewFExitC, 0x0000 DW 448,640, 0,256,%0000000000100000,%0000000000000000,NewFExitC,0
DEFW 0x0000,0x0280,0x0000,0x0058,0x020,0x0000, NewFExitC, 0x0000 DW 0,640, 0, 88,%0000000000100000,%0000000000000000,NewFExitC,0
DEFW 0x0000,0x0280,0x0094,0x0100,0x020,0x0000, NewFExitC, 0x0000 DW 0,640,148,256,%0000000000100000,%0000000000000000,NewFExitC,0
DEFW 0x8000 DW 0x8000
FEQuitTab: DW 0x00F0,0x0138,0x0078,0x0086,0x21,0x0000, SureExit, 0x0000 FEQuitTab: DW 240,312,120,134,%0000000000100001,%0000000000000000,SureExit,0
DW 0x0148,0x0190,0x0078,0x0086,0x21,0x0000, FEQuitAbort, 0x0000 DW 328,400,120,134,%0000000000100001,%0000000000000000,FEQuitAbort,0
DW 0x0000,0x00D0,0x0000,0x0100,0x20,0x0000, FEQuitAbort, 0x0000 DW 0,208, 0,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
DW 0x01B0,0x0280,0x0000,0x0100,0x20,0x0000, FEQuitAbort, 0x0000 DW 432,640, 0,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
DW 0x0000,0x0280,0x0000,0x0058,0x20,0x0000, FEQuitAbort, 0x0000 DW 0,640, 0, 88,%0000000000100000,%0000000000000000,FEQuitAbort,0
DW 0x0000,0x0280,0x008A,0x0100,0x20,0x0000, FEQuitAbort, 0x0000 DW 0,640,138,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
DW 0x8000 DW 0x8000
SettingsFileName: SettingsFileName:
DZ FILENAME.FNEDIT_INI DZ FILENAME.FNEDIT_INI
;[]==========================================================[] ;[]==========================================================[]
FECrTimer DB 1
EDBUF STRUCT
.CursorX DB ? ; Cursor X
.StringX DB ? ; String X
.CursAddX DB ? ; Cursor add X
.CursorY DB ? ; Cursor Y
.LenString DB ? ; Len String
.PrevLenString DB ? ; Previos Len String
.ReadyStr DB ? ; Ready String
.ReadyFile DB ? ; Ready File
EDBUF ENDSTRUCT
EditData EDBUF
INIT_VAR $
SETVAR CurLine, WORD
SETVAR EquipLines, WORD
SETVAR LineShift, WORD
SETVAR FEPageShift, WORD
SETVAR FETempShift, WORD
SETVAR FEFileLenght, WORD ; „«¨­  ä ©«  (16¡¨â)
SETVAR FEEmptyLines, BYTE
SETVAR FEMemIndef, BYTE
SETVAR FEFHandle, BYTE
SETVAR FEReadLen, 0
SETVAR SaveLen, WORD
SETVAR EditMode, BYTE
SETVAR HEXmode, BYTE
SETVAR FECurCursor, BYTE
SETVAR CursorPos, WORD
SETVAR FECursBuffer, 8
SETVAR EditingFile, 0x30

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 27.05.2025 savelij ; LAST UPDATE: 29.07.2025 savelij
;[]==========================================================[] ;[]==========================================================[]
FELoadFile CALL JUMPS.SetClock FELoadFile CALL JUMPS.SetClock
@ -22,7 +22,7 @@ FELoadFile CALL JUMPS.SetClock
LD A,H LD A,H
AND 0xC0 AND 0xC0
CP 0xC0 CP 0xC0
LD A,0x1E LD A,ERR_DSS.NOT_ENOUGH_MEMORY
PUSH AF PUSH AF
CALL Z,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ï⨠CALL Z,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
POP AF POP AF
@ -31,7 +31,7 @@ FELoadFile CALL JUMPS.SetClock
LD (FEFileLenght),HL LD (FEFileLenght),HL
LD A,(IX+30) LD A,(IX+30)
OR (IX+31) OR (IX+31)
LD A,0x1E LD A,ERR_DSS.NOT_ENOUGH_MEMORY
PUSH AF PUSH AF
CALL NZ,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ï⨠CALL NZ,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
POP AF POP AF
@ -51,11 +51,11 @@ FELoadFile CALL JUMPS.SetClock
AND 0xC0 AND 0xC0
RLCA RLCA
RLCA RLCA
LD (IX+PROC.MAXL1),A LD (IX+PROC.MAX_PAGES),A
SUB A SUB A
LD (IX+PROC.MAXH1),A LD (IX+PROC.MAX_PAGES + 1),A
LD (IX+PROC.MAXL2),A LD (IX+PROC.MAX_PAGES + 2),A
LD (IX+PROC.MAXH2),A LD (IX+PROC.MAX_PAGES + 3),A
CALL JUMPS.InitProcess CALL JUMPS.InitProcess
MAKEWINDOW WINSUBOBJ.STORE MAKEWINDOW WINSUBOBJ.STORE
W_MAIN 160,88,320,48 W_MAIN 160,88,320,48
@ -320,11 +320,11 @@ SaveFile CALL PutString
OR L OR L
JR Z,.L1 JR Z,.L1
INC B INC B
.L1 LD (IX+PROC.MAXL1),B .L1 LD (IX+PROC.MAX_PAGES),B
SUB A SUB A
LD (IX+PROC.MAXH1),A LD (IX+PROC.MAX_PAGES + 1),A
LD (IX+PROC.MAXL2),A LD (IX+PROC.MAX_PAGES + 2),A
LD (IX+PROC.MAXH2),A LD (IX+PROC.MAX_PAGES + 3),A
CALL JUMPS.InitProcess CALL JUMPS.InitProcess
MAKEWINDOW WINSUBOBJ.STORE MAKEWINDOW WINSUBOBJ.STORE
W_MAIN 160,88,320,48 W_MAIN 160,88,320,48
@ -448,32 +448,32 @@ SaveAbort POP HL
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
FENextProcess LD IX,ProcessEdit FENextProcess LD IX,ProcessEdit
LD L,(IX+PROC.CURL1) LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURH1) LD H,(IX+PROC.CURR_PAGE + 1)
INC HL INC HL
LD (IX+PROC.CURL1),L LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURH1),H LD (IX+PROC.CURR_PAGE + 1),H
LD A,H LD A,H
OR L OR L
JR NZ,.NextPr1 JR NZ,.NextPr1
LD L,(IX+PROC.CURL2) LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURH2) LD H,(IX+PROC.CURR_PAGE + 3)
INC HL INC HL
LD (IX+PROC.CURL2),L LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURH2),H LD (IX+PROC.CURR_PAGE + 3),H
.NextPr1 CALL JUMPS.PrnProcess .NextPr1 CALL JUMPS.PrnProcess
RET RET
ProcessEdit DEFW 0x00B2 ProcessEdit DW 178
DEFW 0x0075 DW 117
DEFW 0x011C DW 284
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFB 0x4F DB COLORP.BLUE + COLORI.WHITE
;FECorrBigChar CP 0x41 ;FECorrBigChar CP 0x41
; RET C ; RET C

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 20.03.2025 savelij ; LAST UPDATE: 26.07.2025 savelij
;[]==========================================================[] ;[]==========================================================[]
;<3B>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©«  ;<3B>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©« 
@ -265,7 +265,7 @@ PrnHEXinfo LD HL,LineH
SBC HL,DE SBC HL,DE
JR Z,TstLinH JR Z,TstLinH
LD (ELines),DE LD (ELines),DE
CALL JUMPS.InitScrBar CALL JUMPS.InitScrollBar
LD HL,(CurLine) LD HL,(CurLine)
LD (CLine),HL LD (CLine),HL
CALL JUMPS.PrnVScrBar CALL JUMPS.PrnVScrBar

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 20.03.2025 savelij ; LAST UPDATE: 26.07.2025 savelij
;[]==========================================================[] ;[]==========================================================[]
FEPrintFile CALL FEResCursor FEPrintFile CALL FEResCursor
@ -22,10 +22,10 @@ FEPrintFile CALL FEResCursor
OR A OR A
JR Z,.InitPrn JR Z,.InitPrn
INC HL INC HL
.InitPrn LD (IX+PROC.MAXL1),L .InitPrn LD (IX+PROC.MAX_PAGES),L
LD (IX+PROC.MAXH1),H LD (IX+PROC.MAX_PAGES + 1),H
LD (IX+PROC.MAXL2),0X00 LD (IX+PROC.MAX_PAGES + 2),0x00
LD (IX+PROC.MAXH2),0x00 LD (IX+PROC.MAX_PAGES + 3),0x00
CALL JUMPS.InitProcess CALL JUMPS.InitProcess
LD A,(EditMode) LD A,(EditMode)
OR A OR A
@ -278,19 +278,19 @@ FENxtPrnProc LD A,E
EXX EXX
PUSH DE PUSH DE
LD IX,FEProcessPrn LD IX,FEProcessPrn
LD L,(IX+PROC.CURL1) LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURH1) LD H,(IX+PROC.CURR_PAGE + 1)
INC HL INC HL
LD (IX+PROC.CURL1),L LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURH1),H LD (IX+PROC.CURR_PAGE + 1),H
LD A,H LD A,H
OR L OR L
JR NZ,.NxtProc JR NZ,.NxtProc
LD L,(IX+PROC.CURL2) LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURH2) LD H,(IX+PROC.CURR_PAGE + 3)
INC HL INC HL
LD (IX+PROC.CURL2),L LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURH2),H LD (IX+PROC.CURR_PAGE + 3),H
.NxtProc CALL JUMPS.PrnProcess .NxtProc CALL JUMPS.PrnProcess
POP DE POP DE
EXX EXX

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 16.07.2025 savelij ; LAST UPDATE: 26.07.2025 savelij
FECSign: DB "FEC" FECSign: DB "FEC"
HomeKeyFlag: DB 0 HomeKeyFlag: DB 0
@ -30,7 +30,7 @@ ReadEditorIni: ld a,0
PUSH AF PUSH AF
LD A,(JUMPS.FNREZ2) LD A,(JUMPS.FNREZ2)
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
LD HL,ADDR.FlexDIRECTORY LD HL,BUF_REZ2.FlexDIRECTORY
PUSH IY PUSH IY
SPDSS DSSF.CHDIR SPDSS DSSF.CHDIR
POP IY POP IY
@ -246,7 +246,7 @@ FESetupOkey: ld a,(ExitDlgFlag)
PUSH AF PUSH AF
LD A,(JUMPS.FNREZ2) LD A,(JUMPS.FNREZ2)
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
LD HL,ADDR.FlexDIRECTORY LD HL,BUF_REZ2.FlexDIRECTORY
SPDSS DSSF.CHDIR SPDSS DSSF.CHDIR
EX AF,AF' EX AF,AF'
POP AF POP AF

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 20.03.2025 savelij ; LAST UPDATE: 29.07.2025 savelij
;[]==========================================================[] ;[]==========================================================[]
FEPrnASCIIpage LD HL,PrnASCIIinfo FEPrnASCIIpage LD HL,PrnASCIIinfo
@ -8,9 +8,9 @@ FEPrnASCIIpage LD HL,PrnASCIIinfo
LD (FETempShift),HL LD (FETempShift),HL
LD B,0x1C LD B,0x1C
FEPrnASCIIlp PUSH BC FEPrnASCIIlp PUSH BC
CALL PrnASCIIline ;‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­ CALL PrnASCIIline ; ‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
POP BC POP BC
JR C,FillASCII ;CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨ JR C,FillASCII ; CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
LD A,B LD A,B
ADD A,0x08 ADD A,0x08
LD B,A LD B,A
@ -21,14 +21,13 @@ FEPrnASCIIlp PUSH BC
LD E,(IY+CursorX) LD E,(IY+CursorX)
LD D,(IY+CursorY) LD D,(IY+CursorY)
CALL FESetCursor CALL FESetCursor
CALL GetString JP GetString
RET
;<3B>à®æ¥¤ãà  ®âç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­  ; <EFBFBD>à®æ¥¤ãà  ®ç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­ 
FillASCII LD A,0xE4 FillASCII LD A,0xE4
SUB B SUB B
LD (FEFLenASC),A LD (FEFLenASC),A
JR Z,FEFASCIIe ;Z-­¥â ®âç¨á⪨ JR Z,FEFASCIIe ; Z-­¥â ®âç¨á⪨
LD A,B LD A,B
LD (FEFPosASC),A LD (FEFPosASC),A
MAKEWINDOW WINSUBOBJ.WOBIND MAKEWINDOW WINSUBOBJ.WOBIND
@ -66,9 +65,9 @@ RefrASCIIpage LD HL,PrnASCIIinfo
LD (FETempShift),HL LD (FETempShift),HL
JR .L1 JR .L1
.RfASCII CALL PrnASCIIline ;‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­ .RfASCII CALL PrnASCIIline ; ‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
.L1 POP BC .L1 POP BC
RET C ;CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨ RET C ; CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
DEC C DEC C
LD A,B LD A,B
ADD A,0x08 ADD A,0x08
@ -78,7 +77,7 @@ RefrASCIIpage LD HL,PrnASCIIinfo
RET RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­ ; <EFBFBD>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­
PrnASCIIline LD IXH,B PrnASCIIline LD IXH,B
LD C,0xF0 LD C,0xF0
LD HL,(FEFileLenght) LD HL,(FEFileLenght)
@ -98,25 +97,25 @@ PutASCIIln LD HL,TempBuffer
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
LD DE,(FETempShift) LD DE,(FETempShift)
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0 AND 0xC0
RLCA RLCA
RLCA RLCA
EXX EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
RES 7,D ;‚ª«.á 0x4000 RES 7,D ; ‚ª«.á 0x4000
SET 6,D SET 6,D
PutASCIIlnLp BIT 7,D PutASCIIlnLp BIT 7,D
JR Z,PutLnA1 JR Z,PutLnA1
RES 7,D RES 7,D
SET 6,D SET 6,D
EXX EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
PutLnA1 LD A,(DE) PutLnA1 LD A,(DE)
@ -128,8 +127,8 @@ PutLnA1 LD A,(DE)
RES 7,D RES 7,D
SET 6,D SET 6,D
EXX EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
PutLnA2 LD A,(DE) PutLnA2 LD A,(DE)
@ -156,8 +155,8 @@ PutLnEA0 BIT 7,D
RES 7,D RES 7,D
SET 6,D SET 6,D
EXX EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
PutLEA1 LD A,(DE) PutLEA1 LD A,(DE)
@ -169,7 +168,11 @@ PutLEA1 LD A,(DE)
PutLnEA1 DJNZ PutLnEA0 PutLnEA1 DJNZ PutLnEA0
JR PutLineA3 JR PutLineA3
PutLineA2 LD (HL),A PutLineA2
IF ENABLE_CODEPAGE
CALL DecodeSymbol
ENDIF
LD (HL),A
INC L INC L
LD A,L LD A,L
CP C CP C
@ -180,8 +183,8 @@ PutLineA3 BIT 7,D
RES 7,D RES 7,D
SET 6,D SET 6,D
EXX EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
PutLnA3 LD A,(DE) PutLnA3 LD A,(DE)
@ -285,8 +288,7 @@ PrASCIIex1 CALL FEResCursor
CALL JUMPS.PrnTxtLnNormC CALL JUMPS.PrnTxtLnNormC
LD E,(IY+CursorX) LD E,(IY+CursorX)
LD D,(IY+CursorY) LD D,(IY+CursorY)
CALL FESetCursor JP FESetCursor
RET
;[]==========================================================[] ;[]==========================================================[]
FESearchUp LD B,0xF0 FESearchUp LD B,0xF0
@ -300,13 +302,13 @@ FESearchUp LD B,0xF0
.SearchUpBeg PUSH HL .SearchUpBeg PUSH HL
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0 AND 0xC0
RLCA RLCA
RLCA RLCA
LD E,A LD E,A
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
RES 7,H RES 7,H
SET 6,H SET 6,H
@ -323,7 +325,7 @@ FESearchUp LD B,0xF0
SET 6,H SET 6,H
.SrchUp0 LD A,(HL) .SrchUp0 LD A,(HL)
CP 0x0A CP 0x0A
JR NZ,FESrchUp1+1 JR NZ,FESrchUp1 + 1
LD A,B LD A,B
OR A OR A
JR Z,FESrchUpEx JR Z,FESrchUpEx
@ -395,13 +397,13 @@ FESearchDown LD B,0xF0
.SearchDnBeg PUSH HL .SearchDnBeg PUSH HL
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0 AND 0xC0
RLCA RLCA
RLCA RLCA
LD E,A LD E,A
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
RES 7,H RES 7,H
SET 6,H SET 6,H
@ -485,25 +487,25 @@ GetLine LD HL,LineBuffer
JR Z,GetLnE1 JR Z,GetLnE1
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0 AND 0xC0
RLCA RLCA
RLCA RLCA
EXX EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
RES 7,D ;‚ª«.á 0x4000 RES 7,D ; ‚ª«.á 0x4000
SET 6,D SET 6,D
GetLnLoop BIT 7,D GetLnLoop BIT 7,D
JR Z,GetLn1 JR Z,GetLn1
RES 7,D RES 7,D
SET 6,D SET 6,D
EXX EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
GetLn1 LD A,(DE) GetLn1 LD A,(DE)
@ -569,25 +571,25 @@ PutStrN SUB A
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
LD DE,(LineShift) LD DE,(LineShift)
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0 AND 0xC0
RLCA RLCA
RLCA RLCA
EXX EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
RES 7,D ;‚ª«.á 0x4000 RES 7,D ; ‚ª«.á 0x4000
SET 6,D SET 6,D
PutStringLp BIT 7,D PutStringLp BIT 7,D
JR Z,PutStr3 JR Z,PutStr3
RES 7,D RES 7,D
SET 6,D SET 6,D
EXX EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
PutStr3 LD A,(HL) PutStr3 LD A,(HL)
@ -754,7 +756,7 @@ PrnASCIIinfo LD HL,LineT
LD DE,ColT LD DE,ColT
LD BC,FreeT LD BC,FreeT
LD A,0x01 LD A,0x01
REPT 0x04 REPT 4
LD (HL),A LD (HL),A
INC HL INC HL
LD (DE),A LD (DE),A
@ -811,7 +813,7 @@ PrnASCIIinfo LD HL,LineT
SBC HL,DE SBC HL,DE
JR Z,TstLine JR Z,TstLine
LD (ELines),DE LD (ELines),DE
CALL JUMPS.InitScrBar CALL JUMPS.InitScrollBar
LD HL,(CurLine) LD HL,(CurLine)
LD (CLine),HL LD (CLine),HL
CALL JUMPS.PrnVScrBar CALL JUMPS.PrnVScrBar
@ -832,8 +834,7 @@ TstAddX LD A,(CAddX)
ADD A,(IY+CursAddX) ADD A,(IY+CursAddX)
LD (CAddX),A LD (CAddX),A
LD IX,EditHBar LD IX,EditHBar
CALL JUMPS.PrnHScrBar JP JUMPS.PrnHScrBar
RET
ReadyNo DEFB 0x01,0 ReadyNo DEFB 0x01,0
ReadyYes DEFB "*",0 ReadyYes DEFB "*",0
@ -850,7 +851,11 @@ TInsertSymbol CP 0x20
JP Z,Enter JP Z,Enter
CP 0x09 CP 0x09
RET NZ RET NZ
InsSymbol: push af InsSymbol:
IF ENABLE_CODEPAGE
CALL DecodeSymbol
ENDIF
push af
call Insert call Insert
call TCursorRight call TCursorRight
pop bc pop bc
@ -872,13 +877,13 @@ AutoBrackets EQU $-1
db "(){}[]<>" db "(){}[]<>"
cp b cp b
jr nz,Insert jr nz,Insert
cp '\"' ; #22 cp '\"'
ret nz ret nz
jp Insert jp Insert
CanInsertBrackets: CanInsertBrackets:
LD A,(IY+LenString) ;InpytSymb LD A,(IY+LenString) ; InpytSymb
CP 240 ;Max len CP 240 ; Max len
RET Z RET Z
LD H,HIGH (LineBuffer) LD H,HIGH (LineBuffer)
LD L,(IY+StringX) LD L,(IY+StringX)
@ -893,13 +898,13 @@ CanInsertBrackets:
ret ret
Insert EX AF,AF' Insert EX AF,AF'
LD A,(IY+LenString) ;InpytSymb LD A,(IY+LenString) ; InpytSymb
CP 240 ;Max len CP 240 ; Max len
RET Z RET Z
SUB (IY+StringX) SUB (IY+StringX)
JR C,.NotInsert JR C,.NotInsert
JR Z,.NotInsert JR Z,.NotInsert
;‚¢®¤ ¢ á¥à¥¤¨­ã ⥪áâ  ; ‚¢®¤ ¢ á¥à¥¤¨­ã ⥪áâ 
LD C,A LD C,A
LD B,0x00 LD B,0x00
LD L,(IY+LenString) LD L,(IY+LenString)
@ -922,10 +927,10 @@ Insert EX AF,AF'
ret ret
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;<3B>®¤áâ ­®¢ª  a ¯® ᯨáªã §  call. ; <EFBFBD>®¤áâ ­®¢ª  a ¯® ᯨáªã §  call.
;¯¥à¢ë© ¡ ©â ᯨ᪠ ᮤ¥à¦¨â ç¨á«® ; ¯¥à¢ë© ¡ ©â ᯨ᪠ ᮤ¥à¦¨â ç¨á«®
;á«¥¤ãîé¨å ¤ «¥¥ ¯ à ®¡à §¥æ-§ ¬¥­¨â¥«ì. ; á«¥¤ãîé¨å ¤ «¥¥ ¯ à ®¡à §¥æ-§ ¬¥­¨â¥«ì.
;‚室: a. ‚ë室: a ; ‚室: a. ‚ë室: a
; BXO„: A,List ; BXO„: A,List
; BXO„: A ; BXO„: A
Subst: ex (sp),hl Subst: ex (sp),hl
@ -945,11 +950,11 @@ Subst2: inc hl
ret ret
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;DoubleString ; DoubleString
TDoubleString: ld l,(iy+LenString) TDoubleString: ld l,(iy+LenString)
ld a,l ld a,l
and a and a
adc a,a ;¡ã¤¥â ¯à¥¢ë襭 ¡ãä¥à ¢ 256 ᨬ¢®«®¢ adc a,a ; ¡ã¤¥â ¯à¥¢ë襭 ¡ãä¥à ¢ 256 ᨬ¢®«®¢
ret c ret c
adc a,2 adc a,2
ret c ret c
@ -984,7 +989,7 @@ TDoubleString: ld l,(iy+LenString)
jp TCursorDown jp TCursorDown
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;Enter ; Enter
Enter LD A,(IY+LenString) Enter LD A,(IY+LenString)
SUB (IY+StringX) SUB (IY+StringX)
jr nc,.less jr nc,.less
@ -1080,7 +1085,7 @@ Undo: xor a
jp PrnASCIIinfo jp PrnASCIIinfo
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;BackSpace ; BackSpace
BackSpace LD A,(IY+StringX) BackSpace LD A,(IY+StringX)
OR A OR A
RET Z RET Z
@ -1137,8 +1142,7 @@ TDeleteSymbol LD A,(IY+LenString)
LD (IY+ReadyFile),A LD (IY+ReadyFile),A
DEC (IY+LenString) DEC (IY+LenString)
CALL PrnASCIIstring CALL PrnASCIIstring
CALL PrnASCIIinfo JP PrnASCIIinfo
RET
AddString CALL PutStr2 AddString CALL PutStr2
LD A,(IY+StringX) LD A,(IY+StringX)
@ -1153,13 +1157,13 @@ AddString CALL PutStr2
ADD HL,DE ADD HL,DE
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0 AND 0xC0
RLCA RLCA
RLCA RLCA
LD E,A LD E,A
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
RES 7,H RES 7,H
SET 6,H SET 6,H
@ -1199,11 +1203,10 @@ AddStr2 POP AF
LD HL,(EquipLines) LD HL,(EquipLines)
DEC HL DEC HL
LD (EquipLines),HL LD (EquipLines),HL
CALL FEPrnASCIIpage JP FEPrnASCIIpage
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;Delete word ; Delete word
TDeleteWord LD A,(IY+StringX) TDeleteWord LD A,(IY+StringX)
OR A OR A
RET Z RET Z
@ -1287,7 +1290,7 @@ TDeleteWord LD A,(IY+StringX)
JP TCursorLeft JP TCursorLeft
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;Šãàá®à ¢«¥¢® ­  ®¤­® ¬¥áâ® ; Šãàá®à ¢«¥¢® ­  ®¤­® ¬¥áâ®
TCursorLeft LD A,(IY+StringX) TCursorLeft LD A,(IY+StringX)
OR A OR A
RET Z RET Z
@ -1341,8 +1344,9 @@ CursLf6 DEC HL
DEC (IY+LenString) DEC (IY+LenString)
DJNZ CursLf6 DJNZ CursLf6
RET RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;Šãàá®à ¢¯à ¢® ­  ®¤­® ¬¥áâ® ; Šãàá®à ¢¯à ¢® ­  ®¤­® ¬¥áâ®
TCursorRight LD A,(IY+CursorX) TCursorRight LD A,(IY+CursorX)
ADD A,(IY+CursAddX) ADD A,(IY+CursAddX)
CP 240 CP 240
@ -1393,8 +1397,7 @@ CursRg6 CALL FEResCursor
LD E,(IY+CursorX) LD E,(IY+CursorX)
LD D,(IY+CursorY) LD D,(IY+CursorY)
CALL FESetCursor CALL FESetCursor
CALL PrnASCIIinfo JP PrnASCIIinfo
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;Word left ;Word left
@ -1435,6 +1438,7 @@ TWordLeft LD A,(IY+StringX)
.skip LD (IY+StringX),C .skip LD (IY+StringX),C
INC (IY+StringX) INC (IY+StringX)
JP TCursorLeft JP TCursorLeft
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;Word right ;Word right
TWordRight LD A,(IY+LenString) TWordRight LD A,(IY+LenString)
@ -1702,8 +1706,7 @@ CursEx5 LD (IY+CursorX),A
LD E,(IY+CursorX) LD E,(IY+CursorX)
LD D,(IY+CursorY) LD D,(IY+CursorY)
CALL FESetCursor CALL FESetCursor
CALL PrnASCIIinfo JP PrnASCIIinfo
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
FETPageUp CALL PutString FETPageUp CALL PutString
@ -1801,8 +1804,8 @@ PagePr4 LD A,C
JR PagePr4 JR PagePr4
PagePr5 LD (IY+CursorX),A PagePr5 LD (IY+CursorX),A
CALL FEPrnASCIIpage JP FEPrnASCIIpage
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
FETBegFile CALL PutString FETBegFile CALL PutString
LD HL,(LineShift) LD HL,(LineShift)
@ -1942,5 +1945,68 @@ NewPos6 LD A,C
LD D,(IY+CursorY) LD D,(IY+CursorY)
CALL FESetCursor CALL FESetCursor
CALL PrnASCIIinfo CALL PrnASCIIinfo
CALL JUMPS.ResFire JP JUMPS.ResFire
IF ENABLE_CODEPAGE
; ¯¥à¥ª¤î祭¨¥ ª®¤¨à®¢ª¨
ChCodePage: LD HL,EditorBegin
EX (SP),HL
LD A,(CodePage)
INC A
CP 3
JR C,.L1
XOR A
.L1 LD (CodePage),A
RET RET
; ¯à¥®¡à §®¢ ­¨¥ ᨬ¢®«  ¢ § ¢¨á¨¬®á⨠®â ¢ë¡à ­­®© ª®¤¨à®¢ª¨
DecodeSymbol: CP 0x80
RET C
PUSH HL
SUB 0x80
LD HL,Table866
.table EQU $-2
ADD A,L
LD L,A
ADC A,H
SUB L
LD H,A
LD A,(HL)
POP HL
RET
; CP866
Table866: db 0x3F,0x3F,0x27,0x3F,0x22,0x3A,0xC5,0xD8
db 0x3F,0x25,0x3F,0x3C,0x3F,0x3F,0x3F,0x3F
db 0x3F,0x27,0x27,0x22,0x22,0x07,0x2D,0x2D
db 0x3F,0x54,0x3F,0x3E,0x3F,0x3F,0x3F,0x3F
db 0xFF,0xF6,0xF7,0x3F,0xFD,0x3F,0xB3,0x15
db 0xF0,0x63,0xF2,0x3C,0xBF,0x2D,0x52,0xF4
db 0xF8,0x2B,0x49,0x69,0x3F,0xE7,0x14,0xFA
db 0xF1,0xFC,0xF3,0x3E,0x3F,0x3F,0x3F,0xF5
db 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87
db 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F
db 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97
db 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F
db 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7
db 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF
db 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7
db 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF
; KOI8-R
TableKoi: db 0xC4,0xB3,0xDA,0xBF,0xC0,0xD9,0xC3,0xB4
db 0xC2,0xC1,0xC5,0xDF,0xDC,0xDB,0xDD,0xDE
db 0xB0,0xB1,0xB2,0xF4,0xFE,0xF9,0xFB,0xF7
db 0xF3,0xF2,0xFF,0xF5,0xF8,0xFD,0xFA,0xF6
db 0xCD,0xBA,0xD5,0xF1,0xD6,0xC9,0xB8,0xB7
db 0xBB,0xD4,0xD3,0xC8,0xBE,0xBD,0xBC,0xC6
db 0xC7,0xCC,0xB5,0xF0,0xB6,0xB9,0xD1,0xD2
db 0xCB,0xCF,0xD0,0xCA,0xD8,0xD7,0xCE,0xFC
db 0xEE,0xA0,0xA1,0xE6,0xA4,0xA5,0xE4,0xA3
db 0xE5,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE
db 0xAF,0xEF,0xE0,0xE1,0xE2,0xE3,0xA6,0xA2
db 0xEC,0xEB,0xA7,0xE8,0xED,0xE9,0xE7,0xEA
db 0x9E,0x80,0x81,0x96,0x84,0x85,0x94,0x83
db 0x95,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E
db 0x8F,0x9F,0x90,0x91,0x92,0x93,0x86,0x82
db 0x9C,0x9B,0x87,0x98,0x9D,0x99,0x97,0x9A
ENDIF

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 18.07.2025 savelij ; LAST UPDATE: 26.07.2025 savelij
include macros.a80 include macros.a80
@ -14,7 +14,8 @@
include mouse_sp.a80 include mouse_sp.a80
include fat_dir_sp.a80 include fat_dir_sp.a80
include macros_sp.a80 include macros_sp.a80
include errors_sp.a80
HDR_FLX "-VIEW",,,;FLXMODES.M_ADRORG HDR_FLX "-VIEW"
include fviewer.a80 include fviewer.a80

View File

@ -6,8 +6,8 @@ set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\
call ..\..\setpath_includes call ..\..\setpath_includes
set includes=%includes%;..\..\ set includes=%includes%;..\..\
asl -U -L -C -x -olist tmp\fviewer.lst -i %includes% fvmain.a80 || goto error asl -U -L -C -x -olist tmp\fviewer.lst -i %includes% build.a80 || goto error
p2bin fvmain.p ..\fnviewer.flx -r $-$ -k p2bin build.p ..\fnviewer.flx -r $-$ -k
echo ######################## echo ########################
echo # -= End Compile Ok =- # echo # -= End Compile Ok =- #

View File

@ -1,11 +1,11 @@
; LAST UPDATE: 20.03.2025 savelij ; LAST UPDATE: 28.07.2025 savelij
;-------------------------------------------------------------- ;--------------------------------------------------------------
;<3B>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©«  ; <EFBFBD>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©« 
;<3B>  ¢å®¤: ; <EFBFBD>  ¢å®¤:
; None ; None
;<3B>  ¢ë室: ; <EFBFBD>  ¢ë室:
; None ; None
PrnHEXpage LD HL,PrintVProc PrnHEXpage LD HL,PrintVProc
PUSH HL PUSH HL
@ -14,7 +14,7 @@ PrnHEXpage LD HL,PrintVProc
AND 0xF0 AND 0xF0
LD L,A LD L,A
LD (FileShift),HL LD (FileShift),HL
LD (TempShift),HL ;‡ ¯®¬¨­ ¥¬ ⥪.ᬥ饭¨¥ LD (TempShift),HL ; ‡ ¯®¬¨­ ¥¬ ⥪.ᬥ饭¨¥
LD HL,(FileShift+2) LD HL,(FileShift+2)
LD (TempShift+2),HL LD (TempShift+2),HL
LD HL,LineBuffer LD HL,LineBuffer
@ -22,13 +22,13 @@ PrnHEXpage LD HL,PrintVProc
.L1 LD (HL),C .L1 LD (HL),C
INC L INC L
DJNZ .L1 DJNZ .L1
LD B,0x1C ;ˆ§­ ç.¯®§¨æ¨ï ¯¥ç â¨ LD B,0x1C ; ˆ§­ ç.¯®§¨æ¨ï ¯¥ç â¨
PrnHEXl PUSH BC PrnHEXl PUSH BC
CALL PutHLine ;‚뢮¤¨¬ áâப㠢 ¡ãä¥à ¨ ­  íªà ­ CALL PutHLine ; ‚뢮¤¨¬ áâப㠢 ¡ãä¥à ¨ ­  íªà ­
POP BC POP BC
JR C,FillDwnHex ;CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨ JR C,FillDwnHex ; CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
LD HL,(TempShift) LD HL,(TempShift)
LD DE,0x0010 ;€¤à¥á ¤ ¬¯ +16 LD DE,0x0010 ; €¤à¥á ¤ ¬¯ +16
ADD HL,DE ADD HL,DE
LD (TempShift),HL LD (TempShift),HL
LD HL,(TempShift+2) LD HL,(TempShift+2)
@ -42,10 +42,10 @@ PrnHEXl PUSH BC
JR NZ,PrnHEXl JR NZ,PrnHEXl
RET RET
;<3B>à®æ¥¤ãà  ®âç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­  ; <EFBFBD>à®æ¥¤ãà  ®âç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­ 
FillDwnHex LD A,B FillDwnHex LD A,B
CP 0xE4 CP 0xE4
RET Z ;Z-­¥â ®âç¨á⪨ RET Z ; Z-­¥â ®âç¨á⪨
LD (FPosHex),A LD (FPosHex),A
LD A,0xE4 LD A,0xE4
SUB B SUB B
@ -57,7 +57,7 @@ FLenHex EQU $ - 3
W_END W_END
RET RET
;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­ ; <EFBFBD>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­
PutHLine LD IXL,0x00 PutHLine LD IXL,0x00
LD IXH,B LD IXH,B
LD HL,(FileLenght) LD HL,(FileLenght)
@ -85,31 +85,33 @@ PutHLn
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
CALL InitFPages CALL InitFPages
LD HL,LineBuffer+1 ;¡ãä¥à áâப¨ LD HL,LineBuffer+1 ; ¡ãä¥à áâப¨
EXX EXX
LD HL,LineBuffer+0x3F ;¬¥áâ® ¤«ï ASCII ª®¤®¢ LD HL,LineBuffer+0x3F ; ¬¥áâ® ¤«ï ASCII ª®¤®¢
EXX EXX
LD A,(TempShift+3) ;Š« ¤¥¬ ᬥ饭¨¥ ; 32-å ¡¨â­®¥ ᬥ饭¨¥
CALL PutHexNumb ;®â ­ ç «  ä ¨«  LD A,(TempShift+3) ; Š« ¤¥¬ ᬥ饭¨¥
CALL PutHexNumb ; ®â ­ ç «  ä ¨« 
LD A,(TempShift+2) LD A,(TempShift+2)
CALL PutHexNumb CALL PutHexNumb
LD A,(TempShift+1) LD A,(TempShift+1)
CALL PutHexNumb CALL PutHexNumb
LD A,(TempShift) LD A,(TempShift)
CALL PutHexNumb CALL PutHexNumb
LD (HL),":" LD (HL),':'
INC L INC L
INC L INC L
PutHLoop CALL TestFPages PutHLoop CALL TestFPages
LD A,(DE) LD A,(DE)
INC DE INC DE
EXX EXX
LD (HL),A DECODE4HEX CALL DecodeSymbol
LD (HL),A ; ᨬ¢®« ¤«ï ®â®¡à ¦¥­¨ï
INC L INC L
EXX EXX
CALL PutHexNumb ;<3B>à®æ¥¤ãà  ª®­¢¥àâ  CALL PutHexNumb ; <EFBFBD>à®æ¥¤ãà  ª®­¢¥àâ 
INC L INC L
INC IXL ;“¢¥«¨ç.ª®«-¢® ¢¢¥¤¥­­ëå ¡ ©â®¢ INC IXL ; “¢¥«¨ç.ª®«-¢® ¢¢¥¤¥­­ëå ¡ ©â®¢
LD A,IXL LD A,IXL
CP 0x04 CP 0x04
JR Z,.PtHNx1 JR Z,.PtHNx1
@ -121,9 +123,9 @@ PutHLoop CALL TestFPages
.L1 DJNZ PutHLoop .L1 DJNZ PutHLoop
POP AF POP AF
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
;<3B>à®æ¥¤ãà  ®ç¨á⪨ § ª®­ç¨¢è¨åáï ¡ ©â®¢ ; <EFBFBD>à®æ¥¤ãà  ®ç¨á⪨ § ª®­ç¨¢è¨åáï ¡ ©â®¢
FillHex LD A,0x10 ;Œ ªá.¡ ©â®¢ FillHex LD A,0x10 ; Œ ªá.¡ ©â®¢
SUB IXL ;’¥ª.ª®«-¢® ¡ ©â®¢ SUB IXL ; ’¥ª.ª®«-¢® ¡ ©â®¢
JR Z,.FillE2 JR Z,.FillE2
LD B,A LD B,A
LD C,0x20 LD C,0x20
@ -137,7 +139,7 @@ FillHex LD A,0x10 ;
INC L INC L
EXX EXX
INC IXL INC IXL
LD A,IXL ; 業âॠ2 ¯à®¡¥«  LD A,IXL ; 業âॠ2 ¯à®¡¥« 
CP 0x04 CP 0x04
JR Z,.FlHNx1 JR Z,.FlHNx1
CP 0x08 CP 0x08
@ -153,28 +155,22 @@ FillHex LD A,0x10 ;
LD A,COLORP.PANEL + COLORI.FILES LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrnTxtLnNormC CALL JUMPS.PrnTxtLnNormC
OR A OR A
RET ;CY-¡ë«  ¯®á«¥¤­ïï áâப  RET ; CY-¡ë«  ¯®á«¥¤­ïï áâப 
;<3B>à®æ¥¤ãà  ¯à¥®¡à §®¢ ­¨ï 8¡¨â®¢ëå ç¨á¥« ¢ è¥áâ­ ¤æ. ⥪áâ ; <EFBFBD>à®æ¥¤ãà  ¯à¥®¡à §®¢ ­¨ï 8¡¨â®¢ëå ç¨á¥« ¢ è¥áâ­ ¤æ. ⥪áâ
;<3B>  ¢å®¤: ; <EFBFBD>  ¢å®¤:
; HL -  ¤à¥á ¡ãä¥à  ; HL -  ¤à¥á ¡ãä¥à 
; € - ¡ ©â ; € - ¡ ©â
;<3B>  ¢ë室: ; <EFBFBD>  ¢ë室:
; ¡ãä¥à á ⥪áâ.ç¨á«®¬ ; ¡ãä¥à á ⥪áâ.ç¨á«®¬
PutHexNumb PUSH AF PutHexNumb PUSH AF
RRCA RRCA
RRCA RRCA
RRCA RRCA
RRCA RRCA
AND 0x0F CALL .L1
ADD A,0x90
DAA
ADC A,0x40
DAA
LD (HL),A
INC L
POP AF POP AF
AND 0x0F .L1 AND 0x0F
ADD A,0x90 ADD A,0x90
DAA DAA
ADC A,0x40 ADC A,0x40
@ -184,8 +180,8 @@ PutHexNumb PUSH AF
RET RET
;-------------------------------------------------------------- ;--------------------------------------------------------------
;<3B>à®æ¥¤ãàë ®¡à ¡®âª¨ View ; <EFBFBD>à®æ¥¤ãàë ®¡à ¡®âª¨ View
;<3B>  áâப㠢¢¥àå ; <EFBFBD>  áâப㠢¢¥àå
HLineUpMs CALL FVHLineUp HLineUpMs CALL FVHLineUp
RET C RET C
LD B,0x0A LD B,0x0A
@ -205,17 +201,17 @@ HUpMs2 CALL FVHLineUp
FVHLineUp LD HL,(FileShift) FVHLineUp LD HL,(FileShift)
LD DE,(FileShift+2) LD DE,(FileShift+2)
LD A,H ;<3B>஢¥à塞 ­  ­ ç «® ä ©«  LD A,H ; <EFBFBD>஢¥à塞 ­  ­ ç «® ä ©« 
OR D OR D
OR L OR L
OR E OR E
SCF SCF
RET Z ;Z-­ ç «® ä ©«  RET Z ; Z-­ ç «® ä ©« 
LD BC,0x0010 LD BC,0x0010
OR A OR A
SBC HL,BC SBC HL,BC
LD (FileShift),HL ;FileShift-16¡ ©â(¯à¥¤¨¤.áâப ) LD (FileShift),HL ; FileShift-16¡ ©â(¯à¥¤¨¤.áâப )
LD (TempShift),HL ;‡ ¯®¬¨­ ¥¬ ⥪.ᬥ饭¨¥ LD (TempShift),HL ; ‡ ¯®¬¨­ ¥¬ ⥪.ᬥ饭¨¥
LD C,B LD C,B
EX DE,HL EX DE,HL
SBC HL,BC SBC HL,BC
@ -223,12 +219,12 @@ FVHLineUp LD HL,(FileShift)
LD (TempShift+2),HL LD (TempShift+2),HL
CALL ScrollSCRdown CALL ScrollSCRdown
LD B,0x1C LD B,0x1C
CALL PutHLine ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã CALL PutHLine ; ‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
CALL PrintVProc CALL PrintVProc
OR A OR A
RET RET
;<3B>  áâப㠢­¨§ ; <EFBFBD>  áâப㠢­¨§
HLineDwnMs CALL HLineDwn HLineDwnMs CALL HLineDwn
RET C RET C
LD B,0x0A LD B,0x0A
@ -250,14 +246,14 @@ HLineDwn LD HL,(FileShift)
LD BC,(FileShift+2) LD BC,(FileShift+2)
LD DE,0x0190 LD DE,0x0190
ADD HL,DE ADD HL,DE
LD (TempShift),HL ;‡ ¯®¬¨­ ¥¬ ⥪.ᬥ饭¨¥ LD (TempShift),HL ; ‡ ¯®¬¨­ ¥¬ ⥪.ᬥ饭¨¥
JR NC,.L1 ;<3B>ਡ ¢«ï¥¬ ª ᬥ饭¨î áâà ­¨æã JR NC,.L1 ; <EFBFBD>ਡ ¢«ï¥¬ ª ᬥ饭¨î áâà ­¨æã
INC BC ;¡ ©â®¢ (480¡) INC BC ; ¡ ©â®¢ (480¡)
.L1 LD (TempShift+2),BC .L1 LD (TempShift+2),BC
EX DE,HL EX DE,HL
LD HL,(FileLenght) LD HL,(FileLenght)
OR A OR A
SBC HL,DE ;<3B>஢¥à塞 ­  ª®­¥æ ä ©«  SBC HL,DE ; <EFBFBD>஢¥à塞 ­  ª®­¥æ ä ©« 
EX DE,HL EX DE,HL
LD HL,(FileLenght+2) LD HL,(FileLenght+2)
SBC HL,BC SBC HL,BC
@ -266,7 +262,7 @@ HLineDwn LD HL,(FileShift)
LD A,D LD A,D
OR E OR E
SCF SCF
RET Z ;Z - ª®­¥æ RET Z ; Z - ª®­¥æ
.L2 LD HL,(FileShift) .L2 LD HL,(FileShift)
LD DE,(FileShift+2) LD DE,(FileShift+2)
LD BC,0x0010 LD BC,0x0010
@ -277,12 +273,12 @@ HLineDwn LD HL,(FileShift)
LD (FileShift+2),DE LD (FileShift+2),DE
CALL ScrollSCRup CALL ScrollSCRup
LD B,0xDC LD B,0xDC
CALL PutHLine ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã CALL PutHLine ; ‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
CALL PrintVProc CALL PrintVProc
OR A OR A
RET RET
;<3B>  áâà ­¨æã ¢¢¥àå ; <EFBFBD>  áâà ­¨æã ¢¢¥àå
HPageUpMs CALL FVHPageUp HPageUpMs CALL FVHPageUp
RET C RET C
LD B,0x0A LD B,0x0A
@ -302,30 +298,30 @@ HUpMs2p CALL FVHPageUp
FVHPageUp LD HL,(FileShift) FVHPageUp LD HL,(FileShift)
LD BC,(FileShift+2) LD BC,(FileShift+2)
LD A,H ;<3B>஢¥à塞 ­  ­ ç «® ä ©«  LD A,H ; <EFBFBD>஢¥à塞 ­  ­ ç «® ä ©« 
OR B OR B
OR L OR L
OR C OR C
SCF SCF
RET Z RET Z
LD DE,0x0190 ;Žâ­¨¬ ¥¬ ®â ⥪.ᬥé. áâà ­¨æã ¡ ©â®¢ LD DE,0x0190 ; Žâ­¨¬ ¥¬ ®â ⥪.ᬥé. áâà ­¨æã ¡ ©â®¢
OR A OR A
SBC HL,DE SBC HL,DE
JR NC,.HPgUp1 JR NC,.HPgUp1
LD A,B LD A,B
OR C OR C
DEC BC ;<3B>஢¥à塞,çâ® ­¥ ¢ë¢ «¨«¨áì §  DEC BC ; <EFBFBD>஢¥à塞,çâ® ­¥ ¢ë¢ «¨«¨áì § 
JR NZ,.HPgUp1 ;­ ç «® ä ©«  Z - ¢ë¢ «¨«¨áì JR NZ,.HPgUp1 ; ­ ç «® ä ©«  Z - ¢ë¢ «¨«¨áì
INC BC INC BC
LD L,C ;’®£¤  ᬥ饭¨¥ = 0 LD L,C ; ’®£¤  ᬥ饭¨¥ = 0
LD H,B LD H,B
.HPgUp1 LD (FileShift),HL .HPgUp1 LD (FileShift),HL
LD (FileShift+2),BC LD (FileShift+2),BC
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ­¨æã CALL PrnHEXpage ; <EFBFBD>¥ç â ¥¬ áâà ­¨æã
OR A OR A
RET RET
;<3B>  áâà ­¨æã ¢­¨§ ; <EFBFBD>  áâà ­¨æã ¢­¨§
HPageDwnMs CALL HPageDwn HPageDwnMs CALL HPageDwn
RET C RET C
LD B,0x0A LD B,0x0A
@ -345,50 +341,49 @@ HDnMs2p CALL HPageDwn
HPageDwn LD HL,(FileShift) HPageDwn LD HL,(FileShift)
LD BC,(FileShift+2) LD BC,(FileShift+2)
LD DE,0x0190 ;<3B>«îá㥬 ª ⥪.ᬥé. LD DE,0x0190 ; <EFBFBD>«îá㥬 ª ⥪.ᬥé.
ADD HL,DE ;áâà ­¨æã ¡ ©â®¢ ADD HL,DE ; áâà ­¨æã ¡ ©â®¢
PUSH HL PUSH HL
JR NC,.L1 JR NC,.L1
INC BC INC BC
.L1 PUSH BC .L1 PUSH BC
EX DE,HL EX DE,HL
LD HL,(FileLenght) ;<EFBFBD>஢¥à塞,çâ® áâà ­¨æ  LD HL,(FileLenght) ; <EFBFBD>஢¥à塞,çâ® áâà ­¨æ 
OR A ;¯®á«¥¤­ïï OR A ; ¯®á«¥¤­ïï
SBC HL,DE SBC HL,DE
EX DE,HL EX DE,HL
LD HL,(FileLenght+2) LD HL,(FileLenght+2)
SBC HL,BC SBC HL,BC
POP BC POP BC
POP HL POP HL
RET C ; - ­¥â RET C ; - ­¥â
JR NZ,.L2 JR NZ,.L2
LD A,D LD A,D
OR E OR E
SCF SCF
RET Z ;Z - ­¥â RET Z ; Z - ­¥â
.L2 LD (FileShift),HL .L2 LD (FileShift),HL
LD (FileShift+2),BC LD (FileShift+2),BC
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ­¨æã CALL PrnHEXpage ; <EFBFBD>¥ç â ¥¬ áâà ­¨æã
OR A OR A
RET RET
; ­ ç «® ä ©«  ; ­ ç «® ä ©« 
HBegFile LD HL,JUMPS.ResFire HBegFile LD HL,JUMPS.ResFire
PUSH HL PUSH HL
LD HL,(FileShift) LD HL,(FileShift)
LD BC,(FileShift+2) LD BC,(FileShift+2)
LD A,H ;<3B>஢¥à塞 ­  ­ ç «® ä ©«  LD A,H ; <EFBFBD>஢¥à塞 ­  ­ ç «® ä ©« 
OR B OR B
OR L OR L
OR C OR C
RET Z ;Z - <20> ç «® RET Z ; Z - <20> ç «®
LD HL,0x0000 ;‘¬¥é¥­¨¥ = 0000 LD HL,0x0000 ; ‘¬¥é¥­¨¥ = 0000
LD (FileShift),HL LD (FileShift),HL
LD (FileShift+2),HL LD (FileShift+2),HL
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ­¨æã JP PrnHEXpage ; <20>¥ç â ¥¬ áâà ­¨æã
RET
; ª®­¥æ ä ©«  ; ª®­¥æ ä ©« 
HEndFile LD HL,JUMPS.ResFire HEndFile LD HL,JUMPS.ResFire
PUSH HL PUSH HL
LD HL,(FileShift) LD HL,(FileShift)
@ -398,8 +393,8 @@ HEndFile LD HL,JUMPS.ResFire
JR NC,.L1 JR NC,.L1
INC BC INC BC
.L1 EX DE,HL .L1 EX DE,HL
LD HL,(FileLenght) ;<3B>஢¥à塞,çâ® ¬ë ­  ¯®á«¥¤­¥© LD HL,(FileLenght) ; <EFBFBD>஢¥à塞,çâ® ¬ë ­  ¯®á«¥¤­¥©
PUSH HL ;áâà ­¨æ¥ PUSH HL ; áâà ­¨æ¥
OR A OR A
SBC HL,DE SBC HL,DE
EX DE,HL EX DE,HL
@ -408,17 +403,17 @@ HEndFile LD HL,JUMPS.ResFire
SBC HL,BC SBC HL,BC
POP BC POP BC
POP HL POP HL
RET C ; - ¢ ª®­æ¥ RET C ; - ¢ ª®­æ¥
JR NZ,.L2 JR NZ,.L2
LD A,D LD A,D
OR E OR E
RET Z ;Z - ¢ ª®­æ¥ RET Z ; Z - ¢ ª®­æ¥
.L2 LD DE,0x0190 .L2 LD DE,0x0190
OR A OR A
SBC HL,DE ;<3B>à®áç¨â뢠¥¬ ᬥ饭¨¥ ¯®á«¥¤­¥© áâà ­¨æë SBC HL,DE ; <20>à®áç¨â뢠¥¬ ᬥ饭¨¥ ¯®á«¥¤­¥© áâà ­¨æë
JR NC,.L3 JR NC,.L3
DEC BC DEC BC
.L3 LD A,L ;‘¬¥é¥­¨¥ ªà â­® 16 .L3 LD A,L ; ‘¬¥é¥­¨¥ ªà â­® 16
AND 0x0F AND 0x0F
JR Z,.HEnd1 JR Z,.HEnd1
LD A,L LD A,L
@ -430,75 +425,74 @@ HEndFile LD HL,JUMPS.ResFire
INC BC INC BC
.HEnd1 LD (FileShift),HL .HEnd1 LD (FileShift),HL
LD (FileShift+2),BC LD (FileShift+2),BC
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ­¨æã JP PrnHEXpage ; <20>¥ç â ¥¬ áâà ­¨æã
RET
;-------------------------------------------------------------- ;--------------------------------------------------------------
;<EFBFBD>à®æ¥¤ãà  ¢¢®¤  ­®¢®£® 㪠§ â¥«ï ᬥ饭¨ï ¢ ä ©«¥ ; <20>à®æ¥¤ãà  ¢¢®¤  ­®¢®£® 㪠§ â¥«ï ᬥ饭¨ï ¢ ä ©«¥
HGoTo LD HL,(FileLenght) HGoTo LD HL,(FileLenght)
LD DE,(FileLenght+2) LD DE,(FileLenght+2)
LD A,H ;<3B>஢¥à塞,çâ® ¤«¨­  LD A,H ; <EFBFBD>஢¥à塞,çâ® ¤«¨­ 
OR D ;ä ©«  ¡®«ìè¥ 16 ¡ ©â OR D ; ä ©«  ¡®«ìè¥ 16 ¡ ©â
OR E OR E
JR NZ,HGoToOk JR NZ,HGoToOk
LD A,L LD A,L
CP 0x11 CP 0x11
RET C ;¬¥­ìè¥ 16¡ ©â RET C ; ¬¥­ìè¥ 16¡ ©â
HGoToOk LD HL,NewShift ;<3B>ãä¥à ¤«ï ¢¢®¤  ­®¢®£® 㪠§. HGoToOk LD HL,NewShift ; <20>ãä¥à ¤«ï ¢¢®¤  ­®¢®£® 㪠§.
SUB A SUB A
LD (CursPos+1),A ;<3B>®§¨æ¨ï ¢¢®¤  ¢ ¡ãä¥à¥ LD (CursPos+1),A ; <EFBFBD>®§¨æ¨ï ¢¢®¤  ¢ ¡ãä¥à¥
INC A INC A
LD (BuffFlg),A LD (BuffFlg),A
LD A,(FileShift+3) LD A,(FileShift+3)
CALL PutHexNumb ;‡ ­®á¨¬ ¢ ¡ãä¥à ⥪ã饥 ᬥé. CALL PutHexNumb ; ‡ ­®á¨¬ ¢ ¡ãä¥à ⥪ã饥 ᬥé.
LD A,(FileShift+2) ;¢ ⥪á⮢®¬ ¢¨¤¥ LD A,(FileShift+2) ; ¢ ⥪á⮢®¬ ¢¨¤¥
CALL PutHexNumb CALL PutHexNumb
LD A,(FileShift+1) LD A,(FileShift+1)
CALL PutHexNumb CALL PutHexNumb
LD A,(FileShift) LD A,(FileShift)
CALL PutHexNumb CALL PutHexNumb
;‚뢮¤¨¬ ­  íªà ­ ¡ãä¥à ¨ ; ‚뢮¤¨¬ ­  íªà ­ ¡ãä¥à ¨
HGoToRet CALL PrintHGT ;¯¥ç â ¥¬ ªãàá®à HGoToRet CALL PrintHGT ; ¯¥ç â ¥¬ ªãàá®à
HGoToLp HALT ;ަ¨¤ ¥¬ ¯à¥à뢠­¨¥ HGoToLp HALT ; ަ¨¤ ¥¬ ¯à¥à뢠­¨¥
CALL ChangeCurs ;¯à®¢¥àï¬ ­  ᬥ­ã ªãàá®à  CALL ChangeCurs ; ¯à®¢¥àï¬ ­  ᬥ­ã ªãàá®à 
SPMOUSE MOUSEF.READ_STATE SPMOUSE MOUSEF.READ_STATE
BIT 0,A BIT 0,A
JP NZ,HGTescape JP NZ,HGTescape
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è¨ SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è¨
JR Z,HGoToLp ;Z - ­¥ ­ ¦ â  JR Z,HGoToLp ; Z - ­¥ ­ ¦ â 
LD A,B LD A,B
AND 0x3F AND 0x3F
JR NZ,HGoToLp JR NZ,HGoToLp
LD A,E LD A,E
OR A OR A
JR Z,HGoToSys ;A=0 á¨áâ.ª« ¢¨è  JR Z,HGoToSys ; A=0 á¨áâ.ª« ¢¨è 
CP 0x0D CP 0x0D
JP Z,HGTenter ;­ ¦ â Enter JP Z,HGTenter ; ­ ¦ â Enter
CP 0x08 CP 0x08
JR Z,HGTdelete ;­ ¦ â BackSpace JR Z,HGTdelete ; ­ ¦ â BackSpace
CP 0x1B CP 0x1B
JP Z,HGTescape ;­ ¦ â Esc JP Z,HGTescape ; ­ ¦ â Esc
CP 0x20 CP 0x20
JR C,HGoToLp ;ª®¤<0x20 ­ ¬ ­¥ ¯®¤å®¤¨â JR C,HGoToLp ; ª®¤<0x20 ­ ¬ ­¥ ¯®¤å®¤¨â
LD C,A ;á®åà. ASCII ª®¤ LD C,A ; á®åà. ASCII ª®¤
LD A,0x00 LD A,0x00
BuffFlg EQU $-1 BuffFlg EQU $-1
OR A OR A
CALL NZ,ClearBuff CALL NZ,ClearBuff
CursPos LD A,0x00 ;⥪.¯®§¨æ¨ï ¯¥ç â¨ ¢ ¡ãä¥à¥ CursPos LD A,0x00 ; ⥪.¯®§¨æ¨ï ¯¥ç â¨ ¢ ¡ãä¥à¥
LD B,A ;á®åà.⥪.¯®§. LD B,A ; á®åà.⥪.¯®§.
LD HL,NewShift ;‘¬¥é.®â ­ ç «  ¡ãä¥à  LD HL,NewShift ; ‘¬¥é.®â ­ ç «  ¡ãä¥à 
ADD A,L ADD A,L
LD L,A LD L,A
JR NC,.L1 JR NC,.L1
INC H INC H
.L1 LD (HL),C ;‡ ­®á¨¬ ª®¤ ¢ ¡ãä¥à .L1 LD (HL),C ; ‡ ­®á¨¬ ª®¤ ¢ ¡ãä¥à
LD A,B ;⥪.¯®§. LD A,B ; ⥪.¯®§.
CP 0x07 ;<3B>®§¨æ¨ï ¢ ¡ãä¥à¥ (7-¯®á«¥¤­ïï) CP 0x07 ; <EFBFBD>®§¨æ¨ï ¢ ¡ãä¥à¥ (7-¯®á«¥¤­ïï)
JR Z,HGoToRet ;¯¥ç â ¥¬ áâப㠨 ªãàá®à JR Z,HGoToRet ; ¯¥ç â ¥¬ áâப㠨 ªãàá®à
INC A ;á«¥¤.¯®§¨æ¨ï INC A ; á«¥¤.¯®§¨æ¨ï
LD (CursPos+1),A LD (CursPos+1),A
JR HGoToRet ;¯¥ç â ¥¬ áâப㠨 ªãàá®à JR HGoToRet ; ¯¥ç â ¥¬ áâப㠨 ªãàá®à
ClearBuff LD HL,NewShift ClearBuff LD HL,NewShift
LD B,0x08 LD B,0x08
@ -510,56 +504,56 @@ ClearBuff LD HL,NewShift
LD (BuffFlg),A LD (BuffFlg),A
RET RET
;‡ ¡®© ; ‡ ¡®©
HGTdelete SUB A HGTdelete SUB A
LD (BuffFlg),A LD (BuffFlg),A
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥ LD A,(CursPos+1) ; ’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
OR A OR A
JR Z,HGoToLp ;0 - ¢ë室¨¬ JR Z,HGoToLp ; 0 - ¢ë室¨¬
DEC A DEC A
LD (CursPos+1),A ;¯à¥¤¨¤.¯®§¨æ¨ï LD (CursPos+1),A ; ¯à¥¤¨¤.¯®§¨æ¨ï
LD HL,NewShift LD HL,NewShift
ADD A,L ;ᬥé.¢ ¡ãä¥à¥ ADD A,L ; ᬥé.¢ ¡ãä¥à¥
LD L,A LD L,A
JR NC,.L1 JR NC,.L1
INC H INC H
.L1 LD (HL)," " ;‡ ¡¨¢ ¥¬ ¯à®¡¥«®¬ .L1 LD (HL)," " ; ‡ ¡¨¢ ¥¬ ¯à®¡¥«®¬
JR HGoToRet JR HGoToRet
;á¨á⥬­ ï ª« ¢¨è  ; á¨á⥬­ ï ª« ¢¨è 
HGoToSys LD A,D HGoToSys LD A,D
CP 0x54 ;<- CP 0x54 ; <-
JR Z,HGTleft JR Z,HGTleft
CP 0x56 ;-> CP 0x56 ; ->
JR Z,HGTright JR Z,HGTright
JR HGoToLp JR HGoToLp
;Šãàá®à ¢«¥¢® ; Šãàá®à ¢«¥¢®
HGTleft SUB A HGTleft SUB A
LD (BuffFlg),A LD (BuffFlg),A
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥ LD A,(CursPos+1) ; ’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
OR A OR A
JP Z,HGoToLp ;0 - ¢ë室¨¬ JP Z,HGoToLp ; 0 - ¢ë室¨¬
DEC A DEC A
LD (CursPos+1),A ;“¬¥­ìè.¯®§. LD (CursPos+1),A ; “¬¥­ìè.¯®§.
JP HGoToRet JP HGoToRet
HGTright SUB A HGTright SUB A
LD (BuffFlg),A LD (BuffFlg),A
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥ LD A,(CursPos+1) ; ’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
CP 0x07 CP 0x07
JP Z,HGoToLp ;7 - ¯®á«¥¤­ïï JP Z,HGoToLp ; 7 - ¯®á«¥¤­ïï
INC A INC A
LD (CursPos+1),A ;“¢¥«¨ç.¯®§. LD (CursPos+1),A ; “¢¥«¨ç.¯®§.
JP HGoToRet JP HGoToRet
;<3B>à®æ¥¤ãà  ¢ë¢®¤  áâப¨ ¨ ªãàá®à  ; <EFBFBD>à®æ¥¤ãà  ¢ë¢®¤  áâப¨ ¨ ªãàá®à 
PrintHGT LD HL,NewShift PrintHGT LD HL,NewShift
LD DE,0x0008 LD DE,0x0008
LD BC,0x081C LD BC,0x081C
LD A,COLORP.PANEL + COLORI.FILES LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrnTxtLnNormC CALL JUMPS.PrnTxtLnNormC
LD A,(CursPos+1) ;<3B>®§¨æ¨ï ¢ë¢®¤  ªãàá®à  LD A,(CursPos+1) ; <20>®§¨æ¨ï ¢ë¢®¤  ªãàá®à 
INC A INC A
LD L,A LD L,A
LD H,0x00 LD H,0x00
@ -572,76 +566,76 @@ PrintHGT LD HL,NewShift
LD BC,0x011C LD BC,0x011C
LD A,COLORP.PANEL + COLORI.FILES LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrnTxtLnNormC CALL JUMPS.PrnTxtLnNormC
LD A,0x01 ;<3B>®¬¥à ¢ë¢¥¤¥­­®£® ªãàá®à  LD A,0x01 ; <EFBFBD>®¬¥à ¢ë¢¥¤¥­­®£® ªãàá®à 
LD (CurCurs),A LD (CurCurs),A
LD A,0x06 ;ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à  LD A,0x06 ; ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à 
LD (CurWait),A LD (CurWait),A
RET RET
;<3B>à®æ¥¤ãà  á¬¥­ë ªãàá®à  ; <EFBFBD>à®æ¥¤ãà  á¬¥­ë ªãàá®à 
ChangeCurs LD A,0x00 ;‡ ¤¥à¦ª  ¬¥¦¤ã ᬥ­®© ªãàá®à  ChangeCurs LD A,0x00 ; ‡ ¤¥à¦ª  ¬¥¦¤ã ᬥ­®© ªãàá®à 
CurWait EQU $-1 CurWait EQU $-1
DEC A DEC A
LD (CurWait),A LD (CurWait),A
RET NZ ;¥é¥ ­¥ ¢à¥¬ï RET NZ ; ¥é¥ ­¥ ¢à¥¬ï
LD A,(CursPos+1) LD A,(CursPos+1)
INC A INC A
LD L,A LD L,A
LD H,0x00 ;’¥ª.§­ ª®¬¥áâ® LD H,0x00 ; ’¥ª.§­ ª®¬¥áâ®
ADD HL,HL ADD HL,HL
ADD HL,HL ADD HL,HL
ADD HL,HL ADD HL,HL
EX DE,HL EX DE,HL
LD HL,NewShift ;‘¬¥é.¢ ¡ãä¥à¥ LD HL,NewShift ; ‘¬¥é.¢ ¡ãä¥à¥
LD A,(CursPos+1) LD A,(CursPos+1)
ADD A,L ADD A,L
LD L,A LD L,A
JR NC,.L2 JR NC,.L2
INC H INC H
.L2 LD A,0x00 ;<3B>®¬¥à ⥪ã饣® ªãàá®à  .L2 LD A,0x00 ; <20>®¬¥à ⥪ã饣® ªãàá®à 
CurCurs EQU $-1 CurCurs EQU $-1
XOR 0x01 ;Œ¥­ï¥¬ ªãàá®à XOR 0x01 ; Œ¥­ï¥¬ ªãàá®à
LD (CurCurs),A LD (CurCurs),A
LD A,(HL) LD A,(HL)
JR Z,.L1 ;<3B>¥ç â ¥¬ JR Z,.L1 ; <EFBFBD>¥ç â ¥¬
LD A,0xAB;"<" LD A,0xAB;"<"
.L1 LD HL,TCursor .L1 LD HL,TCursor
LD (HL),A LD (HL),A
LD BC,0x011C LD BC,0x011C
LD A,COLORP.PANEL + COLORI.FILES LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrnTxtLnNormC CALL JUMPS.PrnTxtLnNormC
LD A,0x0C ;ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à  LD A,0x0C ; ަ¨¤ ­¨¥ ¤«ï ᬥ­ë ªãàá®à 
LD (CurWait),A LD (CurWait),A
RET RET
TCursor DEFB " " TCursor DEFB " "
;Š« ¢¨è  ENTER ; Š« ¢¨è  ENTER
HGTenter SUB A ;<3B>ਠ®è¨¡ª¥ ¢¥à­¥¬áï á ªãàá®à®¬ HGTenter SUB A ; <EFBFBD>ਠ®è¨¡ª¥ ¢¥à­¥¬áï á ªãàá®à®¬
LD (CursPos+1),A ;¢ ­ã«¥¢®© ¯®§¨æ¨¨ LD (CursPos+1),A ; ¢ ­ã«¥¢®© ¯®§¨æ¨¨
LD BC,NewShift ;<3B>ãä¥à áâப¨ LD BC,NewShift ; <EFBFBD>ãä¥à áâப¨
CALL GetHexNum32 ;<3B>¥à¥¢®¤¨¬ ⥪áâ ¢ 32¡¨â ç¨á«® CALL GetHexNum32 ; <EFBFBD>¥à¥¢®¤¨¬ ⥪áâ ¢ 32¡¨â ç¨á«®
JP C,HGoToRet ;CY - ᨭ⠪á.®è¨¡ª  JP C,HGoToRet ; CY - ᨭ⠪á.®è¨¡ª 
LD C,E LD C,E
LD B,D LD B,D
LD A,L ;€¤à¥á ªà â­ë© 16 LD A,L ; €¤à¥á ªà â­ë© 16
AND 0xF0 AND 0xF0
LD L,A LD L,A
EX DE,HL ;‘¬¥é.¢ BC+DE EX DE,HL ; ‘¬¥é.¢ BC+DE
LD HL,(FileLenght) ;<3B>஢¥à塞,ç⮠ᬥ饭¨¥ ¢ LD HL,(FileLenght) ; <20>஢¥à塞,ç⮠ᬥ饭¨¥ ¢
OR A ;¯à¥¤¥« å ä ©«  OR A ; ¯à¥¤¥« å ä ©« 
SBC HL,DE SBC HL,DE
LD HL,(FileLenght+2) LD HL,(FileLenght+2)
SBC HL,BC SBC HL,BC
JR C,HGTent ;CY-§  ¯à¥¤¥« ¬¨ JR C,HGTent ; CY-§  ¯à¥¤¥« ¬¨
JR NZ,HGTent1 ;NZ-¢ ¯à¥¤¥« å JR NZ,HGTent1 ; NZ-¢ ¯à¥¤¥« å
LD A,D LD A,D
OR E OR E
JR NZ,HGTent1 ;NZ-¢ ¯à¥¤¥« å JR NZ,HGTent1 ; NZ-¢ ¯à¥¤¥« å
HGTent LD HL,(FileLenght) HGTent LD HL,(FileLenght)
LD BC,0x0010 LD BC,0x0010
OR A OR A
SBC HL,BC ;ᬥé.=¯®á«¥¤­ïï áâப  ä ©«  16 ¡ ©â SBC HL,BC ; ᬥé.=¯®á«¥¤­ïï áâப  ä ©«  16 ¡ ©â
EX DE,HL EX DE,HL
LD HL,(FileLenght+2) LD HL,(FileLenght+2)
JR NC,.L1 JR NC,.L1
@ -650,13 +644,12 @@ HGTent LD HL,(FileLenght)
LD B,H LD B,H
HGTent1 LD (FileShift),DE HGTent1 LD (FileShift),DE
LD (FileShift+2),BC LD (FileShift+2),BC
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ­¨æã JP PrnHEXpage ; <20>¥ç â ¥¬ áâà ­¨æã
RET
;<3B> ¦ â Escape ; <EFBFBD> ¦ â Escape
HGTescape LD HL,NewShift ;<3B>ãä¥à áâப¨ HGTescape LD HL,NewShift ; <EFBFBD>ãä¥à áâப¨
PUSH HL PUSH HL
LD A,(FileShift+3) ;‡ ­®á¨¬ ⥪.ᬥ饭¨¥ LD A,(FileShift+3) ; ‡ ­®á¨¬ ⥪.ᬥ饭¨¥
CALL PutHexNumb CALL PutHexNumb
LD A,(FileShift+2) LD A,(FileShift+2)
CALL PutHexNumb CALL PutHexNumb
@ -669,16 +662,15 @@ HGTescape LD HL,NewShift ;
LD BC,0x081C LD BC,0x081C
LD A,COLORP.PANEL + COLORI.FILES LD A,COLORP.PANEL + COLORI.FILES
CALL JUMPS.PrnTxtLnNormC CALL JUMPS.PrnTxtLnNormC
CALL JUMPS.ResFire JP JUMPS.ResFire ; ‚ë室¨¬
RET ;‚ë室¨¬
NewShift DEFB " ",0 NewShift DEFB " ",0
;<3B>à®æ¥¤ãà  ª®­¢¥àâ¨à®¢ ­¨ï 32¡¨â®¢®£® è¥áâ­.⥪á⮢®£® ç¨á«  ; <EFBFBD>à®æ¥¤ãà  ª®­¢¥àâ¨à®¢ ­¨ï 32¡¨â®¢®£® è¥áâ­.⥪á⮢®£® ç¨á« 
;<3B>  ¢å®¤: ; <EFBFBD>  ¢å®¤:
; BC - €¤à¥á ¡ãä¥à  á ⥪á⮬ (0-ª®­¥æ ¡ãä¥à ) ; BC - €¤à¥á ¡ãä¥à  á ⥪á⮬ (0-ª®­¥æ ¡ãä¥à )
;<3B>  ¢ë室: ; <EFBFBD>  ¢ë室:
; DE+HL - —¨á«® 32¡¨â ; DEHL - —¨á«® 32¡¨â
; CY - ᨭ⠪á¨ç¥áª ï ®è¨¡ª  ; CY - ᨭ⠪á¨ç¥áª ï ®è¨¡ª 
GetHexNum32 LD HL,0x0000 GetHexNum32 LD HL,0x0000
LD E,L LD E,L

View File

@ -1,20 +1,17 @@
; LAST UPDATE: 31.05.2025 savelij ; LAST UPDATE: 28.07.2025 savelij
LineBuffer := WorkBuffer+0x300 LineBuffer := WorkBuffer+0x300
;[]==========================================================[] ;[]==========================================================[]
JP FileViewer CALL LoadFile
DZ FLEX_VERS.VIEWER
FileViewer CALL LoadFile
RET C RET C
LD IX,ViewingFile LD IX,ViewingFile
SUB A SUB A
LD (ViewMode),A LD (ViewMode),A
LD (ASCIIaddX),A LD (ASCIIaddX),A
LD HL,0x0000 LD H,A
LD L,A
LD (FileShift),HL LD (FileShift),HL
LD (FileShift+2),HL LD (FileShift+2),HL
LD L,(IX+28) LD L,(IX+28)
@ -27,109 +24,113 @@ FileViewer CALL LoadFile
ViewerBegin CALL InitStatusLine ViewerBegin CALL InitStatusLine
CALL InitVProc CALL InitVProc
CALL PrintVPage CALL PrintVPage
ViewerLoop LD A,(ViewMode) ViewerLoop LD A,(ViewMode) ; ०¨¬ ¯à®á¬®âà ?
OR A OR A
JR NZ,HViewLoop JR NZ,HViewLoop
; ०¨¬ ¯à®á¬®âà  â¥ªáâ
TViewLoop LD IX,ASCIItab TViewLoop LD IX,ASCIItab
CALL JUMPS.TestCoords CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,TViewLoop JR Z,TViewLoop
LD A,E ;…-ASCII ª®¤ LD A,E ; …-ASCII ª®¤
CP 0x1B ;Esc CP 0x1B ; Esc
JP Z,ViewerExit JP Z,ViewerExit
OR A OR A
JR NZ,TViewLoop ;†¤¥¬ ä㭪樮­.ª« ¢¨è¨ JR NZ,TViewLoop ; †¤¥¬ ä㭪樮­.ª« ¢¨è¨
LD A,D LD A,D
CP 0x44 CP SC.F10;0x44
JP Z,ViewerExit JP Z,ViewerExit
LD HL,TViewLoop LD HL,TViewLoop
PUSH HL PUSH HL
CP 0x3B CP SC.F1;0x3B
JP Z,About JP Z,About
CP 0x3C CP SC.F2;0x3C
JP Z,ChASCIImode JP Z,ChASCIImode
CP 0x3E CP SC.F4;0x3E
JP Z,ChViewer ;<3B>à®á¬®âà ¢ HEX JP Z,ChViewer ; <EFBFBD>à®á¬®âà ¢ HEX
CP 0x42 CP SC.F8;0x42
JP Z,ChCodePage ;‘¬¥­  ª®¤®¢®© áâà ­¨æë WIN/DOS/KOI JP Z,ChCodePage ; ‘¬¥­  ª®¤®¢®© áâà ­¨æë WIN/DOS/KOI
CP 0x41 CP SC.F7;0x41
JP Z,FVPrintFile JP Z,FVPrintFile
CP 0x54 CP SC.X4;0x54
JP Z,ScrollLeft JP Z,ScrollLeft
CP 0x56 CP SC.X6;0x56
JP Z,ScrollRght JP Z,ScrollRght
CP 87 ;Home CP SC.X7;87 ; Home
JP Z,THome JP Z,THome
CP 81 ;End CP SC.X1;81 ; End
JP Z,TEnd JP Z,TEnd
CP 88 ;‘â५ª  ¢¢¥àå CP SC.X8;88 ; ‘â५ª  ¢¢¥àå
JP Z,TLineUp JP Z,TLineUp
CP 82 ;‘â५ª  ¢­¨§ CP SC.X2;82 ; ‘â५ª  ¢­¨§
JP Z,TLineDwn JP Z,TLineDwn
CP 89 ;PageUp CP SC.X9;89 ; PageUp
JP Z,TPageUp JP Z,TPageUp
CP 83 ;PageDown CP SC.X3;83 ; PageDown
JP Z,TPageDwn JP Z,TPageDwn
LD A,B LD A,B
AND 0x30 AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
CP 0x30 CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
RET Z RET Z
BIT 5,B BIT KEYBSTAT.B_CTRL,B;5,B
RET Z RET Z
LD A,D LD A,D
AND 0x7F AND %01111111;0x7F
CP 0x57 ;Ctrl+PageUp CP SC.X7;0x57 ; Ctrl+PageUp
JP Z,TBegFile ;¢ ­ ç «® ä ©«  JP Z,TBegFile ; ¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageDown CP SC.X1;0x51 ; Ctrl+PageDown
JP Z,TEndFile ;¢ ª®­¥æ ä ©«  JP Z,TEndFile ; ¢ ª®­¥æ ä ©« 
CP 0x19 ;Ctrl+P CP SC.P;0x19 ; Ctrl+P
JP Z,FVPrintFile JP Z,FVPrintFile
RET RET
;-------------------------------------------------------------- ;--------------------------------------------------------------
; ०¨¬ ¯à®á¬®âà  HEX
HViewLoop LD IX,HEXtab HViewLoop LD IX,HEXtab
CALL JUMPS.TestCoords CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,HViewLoop JR Z,HViewLoop
LD A,E ;…-ASCII ª®¤ LD A,E ; …-ASCII ª®¤
CP 0x1B ;Esc CP 0x1B ; Esc
JP Z,ViewerExit JP Z,ViewerExit
OR A OR A
JR NZ,HViewLoop ;†¤¥¬ ä㭪樮­.ª« ¢¨è¨ JR NZ,HViewLoop ; †¤¥¬ ä㭪樮­.ª« ¢¨è¨
LD A,D ; LD A,D
CP 0x44 ;F10 CP SC.F10;0x44 ; F10
JP Z,ViewerExit JP Z,ViewerExit
LD HL,HViewLoop LD HL,HViewLoop
PUSH HL PUSH HL
CP 0x3B CP SC.F1;0x3B
JP Z,About JP Z,About
CP 0x3E ;F4 CP SC.F4;0x3E ; F4
JP Z,ChViewer ;<3B>à®á¬®âà ¢ ⥪á⥠JP Z,ChViewer ; <20>à®á¬®âà ¢ ⥪áâ¥
CP 0x3F ;F5 CP SC.F8;0x42
JP Z,HGoTo ;<3B>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï JP Z,ChCodePage ; ‘¬¥­  ª®¤®¢®© áâà ­¨æë WIN/DOS/KOI
CP 0x41 CP SC.F5;0x3F ; F5
JP Z,HGoTo ; <20>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
CP SC.F7;0x41
JP Z,FVPrintFile JP Z,FVPrintFile
CP 88 ;‘â५ª  ¢¢¥àå CP SC.X8;88 ; ‘â५ª  ¢¢¥àå
JP Z,FVHLineUp JP Z,FVHLineUp
CP 82 ;‘â५ª  ¢­¨§ CP SC.X2;82 ; ‘â५ª  ¢­¨§
JP Z,HLineDwn JP Z,HLineDwn
CP 89 ;PageUp CP SC.X9;89 ; PageUp
JP Z,FVHPageUp JP Z,FVHPageUp
CP 83 ;PageDown CP SC.X3;83 ; PageDown
JP Z,HPageDwn JP Z,HPageDwn
LD A,B LD A,B
AND 0x30 AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
CP 0x30 CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
RET Z RET Z
BIT 5,B BIT KEYBSTAT.B_CTRL,B;5,B
RET Z RET Z
LD A,D LD A,D
AND 0x7F AND %01111111;0x7F
CP 0x57 ;Ctrl+PageUp CP SC.X7;0x57 ; Ctrl+PageUp
JP Z,HBegFile ;¢ ­ ç «® ä ©«  JP Z,HBegFile ; ¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageDown CP SC.X1;0x51 ; Ctrl+PageDown
JP Z,HEndFile ;¢ ª®­¥æ ä ©«  JP Z,HEndFile ; ¢ ª®­¥æ ä ©« 
CP 0x19 ;Ctrl+P CP SC.P;0x19 ; Ctrl+P
JP Z,FVPrintFile JP Z,FVPrintFile
RET RET
@ -160,20 +161,6 @@ PrintVPage LD A,(ViewMode)
JP NZ,PrnHEXpage JP NZ,PrnHEXpage
JP PrnASCIIpage JP PrnASCIIpage
;[]==========================================================[]
ViewingFile DUPL 0x30,0
ViewMode DEFB 0x00
ASCIImode DEFB 0x01
ASCIIaddX DEFB 0x00
EmptyLines DEFB 0x00
FileLenght DUPL 4,0 ; „«¨­  ä ©«  (32¡¨â)
FileShift DUPL 4,0 ; ‘¬¥é¥­¨¥ ®â ­ ç «  ä ©«  (32¡¨â)
TempShift DUPL 4,0 ; ‚६¥­­ ï ï祩ª  ᬥ饭¨ï (32¡¨â)
FVNextShift DUPL 4,0 ; ‘«¥¤ãîé ï áâà ­¨æ  ¤«ï ASCII (32¡¨â)
FVMemIndef DEFB 0x00
FHandle DEFB 0x00
FVReadLen DUPL 4,0
;[]==========================================================[] ;[]==========================================================[]
ViewerExit LD A,(FVMemIndef) ViewerExit LD A,(FVMemIndef)
SPDSS DSSF.FREEMEM SPDSS DSSF.FREEMEM
@ -183,7 +170,6 @@ ViewerExit LD A,(FVMemIndef)
;[]==========================================================[] ;[]==========================================================[]
LoadFile CALL JUMPS.SetClock LoadFile CALL JUMPS.SetClock
LD DE,ViewingFile LD DE,ViewingFile
; SPDSS DSSF.F_FIRST,1,0x37
SPDSS DSSF.F_FIRST,1, DIR.M_Archive + \ SPDSS DSSF.F_FIRST,1, DIR.M_Archive + \
DIR.M_Dir + \ DIR.M_Dir + \
DIR.M_System + \ DIR.M_System + \
@ -226,7 +212,7 @@ LoadFile CALL JUMPS.SetClock
INC HL INC HL
LoadFl1 LD A,D LoadFl1 LD A,D
OR E OR E
LD A,0x1E LD A,ERR_DSS.NOT_ENOUGH_MEMORY
PUSH AF PUSH AF
CALL NZ,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ï⨠CALL NZ,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
POP AF POP AF
@ -239,7 +225,7 @@ LoadFl1 LD A,D
LD H,B LD H,B
OR A OR A
SBC HL,DE SBC HL,DE
LD A,0x1E LD A,ERR_DSS.NOT_ENOUGH_MEMORY
PUSH DE PUSH DE
PUSH AF PUSH AF
CALL C,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ï⨠CALL C,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
@ -247,11 +233,11 @@ LoadFl1 LD A,D
POP DE POP DE
JP C,LoadExit JP C,LoadExit
LD IX,ProcessView LD IX,ProcessView
LD (IX+PROC.MAXL1),E LD (IX+PROC.MAX_PAGES),E
LD (IX+PROC.MAXH1),D LD (IX+PROC.MAX_PAGES + 1),D
SUB A SUB A
LD (IX+PROC.MAXL2),A LD (IX+PROC.MAX_PAGES + 2),A
LD (IX+PROC.MAXH2),A LD (IX+PROC.MAX_PAGES + 3),A
PUSH DE PUSH DE
CALL JUMPS.InitProcess CALL JUMPS.InitProcess
POP DE POP DE
@ -270,10 +256,10 @@ LoadFl1 LD A,D
W_END W_END
SPDSS DSSF.CURDISK SPDSS DSSF.CURDISK
LD HL,WorkBuffer LD HL,WorkBuffer
ADD A,"A" ADD A,'A'
LD (HL),A LD (HL),A
INC HL INC HL
LD (HL),":" LD (HL),':'
INC HL INC HL
PUSH HL PUSH HL
SPDSS DSSF.CURDIR SPDSS DSSF.CURDIR
@ -283,7 +269,7 @@ LoadFl1 LD A,D
CP (HL) CP (HL)
JR NZ,.L2 JR NZ,.L2
DEC HL DEC HL
LD A,0x5C LD A,'\\'
CP (HL) CP (HL)
INC HL INC HL
JR Z,.L3 JR Z,.L3
@ -385,33 +371,32 @@ NoRead LD A,(FVMemIndef)
JR LoadExit JR LoadExit
FVNextProcess LD IX,ProcessView FVNextProcess LD IX,ProcessView
LD L,(IX+PROC.CURL1) LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURH1) LD H,(IX+PROC.CURR_PAGE + 1)
INC HL INC HL
LD (IX+PROC.CURL1),L LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURH1),H LD (IX+PROC.CURR_PAGE + 1),H
LD A,H LD A,H
OR L OR L
JR NZ,.NextPr1 JR NZ,.NextPr1
LD L,(IX+PROC.CURL2) LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURH2) LD H,(IX+PROC.CURR_PAGE + 3)
INC HL INC HL
LD (IX+PROC.CURL2),L LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURH2),H LD (IX+PROC.CURR_PAGE + 3),H
.NextPr1 CALL JUMPS.PrnProcess .NextPr1 JP JUMPS.PrnProcess
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
ProcessView DEFW 0x00B2 ProcessView DW 178
DEFW 0x0075 DW 117
DEFW 0x011C DW 284
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFB 0x4F DB COLORP.BLUE + COLORI.WHITE
;FVCorrBigChar CP 0x41 ;FVCorrBigChar CP 0x41
; RET C ; RET C
@ -469,7 +454,7 @@ InitViewScr LD HL,FVFLen
LD C,(IX+32) LD C,(IX+32)
LD B,0x08 LD B,0x08
InitVS0 RL C InitVS0 RL C
LD A,"-" LD A,'-'
JR NC,.L3 JR NC,.L3
LD A,(HL) LD A,(HL)
.L3 LD (DE),A .L3 LD (DE),A
@ -514,7 +499,7 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
CP (HL) CP (HL)
JR NZ,.L4 JR NZ,.L4
DEC HL DEC HL
LD A,0x5C LD A,'\\'
CP (HL) CP (HL)
INC HL INC HL
JR Z,.L5 JR Z,.L5
@ -542,12 +527,11 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
LD B,0x08 LD B,0x08
EXX EXX
LD A,0x02 LD A,0x02
CALL JUMPS.SetCMOSPrint JP JUMPS.SetCMOSPrint
RET
FVFAtributs DEFB "--ad-shr" FVFAtributs DEFB "--ad-shr"
;„ â  ; „ â 
FVGetData EX DE,HL FVGetData EX DE,HL
LD A,(IX+24) LD A,(IX+24)
AND 0x1F AND 0x1F
@ -564,19 +548,19 @@ FVGetData EX DE,HL
CALL FVGet8Bit CALL FVGet8Bit
LD (HL),"." LD (HL),"."
INC HL INC HL
LD A,(IX+25) ;ƒ®¤ LD A,(IX+25) ; ƒ®¤
SRL A SRL A
ADD A,80 ADD A,80
.L2 SUB 100 .L2 SUB 100
JR NC,.L2 JR NC,.L2
ADD A,100 ;ƒ®¤ ADD A,100 ; ƒ®¤
CALL FVGet8Bit CALL FVGet8Bit
EX DE,HL EX DE,HL
RET RET
;∴• ; ∴•
FVGetTime EX DE,HL FVGetTime EX DE,HL
LD A,(IX+23) ;— áë LD A,(IX+23) ; — áë
AND 0xF8 AND 0xF8
RRA RRA
RRA RRA
@ -610,21 +594,19 @@ FVGet8Bit LD B,0x2F
FVBytes DEFB "bytes" FVBytes DEFB "bytes"
;[]==========================================================[] ;[]==========================================================[]
InitStatusLine LD A,(ViewMode) InitStatusLine CALL InitCodePage
LD A,(ViewMode)
OR A OR A
JP NZ,HEXstatus JP NZ,HEXstatus
ASCIIstatus LD HL,UnWrapT ASCIIstatus LD HL,UnWrapT
LD DE,0x005E LD DE,94
LD A,(ASCIImode) LD A,(ASCIImode)
OR A OR A
JR Z,.L1 JR Z,.L1
LD HL,WrapT LD HL,WrapT
LD DE,0x0064 LD DE,100
.L1 LD (ASCIIx),DE .L1 LD (ASCIIx),DE ; ¯®§¨æ¨ï ¯¥ç â¨ ¯® X
LD DE,ASCIIm LD (ASCIIm),HL ;  ¤à¥á ⥪áâ  ª®â®àë© ¯¥ç â âì
LD BC,0x0009
LDIR
CALL InitCodePage
MAKEWINDOW WINSUBOBJ.WOBIND MAKEWINDOW WINSUBOBJ.WOBIND
W_HORIZLINE 0,241,640 W_HORIZLINE 0,241,640
W_FILL 2,243,636,12,COLORI.HIGHGRAY W_FILL 2,243,636,12,COLORI.HIGHGRAY
@ -632,26 +614,23 @@ ASCIIstatus LD HL,UnWrapT
W_BUTTON 0,242,80,14 W_BUTTON 0,242,80,14
W_TEXT 18,245,COLORP.HIGHGRAY,"F1 About" W_TEXT 18,245,COLORP.HIGHGRAY,"F1 About"
W_BUTTON 80,242,80,14 W_BUTTON 80,242,80,14
W_TEXT 94,245,COLORP.HIGHGRAY,"F2 UnWrap" W_ADRTEXT 94,245,COLORP.HIGHGRAY,0
ASCIIx: EQU $ - STRLEN("F2 UnWrap") - 6 ASCIIx: EQU $ - 7
ASCIIm: EQU $ - STRLEN("F2 UnWrap") - 1 ASCIIm: EQU $ - 2
W_BUTTON 160,242,80,14 W_BUTTON 160,242,80,14
W_TEXT 184,245,COLORP.HIGHGRAY,"F4 Hex" W_TEXT 184,245,COLORP.HIGHGRAY,"F4 Hex"
W_BUTTON 400,242,80,14 W_BUTTON 400,242,80,14
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print" W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
W_BUTTON 480,242,80,14 W_BUTTON 480,242,80,14
W_TEXT 504,245,COLORP.HIGHGRAY,"F8 DOS" W_ADRTEXT 504,245,COLORP.HIGHGRAY,0
ASCIIenc: EQU $ - STRLEN("DOS") - 1 ASCIIenc1: EQU $ - 2
W_BUTTON 560,242,80,14 W_BUTTON 560,242,80,14
W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit" W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
W_END W_END
RET RET
UnWrapT DEFB "F2 UnWrap" UnWrapT DZ "F2 UnWrap"
WrapT DEFB "F2 Wrap " WrapT DZ "F2 Wrap "
EncDos: DEFB "DOS"
EncWin: DEFB "WIN"
EncKoi: DEFB "KOI"
HEXstatus HEXstatus
MAKEWINDOW WINSUBOBJ.WOBIND MAKEWINDOW WINSUBOBJ.WOBIND
@ -666,6 +645,9 @@ HEXstatus
W_TEXT 258,245,COLORP.HIGHGRAY,"F5 Go to" W_TEXT 258,245,COLORP.HIGHGRAY,"F5 Go to"
W_BUTTON 400,242,80,14 W_BUTTON 400,242,80,14
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print" W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
W_BUTTON 480,242,80,14
W_ADRTEXT 504,245,COLORP.HIGHGRAY,0
ASCIIenc2: EQU $ - 2
W_BUTTON 560,242,80,14 W_BUTTON 560,242,80,14
W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit" W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
W_END W_END
@ -678,7 +660,7 @@ About
W_FILL 4,2,312,10,COLORP.BLACK W_FILL 4,2,312,10,COLORP.BLACK
W_TEXT 144,3,COLORI.WHITE,"About" W_TEXT 144,3,COLORI.WHITE,"About"
W_TEXT 96,18,COLORP.HIGHGRAY,"Flex Navigator File Viewer" W_TEXT 96,18,COLORP.HIGHGRAY,"Flex Navigator File Viewer"
W_TEXT 144,28,COLORP.HIGHGRAY,"v\{FLEX_VERS.VIEWER}" W_TEXT 96,28,COLORP.HIGHGRAY,"v\{FLEX_VERS.VIEWER} build \{BUILDDATE}"
W_TEXT 18,40,COLORP.HIGHGRAY,"Programming: (C)2000 Enin Anton" W_TEXT 18,40,COLORP.HIGHGRAY,"Programming: (C)2000 Enin Anton"
W_TEXT 92,50,COLORP.HIGHGRAY,"(C)2021 Mikhaltchenkov Dmitry" W_TEXT 92,50,COLORP.HIGHGRAY,"(C)2021 Mikhaltchenkov Dmitry"
W_BUTTON 124,66,72,14 W_BUTTON 124,66,72,14
@ -697,7 +679,7 @@ AboutLoop LD IX,FVAboutTab
CP 0x0D CP 0x0D
JR Z,AboutExt JR Z,AboutExt
RES 5,A RES 5,A
CP "O" CP 'O'
JR NZ,AboutLoop JR NZ,AboutLoop
AboutExt AboutExt
WINDOWCLOSE WINDOWCLOSE
@ -708,7 +690,7 @@ ScrollSCRup LD DE,0x241C
JR ScrlSCRDnUp JR ScrlSCRDnUp
ScrollSCRdown LD DE,0x1C24 ScrollSCRdown LD DE,0x1C24
;<3B>  ¢å®¤: ; <EFBFBD>  ¢å®¤:
; D - Y ®âªã¤  ; D - Y ®âªã¤ 
; … - Y ªã¤  ; … - Y ªã¤ 
ScrlSCRDnUp DI ScrlSCRDnUp DI
@ -747,19 +729,19 @@ ScSCRN1 LD A,D
InitFPages PUSH HL InitFPages PUSH HL
LD DE,(TempShift) LD DE,(TempShift)
LD HL,(TempShift+2) LD HL,(TempShift+2)
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
RLA RLA
RL L RL L
RLA RLA
RL L RL L
LD A,L LD A,L
EXX EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
RES 7,D ;‚ª«.á 0x4000 RES 7,D ; ‚ª«.á 0x4000
SET 6,D SET 6,D
POP HL POP HL
RET RET
@ -769,8 +751,8 @@ TestFPages BIT 7,D
RES 7,D RES 7,D
SET 6,D SET 6,D
EXX EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥ INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
EXX EXX
RET RET
@ -799,13 +781,13 @@ GetFPages PUSH HL
RET RET
;[]==========================================================[] ;[]==========================================================[]
;<3B>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨ï â ¡«¨æë ¯à®æ¥­â®¢ ; <EFBFBD>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨ï â ¡«¨æë ¯à®æ¥­â®¢
InitVProc LD A,0x01 InitVProc LD A,0x01
LD (ProcFlag),A ;”« £ ¢ë¢®¤  ¯à®æ¥­â®¢ LD (ProcFlag),A ; ”« £ ¢ë¢®¤  ¯à®æ¥­â®¢
LD A,(ViewMode) LD A,(ViewMode)
OR A OR A
JR NZ,InProcHex JR NZ,InProcHex
;<3B>à®æ¥­âë ¤«ï TextWrap ; <EFBFBD>à®æ¥­âë ¤«ï TextWrap
InProcASCII LD HL,(FileLenght) InProcASCII LD HL,(FileLenght)
LD DE,(FileLenght+2) LD DE,(FileLenght+2)
LD B,0x19 LD B,0x19
@ -816,7 +798,7 @@ InProcA PUSH BC
DJNZ InProcA DJNZ InProcA
JR InitProc JR InitProc
;<3B>à®æ¥­âë ¤«ï Hex ; <EFBFBD>à®æ¥­âë ¤«ï Hex
InProcHex LD HL,(FileLenght) InProcHex LD HL,(FileLenght)
LD DE,(FileLenght+2) LD DE,(FileLenght+2)
LD BC,0x0190 LD BC,0x0190
@ -832,21 +814,21 @@ InProcHex LD HL,(FileLenght)
OR D OR D
OR E OR E
RET Z RET Z
;<3B>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ â ¡«¨æë ¯à®æ¥­â®¢ ; <EFBFBD>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ â ¡«¨æë ¯à®æ¥­â®¢
;<3B>  ¢å®¤: ; <EFBFBD>  ¢å®¤:
; DE+HL - „«¨­  ä ©« -1áâà ­¨æ  ; DEHL - „«¨­  ä ©«  - 1 áâà ­¨æ 
InitProc PUSH HL InitProc PUSH HL
PUSH DE PUSH DE
EX DE,HL EX DE,HL
LD BC,100 ;„«¨­  ä ©« /100 (%) LD BC,100 ; „«¨­  ä ©« /100 (%)
CALL JUMPS.Divis32 CALL JUMPS.Divis32
LD (Coeff1+1),DE ;<3B>®«ãç ¥¬ ª®«-¢® ¡ ©â ­  LD (Coeff1+1),DE ; <EFBFBD>®«ãç ¥¬ ª®«-¢® ¡ ©â ­ 
LD (Coeff2+1),HL ;®¤¨­ ¯à®æ¥­â LD (Coeff2+1),HL ; ®¤¨­ ¯à®æ¥­â
LD IX,ProcentTab LD IX,ProcentTab
LD HL,0x0000 LD HL,0x0000
LD E,L LD E,L
LD D,H LD D,H
LD BC,0x6300 ;ƒ¥­¥à¨¬ â ¡«¨æã LD BC,0x6300 ; ƒ¥­¥à¨¬ â ¡«¨æã
LD (IX+0x00),L LD (IX+0x00),L
INC IX INC IX
LD (IX+0x00),H LD (IX+0x00),H
@ -858,7 +840,7 @@ InitProc PUSH HL
LD (IX+0x00),C LD (IX+0x00),C
INC IX INC IX
INC C INC C
;¤«ï ª ¦¤®£® ¯à®æ¥­â  ; ¤«ï ª ¦¤®£® ¯à®æ¥­â 
CoeffLoop PUSH BC CoeffLoop PUSH BC
Coeff1 LD BC,0x0000 Coeff1 LD BC,0x0000
ADD HL,BC ADD HL,BC
@ -881,7 +863,7 @@ Coeff2 LD BC,0x0000
DJNZ CoeffLoop DJNZ CoeffLoop
POP DE POP DE
POP HL POP HL
LD (IX+0x00),L ;Œ ªá.¯à®æ¥­â LD (IX+0x00),L ; Œ ªá.¯à®æ¥­â
INC IX INC IX
LD (IX+0x00),H LD (IX+0x00),H
INC IX INC IX
@ -895,55 +877,55 @@ Coeff2 LD BC,0x0000
RET RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
;<3B>à®æ¥¤ãà  ¯à®áç¥â  ¨ ¯¥ç â¨ ¯à®æ¥­â® ; <EFBFBD>à®æ¥¤ãà  ¯à®áç¥â  ¨ ¯¥ç â¨ ¯à®æ¥­â®
PrintVProc LD HL,PutProcent PrintVProc LD HL,PutProcent
PUSH HL ;‚ë室¨¬ ­  ¯¥ç âì PUSH HL ; ‚ë室¨¬ ­  ¯¥ç âì
LD A,(ProcFlag) LD A,(ProcFlag)
OR A OR A
LD A,100 LD A,100
RET NZ ;“¦¥ ¢á¥ 100% RET NZ ; “¦¥ ¢á¥ 100%
LD IX,ProcentTab+250 ;‘¥à¨¤¨­  â ¡«¨æë ¯à®æ.50% LD IX,ProcentTab+250 ; ‘¥à¨¤¨­  â ¡«¨æë ¯à®æ.50%
LD HL,(FileShift) ;’¥ªã饥 ᬥ饭¨¥ LD HL,(FileShift) ; ’¥ªã饥 ᬥ饭¨¥
LD DE,(FileShift+2) LD DE,(FileShift+2)
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.? CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,LowTest ;<50% JR C,LowTest ; <50%
LD A,(IX+0x04) LD A,(IX+0x04)
RET Z ;=50% RET Z ; =50%
LD IX,ProcentTab+375 ;’ ¡«¨æ  á 75% LD IX,ProcentTab+375 ; ’ ¡«¨æ  á 75%
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.? CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,Test2 ;50%<X<75% JR C,Test2 ; 50%<X<75%
;<3B>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢¢¥àå ¯® â ¡«¨æ¥ ; <EFBFBD>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢¢¥àå ¯® â ¡«¨æ¥
Test1 LD A,(IX+0x04) ;’¥ªã騩 ¯à®æ¥­â Test1 LD A,(IX+0x04) ; ’¥ªã騩 ¯à®æ¥­â
RET Z ;X=% RET Z ; X=%
RET C ;X<% RET C ; X<%
CP 100 ;Š®­¥ç­ë© ¯à®æ¥­â CP 100 ; Š®­¥ç­ë© ¯à®æ¥­â
RET Z RET Z
LD BC,0x0005 ;ˆé¥¬ ¢¢¥àå ¯® â ¡«¨æ¥ LD BC,0x0005 ; ˆé¥¬ ¢¢¥àå ¯® â ¡«¨æ¥
ADD IX,BC ;<3B>ã¦­ë© ¯à®æ¥­â ADD IX,BC ; <20>ã¦­ë© ¯à®æ¥­â
CALL TestProcent CALL TestProcent
JR Test1 JR Test1
;<3B>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢­¨§ ¯® â ¡«¨æ¥ ; <EFBFBD>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢­¨§ ¯® â ¡«¨æ¥
Test2 LD A,(IX+0x04) ;’¥ªã騩 ¯à®æ¥­â Test2 LD A,(IX+0x04) ; ’¥ªã騩 ¯à®æ¥­â
RET Z ;X=% RET Z ; X=%
RET NC ;X>% RET NC ; X>%
OR A OR A
RET Z RET Z
LD BC,-0x0005 ;ˆé¥¬ ¢­¨§ ¯® â ¡«¨æ¥ LD BC,-0x0005 ; ˆé¥¬ ¢­¨§ ¯® â ¡«¨æ¥
ADD IX,BC ;<3B>ã¦­ë© ¯à®æ¥­â ADD IX,BC ; <20>ã¦­ë© ¯à®æ¥­â
CALL TestProcent CALL TestProcent
JR Test2 JR Test2
;X<50% ; X<50%
LowTest LD IX,ProcentTab+125 ;’ ¡«¨æ  á 25% LowTest LD IX,ProcentTab+125 ; ’ ¡«¨æ  á 25%
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.? CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,Test2 ;01%<X<25% JR C,Test2 ; 01%<X<25%
JR Test1 ;25%<X<50% JR Test1 ; 25%<X<50%
;<EFBFBD>à®æ¥¤ãà  â¥áâ¨à®¢ ­¨ï ⥪ã饣® ᬥ饭¨ï ; <20>à®æ¥¤ãà  â¥áâ¨à®¢ ­¨ï ⥪ã饣® ᬥ饭¨ï
;<3B>  ¢å®¤: ; <EFBFBD>  ¢å®¤:
; DE+HL - ’¥ªã饥 ᬥ饭¨¥ ; DEHL - ’¥ªã饥 ᬥ饭¨¥
;<3B>  ¢ë室: ; <EFBFBD>  ¢ë室:
; Z - ’¥ª.ᬥé=¯à®æ¥­â ; Z - ’¥ª.ᬥé=¯à®æ¥­â
; C - ’¥ª.ᬥé<¯à®æ¥­â ; C - ’¥ª.ᬥé<¯à®æ¥­â
; NC - ’¥ª.ᬥé>¯à®æ¥­â ; NC - ’¥ª.ᬥé>¯à®æ¥­â
@ -966,7 +948,7 @@ TestProcent PUSH HL
POP HL POP HL
RET RET
;<3B>à®æ¥¤ãà  ¢ë¢®¤  ¯à®æ¥­â®¢ ; <EFBFBD>à®æ¥¤ãà  ¢ë¢®¤  ¯à®æ¥­â®¢
PutProcent LD HL,ProcText PutProcent LD HL,ProcText
PUSH HL PUSH HL
LD BC,0x2F00 LD BC,0x2F00
@ -976,7 +958,7 @@ PutProcent LD HL,ProcText
ADD A,100 ADD A,100
EX AF,AF' EX AF,AF'
LD A,B LD A,B
CP "0" CP '0'
JR Z,.L2 JR Z,.L2
SET 0,C SET 0,C
.L2 BIT 0,C .L2 BIT 0,C
@ -992,7 +974,7 @@ PutProcent LD HL,ProcText
ADD A,10 ADD A,10
EX AF,AF' EX AF,AF'
LD A,B LD A,B
CP "0" CP '0'
JR Z,.L5 JR Z,.L5
SET 0,C SET 0,C
.L5 BIT 0,C .L5 BIT 0,C
@ -1001,33 +983,37 @@ PutProcent LD HL,ProcText
.L6 LD (HL),A .L6 LD (HL),A
INC HL INC HL
EX AF,AF' EX AF,AF'
ADD A,"0" ADD A,'0'
LD (HL),A LD (HL),A
POP HL POP HL
LD DE,0x0250 LD DE,0x0250
LD BC,0x0011 LD BC,0x0011
LD A,0x80 LD A,0x80
CALL JUMPS.PrnTxtLnNorm JP JUMPS.PrnTxtLnNorm
RET
InitCodePage: LD A,0 InitCodePage: LD A,0
CodePage EQU $-1 CodePage EQU $-1
LD L,A LD L,A
LD H,0 ADD A,A
ADD HL,HL ADD A,L
ADD A,A
ADD A,L
LD HL,EncDos
ADD A,L ADD A,L
LD L,A LD L,A
LD DE,EncDos ADC A,H
ADD HL,DE SUB L
LD DE,ASCIIenc LD H,A
LD BC,3 LD (ASCIIenc1),HL
LDIR LD (ASCIIenc2),HL
LD A, (CodePage) LD A,(CodePage)
AND A AND A
JR NZ,.next JR NZ,.next
LD HL,0 LD HL,0
.call: LD (PutLine2),A .call: LD (PutLine2),A
LD (PutLine2 + 1),HL LD (PutLine2 + 1),HL ; ¤«ï ०¨¬  ¯à®á¬®âà  TEXT
LD (DECODE4HEX),A
LD (DECODE4HEX + 1),HL ; ¤«ï ०¨¬  ¯à®á¬®âà  HEX
RET RET
.next: DEC A .next: DEC A
@ -1036,12 +1022,16 @@ CodePage EQU $-1
LD HL,TableKoi LD HL,TableKoi
.next1: LD (DecodeSymbol.table),HL .next1: LD (DecodeSymbol.table),HL
LD HL,DecodeSymbol LD HL,DecodeSymbol
LD A, 0xCD LD A,0xCD
JR .call JR .call
ProcText DEFB " %",0 EncDos: DZ "F8 DOS"
ProcFlag DEFB 0x00 EncWin: DZ "F8 WIN"
ProcentTab DUPL 505,0 EncKoi: DZ "F8 KOI"
ProcText DZ " %"
ProcFlag DB 0
ASCIImode DB 1 ; ¯à¨ § ¯ã᪥ ०¨¬ TEXT
;[]==========================================================[] ;[]==========================================================[]
include fvtext.a80 include fvtext.a80
@ -1049,33 +1039,48 @@ ProcentTab DUPL 505,0
include fvprn.a80 include fvprn.a80
;[]==========================================================[] ;[]==========================================================[]
ASCIItab: DEFW 0x0050,0x0230,0x001C,0x007F,0x00,0x0000,TLineUpMs,TBegFile ASCIItab: DW 80,560, 28,127,%0000000000000000,%0000000000000000,TLineUpMs,TBegFile
DEFW 0x0050,0x0230,0x0080,0x00E4,0x00,0x0000,TLineDwnMs,TEndFile DW 80,560,128,228,%0000000000000000,%0000000000000000,TLineDwnMs,TEndFile
DEFW 0x0000,0x0050,0x001C,0x00E4,0x00,0x0000,TPageUpMs,ScrollLeft DW 0, 80, 28,228,%0000000000000000,%0000000000000000,TPageUpMs,ScrollLeft
DEFW 0x0230,0x0280,0x001C,0x00E4,0x00,0x0000,TPageDwnMs,ScrollRght DW 560,640, 28,228,%0000000000000000,%0000000000000000,TPageDwnMs,ScrollRght
DEFW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000,About,0x0000 DW 0, 80,242,256,%0000000000000001,%0000000000000000,About,0
DEFW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000,ChASCIImode,0x0000 DW 80,160,242,256,%0000000000000001,%0000000000000000,ChASCIImode,0
DEFW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000,ChViewer,0x0000 DW 160,240,242,256,%0000000000000001,%0000000000000000,ChViewer,0
DEFW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000,ChCodePage,0x0000 DW 400,480,242,256,%0000000000000001,%0000000000000000,FVPrintFile,0
DEFW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000,FVPrintFile,0x0000 DW 480,560,242,256,%0000000000000001,%0000000000000000,ChCodePage,0
DEFW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000,ViewerExit,0x0000 DW 560,640,242,256,%0000000000100001,%0000000000000000,ViewerExit,0
DEFW 0x8000 DW 0x8000
HEXtab: DEFW 0x0050,0x0230,0x001C,0x007F,0x00,0x0000,HLineUpMs,HBegFile HEXtab: DW 80,560, 28,127,%0000000000000000,%0000000000000000,HLineUpMs,HBegFile
DEFW 0x0050,0x0230,0x0080,0x00E4,0x00,0x0000,HLineDwnMs,HEndFile DW 80,560,128,228,%0000000000000000,%0000000000000000,HLineDwnMs,HEndFile
DEFW 0x0000,0x0050,0x001C,0x00E4,0x00,0x0000,HPageUpMs,0x0000 DW 0, 80, 28,228,%0000000000000000,%0000000000000000,HPageUpMs,0
DEFW 0x0230,0x0280,0x001C,0x00E4,0x00,0x0000,HPageDwnMs,0x0000 DW 560,640, 28,228,%0000000000000000,%0000000000000000,HPageDwnMs,0
DEFW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000,About,0x0000 DW 0, 80,242,256,%0000000000000001,%0000000000000000,About,0
DEFW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000,ChViewer,0x0000 DW 160,240,242,256,%0000000000000001,%0000000000000000,ChViewer,0
DEFW 0x00F0,0x0140,0x00F2,0x0100,0x01,0x0000,HGoTo,0x0000 DW 240,320,242,256,%0000000000000001,%0000000000000000,HGoTo,0
DEFW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000,FVPrintFile,0x0000 DW 400,480,242,256,%0000000000000001,%0000000000000000,FVPrintFile,0
DEFW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000,ViewerExit,0x0000 DW 480,560,242,256,%0000000000000001,%0000000000000000,ChCodePage,0
DEFW 0x8000 DW 560,640,242,256,%0000000000100001,%0000000000000000,ViewerExit,0
DW 0x8000
FVAboutTab: DEFW 0x011C,0x0164,0x008A,0x0098,0x21,0x0000,AboutExt,0x0000 FVAboutTab: DW 284,356,138,152,%0000000000100001,%0000000000000000,AboutExt,0
DEFW 0x0000,0x00A0,0x0000,0x0100,0x20,0x0000,AboutExt,0x0000 DW 0,160, 0,256,%0000000000100000,%0000000000000000,AboutExt,0
DEFW 0x01E0,0x0280,0x0000,0x0100,0x20,0x0000,AboutExt,0x0000 DW 480,640, 0,256,%0000000000100000,%0000000000000000,AboutExt,0
DEFW 0x0000,0x0280,0x0000,0x0048,0x20,0x0000,AboutExt,0x0000 DW 0,640, 0, 72,%0000000000100000,%0000000000000000,AboutExt,0
DEFW 0x0000,0x0280,0x009D,0x0100,0x20,0x0000,AboutExt,0x0000 DW 0,640,157,256,%0000000000100000,%0000000000000000,AboutExt,0
DEFW 0x8000 DW 0x8000
;[]==========================================================[] ;[]==========================================================[]
INIT_VAR $
SETVAR ViewingFile, 0x30
SETVAR ViewMode, BYTE
SETVAR ASCIIaddX, BYTE
SETVAR EmptyLines, BYTE
SETVAR FileLenght, DWORD ; „«¨­  ä ©«  (32¡¨â)
SETVAR FileShift, DWORD ; ‘¬¥é¥­¨¥ ®â ­ ç «  ä ©«  (32¡¨â)
SETVAR TempShift, DWORD ; ‚६¥­­ ï ï祩ª  ᬥ饭¨ï (32¡¨â)
SETVAR FVNextShift, DWORD ; ‘«¥¤ãîé ï áâà ­¨æ  ¤«ï ASCII (32¡¨â)
SETVAR FVMemIndef, BYTE
SETVAR FHandle, BYTE
SETVAR FVReadLen, DWORD
SETVAR ProcentTab, 505

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 24.03.2025 savelij ; LAST UPDATE: 28.07.2025 savelij
;[]==========================================================[] ;[]==========================================================[]
FVPrintFile FVPrintFile
@ -28,10 +28,10 @@ FVPrintFile
OR L OR L
JR NZ,.InitPrn JR NZ,.InitPrn
INC E INC E
.InitPrn LD (IX+PROC.MAXL1),L .InitPrn LD (IX+PROC.MAX_PAGES),L
LD (IX+PROC.MAXH1),H LD (IX+PROC.MAX_PAGES + 1),H
LD (IX+PROC.MAXL2),E LD (IX+PROC.MAX_PAGES + 2),E
LD (IX+PROC.MAXH2),0x00 LD (IX+PROC.MAX_PAGES + 3),0x00
CALL JUMPS.InitProcess CALL JUMPS.InitProcess
LD A,(ViewMode) LD A,(ViewMode)
OR A OR A
@ -82,7 +82,7 @@ PrintHEX LD HL,0x0000
PrintHEXlp CALL PrnHEXline PrintHEXlp CALL PrnHEXline
JR C,PrintHEXext JR C,PrintHEXext
LD HL,(TempShift) LD HL,(TempShift)
LD DE,0x0010 ;€¤ŕĄá ¤ ¬Ż +16 LD DE,0x0010 ; €¤à¥á ¤ ¬¯ +16
ADD HL,DE ADD HL,DE
LD (TempShift),HL LD (TempShift),HL
LD HL,(TempShift+2) LD HL,(TempShift+2)
@ -130,19 +130,19 @@ PrnHLn
GETPORT WINSP.CPU1 GETPORT WINSP.CPU1
PUSH AF PUSH AF
CALL InitFPages CALL InitFPages
LD HL,LineBuffer+1 ;ˇăäĄŕ áâப¨ LD HL,LineBuffer+1 ; ¡ãä¥à áâப¨
EXX EXX
LD HL,LineBuffer+0x3F ;¬Ąáâ® ¤«ď ASCII Ş®¤®˘ LD HL,LineBuffer+0x3F ; ¬¥áâ® ¤«ï ASCII ª®¤®¢
EXX EXX
LD A,(TempShift+3) ;Š« ¤Ą¬ ᬥ饭¨Ą LD A,(TempShift+3) ; Š« ¤¥¬ ᬥ饭¨¥
CALL PutHexNumb ;®â ­ ç «  ä ¨«  CALL PutHexNumb ; ®â ­ ç «  ä ¨« 
LD A,(TempShift+2) LD A,(TempShift+2)
CALL PutHexNumb CALL PutHexNumb
LD A,(TempShift+1) LD A,(TempShift+1)
CALL PutHexNumb CALL PutHexNumb
LD A,(TempShift) LD A,(TempShift)
CALL PutHexNumb CALL PutHexNumb
LD (HL),":" LD (HL),':'
INC L INC L
INC L INC L
PrnHLoop CALL TestFPages PrnHLoop CALL TestFPages
@ -155,7 +155,7 @@ PrnHLoop CALL TestFPages
EXX EXX
CP 0x20 CP 0x20
JR NC,.L1 JR NC,.L1
LD A,"." LD A,'.'
.L1 LD (HL),A .L1 LD (HL),A
INC L INC L
EXX EXX
@ -186,7 +186,7 @@ PrnHLoop CALL TestFPages
INC L INC L
EXX EXX
INC IXL INC IXL
LD A,IXL ; 業âॠ2 Żŕ®ˇĄ«  LD A,IXL ; 業âॠ2 ¯à®¡¥« 
CP 0x04 CP 0x04
JR Z,.FlPNx1 JR Z,.FlPNx1
CP 0x08 CP 0x08
@ -207,8 +207,7 @@ PrnHEX LD A,(HL)
CALL FVPrintCHAR CALL FVPrintCHAR
RET C RET C
LD A,0x0A LD A,0x0A
CALL FVPrintCHAR JP FVPrintCHAR
RET
FVPrintCHAR LD IXL,A FVPrintCHAR LD IXL,A
PUSH IX PUSH IX
@ -260,8 +259,8 @@ FVPrnCHAR PUSH HL
HALT HALT
JR FVPrintCHAR JR FVPrintCHAR
PrintTab DEFW 0x011C,0x0164,0x0080,0x008E,0x01,0x0000,FVStopPrint,0x0000 PrintTab DW 284,356,128,142,%0000000000000001,%0000000000000000,FVStopPrint,0
DEFW 0x8000 DW 0x8000
FVNxtPrnProc LD A,E FVNxtPrnProc LD A,E
OR A OR A
@ -272,19 +271,19 @@ FVNxtPrnProc LD A,E
EXX EXX
PUSH DE PUSH DE
LD IX,ProcessPrn LD IX,ProcessPrn
LD L,(IX+PROC.CURL1) LD L,(IX+PROC.CURR_PAGE)
LD H,(IX+PROC.CURH1) LD H,(IX+PROC.CURR_PAGE + 1)
INC HL INC HL
LD (IX+PROC.CURL1),L LD (IX+PROC.CURR_PAGE),L
LD (IX+PROC.CURH1),H LD (IX+PROC.CURR_PAGE + 1),H
LD A,H LD A,H
OR L OR L
JR NZ,.NxtProc JR NZ,.NxtProc
LD L,(IX+PROC.CURL2) LD L,(IX+PROC.CURR_PAGE + 2)
LD H,(IX+PROC.CURH2) LD H,(IX+PROC.CURR_PAGE + 3)
INC HL INC HL
LD (IX+PROC.CURL2),L LD (IX+PROC.CURR_PAGE + 2),L
LD (IX+PROC.CURH2),H LD (IX+PROC.CURR_PAGE + 3),H
.NxtProc CALL JUMPS.PrnProcess .NxtProc CALL JUMPS.PrnProcess
POP DE POP DE
EXX EXX
@ -322,13 +321,13 @@ EndJob: PUSH AF
SCF SCF
RET RET
ProcessPrn DEFW 0x00BA ProcessPrn DW 186
DEFW 0x0071 DW 113
DEFW 0x010C DW 268
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFW 0x0000 DW 0
DEFB 0x4F DB COLORP.BLUE + COLORI.WHITE

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 25.03.2025 savelij ; LAST UPDATE: 28.07.2025 savelij
;[]---------------------------------------------------------[] ;[]---------------------------------------------------------[]
PrnASCIIpage LD HL,PrintVProc PrnASCIIpage LD HL,PrintVProc
@ -10,9 +10,9 @@ PrnASCIIpage LD HL,PrintVProc
LD (TempShift+2),HL LD (TempShift+2),HL
LD B,0x1C LD B,0x1C
PrnASCIIlp PUSH BC PrnASCIIlp PUSH BC
CALL PutASCIIline ;‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­ CALL PutASCIIline ; ‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
POP BC POP BC
JR C,FillASCIIdn ;CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨ JR C,FillASCIIdn ; CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
LD A,B LD A,B
ADD A,0x08 ADD A,0x08
LD B,A LD B,A
@ -26,11 +26,11 @@ PrnASCIIlp PUSH BC
LD (EmptyLines),A LD (EmptyLines),A
RET RET
;<3B>à®æ¥¤ãà  ®âç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­  ; <EFBFBD>à®æ¥¤ãà  ®âç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­ 
FillASCIIdn LD A,0xE4 FillASCIIdn LD A,0xE4
SUB B SUB B
LD (FLenASC),A LD (FLenASC),A
JR Z,FASCIIe ;Z-­¥â ®âç¨á⪨ JR Z,FASCIIe ; Z-­¥â ®âç¨á⪨
LD A,B LD A,B
LD (FPosASC),A LD (FPosASC),A
MAKEWINDOW WINSUBOBJ.WOBIND MAKEWINDOW WINSUBOBJ.WOBIND
@ -50,7 +50,7 @@ FASCIIe LD HL,(TempShift)
LD (EmptyLines),A LD (EmptyLines),A
RET RET
;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­ ; <EFBFBD>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­
PutASCIIline LD IXH,B PutASCIIline LD IXH,B
LD A,(ASCIImode) LD A,(ASCIImode)
OR A OR A
@ -155,9 +155,10 @@ DecodeSymbol: CP 0x80
.table EQU $-2 .table EQU $-2
ADD A,L ADD A,L
LD L,A LD L,A
JR NC,.L1 ADC A,H
INC H SUB L
.L1 LD A,(HL) LD H,A
LD A,(HL)
POP HL POP HL
RET RET
@ -253,8 +254,7 @@ ScrollLeft LD A,(ASCIImode)
RET Z RET Z
DEC A DEC A
LD (ASCIIaddX),A LD (ASCIIaddX),A
CALL PrnASCIIpage JP PrnASCIIpage
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
ScrollRght LD A,(ASCIImode) ScrollRght LD A,(ASCIImode)
@ -265,8 +265,7 @@ ScrollRght LD A,(ASCIImode)
RET Z RET Z
INC A INC A
LD (ASCIIaddX),A LD (ASCIIaddX),A
CALL PrnASCIIpage JP PrnASCIIpage
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
THome LD A,(ASCIImode) THome LD A,(ASCIImode)
@ -277,8 +276,7 @@ THome LD A,(ASCIImode)
RET Z RET Z
SUB A SUB A
LD (ASCIIaddX),A LD (ASCIIaddX),A
CALL PrnASCIIpage JP PrnASCIIpage
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
TEnd LD A,(ASCIImode) TEnd LD A,(ASCIImode)
@ -289,8 +287,7 @@ TEnd LD A,(ASCIImode)
RET Z RET Z
LD A,0xA0 LD A,0xA0
LD (ASCIIaddX),A LD (ASCIIaddX),A
CALL PrnASCIIpage JP PrnASCIIpage
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
TLineUpMs CALL TLineUp TLineUpMs CALL TLineUp
@ -335,7 +332,7 @@ TLineUp LD HL,(FileShift)
LD (FVNextShift+2),DE LD (FVNextShift+2),DE
TLineU1 CALL ScrollSCRdown TLineU1 CALL ScrollSCRdown
LD B,0x1C LD B,0x1C
CALL PutASCIIline ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã CALL PutASCIIline ; ‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
CALL PrintVProc CALL PrintVProc
OR A OR A
RET RET
@ -379,7 +376,7 @@ TLineDwn LD HL,(FVNextShift)
LD (TempShift+2),DE LD (TempShift+2),DE
CALL ScrollSCRup CALL ScrollSCRup
LD B,0xDC LD B,0xDC
CALL PutASCIIline ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã CALL PutASCIIline ; ‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
LD HL,(TempShift) LD HL,(TempShift)
LD DE,(TempShift+2) LD DE,(TempShift+2)
LD (FVNextShift),HL LD (FVNextShift),HL
@ -475,8 +472,7 @@ TBegFile LD HL,JUMPS.ResFire
LD HL,0x0000 LD HL,0x0000
LD (FileShift),HL LD (FileShift),HL
LD (FileShift+2),HL LD (FileShift+2),HL
CALL PrnASCIIpage JP PrnASCIIpage
RET
;[]----------------------------------------------------------[] ;[]----------------------------------------------------------[]
TEndFile LD HL,JUMPS.ResFire TEndFile LD HL,JUMPS.ResFire
@ -500,8 +496,7 @@ TEndFl1 PUSH BC
DJNZ TEndFl1 DJNZ TEndFl1
LD (FileShift),HL LD (FileShift),HL
LD (FileShift+2),DE LD (FileShift+2),DE
CALL PrnASCIIpage JP PrnASCIIpage
RET
;[]==========================================================[] ;[]==========================================================[]
SearchUp LD B,0xF0 SearchUp LD B,0xF0
@ -520,13 +515,13 @@ SearchUp LD B,0xF0
PUSH AF PUSH AF
PUSH HL PUSH HL
PUSH DE PUSH DE
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
RLA RLA
RL E RL E
RLA RLA
RL E RL E
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
RES 7,H RES 7,H
SET 6,H SET 6,H
@ -667,13 +662,13 @@ SrchDE EQU $-2
PUSH AF PUSH AF
PUSH HL PUSH HL
PUSH DE PUSH DE
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
RLA RLA
RL E RL E
RLA RLA
RL E RL E
LD D,HIGH (PagesList) LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ  LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0 SETPORT WINSP.CPU1,,0
RES 7,H RES 7,H
SET 6,H SET 6,H
@ -745,6 +740,7 @@ SrchEEx POP DE
OR A OR A
RET RET
; CP866
Table866: db 0x3F,0x3F,0x27,0x3F,0x22,0x3A,0xC5,0xD8 Table866: db 0x3F,0x3F,0x27,0x3F,0x22,0x3A,0xC5,0xD8
db 0x3F,0x25,0x3F,0x3C,0x3F,0x3F,0x3F,0x3F db 0x3F,0x25,0x3F,0x3C,0x3F,0x3F,0x3F,0x3F
db 0x3F,0x27,0x27,0x22,0x22,0x07,0x2D,0x2D db 0x3F,0x27,0x27,0x22,0x22,0x07,0x2D,0x2D
@ -761,7 +757,7 @@ Table866: db 0x3F,0x3F,0x27,0x3F,0x22,0x3A,0xC5,0xD8
db 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF db 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF
db 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7 db 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7
db 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF db 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF
; koi8-r ; KOI8-R
TableKoi: db 0xC4,0xB3,0xDA,0xBF,0xC0,0xD9,0xC3,0xB4 TableKoi: db 0xC4,0xB3,0xDA,0xBF,0xC0,0xD9,0xC3,0xB4
db 0xC2,0xC1,0xC5,0xDF,0xDC,0xDB,0xDD,0xDE db 0xC2,0xC1,0xC5,0xDF,0xDC,0xDB,0xDD,0xDE
db 0xB0,0xB1,0xB2,0xF4,0xFE,0xF9,0xFB,0xF7 db 0xB0,0xB1,0xB2,0xF4,0xFE,0xF9,0xFB,0xF7

View File

@ -3,26 +3,10 @@ Flex Navigator для компьютера Sprinter
Собранные файлы забирать из папки fn Собранные файлы забирать из папки fn
`FileEditor.flx 1.10:`
`CDplayer.flx 1.1:` - устранено перепутанные кнопки для нажатий мышью для F7 и F9.
- плагин доделан, описание/history в cdplayer.txt рядом с плагином. `FileViewer.flx 1.06:`
- добавлено переключение кодировки в режиме HEX просмотра.
`FE 1.09:` `FlexNavigaror 1.16.01:`
- исправлено: при выходе из редактора с несохраненным файлом и запросе на - исправлен вылет при создании нового файла по Shift+F4 или просмотр с
сохранение клавиша Enter теперь работает как подтверждение сохранения. вводом имени по Shift+F3, плагин был не загружен.
`FN 1.16:`
- исправлен возрат текущей директории после загрузки плагина.
- встроенный editor переехал в плагин откуда и запускается по F4, из FN удален.
- встроенный viewer переехал в плагин откуда и запускается по F3, из FN удален.
- встроенный help переехал в плагин откуда и запускается при нажатии F1,
из FN удален.
- загрузка плагина отделена от запуска, теперь можно запускать плагины не
только из панели FN.
- добавлен макрос формирования заголовка для плагинов.
- добавлена поддержка работы плагинов в адреса 0x4000-0x7FFF (окно 1) в
дополнение к старым 0xC000-0xBFFF (окно 3), пока используется в плагине
cdplayer.
- в окнах с ошибкой переделан на 2 типа окон вместо многих под каждую ошибку.
- исправлена потеря цвета при печати текста по указанному адресу.
- текстовым файлам вернул кодировку CP866, readme.md оставлен в кодировке UTF8.