ковыряния LP_PR_LINE_DIR
This commit is contained in:
parent
2b6500cb5c
commit
9710fd7a29
@ -1 +1 @@
|
||||
Subproject commit 840faf40250ec41742e4da3c1f68077ba78a2dc6
|
||||
Subproject commit 7c03abc82040df54cec2bc6701b0f602fa08fd26
|
||||
@ -209,7 +209,7 @@ TAB_FNS:
|
||||
DB low FN_LIB ; #DE
|
||||
DB low FN_LIB ; #DF
|
||||
; Ex
|
||||
DB low LP_PR_LINE_DIR ; #E0
|
||||
DB low LP_PR_LINE_DIR.START ; #E0
|
||||
DB low FN_RESERVED ; #E1
|
||||
DB low FN_RESERVED ; #E2
|
||||
DB low FN_RESERVED ; #E3
|
||||
@ -401,7 +401,7 @@ TAB_FNS:
|
||||
DB high FN_LIB
|
||||
DB high FN_LIB
|
||||
; Ex
|
||||
DB high LP_PR_LINE_DIR
|
||||
DB high LP_PR_LINE_DIR.START
|
||||
DB high FN_RESERVED
|
||||
DB high FN_RESERVED
|
||||
DB high FN_RESERVED
|
||||
|
||||
@ -337,6 +337,7 @@ FDD_5x_WRITE:
|
||||
;Return:
|
||||
; HL:IX - Sector + Sector counter
|
||||
; DE - Address + (Sector counter * Size sector)
|
||||
;?? B - Sector counter
|
||||
;[]===========================================================[]
|
||||
FDD_5x_LONG_WRITE:
|
||||
CALL SAVE_INTERRUPTS.switch_off
|
||||
@ -421,11 +422,21 @@ FDD_5x_LONG_WRITE:
|
||||
JR NZ,.ADW8BIT
|
||||
INC B
|
||||
.ADW8BIT: ADD IX,BC
|
||||
LD BC,0
|
||||
ADC HL,BC
|
||||
;!TEST
|
||||
;LD BC,0
|
||||
;ADC HL,BC
|
||||
;LD B,A
|
||||
;XOR A
|
||||
;RET
|
||||
;
|
||||
LD B,A
|
||||
RET NC
|
||||
INC HL
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
|
||||
;
|
||||
;-------------------------------
|
||||
|
||||
@ -76,6 +76,11 @@
|
||||
.LLL: ;
|
||||
ENDM
|
||||
|
||||
MACRO DJNZ_NEXT_HL_ADDR addr
|
||||
DJNZ addr
|
||||
CALL LP_NEXT_HL_DIR
|
||||
ENDM
|
||||
|
||||
|
||||
|
||||
;*********************************
|
||||
@ -468,7 +473,7 @@ CLS_WIN: CALL LP_BEG_P
|
||||
PUSH DE
|
||||
;
|
||||
.loop1: CALL LP_AT_D
|
||||
CALL LP_TAB_E
|
||||
;CALL LP_TAB_E
|
||||
PUSH DE
|
||||
EXX
|
||||
LD BC,(SYS_PAGE.SYS_WORK1)
|
||||
@ -659,20 +664,86 @@ LP_TAB_E: LD A,(WIN_ID_0.SIZE_REL)
|
||||
RET
|
||||
;*************************************************************
|
||||
|
||||
|
||||
LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
||||
ADD L
|
||||
LD L,A
|
||||
LD A,(WIN_ID_0.V_END)
|
||||
CP L
|
||||
CALL C,.end_line
|
||||
;
|
||||
.no_end_line: LD A,(WIN_ID_0.H_BEG)
|
||||
LD D,A
|
||||
LD A,(WIN_ID_0.SIZE_REL)
|
||||
LD B,A
|
||||
RET
|
||||
;
|
||||
.end_line: LD A,L
|
||||
SUB 4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
||||
LD L,A
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
EXX
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
LD A,(WIN_ID_0.USER.SIZE_V)
|
||||
LD B,A
|
||||
CALL LP_SCROLL_UP.RUN
|
||||
EXX
|
||||
LD C," "
|
||||
;
|
||||
LD HL,(WIN_ID_0.V_END)
|
||||
DEC L
|
||||
DEC L
|
||||
DEC L
|
||||
LD H,#C3
|
||||
;
|
||||
LD A,(WIN_ID_0.H_BEG)
|
||||
LD D,A
|
||||
;
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
EXX
|
||||
LD A,(WIN_ID_0.SIZE_REL)
|
||||
LD B,A
|
||||
;
|
||||
.loop_cl_line: EXX
|
||||
LD A,D
|
||||
OUT (PORT_Y),A
|
||||
LD (HL),C
|
||||
INC D
|
||||
TEST_SCR_40
|
||||
EXX
|
||||
DJNZ .loop_cl_line
|
||||
;
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
EXX
|
||||
POP DE
|
||||
POP BC
|
||||
POP HL
|
||||
;
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
|
||||
|
||||
; ¢ëç¨á«¥¨¥ ®¢®£® ¬¥áâ
|
||||
LP_NEXT_HL: LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
INC L
|
||||
INC L
|
||||
INC L
|
||||
INC L
|
||||
LD A,4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
||||
ADD L
|
||||
LD L,A
|
||||
LD A,(WIN_ID_0.V_END)
|
||||
CP L
|
||||
JR NC,.no_end_line
|
||||
JR C,.end_line
|
||||
;
|
||||
LD HL,(WIN_ID_0.V_BEG)
|
||||
INC L
|
||||
LD H,#C3 ;!HARDCODE
|
||||
.no_end_line: LD A,(WIN_ID_0.H_BEG)
|
||||
LD D,A
|
||||
LD A,(WIN_ID_0.SIZE_REL)
|
||||
@ -680,6 +751,11 @@ LP_NEXT_HL: LD A,SYS_PAGE
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
;
|
||||
.end_line: LD HL,(WIN_ID_0.V_BEG)
|
||||
INC L
|
||||
LD H,#C3 ;!HARDCODE
|
||||
JP .no_end_line
|
||||
|
||||
; !®¦¨¤ ¥âáï, çâ® ¯®àâïâáï ⮫쪮 «ìâ¥à â¨¢ë¥ à¥£¨áâàë ¨ â¥, çâ® ª ª ¯ à ¬¥âàë ¢å®¤¥
|
||||
LP_BEG_P: EX AF,AF'
|
||||
@ -1576,22 +1652,48 @@ WIN_RESTORE: AND A
|
||||
|
||||
;!FIXIT ¥â ®¯¨á ¨ï, ¥¤®¤¥« . <20>¥ç âì á ã¯à ¢«ïî騬¨ ᨬ¢®« ¬¨
|
||||
;------------------------------------------------------------------[#E0]
|
||||
LP_PR_LINE_DIR:
|
||||
;!TODO ¥¤®¤¥«
|
||||
.BELL: ; ...
|
||||
; ...
|
||||
JR .loop
|
||||
;!TODO ¥¤®¤¥«
|
||||
.BACK: LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
LD A,(WIN_ID_0.H_BEG)
|
||||
CP D
|
||||
JR Z,.next_full ;!FIXIT ¢®§¬®¦®, çâ® ¥ áî¤
|
||||
INC B
|
||||
DEC D
|
||||
JR .next_full ;!FIXIT ¢®§¬®¦®, çâ® ¥ áî¤
|
||||
;
|
||||
.EXIT: POP IX
|
||||
JP LP_END_P
|
||||
;;;;;;;;;;;;;;;;;
|
||||
; DE - ¬¥á⮠ᨬ¢®« ¢ ®ª¥
|
||||
; HL - ¤à¥á á ¢ë¢®¤¨¬®© áâப®©
|
||||
; B - à §¤¥«¨â¥«ì
|
||||
LP_PR_LINE_DIR:
|
||||
;;;;;;;;;;;;;;;;;
|
||||
.START: PUSH IX
|
||||
IN A,(SLOT3)
|
||||
LD C,A
|
||||
CALL LP_BEG_P
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
|
||||
.loop: EXX
|
||||
LD A,D
|
||||
; LD A,#50
|
||||
; OUT (SLOT3),A
|
||||
;
|
||||
EXX
|
||||
.loop: LD A,D
|
||||
OUT (PORT_Y),A
|
||||
EXX
|
||||
LD A,C
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
LD A,(HL)
|
||||
LD XH,A
|
||||
INC HL
|
||||
CP B
|
||||
JR Z,.exit
|
||||
JP Z,.EXIT
|
||||
EXX
|
||||
; ¯¥ç â ¥¬ë¥ ᨬ¢®«ë
|
||||
CP 14
|
||||
@ -1600,59 +1702,31 @@ LP_PR_LINE_DIR:
|
||||
JR C,.print
|
||||
; ã¯à ¢«ïî騥 ᨬ¢®«ë
|
||||
SUB 7
|
||||
JR Z,LP_BELL ; A = 07 "BELL"
|
||||
JR Z,.BELL ; A = 07 "BELL"
|
||||
DEC A
|
||||
JR Z,LP_BACK ; A = 08 "Backspace"
|
||||
JR Z,.BACK ; A = 08 "Backspace"
|
||||
DEC A
|
||||
JR Z,LP_TAB ; A = 09 "TAB"
|
||||
JR Z,.TAB ; A = 09 "TAB"
|
||||
DEC A
|
||||
JR Z,LP_LF ; € = 10 "Line Feed"
|
||||
JR Z,.LineFeed ; € = 10 "Line Feed"
|
||||
DEC A
|
||||
JR Z,.VT ; € = 11 "Vertical Tabulation" = "Line Feed", ¥á«¨ LF à ¡®â ¥â ª ª CRLF
|
||||
JR Z,.VertTab ; € = 11 "Vertical Tabulation"
|
||||
DEC A
|
||||
JR Z,LP_CLS ; € = 12 "Form feed" - à §àë¢ áâà ¨æë, ç «® ®¢®£® «¨áâ , ¬®¦¥â à ¡®â âì ª ª VT
|
||||
JR Z,.CLS ; € = 12 "Form feed" - à §àë¢ áâà ¨æë, ç «® ®¢®£® «¨áâ , ¬®¦¥â à ¡®â âì ª ª VT
|
||||
DEC A
|
||||
JR Z,LP_CR ; € = 13 "Carriage Return"
|
||||
;
|
||||
|
||||
JR Z,.CR ; € = 13 "Carriage Return"
|
||||
; ¢ë¢®¤¨âì!
|
||||
.VT: ; ...
|
||||
; ...
|
||||
.print: LD (HL),A
|
||||
;
|
||||
.print: LD A,#50
|
||||
OUT (SLOT3),A
|
||||
LD A,XH
|
||||
LD (HL),A
|
||||
INC D
|
||||
|
||||
.next: ; ...
|
||||
; ...
|
||||
TEST_SCR_40
|
||||
DJNZ_NEXT_HL
|
||||
EXX
|
||||
.next_full: TEST_SCR_40
|
||||
.next: DJNZ_NEXT_HL_ADDR .loop
|
||||
JR .loop
|
||||
|
||||
.exit: JP LP_END_P
|
||||
;
|
||||
;
|
||||
LP_PRINT_LN_D11:
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
JR LP_PR_LINE_DIR.next
|
||||
|
||||
;!TODO ¥¤®¤¥«
|
||||
LP_BELL:
|
||||
JR LP_PR_LINE_DIR.next
|
||||
|
||||
LP_BACK:
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD A,(WIN_ID_0.H_BEG)
|
||||
CP D
|
||||
JR Z,LP_PRINT_LN_D11
|
||||
INC B
|
||||
DEC D
|
||||
JR LP_PRINT_LN_D11
|
||||
|
||||
;-------[TAB]
|
||||
LP_TAB: LD A,SYS_PAGE
|
||||
;-------[TAB] ;!FIXIT § ¯®«ï¥â ¯à®¡¥« ¬¨
|
||||
.TAB: LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,(WIN_ID_0.H_BEG)
|
||||
SUB D
|
||||
@ -1663,74 +1737,85 @@ LP_TAB: LD A,SYS_PAGE
|
||||
LD C,A
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
|
||||
.loop: LD (HL),' '
|
||||
;
|
||||
.loop_tab: LD (HL),' '
|
||||
INC D
|
||||
DEC B
|
||||
JR Z,.end_Line
|
||||
DEC C
|
||||
JR NZ,.loop
|
||||
|
||||
JR LP_PR_LINE_DIR.next
|
||||
.end_Line:
|
||||
LD A,SYS_PAGE
|
||||
JR NZ,.loop_tab
|
||||
JR .next_full
|
||||
;
|
||||
.end_Line: LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,(WIN_ID_0.H_BEG)
|
||||
LD D,A
|
||||
LD A,(WIN_ID_0.SIZE_REL)
|
||||
LD B,A
|
||||
;JP LP_LF
|
||||
JP .LineFeed_go
|
||||
;-------[TAB end]
|
||||
LP_LF: LD A,SYS_PAGE
|
||||
;
|
||||
;-------[Line Feed]
|
||||
.VertTab: ;
|
||||
.LineFeed: LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
INC L
|
||||
INC L
|
||||
INC L
|
||||
INC L
|
||||
|
||||
;
|
||||
.LineFeed_go: LD A,4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
||||
ADD L
|
||||
LD L,A
|
||||
;
|
||||
LD A,(WIN_ID_0.V_END)
|
||||
CP L
|
||||
JR NC,LP_PRINT_LN_D11
|
||||
CALL C,LP_NEXT_HL_DIR.end_line
|
||||
;!TEST BIOS SCROLL
|
||||
;LD A,(WIN_ID_0.V_BEG)
|
||||
;LD L,A ; ¢¥àãâìáï ¢¥àå ¡¥§ áªà®«« !!!
|
||||
;-------------------------------------------------------------\
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
EXX
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
EXX
|
||||
|
||||
LD A,(WIN_ID_0.USER.SIZE_V)
|
||||
LD B,A
|
||||
CALL LP_SCROLL_UP.RUN
|
||||
|
||||
EXX
|
||||
POP DE
|
||||
POP BC
|
||||
EXX
|
||||
POP BC
|
||||
POP HL
|
||||
; LD A,L
|
||||
; SUB 4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
||||
; LD L,A
|
||||
; PUSH HL
|
||||
; PUSH BC
|
||||
; PUSH DE
|
||||
; EXX
|
||||
; PUSH BC
|
||||
; PUSH DE
|
||||
; PUSH HL
|
||||
; ;EXX
|
||||
; LD A,(WIN_ID_0.USER.SIZE_V)
|
||||
; LD B,A
|
||||
; CALL LP_SCROLL_UP.RUN
|
||||
; ;EXX
|
||||
; POP HL
|
||||
; POP DE
|
||||
; POP BC
|
||||
; EXX
|
||||
; POP DE
|
||||
; POP BC
|
||||
; POP HL
|
||||
;-------------------------------------------------------------/
|
||||
;LD HL,(WIN_ID_0.H_BEG - 1)
|
||||
;LD L,A ; WIN_ID_0.V_END - ¢¥àãâìáï ¢¥àå ¡¥§ áªà®«« !!!
|
||||
;
|
||||
; scrolling ????
|
||||
JR LP_PRINT_LN_D11
|
||||
|
||||
LP_CLS: ; ...
|
||||
; scrolling ????
|
||||
JR LP_PR_LINE_DIR.next
|
||||
|
||||
LP_CR: LD A,SYS_PAGE
|
||||
;!TODO CALL clear_last_line_1F
|
||||
; .SetPage_Loop: LD A,#50
|
||||
; OUT (SLOT3),A
|
||||
JP .loop
|
||||
;-------[Line Feed end]
|
||||
;
|
||||
.CLS: ; ...
|
||||
;!TODO CLS
|
||||
JP .loop
|
||||
;
|
||||
.CR: LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
;
|
||||
LD A,(WIN_ID_0.H_BEG)
|
||||
LD D,A
|
||||
LD A,(WIN_ID_0.SIZE_REL)
|
||||
LD B,A
|
||||
|
||||
JR LP_PRINT_LN_D11
|
||||
;
|
||||
;LD A,#50
|
||||
;OUT (SLOT3),A
|
||||
JP .loop
|
||||
;------------------------------------------------------------------[#E0]
|
||||
|
||||
|
||||
@ -1823,43 +1908,43 @@ LP_SCR_MNU:
|
||||
; DB 40,32,0,0,#1B,0,0,0
|
||||
; DB 0,0,0,0,0,0,0,0
|
||||
|
||||
; LP_S %01100010,40,#4000
|
||||
; LP_S %01100010,40,#4028
|
||||
; LP_S %01100010,40,#4050
|
||||
; LP_S %01100010,40,#4078
|
||||
; LP_S %01100010,40,#40A0
|
||||
; LP_S %01100010,40,#40C8
|
||||
; LP_S %0110'0010,40,#4000
|
||||
; LP_S %0110'0010,40,#4028
|
||||
; LP_S %0110'0010,40,#4050
|
||||
; LP_S %0110'0010,40,#4078
|
||||
; LP_S %0110'0010,40,#40A0
|
||||
; LP_S %0110'0010,40,#40C8
|
||||
;
|
||||
; LP_S %01100010,40,#4800
|
||||
; LP_S %01100010,40,#4828
|
||||
; LP_S %01100010,40,#4850
|
||||
; LP_S %01100010,40,#4878
|
||||
; LP_S %01100010,40,#48A0
|
||||
; LP_S %01100010,40,#48C8
|
||||
; LP_S %0110'0010,40,#4800
|
||||
; LP_S %0110'0010,40,#4828
|
||||
; LP_S %0110'0010,40,#4850
|
||||
; LP_S %0110'0010,40,#4878
|
||||
; LP_S %0110'0010,40,#48A0
|
||||
; LP_S %0110'0010,40,#48C8
|
||||
;
|
||||
; LP_S %01100010,40,#5000
|
||||
; LP_S %01100010,40,#5028
|
||||
; LP_S %01100010,40,#5050
|
||||
; LP_S %01100010,40,#5078
|
||||
; LP_S %01100010,40,#50A0
|
||||
; LP_S %01100010,40,#50C8
|
||||
; LP_S %0110'0010,40,#5000
|
||||
; LP_S %0110'0010,40,#5028
|
||||
; LP_S %0110'0010,40,#5050
|
||||
; LP_S %0110'0010,40,#5078
|
||||
; LP_S %0110'0010,40,#50A0
|
||||
; LP_S %0110'0010,40,#50C8
|
||||
;
|
||||
; LP_S %01100100,40,#4000
|
||||
; LP_S %01100100,40,#4028
|
||||
; LP_S %01100100,40,#4050
|
||||
; LP_S %01100100,40,#4078
|
||||
; LP_S %01100100,40,#40A0
|
||||
; LP_S %01100100,40,#40C8
|
||||
; LP_S %0110'0100,40,#4000
|
||||
; LP_S %0110'0100,40,#4028
|
||||
; LP_S %0110'0100,40,#4050
|
||||
; LP_S %0110'0100,40,#4078
|
||||
; LP_S %0110'0100,40,#40A0
|
||||
; LP_S %0110'0100,40,#40C8
|
||||
;
|
||||
; LP_S %01100100,40,#4800
|
||||
; LP_S %01100100,40,#4828
|
||||
; LP_S %01100100,40,#4850
|
||||
; LP_S %01100100,40,#4878
|
||||
; LP_S %01100100,40,#48A0
|
||||
; LP_S %01100100,40,#48C8
|
||||
; LP_S %0110'0100,40,#4800
|
||||
; LP_S %0110'0100,40,#4828
|
||||
; LP_S %0110'0100,40,#4850
|
||||
; LP_S %0110'0100,40,#4878
|
||||
; LP_S %0110'0100,40,#48A0
|
||||
; LP_S %0110'0100,40,#48C8
|
||||
;
|
||||
; LP_S %01100100,40,#5000
|
||||
; LP_S %01100100,40,#5028
|
||||
; LP_S %0110'0100,40,#5000
|
||||
; LP_S %0110'0100,40,#5028
|
||||
;
|
||||
; DEFB #FF,0,0,0
|
||||
;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user