FileEditor.flx 1.10
- устранено перепутанные кнопки для нажатий мышью для F7 и F9. FileViewer.flx 1.06 - добавлено переключение кодировки в режиме HEX просмотра. FlexNavigaror 1.16.01 - исправлен вылет при создании нового файла по Shift+F4 или просмотр с вводом имени по Shift+F3, плагин был не загружен.
This commit is contained in:
parent
e3c3c2dd22
commit
f428f0b18b
@ -1,7 +1,7 @@
|
||||
[]========================================================================[]
|
||||
* *
|
||||
* <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>β
|
||||
+01 ... ®¯¨á ⥫¨ ®¡¥ªâ
|
||||
+01 ... ®¯¨á ⥫¨ ®¡ê¥ªâ
|
||||
|
||||
®΅'¥<>βλ ®<> :
|
||||
0. +00 (1) == 0 - <20>®¥ζ α―¨α<C2A8> ®΅'¥<>β®Ά. ―®α«¥ ν⮣® ®<>® ο
|
||||
@ -128,6 +128,13 @@
|
||||
+01 (2) ᬥ饨¥ x ®β η « ®<> (0 - 639)
|
||||
+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>®αβ¨
|
||||
@ -271,18 +278,10 @@
|
||||
+0C ... α ¬ αβΰ®<CEB0>
|
||||
|
||||
―ΰ®ζ¥¤γΰλ ¤«ο β ΅«¨ζλ ν«¥¬¥β®Ά ν<>ΰ :
|
||||
InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
JUMPS.InpLnExtN - ¯à®æ¥¤ãà ®à¬ «ì®£® ¢ë室 ¨§ । ªæ¨¨
|
||||
JUMPS.InpLnExtC - ¯à®æ¥¤ãà ¢ë室 ¨§ । ªæ¨¨ ¯® cancel
|
||||
(Ά®ααβ Ά«¨Ά ¥β ¨§ η «μγξ αβΰ®<CEB0>γ)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InpLnExtN
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InpLnExtC
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.DOSError - ―ΰ®ζ¥¤γΰ ΆλΆ®¤ ®<> ®θ¨΅<C2A8>¨ (¤«ο DOS ®θ¨΅®<CE85>)
|
||||
@ -294,7 +293,7 @@
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InitScrBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
JUMPS.InitScrollBar - ¯à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 ®¯¨á ⥫ï áªà®««¡ à
|
||||
|
||||
Άε®¤:
|
||||
IX - ¤ΰ¥α ®―¨α ⥫ο α<>ΰ®««΅ ΰ
|
||||
@ -305,7 +304,7 @@
|
||||
+00 (2) X ―®§¨ζ¨ο α<>ΰ®«΅ ΰ (0-639)
|
||||
+02 (2) Y ―®§¨ζ¨ο α<>ΰ®«΅ ΰ (0-255)
|
||||
+04 (2) ¤«¨ α<>ΰ®«΅ ΰ
|
||||
+06 (2) ⥪ãé ï ¤«¨ áªà®«¡ à (¨¨æ¨ «¨§¨àã¥âáï ¢ InitScrBar)
|
||||
+06 (2) ⥪ãé ï ¤«¨ áªà®«¡ à (¨¨æ¨ «¨§¨àã¥âáï ¢ InitScrollBar)
|
||||
+08 (2) ¤ΰ¥α ο祩<C2A5>¨, <20>γ¤ § ―¨θ¥βαο η «μ ο <20>®®ΰ¤¨ β ΅ ΰ
|
||||
¥α«¨ 0, β® ¥ ¨α―®«μ§γ¥βαο
|
||||
(¨α―®«μ§γ¥βαο ¤«ο β ΅«¨ζλ ν«¥¬¥β®Ά ν<>ΰ )
|
||||
@ -365,15 +364,7 @@
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.InitScrollBar
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
JUMPS.MenuWork
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
|
||||
3 ª®¬ ¤ ¯¥à¥å®¤ (12 ¡ ©â) § १¥à¢¨à®¢ ë ¨ § ¯®«¥ë
|
||||
5 ª®¬ ¤ ¯¥à¥å®¤ (12 ¡ ©â) § १¥à¢¨à®¢ ë ¨ § ¯®«¥ë
|
||||
<20>®¬ ¤®© RET (12 ΅ ©β 0xC9)
|
||||
|
||||
[]------------------------------------------------------------------------[]
|
||||
@ -408,7 +399,7 @@
|
||||
|
||||
¥α«¨ +00 == 0x8000 νβ® αη¨β ¥βαο <20>®ζ®¬ β ΅«¨ζλ ν«¥¬¥β®Ά §<>ΰ
|
||||
|
||||
ä« £¨ í«¥¬¥â :
|
||||
ä« £¨ í«¥¬¥â (®¬¥à ¡¨â ):
|
||||
d00 - ν«¥¬¥β <20>®―<C2AE>
|
||||
d01 - ΰ ΅®η ο <20>®―<C2AE>
|
||||
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 ¨«¨ á¯à¨â¥à ä®à㬥.
|
||||
|
||||
@ -1,15 +1,20 @@
|
||||
|
||||
FN - FlexNavigator
|
||||
FV - FileViewer
|
||||
FE - FileEditor
|
||||
29.07.2025
|
||||
FileEditor.flx 1.10
|
||||
- ãáâà ¥® ¯¥à¥¯ãâ ë¥ ª®¯ª¨ ¤«ï ¦ ⨩ ¬ëèìî ¤«ï F7 ¨ F9.
|
||||
FileViewer.flx 1.06
|
||||
- ¤®¡ ¢«¥® ¯¥à¥ª«î票¥ ª®¤¨à®¢ª¨ ¢ ०¨¬¥ HEX ¯à®á¬®âà .
|
||||
FlexNavigaror 1.16.01
|
||||
- ¨á¯à ¢«¥ ¢ë«¥â ¯à¨ á®§¤ ¨¨ ®¢®£® ä ©« ¯® Shift+F4 ¨«¨ ¯à®á¬®âà á
|
||||
¢¢®¤®¬ ¨¬¥¨ ¯® Shift+F3, ¯« £¨ ¡ë« ¥ § £à㦥.
|
||||
|
||||
25.07.2025
|
||||
CDplayer.flx 1.1:
|
||||
- ¯« £¨ ¤®¤¥« , ®¯¨á ¨¥/history ¢ cdplayer.txt à冷¬ á ¯« £¨®¬.
|
||||
FE 1.09
|
||||
FileEditor.flx 1.09
|
||||
- ¨á¯à ¢«¥®: ¯à¨ ¢ë室¥ ¨§ । ªâ®à á ¥á®åà ¥ë¬ ä ©«®¬ ¨ § ¯à®á¥
|
||||
á®åà ¥¨¥ ª« ¢¨è Enter ⥯¥àì à ¡®â ¥â ª ª ¯®¤â¢¥à¦¤¥¨¥ á®åà ¥¨ï.
|
||||
FN 1.16
|
||||
FlexNavigator 1.16
|
||||
- ¨á¯à ¢«¥ ¢®§à â ⥪ã饩 ¤¨à¥ªâ®à¨¨ ¯®á«¥ § £à㧪¨ ¯« £¨ .
|
||||
- ¢áâà®¥ë© editor ¯¥à¥¥å « ¢ ¯« £¨ ®âªã¤ ¨ § ¯ã᪠¥âáï ¯® F4, ¨§ FN 㤠«¥.
|
||||
- ¢áâà®¥ë© viewer ¯¥à¥¥å « ¢ ¯« £¨ ®âªã¤ ¨ § ¯ã᪠¥âáï ¯® F3, ¨§ FN 㤠«¥.
|
||||
@ -25,9 +30,13 @@ FN 1.16
|
||||
- ¨á¯à ¢«¥ ¯®â¥àï æ¢¥â ¯à¨ ¯¥ç ⨠⥪áâ ¯® 㪠§ ®¬ã ¤à¥áã.
|
||||
- ⥪áâ®¢ë¬ ä ©« ¬ ¢¥àã« ª®¤¨à®¢ªã CP866, readme.md ®áâ ¢«¥ ¢ ª®¤¨à®¢ª¥ UTF8.
|
||||
|
||||
FN - FlexNavigator
|
||||
FV - FileViewer
|
||||
FE - FileEditor
|
||||
|
||||
27.06.2025
|
||||
FN 1.15.01
|
||||
- ¢ ¯ ॠ¬¥áâ ¨á¯à «¥ data date.
|
||||
- ¢ ¯ ॠ¬¥áâ ¨á¯à ¢«¥ data date.
|
||||
|
||||
25.06.2025
|
||||
FN 1.15
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
fn/flx/help.flx
BIN
fn/flx/help.flx
Binary file not shown.
@ -1,15 +1,20 @@
|
||||
|
||||
FN - FlexNavigator
|
||||
FV - FileViewer
|
||||
FE - FileEditor
|
||||
29.07.2025
|
||||
FileEditor.flx 1.10
|
||||
- ãáâà ¥® ¯¥à¥¯ãâ ë¥ ª®¯ª¨ ¤«ï ¦ ⨩ ¬ëèìî ¤«ï F7 ¨ F9.
|
||||
FileViewer.flx 1.06
|
||||
- ¤®¡ ¢«¥® ¯¥à¥ª«î票¥ ª®¤¨à®¢ª¨ ¢ ०¨¬¥ HEX ¯à®á¬®âà .
|
||||
FlexNavigaror 1.16.01
|
||||
- ¨á¯à ¢«¥ ¢ë«¥â ¯à¨ á®§¤ ¨¨ ®¢®£® ä ©« ¯® Shift+F4 ¨«¨ ¯à®á¬®âà á
|
||||
¢¢®¤®¬ ¨¬¥¨ ¯® Shift+F3, ¯« £¨ ¡ë« ¥ § £à㦥.
|
||||
|
||||
25.07.2025
|
||||
CDplayer.flx 1.1:
|
||||
- ¯« £¨ ¤®¤¥« , ®¯¨á ¨¥/history ¢ cdplayer.txt à冷¬ á ¯« £¨®¬.
|
||||
FE 1.09
|
||||
FileEditor.flx 1.09
|
||||
- ¨á¯à ¢«¥®: ¯à¨ ¢ë室¥ ¨§ । ªâ®à á ¥á®åà ¥ë¬ ä ©«®¬ ¨ § ¯à®á¥
|
||||
á®åà ¥¨¥ ª« ¢¨è Enter ⥯¥àì à ¡®â ¥â ª ª ¯®¤â¢¥à¦¤¥¨¥ á®åà ¥¨ï.
|
||||
FN 1.16
|
||||
FlexNavigator 1.16
|
||||
- ¨á¯à ¢«¥ ¢®§à â ⥪ã饩 ¤¨à¥ªâ®à¨¨ ¯®á«¥ § £à㧪¨ ¯« £¨ .
|
||||
- ¢áâà®¥ë© editor ¯¥à¥¥å « ¢ ¯« £¨ ®âªã¤ ¨ § ¯ã᪠¥âáï ¯® F4, ¨§ FN 㤠«¥.
|
||||
- ¢áâà®¥ë© viewer ¯¥à¥¥å « ¢ ¯« £¨ ®âªã¤ ¨ § ¯ã᪠¥âáï ¯® F3, ¨§ FN 㤠«¥.
|
||||
@ -25,9 +30,13 @@ FN 1.16
|
||||
- ¨á¯à ¢«¥ ¯®â¥àï æ¢¥â ¯à¨ ¯¥ç ⨠⥪áâ ¯® 㪠§ ®¬ã ¤à¥áã.
|
||||
- ⥪áâ®¢ë¬ ä ©« ¬ ¢¥àã« ª®¤¨à®¢ªã CP866, readme.md ®áâ ¢«¥ ¢ ª®¤¨à®¢ª¥ UTF8.
|
||||
|
||||
FN - FlexNavigator
|
||||
FV - FileViewer
|
||||
FE - FileEditor
|
||||
|
||||
27.06.2025
|
||||
FN 1.15.01
|
||||
- ¢ ¯ ॠ¬¥áâ ¨á¯à «¥ data date.
|
||||
- ¢ ¯ ॠ¬¥áâ ¨á¯à ¢«¥ data date.
|
||||
|
||||
25.06.2025
|
||||
FN 1.15
|
||||
|
||||
35
fn_const.a80
35
fn_const.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 25.07.2025 savelij
|
||||
; LAST UPDATE: 26.07.2025 savelij
|
||||
|
||||
INIT_VAR 0x8000
|
||||
SETVAR WorkBuffer, 0x400 ; à ¡®ç¨© ¡ãä¥à
|
||||
@ -174,13 +174,15 @@ BAR
|
||||
_INIT_VAR
|
||||
_SETVAR .X, WORD
|
||||
_SETVAR .Y, WORD
|
||||
_SETVAR .MAX_LEN, WORD ; à §¬¥à ¡ à
|
||||
_SETVAR .LEN_FILES, WORD ; ª®«¨ç¥á⢮ ä ©«®¢
|
||||
_SETVAR .LEFT_FILES, WORD
|
||||
_SETVAR .RIGHT_FILES, WORD
|
||||
_SETVAR .PAGE_FILES, WORD ; ª®«¨ç¥á⢮ ä ©«®¢ áâà ¨æã
|
||||
_SETVAR .MAX_FILES, WORD ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ ä ©«®¢
|
||||
_SETVAR .FIRST_FILE, WORD ; ¯¥à¢ë© ä ©«
|
||||
_SETVAR .MAX_LEN, WORD ; ¤«¨ áªà®«¡ à
|
||||
_SETVAR .LEN_FILES, WORD ; ⥪ãé ï ¤«¨ áªà®«¡ à
|
||||
_SETVAR .LEFT_FILES, WORD ; ¤à¥á ï祩ª¨, ªã¤ § ¯¨è¥âáï ç «ì ï ª®®à¤¨ â ¡ à
|
||||
; ¥á«¨ 0, â® ¥ ¨á¯®«ì§ã¥âáï
|
||||
_SETVAR .RIGHT_FILES, WORD ; ¤à¥á ï祩ª¨, ªã¤ § ¯¨è¥âáï ª®¥ç ï ª®®à¤¨ â ¡ à
|
||||
; ¥á«¨ 0, â® ¥ ¨á¯®«ì§ã¥âáï
|
||||
_SETVAR .PAGE_FILES, WORD ; ª®«¨ç¥á⢮ ¢¨¤¨¬ëå í«¥¬¥â®¢
|
||||
_SETVAR .MAX_FILES, WORD ; ®¡é¥¥ ª®«¨ç¥á⢮ í«¥¬¥â®¢
|
||||
_SETVAR .FIRST_FILE, WORD ; ¯¥à¢ ï ¢¨¤¨¬ë© í«¥¬¥â
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; <20>ணà¥áá ¡ à
|
||||
@ -188,12 +190,12 @@ PROC
|
||||
_INIT_VAR
|
||||
_SETVAR .X, WORD
|
||||
_SETVAR .Y, WORD
|
||||
_SETVAR .MAX_LEN, WORD ; ¬ ªá¨¬ «ì ï ¤«¨ ¯à®æ¥áá
|
||||
_SETVAR .INDEX, WORD ; Š®íä䍿¨¥â ¤«ï ¯à®æ¥áá
|
||||
_SETVAR .CORR_INDEX, WORD ; Š®à४æ¨ï ª®í䍿¨¥â
|
||||
_SETVAR .MAX_PAGES, DWORD ; Œ ªá¨¬ã¬ áâà ¨æ
|
||||
_SETVAR .CURR_PAGE, DWORD ; ’¥ªãé ï áâà ¨æ
|
||||
_SETVAR .COLOR, BYTE ; –¢¥â ¯à®£à¥áá
|
||||
_SETVAR .MAX_LEN, WORD ; ¤«¨ ¯à®æ¥áá¡ à
|
||||
_SETVAR .INDEX, WORD ; ª®íä䍿¨¥â ¤«ï ¯à®æ¥áá
|
||||
_SETVAR .CORR_INDEX, WORD ; ª®à४æ¨ï ª®í䍿¨¥â
|
||||
_SETVAR .MAX_PAGES, DWORD ; ¬ ªá¨¬ã¬ áâà ¨æ
|
||||
_SETVAR .CURR_PAGE, DWORD ; ⥪ãé ï áâà ¨æ
|
||||
_SETVAR .COLOR, BYTE ; 梥⠯ணà¥áá
|
||||
|
||||
; ”®à¬ â â ¡«¨æë
|
||||
; +00 2 Xmin
|
||||
@ -268,13 +270,12 @@ JUMPS
|
||||
_SETVAR .InpLnExtN, .JUMPSIZE
|
||||
_SETVAR .InpLnExtC, .JUMPSIZE
|
||||
_SETVAR .DOSError, .JUMPSIZE
|
||||
_SETVAR .InitScrBar, .JUMPSIZE
|
||||
_SETVAR .InitScrollBar, .JUMPSIZE
|
||||
_SETVAR .PrnHScrBar, .JUMPSIZE
|
||||
_SETVAR .PrnVScrBar, .JUMPSIZE
|
||||
_SETVAR .InitProcess, .JUMPSIZE
|
||||
_SETVAR .PrnProcess, .JUMPSIZE
|
||||
_SETVAR .InitScrollBar, .JUMPSIZE
|
||||
_ADDVAR .JUMPSIZE * 4 ; DUPL 15,0xC9
|
||||
_ADDVAR .JUMPSIZE * 5 ; DUPL 15,0xC9
|
||||
_SETVAR .ResFire, .JUMPSIZE
|
||||
_SETVAR .TestCoords, .JUMPSIZE
|
||||
_SETVAR .SetCMOSPrint, .JUMPSIZE
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
; LAST UPDATE: 18.07.2025 savelij
|
||||
; LAST UPDATE: 29.07.2025 savelij
|
||||
|
||||
FLEX_VERS
|
||||
.NAVIGATOR EQU "1.16"
|
||||
.EDITOR EQU "1.09"
|
||||
.VIEWER EQU "1.05"
|
||||
.NAVIGATOR EQU "1.16.01"
|
||||
.EDITOR EQU "1.10"
|
||||
.VIEWER EQU "1.06"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 24.07.2025 savelij
|
||||
; LAST UPDATE: 25.07.2025 savelij
|
||||
|
||||
;[]=======================================================================[]
|
||||
; FLEX NAVIGATOR ;
|
||||
@ -54,9 +54,8 @@ START_BLOCK_1
|
||||
JP PrnVScrBar ; 8630->9882
|
||||
JP InitProcess ; 8633->99DA
|
||||
JP PrnProcess ; 8636->9A39
|
||||
JP InitScrollBar
|
||||
|
||||
DB JUMPS.JUMPSIZE * 4 DUP 0xC9
|
||||
DB JUMPS.JUMPSIZE * 5 DUP 0xC9
|
||||
|
||||
JP ResFire ; 8648->9B01
|
||||
JP TestCoords ; 864B->9B10
|
||||
|
||||
36
fnwork.a80
36
fnwork.a80
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 25.07.2025 savelij
|
||||
; LAST UPDATE: 29.07.2025 savelij
|
||||
|
||||
;[]===========================================================[]
|
||||
CursUp LD A,(IY + PANEL.FILES_ALL)
|
||||
@ -2001,6 +2001,21 @@ View1: CALL ResInvert
|
||||
PUSH IY
|
||||
LD HL,PrevFile
|
||||
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)
|
||||
AND FLXMODES.M_ADRORG
|
||||
LD C,WINSP.CPU1 ; ®ª® § ¯ãáª á ¤à¥á 0x4000
|
||||
@ -2013,6 +2028,8 @@ View1: CALL ResInvert
|
||||
LD A,(RAMPAGES.FLX)
|
||||
ENDIF
|
||||
CALL Resident
|
||||
LD HL,0
|
||||
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨ £«ã訬 ¤à¥á § £à㧪¨
|
||||
POP IY
|
||||
RET C
|
||||
SETPORT BORDER,0
|
||||
@ -2151,6 +2168,21 @@ Edit1: CALL ResInvert
|
||||
PUSH IY
|
||||
LD HL,PrevFile
|
||||
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)
|
||||
AND FLXMODES.M_ADRORG
|
||||
LD C,WINSP.CPU1 ; ®ª® § ¯ãáª á ¤à¥á 0x4000
|
||||
@ -2163,6 +2195,8 @@ Edit1: CALL ResInvert
|
||||
LD A,(RAMPAGES.FLX)
|
||||
ENDIF
|
||||
CALL Resident
|
||||
LD HL,0
|
||||
LD (RunFLX.FLXexec),HL ; ¯à¨ ¢ë室¥ ¨§ ¯« £¨ £«ã訬 ¤à¥á § £à㧪¨
|
||||
POP IY
|
||||
RET C
|
||||
SETPORT BORDER,0
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 18.07.2025 savelij
|
||||
; LAST UPDATE: 26.07.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
include fn_const.a80
|
||||
@ -12,7 +12,8 @@
|
||||
include dss_sp.a80
|
||||
include bios_sp.a80
|
||||
include mouse_sp.a80
|
||||
include errors_sp.a80
|
||||
|
||||
HDR_FLX "-EDIT",,,;FLXMODES.M_ADRORG
|
||||
HDR_FLX "-EDIT"
|
||||
|
||||
include feditor.a80
|
||||
@ -6,8 +6,8 @@ set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\;d:\yad
|
||||
call ..\..\setpath_includes
|
||||
set includes=%includes%;..\..\
|
||||
|
||||
asl -U -L -C -x -olist tmp\fneditor.lst -i %includes% femain.a80 || goto error
|
||||
p2bin femain.p ..\fneditor.flx -r $-$ -k
|
||||
asl -U -L -C -x -olist tmp\fneditor.lst -i %includes% build.a80 || goto error
|
||||
p2bin build.p ..\fneditor.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
|
||||
@ -1,37 +1,35 @@
|
||||
|
||||
; LAST UPDATE: 18.07.2025 savelij
|
||||
; LAST UPDATE: 29.07.2025 savelij
|
||||
|
||||
ENABLE_CODEPAGE EQU 0
|
||||
|
||||
INIT_VAR
|
||||
SETVAR CursorX ;EQU 0x00
|
||||
SETVAR StringX ;EQU 0x01
|
||||
SETVAR CursAddX ;EQU 0x02
|
||||
SETVAR CursorY ;EQU 0x03
|
||||
SETVAR LenString ;EQU 0x04
|
||||
SETVAR PrvLenStr ;EQU 0x05
|
||||
SETVAR ReadyStr ;EQU 0x06
|
||||
SETVAR ReadyFile ;EQU 0x07
|
||||
SETVAR CursorX
|
||||
SETVAR StringX
|
||||
SETVAR CursAddX
|
||||
SETVAR CursorY
|
||||
SETVAR LenString
|
||||
SETVAR PrvLenStr
|
||||
SETVAR ReadyStr
|
||||
SETVAR ReadyFile
|
||||
|
||||
LineBuffer := WorkBuffer+0x200
|
||||
TempBuffer := WorkBuffer+0x300
|
||||
|
||||
;[]==========================================================[]
|
||||
JP FileEditor
|
||||
|
||||
DZ FLEX_VERS.EDITOR
|
||||
|
||||
FileEditor CALL FELoadFile
|
||||
CALL FELoadFile
|
||||
RET C
|
||||
call ReadEditorIni
|
||||
LD IY,EditData
|
||||
SUB A
|
||||
LD (EditMode),A
|
||||
LD (HEXmode),A
|
||||
LD (IY+CursorX),A
|
||||
LD (IY+StringX),A
|
||||
LD (IY+CursAddX),A
|
||||
LD (IY+CursorY),A
|
||||
LD (IY+ReadyStr),A
|
||||
LD (IY+ReadyFile),A
|
||||
LD (IY + EDBUF_.CursorX),A
|
||||
LD (IY + EDBUF_.StringX),A
|
||||
LD (IY + EDBUF_.CursAddX),A
|
||||
LD (IY + EDBUF_.CursorY),A
|
||||
LD (IY + EDBUF_.ReadyStr),A
|
||||
LD (IY + EDBUF_.ReadyFile),A
|
||||
INC A
|
||||
LD (FECrTimer),A
|
||||
LD HL,0x0000
|
||||
@ -43,15 +41,16 @@ EditorBegin CALL InitStatus
|
||||
CALL InitFile
|
||||
CALL PrintPage
|
||||
EditorLoop CALL FEChCursor
|
||||
LD A,(EditMode)
|
||||
LD A,(EditMode) ; ०¨¬ । ªâ¨à®¢ ¨ï
|
||||
OR A
|
||||
JP NZ,HEditLoop
|
||||
; ०¨¬ । ªâ¨à®¢ ¨ï ⥪áâ
|
||||
TEditLoop LD IX,FEASCIItab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ¦ â¨ï ª« ¢¨è
|
||||
JR Z,EditorLoop
|
||||
LD A,D
|
||||
CP 0x44
|
||||
CP SC.F10
|
||||
JP Z,EditorExit
|
||||
LD A,E ; …-ASCII ª®¤
|
||||
CP 0x1B ; Esc
|
||||
@ -59,86 +58,91 @@ TEditLoop LD IX,FEASCIItab
|
||||
LD HL,EditorLoop
|
||||
PUSH HL
|
||||
OR A
|
||||
JP NZ,TInsertSymbol
|
||||
JP NZ,TInsertSymbol ; ª ª®© â® ¯¥ç âë© á¨¬¢®«?
|
||||
LD A,D
|
||||
CP 0x3B
|
||||
CP SC.F1
|
||||
JP Z,FEAbout
|
||||
CP 0x3C
|
||||
CP SC.F2
|
||||
JP Z,SaveFile
|
||||
CP 0x3E
|
||||
CP SC.F4
|
||||
JP Z,ChEditor ; <20>à®á¬®âà ¢ HEX
|
||||
CP 0x41
|
||||
CP SC.F7
|
||||
JP Z,FEPrintFile
|
||||
CP 0x43
|
||||
IF ENABLE_CODEPAGE
|
||||
CP SC.F8
|
||||
JP Z,ChCodePage
|
||||
ENDIF
|
||||
CP SC.F9
|
||||
JP Z,EditorSetup
|
||||
CP 0x4F
|
||||
CP SC.XDEL
|
||||
JP Z,TDeleteSymbol
|
||||
CP 0x54
|
||||
CP SC.X4
|
||||
JP Z,TCursorLeft
|
||||
CP 0x56
|
||||
CP SC.X6
|
||||
JP Z,TCursorRight
|
||||
CP 0x58
|
||||
CP SC.X8
|
||||
JP Z,TCursorUp
|
||||
CP 0x52
|
||||
CP SC.X2
|
||||
JP Z,TCursorDown
|
||||
CP 0x57 ;Home
|
||||
CP SC.X7 ; Home
|
||||
JP Z,THomeString
|
||||
CP 0x51 ;End
|
||||
CP SC.X1 ; End
|
||||
JP Z,TEndString
|
||||
CP 0x59 ;PageUp
|
||||
CP SC.X9 ; PageUp
|
||||
JP Z,FETPageUp
|
||||
CP 0x53 ;PageDown
|
||||
CP SC.X3 ; PageDown
|
||||
JP Z,TPageDown
|
||||
LD A,B
|
||||
AND 0x30
|
||||
CP 0x30
|
||||
AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
|
||||
CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
|
||||
RET Z
|
||||
bit 4,b ;<EFBFBD>ਠ¦ ⮬ Alt
|
||||
bit KEYBSTAT.B_ALT,B ; <EFBFBD>ਠ¦ ⮬ Alt
|
||||
jr z,.ctrl
|
||||
ld a,d
|
||||
and 0x7f
|
||||
CP 0x54 ;Alt+<
|
||||
and %01111111
|
||||
CP SC.X4 ; Alt+<
|
||||
JP Z,THomeString
|
||||
CP 0x56 ;Alt+>
|
||||
CP SC.X6 ; Alt+>
|
||||
JP Z,TEndString
|
||||
ret
|
||||
|
||||
.ctrl: BIT 5,B ;<EFBFBD>ਠ¦ ⮬ Ctrl
|
||||
.ctrl: BIT KEYBSTAT.B_CTRL,B ; <EFBFBD>ਠ¦ ⮬ Ctrl
|
||||
RET Z
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP 0x0E
|
||||
AND %01111111
|
||||
CP SC.BKSP
|
||||
JP Z,TDeleteWord
|
||||
CP 0x15 ;Ctrl+Y - Delete String
|
||||
CP SC.Y ; Ctrl+Y - Delete String
|
||||
JP Z,TDeleteString
|
||||
CP 0x1E ;Ctrl+S
|
||||
CP SC.S ; Ctrl+S
|
||||
JP Z,SaveFile
|
||||
CP 0x1F ;Ctrl+D
|
||||
CP SC.D ; Ctrl+D
|
||||
JP Z,TDoubleString
|
||||
CP 0x19 ;Ctrl+P
|
||||
CP SC.P ; Ctrl+P
|
||||
JP Z,FEPrintFile
|
||||
cp 0x2a ;Ctrl+Z
|
||||
cp SC.Z ; Ctrl+Z
|
||||
jp z,Undo
|
||||
CP 0x54
|
||||
CP SC.X4
|
||||
JP Z,TWordLeft
|
||||
CP 0x56
|
||||
CP SC.X6
|
||||
JP Z,TWordRight
|
||||
CP 0x58
|
||||
CP SC.X8
|
||||
JP Z,TScrollUp
|
||||
CP 0x52
|
||||
CP SC.X2
|
||||
JP Z,TScrollDown
|
||||
CP 0x57 ;Ctrl+Home
|
||||
CP SC.X7 ; Ctrl+Home
|
||||
JP Z,FETBegFile ; ¢ ç «® ä ©«
|
||||
CP 0x51 ;Ctrl+PageEnd
|
||||
CP SC.X1 ; Ctrl+PageEnd
|
||||
JP Z,FETEndFile ; ¢ ª®¥æ ä ©«
|
||||
RET
|
||||
|
||||
; ०¨¬ । ªâ¨à®¢ ¨ï HEX
|
||||
HEditLoop LD IX,FEHEXtab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ¦ â¨ï ª« ¢¨è
|
||||
JP Z,EditorLoop
|
||||
LD A,D ;
|
||||
CP 0x44 ;F10
|
||||
LD A,D
|
||||
CP SC.F10 ; F10
|
||||
JP Z,EditorExit
|
||||
LD A,E ; …-ASCII ª®¤
|
||||
CP 0x1B ; Esc
|
||||
@ -148,80 +152,56 @@ HEditLoop LD IX,FEHEXtab
|
||||
OR A
|
||||
JP NZ,HPutSymbol
|
||||
LD A,D
|
||||
CP 0x3B
|
||||
CP SC.F1
|
||||
JP Z,FEAbout
|
||||
CP 0x3C
|
||||
CP SC.F2
|
||||
JP Z,SaveFile
|
||||
CP 0x9E ;Ctrl+S
|
||||
CP SC.S + 0x80 ; Ctrl+S
|
||||
JP Z,SaveFile
|
||||
CP 0x3E ;F4
|
||||
CP SC.F4 ; F4
|
||||
JP Z,ChEditor ; <20>à®á¬®âà ¢ ⥪áâ¥
|
||||
CP 0x3F ;F5
|
||||
CP SC.F5 ; F5
|
||||
JP Z,FEHGoTo ; <20>¥à¥å®¤ ¤à¥á ¯®«ì§®¢ ⥫ï
|
||||
CP 0x41
|
||||
CP SC.F7
|
||||
JP Z,FEPrintFile
|
||||
CP 0x43
|
||||
CP SC.F9
|
||||
JP Z,EditorSetup
|
||||
CP 0x54
|
||||
CP SC.X4
|
||||
JP Z,HCursorLeft
|
||||
CP 0x56
|
||||
CP SC.X6
|
||||
JP Z,HCursorRight
|
||||
CP 0x57 ;Home
|
||||
CP SC.X7 ; Home
|
||||
JP Z,HHomeString
|
||||
CP 0x51 ;End
|
||||
CP SC.X1 ; End
|
||||
JP Z,HEndString
|
||||
CP 0x58 ;‘â५ª ¢¢¥àå
|
||||
CP SC.X8 ; ‘â५ª ¢¢¥àå
|
||||
JP Z,HCursorUp
|
||||
CP 0x52 ;‘â५ª ¢¨§
|
||||
CP SC.X2 ; ‘â५ª ¢¨§
|
||||
JP Z,HCursorDown
|
||||
CP 0x59 ;PageUp
|
||||
CP SC.X9 ; PageUp
|
||||
JP Z,FEHPageUp
|
||||
CP 0x53 ;PageDown
|
||||
CP SC.X3 ; PageDown
|
||||
JP Z,FEHPageDown
|
||||
LD A,B
|
||||
AND 0x30
|
||||
CP 0x30
|
||||
AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
|
||||
CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL
|
||||
RET Z
|
||||
BIT 5,B
|
||||
BIT KEYBSTAT.B_CTRL,B
|
||||
RET Z
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP 0x58
|
||||
AND %01111111
|
||||
CP SC.X8
|
||||
JP Z,HScrollUp
|
||||
CP 0x52
|
||||
CP SC.X2
|
||||
JP Z,HScrollDown
|
||||
CP 0x57 ;Ctrl+PageUp
|
||||
CP SC.X7 ; Ctrl+PageUp
|
||||
JP Z,FEHBegFile ; ¢ ç «® ä ©«
|
||||
CP 0x51 ;Ctrl+PageDown
|
||||
CP SC.X1 ; Ctrl+PageDown
|
||||
JP Z,FEHEndFile ; ¢ ª®¥æ ä ©«
|
||||
CP 0x19 ;Ctrl+P
|
||||
CP SC.P ; Ctrl+P
|
||||
JP Z,FEPrintFile
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
EditingFile DUPL 0x30,0
|
||||
EditMode DEFB 0x00
|
||||
HEXmode DEFB 0x00
|
||||
EditData DEFB 0x00 ;Cursor X
|
||||
DEFB 0x00 ;String X
|
||||
DEFB 0x00 ;Cursor add X
|
||||
DEFB 0x00 ;Cursor Y
|
||||
DEFB 0x00 ;Len String
|
||||
DEFB 0x00 ;Previos Len String
|
||||
DEFB 0x00 ;Ready String
|
||||
DEFB 0x00 ;Ready File
|
||||
CurLine DEFW 0x0000
|
||||
EquipLines DEFW 0x0000
|
||||
LineShift DEFW 0x0000
|
||||
FEPageShift DEFW 0x0000
|
||||
FETempShift DEFW 0x0000
|
||||
FEFileLenght DEFW 0x0000 ;„«¨ ä ©« (16¡¨â)
|
||||
FEEmptyLines DEFB 0x00
|
||||
FEMemIndef DEFB 0x00
|
||||
FEFHandle DEFB 0x00
|
||||
FEReadLen
|
||||
SaveLen DEFW 0x0000
|
||||
|
||||
;[]==========================================================[]
|
||||
ChEditor LD HL,EditorBegin
|
||||
EX (SP),HL
|
||||
@ -230,7 +210,7 @@ ChEditor LD HL,EditorBegin
|
||||
LD (EditMode),A
|
||||
JR NZ,HEXEdit
|
||||
ASCIIEdit LD HL,(LineShift)
|
||||
LD E,(IY+CursorX)
|
||||
LD E,(IY + EDBUF_.CursorX)
|
||||
SRL E
|
||||
LD D,0x00
|
||||
ADD HL,DE
|
||||
@ -240,8 +220,8 @@ ASCIIEdit LD HL,(LineShift)
|
||||
LD (LineShift),HL
|
||||
LD (FEPageShift),HL
|
||||
SUB A
|
||||
LD (IY+StringX),A
|
||||
LD (IY+CursorY),A
|
||||
LD (IY + EDBUF_.StringX),A
|
||||
LD (IY + EDBUF_.CursorY),A
|
||||
PUSH HL
|
||||
CALL GetString
|
||||
POP DE
|
||||
@ -249,39 +229,39 @@ ASCIIEdit LD HL,(LineShift)
|
||||
OR A
|
||||
SBC HL,DE
|
||||
LD A,L
|
||||
CP (IY+LenString)
|
||||
CP (IY + EDBUF_.LenString)
|
||||
JR C,.L1
|
||||
LD A,(IY+LenString)
|
||||
LD A,(IY + EDBUF_.LenString)
|
||||
.L1 DEC A
|
||||
LD (IY+StringX),A
|
||||
LD (IY + EDBUF_.StringX),A
|
||||
JP TCursorRight
|
||||
|
||||
HEXEdit CALL PutString
|
||||
LD HL,(LineShift)
|
||||
LD A,(IY+StringX)
|
||||
CP (IY+LenString)
|
||||
LD A,(IY + EDBUF_.StringX)
|
||||
CP (IY + EDBUF_.LenString)
|
||||
JR C,.L1
|
||||
LD A,(IY+LenString)
|
||||
LD A,(IY + EDBUF_.LenString)
|
||||
.L1 LD E,A
|
||||
LD D,0x00
|
||||
ADD HL,DE
|
||||
LD A,L
|
||||
AND 0x0F
|
||||
ADD A,A
|
||||
LD (IY+CursorX),A
|
||||
LD (IY + EDBUF_.CursorX),A
|
||||
LD A,L
|
||||
AND 0xF0
|
||||
LD L,A
|
||||
LD (LineShift),HL
|
||||
LD (FEPageShift),HL
|
||||
SUB A
|
||||
LD (IY+CursorY),A
|
||||
LD (IY + EDBUF_.CursorY),A
|
||||
RET
|
||||
|
||||
;[]==========================================================[]
|
||||
EditorExit CALL PutString
|
||||
CALL FEResCursor
|
||||
LD A,(IY+ReadyFile)
|
||||
LD A,(IY + EDBUF_.ReadyFile)
|
||||
OR A
|
||||
JP Z,QuitAsk;EditorE
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
@ -392,7 +372,7 @@ FEInitScreen
|
||||
CP (HL)
|
||||
JR NZ,.L1
|
||||
DEC HL
|
||||
LD A,0x5C
|
||||
LD A,'\\'
|
||||
CP (HL)
|
||||
INC HL
|
||||
JR Z,.L2
|
||||
@ -420,11 +400,14 @@ FEInitScreen
|
||||
LD B,0x08
|
||||
EXX
|
||||
LD A,0x02
|
||||
CALL JUMPS.SetCMOSPrint
|
||||
RET
|
||||
JP JUMPS.SetCMOSPrint
|
||||
|
||||
;[]==========================================================[]
|
||||
InitStatus LD A,(EditMode)
|
||||
InitStatus
|
||||
IF ENABLE_CODEPAGE
|
||||
CALL InitCodePage
|
||||
ENDIF
|
||||
LD A,(EditMode)
|
||||
OR A
|
||||
JP NZ,InitHEXStatus
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
@ -442,8 +425,16 @@ InitStatus LD A,(EditMode)
|
||||
W_TEXT 100,245,COLORP.HIGHGRAY,"F2 Save"
|
||||
W_BUTTON 160,242,80,14
|
||||
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_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
|
||||
ENDIF
|
||||
W_BUTTON 480,242,80,14
|
||||
W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
|
||||
W_BUTTON 560,242,80,14
|
||||
@ -466,8 +457,16 @@ InitHEXStatus
|
||||
W_TEXT 182,245,COLORP.HIGHGRAY,"F4 ASCII"
|
||||
W_BUTTON 240,242,80,14
|
||||
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_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
|
||||
ENDIF
|
||||
W_BUTTON 480,242,80,14
|
||||
W_TEXT 492,245,COLORP.HIGHGRAY,"F9 Settings"
|
||||
W_BUTTON 560,242,80,14
|
||||
@ -503,17 +502,16 @@ InitAlp PUSH HL
|
||||
LD HL,TBarD
|
||||
LD (BarPgD),HL
|
||||
LD IX,EditVBar
|
||||
CALL JUMPS.InitScrBar
|
||||
CALL JUMPS.InitScrollBar
|
||||
LD HL,0x00F0
|
||||
LD (CScrnX),HL
|
||||
LD IX,EditHBar
|
||||
CALL JUMPS.InitScrBar
|
||||
CALL JUMPS.InitScrollBar
|
||||
LD HL,0xFFFF
|
||||
LD (CLine),HL
|
||||
LD H,0x00
|
||||
LD (CAddX),HL
|
||||
CALL JUMPS.SetMouse
|
||||
RET
|
||||
JP JUMPS.SetMouse
|
||||
|
||||
InitFileHex LD HL,(FEFileLenght)
|
||||
LD A,L
|
||||
@ -545,29 +543,29 @@ InitFileHex LD HL,(FEFileLenght)
|
||||
LD HL,HBarD
|
||||
LD (BarPgD),HL
|
||||
LD IX,EditVBar
|
||||
CALL JUMPS.InitScrBar
|
||||
CALL JUMPS.InitScrollBar
|
||||
LD HL,0xFFFF
|
||||
LD (CLine),HL
|
||||
RET
|
||||
|
||||
EditVBar DEFW 0x0270 ;X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0024 ;Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x00B8 ;Max ¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ;⥪.¤«¨ áªà®«¡ à
|
||||
BarPgU DEFW 0x0000 ;€¤à¥á ï祩ª¨ BarLeft
|
||||
BarPgD DEFW 0x0000 ;€¤à¥á ï祩ª¨ BarRight
|
||||
DEFW 0x0019 ;Š®«-¢® áâப áâà ¨æ¥
|
||||
ELines DEFW 0x0000 ;ޡ饥 ª®«-¢® áâப
|
||||
CLine DEFW 0x0000 ;<3B>¥à¢ ï áâப áâà ¨æ¥
|
||||
EditHBar DEFW 0x0010 ;X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x00E4 ;Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DEFW 0x0250 ;Max ¤«¨ áªà®«¡ à
|
||||
DEFW 0x0000 ;⥪.¤«¨ áªà®«¡ à
|
||||
DEFW TBarL ;€¤à¥á ï祩ª¨ BarLeft
|
||||
DEFW TBarR ;€¤à¥á ï祩ª¨ BarRight
|
||||
DEFW 0x004E ;Š®«-¢® áâப áâà ¨æ¥
|
||||
CScrnX DEFW 0x0000 ;ޡ饥 ª®«-¢® áâப
|
||||
CAddX DEFW 0x0000 ;<3B>¥à¢ ï áâப áâà ¨æ¥
|
||||
EditVBar DW 624 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 36 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 184 ; Max ¤«¨ áªà®«¡ à
|
||||
DW 0 ; ⥪.¤«¨ áªà®«¡ à
|
||||
BarPgU DW 0 ; €¤à¥á ï祩ª¨ BarLeft
|
||||
BarPgD DW 0 ; €¤à¥á ï祩ª¨ BarRight
|
||||
DW 25 ; Š®«-¢® áâப áâà ¨æ¥
|
||||
ELines DW 0 ; ޡ饥 ª®«-¢® áâப
|
||||
CLine DW 0 ; <20>¥à¢ ï áâப áâà ¨æ¥
|
||||
EditHBar DW 16 ; X ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 228 ; Y ¯®§¨æ¨ï áªà®«¡ à
|
||||
DW 592 ; Max ¤«¨ áªà®«¡ à
|
||||
DW 0 ; ⥪.¤«¨ áªà®«¡ à
|
||||
DW TBarL ; €¤à¥á ï祩ª¨ BarLeft
|
||||
DW TBarR ; €¤à¥á ï祩ª¨ BarRight
|
||||
DW 78 ; Š®«-¢® áâப áâà ¨æ¥
|
||||
CScrnX DW 0 ; ޡ饥 ª®«-¢® áâப
|
||||
CAddX DW 0 ; <20>¥à¢ ï áâப áâà ¨æ¥
|
||||
|
||||
;[]==========================================================[]
|
||||
PrintPage LD A,(EditMode)
|
||||
@ -692,11 +690,6 @@ ResCurs
|
||||
SETPORT WINSP.CPU1,,0
|
||||
RET
|
||||
|
||||
FECrTimer DEFB 0x01
|
||||
FECurCursor DEFB 0x00
|
||||
CursorPos DEFW 0x0000
|
||||
FECursBuffer DUPL 8,0
|
||||
|
||||
;[]==========================================================[]
|
||||
FEAbout CALL FEResCursor
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
@ -766,6 +759,46 @@ FEScrlSCRDnUp DI
|
||||
EI
|
||||
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 fetext.a80
|
||||
@ -774,76 +807,118 @@ FEScrlSCRDnUp DI
|
||||
include fesetup.a80
|
||||
|
||||
;[]==========================================================[]
|
||||
FEASCIItab: DW 0x0000,0x0270,0x001C,0x00E4,0x00,0x0000, TNewCrPos, 0x0000
|
||||
DW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000, FEAbout, 0x0000
|
||||
DW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000, SaveFile, 0x0000
|
||||
DW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000, ChEditor, 0x0000
|
||||
DW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000, EditorSetup, 0x0000
|
||||
DW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000, FEPrintFile, 0x0000
|
||||
DW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000, EditorExit, 0x0000
|
||||
DW 0x0270,0x0280,0x001C,0x0024,0x03,0x0000, TCursorUp, 0x0000
|
||||
DW 0x0270,0x0280,0x00DC,0x00E4,0x03,0x0000, TCursorDown, 0x0000
|
||||
FEASCIItab: DW 0,624, 28,228,%0000000000000000,%0000000000000000,TNewCrPos,0
|
||||
DW 0, 80,242,256,%0000000000000001,%0000000000000000,FEAbout,0 ; F1
|
||||
DW 80,160,242,256,%0000000000000001,%0000000000000000,SaveFile,0 ; F2
|
||||
DW 160,240,242,256,%0000000000000001,%0000000000000000,ChEditor,0 ; F4
|
||||
IF ENABLE_CODEPAGE
|
||||
DW 340,420,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0 ; F7
|
||||
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 624,640, 28, 36,%0000000000000011,%0000000000000000,TCursorUp,0
|
||||
DW 624,640,220,228,%0000000000000011,%0000000000000000,TCursorDown,0
|
||||
TBarU EQU $+6
|
||||
DW 0x0270,0x0280,0x001C,0x0000,0x00,0x0000, FETPageUp, 0x0000
|
||||
DW 624,640, 28, 0,%0000000000000000,%0000000000000000,FETPageUp,0
|
||||
TBarD EQU $+4
|
||||
DW 0x0270,0x0280,0x0000,0x00E4,0x00,0x0000, TPageDown, 0x0000
|
||||
DW 0x0000,0x0010,0x00E4,0x00EC,0x03,0x0000, TCursorLeft, 0x0000
|
||||
DW 0x0260,0x0270,0x00E4,0x00EC,0x03,0x0000, TCursorRight, 0x0000
|
||||
DW 624,640, 0,228,%0000000000000000,%0000000000000000,TPageDown,0
|
||||
DW 0, 16,228,236,%0000000000000011,%0000000000000000,TCursorLeft,0
|
||||
DW 608,624,228,236,%0000000000000011,%0000000000000000,TCursorRight,0
|
||||
TBarL EQU $+2
|
||||
DW 0x0010,0x0000,0x00E4,0x00EC,0x00,0x0000, TCursorLeft, 0x0000
|
||||
TBarR: DW 0x0000,0x0260,0x00E4,0x00EC,0x00,0x0000, TCursorRight, 0x0000
|
||||
DEFW 0x8000
|
||||
DW 16, 0,228,236,%0000000000000000,%0000000000000000,TCursorLeft,0
|
||||
TBarR: DW 0,608,228,236,%0000000000000000,%0000000000000000,TCursorRight,0
|
||||
DW 0x8000
|
||||
|
||||
FEHEXtab: DW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000, FEAbout, 0x0000
|
||||
DW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000, SaveFile, 0x0000
|
||||
DW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000, ChEditor, 0x0000
|
||||
DW 0x00F0,0x0140,0x00F2,0x0100,0x01,0x0000, FEHGoTo, 0x0000
|
||||
DW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000, EditorSetup, 0x0000
|
||||
DW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000, FEPrintFile, 0x0000
|
||||
DW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000, EditorExit, 0x0000
|
||||
FEHEXtab: DW 0, 80,242,256,%0000000000000001,%0000000000000000,FEAbout,0 ; F1
|
||||
DW 80,160,242,256,%0000000000000001,%0000000000000000,SaveFile,0 ; F2
|
||||
DW 160,240,242,256,%0000000000000001,%0000000000000000,ChEditor,0 ; F4
|
||||
DW 240,320,242,256,%0000000000000001,%0000000000000000,FEHGoTo,0 ; F5
|
||||
IF ENABLE_CODEPAGE
|
||||
DW 340,420,242,256,%0000000000000001,%0000000000000000,FEPrintFile,0 ; F7
|
||||
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 0x0270,0x0280,0x00DC,0x00E4,0x03,0x0000, HCursorDown, 0x0000
|
||||
DW 0x0048,0x01D8,0x001C,0x00E4,0x00,0x0000, HNewHEXPos, 0x0000
|
||||
DW 0x01E8,0x0268,0x001C,0x00E4,0x00,0x0000, HNewASCPos, 0x0000
|
||||
DW 624,640, 28, 36,%0000000000000011,%0000000000000000,HCursorUp,0
|
||||
DW 624,640,220,228,%0000000000000011,%0000000000000000,HCursorDown,0
|
||||
DW 72,472, 28,228,%0000000000000000,%0000000000000000,HNewHEXPos,0
|
||||
DW 488,616, 28,228,%0000000000000000,%0000000000000000,HNewASCPos,0
|
||||
HBarU EQU $+6
|
||||
DW 0x0270,0x0280,0x001C,0x0000,0x00,0x0000, FEHPageUp, 0x0000
|
||||
DW 624,640, 28, 0,%0000000000000000,%0000000000000000,FEHPageUp,0
|
||||
HBarD EQU $+4
|
||||
DW 0x0270,0x0280,0x0000,0x00E4,0x00,0x0000, FEHPageDown, 0x0000
|
||||
DEFW 0x8000
|
||||
DW 624,640, 0,228,%0000000000000000,%0000000000000000,FEHPageDown,0
|
||||
DW 0x8000
|
||||
|
||||
FEAboutTab: DEFW 0x011C,0x0164,0x008A,0x0098,0x21,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x0000,0x00A0,0x0000,0x0100,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x01E0,0x0280,0x0000,0x0100,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0048,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x0000,0x0280,0x009D,0x0100,0x20,0x0000, FEAboutExt, 0x0000
|
||||
DEFW 0x8000
|
||||
FEAboutTab: DW 284,356,138,152,%0000000000100001,%0000000000000000,FEAboutExt,0
|
||||
DW 0,160, 0,256,%0000000000100000,%0000000000000000,FEAboutExt,0
|
||||
DW 480,640, 0,256,%0000000000100000,%0000000000000000,FEAboutExt,0
|
||||
DW 0,640, 0, 72,%0000000000100000,%0000000000000000,FEAboutExt,0
|
||||
DW 0,640,157,256,%0000000000100000,%0000000000000000,FEAboutExt,0
|
||||
DW 0x8000
|
||||
|
||||
SureTab: DEFW 0x00F0,0x0138,0x007A,0x0088,0x021,0x0000, SureOkey, 0x0000
|
||||
DEFW 0x0148,0x0190,0x007A,0x0088,0x021,0x0000, SureExit, 0x0000
|
||||
DEFW 0x0000,0x00D0,0x0000,0x0100,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x01B0,0x0280,0x0000,0x0100,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0050,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x0000,0x0280,0x008C,0x0100,0x120,0x0000, EditorLoop, 0x0000
|
||||
DEFW 0x8000
|
||||
SureTab: DW 240,312,122,136,%0000000000100001,%0000000000000000,SureOkey,0
|
||||
DW 328,400,122,136,%0000000000100001,%0000000000000000,SureExit,0
|
||||
DW 0,208, 0,256,%0000000100100000,%0000000000000000,EditorLoop,0
|
||||
DW 432,640, 0,256,%0000000100100000,%0000000000000000,EditorLoop,0
|
||||
DW 0,640, 0, 80,%0000000100100000,%0000000000000000,EditorLoop,0
|
||||
DW 0,640,140,256,%0000000100100000,%0000000000000000,EditorLoop,0
|
||||
DW 0x8000
|
||||
|
||||
NewFileTab: DEFW 0x00F0,0x0138,0x0082,0x0090,0x021,0x0000, NewFExitO, 0x0000
|
||||
DEFW 0x0148,0x0190,0x0082,0x0090,0x021,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x0000,0x00C0,0x0000,0x0100,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x01C0,0x0280,0x0000,0x0100,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0058,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x0000,0x0280,0x0094,0x0100,0x020,0x0000, NewFExitC, 0x0000
|
||||
DEFW 0x8000
|
||||
NewFileTab: DW 240,312,130,144,%0000000000100001,%0000000000000000,NewFExitO,0
|
||||
DW 328,400,130,144,%0000000000100001,%0000000000000000,NewFExitC,0
|
||||
DW 0,192, 0,256,%0000000000100000,%0000000000000000,NewFExitC,0
|
||||
DW 448,640, 0,256,%0000000000100000,%0000000000000000,NewFExitC,0
|
||||
DW 0,640, 0, 88,%0000000000100000,%0000000000000000,NewFExitC,0
|
||||
DW 0,640,148,256,%0000000000100000,%0000000000000000,NewFExitC,0
|
||||
DW 0x8000
|
||||
|
||||
FEQuitTab: DW 0x00F0,0x0138,0x0078,0x0086,0x21,0x0000, SureExit, 0x0000
|
||||
DW 0x0148,0x0190,0x0078,0x0086,0x21,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x0000,0x00D0,0x0000,0x0100,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x01B0,0x0280,0x0000,0x0100,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x0000,0x0280,0x0000,0x0058,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
DW 0x0000,0x0280,0x008A,0x0100,0x20,0x0000, FEQuitAbort, 0x0000
|
||||
FEQuitTab: DW 240,312,120,134,%0000000000100001,%0000000000000000,SureExit,0
|
||||
DW 328,400,120,134,%0000000000100001,%0000000000000000,FEQuitAbort,0
|
||||
DW 0,208, 0,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
|
||||
DW 432,640, 0,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
|
||||
DW 0,640, 0, 88,%0000000000100000,%0000000000000000,FEQuitAbort,0
|
||||
DW 0,640,138,256,%0000000000100000,%0000000000000000,FEQuitAbort,0
|
||||
DW 0x8000
|
||||
|
||||
SettingsFileName:
|
||||
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
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 27.05.2025 savelij
|
||||
; LAST UPDATE: 29.07.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FELoadFile CALL JUMPS.SetClock
|
||||
@ -22,7 +22,7 @@ FELoadFile CALL JUMPS.SetClock
|
||||
LD A,H
|
||||
AND 0xC0
|
||||
CP 0xC0
|
||||
LD A,0x1E
|
||||
LD A,ERR_DSS.NOT_ENOUGH_MEMORY
|
||||
PUSH AF
|
||||
CALL Z,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
POP AF
|
||||
@ -31,7 +31,7 @@ FELoadFile CALL JUMPS.SetClock
|
||||
LD (FEFileLenght),HL
|
||||
LD A,(IX+30)
|
||||
OR (IX+31)
|
||||
LD A,0x1E
|
||||
LD A,ERR_DSS.NOT_ENOUGH_MEMORY
|
||||
PUSH AF
|
||||
CALL NZ,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
POP AF
|
||||
@ -51,11 +51,11 @@ FELoadFile CALL JUMPS.SetClock
|
||||
AND 0xC0
|
||||
RLCA
|
||||
RLCA
|
||||
LD (IX+PROC.MAXL1),A
|
||||
LD (IX+PROC.MAX_PAGES),A
|
||||
SUB A
|
||||
LD (IX+PROC.MAXH1),A
|
||||
LD (IX+PROC.MAXL2),A
|
||||
LD (IX+PROC.MAXH2),A
|
||||
LD (IX+PROC.MAX_PAGES + 1),A
|
||||
LD (IX+PROC.MAX_PAGES + 2),A
|
||||
LD (IX+PROC.MAX_PAGES + 3),A
|
||||
CALL JUMPS.InitProcess
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 160,88,320,48
|
||||
@ -320,11 +320,11 @@ SaveFile CALL PutString
|
||||
OR L
|
||||
JR Z,.L1
|
||||
INC B
|
||||
.L1 LD (IX+PROC.MAXL1),B
|
||||
.L1 LD (IX+PROC.MAX_PAGES),B
|
||||
SUB A
|
||||
LD (IX+PROC.MAXH1),A
|
||||
LD (IX+PROC.MAXL2),A
|
||||
LD (IX+PROC.MAXH2),A
|
||||
LD (IX+PROC.MAX_PAGES + 1),A
|
||||
LD (IX+PROC.MAX_PAGES + 2),A
|
||||
LD (IX+PROC.MAX_PAGES + 3),A
|
||||
CALL JUMPS.InitProcess
|
||||
MAKEWINDOW WINSUBOBJ.STORE
|
||||
W_MAIN 160,88,320,48
|
||||
@ -448,32 +448,32 @@ SaveAbort POP HL
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
FENextProcess LD IX,ProcessEdit
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
LD L,(IX+PROC.CURR_PAGE)
|
||||
LD H,(IX+PROC.CURR_PAGE + 1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD (IX+PROC.CURR_PAGE),L
|
||||
LD (IX+PROC.CURR_PAGE + 1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.NextPr1
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
LD L,(IX+PROC.CURR_PAGE + 2)
|
||||
LD H,(IX+PROC.CURR_PAGE + 3)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
LD (IX+PROC.CURR_PAGE + 2),L
|
||||
LD (IX+PROC.CURR_PAGE + 3),H
|
||||
.NextPr1 CALL JUMPS.PrnProcess
|
||||
RET
|
||||
|
||||
ProcessEdit DEFW 0x00B2
|
||||
DEFW 0x0075
|
||||
DEFW 0x011C
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFB 0x4F
|
||||
ProcessEdit DW 178
|
||||
DW 117
|
||||
DW 284
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DB COLORP.BLUE + COLORI.WHITE
|
||||
|
||||
;FECorrBigChar CP 0x41
|
||||
; RET C
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
; LAST UPDATE: 26.07.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
;<3B>à®æ¥¤ãà ¯¥ç ⨠áâà ¨æë ¤ ¬¯ á ⥪.ᬥé. ®â ç « ä ©«
|
||||
@ -265,7 +265,7 @@ PrnHEXinfo LD HL,LineH
|
||||
SBC HL,DE
|
||||
JR Z,TstLinH
|
||||
LD (ELines),DE
|
||||
CALL JUMPS.InitScrBar
|
||||
CALL JUMPS.InitScrollBar
|
||||
LD HL,(CurLine)
|
||||
LD (CLine),HL
|
||||
CALL JUMPS.PrnVScrBar
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
; LAST UPDATE: 26.07.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FEPrintFile CALL FEResCursor
|
||||
@ -22,10 +22,10 @@ FEPrintFile CALL FEResCursor
|
||||
OR A
|
||||
JR Z,.InitPrn
|
||||
INC HL
|
||||
.InitPrn LD (IX+PROC.MAXL1),L
|
||||
LD (IX+PROC.MAXH1),H
|
||||
LD (IX+PROC.MAXL2),0X00
|
||||
LD (IX+PROC.MAXH2),0x00
|
||||
.InitPrn LD (IX+PROC.MAX_PAGES),L
|
||||
LD (IX+PROC.MAX_PAGES + 1),H
|
||||
LD (IX+PROC.MAX_PAGES + 2),0x00
|
||||
LD (IX+PROC.MAX_PAGES + 3),0x00
|
||||
CALL JUMPS.InitProcess
|
||||
LD A,(EditMode)
|
||||
OR A
|
||||
@ -278,19 +278,19 @@ FENxtPrnProc LD A,E
|
||||
EXX
|
||||
PUSH DE
|
||||
LD IX,FEProcessPrn
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
LD L,(IX+PROC.CURR_PAGE)
|
||||
LD H,(IX+PROC.CURR_PAGE + 1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD (IX+PROC.CURR_PAGE),L
|
||||
LD (IX+PROC.CURR_PAGE + 1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.NxtProc
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
LD L,(IX+PROC.CURR_PAGE + 2)
|
||||
LD H,(IX+PROC.CURR_PAGE + 3)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
LD (IX+PROC.CURR_PAGE + 2),L
|
||||
LD (IX+PROC.CURR_PAGE + 3),H
|
||||
.NxtProc CALL JUMPS.PrnProcess
|
||||
POP DE
|
||||
EXX
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 16.07.2025 savelij
|
||||
; LAST UPDATE: 26.07.2025 savelij
|
||||
|
||||
FECSign: DB "FEC"
|
||||
HomeKeyFlag: DB 0
|
||||
@ -30,7 +30,7 @@ ReadEditorIni: ld a,0
|
||||
PUSH AF
|
||||
LD A,(JUMPS.FNREZ2)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,ADDR.FlexDIRECTORY
|
||||
LD HL,BUF_REZ2.FlexDIRECTORY
|
||||
PUSH IY
|
||||
SPDSS DSSF.CHDIR
|
||||
POP IY
|
||||
@ -246,7 +246,7 @@ FESetupOkey: ld a,(ExitDlgFlag)
|
||||
PUSH AF
|
||||
LD A,(JUMPS.FNREZ2)
|
||||
SETPORT WINSP.CPU1,,0
|
||||
LD HL,ADDR.FlexDIRECTORY
|
||||
LD HL,BUF_REZ2.FlexDIRECTORY
|
||||
SPDSS DSSF.CHDIR
|
||||
EX AF,AF'
|
||||
POP AF
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
; LAST UPDATE: 29.07.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FEPrnASCIIpage LD HL,PrnASCIIinfo
|
||||
@ -21,10 +21,9 @@ FEPrnASCIIlp PUSH BC
|
||||
LD E,(IY+CursorX)
|
||||
LD D,(IY+CursorY)
|
||||
CALL FESetCursor
|
||||
CALL GetString
|
||||
RET
|
||||
JP GetString
|
||||
|
||||
;<3B>à®æ¥¤ãà ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà
|
||||
; <EFBFBD>à®æ¥¤ãà ®ç¨á⪨ ¨¦¥© ®¡« á⨠íªà
|
||||
FillASCII LD A,0xE4
|
||||
SUB B
|
||||
LD (FEFLenASC),A
|
||||
@ -169,7 +168,11 @@ PutLEA1 LD A,(DE)
|
||||
PutLnEA1 DJNZ PutLnEA0
|
||||
JR PutLineA3
|
||||
|
||||
PutLineA2 LD (HL),A
|
||||
PutLineA2
|
||||
IF ENABLE_CODEPAGE
|
||||
CALL DecodeSymbol
|
||||
ENDIF
|
||||
LD (HL),A
|
||||
INC L
|
||||
LD A,L
|
||||
CP C
|
||||
@ -285,8 +288,7 @@ PrASCIIex1 CALL FEResCursor
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
LD E,(IY+CursorX)
|
||||
LD D,(IY+CursorY)
|
||||
CALL FESetCursor
|
||||
RET
|
||||
JP FESetCursor
|
||||
|
||||
;[]==========================================================[]
|
||||
FESearchUp LD B,0xF0
|
||||
@ -754,7 +756,7 @@ PrnASCIIinfo LD HL,LineT
|
||||
LD DE,ColT
|
||||
LD BC,FreeT
|
||||
LD A,0x01
|
||||
REPT 0x04
|
||||
REPT 4
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (DE),A
|
||||
@ -811,7 +813,7 @@ PrnASCIIinfo LD HL,LineT
|
||||
SBC HL,DE
|
||||
JR Z,TstLine
|
||||
LD (ELines),DE
|
||||
CALL JUMPS.InitScrBar
|
||||
CALL JUMPS.InitScrollBar
|
||||
LD HL,(CurLine)
|
||||
LD (CLine),HL
|
||||
CALL JUMPS.PrnVScrBar
|
||||
@ -832,8 +834,7 @@ TstAddX LD A,(CAddX)
|
||||
ADD A,(IY+CursAddX)
|
||||
LD (CAddX),A
|
||||
LD IX,EditHBar
|
||||
CALL JUMPS.PrnHScrBar
|
||||
RET
|
||||
JP JUMPS.PrnHScrBar
|
||||
|
||||
ReadyNo DEFB 0x01,0
|
||||
ReadyYes DEFB "*",0
|
||||
@ -850,7 +851,11 @@ TInsertSymbol CP 0x20
|
||||
JP Z,Enter
|
||||
CP 0x09
|
||||
RET NZ
|
||||
InsSymbol: push af
|
||||
InsSymbol:
|
||||
IF ENABLE_CODEPAGE
|
||||
CALL DecodeSymbol
|
||||
ENDIF
|
||||
push af
|
||||
call Insert
|
||||
call TCursorRight
|
||||
pop bc
|
||||
@ -872,7 +877,7 @@ AutoBrackets EQU $-1
|
||||
db "(){}[]<>"
|
||||
cp b
|
||||
jr nz,Insert
|
||||
cp '\"' ; #22
|
||||
cp '\"'
|
||||
ret nz
|
||||
jp Insert
|
||||
|
||||
@ -1137,8 +1142,7 @@ TDeleteSymbol LD A,(IY+LenString)
|
||||
LD (IY+ReadyFile),A
|
||||
DEC (IY+LenString)
|
||||
CALL PrnASCIIstring
|
||||
CALL PrnASCIIinfo
|
||||
RET
|
||||
JP PrnASCIIinfo
|
||||
|
||||
AddString CALL PutStr2
|
||||
LD A,(IY+StringX)
|
||||
@ -1199,8 +1203,7 @@ AddStr2 POP AF
|
||||
LD HL,(EquipLines)
|
||||
DEC HL
|
||||
LD (EquipLines),HL
|
||||
CALL FEPrnASCIIpage
|
||||
RET
|
||||
JP FEPrnASCIIpage
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; Delete word
|
||||
@ -1341,6 +1344,7 @@ CursLf6 DEC HL
|
||||
DEC (IY+LenString)
|
||||
DJNZ CursLf6
|
||||
RET
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
; Šãàá®à ¢¯à ¢® ®¤® ¬¥áâ®
|
||||
TCursorRight LD A,(IY+CursorX)
|
||||
@ -1393,8 +1397,7 @@ CursRg6 CALL FEResCursor
|
||||
LD E,(IY+CursorX)
|
||||
LD D,(IY+CursorY)
|
||||
CALL FESetCursor
|
||||
CALL PrnASCIIinfo
|
||||
RET
|
||||
JP PrnASCIIinfo
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
;Word left
|
||||
@ -1435,6 +1438,7 @@ TWordLeft LD A,(IY+StringX)
|
||||
.skip LD (IY+StringX),C
|
||||
INC (IY+StringX)
|
||||
JP TCursorLeft
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
;Word right
|
||||
TWordRight LD A,(IY+LenString)
|
||||
@ -1702,8 +1706,7 @@ CursEx5 LD (IY+CursorX),A
|
||||
LD E,(IY+CursorX)
|
||||
LD D,(IY+CursorY)
|
||||
CALL FESetCursor
|
||||
CALL PrnASCIIinfo
|
||||
RET
|
||||
JP PrnASCIIinfo
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
FETPageUp CALL PutString
|
||||
@ -1801,8 +1804,8 @@ PagePr4 LD A,C
|
||||
JR PagePr4
|
||||
|
||||
PagePr5 LD (IY+CursorX),A
|
||||
CALL FEPrnASCIIpage
|
||||
RET
|
||||
JP FEPrnASCIIpage
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
FETBegFile CALL PutString
|
||||
LD HL,(LineShift)
|
||||
@ -1942,5 +1945,68 @@ NewPos6 LD A,C
|
||||
LD D,(IY+CursorY)
|
||||
CALL FESetCursor
|
||||
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
|
||||
|
||||
; ¯à¥®¡à §®¢ ¨¥ ᨬ¢®« ¢ § ¢¨á¨¬®á⨠®â ¢ë¡à ®© ª®¤¨à®¢ª¨
|
||||
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
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 18.07.2025 savelij
|
||||
; LAST UPDATE: 26.07.2025 savelij
|
||||
|
||||
include macros.a80
|
||||
|
||||
@ -14,7 +14,8 @@
|
||||
include mouse_sp.a80
|
||||
include fat_dir_sp.a80
|
||||
include macros_sp.a80
|
||||
include errors_sp.a80
|
||||
|
||||
HDR_FLX "-VIEW",,,;FLXMODES.M_ADRORG
|
||||
HDR_FLX "-VIEW"
|
||||
|
||||
include fviewer.a80
|
||||
@ -6,8 +6,8 @@ set path=d:\yad\svn\pentevo\tools\asl\bin\;d:\yad\svn\pentevo\tools\mhmt\
|
||||
call ..\..\setpath_includes
|
||||
set includes=%includes%;..\..\
|
||||
|
||||
asl -U -L -C -x -olist tmp\fviewer.lst -i %includes% fvmain.a80 || goto error
|
||||
p2bin fvmain.p ..\fnviewer.flx -r $-$ -k
|
||||
asl -U -L -C -x -olist tmp\fviewer.lst -i %includes% build.a80 || goto error
|
||||
p2bin build.p ..\fnviewer.flx -r $-$ -k
|
||||
|
||||
echo ########################
|
||||
echo # -= End Compile Ok =- #
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 20.03.2025 savelij
|
||||
; LAST UPDATE: 28.07.2025 savelij
|
||||
|
||||
;--------------------------------------------------------------
|
||||
; <20>à®æ¥¤ãà ¯¥ç ⨠áâà ¨æë ¤ ¬¯ á ⥪.ᬥé. ®â ç « ä ©«
|
||||
@ -89,6 +89,7 @@ PutHLn
|
||||
EXX
|
||||
LD HL,LineBuffer+0x3F ; ¬¥áâ® ¤«ï ASCII ª®¤®¢
|
||||
EXX
|
||||
; 32-å ¡¨â®¥ ᬥ饨¥
|
||||
LD A,(TempShift+3) ; Š« ¤¥¬ ᬥ饨¥
|
||||
CALL PutHexNumb ; ®â ç « ä ¨«
|
||||
LD A,(TempShift+2)
|
||||
@ -97,14 +98,15 @@ PutHLn
|
||||
CALL PutHexNumb
|
||||
LD A,(TempShift)
|
||||
CALL PutHexNumb
|
||||
LD (HL),":"
|
||||
LD (HL),':'
|
||||
INC L
|
||||
INC L
|
||||
PutHLoop CALL TestFPages
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
EXX
|
||||
LD (HL),A
|
||||
DECODE4HEX CALL DecodeSymbol
|
||||
LD (HL),A ; ᨬ¢®« ¤«ï ®â®¡à ¦¥¨ï
|
||||
INC L
|
||||
EXX
|
||||
CALL PutHexNumb ; <20>à®æ¥¤ãà ª®¢¥àâ
|
||||
@ -166,15 +168,9 @@ PutHexNumb PUSH AF
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
AND 0x0F
|
||||
ADD A,0x90
|
||||
DAA
|
||||
ADC A,0x40
|
||||
DAA
|
||||
LD (HL),A
|
||||
INC L
|
||||
CALL .L1
|
||||
POP AF
|
||||
AND 0x0F
|
||||
.L1 AND 0x0F
|
||||
ADD A,0x90
|
||||
DAA
|
||||
ADC A,0x40
|
||||
@ -385,8 +381,7 @@ HBegFile LD HL,JUMPS.ResFire
|
||||
LD HL,0x0000 ; ‘¬¥é¥¨¥ = 0000
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),HL
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
RET
|
||||
JP PrnHEXpage ; <20>¥ç â ¥¬ áâà ¨æã
|
||||
|
||||
; ‚ ª®¥æ ä ©«
|
||||
HEndFile LD HL,JUMPS.ResFire
|
||||
@ -430,8 +425,7 @@ HEndFile LD HL,JUMPS.ResFire
|
||||
INC BC
|
||||
.HEnd1 LD (FileShift),HL
|
||||
LD (FileShift+2),BC
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
RET
|
||||
JP PrnHEXpage ; <20>¥ç â ¥¬ áâà ¨æã
|
||||
|
||||
;--------------------------------------------------------------
|
||||
; <20>à®æ¥¤ãà ¢¢®¤ ®¢®£® 㪠§ ⥫ï á¬¥é¥¨ï ¢ ä ©«¥
|
||||
@ -650,8 +644,7 @@ HGTent LD HL,(FileLenght)
|
||||
LD B,H
|
||||
HGTent1 LD (FileShift),DE
|
||||
LD (FileShift+2),BC
|
||||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||||
RET
|
||||
JP PrnHEXpage ; <20>¥ç â ¥¬ áâà ¨æã
|
||||
|
||||
; <20> ¦ â Escape
|
||||
HGTescape LD HL,NewShift ; <20>ãä¥à áâப¨
|
||||
@ -669,8 +662,7 @@ HGTescape LD HL,NewShift ;
|
||||
LD BC,0x081C
|
||||
LD A,COLORP.PANEL + COLORI.FILES
|
||||
CALL JUMPS.PrnTxtLnNormC
|
||||
CALL JUMPS.ResFire
|
||||
RET ;‚ë室¨¬
|
||||
JP JUMPS.ResFire ; ‚ë室¨¬
|
||||
|
||||
NewShift DEFB " ",0
|
||||
|
||||
@ -678,7 +670,7 @@ NewShift DEFB " ",0
|
||||
; <20> ¢å®¤:
|
||||
; BC - €¤à¥á ¡ãä¥à á ⥪á⮬ (0-ª®¥æ ¡ãä¥à )
|
||||
; <20> ¢ë室:
|
||||
; DE+HL - —¨á«® 32¡¨â
|
||||
; DEHL - —¨á«® 32¡¨â
|
||||
; CY - á¨â ªá¨ç¥áª ï ®è¨¡ª
|
||||
GetHexNum32 LD HL,0x0000
|
||||
LD E,L
|
||||
|
||||
@ -1,20 +1,17 @@
|
||||
|
||||
; LAST UPDATE: 31.05.2025 savelij
|
||||
; LAST UPDATE: 28.07.2025 savelij
|
||||
|
||||
LineBuffer := WorkBuffer+0x300
|
||||
|
||||
;[]==========================================================[]
|
||||
JP FileViewer
|
||||
|
||||
DZ FLEX_VERS.VIEWER
|
||||
|
||||
FileViewer CALL LoadFile
|
||||
CALL LoadFile
|
||||
RET C
|
||||
LD IX,ViewingFile
|
||||
SUB A
|
||||
LD (ViewMode),A
|
||||
LD (ASCIIaddX),A
|
||||
LD HL,0x0000
|
||||
LD H,A
|
||||
LD L,A
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),HL
|
||||
LD L,(IX+28)
|
||||
@ -27,9 +24,10 @@ FileViewer CALL LoadFile
|
||||
ViewerBegin CALL InitStatusLine
|
||||
CALL InitVProc
|
||||
CALL PrintVPage
|
||||
ViewerLoop LD A,(ViewMode)
|
||||
ViewerLoop LD A,(ViewMode) ; ०¨¬ ¯à®á¬®âà ?
|
||||
OR A
|
||||
JR NZ,HViewLoop
|
||||
; ०¨¬ ¯à®á¬®âà ⥪áâ
|
||||
TViewLoop LD IX,ASCIItab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ¦ â¨ï ª« ¢¨è
|
||||
@ -40,53 +38,54 @@ TViewLoop LD IX,ASCIItab
|
||||
OR A
|
||||
JR NZ,TViewLoop ; †¤¥¬ äãªæ¨®.ª« ¢¨è¨
|
||||
LD A,D
|
||||
CP 0x44
|
||||
CP SC.F10;0x44
|
||||
JP Z,ViewerExit
|
||||
LD HL,TViewLoop
|
||||
PUSH HL
|
||||
CP 0x3B
|
||||
CP SC.F1;0x3B
|
||||
JP Z,About
|
||||
CP 0x3C
|
||||
CP SC.F2;0x3C
|
||||
JP Z,ChASCIImode
|
||||
CP 0x3E
|
||||
CP SC.F4;0x3E
|
||||
JP Z,ChViewer ; <20>à®á¬®âà ¢ HEX
|
||||
CP 0x42
|
||||
CP SC.F8;0x42
|
||||
JP Z,ChCodePage ; ‘¬¥ ª®¤®¢®© áâà ¨æë WIN/DOS/KOI
|
||||
CP 0x41
|
||||
CP SC.F7;0x41
|
||||
JP Z,FVPrintFile
|
||||
CP 0x54
|
||||
CP SC.X4;0x54
|
||||
JP Z,ScrollLeft
|
||||
CP 0x56
|
||||
CP SC.X6;0x56
|
||||
JP Z,ScrollRght
|
||||
CP 87 ;Home
|
||||
CP SC.X7;87 ; Home
|
||||
JP Z,THome
|
||||
CP 81 ;End
|
||||
CP SC.X1;81 ; End
|
||||
JP Z,TEnd
|
||||
CP 88 ;‘â५ª ¢¢¥àå
|
||||
CP SC.X8;88 ; ‘â५ª ¢¢¥àå
|
||||
JP Z,TLineUp
|
||||
CP 82 ;‘â५ª ¢¨§
|
||||
CP SC.X2;82 ; ‘â५ª ¢¨§
|
||||
JP Z,TLineDwn
|
||||
CP 89 ;PageUp
|
||||
CP SC.X9;89 ; PageUp
|
||||
JP Z,TPageUp
|
||||
CP 83 ;PageDown
|
||||
CP SC.X3;83 ; PageDown
|
||||
JP Z,TPageDwn
|
||||
LD A,B
|
||||
AND 0x30
|
||||
CP 0x30
|
||||
AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
|
||||
CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
|
||||
RET Z
|
||||
BIT 5,B
|
||||
BIT KEYBSTAT.B_CTRL,B;5,B
|
||||
RET Z
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP 0x57 ;Ctrl+PageUp
|
||||
AND %01111111;0x7F
|
||||
CP SC.X7;0x57 ; Ctrl+PageUp
|
||||
JP Z,TBegFile ; ¢ ç «® ä ©«
|
||||
CP 0x51 ;Ctrl+PageDown
|
||||
CP SC.X1;0x51 ; Ctrl+PageDown
|
||||
JP Z,TEndFile ; ¢ ª®¥æ ä ©«
|
||||
CP 0x19 ;Ctrl+P
|
||||
CP SC.P;0x19 ; Ctrl+P
|
||||
JP Z,FVPrintFile
|
||||
RET
|
||||
|
||||
;--------------------------------------------------------------
|
||||
; ०¨¬ ¯à®á¬®âà HEX
|
||||
HViewLoop LD IX,HEXtab
|
||||
CALL JUMPS.TestCoords
|
||||
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ¦ â¨ï ª« ¢¨è
|
||||
@ -96,40 +95,42 @@ HViewLoop LD IX,HEXtab
|
||||
JP Z,ViewerExit
|
||||
OR A
|
||||
JR NZ,HViewLoop ; †¤¥¬ äãªæ¨®.ª« ¢¨è¨
|
||||
LD A,D ;
|
||||
CP 0x44 ;F10
|
||||
LD A,D
|
||||
CP SC.F10;0x44 ; F10
|
||||
JP Z,ViewerExit
|
||||
LD HL,HViewLoop
|
||||
PUSH HL
|
||||
CP 0x3B
|
||||
CP SC.F1;0x3B
|
||||
JP Z,About
|
||||
CP 0x3E ;F4
|
||||
CP SC.F4;0x3E ; F4
|
||||
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>¥à¥å®¤ ¤à¥á ¯®«ì§®¢ ⥫ï
|
||||
CP 0x41
|
||||
CP SC.F7;0x41
|
||||
JP Z,FVPrintFile
|
||||
CP 88 ;‘â५ª ¢¢¥àå
|
||||
CP SC.X8;88 ; ‘â५ª ¢¢¥àå
|
||||
JP Z,FVHLineUp
|
||||
CP 82 ;‘â५ª ¢¨§
|
||||
CP SC.X2;82 ; ‘â५ª ¢¨§
|
||||
JP Z,HLineDwn
|
||||
CP 89 ;PageUp
|
||||
CP SC.X9;89 ; PageUp
|
||||
JP Z,FVHPageUp
|
||||
CP 83 ;PageDown
|
||||
CP SC.X3;83 ; PageDown
|
||||
JP Z,HPageDwn
|
||||
LD A,B
|
||||
AND 0x30
|
||||
CP 0x30
|
||||
AND KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
|
||||
CP KEYBSTAT.M_ALT + KEYBSTAT.M_CTRL;0x30
|
||||
RET Z
|
||||
BIT 5,B
|
||||
BIT KEYBSTAT.B_CTRL,B;5,B
|
||||
RET Z
|
||||
LD A,D
|
||||
AND 0x7F
|
||||
CP 0x57 ;Ctrl+PageUp
|
||||
AND %01111111;0x7F
|
||||
CP SC.X7;0x57 ; Ctrl+PageUp
|
||||
JP Z,HBegFile ; ¢ ç «® ä ©«
|
||||
CP 0x51 ;Ctrl+PageDown
|
||||
CP SC.X1;0x51 ; Ctrl+PageDown
|
||||
JP Z,HEndFile ; ¢ ª®¥æ ä ©«
|
||||
CP 0x19 ;Ctrl+P
|
||||
CP SC.P;0x19 ; Ctrl+P
|
||||
JP Z,FVPrintFile
|
||||
RET
|
||||
|
||||
@ -160,20 +161,6 @@ PrintVPage LD A,(ViewMode)
|
||||
JP NZ,PrnHEXpage
|
||||
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)
|
||||
SPDSS DSSF.FREEMEM
|
||||
@ -183,7 +170,6 @@ ViewerExit LD A,(FVMemIndef)
|
||||
;[]==========================================================[]
|
||||
LoadFile CALL JUMPS.SetClock
|
||||
LD DE,ViewingFile
|
||||
; SPDSS DSSF.F_FIRST,1,0x37
|
||||
SPDSS DSSF.F_FIRST,1, DIR.M_Archive + \
|
||||
DIR.M_Dir + \
|
||||
DIR.M_System + \
|
||||
@ -226,7 +212,7 @@ LoadFile CALL JUMPS.SetClock
|
||||
INC HL
|
||||
LoadFl1 LD A,D
|
||||
OR E
|
||||
LD A,0x1E
|
||||
LD A,ERR_DSS.NOT_ENOUGH_MEMORY
|
||||
PUSH AF
|
||||
CALL NZ,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
POP AF
|
||||
@ -239,7 +225,7 @@ LoadFl1 LD A,D
|
||||
LD H,B
|
||||
OR A
|
||||
SBC HL,DE
|
||||
LD A,0x1E
|
||||
LD A,ERR_DSS.NOT_ENOUGH_MEMORY
|
||||
PUSH DE
|
||||
PUSH AF
|
||||
CALL C,JUMPS.DOSError ;!!!!!!!!!!!! <20>¥â ¯ ¬ïâ¨
|
||||
@ -247,11 +233,11 @@ LoadFl1 LD A,D
|
||||
POP DE
|
||||
JP C,LoadExit
|
||||
LD IX,ProcessView
|
||||
LD (IX+PROC.MAXL1),E
|
||||
LD (IX+PROC.MAXH1),D
|
||||
LD (IX+PROC.MAX_PAGES),E
|
||||
LD (IX+PROC.MAX_PAGES + 1),D
|
||||
SUB A
|
||||
LD (IX+PROC.MAXL2),A
|
||||
LD (IX+PROC.MAXH2),A
|
||||
LD (IX+PROC.MAX_PAGES + 2),A
|
||||
LD (IX+PROC.MAX_PAGES + 3),A
|
||||
PUSH DE
|
||||
CALL JUMPS.InitProcess
|
||||
POP DE
|
||||
@ -270,10 +256,10 @@ LoadFl1 LD A,D
|
||||
W_END
|
||||
SPDSS DSSF.CURDISK
|
||||
LD HL,WorkBuffer
|
||||
ADD A,"A"
|
||||
ADD A,'A'
|
||||
LD (HL),A
|
||||
INC HL
|
||||
LD (HL),":"
|
||||
LD (HL),':'
|
||||
INC HL
|
||||
PUSH HL
|
||||
SPDSS DSSF.CURDIR
|
||||
@ -283,7 +269,7 @@ LoadFl1 LD A,D
|
||||
CP (HL)
|
||||
JR NZ,.L2
|
||||
DEC HL
|
||||
LD A,0x5C
|
||||
LD A,'\\'
|
||||
CP (HL)
|
||||
INC HL
|
||||
JR Z,.L3
|
||||
@ -385,33 +371,32 @@ NoRead LD A,(FVMemIndef)
|
||||
JR LoadExit
|
||||
|
||||
FVNextProcess LD IX,ProcessView
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
LD L,(IX+PROC.CURR_PAGE)
|
||||
LD H,(IX+PROC.CURR_PAGE + 1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD (IX+PROC.CURR_PAGE),L
|
||||
LD (IX+PROC.CURR_PAGE + 1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.NextPr1
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
LD L,(IX+PROC.CURR_PAGE + 2)
|
||||
LD H,(IX+PROC.CURR_PAGE + 3)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
.NextPr1 CALL JUMPS.PrnProcess
|
||||
RET
|
||||
LD (IX+PROC.CURR_PAGE + 2),L
|
||||
LD (IX+PROC.CURR_PAGE + 3),H
|
||||
.NextPr1 JP JUMPS.PrnProcess
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ProcessView DEFW 0x00B2
|
||||
DEFW 0x0075
|
||||
DEFW 0x011C
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFB 0x4F
|
||||
ProcessView DW 178
|
||||
DW 117
|
||||
DW 284
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DB COLORP.BLUE + COLORI.WHITE
|
||||
|
||||
;FVCorrBigChar CP 0x41
|
||||
; RET C
|
||||
@ -469,7 +454,7 @@ InitViewScr LD HL,FVFLen
|
||||
LD C,(IX+32)
|
||||
LD B,0x08
|
||||
InitVS0 RL C
|
||||
LD A,"-"
|
||||
LD A,'-'
|
||||
JR NC,.L3
|
||||
LD A,(HL)
|
||||
.L3 LD (DE),A
|
||||
@ -514,7 +499,7 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
|
||||
CP (HL)
|
||||
JR NZ,.L4
|
||||
DEC HL
|
||||
LD A,0x5C
|
||||
LD A,'\\'
|
||||
CP (HL)
|
||||
INC HL
|
||||
JR Z,.L5
|
||||
@ -542,8 +527,7 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
|
||||
LD B,0x08
|
||||
EXX
|
||||
LD A,0x02
|
||||
CALL JUMPS.SetCMOSPrint
|
||||
RET
|
||||
JP JUMPS.SetCMOSPrint
|
||||
|
||||
FVFAtributs DEFB "--ad-shr"
|
||||
|
||||
@ -610,21 +594,19 @@ FVGet8Bit LD B,0x2F
|
||||
FVBytes DEFB "bytes"
|
||||
|
||||
;[]==========================================================[]
|
||||
InitStatusLine LD A,(ViewMode)
|
||||
InitStatusLine CALL InitCodePage
|
||||
LD A,(ViewMode)
|
||||
OR A
|
||||
JP NZ,HEXstatus
|
||||
ASCIIstatus LD HL,UnWrapT
|
||||
LD DE,0x005E
|
||||
LD DE,94
|
||||
LD A,(ASCIImode)
|
||||
OR A
|
||||
JR Z,.L1
|
||||
LD HL,WrapT
|
||||
LD DE,0x0064
|
||||
.L1 LD (ASCIIx),DE
|
||||
LD DE,ASCIIm
|
||||
LD BC,0x0009
|
||||
LDIR
|
||||
CALL InitCodePage
|
||||
LD DE,100
|
||||
.L1 LD (ASCIIx),DE ; ¯®§¨æ¨ï ¯¥ç ⨠¯® X
|
||||
LD (ASCIIm),HL ; ¤à¥á ⥪áâ ª®â®àë© ¯¥ç â âì
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
W_HORIZLINE 0,241,640
|
||||
W_FILL 2,243,636,12,COLORI.HIGHGRAY
|
||||
@ -632,26 +614,23 @@ ASCIIstatus LD HL,UnWrapT
|
||||
W_BUTTON 0,242,80,14
|
||||
W_TEXT 18,245,COLORP.HIGHGRAY,"F1 About"
|
||||
W_BUTTON 80,242,80,14
|
||||
W_TEXT 94,245,COLORP.HIGHGRAY,"F2 UnWrap"
|
||||
ASCIIx: EQU $ - STRLEN("F2 UnWrap") - 6
|
||||
ASCIIm: EQU $ - STRLEN("F2 UnWrap") - 1
|
||||
W_ADRTEXT 94,245,COLORP.HIGHGRAY,0
|
||||
ASCIIx: EQU $ - 7
|
||||
ASCIIm: EQU $ - 2
|
||||
W_BUTTON 160,242,80,14
|
||||
W_TEXT 184,245,COLORP.HIGHGRAY,"F4 Hex"
|
||||
W_BUTTON 400,242,80,14
|
||||
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
|
||||
W_BUTTON 480,242,80,14
|
||||
W_TEXT 504,245,COLORP.HIGHGRAY,"F8 DOS"
|
||||
ASCIIenc: EQU $ - STRLEN("DOS") - 1
|
||||
W_ADRTEXT 504,245,COLORP.HIGHGRAY,0
|
||||
ASCIIenc1: EQU $ - 2
|
||||
W_BUTTON 560,242,80,14
|
||||
W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
|
||||
W_END
|
||||
RET
|
||||
|
||||
UnWrapT DEFB "F2 UnWrap"
|
||||
WrapT DEFB "F2 Wrap "
|
||||
EncDos: DEFB "DOS"
|
||||
EncWin: DEFB "WIN"
|
||||
EncKoi: DEFB "KOI"
|
||||
UnWrapT DZ "F2 UnWrap"
|
||||
WrapT DZ "F2 Wrap "
|
||||
|
||||
HEXstatus
|
||||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||||
@ -666,6 +645,9 @@ HEXstatus
|
||||
W_TEXT 258,245,COLORP.HIGHGRAY,"F5 Go to"
|
||||
W_BUTTON 400,242,80,14
|
||||
W_TEXT 422,245,COLORP.HIGHGRAY,"F7 Print"
|
||||
W_BUTTON 480,242,80,14
|
||||
W_ADRTEXT 504,245,COLORP.HIGHGRAY,0
|
||||
ASCIIenc2: EQU $ - 2
|
||||
W_BUTTON 560,242,80,14
|
||||
W_TEXT 580,245,COLORP.HIGHGRAY,"F10 Quit"
|
||||
W_END
|
||||
@ -678,7 +660,7 @@ About
|
||||
W_FILL 4,2,312,10,COLORP.BLACK
|
||||
W_TEXT 144,3,COLORI.WHITE,"About"
|
||||
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 92,50,COLORP.HIGHGRAY,"(C)2021 Mikhaltchenkov Dmitry"
|
||||
W_BUTTON 124,66,72,14
|
||||
@ -697,7 +679,7 @@ AboutLoop LD IX,FVAboutTab
|
||||
CP 0x0D
|
||||
JR Z,AboutExt
|
||||
RES 5,A
|
||||
CP "O"
|
||||
CP 'O'
|
||||
JR NZ,AboutLoop
|
||||
AboutExt
|
||||
WINDOWCLOSE
|
||||
@ -834,7 +816,7 @@ InProcHex LD HL,(FileLenght)
|
||||
RET Z
|
||||
; <20>à®æ¥¤ãà ¨¨æ¨ «¨§ 樨 â ¡«¨æë ¯à®æ¥â®¢
|
||||
; <20> ¢å®¤:
|
||||
; DE+HL - „«¨ ä ©« -1áâà ¨æ
|
||||
; DEHL - „«¨ ä ©« - 1 áâà ¨æ
|
||||
InitProc PUSH HL
|
||||
PUSH DE
|
||||
EX DE,HL
|
||||
@ -942,7 +924,7 @@ LowTest LD IX,ProcentTab+125 ;
|
||||
|
||||
; <20>à®æ¥¤ãà â¥áâ¨à®¢ ¨ï ⥪ã饣® ᬥ饨ï
|
||||
; <20> ¢å®¤:
|
||||
; DE+HL - ’¥ªã饥 ᬥ饨¥
|
||||
; DEHL - ’¥ªã饥 ᬥ饨¥
|
||||
; <20> ¢ë室:
|
||||
; Z - ’¥ª.ᬥé=¯à®æ¥â
|
||||
; C - ’¥ª.ᬥé<¯à®æ¥â
|
||||
@ -976,7 +958,7 @@ PutProcent LD HL,ProcText
|
||||
ADD A,100
|
||||
EX AF,AF'
|
||||
LD A,B
|
||||
CP "0"
|
||||
CP '0'
|
||||
JR Z,.L2
|
||||
SET 0,C
|
||||
.L2 BIT 0,C
|
||||
@ -992,7 +974,7 @@ PutProcent LD HL,ProcText
|
||||
ADD A,10
|
||||
EX AF,AF'
|
||||
LD A,B
|
||||
CP "0"
|
||||
CP '0'
|
||||
JR Z,.L5
|
||||
SET 0,C
|
||||
.L5 BIT 0,C
|
||||
@ -1001,33 +983,37 @@ PutProcent LD HL,ProcText
|
||||
.L6 LD (HL),A
|
||||
INC HL
|
||||
EX AF,AF'
|
||||
ADD A,"0"
|
||||
ADD A,'0'
|
||||
LD (HL),A
|
||||
POP HL
|
||||
LD DE,0x0250
|
||||
LD BC,0x0011
|
||||
LD A,0x80
|
||||
CALL JUMPS.PrnTxtLnNorm
|
||||
RET
|
||||
JP JUMPS.PrnTxtLnNorm
|
||||
|
||||
InitCodePage: LD A,0
|
||||
CodePage EQU $-1
|
||||
LD L,A
|
||||
LD H,0
|
||||
ADD HL,HL
|
||||
ADD A,A
|
||||
ADD A,L
|
||||
ADD A,A
|
||||
ADD A,L
|
||||
LD HL,EncDos
|
||||
ADD A,L
|
||||
LD L,A
|
||||
LD DE,EncDos
|
||||
ADD HL,DE
|
||||
LD DE,ASCIIenc
|
||||
LD BC,3
|
||||
LDIR
|
||||
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 (PutLine2),A
|
||||
LD (PutLine2 + 1),HL
|
||||
LD (PutLine2 + 1),HL ; ¤«ï ०¨¬ ¯à®á¬®âà TEXT
|
||||
LD (DECODE4HEX),A
|
||||
LD (DECODE4HEX + 1),HL ; ¤«ï ०¨¬ ¯à®á¬®âà HEX
|
||||
RET
|
||||
|
||||
.next: DEC A
|
||||
@ -1039,9 +1025,13 @@ CodePage EQU $-1
|
||||
LD A,0xCD
|
||||
JR .call
|
||||
|
||||
ProcText DEFB " %",0
|
||||
ProcFlag DEFB 0x00
|
||||
ProcentTab DUPL 505,0
|
||||
EncDos: DZ "F8 DOS"
|
||||
EncWin: DZ "F8 WIN"
|
||||
EncKoi: DZ "F8 KOI"
|
||||
|
||||
ProcText DZ " %"
|
||||
ProcFlag DB 0
|
||||
ASCIImode DB 1 ; ¯à¨ § ¯ã᪥ ०¨¬ TEXT
|
||||
|
||||
;[]==========================================================[]
|
||||
include fvtext.a80
|
||||
@ -1049,33 +1039,48 @@ ProcentTab DUPL 505,0
|
||||
include fvprn.a80
|
||||
|
||||
;[]==========================================================[]
|
||||
ASCIItab: DEFW 0x0050,0x0230,0x001C,0x007F,0x00,0x0000,TLineUpMs,TBegFile
|
||||
DEFW 0x0050,0x0230,0x0080,0x00E4,0x00,0x0000,TLineDwnMs,TEndFile
|
||||
DEFW 0x0000,0x0050,0x001C,0x00E4,0x00,0x0000,TPageUpMs,ScrollLeft
|
||||
DEFW 0x0230,0x0280,0x001C,0x00E4,0x00,0x0000,TPageDwnMs,ScrollRght
|
||||
DEFW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000,About,0x0000
|
||||
DEFW 0x0050,0x00A0,0x00F2,0x0100,0x01,0x0000,ChASCIImode,0x0000
|
||||
DEFW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000,ChViewer,0x0000
|
||||
DEFW 0x0190,0x01E0,0x00F2,0x0100,0x01,0x0000,ChCodePage,0x0000
|
||||
DEFW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000,FVPrintFile,0x0000
|
||||
DEFW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000,ViewerExit,0x0000
|
||||
DEFW 0x8000
|
||||
ASCIItab: DW 80,560, 28,127,%0000000000000000,%0000000000000000,TLineUpMs,TBegFile
|
||||
DW 80,560,128,228,%0000000000000000,%0000000000000000,TLineDwnMs,TEndFile
|
||||
DW 0, 80, 28,228,%0000000000000000,%0000000000000000,TPageUpMs,ScrollLeft
|
||||
DW 560,640, 28,228,%0000000000000000,%0000000000000000,TPageDwnMs,ScrollRght
|
||||
DW 0, 80,242,256,%0000000000000001,%0000000000000000,About,0
|
||||
DW 80,160,242,256,%0000000000000001,%0000000000000000,ChASCIImode,0
|
||||
DW 160,240,242,256,%0000000000000001,%0000000000000000,ChViewer,0
|
||||
DW 400,480,242,256,%0000000000000001,%0000000000000000,FVPrintFile,0
|
||||
DW 480,560,242,256,%0000000000000001,%0000000000000000,ChCodePage,0
|
||||
DW 560,640,242,256,%0000000000100001,%0000000000000000,ViewerExit,0
|
||||
DW 0x8000
|
||||
|
||||
HEXtab: DEFW 0x0050,0x0230,0x001C,0x007F,0x00,0x0000,HLineUpMs,HBegFile
|
||||
DEFW 0x0050,0x0230,0x0080,0x00E4,0x00,0x0000,HLineDwnMs,HEndFile
|
||||
DEFW 0x0000,0x0050,0x001C,0x00E4,0x00,0x0000,HPageUpMs,0x0000
|
||||
DEFW 0x0230,0x0280,0x001C,0x00E4,0x00,0x0000,HPageDwnMs,0x0000
|
||||
DEFW 0x0000,0x0050,0x00F2,0x0100,0x01,0x0000,About,0x0000
|
||||
DEFW 0x00A0,0x00F0,0x00F2,0x0100,0x01,0x0000,ChViewer,0x0000
|
||||
DEFW 0x00F0,0x0140,0x00F2,0x0100,0x01,0x0000,HGoTo,0x0000
|
||||
DEFW 0x01E0,0x0230,0x00F2,0x0100,0x01,0x0000,FVPrintFile,0x0000
|
||||
DEFW 0x0230,0x0280,0x00F2,0x0100,0x21,0x0000,ViewerExit,0x0000
|
||||
DEFW 0x8000
|
||||
HEXtab: DW 80,560, 28,127,%0000000000000000,%0000000000000000,HLineUpMs,HBegFile
|
||||
DW 80,560,128,228,%0000000000000000,%0000000000000000,HLineDwnMs,HEndFile
|
||||
DW 0, 80, 28,228,%0000000000000000,%0000000000000000,HPageUpMs,0
|
||||
DW 560,640, 28,228,%0000000000000000,%0000000000000000,HPageDwnMs,0
|
||||
DW 0, 80,242,256,%0000000000000001,%0000000000000000,About,0
|
||||
DW 160,240,242,256,%0000000000000001,%0000000000000000,ChViewer,0
|
||||
DW 240,320,242,256,%0000000000000001,%0000000000000000,HGoTo,0
|
||||
DW 400,480,242,256,%0000000000000001,%0000000000000000,FVPrintFile,0
|
||||
DW 480,560,242,256,%0000000000000001,%0000000000000000,ChCodePage,0
|
||||
DW 560,640,242,256,%0000000000100001,%0000000000000000,ViewerExit,0
|
||||
DW 0x8000
|
||||
|
||||
FVAboutTab: DEFW 0x011C,0x0164,0x008A,0x0098,0x21,0x0000,AboutExt,0x0000
|
||||
DEFW 0x0000,0x00A0,0x0000,0x0100,0x20,0x0000,AboutExt,0x0000
|
||||
DEFW 0x01E0,0x0280,0x0000,0x0100,0x20,0x0000,AboutExt,0x0000
|
||||
DEFW 0x0000,0x0280,0x0000,0x0048,0x20,0x0000,AboutExt,0x0000
|
||||
DEFW 0x0000,0x0280,0x009D,0x0100,0x20,0x0000,AboutExt,0x0000
|
||||
DEFW 0x8000
|
||||
FVAboutTab: DW 284,356,138,152,%0000000000100001,%0000000000000000,AboutExt,0
|
||||
DW 0,160, 0,256,%0000000000100000,%0000000000000000,AboutExt,0
|
||||
DW 480,640, 0,256,%0000000000100000,%0000000000000000,AboutExt,0
|
||||
DW 0,640, 0, 72,%0000000000100000,%0000000000000000,AboutExt,0
|
||||
DW 0,640,157,256,%0000000000100000,%0000000000000000,AboutExt,0
|
||||
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
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 24.03.2025 savelij
|
||||
; LAST UPDATE: 28.07.2025 savelij
|
||||
|
||||
;[]==========================================================[]
|
||||
FVPrintFile
|
||||
@ -28,10 +28,10 @@ FVPrintFile
|
||||
OR L
|
||||
JR NZ,.InitPrn
|
||||
INC E
|
||||
.InitPrn LD (IX+PROC.MAXL1),L
|
||||
LD (IX+PROC.MAXH1),H
|
||||
LD (IX+PROC.MAXL2),E
|
||||
LD (IX+PROC.MAXH2),0x00
|
||||
.InitPrn LD (IX+PROC.MAX_PAGES),L
|
||||
LD (IX+PROC.MAX_PAGES + 1),H
|
||||
LD (IX+PROC.MAX_PAGES + 2),E
|
||||
LD (IX+PROC.MAX_PAGES + 3),0x00
|
||||
CALL JUMPS.InitProcess
|
||||
LD A,(ViewMode)
|
||||
OR A
|
||||
@ -142,7 +142,7 @@ PrnHLn
|
||||
CALL PutHexNumb
|
||||
LD A,(TempShift)
|
||||
CALL PutHexNumb
|
||||
LD (HL),":"
|
||||
LD (HL),':'
|
||||
INC L
|
||||
INC L
|
||||
PrnHLoop CALL TestFPages
|
||||
@ -155,7 +155,7 @@ PrnHLoop CALL TestFPages
|
||||
EXX
|
||||
CP 0x20
|
||||
JR NC,.L1
|
||||
LD A,"."
|
||||
LD A,'.'
|
||||
.L1 LD (HL),A
|
||||
INC L
|
||||
EXX
|
||||
@ -207,8 +207,7 @@ PrnHEX LD A,(HL)
|
||||
CALL FVPrintCHAR
|
||||
RET C
|
||||
LD A,0x0A
|
||||
CALL FVPrintCHAR
|
||||
RET
|
||||
JP FVPrintCHAR
|
||||
|
||||
FVPrintCHAR LD IXL,A
|
||||
PUSH IX
|
||||
@ -260,8 +259,8 @@ FVPrnCHAR PUSH HL
|
||||
HALT
|
||||
JR FVPrintCHAR
|
||||
|
||||
PrintTab DEFW 0x011C,0x0164,0x0080,0x008E,0x01,0x0000,FVStopPrint,0x0000
|
||||
DEFW 0x8000
|
||||
PrintTab DW 284,356,128,142,%0000000000000001,%0000000000000000,FVStopPrint,0
|
||||
DW 0x8000
|
||||
|
||||
FVNxtPrnProc LD A,E
|
||||
OR A
|
||||
@ -272,19 +271,19 @@ FVNxtPrnProc LD A,E
|
||||
EXX
|
||||
PUSH DE
|
||||
LD IX,ProcessPrn
|
||||
LD L,(IX+PROC.CURL1)
|
||||
LD H,(IX+PROC.CURH1)
|
||||
LD L,(IX+PROC.CURR_PAGE)
|
||||
LD H,(IX+PROC.CURR_PAGE + 1)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL1),L
|
||||
LD (IX+PROC.CURH1),H
|
||||
LD (IX+PROC.CURR_PAGE),L
|
||||
LD (IX+PROC.CURR_PAGE + 1),H
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.NxtProc
|
||||
LD L,(IX+PROC.CURL2)
|
||||
LD H,(IX+PROC.CURH2)
|
||||
LD L,(IX+PROC.CURR_PAGE + 2)
|
||||
LD H,(IX+PROC.CURR_PAGE + 3)
|
||||
INC HL
|
||||
LD (IX+PROC.CURL2),L
|
||||
LD (IX+PROC.CURH2),H
|
||||
LD (IX+PROC.CURR_PAGE + 2),L
|
||||
LD (IX+PROC.CURR_PAGE + 3),H
|
||||
.NxtProc CALL JUMPS.PrnProcess
|
||||
POP DE
|
||||
EXX
|
||||
@ -322,13 +321,13 @@ EndJob: PUSH AF
|
||||
SCF
|
||||
RET
|
||||
|
||||
ProcessPrn DEFW 0x00BA
|
||||
DEFW 0x0071
|
||||
DEFW 0x010C
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFW 0x0000
|
||||
DEFB 0x4F
|
||||
ProcessPrn DW 186
|
||||
DW 113
|
||||
DW 268
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DW 0
|
||||
DB COLORP.BLUE + COLORI.WHITE
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
; LAST UPDATE: 25.03.2025 savelij
|
||||
; LAST UPDATE: 28.07.2025 savelij
|
||||
|
||||
;[]---------------------------------------------------------[]
|
||||
PrnASCIIpage LD HL,PrintVProc
|
||||
@ -155,9 +155,10 @@ DecodeSymbol: CP 0x80
|
||||
.table EQU $-2
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,.L1
|
||||
INC H
|
||||
.L1 LD A,(HL)
|
||||
ADC A,H
|
||||
SUB L
|
||||
LD H,A
|
||||
LD A,(HL)
|
||||
POP HL
|
||||
RET
|
||||
|
||||
@ -253,8 +254,7 @@ ScrollLeft LD A,(ASCIImode)
|
||||
RET Z
|
||||
DEC A
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
JP PrnASCIIpage
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
ScrollRght LD A,(ASCIImode)
|
||||
@ -265,8 +265,7 @@ ScrollRght LD A,(ASCIImode)
|
||||
RET Z
|
||||
INC A
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
JP PrnASCIIpage
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
THome LD A,(ASCIImode)
|
||||
@ -277,8 +276,7 @@ THome LD A,(ASCIImode)
|
||||
RET Z
|
||||
SUB A
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
JP PrnASCIIpage
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TEnd LD A,(ASCIImode)
|
||||
@ -289,8 +287,7 @@ TEnd LD A,(ASCIImode)
|
||||
RET Z
|
||||
LD A,0xA0
|
||||
LD (ASCIIaddX),A
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
JP PrnASCIIpage
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TLineUpMs CALL TLineUp
|
||||
@ -475,8 +472,7 @@ TBegFile LD HL,JUMPS.ResFire
|
||||
LD HL,0x0000
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),HL
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
JP PrnASCIIpage
|
||||
|
||||
;[]----------------------------------------------------------[]
|
||||
TEndFile LD HL,JUMPS.ResFire
|
||||
@ -500,8 +496,7 @@ TEndFl1 PUSH BC
|
||||
DJNZ TEndFl1
|
||||
LD (FileShift),HL
|
||||
LD (FileShift+2),DE
|
||||
CALL PrnASCIIpage
|
||||
RET
|
||||
JP PrnASCIIpage
|
||||
|
||||
;[]==========================================================[]
|
||||
SearchUp LD B,0xF0
|
||||
@ -745,6 +740,7 @@ SrchEEx POP DE
|
||||
OR A
|
||||
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
|
||||
@ -761,7 +757,7 @@ Table866: db 0x3F,0x3F,0x27,0x3F,0x22,0x3A,0xC5,0xD8
|
||||
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
|
||||
; 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
|
||||
|
||||
30
readme.md
30
readme.md
@ -3,26 +3,10 @@ Flex Navigator для компьютера Sprinter
|
||||
|
||||
Собранные файлы забирать из папки fn
|
||||
|
||||
|
||||
`CDplayer.flx 1.1:`
|
||||
- плагин доделан, описание/history в cdplayer.txt рядом с плагином.
|
||||
|
||||
`FE 1.09:`
|
||||
- исправлено: при выходе из редактора с несохраненным файлом и запросе на
|
||||
сохранение клавиша Enter теперь работает как подтверждение сохранения.
|
||||
|
||||
`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.
|
||||
`FileEditor.flx 1.10:`
|
||||
- устранено перепутанные кнопки для нажатий мышью для F7 и F9.
|
||||
`FileViewer.flx 1.06:`
|
||||
- добавлено переключение кодировки в режиме HEX просмотра.
|
||||
`FlexNavigaror 1.16.01:`
|
||||
- исправлен вылет при создании нового файла по Shift+F4 или просмотр с
|
||||
вводом имени по Shift+F3, плагин был не загружен.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user