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 @@
[]========================================================================[]
* *
* ޝ¨á ­¨¥ Flex Navigator API v1.xx ¤«ï à §à ¡®â稪®¢ Flx-Plugins *
* doc v0.5 ®â 31.03.2025 (¢ ¯à®æ¥áá¥) *
* doc v0.5 ®â 26.07.2025 (¢ ¯à®æ¥áá¥) *
* *
[]========================================================================[]
@ -57,7 +57,7 @@
¤ «¥¥ ¨¤ãâ ®¡'¥ªâë ®ª­  ¢ ä®à¬ â¥:
+00 (1) ⨯ ®¡ê¥ªâ 
+01 ... ®¯¨á â¥«¨ ®¡¥ªâ 
+01 ... ®¯¨á â¥«¨ ®¡ê¥ªâ 
®¡'¥ªâë ®ª­ :
0. +00 (1) == 0 - ª®­¥æ ᯨ᪠ ®¡'¥ªâ®¢. ¯®á«¥ í⮣® ®ª®­­ ï
@ -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 - ¯à®æ¥¤ãà  § ¬¥­ë æ¢¥â  ¯àאַ㣮«ì­®© ¯«®áª®áâ¨
@ -271,17 +278,9 @@
+0C ... á ¬  áâப 
¯à®æ¥¤ãàë ¤«ï â ¡«¨æë í«¥¬¥­â®¢ íªà ­ :
InpLnExtN - ¯à®æ¥¤ãà  ­®à¬ «ì­®£® ¢ë室  ¨§ । ªæ¨¨
InpLnExtC - ¯à®æ¥¤ãà  ¢ë室  ¨§ । ªæ¨¨ ¯® cancel
(¢®ááâ ­ ¢«¨¢ ¥â ¨§­ ç «ì­ãî áâபã)
[]------------------------------------------------------------------------[]
JUMPS.InpLnExtN
[]------------------------------------------------------------------------[]
JUMPS.InpLnExtC
JUMPS.InpLnExtN - ¯à®æ¥¤ãà  ­®à¬ «ì­®£® ¢ë室  ¨§ । ªæ¨¨
JUMPS.InpLnExtC - ¯à®æ¥¤ãà  ¢ë室  ¨§ । ªæ¨¨ ¯® cancel
(¢®ááâ ­ ¢«¨¢ ¥â ¨§­ ç «ì­ãî áâபã)
[]------------------------------------------------------------------------[]
@ -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)  ¤à¥á ï祩ª¨, ªã¤  § ¯¨è¥âáï ­ ç «ì­ ï ª®®à¤¨­ â  ¡ à 
¥á«¨ 0, â® ­¥ ¨á¯®«ì§ã¥âáï
(¨á¯®«ì§ã¥âáï ¤«ï â ¡«¨æë í«¥¬¥­â®¢ íªà ­ )
@ -365,15 +364,7 @@
[]------------------------------------------------------------------------[]
JUMPS.InitScrollBar
[]------------------------------------------------------------------------[]
JUMPS.MenuWork
[]------------------------------------------------------------------------[]
3 ª®¬ ­¤ ¯¥à¥å®¤  (12 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
5 ª®¬ ­¤ ¯¥à¥å®¤  (12 ¡ ©â) § à¥§¥à¢¨à®¢ ­ë ¨ § ¯®«­¥­ë
ª®¬ ­¤®© RET (12 ¡ ©â 0xC9)
[]------------------------------------------------------------------------[]
@ -408,7 +399,7 @@
¥á«¨ +00 == 0x8000 íâ® áç¨â ¥âáï ª®­æ®¬ â ¡«¨æë í«¥¬¥­â®¢ §ªà ­ 
ä« £¨ í«¥¬¥­â :
ä« £¨ í«¥¬¥­â  (­®¬¥à ¡¨â ):
d00 - í«¥¬¥­â ª­®¯ª 
d01 - à ¡®ç ï ª­®¯ª 
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
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.

Binary file not shown.

BIN
fn/fn.exe

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

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)
@ -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

View File

@ -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

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
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 =- #

View File

@ -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,185 +41,167 @@ 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 ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,EditorLoop
LD A,D
CP 0x44
CP SC.F10
JP Z,EditorExit
LD A,E ;…-ASCII ª®¤
CP 0x1B ;Esc
LD A,E ; …-ASCII ª®¤
CP 0x1B ; Esc
JP Z,EditorExit
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
JP Z,ChEditor ;<3B>à®á¬®âà ¢ HEX
CP 0x41
CP SC.F4
JP Z,ChEditor ; <EFBFBD>à®á¬®âà ¢ HEX
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
JP Z,FETBegFile ;¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageEnd
JP Z,FETEndFile ;¢ ª®­¥æ ä ©« 
CP SC.X7 ; Ctrl+Home
JP Z,FETBegFile ; ¢ ­ ç «® ä ©« 
CP SC.X1 ; Ctrl+PageEnd
JP Z,FETEndFile ; ¢ ª®­¥æ ä ©« 
RET
; ०¨¬ । ªâ¨à®¢ ­¨ï HEX
HEditLoop LD IX,FEHEXtab
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
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
LD A,E ; …-ASCII ª®¤
CP 0x1B ; Esc
JP Z,EditorExit
LD HL,EditorLoop
PUSH HL
OR A
JP NZ,HPutSymbol
LD A,D
CP 0x3B
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
JP Z,ChEditor ;<3B>à®á¬®âà ¢ ⥪áâ¥
CP 0x3F ;F5
JP Z,FEHGoTo ;<3B>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
CP 0x41
CP SC.F4 ; F4
JP Z,ChEditor ; <EFBFBD>à®á¬®âà ¢ ⥪áâ¥
CP SC.F5 ; F5
JP Z,FEHGoTo ; <EFBFBD>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
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
JP Z,FEHBegFile ;¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageDown
JP Z,FEHEndFile ;¢ ª®­¥æ ä ©« 
CP 0x19 ;Ctrl+P
CP SC.X7 ; Ctrl+PageUp
JP Z,FEHBegFile ; ¢ ­ ç «® ä ©« 
CP SC.X1 ; Ctrl+PageDown
JP Z,FEHEndFile ; ¢ ª®­¥æ ä ©« 
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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 20.03.2025 savelij
; LAST UPDATE: 29.07.2025 savelij
;[]==========================================================[]
FEPrnASCIIpage LD HL,PrnASCIIinfo
@ -8,9 +8,9 @@ FEPrnASCIIpage LD HL,PrnASCIIinfo
LD (FETempShift),HL
LD B,0x1C
FEPrnASCIIlp PUSH BC
CALL PrnASCIIline ;‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
CALL PrnASCIIline ; ‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
POP BC
JR C,FillASCII ;CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
JR C,FillASCII ; CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
LD A,B
ADD A,0x08
LD B,A
@ -21,14 +21,13 @@ 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
JR Z,FEFASCIIe ;Z-­¥â ®âç¨á⪨
JR Z,FEFASCIIe ; Z-­¥â ®âç¨á⪨
LD A,B
LD (FEFPosASC),A
MAKEWINDOW WINSUBOBJ.WOBIND
@ -66,9 +65,9 @@ RefrASCIIpage LD HL,PrnASCIIinfo
LD (FETempShift),HL
JR .L1
.RfASCII CALL PrnASCIIline ;‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
.RfASCII CALL PrnASCIIline ; ‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
.L1 POP BC
RET C ;CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
RET C ; CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
DEC C
LD A,B
ADD A,0x08
@ -78,7 +77,7 @@ RefrASCIIpage LD HL,PrnASCIIinfo
RET
;[]----------------------------------------------------------[]
;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­
; <EFBFBD>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­
PrnASCIIline LD IXH,B
LD C,0xF0
LD HL,(FEFileLenght)
@ -98,25 +97,25 @@ PutASCIIln LD HL,TempBuffer
GETPORT WINSP.CPU1
PUSH AF
LD DE,(FETempShift)
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0
RLCA
RLCA
EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
RES 7,D ;‚ª«.á 0x4000
RES 7,D ; ‚ª«.á 0x4000
SET 6,D
PutASCIIlnLp BIT 7,D
JR Z,PutLnA1
RES 7,D
SET 6,D
EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ 
INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
PutLnA1 LD A,(DE)
@ -127,9 +126,9 @@ PutLnA1 LD A,(DE)
JR Z,PutLnA2
RES 7,D
SET 6,D
EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ 
EXX
INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
PutLnA2 LD A,(DE)
@ -156,8 +155,8 @@ PutLnEA0 BIT 7,D
RES 7,D
SET 6,D
EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ 
INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
PutLEA1 LD A,(DE)
@ -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
@ -180,8 +183,8 @@ PutLineA3 BIT 7,D
RES 7,D
SET 6,D
EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ 
INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
PutLnA3 LD A,(DE)
@ -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
@ -300,14 +302,14 @@ FESearchUp LD B,0xF0
.SearchUpBeg PUSH HL
GETPORT WINSP.CPU1
PUSH AF
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0
RLCA
RLCA
LD E,A
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
RES 7,H
SET 6,H
LD C,0x00
@ -323,7 +325,7 @@ FESearchUp LD B,0xF0
SET 6,H
.SrchUp0 LD A,(HL)
CP 0x0A
JR NZ,FESrchUp1+1
JR NZ,FESrchUp1 + 1
LD A,B
OR A
JR Z,FESrchUpEx
@ -395,13 +397,13 @@ FESearchDown LD B,0xF0
.SearchDnBeg PUSH HL
GETPORT WINSP.CPU1
PUSH AF
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0
RLCA
RLCA
LD E,A
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
RES 7,H
SET 6,H
@ -485,25 +487,25 @@ GetLine LD HL,LineBuffer
JR Z,GetLnE1
GETPORT WINSP.CPU1
PUSH AF
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0
RLCA
RLCA
EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
RES 7,D ;‚ª«.á 0x4000
RES 7,D ; ‚ª«.á 0x4000
SET 6,D
GetLnLoop BIT 7,D
JR Z,GetLn1
RES 7,D
SET 6,D
EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ 
INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
GetLn1 LD A,(DE)
@ -569,25 +571,25 @@ PutStrN SUB A
GETPORT WINSP.CPU1
PUSH AF
LD DE,(LineShift)
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0
RLCA
RLCA
EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
RES 7,D ;‚ª«.á 0x4000
RES 7,D ; ‚ª«.á 0x4000
SET 6,D
PutStringLp BIT 7,D
JR Z,PutStr3
RES 7,D
SET 6,D
EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ 
INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
PutStr3 LD A,(HL)
@ -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,13 +877,13 @@ AutoBrackets EQU $-1
db "(){}[]<>"
cp b
jr nz,Insert
cp '\"' ; #22
cp '\"'
ret nz
jp Insert
CanInsertBrackets:
LD A,(IY+LenString) ;InpytSymb
CP 240 ;Max len
LD A,(IY+LenString) ; InpytSymb
CP 240 ; Max len
RET Z
LD H,HIGH (LineBuffer)
LD L,(IY+StringX)
@ -893,13 +898,13 @@ CanInsertBrackets:
ret
Insert EX AF,AF'
LD A,(IY+LenString) ;InpytSymb
CP 240 ;Max len
LD A,(IY+LenString) ; InpytSymb
CP 240 ; Max len
RET Z
SUB (IY+StringX)
JR C,.NotInsert
JR Z,.NotInsert
;‚¢®¤ ¢ á¥à¥¤¨­ã ⥪áâ 
; ‚¢®¤ ¢ á¥à¥¤¨­ã ⥪áâ 
LD C,A
LD B,0x00
LD L,(IY+LenString)
@ -922,10 +927,10 @@ Insert EX AF,AF'
ret
;[]----------------------------------------------------------[]
;<3B>®¤áâ ­®¢ª  a ¯® ᯨáªã §  call.
;¯¥à¢ë© ¡ ©â ᯨ᪠ ᮤ¥à¦¨â ç¨á«®
;á«¥¤ãîé¨å ¤ «¥¥ ¯ à ®¡à §¥æ-§ ¬¥­¨â¥«ì.
;‚室: a. ‚ë室: a
; <EFBFBD>®¤áâ ­®¢ª  a ¯® ᯨáªã §  call.
; ¯¥à¢ë© ¡ ©â ᯨ᪠ ᮤ¥à¦¨â ç¨á«®
; á«¥¤ãîé¨å ¤ «¥¥ ¯ à ®¡à §¥æ-§ ¬¥­¨â¥«ì.
; ‚室: a. ‚ë室: a
; BXO„: A,List
; BXO„: A
Subst: ex (sp),hl
@ -945,11 +950,11 @@ Subst2: inc hl
ret
;[]----------------------------------------------------------[]
;DoubleString
; DoubleString
TDoubleString: ld l,(iy+LenString)
ld a,l
and a
adc a,a ;¡ã¤¥â ¯à¥¢ë襭 ¡ãä¥à ¢ 256 ᨬ¢®«®¢
adc a,a ; ¡ã¤¥â ¯à¥¢ë襭 ¡ãä¥à ¢ 256 ᨬ¢®«®¢
ret c
adc a,2
ret c
@ -984,7 +989,7 @@ TDoubleString: ld l,(iy+LenString)
jp TCursorDown
;[]----------------------------------------------------------[]
;Enter
; Enter
Enter LD A,(IY+LenString)
SUB (IY+StringX)
jr nc,.less
@ -1080,7 +1085,7 @@ Undo: xor a
jp PrnASCIIinfo
;[]----------------------------------------------------------[]
;BackSpace
; BackSpace
BackSpace LD A,(IY+StringX)
OR A
RET Z
@ -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)
@ -1153,13 +1157,13 @@ AddString CALL PutStr2
ADD HL,DE
GETPORT WINSP.CPU1
PUSH AF
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
AND 0xC0
RLCA
RLCA
LD E,A
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
RES 7,H
SET 6,H
@ -1199,11 +1203,10 @@ AddStr2 POP AF
LD HL,(EquipLines)
DEC HL
LD (EquipLines),HL
CALL FEPrnASCIIpage
RET
JP FEPrnASCIIpage
;[]----------------------------------------------------------[]
;Delete word
; Delete word
TDeleteWord LD A,(IY+StringX)
OR A
RET Z
@ -1287,7 +1290,7 @@ TDeleteWord LD A,(IY+StringX)
JP TCursorLeft
;[]----------------------------------------------------------[]
;Šãàá®à ¢«¥¢® ­  ®¤­® ¬¥áâ®
; Šãàá®à ¢«¥¢® ­  ®¤­® ¬¥áâ®
TCursorLeft LD A,(IY+StringX)
OR A
RET Z
@ -1341,8 +1344,9 @@ CursLf6 DEC HL
DEC (IY+LenString)
DJNZ CursLf6
RET
;[]----------------------------------------------------------[]
;Šãàá®à ¢¯à ¢® ­  ®¤­® ¬¥áâ®
; Šãàá®à ¢¯à ¢® ­  ®¤­® ¬¥áâ®
TCursorRight LD A,(IY+CursorX)
ADD A,(IY+CursAddX)
CP 240
@ -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
RET
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

View File

@ -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

View File

@ -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 =- #

View File

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

View File

@ -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,109 +24,113 @@ 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 ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,TViewLoop
LD A,E ;…-ASCII ª®¤
CP 0x1B ;Esc
LD A,E ; …-ASCII ª®¤
CP 0x1B ; Esc
JP Z,ViewerExit
OR A
JR NZ,TViewLoop ;†¤¥¬ ä㭪樮­.ª« ¢¨è¨
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
JP Z,ChViewer ;<3B>à®á¬®âà ¢ HEX
CP 0x42
JP Z,ChCodePage ;‘¬¥­  ª®¤®¢®© áâà ­¨æë WIN/DOS/KOI
CP 0x41
CP SC.F4;0x3E
JP Z,ChViewer ; <EFBFBD>à®á¬®âà ¢ HEX
CP SC.F8;0x42
JP Z,ChCodePage ; ‘¬¥­  ª®¤®¢®© áâà ­¨æë WIN/DOS/KOI
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
JP Z,TBegFile ;¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageDown
JP Z,TEndFile ;¢ ª®­¥æ ä ©« 
CP 0x19 ;Ctrl+P
AND %01111111;0x7F
CP SC.X7;0x57 ; Ctrl+PageUp
JP Z,TBegFile ; ¢ ­ ç «® ä ©« 
CP SC.X1;0x51 ; Ctrl+PageDown
JP Z,TEndFile ; ¢ ª®­¥æ ä ©« 
CP SC.P;0x19 ; Ctrl+P
JP Z,FVPrintFile
RET
;--------------------------------------------------------------
; ०¨¬ ¯à®á¬®âà  HEX
HViewLoop LD IX,HEXtab
CALL JUMPS.TestCoords
SPDSS DSSF.SCANKEY ;ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
SPDSS DSSF.SCANKEY ; ަ¨¤ ¥¬ ­ ¦ â¨ï ª« ¢¨è
JR Z,HViewLoop
LD A,E ;…-ASCII ª®¤
CP 0x1B ;Esc
LD A,E ; …-ASCII ª®¤
CP 0x1B ; Esc
JP Z,ViewerExit
OR A
JR NZ,HViewLoop ;†¤¥¬ ä㭪樮­.ª« ¢¨è¨
LD A,D ;
CP 0x44 ;F10
JR NZ,HViewLoop ; †¤¥¬ ä㭪樮­.ª« ¢¨è¨
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
JP Z,ChViewer ;<3B>à®á¬®âà ¢ ⥪áâ¥
CP 0x3F ;F5
JP Z,HGoTo ;<3B>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
CP 0x41
CP SC.F4;0x3E ; F4
JP Z,ChViewer ; <20>à®á¬®âà ¢ ⥪áâ¥
CP SC.F8;0x42
JP Z,ChCodePage ; ‘¬¥­  ª®¤®¢®© áâà ­¨æë WIN/DOS/KOI
CP SC.F5;0x3F ; F5
JP Z,HGoTo ; <20>¥à¥å®¤ ­   ¤à¥á ¯®«ì§®¢ â¥«ï
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
JP Z,HBegFile ;¢ ­ ç «® ä ©« 
CP 0x51 ;Ctrl+PageDown
JP Z,HEndFile ;¢ ª®­¥æ ä ©« 
CP 0x19 ;Ctrl+P
AND %01111111;0x7F
CP SC.X7;0x57 ; Ctrl+PageUp
JP Z,HBegFile ; ¢ ­ ç «® ä ©« 
CP SC.X1;0x51 ; Ctrl+PageDown
JP Z,HEndFile ; ¢ ª®­¥æ ä ©« 
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,12 +527,11 @@ FVFAttrib EQU $ - STRLEN(" ") - 1
LD B,0x08
EXX
LD A,0x02
CALL JUMPS.SetCMOSPrint
RET
JP JUMPS.SetCMOSPrint
FVFAtributs DEFB "--ad-shr"
;„ â 
; „ â 
FVGetData EX DE,HL
LD A,(IX+24)
AND 0x1F
@ -564,19 +548,19 @@ FVGetData EX DE,HL
CALL FVGet8Bit
LD (HL),"."
INC HL
LD A,(IX+25) ;ƒ®¤
LD A,(IX+25) ; ƒ®¤
SRL A
ADD A,80
.L2 SUB 100
JR NC,.L2
ADD A,100 ;ƒ®¤
ADD A,100 ; ƒ®¤
CALL FVGet8Bit
EX DE,HL
RET
;∴•
; ∴•
FVGetTime EX DE,HL
LD A,(IX+23) ;— áë
LD A,(IX+23) ; — áë
AND 0xF8
RRA
RRA
@ -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
@ -708,7 +690,7 @@ ScrollSCRup LD DE,0x241C
JR ScrlSCRDnUp
ScrollSCRdown LD DE,0x1C24
;<3B>  ¢å®¤:
; <EFBFBD>  ¢å®¤:
; D - Y ®âªã¤ 
; … - Y ªã¤ 
ScrlSCRDnUp DI
@ -747,19 +729,19 @@ ScSCRN1 LD A,D
InitFPages PUSH HL
LD DE,(TempShift)
LD HL,(TempShift+2)
LD A,D ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,D ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
RLA
RL L
RLA
RL L
LD A,L
EXX
LD E,A ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD E,A ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
RES 7,D ;‚ª«.á 0x4000
RES 7,D ; ‚ª«.á 0x4000
SET 6,D
POP HL
RET
@ -769,8 +751,8 @@ TestFPages BIT 7,D
RES 7,D
SET 6,D
EXX
INC E ;DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ;’¥ª.áâà ­¨æ 
INC E ; DE - €¤à¥á áâà ­¨æë ¢ ᯨ᪥
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
EXX
RET
@ -799,13 +781,13 @@ GetFPages PUSH HL
RET
;[]==========================================================[]
;<3B>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨ï â ¡«¨æë ¯à®æ¥­â®¢
; <EFBFBD>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨ï â ¡«¨æë ¯à®æ¥­â®¢
InitVProc LD A,0x01
LD (ProcFlag),A ;”« £ ¢ë¢®¤  ¯à®æ¥­â®¢
LD (ProcFlag),A ; ”« £ ¢ë¢®¤  ¯à®æ¥­â®¢
LD A,(ViewMode)
OR A
JR NZ,InProcHex
;<3B>à®æ¥­âë ¤«ï TextWrap
; <EFBFBD>à®æ¥­âë ¤«ï TextWrap
InProcASCII LD HL,(FileLenght)
LD DE,(FileLenght+2)
LD B,0x19
@ -816,7 +798,7 @@ InProcA PUSH BC
DJNZ InProcA
JR InitProc
;<3B>à®æ¥­âë ¤«ï Hex
; <EFBFBD>à®æ¥­âë ¤«ï Hex
InProcHex LD HL,(FileLenght)
LD DE,(FileLenght+2)
LD BC,0x0190
@ -832,21 +814,21 @@ InProcHex LD HL,(FileLenght)
OR D
OR E
RET Z
;<3B>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ â ¡«¨æë ¯à®æ¥­â®¢
;<3B>  ¢å®¤:
; DE+HL - „«¨­  ä ©« -1áâà ­¨æ 
; <EFBFBD>à®æ¥¤ãà  ¨­¨æ¨ «¨§ æ¨¨ â ¡«¨æë ¯à®æ¥­â®¢
; <EFBFBD>  ¢å®¤:
; DEHL - „«¨­  ä ©«  - 1 áâà ­¨æ 
InitProc PUSH HL
PUSH DE
EX DE,HL
LD BC,100 ;„«¨­  ä ©« /100 (%)
LD BC,100 ; „«¨­  ä ©« /100 (%)
CALL JUMPS.Divis32
LD (Coeff1+1),DE ;<3B>®«ãç ¥¬ ª®«-¢® ¡ ©â ­ 
LD (Coeff2+1),HL ;®¤¨­ ¯à®æ¥­â
LD (Coeff1+1),DE ; <EFBFBD>®«ãç ¥¬ ª®«-¢® ¡ ©â ­ 
LD (Coeff2+1),HL ; ®¤¨­ ¯à®æ¥­â
LD IX,ProcentTab
LD HL,0x0000
LD E,L
LD D,H
LD BC,0x6300 ;ƒ¥­¥à¨¬ â ¡«¨æã
LD BC,0x6300 ; ƒ¥­¥à¨¬ â ¡«¨æã
LD (IX+0x00),L
INC IX
LD (IX+0x00),H
@ -858,7 +840,7 @@ InitProc PUSH HL
LD (IX+0x00),C
INC IX
INC C
;¤«ï ª ¦¤®£® ¯à®æ¥­â 
; ¤«ï ª ¦¤®£® ¯à®æ¥­â 
CoeffLoop PUSH BC
Coeff1 LD BC,0x0000
ADD HL,BC
@ -881,7 +863,7 @@ Coeff2 LD BC,0x0000
DJNZ CoeffLoop
POP DE
POP HL
LD (IX+0x00),L ;Œ ªá.¯à®æ¥­â
LD (IX+0x00),L ; Œ ªá.¯à®æ¥­â
INC IX
LD (IX+0x00),H
INC IX
@ -895,55 +877,55 @@ Coeff2 LD BC,0x0000
RET
;[]----------------------------------------------------------[]
;<3B>à®æ¥¤ãà  ¯à®áç¥â  ¨ ¯¥ç â¨ ¯à®æ¥­â®
; <EFBFBD>à®æ¥¤ãà  ¯à®áç¥â  ¨ ¯¥ç â¨ ¯à®æ¥­â®
PrintVProc LD HL,PutProcent
PUSH HL ;‚ë室¨¬ ­  ¯¥ç âì
PUSH HL ; ‚ë室¨¬ ­  ¯¥ç âì
LD A,(ProcFlag)
OR A
LD A,100
RET NZ ;“¦¥ ¢á¥ 100%
LD IX,ProcentTab+250 ;‘¥à¨¤¨­  â ¡«¨æë ¯à®æ.50%
LD HL,(FileShift) ;’¥ªã饥 ᬥ饭¨¥
RET NZ ; “¦¥ ¢á¥ 100%
LD IX,ProcentTab+250 ; ‘¥à¨¤¨­  â ¡«¨æë ¯à®æ.50%
LD HL,(FileShift) ; ’¥ªã饥 ᬥ饭¨¥
LD DE,(FileShift+2)
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,LowTest ;<50%
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,LowTest ; <50%
LD A,(IX+0x04)
RET Z ;=50%
LD IX,ProcentTab+375 ;’ ¡«¨æ  á 75%
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,Test2 ;50%<X<75%
;<3B>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢¢¥àå ¯® â ¡«¨æ¥
Test1 LD A,(IX+0x04) ;’¥ªã騩 ¯à®æ¥­â
RET Z ;X=%
RET C ;X<%
CP 100 ;Š®­¥ç­ë© ¯à®æ¥­â
RET Z ; =50%
LD IX,ProcentTab+375 ; ’ ¡«¨æ  á 75%
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,Test2 ; 50%<X<75%
; <EFBFBD>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢¢¥àå ¯® â ¡«¨æ¥
Test1 LD A,(IX+0x04) ; ’¥ªã騩 ¯à®æ¥­â
RET Z ; X=%
RET C ; X<%
CP 100 ; Š®­¥ç­ë© ¯à®æ¥­â
RET Z
LD BC,0x0005 ;ˆé¥¬ ¢¢¥àå ¯® â ¡«¨æ¥
ADD IX,BC ;<3B>ã¦­ë© ¯à®æ¥­â
LD BC,0x0005 ; ˆé¥¬ ¢¢¥àå ¯® â ¡«¨æ¥
ADD IX,BC ; <20>ã¦­ë© ¯à®æ¥­â
CALL TestProcent
JR Test1
;<3B>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢­¨§ ¯® â ¡«¨æ¥
Test2 LD A,(IX+0x04) ;’¥ªã騩 ¯à®æ¥­â
RET Z ;X=%
RET NC ;X>%
; <EFBFBD>à®æ¥¤ãà  ¯®¨áª  ¯à®æ¥­â  ¢­¨§ ¯® â ¡«¨æ¥
Test2 LD A,(IX+0x04) ; ’¥ªã騩 ¯à®æ¥­â
RET Z ; X=%
RET NC ; X>%
OR A
RET Z
LD BC,-0x0005 ;ˆé¥¬ ¢­¨§ ¯® â ¡«¨æ¥
ADD IX,BC ;<3B>ã¦­ë© ¯à®æ¥­â
LD BC,-0x0005 ; ˆé¥¬ ¢­¨§ ¯® â ¡«¨æ¥
ADD IX,BC ; <20>ã¦­ë© ¯à®æ¥­â
CALL TestProcent
JR Test2
;X<50%
LowTest LD IX,ProcentTab+125 ;’ ¡«¨æ  á 25%
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,Test2 ;01%<X<25%
JR Test1 ;25%<X<50%
; X<50%
LowTest LD IX,ProcentTab+125 ; ’ ¡«¨æ  á 25%
CALL TestProcent ; ª ª®© ¯®«®¢¨­¥ ­ å®¤.?
JR C,Test2 ; 01%<X<25%
JR Test1 ; 25%<X<50%
;<EFBFBD>à®æ¥¤ãà  â¥áâ¨à®¢ ­¨ï ⥪ã饣® ᬥ饭¨ï
;<3B>  ¢å®¤:
; DE+HL - ’¥ªã饥 ᬥ饭¨¥
;<3B>  ¢ë室:
; <20>à®æ¥¤ãà  â¥áâ¨à®¢ ­¨ï ⥪ã饣® ᬥ饭¨ï
; <EFBFBD>  ¢å®¤:
; DEHL - ’¥ªã饥 ᬥ饭¨¥
; <EFBFBD>  ¢ë室:
; Z - ’¥ª.ᬥé=¯à®æ¥­â
; C - ’¥ª.ᬥé<¯à®æ¥­â
; NC - ’¥ª.ᬥé>¯à®æ¥­â
@ -966,7 +948,7 @@ TestProcent PUSH HL
POP HL
RET
;<3B>à®æ¥¤ãà  ¢ë¢®¤  ¯à®æ¥­â®¢
; <EFBFBD>à®æ¥¤ãà  ¢ë¢®¤  ¯à®æ¥­â®¢
PutProcent LD HL,ProcText
PUSH HL
LD BC,0x2F00
@ -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,L
LD L,A
LD DE,EncDos
ADD HL,DE
LD DE,ASCIIenc
LD BC,3
LDIR
LD A, (CodePage)
ADD A,A
ADD A,L
ADD A,A
ADD A,L
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 (PutLine2),A
LD (PutLine2 + 1),HL
LD (PutLine2 + 1),HL ; ¤«ï ०¨¬  ¯à®á¬®âà  TEXT
LD (DECODE4HEX),A
LD (DECODE4HEX + 1),HL ; ¤«ï ०¨¬  ¯à®á¬®âà  HEX
RET
.next: DEC A
@ -1036,12 +1022,16 @@ CodePage EQU $-1
LD HL,TableKoi
.next1: LD (DecodeSymbol.table),HL
LD HL,DecodeSymbol
LD A, 0xCD
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

View File

@ -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
@ -82,7 +82,7 @@ PrintHEX LD HL,0x0000
PrintHEXlp CALL PrnHEXline
JR C,PrintHEXext
LD HL,(TempShift)
LD DE,0x0010 ;€¤ŕĄá ¤ ¬Ż +16
LD DE,0x0010 ; €¤à¥á ¤ ¬¯ +16
ADD HL,DE
LD (TempShift),HL
LD HL,(TempShift+2)
@ -130,19 +130,19 @@ PrnHLn
GETPORT WINSP.CPU1
PUSH AF
CALL InitFPages
LD HL,LineBuffer+1 ;ˇăäĄŕ áâப¨
LD HL,LineBuffer+1 ; ¡ãä¥à áâப¨
EXX
LD HL,LineBuffer+0x3F ;¬Ąáâ® ¤«ď ASCII Ş®¤®˘
LD HL,LineBuffer+0x3F ; ¬¥áâ® ¤«ï ASCII ª®¤®¢
EXX
LD A,(TempShift+3) ;Š« ¤Ą¬ ᬥ饭¨Ą
CALL PutHexNumb ;®â ­ ç «  ä ¨« 
LD A,(TempShift+3) ; Š« ¤¥¬ ᬥ饭¨¥
CALL PutHexNumb ; ®â ­ ç «  ä ¨« 
LD A,(TempShift+2)
CALL PutHexNumb
LD A,(TempShift+1)
CALL PutHexNumb
LD A,(TempShift)
CALL PutHexNumb
LD (HL),":"
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
@ -186,7 +186,7 @@ PrnHLoop CALL TestFPages
INC L
EXX
INC IXL
LD A,IXL ; 業âॠ2 Żŕ®ˇĄ« 
LD A,IXL ; 業âॠ2 ¯à®¡¥« 
CP 0x04
JR Z,.FlPNx1
CP 0x08
@ -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

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 25.03.2025 savelij
; LAST UPDATE: 28.07.2025 savelij
;[]---------------------------------------------------------[]
PrnASCIIpage LD HL,PrintVProc
@ -10,9 +10,9 @@ PrnASCIIpage LD HL,PrintVProc
LD (TempShift+2),HL
LD B,0x1C
PrnASCIIlp PUSH BC
CALL PutASCIIline ;‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
CALL PutASCIIline ; ‚뢮¤¨¬ áâப㠢 ¡ãä ¨ ­  íªà ­
POP BC
JR C,FillASCIIdn ;CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
JR C,FillASCIIdn ; CY-‡ ª®­ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
LD A,B
ADD A,0x08
LD B,A
@ -26,11 +26,11 @@ PrnASCIIlp PUSH BC
LD (EmptyLines),A
RET
;<3B>à®æ¥¤ãà  ®âç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­ 
; <EFBFBD>à®æ¥¤ãà  ®âç¨á⪨ ­¨¦­¥© ®¡« á⨠íªà ­ 
FillASCIIdn LD A,0xE4
SUB B
LD (FLenASC),A
JR Z,FASCIIe ;Z-­¥â ®âç¨á⪨
JR Z,FASCIIe ; Z-­¥â ®âç¨á⪨
LD A,B
LD (FPosASC),A
MAKEWINDOW WINSUBOBJ.WOBIND
@ -50,7 +50,7 @@ FASCIIe LD HL,(TempShift)
LD (EmptyLines),A
RET
;<3B>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­
; <EFBFBD>à®æ¥¤ãà  ¯¥ç â¨ ⥪.áâப¨ ¢ ¡ãä¥à ¨ ­  íªà ­
PutASCIIline LD IXH,B
LD A,(ASCIImode)
OR A
@ -105,7 +105,7 @@ PutTab LD (HL),0x20
JR NZ,PutTab
JR PutLine3
PutLine2 CALL DecodeSymbol ; § ¬¥­ï¥âáï ­  NOP, ¥á«¨ ­¥ ­ã¦­  ¯¥à¥ª®¤¨à®¢ª 
PutLine2 CALL DecodeSymbol ; § ¬¥­ï¥âáï ­  NOP, ¥á«¨ ­¥ ­ã¦­  ¯¥à¥ª®¤¨à®¢ª 
LD (HL),A
LD A,L
CP C
@ -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
@ -335,7 +332,7 @@ TLineUp LD HL,(FileShift)
LD (FVNextShift+2),DE
TLineU1 CALL ScrollSCRdown
LD B,0x1C
CALL PutASCIIline ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
CALL PutASCIIline ; ‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
CALL PrintVProc
OR A
RET
@ -379,7 +376,7 @@ TLineDwn LD HL,(FVNextShift)
LD (TempShift+2),DE
CALL ScrollSCRup
LD B,0xDC
CALL PutASCIIline ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
CALL PutASCIIline ; ‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
LD HL,(TempShift)
LD DE,(TempShift+2)
LD (FVNextShift),HL
@ -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
@ -520,13 +515,13 @@ SearchUp LD B,0xF0
PUSH AF
PUSH HL
PUSH DE
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
RLA
RL E
RLA
RL E
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
RES 7,H
SET 6,H
@ -667,13 +662,13 @@ SrchDE EQU $-2
PUSH AF
PUSH HL
PUSH DE
LD A,H ;‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
LD A,H ; ‚뤥«ï¥¬ ­®¬¥à áâà ­¨æë
RLA
RL E
RLA
RL E
LD D,HIGH (PagesList)
LD A,(DE) ;’¥ª.áâà ­¨æ 
LD A,(DE) ; ’¥ª.áâà ­¨æ 
SETPORT WINSP.CPU1,,0
RES 7,H
SET 6,H
@ -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

View File

@ -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, плагин был не загружен.