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,15 +41,16 @@ 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
@ -59,86 +58,91 @@ TEditLoop LD IX,FEASCIItab
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 ; <20>à®á¬®âà ¢ HEX JP Z,ChEditor ; <20>à®á¬®âà ¢ 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
@ -148,80 +152,56 @@ HEditLoop LD IX,FEHEXtab
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 ; <20>à®á¬®âà ¢ ⥪á⥠JP Z,ChEditor ; <20>à®á¬®âà ¢ ⥪áâ¥
CP 0x3F ;F5 CP SC.F5 ; F5
JP Z,FEHGoTo ; <20>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï JP Z,FEHGoTo ; <20>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
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
@ -21,10 +21,9 @@ 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
@ -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
@ -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
@ -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,7 +877,7 @@ 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
@ -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)
@ -1199,8 +1203,7 @@ 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
@ -1341,6 +1344,7 @@ 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)
@ -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,5 +1,5 @@
; LAST UPDATE: 20.03.2025 savelij ; LAST UPDATE: 28.07.2025 savelij
;-------------------------------------------------------------- ;--------------------------------------------------------------
; <20>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©«  ; <20>à®æ¥¤ãà  ¯¥ç â¨ áâà ­¨æë ¤ ¬¯  á ⥪.ᬥé. ®â ­ ç «  ä ©« 
@ -89,6 +89,7 @@ PutHLn
EXX EXX
LD HL,LineBuffer+0x3F ; ¬¥áâ® ¤«ï ASCII ª®¤®¢ LD HL,LineBuffer+0x3F ; ¬¥áâ® ¤«ï ASCII ª®¤®¢
EXX EXX
; 32-å ¡¨â­®¥ ᬥ饭¨¥
LD A,(TempShift+3) ; Š« ¤¥¬ ᬥ饭¨¥ LD A,(TempShift+3) ; Š« ¤¥¬ ᬥ饭¨¥
CALL PutHexNumb ; ®â ­ ç «  ä ¨«  CALL PutHexNumb ; ®â ­ ç «  ä ¨« 
LD A,(TempShift+2) LD A,(TempShift+2)
@ -97,14 +98,15 @@ PutHLn
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 ; <20>à®æ¥¤ãà  ª®­¢¥àâ  CALL PutHexNumb ; <20>à®æ¥¤ãà  ª®­¢¥àâ 
@ -166,15 +168,9 @@ PutHexNumb PUSH AF
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
@ -385,8 +381,7 @@ HBegFile LD HL,JUMPS.ResFire
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
@ -430,8 +425,7 @@ 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
;-------------------------------------------------------------- ;--------------------------------------------------------------
; <20>à®æ¥¤ãà  ¢¢®¤  ­®¢®£® 㪠§ â¥«ï ᬥ饭¨ï ¢ ä ©«¥ ; <20>à®æ¥¤ãà  ¢¢®¤  ­®¢®£® 㪠§ â¥«ï ᬥ饭¨ï ¢ ä ©«¥
@ -650,8 +644,7 @@ 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
; <20> ¦ â Escape ; <20> ¦ â Escape
HGTescape LD HL,NewShift ; <20>ãä¥à áâப¨ HGTescape LD HL,NewShift ; <20>ãä¥à áâப¨
@ -669,8 +662,7 @@ 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
@ -678,7 +670,7 @@ NewShift DEFB " ",0
; <20>  ¢å®¤: ; <20>  ¢å®¤:
; BC - €¤à¥á ¡ãä¥à  á ⥪á⮬ (0-ª®­¥æ ¡ãä¥à ) ; BC - €¤à¥á ¡ãä¥à  á ⥪á⮬ (0-ª®­¥æ ¡ãä¥à )
; <20>  ¢ë室: ; <20>  ¢ë室:
; 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,9 +24,10 @@ 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 ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
@ -40,53 +38,54 @@ TViewLoop LD IX,ASCIItab
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 ; <20>à®á¬®âà ¢ HEX JP Z,ChViewer ; <20>à®á¬®âà ¢ 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 ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
@ -96,40 +95,42 @@ HViewLoop LD IX,HEXtab
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 ; <20>à®á¬®âà ¢ ⥪á⥠JP Z,ChViewer ; <20>à®á¬®âà ¢ ⥪áâ¥
CP 0x3F ;F5 CP SC.F8;0x42
JP Z,ChCodePage ; ‘¬¥­  ª®¤®¢®© áâà ­¨æë WIN/DOS/KOI
CP SC.F5;0x3F ; F5
JP Z,HGoTo ; <20>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï JP Z,HGoTo ; <20>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
CP 0x41 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,8 +527,7 @@ 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"
@ -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
@ -834,7 +816,7 @@ InProcHex LD HL,(FileLenght)
RET Z RET Z
; <20>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ â ¡«¨æë ¯à®æ¥­â®¢ ; <20>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ â ¡«¨æë ¯à®æ¥­â®¢
; <20>  ¢å®¤: ; <20>  ¢å®¤:
; DE+HL - „«¨­  ä ©« -1áâà ­¨æ  ; DEHL - „«¨­  ä ©«  - 1 áâà ­¨æ 
InitProc PUSH HL InitProc PUSH HL
PUSH DE PUSH DE
EX DE,HL EX DE,HL
@ -942,7 +924,7 @@ LowTest LD IX,ProcentTab+125 ;
; <20>à®æ¥¤ãà  â¥áâ¨à®¢ ­¨ï ⥪ã饣® ᬥ饭¨ï ; <20>à®æ¥¤ãà  â¥áâ¨à®¢ ­¨ï ⥪ã饣® ᬥ饭¨ï
; <20>  ¢å®¤: ; <20>  ¢å®¤:
; DE+HL - ’¥ªã饥 ᬥ饭¨¥ ; DEHL - ’¥ªã饥 ᬥ饭¨¥
; <20>  ¢ë室: ; <20>  ¢ë室:
; Z - ’¥ª.ᬥé=¯à®æ¥­â ; Z - ’¥ª.ᬥé=¯à®æ¥­â
; C - ’¥ª.ᬥé<¯à®æ¥­â ; C - ’¥ª.ᬥé<¯à®æ¥­â
@ -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
@ -1039,9 +1025,13 @@ CodePage EQU $-1
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
@ -142,7 +142,7 @@ PrnHLn
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
@ -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
@ -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
@ -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
@ -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.