LP_PR_LINE_DIR: осталось BELL и Form feed
This commit is contained in:
parent
ba3112f006
commit
f8f75dc091
@ -1 +1 @@
|
|||||||
Subproject commit 7c03abc82040df54cec2bc6701b0f602fa08fd26
|
Subproject commit 9143dcb7f8fd9cd3ae0bc179b94fced5efd8667f
|
||||||
@ -141,7 +141,7 @@ TAB_FNS:
|
|||||||
DB low EMM.MergeMemBlocks ; #9E ᫨逸 ¤¢ãå ¡«®ª®¢
|
DB low EMM.MergeMemBlocks ; #9E ᫨逸 ¤¢ãå ¡«®ª®¢
|
||||||
DB low EMM.FullInit ; #9F ¨¨æ¨ «¨§ æ¨ï ¢á¥© ¯ ¬ïâ¨, á¨á⥬ëå ¯¥à¥¬¥ëå
|
DB low EMM.FullInit ; #9F ¨¨æ¨ «¨§ æ¨ï ¢á¥© ¯ ¬ïâ¨, á¨á⥬ëå ¯¥à¥¬¥ëå
|
||||||
; Ax
|
; Ax
|
||||||
DB low PIC_FN0 ; #A0 Ž’Š<E28099>›’ˆ… ŽŠ<C5BD>€
|
DB low PIC_FN0_OpenWin ; #A0 Ž’Š<E28099>›’ˆ… ŽŠ<C5BD>€
|
||||||
DB low PIC_FN1 ; #A1 ‚›‚…‘’ˆ ’Ž—Š“
|
DB low PIC_FN1 ; #A1 ‚›‚…‘’ˆ ’Ž—Š“
|
||||||
DB low PIC_FN2 ; #A2 ‚›‚Ž„ ‹ˆ<E280B9>ˆˆ COPY
|
DB low PIC_FN2 ; #A2 ‚›‚Ž„ ‹ˆ<E280B9>ˆˆ COPY
|
||||||
DB low PIC_FN3 ; #A3 ‚›‚Ž„ ‹ˆ<E280B9>ˆˆ FILL
|
DB low PIC_FN3 ; #A3 ‚›‚Ž„ ‹ˆ<E280B9>ˆˆ FILL
|
||||||
@ -333,7 +333,7 @@ TAB_FNS:
|
|||||||
DB high EMM.MergeMemBlocks
|
DB high EMM.MergeMemBlocks
|
||||||
DB high EMM.FullInit
|
DB high EMM.FullInit
|
||||||
; Ax
|
; Ax
|
||||||
DB high PIC_FN0
|
DB high PIC_FN0_OpenWin
|
||||||
DB high PIC_FN1
|
DB high PIC_FN1
|
||||||
DB high PIC_FN2
|
DB high PIC_FN2
|
||||||
DB high PIC_FN3
|
DB high PIC_FN3
|
||||||
|
|||||||
@ -70,18 +70,20 @@
|
|||||||
.LLL: EX AF,AF'
|
.LLL: EX AF,AF'
|
||||||
ENDM ;
|
ENDM ;
|
||||||
|
|
||||||
|
MACRO CORRECT_SCR_40_BACK
|
||||||
|
EX AF,AF'
|
||||||
|
JR C,.LLL
|
||||||
|
DEC D ; ०¨¬ 40
|
||||||
|
.LLL: EX AF,AF'
|
||||||
|
ENDM ;
|
||||||
|
|
||||||
|
|
||||||
MACRO DJNZ_NEXT_HL
|
MACRO DJNZ_NEXT_HL
|
||||||
DJNZ .LLL
|
DJNZ .LLL
|
||||||
CALL LP_NEXT_HL
|
CALL LP_NEXT_HL
|
||||||
.LLL: ;
|
.LLL: ;
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
MACRO DJNZ_NEXT_HL_ADDR addr
|
|
||||||
DJNZ addr
|
|
||||||
CALL LP_NEXT_HL_DIR
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;*********************************
|
;*********************************
|
||||||
;* LOW LEVEL PRINTER *
|
;* LOW LEVEL PRINTER *
|
||||||
@ -208,8 +210,6 @@ LP_PRINT_ATR: CALL LP_BEG_P
|
|||||||
DJNZ_NEXT_HL
|
DJNZ_NEXT_HL
|
||||||
EXX
|
EXX
|
||||||
DJNZ .loop
|
DJNZ .loop
|
||||||
;LD A,SYS_PAGE
|
|
||||||
;OUT (SLOT3),A
|
|
||||||
JP LP_END_P
|
JP LP_END_P
|
||||||
;------------------------------------------------------------------[#83]
|
;------------------------------------------------------------------[#83]
|
||||||
;
|
;
|
||||||
@ -241,8 +241,6 @@ LP_PRINT_LINE: CALL LP_BEG_P
|
|||||||
DJNZ_NEXT_HL
|
DJNZ_NEXT_HL
|
||||||
EXX
|
EXX
|
||||||
DJNZ .loop
|
DJNZ .loop
|
||||||
;LD A,SYS_PAGE
|
|
||||||
;OUT (SLOT3),A
|
|
||||||
JP LP_END_P
|
JP LP_END_P
|
||||||
;------------------------------------------------------------------[#85]
|
;------------------------------------------------------------------[#85]
|
||||||
;
|
;
|
||||||
@ -287,8 +285,8 @@ LP_PRINT_LINE3: CALL LP_BEG_P
|
|||||||
INC HL
|
INC HL
|
||||||
CP D
|
CP D
|
||||||
JR NZ,.NoEnd
|
JR NZ,.NoEnd
|
||||||
|
;
|
||||||
DEC HL
|
DEC HL
|
||||||
;LD A,' ' ;!TEST
|
|
||||||
EXX
|
EXX
|
||||||
LD C,' '
|
LD C,' '
|
||||||
JP LP_PRINT_ALL.cont
|
JP LP_PRINT_ALL.cont
|
||||||
@ -323,8 +321,8 @@ LP_PRINT_LINE4: CALL LP_BEG_P
|
|||||||
INC HL
|
INC HL
|
||||||
CP D
|
CP D
|
||||||
JR NZ,.NoEndSymbol
|
JR NZ,.NoEndSymbol
|
||||||
|
;
|
||||||
DEC HL
|
DEC HL
|
||||||
;LD A,' ' ;!TEST
|
|
||||||
EXX
|
EXX
|
||||||
LD C,' '
|
LD C,' '
|
||||||
JP LP_PRINT_SYM.cont
|
JP LP_PRINT_SYM.cont
|
||||||
@ -345,10 +343,12 @@ LP_PRINT_LINE4: CALL LP_BEG_P
|
|||||||
LP_PRINT_LINE5: CALL LP_BEG_P
|
LP_PRINT_LINE5: CALL LP_BEG_P
|
||||||
LD A,#50
|
LD A,#50
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
EXX
|
||||||
|
LD C,PORT_Y
|
||||||
|
EXX
|
||||||
;
|
;
|
||||||
.loop: EXX
|
.loop: EXX
|
||||||
LD A,D
|
OUT (C),D
|
||||||
OUT (PORT_Y),A
|
|
||||||
EXX
|
EXX
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
@ -398,10 +398,12 @@ LP_END_P: LD A,SYS_PAGE
|
|||||||
LP_PRINT_LINE6: CALL LP_BEG_P
|
LP_PRINT_LINE6: CALL LP_BEG_P
|
||||||
LD A,#50
|
LD A,#50
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
EXX
|
||||||
|
LD C,PORT_Y
|
||||||
|
EXX
|
||||||
;
|
;
|
||||||
.loop: EXX
|
.loop: EXX
|
||||||
LD A,D
|
OUT (C),D
|
||||||
OUT (PORT_Y),A
|
|
||||||
EXX
|
EXX
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
@ -438,15 +440,6 @@ 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)
|
||||||
@ -459,6 +452,12 @@ LP_GET_PLACE: CALL LP_BEG_P
|
|||||||
RRCA
|
RRCA
|
||||||
AND %0011'1111
|
AND %0011'1111
|
||||||
LD D,A
|
LD D,A
|
||||||
|
; ०¨¬ txt 40
|
||||||
|
EX AF,AF'
|
||||||
|
JR C,.no_txt40
|
||||||
|
SRL E
|
||||||
|
AND A
|
||||||
|
.no_txt40: EX AF,AF'
|
||||||
JP LP_END_P.short
|
JP LP_END_P.short
|
||||||
;------------------------------------------------------------------[#8E]
|
;------------------------------------------------------------------[#8E]
|
||||||
;
|
;
|
||||||
@ -471,16 +470,15 @@ LP_CLS_WIN2: LD C,A
|
|||||||
;--------------------------------------------------------[#8D]
|
;--------------------------------------------------------[#8D]
|
||||||
;--------------------------------------------------------[#89]
|
;--------------------------------------------------------[#89]
|
||||||
LP_CLS_WIN: LD C,' '
|
LP_CLS_WIN: LD C,' '
|
||||||
;JR CLS_WIN
|
;---------------- -----------------------------[#89]
|
||||||
;----------------- ---------------------------[#89]
|
|
||||||
CLS_WIN: CALL LP_BEG_P
|
CLS_WIN: CALL LP_BEG_P
|
||||||
LD (SYS_PAGE.SYS_WORK1),BC ; á®åà ¨âì æ¢¥â
|
LD (SYS_PAGE.SYS_WORK1),BC ; á®åà ¨âì æ¢¥â ; !TODO ¨á¯®«ì§®¢ âì ¯¥à¥¬¥ë¥ ®ª
|
||||||
PUSH DE
|
PUSH DE
|
||||||
;
|
;
|
||||||
.loop1: CALL LP_SET_CUR
|
.loop1: CALL LP_SET_CUR
|
||||||
PUSH DE
|
PUSH DE
|
||||||
EXX
|
EXX
|
||||||
LD BC,(SYS_PAGE.SYS_WORK1)
|
LD BC,(SYS_PAGE.SYS_WORK1) ; !TODO ¨á¯®«ì§®¢ âì ¯¥à¥¬¥ë¥ ®ª
|
||||||
EXX
|
EXX
|
||||||
LD B,L
|
LD B,L
|
||||||
LD A,#50
|
LD A,#50
|
||||||
@ -611,10 +609,11 @@ LP_SIZE: CALL LP_OPEN_PG
|
|||||||
AND %0010'0000
|
AND %0010'0000
|
||||||
CALL LP_CLOSE_PG
|
CALL LP_CLOSE_PG
|
||||||
RET NZ
|
RET NZ
|
||||||
;
|
; txt 40
|
||||||
LD A,E
|
; LD A,E
|
||||||
ADD A,A
|
; ADD A,A
|
||||||
LD E,A
|
; LD E,A
|
||||||
|
SLA E
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -641,7 +640,7 @@ LP_SET_CUR: ; LP_AT_D:
|
|||||||
ADD A,L
|
ADD A,L
|
||||||
LD L,A
|
LD L,A
|
||||||
INC L
|
INC L
|
||||||
LD H,#C3
|
LD H,#C3 ;!HARDCODE ç «® ®¯¨á ⥫¥© ¢ SLOT3
|
||||||
EXX
|
EXX
|
||||||
;RET
|
;RET
|
||||||
;
|
;
|
||||||
@ -664,15 +663,8 @@ LP_SET_CUR: ; LP_AT_D:
|
|||||||
;
|
;
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
JR C,.LLL
|
JR C,.LLL
|
||||||
SLA D ; ०¨¬ txt 40
|
SLA D ; ०¨¬ txt 40. ¥ ¤®«¦® áâ ¢¨âì CF
|
||||||
.LLL: EX AF,AF'
|
.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)
|
.skip_Dx2: LD A,(WIN_ID_0.H_BEG)
|
||||||
ADD A,D
|
ADD A,D
|
||||||
LD D,A
|
LD D,A
|
||||||
@ -680,7 +672,6 @@ LP_SET_CUR: ; LP_AT_D:
|
|||||||
RET
|
RET
|
||||||
;*************************************************************
|
;*************************************************************
|
||||||
|
|
||||||
|
|
||||||
LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
LD A,4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
||||||
@ -700,12 +691,14 @@ LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
|||||||
SUB 4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
SUB 4 ;!HARDCODE ¤«¨ ®¤®£® ®¯¨á â¥«ï ª¢ ¤à ⨪
|
||||||
LD L,A
|
LD L,A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
|
DEC HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH DE
|
PUSH DE
|
||||||
EXX
|
EXX
|
||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH DE
|
|
||||||
PUSH HL
|
PUSH HL
|
||||||
|
LD A,(WIN_ID_0.V_BEG)
|
||||||
|
LD D,A
|
||||||
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 ; ¢áî áâப㠮ª áªà®««¨¬
|
LD E,0 ; ¢áî áâப㠮ª áªà®««¨¬
|
||||||
@ -713,6 +706,8 @@ LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
|||||||
EXX
|
EXX
|
||||||
LD C," "
|
LD C," "
|
||||||
;
|
;
|
||||||
|
LD A,SYS_PAGE
|
||||||
|
OUT (SLOT3),A
|
||||||
LD HL,(WIN_ID_0.V_END)
|
LD HL,(WIN_ID_0.V_END)
|
||||||
DEC L
|
DEC L
|
||||||
DEC L
|
DEC L
|
||||||
@ -728,7 +723,6 @@ LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
|||||||
EXX
|
EXX
|
||||||
LD A,(WIN_ID_0.SIZE_REL)
|
LD A,(WIN_ID_0.SIZE_REL)
|
||||||
LD B,A
|
LD B,A
|
||||||
;
|
|
||||||
.loop_cl_line: EXX
|
.loop_cl_line: EXX
|
||||||
LD A,D
|
LD A,D
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
@ -739,7 +733,6 @@ LP_NEXT_HL_DIR: LD A,SYS_PAGE
|
|||||||
DJNZ .loop_cl_line
|
DJNZ .loop_cl_line
|
||||||
;
|
;
|
||||||
POP HL
|
POP HL
|
||||||
POP DE
|
|
||||||
POP BC
|
POP BC
|
||||||
EXX
|
EXX
|
||||||
POP DE
|
POP DE
|
||||||
@ -771,7 +764,7 @@ LP_NEXT_HL: LD A,SYS_PAGE
|
|||||||
;
|
;
|
||||||
.end_line: LD HL,(WIN_ID_0.V_BEG)
|
.end_line: LD HL,(WIN_ID_0.V_BEG)
|
||||||
INC L
|
INC L
|
||||||
LD H,#C3 ;!HARDCODE
|
LD H,#C3 ;!HARDCODE ç «® ®¯¨á ⥫¥© ¢ SLOT3
|
||||||
JP .no_end_line
|
JP .no_end_line
|
||||||
|
|
||||||
; !®¦¨¤ ¥âáï, çâ® ¯®àâïâáï ⮫쪮 «ìâ¥à â¨¢ë¥ à¥£¨áâàë ¨ â¥, çâ® ª ª ¯ à ¬¥âàë ¢å®¤¥
|
; !®¦¨¤ ¥âáï, çâ® ¯®àâïâáï ⮫쪮 «ìâ¥à â¨¢ë¥ à¥£¨áâàë ¨ â¥, çâ® ª ª ¯ à ¬¥âàë ¢å®¤¥
|
||||||
@ -794,21 +787,21 @@ LP_INI_P: EX AF,AF'
|
|||||||
CALL LP_OPEN_PG
|
CALL LP_OPEN_PG
|
||||||
LD A,(WIN_ID_0.USER.MODE)
|
LD A,(WIN_ID_0.USER.MODE)
|
||||||
CP #C0
|
CP #C0
|
||||||
JR NC,LP_INI_NO_ZG ; ®âªàë⨥ ¡®à¤¥à ...
|
JR NC,.NO_ZG ; ®âªàë⨥ ¡®à¤¥à ...
|
||||||
LD A,(WIN_ID_0.USER.MODE_S)
|
LD A,(WIN_ID_0.USER.MODE_S)
|
||||||
AND %0000'0001
|
AND %0000'0001
|
||||||
JR NZ,LP_INI_NO_ZG ; ®âªàë⨥ Spectrum-Screen
|
JR NZ,.NO_ZG ; ®âªàë⨥ Spectrum-Screen
|
||||||
;
|
;
|
||||||
LD A,(WIN_ID_0.USER.MODE)
|
LD A,(WIN_ID_0.USER.MODE)
|
||||||
BIT 4,A
|
BIT 4,A
|
||||||
JR Z,LP_INI_NO_ZG ; ®âªàë⨥ £à ä¨ç¥áª®£® íªà
|
JR Z,.NO_ZG ; ®âªàë⨥ £à ä¨ç¥áª®£® íªà
|
||||||
LD DE,(SYS_PAGE.WIN_ZG) ; § ª®£¥¥à â®à
|
LD DE,(SYS_PAGE.WIN_ZG) ; § ª®£¥¥à â®à
|
||||||
EXX
|
EXX
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
CALL WIN_SET_ZG.SET ;LP_SET_ZG1
|
CALL WIN_SET_ZG.SET ;LP_SET_ZG1 ;!TODO á⮨⠫¨ ª ¦¤ë© à § § ª¨¤ë¢ âì èà¨äâ?
|
||||||
EXX
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LP_INI_NO_ZG: LD A,(WIN_ID_0.H_BEG)
|
EXX
|
||||||
|
.NO_ZG: LD A,(WIN_ID_0.H_BEG)
|
||||||
LD D,A
|
LD D,A
|
||||||
LD A,(WIN_ID_0.V_BEG)
|
LD A,(WIN_ID_0.V_BEG)
|
||||||
LD L,A
|
LD L,A
|
||||||
@ -818,16 +811,12 @@ LP_INI_NO_ZG: LD A,(WIN_ID_0.H_BEG)
|
|||||||
LD A,(WIN_ID_0.USER.MODE)
|
LD A,(WIN_ID_0.USER.MODE)
|
||||||
BIT 5,A
|
BIT 5,A
|
||||||
LD A,(WIN_ID_0.USER.SIZE_H)
|
LD A,(WIN_ID_0.USER.SIZE_H)
|
||||||
JR NZ,LP_INI_40
|
JR NZ,.TXT_40
|
||||||
|
; TXT_80
|
||||||
ADD A,A
|
ADD A,A
|
||||||
SCF
|
SCF
|
||||||
LP_INI_40: LD B,A
|
.TXT_40: LD B,A
|
||||||
LD (WIN_ID_0.SIZE_REL),A
|
LD (WIN_ID_0.SIZE_REL),A
|
||||||
;LD DE,(SYS_PAGE.WIN_MODE_SC) ; ¬¥áâ® ¯® £®à¨§®â «¨ ¨ áâà ¨æ ¬®¤ë
|
|
||||||
;LD HL,(SYS_PAGE.WIN_MODE_SH) ; ¬¥áâ® ¯® ¢¥à⨪ «¨ á ¤à¥á®¬
|
|
||||||
;INC HL
|
|
||||||
;LD B,0
|
|
||||||
;CALL LP_TAB_H2
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
EXX
|
EXX
|
||||||
JP LP_END_P
|
JP LP_END_P
|
||||||
@ -870,29 +859,29 @@ LP_SC_TAB: DW LP_SET_32 ; 0 - ᯥ
|
|||||||
; !TODO
|
; !TODO
|
||||||
; LP_SET_MNU:
|
; LP_SET_MNU:
|
||||||
; LD IX,LP_SCR_MNU
|
; LD IX,LP_SCR_MNU
|
||||||
; JP LP_SET_MODE
|
; JP PIC_FN0_OpenWin
|
||||||
|
|
||||||
LP_SET_32: LD HL,#4104
|
LP_SET_32: LD HL,#4104
|
||||||
.X: LD IX,LP_SCR_32
|
.X: LD IX,LP_SCR_32
|
||||||
JP LP_SET_MODE
|
JP PIC_FN0_OpenWin
|
||||||
|
|
||||||
LP_SET_64: LD HL,#4104
|
LP_SET_64: LD HL,#4104
|
||||||
.X: LD IX,LP_SCR_64
|
.X: LD IX,LP_SCR_64
|
||||||
JP LP_SET_MODE
|
JP PIC_FN0_OpenWin
|
||||||
|
|
||||||
LP_SET_40: LD HL,#4000
|
LP_SET_40: LD HL,#4000
|
||||||
.X: LD IX,LP_SCR_40
|
.X: LD IX,LP_SCR_40
|
||||||
JP LP_SET_MODE
|
JP PIC_FN0_OpenWin
|
||||||
|
|
||||||
LP_SET_80: LD HL,#4000
|
LP_SET_80: LD HL,#4000
|
||||||
.X: LD IX,LP_SCR_80
|
.X: LD IX,LP_SCR_80
|
||||||
JP LP_SET_MODE
|
JP PIC_FN0_OpenWin
|
||||||
|
|
||||||
PIC_SET_S1: LD IX,PIC_320X256_1
|
PIC_SET_S1: LD IX,PIC_320X256_1
|
||||||
JP LP_SET_MODE
|
JP PIC_FN0_OpenWin
|
||||||
|
|
||||||
PIC_SET_S2: LD IX,PIC_320X256_2
|
PIC_SET_S2: LD IX,PIC_320X256_2
|
||||||
JP LP_SET_MODE
|
JP PIC_FN0_OpenWin
|
||||||
;------------------------------------------------------------------[#80]
|
;------------------------------------------------------------------[#80]
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -934,26 +923,27 @@ WIN_OPEN: CALL .Prepare
|
|||||||
; HL = X + Y*64 + #4000 + #1000*RGMOD. ¬¥áâ® íªà ¥ ¯® § ª®¬¥áâ ¬
|
; HL = X + Y*64 + #4000 + #1000*RGMOD. ¬¥áâ® íªà ¥ ¯® § ª®¬¥áâ ¬
|
||||||
; IX - ®¯¨á â¥«ì ®ª
|
; IX - ®¯¨á â¥«ì ®ª
|
||||||
; E - bit0: ®¬¥à íªà
|
; E - bit0: ®¬¥à íªà
|
||||||
PIC_FN0:
|
;LP_SET_MODE:
|
||||||
LP_SET_MODE: ; ä¨â ¤«ï ᮢ¬¥á⨬®á⨠ᮠáâ à묨 ¯à®£ ¬¨, £¤¥ ¯¥à¥¤ ¢ «¨áì ¤à㣨¥ ¯ à ¬¥âàë
|
PIC_FN0_OpenWin:
|
||||||
LD A,H
|
; ä¨â ¤«ï ᮢ¬¥á⨬®á⨠ᮠáâ à묨 ¯à®£ ¬¨, £¤¥ ¯¥à¥¤ ¢ «¨áì ¤à㣨¥ ¯ à ¬¥âàë
|
||||||
AND %00001'0000 ; ¯¥à¥¬¥áâ¨âì ¡¨â 4 ¢ ॣ¨áâà E
|
LD A,H
|
||||||
XOR E
|
AND %00001'0000 ; ¯¥à¥¬¥áâ¨âì ¡¨â 4 ¢ ॣ¨áâà E
|
||||||
LD E,A
|
XOR E
|
||||||
;
|
LD E,A
|
||||||
LD A,L
|
|
||||||
AND #3F
|
|
||||||
ADD HL,HL
|
|
||||||
ADD HL,HL
|
|
||||||
LD L,A
|
|
||||||
;
|
|
||||||
LD A,H
|
|
||||||
AND #3F
|
|
||||||
LD H,A
|
|
||||||
;
|
;
|
||||||
|
LD A,L
|
||||||
|
AND #3F
|
||||||
|
ADD HL,HL
|
||||||
|
ADD HL,HL
|
||||||
|
LD L,A
|
||||||
|
;
|
||||||
|
LD A,H
|
||||||
|
AND #3F
|
||||||
|
LD H,A
|
||||||
CALL WIN_OPEN.Prepare
|
CALL WIN_OPEN.Prepare
|
||||||
LD (IX + Window_Variables.USER.PLACE_H),L
|
LD (IX + Window_Variables.USER.PLACE_H),L
|
||||||
LD (IX + Window_Variables.USER.PLACE_V),H
|
LD (IX + Window_Variables.USER.PLACE_V),H
|
||||||
|
;
|
||||||
WIN_OPEN_W1: LD A,L
|
WIN_OPEN_W1: LD A,L
|
||||||
ADD A,A
|
ADD A,A
|
||||||
INC A ; ¢ëç¨á«¥¨¥ PORT_Y
|
INC A ; ¢ëç¨á«¥¨¥ PORT_Y
|
||||||
@ -1293,9 +1283,15 @@ LP_SCROLL_UP: DEC E
|
|||||||
.EXIT: JP LP_CLOSE_PG
|
.EXIT: JP LP_CLOSE_PG
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
.RUN: PUSH BC
|
.RUN: CALL LP_SET_CUR ; ¢ëç¨á«¨âì ¯¥à¥¬¥ë¥ ¤«ï áâப¨
|
||||||
CALL LP_SET_CUR ; ¢ëç¨á«¨âì ¯¥à¥¬¥ë¥ ¤«ï áâப¨
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
||||||
POP BC
|
; ®â«¨ç¨¥ ®â LP_SCROLL_DN
|
||||||
|
LD A,(WIN_ID_0.V_END)
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
LD C,A
|
||||||
|
LD A,#50
|
||||||
|
OUT (SLOT3),A ; ®âªàëâì áâà ¨æã ¤«ï ¯¥à¥®á
|
||||||
|
;
|
||||||
.loop2: EXX
|
.loop2: EXX
|
||||||
PUSH HL
|
PUSH HL
|
||||||
EXX
|
EXX
|
||||||
@ -1303,16 +1299,16 @@ LP_SCROLL_UP: DEC E
|
|||||||
;
|
;
|
||||||
LD E,L
|
LD E,L
|
||||||
LD D,H
|
LD D,H
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
||||||
; ®â«¨ç¨¥ ®â LP_SCROLL_DN
|
; ®â«¨ç¨¥ ®â LP_SCROLL_DN
|
||||||
LD A,4
|
LD A,4
|
||||||
ADD L
|
ADD L
|
||||||
LD L,A
|
LD L,A
|
||||||
;
|
;
|
||||||
LD A,(WIN_ID_0.V_END)
|
LD A,C
|
||||||
CP L
|
CP L
|
||||||
RET C ; ¥á«¨ ª®¥æ, â® ¢ë室
|
RET C ; ¥á«¨ ª®¥æ, â® ¢ë室
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD A,L
|
LD A,L
|
||||||
EXX
|
EXX
|
||||||
@ -1324,8 +1320,6 @@ LP_SCROLL_UP: DEC E
|
|||||||
LD C,A
|
LD C,A
|
||||||
LD B,0
|
LD B,0
|
||||||
;
|
;
|
||||||
LD A,#50
|
|
||||||
OUT (SLOT3),A ; ®âªàëâì áâà ¨æã ¤«ï ¯¥à¥®á
|
|
||||||
EXX
|
EXX
|
||||||
LD A,D ; ¯®«ãç¨âì ¯®àâ ç « áâப¨
|
LD A,D ; ¯®«ãç¨âì ¯®àâ ç « áâப¨
|
||||||
EXX
|
EXX
|
||||||
@ -1339,8 +1333,6 @@ LP_SCROLL_UP: DEC E
|
|||||||
LDD
|
LDD
|
||||||
JP PE,.loop1
|
JP PE,.loop1
|
||||||
;
|
;
|
||||||
LD A,SYS_PAGE
|
|
||||||
OUT (SLOT3),A
|
|
||||||
POP BC
|
POP BC
|
||||||
DJNZ .loop2
|
DJNZ .loop2
|
||||||
RET
|
RET
|
||||||
@ -1363,9 +1355,15 @@ LP_SCROLL_DN: DEC E ;!FIXIT
|
|||||||
.EXIT: JP LP_CLOSE_PG
|
.EXIT: JP LP_CLOSE_PG
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
.RUN: PUSH BC
|
.RUN: CALL LP_SET_CUR
|
||||||
CALL LP_SET_CUR
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
||||||
POP BC
|
; ®â«¨ç¨¥ ®â LP_SCROLL_UD
|
||||||
|
LD A,(WIN_ID_0.V_BEG)
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
LD C,A
|
||||||
|
LD A,#50
|
||||||
|
OUT (SLOT3),A ; ®âªàëâì áâà ¨æã ¤«ï ¯¥à¥®á
|
||||||
|
;
|
||||||
.loop2: EXX
|
.loop2: EXX
|
||||||
PUSH HL
|
PUSH HL
|
||||||
EXX
|
EXX
|
||||||
@ -1373,18 +1371,17 @@ LP_SCROLL_DN: DEC E ;!FIXIT
|
|||||||
;
|
;
|
||||||
LD E,L
|
LD E,L
|
||||||
LD D,H
|
LD D,H
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!TODO
|
||||||
; ¬®¦® ᮢ¬¥áâ¨âì. ¯à¨§ ª ¯à ¢«¥¨ï ¢ ॣ C
|
; ®â«¨ç¨¥ ®â LP_SCROLL_UD
|
||||||
; ®â«¨ç¨¥ ®â LP_SCROLL_UD
|
|
||||||
LD A,L
|
LD A,L
|
||||||
SUB 4
|
SUB 4
|
||||||
LD L,A
|
LD L,A
|
||||||
;
|
;
|
||||||
LD A,(WIN_ID_0.V_BEG)
|
LD A,C
|
||||||
CP L ; .CONT: L >= A
|
CP L ; .CONT: L >= A
|
||||||
JR Z,.CONT
|
JR Z,.CONT
|
||||||
RET NC ; ¥á«¨ ª®¥æ, â® ¢ë室
|
RET NC ; ¥á«¨ ª®¥æ, â® ¢ë室
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
.CONT: PUSH BC
|
.CONT: PUSH BC
|
||||||
LD A,L
|
LD A,L
|
||||||
EXX
|
EXX
|
||||||
@ -1396,8 +1393,6 @@ LP_SCROLL_DN: DEC E ;!FIXIT
|
|||||||
LD C,A
|
LD C,A
|
||||||
LD B,0
|
LD B,0
|
||||||
;
|
;
|
||||||
LD A,#50
|
|
||||||
OUT (SLOT3),A ; ®âªàëâì áâà ¨æã ¤«ï ¯¥à¥®á
|
|
||||||
EXX
|
EXX
|
||||||
LD A,D ; ¯®«ãç¨âì ¯®àâ ç « áâப¨
|
LD A,D ; ¯®«ãç¨âì ¯®àâ ç « áâப¨
|
||||||
EXX
|
EXX
|
||||||
@ -1411,8 +1406,6 @@ LP_SCROLL_DN: DEC E ;!FIXIT
|
|||||||
LDD
|
LDD
|
||||||
JP PE,.loop1
|
JP PE,.loop1
|
||||||
;
|
;
|
||||||
LD A,SYS_PAGE
|
|
||||||
OUT (SLOT3),A
|
|
||||||
POP BC
|
POP BC
|
||||||
DJNZ .loop2
|
DJNZ .loop2
|
||||||
RET
|
RET
|
||||||
@ -1653,24 +1646,27 @@ LP_PR_LINE_DIR:
|
|||||||
;
|
;
|
||||||
LD A,(WIN_ID_0.H_BEG)
|
LD A,(WIN_ID_0.H_BEG)
|
||||||
CP D
|
CP D
|
||||||
JR Z,.next_full ;!FIXIT ¢®§¬®¦®, çâ® ¥ áî¤
|
JR Z,.loop
|
||||||
INC B
|
INC B
|
||||||
DEC D
|
DEC D
|
||||||
JR .next_full ;!FIXIT ¢®§¬®¦®, çâ® ¥ áî¤
|
CORRECT_SCR_40_BACK
|
||||||
|
JP .loop
|
||||||
;
|
;
|
||||||
.EXIT: POP IX
|
.EXIT: POP IX
|
||||||
JP LP_END_P
|
JP LP_END_P
|
||||||
;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;
|
||||||
; DE - ¬¥á⮠ᨬ¢®« ¢ ®ª¥
|
; DE - ¬¥á⮠ᨬ¢®« ¢ ®ª¥, ¥á«¨ A != 0
|
||||||
; HL - ¤à¥á á ¢ë¢®¤¨¬®© áâப®©
|
; HL - ¤à¥á á ¢ë¢®¤¨¬®© áâப®©
|
||||||
; B - à §¤¥«¨â¥«ì
|
; B - à §¤¥«¨â¥«ì
|
||||||
|
; A - mode
|
||||||
;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;
|
||||||
.START: PUSH IX
|
.START: PUSH IX
|
||||||
|
AND A ; check mode for DE
|
||||||
|
;
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
LD C,A
|
LD C,A
|
||||||
CALL LP_BEG_P
|
CALL LP_BEG_P
|
||||||
; LD A,#50
|
CALL NZ,LP_SET_CUR ; mode for DE
|
||||||
; OUT (SLOT3),A
|
|
||||||
;
|
;
|
||||||
EXX
|
EXX
|
||||||
.loop: LD A,D
|
.loop: LD A,D
|
||||||
@ -1713,8 +1709,9 @@ LP_PR_LINE_DIR:
|
|||||||
LD (HL),A
|
LD (HL),A
|
||||||
INC D
|
INC D
|
||||||
.next_full: CORRECT_SCR_40
|
.next_full: CORRECT_SCR_40
|
||||||
.next: DJNZ_NEXT_HL_ADDR .loop
|
.next: DJNZ .loop
|
||||||
JR .loop
|
CALL LP_NEXT_HL_DIR
|
||||||
|
JP .loop
|
||||||
;-------[TAB] ;!FIXIT § ¯®«ï¥â ¯à®¡¥« ¬¨
|
;-------[TAB] ;!FIXIT § ¯®«ï¥â ¯à®¡¥« ¬¨
|
||||||
.TAB: LD A,SYS_PAGE
|
.TAB: LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -1757,37 +1754,6 @@ LP_PR_LINE_DIR:
|
|||||||
LD A,(WIN_ID_0.V_END)
|
LD A,(WIN_ID_0.V_END)
|
||||||
CP L
|
CP L
|
||||||
CALL C,LP_NEXT_HL_DIR.end_line
|
CALL C,LP_NEXT_HL_DIR.end_line
|
||||||
;!TEST BIOS SCROLL
|
|
||||||
;-------------------------------------------------------------\
|
|
||||||
; 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 - ¢¥àãâìáï ¢¥àå ¡¥§ áªà®«« !!!
|
|
||||||
;
|
|
||||||
;!TODO CALL clear_last_line_1F
|
|
||||||
; .SetPage_Loop: LD A,#50
|
|
||||||
; OUT (SLOT3),A
|
|
||||||
JP .loop
|
JP .loop
|
||||||
;-------[Line Feed end]
|
;-------[Line Feed end]
|
||||||
;
|
;
|
||||||
|
|||||||
@ -340,7 +340,7 @@ SET_PAL_INIT:
|
|||||||
; <20>¨á®¢ ¨¥ «¨¨¨.
|
; <20>¨á®¢ ¨¥ «¨¨¨.
|
||||||
; d… - ¢¥à⨪ «ì, HL - £®à¨§®â «ì
|
; d… - ¢¥à⨪ «ì, HL - £®à¨§®â «ì
|
||||||
; H' - ¢ëá®â , C'/DE',B' - add_parameters
|
; H' - ¢ëá®â , C'/DE',B' - add_parameters
|
||||||
; A - color
|
; A - color ;!FIXIT § ¬¥¨âì áà §ã D?
|
||||||
PIC_FN7:
|
PIC_FN7:
|
||||||
LD D,A
|
LD D,A
|
||||||
IN A,(SLOT1)
|
IN A,(SLOT1)
|
||||||
@ -351,9 +351,9 @@ PIC_FN7:
|
|||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
BIT 0,B
|
BIT 0,B
|
||||||
LD BC,#40+#4000
|
LD BC,#40+#4000 ;!HARDCODE screen
|
||||||
JR Z,.no_2nd
|
JR Z,.no_2nd
|
||||||
LD BC,#40+320+#4000
|
LD BC,#40+320+#4000 ;!HARDCODE screen
|
||||||
.no_2nd:
|
.no_2nd:
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD A,E
|
LD A,E
|
||||||
@ -408,9 +408,9 @@ PIC_FN8:
|
|||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
BIT 0,B
|
BIT 0,B
|
||||||
LD BC,#40+#4000
|
LD BC,#40+#4000 ;!HARDCODE screen
|
||||||
JR Z,.no_2nd
|
JR Z,.no_2nd
|
||||||
LD BC,#40+320+#4000
|
LD BC,#40+320+#4000 ;!HARDCODE screen
|
||||||
.no_2nd:
|
.no_2nd:
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
LD A,E
|
LD A,E
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user