восстановление работы с txt 40x32
This commit is contained in:
parent
9710fd7a29
commit
ba3112f006
@ -63,7 +63,7 @@
|
||||
; H - ¢ëá®â , L - è¨à¨
|
||||
;=============================================================
|
||||
|
||||
MACRO TEST_SCR_40 ;[x] ¢ª«î稫 31/10/23, ç¨áâ® •í««®ããã㨨¨
|
||||
MACRO CORRECT_SCR_40 ;[x] ¢ª«î稫 31/10/23, ç¨áâ® •í««®ããã㨨¨
|
||||
EX AF,AF'
|
||||
JR C,.LLL
|
||||
INC D ; ०¨¬ 40
|
||||
@ -156,7 +156,7 @@ LP_PRINT_ALL: CALL LP_BEG_P
|
||||
INC L
|
||||
LD (HL),A
|
||||
DEC L
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -179,7 +179,7 @@ LP_PRINT_SYM: CALL LP_BEG_P
|
||||
OUT (PORT_Y),A
|
||||
.cont: LD (HL),C
|
||||
INC D
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -204,7 +204,7 @@ LP_PRINT_ATR: CALL LP_BEG_P
|
||||
INC L
|
||||
LD (HL),C
|
||||
DEC L
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -237,7 +237,7 @@ LP_PRINT_LINE: CALL LP_BEG_P
|
||||
INC L
|
||||
LD (HL),A
|
||||
DEC L
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -262,7 +262,7 @@ LP_PRINT_LINE2: CALL LP_BEG_P
|
||||
OUT (C),D
|
||||
INC D
|
||||
LD (HL),A
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -274,8 +274,7 @@ LP_PRINT_LINE2: CALL LP_BEG_P
|
||||
|
||||
;
|
||||
;------------------------------------------------------------------[#87]
|
||||
LP_PRINT_LINE3:
|
||||
CALL LP_BEG_P
|
||||
LP_PRINT_LINE3: CALL LP_BEG_P
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
@ -302,7 +301,7 @@ LP_PRINT_LINE3:
|
||||
INC L
|
||||
LD (HL),A
|
||||
DEC L
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -312,8 +311,7 @@ LP_PRINT_LINE3:
|
||||
|
||||
;
|
||||
;------------------------------------------------------------------[#88]
|
||||
LP_PRINT_LINE4:
|
||||
CALL LP_BEG_P
|
||||
LP_PRINT_LINE4: CALL LP_BEG_P
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
@ -334,7 +332,7 @@ LP_PRINT_LINE4:
|
||||
.NoEndSymbol: EXX
|
||||
LD (HL),A
|
||||
INC D
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -344,8 +342,7 @@ LP_PRINT_LINE4:
|
||||
|
||||
;
|
||||
;------------------------------------------------------------------[#8B]
|
||||
LP_PRINT_LINE5:
|
||||
CALL LP_BEG_P
|
||||
LP_PRINT_LINE5: CALL LP_BEG_P
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
@ -367,7 +364,7 @@ LP_PRINT_LINE5:
|
||||
LD (HL),A
|
||||
DEC L
|
||||
INC D
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -414,7 +411,7 @@ LP_PRINT_LINE6: CALL LP_BEG_P
|
||||
EXX
|
||||
LD (HL),A
|
||||
INC D
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
DJNZ .loop
|
||||
@ -429,8 +426,7 @@ LP_PRINT_LINE6: CALL LP_BEG_P
|
||||
;------------------------------------------------------------------[#84]
|
||||
; ¯®àâïâáï ⮫쪮 «ìâ¥à â¨¢ë¥ à¥£¨áâàë ¨ â¥, çâ® ª ª ¯ à ¬¥âàë ¢å®¤¥
|
||||
LP_SET_PLACE: CALL LP_BEG_P
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
CALL LP_SET_CUR
|
||||
JP LP_END_P.SYS_PAGE
|
||||
;------------------------------------------------------------------[#84]
|
||||
;
|
||||
@ -442,6 +438,15 @@ LP_GET_PLACE: CALL LP_BEG_P
|
||||
NEG
|
||||
EXX
|
||||
ADD A,D
|
||||
;
|
||||
EX AF,AF'
|
||||
JR C,.LLL
|
||||
EX AF,AF'
|
||||
AND A
|
||||
RRA ; ०¨¬ txt 40
|
||||
EX AF,AF'
|
||||
.LLL: EX AF,AF'
|
||||
;
|
||||
EXX
|
||||
LD E,A
|
||||
LD A,(WIN_ID_0.V_BEG)
|
||||
@ -472,8 +477,7 @@ CLS_WIN: CALL LP_BEG_P
|
||||
LD (SYS_PAGE.SYS_WORK1),BC ; á®åà ¨âì æ¢¥â
|
||||
PUSH DE
|
||||
;
|
||||
.loop1: CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
.loop1: CALL LP_SET_CUR
|
||||
PUSH DE
|
||||
EXX
|
||||
LD BC,(SYS_PAGE.SYS_WORK1)
|
||||
@ -501,8 +505,7 @@ CLS_WIN: CALL LP_BEG_P
|
||||
JR NZ,.loop1
|
||||
;
|
||||
POP DE
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
CALL LP_SET_CUR
|
||||
JP LP_END_P.SYS_PAGE
|
||||
;-------------------------------------------------------------[#89, #8D]
|
||||
;
|
||||
@ -616,19 +619,24 @@ LP_SIZE: CALL LP_OPEN_PG
|
||||
;
|
||||
|
||||
; ®¦¨¤ ¥âáï, çâ® ¯®àâïâáï ⮫쪮 «ìâ¥à â¨¢ë¥ à¥£¨áâàë ¨ â¥, çâ® ª ª ¯ à ¬¥âàë ¢å®¤¥
|
||||
LP_AT_D: LD A,(WIN_ID_0.USER.SIZE_V)
|
||||
; ãáâ ®¢¨âì ªãàá®à:
|
||||
; D - ®¬¥à ᨬ¢®« ¯® ¢¥à⨪ «¨
|
||||
; E - ®¬¥à ᨬ¢®« ¯® £®à¨§®â «¨
|
||||
LP_SET_CUR: ; LP_AT_D:
|
||||
LD A,(WIN_ID_0.USER.SIZE_V)
|
||||
EXX
|
||||
LD L,A
|
||||
EXX
|
||||
LD A,D
|
||||
EXX
|
||||
.loop: SUB L
|
||||
JR NC,.loop
|
||||
.loop_x: SUB L
|
||||
JR NC,.loop_x
|
||||
;
|
||||
ADD A,L
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
LD L,A
|
||||
;
|
||||
LD A,(WIN_ID_0.V_BEG)
|
||||
ADD A,L
|
||||
LD L,A
|
||||
@ -636,27 +644,35 @@ LP_AT_D: LD A,(WIN_ID_0.USER.SIZE_V)
|
||||
LD H,#C3
|
||||
EXX
|
||||
;RET
|
||||
LP_TAB_E: LD A,(WIN_ID_0.SIZE_REL)
|
||||
;
|
||||
;LP_TAB_E:
|
||||
LD A,(WIN_ID_0.SIZE_REL)
|
||||
EXX
|
||||
LD D,A
|
||||
EXX
|
||||
LD A,E
|
||||
EXX
|
||||
.loop: SUB D
|
||||
JR NC,.loop
|
||||
JR Z,.loop
|
||||
.loop_y: SUB D
|
||||
JR NC,.loop_y
|
||||
JR Z,.loop_y
|
||||
;
|
||||
NEG
|
||||
LD B,A ; á®åà ¨âì ᪮«ìª® ®áâ «®áì ᨬ¢®«®¢ ¢ áâப¥
|
||||
NEG
|
||||
ADD A,D
|
||||
LD D,A
|
||||
LD A,(WIN_ID_0.USER.MODE)
|
||||
AND %0010'0000
|
||||
JR Z,.skip_Dx2
|
||||
LD A,D
|
||||
ADD A,A
|
||||
LD D,A
|
||||
;
|
||||
EX AF,AF'
|
||||
JR C,.LLL
|
||||
SLA D ; ०¨¬ txt 40
|
||||
.LLL: EX AF,AF'
|
||||
;LD A,(WIN_ID_0.USER.MODE)
|
||||
;AND %0010'0000
|
||||
;JR Z,.skip_Dx2
|
||||
;LD A,D
|
||||
;ADD A,A
|
||||
;LD D,A
|
||||
;
|
||||
.skip_Dx2: LD A,(WIN_ID_0.H_BEG)
|
||||
ADD A,D
|
||||
LD D,A
|
||||
@ -692,6 +708,7 @@ LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
||||
PUSH HL
|
||||
LD A,(WIN_ID_0.USER.SIZE_V)
|
||||
LD B,A
|
||||
LD E,0 ; ¢áî áâப㠮ª áªà®««¨¬
|
||||
CALL LP_SCROLL_UP.RUN
|
||||
EXX
|
||||
LD C," "
|
||||
@ -700,7 +717,7 @@ LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
||||
DEC L
|
||||
DEC L
|
||||
DEC L
|
||||
LD H,#C3
|
||||
LD H,#C3 ;!HARDCODE ᬥ饨¥ ¢ áâà ¨æ¥ 3 ª ç «ã ®¯¨á ⥫¥© íªà
|
||||
;
|
||||
LD A,(WIN_ID_0.H_BEG)
|
||||
LD D,A
|
||||
@ -717,7 +734,7 @@ LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
||||
OUT (PORT_Y),A
|
||||
LD (HL),C
|
||||
INC D
|
||||
TEST_SCR_40
|
||||
CORRECT_SCR_40
|
||||
EXX
|
||||
DJNZ .loop_cl_line
|
||||
;
|
||||
@ -1256,8 +1273,7 @@ LP_MODE_LINE: BIT 0,(IX+Window_Variables.USER.MODE_S)
|
||||
;*****************************************************************
|
||||
|
||||
|
||||
LP_SCROLL_UD:
|
||||
DEC B
|
||||
LP_SCROLL_UD: DEC B
|
||||
JR Z,LP_SCROLL_UP
|
||||
DEC B
|
||||
JR Z,LP_SCROLL_DN
|
||||
@ -1270,46 +1286,44 @@ LP_SCROLL_UD:
|
||||
LP_SCROLL_UP: DEC E
|
||||
RET Z
|
||||
CALL LP_OPEN_PG
|
||||
;
|
||||
LD B,E
|
||||
LD E,0 ;!FIXIT çñâ âãâ ¥ç¨áâ®, ¯®¤£®ª ¯®¤ ®¤¨ ¢ ਠ⠮ª £«®¡ «ì®£®?
|
||||
LD E,0 ; ¢áî áâப㠮ª áªà®««¨¬
|
||||
CALL .RUN
|
||||
.EXIT: CALL LP_CLOSE_PG
|
||||
RET
|
||||
.EXIT: JP LP_CLOSE_PG
|
||||
;
|
||||
;
|
||||
.RUN: PUSH BC
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E ; ¢ëç¨á«¨âì ¯¥à¥¬¥ë¥ ¤«ï áâப¨
|
||||
CALL LP_SET_CUR ; ¢ëç¨á«¨âì ¯¥à¥¬¥ë¥ ¤«ï áâப¨
|
||||
POP BC
|
||||
.loop2: EXX
|
||||
PUSH HL
|
||||
EXX
|
||||
POP HL
|
||||
|
||||
;
|
||||
LD E,L
|
||||
LD D,H
|
||||
INC L
|
||||
INC L
|
||||
INC L
|
||||
INC L
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
||||
; ®â«¨ç¨¥ ®â LP_SCROLL_DN
|
||||
LD A,4
|
||||
ADD L
|
||||
LD L,A
|
||||
;
|
||||
LD A,(WIN_ID_0.V_END)
|
||||
CP L
|
||||
;JR C,.EXIT ; ¥á«¨ ª®¥æ, â® ¢ë室
|
||||
RET C
|
||||
RET C ; ¥á«¨ ª®¥æ, â® ¢ë室
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
PUSH BC
|
||||
|
||||
LD A,L
|
||||
EXX
|
||||
LD L,A
|
||||
EXX
|
||||
|
||||
LD A,(WIN_ID_0.USER.SIZE_H)
|
||||
ADD A,A ; ç¨á«® ¡ ©â ¢ áâப¥ ¤«ï ¯¥à¥®á
|
||||
ADD A,A
|
||||
|
||||
LD C,A
|
||||
LD B,0
|
||||
|
||||
;
|
||||
LD A,#50
|
||||
OUT (SLOT3),A ; ®âªàëâì áâà ¨æã ¤«ï ¯¥à¥®á
|
||||
EXX
|
||||
@ -1324,7 +1338,7 @@ LP_SCROLL_UP: DEC E
|
||||
LDI
|
||||
LDD
|
||||
JP PE,.loop1
|
||||
|
||||
;
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
POP BC
|
||||
@ -1336,96 +1350,89 @@ LP_SCROLL_UP: DEC E
|
||||
; ‚室 :
|
||||
; D - ¢¥àåïï áâப ( ®â 0 )
|
||||
; E - ç¨á«® áªà®««¨à㥬ëå áâப
|
||||
LP_SCROLL_DN:
|
||||
DEC E ;!FIXIT ¯à ¢¨«ì®?
|
||||
LP_SCROLL_DN: DEC E ;!FIXIT ¯à ¢¨«ì®?
|
||||
RET Z
|
||||
|
||||
CALL LP_OPEN_PG
|
||||
;
|
||||
LD B,E
|
||||
LD E,0
|
||||
LD A,D
|
||||
ADD A,B
|
||||
; DEC A
|
||||
LD D,A
|
||||
PUSH BC
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
CALL .RUN
|
||||
.EXIT: JP LP_CLOSE_PG
|
||||
;
|
||||
;
|
||||
.RUN: PUSH BC
|
||||
CALL LP_SET_CUR
|
||||
POP BC
|
||||
|
||||
.loop2: EXX
|
||||
PUSH HL
|
||||
EXX
|
||||
POP HL
|
||||
|
||||
;
|
||||
LD E,L
|
||||
LD D,H
|
||||
DEC L
|
||||
DEC L
|
||||
DEC L
|
||||
DEC L
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
||||
; ¬®¦® ᮢ¬¥áâ¨âì. ¯à¨§ ª ¯à ¢«¥¨ï ¢ ॣ C
|
||||
; ®â«¨ç¨¥ ®â LP_SCROLL_UD
|
||||
LD A,L
|
||||
SUB 4
|
||||
LD L,A
|
||||
;
|
||||
LD A,(WIN_ID_0.V_BEG)
|
||||
CP L ; .CONT: L >= A
|
||||
JR Z,.CONT
|
||||
JR NC,.EXIT ; ¥á«¨ ª®¥æ, â® ¢ë室
|
||||
RET NC ; ¥á«¨ ª®¥æ, â® ¢ë室
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
.CONT: PUSH BC
|
||||
|
||||
LD A,L
|
||||
EXX
|
||||
LD L,A
|
||||
EXX
|
||||
|
||||
LD A,(WIN_ID_0.USER.SIZE_H)
|
||||
ADD A,A
|
||||
ADD A,A ; ç¨á«® ¡ ©â ¢ áâப¥ ¤«ï ¯¥à¥®á
|
||||
ADD A,A
|
||||
LD C,A
|
||||
LD B,0
|
||||
|
||||
;
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
OUT (SLOT3),A ; ®âªàëâì áâà ¨æã ¤«ï ¯¥à¥®á
|
||||
EXX
|
||||
LD A,D
|
||||
LD A,D ; ¯®«ãç¨âì ¯®àâ ç « áâப¨
|
||||
EXX
|
||||
.loop1: OUT (PORT_Y),A
|
||||
INC A
|
||||
INC A ; á«¥¤ãî饥 § 票¥ ¯®àâ
|
||||
LDI
|
||||
LDD
|
||||
OUT (PORT_Y),A
|
||||
INC A
|
||||
INC A ; á«¥¤ãî饥 § 票¥ ¯®àâ
|
||||
LDI
|
||||
LDD
|
||||
JP PE,.loop1
|
||||
|
||||
;
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
POP BC
|
||||
DJNZ .loop2
|
||||
.EXIT: CALL LP_CLOSE_PG
|
||||
RET
|
||||
|
||||
|
||||
; DE - ¬¥á⮠ᨬ¢®« ¢ ®ª¥
|
||||
; € - ®¬¥à ®ª
|
||||
; ¢ë室: HL - ᨬ¢®«/ âਡãâ B - § ª®£¥¥à â®à
|
||||
WIN_GET_SYM:
|
||||
AND A
|
||||
WIN_GET_SYM: AND A
|
||||
SCF
|
||||
RET NZ
|
||||
|
||||
;
|
||||
CALL LP_BEG_P
|
||||
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
|
||||
CALL LP_SET_CUR
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
|
||||
;
|
||||
EXX
|
||||
|
||||
LD A,D
|
||||
OUT (PORT_Y),A
|
||||
|
||||
LD A,(HL)
|
||||
EXX
|
||||
LD L,A
|
||||
@ -1438,12 +1445,9 @@ WIN_GET_SYM:
|
||||
DEC L
|
||||
DEC L
|
||||
LD A,(HL)
|
||||
INC L
|
||||
EXX
|
||||
LD B,A
|
||||
EXX
|
||||
INC L
|
||||
|
||||
EXX
|
||||
JP LP_END_P
|
||||
;RET
|
||||
|
||||
@ -1451,46 +1455,35 @@ WIN_GET_SYM:
|
||||
; € - ®¬¥à ®ª
|
||||
; HL - ᨬ¢®«/ âਡãâ
|
||||
; B - § ª®£¥¥à â®à
|
||||
WIN_PUT_SYM:
|
||||
AND A
|
||||
WIN_PUT_SYM: AND A
|
||||
SCF
|
||||
RET NZ
|
||||
|
||||
;
|
||||
CALL LP_BEG_P
|
||||
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
|
||||
CALL LP_SET_CUR
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
|
||||
;
|
||||
EXX
|
||||
|
||||
;CORRECT_SCR_40
|
||||
LD A,D
|
||||
OUT (PORT_Y),A
|
||||
|
||||
EXX
|
||||
LD A,L
|
||||
EXX
|
||||
|
||||
LD (HL),A
|
||||
INC L
|
||||
|
||||
EXX
|
||||
LD A,H
|
||||
EXX
|
||||
|
||||
LD (HL),A
|
||||
DEC L
|
||||
DEC L
|
||||
|
||||
EXX
|
||||
LD A,B
|
||||
EXX
|
||||
|
||||
LD (HL),A
|
||||
INC L
|
||||
|
||||
EXX
|
||||
JP LP_END_P
|
||||
|
||||
@ -1530,9 +1523,7 @@ WIN_COPY_WIN1:
|
||||
IN A,(SLOT1)
|
||||
PUSH AF
|
||||
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
|
||||
CALL LP_SET_CUR
|
||||
LD (SYS_PAGE.SYS_WORK1),SP
|
||||
|
||||
LD A,B
|
||||
@ -1601,8 +1592,7 @@ WIN_RESTORE: AND A
|
||||
IN A,(SLOT1)
|
||||
PUSH AF
|
||||
;
|
||||
CALL LP_AT_D
|
||||
;CALL LP_TAB_E
|
||||
CALL LP_SET_CUR
|
||||
;
|
||||
LD (SYS_PAGE.SYS_WORK1),SP
|
||||
LD SP,IX
|
||||
@ -1722,7 +1712,7 @@ LP_PR_LINE_DIR:
|
||||
LD A,XH
|
||||
LD (HL),A
|
||||
INC D
|
||||
.next_full: TEST_SCR_40
|
||||
.next_full: CORRECT_SCR_40
|
||||
.next: DJNZ_NEXT_HL_ADDR .loop
|
||||
JR .loop
|
||||
;-------[TAB] ;!FIXIT § ¯®«ï¥â ¯à®¡¥« ¬¨
|
||||
|
||||
Loading…
Reference in New Issue
Block a user