725 lines
12 KiB
Plaintext
725 lines
12 KiB
Plaintext
|
||
; LAST UPDATE: 20.03.2025 savelij
|
||
|
||
;--------------------------------------------------------------
|
||
;<3B>à®æ¥¤ãà ¯¥ç ⨠áâà ¨æë ¤ ¬¯ á ⥪.ᬥé. ®â ç « ä ©«
|
||
;<3B> ¢å®¤:
|
||
; None
|
||
;<3B> ¢ë室:
|
||
; None
|
||
PrnHEXpage LD HL,PrintVProc
|
||
PUSH HL
|
||
LD HL,(FileShift)
|
||
LD A,L
|
||
AND 0xF0
|
||
LD L,A
|
||
LD (FileShift),HL
|
||
LD (TempShift),HL ;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
|
||
LD HL,(FileShift+2)
|
||
LD (TempShift+2),HL
|
||
LD HL,LineBuffer
|
||
LD BC,0x5020
|
||
.L1 LD (HL),C
|
||
INC L
|
||
DJNZ .L1
|
||
LD B,0x1C ;ˆ§ ç.¯®§¨æ¨ï ¯¥ç â¨
|
||
PrnHEXl PUSH BC
|
||
CALL PutHLine ;‚뢮¤¨¬ áâப㠢 ¡ãä¥à ¨ íªà
|
||
POP BC
|
||
JR C,FillDwnHex ;CY-‡ ª®ç¨«¨áì ¡ ©âë ¤«ï ¯¥ç â¨
|
||
LD HL,(TempShift)
|
||
LD DE,0x0010 ;€¤à¥á ¤ ¬¯ +16
|
||
ADD HL,DE
|
||
LD (TempShift),HL
|
||
LD HL,(TempShift+2)
|
||
LD E,D
|
||
ADC HL,DE
|
||
LD (TempShift+2),HL
|
||
LD A,B
|
||
ADD A,0x08
|
||
LD B,A
|
||
CP 0xE4
|
||
JR NZ,PrnHEXl
|
||
RET
|
||
|
||
;<3B>à®æ¥¤ãà ®âç¨á⪨ ¨¦¥© ®¡« á⨠íªà
|
||
FillDwnHex LD A,B
|
||
CP 0xE4
|
||
RET Z ;Z-¥â ®âç¨á⪨
|
||
LD (FPosHex),A
|
||
LD A,0xE4
|
||
SUB B
|
||
LD (FLenHex),A
|
||
MAKEWINDOW WINSUBOBJ.WOBIND
|
||
W_FILL 0,0,640,0,COLORI.PANEL
|
||
FPosHex EQU $ - 7
|
||
FLenHex EQU $ - 3
|
||
W_END
|
||
RET
|
||
|
||
;<3B>à®æ¥¤ãà ¯¥ç ⨠⥪.áâப¨ ¢ ¡ãä¥à ¨ íªà
|
||
PutHLine LD IXL,0x00
|
||
LD IXH,B
|
||
LD HL,(FileLenght)
|
||
LD BC,(TempShift)
|
||
OR A
|
||
SBC HL,BC
|
||
EX DE,HL
|
||
LD HL,(FileLenght+2)
|
||
LD BC,(TempShift+2)
|
||
SBC HL,BC
|
||
RET C
|
||
LD B,0x10
|
||
JR NZ,PutHLn
|
||
LD A,D
|
||
OR A
|
||
JR NZ,PutHLn
|
||
OR E
|
||
SCF
|
||
RET Z
|
||
LD A,E
|
||
CP B
|
||
JR NC,PutHLn
|
||
LD B,E
|
||
PutHLn
|
||
GETPORT WINSP.CPU1
|
||
PUSH AF
|
||
CALL InitFPages
|
||
LD HL,LineBuffer+1 ;¡ãä¥à áâப¨
|
||
EXX
|
||
LD HL,LineBuffer+0x3F ;¬¥áâ® ¤«ï ASCII ª®¤®¢
|
||
EXX
|
||
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),":"
|
||
INC L
|
||
INC L
|
||
PutHLoop CALL TestFPages
|
||
LD A,(DE)
|
||
INC DE
|
||
EXX
|
||
LD (HL),A
|
||
INC L
|
||
EXX
|
||
CALL PutHexNumb ;<3B>à®æ¥¤ãà ª®¢¥àâ
|
||
INC L
|
||
INC IXL ;“¢¥«¨ç.ª®«-¢® ¢¢¥¤¥ëå ¡ ©â®¢
|
||
LD A,IXL
|
||
CP 0x04
|
||
JR Z,.PtHNx1
|
||
CP 0x08
|
||
JR Z,.PtHNx1
|
||
CP 0x0C
|
||
JR NZ,.L1
|
||
.PtHNx1 INC L
|
||
.L1 DJNZ PutHLoop
|
||
POP AF
|
||
SETPORT WINSP.CPU1,,0
|
||
;<3B>à®æ¥¤ãà ®ç¨á⪨ § ª®ç¨¢è¨åáï ¡ ©â®¢
|
||
FillHex LD A,0x10 ;Œ ªá.¡ ©â®¢
|
||
SUB IXL ;’¥ª.ª®«-¢® ¡ ©â®¢
|
||
JR Z,.FillE2
|
||
LD B,A
|
||
LD C,0x20
|
||
.FillE1 LD (HL),C
|
||
INC L
|
||
LD (HL),C
|
||
INC L
|
||
INC L
|
||
EXX
|
||
LD (HL),0x20
|
||
INC L
|
||
EXX
|
||
INC IXL
|
||
LD A,IXL ;‚ æ¥âॠ2 ¯à®¡¥«
|
||
CP 0x04
|
||
JR Z,.FlHNx1
|
||
CP 0x08
|
||
JR Z,.FlHNx1
|
||
CP 0x0C
|
||
JR NZ,.L2
|
||
.FlHNx1 INC L
|
||
.L2 DJNZ .FillE1
|
||
.FillE2 LD HL,LineBuffer
|
||
LD DE,0x0000
|
||
LD B,0x50
|
||
LD C,IXH
|
||
LD A,COLORP.PANEL + COLORI.FILES
|
||
CALL JUMPS.PrnTxtLnNormC
|
||
OR A
|
||
RET ;CY-¡ë« ¯®á«¥¤ïï áâப
|
||
|
||
;<3B>à®æ¥¤ãà ¯à¥®¡à §®¢ ¨ï 8¡¨â®¢ëå ç¨á¥« ¢ è¥áâ ¤æ. ⥪áâ
|
||
;<3B> ¢å®¤:
|
||
; HL - ¤à¥á ¡ãä¥à
|
||
; € - ¡ ©â
|
||
;<3B> ¢ë室:
|
||
; ¡ãä¥à á ⥪áâ.ç¨á«®¬
|
||
PutHexNumb PUSH AF
|
||
RRCA
|
||
RRCA
|
||
RRCA
|
||
RRCA
|
||
AND 0x0F
|
||
ADD A,0x90
|
||
DAA
|
||
ADC A,0x40
|
||
DAA
|
||
LD (HL),A
|
||
INC L
|
||
POP AF
|
||
AND 0x0F
|
||
ADD A,0x90
|
||
DAA
|
||
ADC A,0x40
|
||
DAA
|
||
LD (HL),A
|
||
INC L
|
||
RET
|
||
|
||
;--------------------------------------------------------------
|
||
;<3B>à®æ¥¤ãàë ®¡à ¡®âª¨ View
|
||
;<3B> áâப㠢¢¥àå
|
||
HLineUpMs CALL FVHLineUp
|
||
RET C
|
||
LD B,0x0A
|
||
HUpMs1 PUSH BC
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
POP BC
|
||
BIT 0,A
|
||
RET Z
|
||
HALT
|
||
DJNZ HUpMs1
|
||
HUpMs2 CALL FVHLineUp
|
||
RET C
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
BIT 0,A
|
||
RET Z
|
||
JR HUpMs2
|
||
|
||
FVHLineUp LD HL,(FileShift)
|
||
LD DE,(FileShift+2)
|
||
LD A,H ;<3B>஢¥à塞 ç «® ä ©«
|
||
OR D
|
||
OR L
|
||
OR E
|
||
SCF
|
||
RET Z ;Z- ç «® ä ©«
|
||
LD BC,0x0010
|
||
OR A
|
||
SBC HL,BC
|
||
LD (FileShift),HL ;FileShift-16¡ ©â(¯à¥¤¨¤.áâப )
|
||
LD (TempShift),HL ;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
|
||
LD C,B
|
||
EX DE,HL
|
||
SBC HL,BC
|
||
LD (FileShift+2),HL
|
||
LD (TempShift+2),HL
|
||
CALL ScrollSCRdown
|
||
LD B,0x1C
|
||
CALL PutHLine ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
|
||
CALL PrintVProc
|
||
OR A
|
||
RET
|
||
|
||
;<3B> áâப㠢¨§
|
||
HLineDwnMs CALL HLineDwn
|
||
RET C
|
||
LD B,0x0A
|
||
HDnMs1 PUSH BC
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
POP BC
|
||
BIT 0,A
|
||
RET Z
|
||
HALT
|
||
DJNZ HDnMs1
|
||
HDnMs2 CALL HLineDwn
|
||
RET C
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
BIT 0,A
|
||
RET Z
|
||
JR HDnMs2
|
||
|
||
HLineDwn LD HL,(FileShift)
|
||
LD BC,(FileShift+2)
|
||
LD DE,0x0190
|
||
ADD HL,DE
|
||
LD (TempShift),HL ;‡ ¯®¬¨ ¥¬ ⥪.ᬥ饨¥
|
||
JR NC,.L1 ;<3B>ਡ ¢«ï¥¬ ª ᬥ饨î áâà ¨æã
|
||
INC BC ;¡ ©â®¢ (480¡)
|
||
.L1 LD (TempShift+2),BC
|
||
EX DE,HL
|
||
LD HL,(FileLenght)
|
||
OR A
|
||
SBC HL,DE ;<3B>஢¥à塞 ª®¥æ ä ©«
|
||
EX DE,HL
|
||
LD HL,(FileLenght+2)
|
||
SBC HL,BC
|
||
RET C
|
||
JR NZ,.L2
|
||
LD A,D
|
||
OR E
|
||
SCF
|
||
RET Z ;Z - ª®¥æ
|
||
.L2 LD HL,(FileShift)
|
||
LD DE,(FileShift+2)
|
||
LD BC,0x0010
|
||
ADD HL,BC
|
||
JR NC,.L3
|
||
INC DE
|
||
.L3 LD (FileShift),HL
|
||
LD (FileShift+2),DE
|
||
CALL ScrollSCRup
|
||
LD B,0xDC
|
||
CALL PutHLine ;‘®§¤ ¥¬ ¨ ¯¥ç â ¥¬ áâபã
|
||
CALL PrintVProc
|
||
OR A
|
||
RET
|
||
|
||
;<3B> áâà ¨æã ¢¢¥àå
|
||
HPageUpMs CALL FVHPageUp
|
||
RET C
|
||
LD B,0x0A
|
||
HUpMs1p PUSH BC
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
POP BC
|
||
BIT 0,A
|
||
RET Z
|
||
HALT
|
||
DJNZ HUpMs1p
|
||
HUpMs2p CALL FVHPageUp
|
||
RET C
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
BIT 0,A
|
||
RET Z
|
||
JR HUpMs2p
|
||
|
||
FVHPageUp LD HL,(FileShift)
|
||
LD BC,(FileShift+2)
|
||
LD A,H ;<3B>஢¥à塞 ç «® ä ©«
|
||
OR B
|
||
OR L
|
||
OR C
|
||
SCF
|
||
RET Z
|
||
LD DE,0x0190 ;Žâ¨¬ ¥¬ ®â ⥪.ᬥé. áâà ¨æã ¡ ©â®¢
|
||
OR A
|
||
SBC HL,DE
|
||
JR NC,.HPgUp1
|
||
LD A,B
|
||
OR C
|
||
DEC BC ;<3B>஢¥à塞,çâ® ¥ ¢ë¢ «¨«¨áì §
|
||
JR NZ,.HPgUp1 ; ç «® ä ©« Z - ¢ë¢ «¨«¨áì
|
||
INC BC
|
||
LD L,C ;’®£¤ ᬥ饨¥ = 0
|
||
LD H,B
|
||
.HPgUp1 LD (FileShift),HL
|
||
LD (FileShift+2),BC
|
||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||
OR A
|
||
RET
|
||
|
||
;<3B> áâà ¨æã ¢¨§
|
||
HPageDwnMs CALL HPageDwn
|
||
RET C
|
||
LD B,0x0A
|
||
HDnMs1p PUSH BC
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
POP BC
|
||
BIT 0,A
|
||
RET Z
|
||
HALT
|
||
DJNZ HDnMs1p
|
||
HDnMs2p CALL HPageDwn
|
||
RET C
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
BIT 0,A
|
||
RET Z
|
||
JR HDnMs2p
|
||
|
||
HPageDwn LD HL,(FileShift)
|
||
LD BC,(FileShift+2)
|
||
LD DE,0x0190 ;<3B>«îá㥬 ª ⥪.ᬥé.
|
||
ADD HL,DE ;áâà ¨æã ¡ ©â®¢
|
||
PUSH HL
|
||
JR NC,.L1
|
||
INC BC
|
||
.L1 PUSH BC
|
||
EX DE,HL
|
||
LD HL,(FileLenght) ;<3B>஢¥à塞,çâ® áâà ¨æ
|
||
OR A ;¯®á«¥¤ïï
|
||
SBC HL,DE
|
||
EX DE,HL
|
||
LD HL,(FileLenght+2)
|
||
SBC HL,BC
|
||
POP BC
|
||
POP HL
|
||
RET C ;‘ - ¥â
|
||
JR NZ,.L2
|
||
LD A,D
|
||
OR E
|
||
SCF
|
||
RET Z ;Z - ¥â
|
||
.L2 LD (FileShift),HL
|
||
LD (FileShift+2),BC
|
||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||
OR A
|
||
RET
|
||
|
||
;‚ ç «® ä ©«
|
||
HBegFile LD HL,JUMPS.ResFire
|
||
PUSH HL
|
||
LD HL,(FileShift)
|
||
LD BC,(FileShift+2)
|
||
LD A,H ;<3B>஢¥à塞 ç «® ä ©«
|
||
OR B
|
||
OR L
|
||
OR C
|
||
RET Z ;Z - <20> ç «®
|
||
LD HL,0x0000 ;‘¬¥é¥¨¥ = 0000
|
||
LD (FileShift),HL
|
||
LD (FileShift+2),HL
|
||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||
RET
|
||
|
||
;‚ ª®¥æ ä ©«
|
||
HEndFile LD HL,JUMPS.ResFire
|
||
PUSH HL
|
||
LD HL,(FileShift)
|
||
LD BC,(FileShift+2)
|
||
LD DE,0x0190
|
||
ADD HL,DE
|
||
JR NC,.L1
|
||
INC BC
|
||
.L1 EX DE,HL
|
||
LD HL,(FileLenght) ;<3B>஢¥à塞,çâ® ¬ë ¯®á«¥¤¥©
|
||
PUSH HL ;áâà ¨æ¥
|
||
OR A
|
||
SBC HL,DE
|
||
EX DE,HL
|
||
LD HL,(FileLenght+2)
|
||
PUSH HL
|
||
SBC HL,BC
|
||
POP BC
|
||
POP HL
|
||
RET C ;‘ - ¢ ª®æ¥
|
||
JR NZ,.L2
|
||
LD A,D
|
||
OR E
|
||
RET Z ;Z - ¢ ª®æ¥
|
||
.L2 LD DE,0x0190
|
||
OR A
|
||
SBC HL,DE ;<3B>à®áç¨âë¢ ¥¬ ᬥ饨¥ ¯®á«¥¤¥© áâà ¨æë
|
||
JR NC,.L3
|
||
DEC BC
|
||
.L3 LD A,L ;‘¬¥é¥¨¥ ªà â® 16
|
||
AND 0x0F
|
||
JR Z,.HEnd1
|
||
LD A,L
|
||
AND 0xF0
|
||
LD L,A
|
||
LD DE,0x0010
|
||
ADD HL,DE
|
||
JR NC,.HEnd1
|
||
INC BC
|
||
.HEnd1 LD (FileShift),HL
|
||
LD (FileShift+2),BC
|
||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||
RET
|
||
|
||
;--------------------------------------------------------------
|
||
;<3B>à®æ¥¤ãà ¢¢®¤ ®¢®£® 㪠§ ⥫ï á¬¥é¥¨ï ¢ ä ©«¥
|
||
HGoTo LD HL,(FileLenght)
|
||
LD DE,(FileLenght+2)
|
||
LD A,H ;<3B>஢¥à塞,çâ® ¤«¨
|
||
OR D ;ä ©« ¡®«ìè¥ 16 ¡ ©â
|
||
OR E
|
||
JR NZ,HGoToOk
|
||
LD A,L
|
||
CP 0x11
|
||
RET C ;¬¥ìè¥ 16¡ ©â
|
||
HGoToOk LD HL,NewShift ;<3B>ãä¥à ¤«ï ¢¢®¤ ®¢®£® 㪠§.
|
||
SUB A
|
||
LD (CursPos+1),A ;<3B>®§¨æ¨ï ¢¢®¤ ¢ ¡ãä¥à¥
|
||
INC A
|
||
LD (BuffFlg),A
|
||
LD A,(FileShift+3)
|
||
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 ;¯à®¢¥àï¬ á¬¥ã ªãàá®à
|
||
SPMOUSE MOUSEF.READ_STATE
|
||
BIT 0,A
|
||
JP NZ,HGTescape
|
||
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 á¨áâ.ª« ¢¨è
|
||
CP 0x0D
|
||
JP Z,HGTenter ; ¦ â Enter
|
||
CP 0x08
|
||
JR Z,HGTdelete ; ¦ â BackSpace
|
||
CP 0x1B
|
||
JP Z,HGTescape ; ¦ â Esc
|
||
CP 0x20
|
||
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 ;‘¬¥é.®â ç « ¡ãä¥à
|
||
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 ;á«¥¤.¯®§¨æ¨ï
|
||
LD (CursPos+1),A
|
||
JR HGoToRet ;¯¥ç â ¥¬ áâப㠨 ªãàá®à
|
||
|
||
ClearBuff LD HL,NewShift
|
||
LD B,0x08
|
||
LD A,0x20
|
||
.L1 LD (HL),A
|
||
INC HL
|
||
DJNZ .L1
|
||
SUB A
|
||
LD (BuffFlg),A
|
||
RET
|
||
|
||
;‡ ¡®©
|
||
HGTdelete SUB A
|
||
LD (BuffFlg),A
|
||
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
|
||
OR A
|
||
JR Z,HGoToLp ;0 - ¢ë室¨¬
|
||
DEC A
|
||
LD (CursPos+1),A ;¯à¥¤¨¤.¯®§¨æ¨ï
|
||
LD HL,NewShift
|
||
ADD A,L ;ᬥé.¢ ¡ãä¥à¥
|
||
LD L,A
|
||
JR NC,.L1
|
||
INC H
|
||
.L1 LD (HL)," " ;‡ ¡¨¢ ¥¬ ¯à®¡¥«®¬
|
||
JR HGoToRet
|
||
|
||
;á¨á⥬ ï ª« ¢¨è
|
||
HGoToSys LD A,D
|
||
CP 0x54 ;<-
|
||
JR Z,HGTleft
|
||
CP 0x56 ;->
|
||
JR Z,HGTright
|
||
JR HGoToLp
|
||
|
||
;Šãàá®à ¢«¥¢®
|
||
HGTleft SUB A
|
||
LD (BuffFlg),A
|
||
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
|
||
OR A
|
||
JP Z,HGoToLp ;0 - ¢ë室¨¬
|
||
DEC A
|
||
LD (CursPos+1),A ;“¬¥ìè.¯®§.
|
||
JP HGoToRet
|
||
|
||
HGTright SUB A
|
||
LD (BuffFlg),A
|
||
LD A,(CursPos+1) ;’¥ª.¯®§¨æ¨ï ¢ ¡ãä¥à¥
|
||
CP 0x07
|
||
JP Z,HGoToLp ;7 - ¯®á«¥¤ïï
|
||
INC A
|
||
LD (CursPos+1),A ;“¢¥«¨ç.¯®§.
|
||
JP HGoToRet
|
||
|
||
;<3B>à®æ¥¤ãà ¢ë¢®¤ áâப¨ ¨ ªãàá®à
|
||
PrintHGT LD HL,NewShift
|
||
LD DE,0x0008
|
||
LD BC,0x081C
|
||
LD A,COLORP.PANEL + COLORI.FILES
|
||
CALL JUMPS.PrnTxtLnNormC
|
||
LD A,(CursPos+1) ;<3B>®§¨æ¨ï ¢ë¢®¤ ªãàá®à
|
||
INC A
|
||
LD L,A
|
||
LD H,0x00
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
EX DE,HL
|
||
LD HL,TCursor
|
||
LD (HL),0xAB;"<"
|
||
LD BC,0x011C
|
||
LD A,COLORP.PANEL + COLORI.FILES
|
||
CALL JUMPS.PrnTxtLnNormC
|
||
LD A,0x01 ;<3B>®¬¥à ¢ë¢¥¤¥®£® ªãàá®à
|
||
LD (CurCurs),A
|
||
LD A,0x06 ;ަ¨¤ ¨¥ ¤«ï á¬¥ë ªãàá®à
|
||
LD (CurWait),A
|
||
RET
|
||
|
||
;<3B>à®æ¥¤ãà á¬¥ë ªãàá®à
|
||
ChangeCurs LD A,0x00 ;‡ ¤¥à¦ª ¬¥¦¤ã ᬥ®© ªãàá®à
|
||
CurWait EQU $-1
|
||
DEC A
|
||
LD (CurWait),A
|
||
RET NZ ;¥é¥ ¥ ¢à¥¬ï
|
||
LD A,(CursPos+1)
|
||
INC A
|
||
LD L,A
|
||
LD H,0x00 ;’¥ª.§ ª®¬¥áâ®
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
EX DE,HL
|
||
LD HL,NewShift ;‘¬¥é.¢ ¡ãä¥à¥
|
||
LD A,(CursPos+1)
|
||
ADD A,L
|
||
LD L,A
|
||
JR NC,.L2
|
||
INC H
|
||
.L2 LD A,0x00 ;<3B>®¬¥à ⥪ã饣® ªãàá®à
|
||
CurCurs EQU $-1
|
||
XOR 0x01 ;Œ¥ï¥¬ ªãàá®à
|
||
LD (CurCurs),A
|
||
LD A,(HL)
|
||
JR Z,.L1 ;<3B>¥ç â ¥¬
|
||
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 (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 - á¨â ªá.®è¨¡ª
|
||
LD C,E
|
||
LD B,D
|
||
LD A,L ;€¤à¥á ªà âë© 16
|
||
AND 0xF0
|
||
LD L,A
|
||
EX DE,HL ;‘¬¥é.¢ BC+DE
|
||
LD HL,(FileLenght) ;<3B>஢¥à塞,ç⮠ᬥ饨¥ ¢
|
||
OR A ;¯à¥¤¥« å ä ©«
|
||
SBC HL,DE
|
||
LD HL,(FileLenght+2)
|
||
SBC HL,BC
|
||
JR C,HGTent ;CY-§ ¯à¥¤¥« ¬¨
|
||
JR NZ,HGTent1 ;NZ-¢ ¯à¥¤¥« å
|
||
LD A,D
|
||
OR E
|
||
JR NZ,HGTent1 ;NZ-¢ ¯à¥¤¥« å
|
||
HGTent LD HL,(FileLenght)
|
||
LD BC,0x0010
|
||
OR A
|
||
SBC HL,BC ;ᬥé.=¯®á«¥¤ïï áâப ä ©« 16 ¡ ©â
|
||
EX DE,HL
|
||
LD HL,(FileLenght+2)
|
||
JR NC,.L1
|
||
DEC HL
|
||
.L1 LD C,L
|
||
LD B,H
|
||
HGTent1 LD (FileShift),DE
|
||
LD (FileShift+2),BC
|
||
CALL PrnHEXpage ;<3B>¥ç â ¥¬ áâà ¨æã
|
||
RET
|
||
|
||
;<3B> ¦ â Escape
|
||
HGTescape LD HL,NewShift ;<3B>ãä¥à áâப¨
|
||
PUSH HL
|
||
LD A,(FileShift+3) ;‡ ®á¨¬ ⥪.ᬥ饨¥
|
||
CALL PutHexNumb
|
||
LD A,(FileShift+2)
|
||
CALL PutHexNumb
|
||
LD A,(FileShift+1)
|
||
CALL PutHexNumb
|
||
LD A,(FileShift)
|
||
CALL PutHexNumb
|
||
POP HL
|
||
LD DE,0x0008
|
||
LD BC,0x081C
|
||
LD A,COLORP.PANEL + COLORI.FILES
|
||
CALL JUMPS.PrnTxtLnNormC
|
||
CALL JUMPS.ResFire
|
||
RET ;‚ë室¨¬
|
||
|
||
NewShift DEFB " ",0
|
||
|
||
;<3B>à®æ¥¤ãà ª®¢¥àâ¨à®¢ ¨ï 32¡¨â®¢®£® è¥áâ.⥪á⮢®£® ç¨á«
|
||
;<3B> ¢å®¤:
|
||
; BC - €¤à¥á ¡ãä¥à á ⥪á⮬ (0-ª®¥æ ¡ãä¥à )
|
||
;<3B> ¢ë室:
|
||
; DE+HL - —¨á«® 32¡¨â
|
||
; CY - á¨â ªá¨ç¥áª ï ®è¨¡ª
|
||
GetHexNum32 LD HL,0x0000
|
||
LD E,L
|
||
LD D,H
|
||
GetHNlp LD A,(BC)
|
||
INC BC
|
||
OR A
|
||
RET Z
|
||
CP " "
|
||
JR Z,GetHNlp
|
||
CP 0x61
|
||
JR C,.L1
|
||
SUB 0x20
|
||
.L1 CP 0x30
|
||
RET C
|
||
CP 0x47
|
||
CCF
|
||
RET C
|
||
SUB 0x30
|
||
CP 0x0A
|
||
JR C,GetHNum
|
||
SUB 0x07
|
||
CP 0x0A
|
||
RET C
|
||
GetHNum ADD HL,HL
|
||
EX DE,HL
|
||
ADC HL,HL
|
||
EX DE,HL
|
||
ADD HL,HL
|
||
EX DE,HL
|
||
ADC HL,HL
|
||
EX DE,HL
|
||
ADD HL,HL
|
||
EX DE,HL
|
||
ADC HL,HL
|
||
EX DE,HL
|
||
ADD HL,HL
|
||
EX DE,HL
|
||
ADC HL,HL
|
||
EX DE,HL
|
||
OR L
|
||
LD L,A
|
||
JR GetHNlp
|