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