new DSS in recovery
This commit is contained in:
parent
8e8d43a9d5
commit
dd79b546ec
@ -1 +1 @@
|
|||||||
Subproject commit 60b5ff6a74b57614b1f54fbe5611585cd46582ab
|
Subproject commit 9bfe7bd76b9648dae6f492dcd730b9b7ed80f48d
|
||||||
@ -167,4 +167,8 @@
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
ENDLUA
|
ENDLUA
|
||||||
;
|
;
|
||||||
|
/*
|
||||||
|
‹¨¨ï 256 ¡ ©â®¢ ¢ އ“ áâ ®¢¨âáï á⮫¡¨ª®¬ ¢ ¢¨¤¥®¯ ¬ïâ¨.
|
||||||
|
‘«¥¢ ¯à ¢® ¯¥à¥å®¤¨â ᢥàåã ¢¨§. <EFBFBD>¥à¢ ï «¨¨ï - ¯¥à¢ë© á⮫¡¨ª.
|
||||||
|
*/
|
||||||
@ -597,12 +597,12 @@ WIN_SET_ZG: ; LP_SET_ZG:
|
|||||||
AND #0F
|
AND #0F
|
||||||
ADD A,A
|
ADD A,A
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
LD A,B
|
LD A,B ; %xx00'0000
|
||||||
RRCA
|
RRCA ; %0xx0'0000
|
||||||
RRCA
|
RRCA ; %00xx'0000
|
||||||
RRCA
|
RRCA ; %000x'x000
|
||||||
AND #18
|
AND %0001'1000
|
||||||
OR #40
|
OR %0100'0000
|
||||||
LD H,A
|
LD H,A
|
||||||
LD L,0
|
LD L,0
|
||||||
LD BC,#0800 ;!HARDCODE
|
LD BC,#0800 ;!HARDCODE
|
||||||
@ -783,7 +783,7 @@ LP_INI_P:
|
|||||||
|
|
||||||
EXX
|
EXX
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
CALL WIN_SET_ZG.SET ;LP_SET_ZG1
|
CALL WIN_SET_ZG.SET ;LP_SET_ZG1
|
||||||
EXX
|
EXX
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
@ -833,9 +833,6 @@ LP_OPEN_S: LD A,B
|
|||||||
LD L,A
|
LD L,A
|
||||||
JR NC,.no_inc
|
JR NC,.no_inc
|
||||||
INC H
|
INC H
|
||||||
; LD A,H
|
|
||||||
; ADC A,0
|
|
||||||
; LD H,A
|
|
||||||
.no_inc: LD A,(HL)
|
.no_inc: LD A,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
LD H,(HL)
|
LD H,(HL)
|
||||||
@ -895,6 +892,9 @@ PIC_SET_S2:
|
|||||||
;------------------------------------------------------------------[#B0]
|
;------------------------------------------------------------------[#B0]
|
||||||
; HL - ¬¥áâ® íªà ¥ ¯® § ª®¬¥áâ ¬ (<28>… ˆ‘<CB86>Ž‹œ‡“…’‘Ÿ)
|
; HL - ¬¥áâ® íªà ¥ ¯® § ª®¬¥áâ ¬ (<28>… ˆ‘<CB86>Ž‹œ‡“…’‘Ÿ)
|
||||||
; IX - ®¯¨á â¥«ì ®ª
|
; IX - ®¯¨á â¥«ì ®ª
|
||||||
|
WIN_OPEN.SCR1:
|
||||||
|
LD E,1
|
||||||
|
; E - bit0 - ®¬¥à íªà
|
||||||
WIN_OPEN:
|
WIN_OPEN:
|
||||||
LP_OPEN_PG
|
LP_OPEN_PG
|
||||||
LD (SYS_PAGE.WIN_MAP_SC),IX ; ª àâ ®ª
|
LD (SYS_PAGE.WIN_MAP_SC),IX ; ª àâ ®ª
|
||||||
@ -1055,7 +1055,7 @@ LP_MODE_LINE:
|
|||||||
|
|
||||||
LP_MODE_RECURSE:
|
LP_MODE_RECURSE:
|
||||||
LD A,D ; £®à¨§®â «ì®¥ ¯®«®¦¥¨¥
|
LD A,D ; £®à¨§®â «ì®¥ ¯®«®¦¥¨¥
|
||||||
AND 7FH
|
AND #7F
|
||||||
SUB 80
|
SUB 80
|
||||||
JR C,LP_MODE_LL
|
JR C,LP_MODE_LL
|
||||||
SUB 48
|
SUB 48
|
||||||
@ -1067,7 +1067,7 @@ LP_MODE_RECURSE:
|
|||||||
|
|
||||||
LD A,E ; ¢®ááâ ®¢¨âì
|
LD A,E ; ¢®ááâ ®¢¨âì
|
||||||
RRA
|
RRA
|
||||||
AND 3FH
|
AND #3F
|
||||||
SUB C
|
SUB C
|
||||||
JR NC,LP_EXIT_MODE
|
JR NC,LP_EXIT_MODE
|
||||||
NEG
|
NEG
|
||||||
@ -1077,7 +1077,7 @@ LP_MODE_RECURSE:
|
|||||||
LP_MODE_LL:
|
LP_MODE_LL:
|
||||||
NEG
|
NEG
|
||||||
RRA
|
RRA
|
||||||
AND 3FH
|
AND #3F
|
||||||
CP C
|
CP C
|
||||||
JR NC,LP_MODE_LR
|
JR NC,LP_MODE_LR
|
||||||
LD C,A
|
LD C,A
|
||||||
@ -1910,3 +1910,453 @@ LP_CR: LD A,SYS_PAGE
|
|||||||
JR LP_PRINT_LN_D11
|
JR LP_PRINT_LN_D11
|
||||||
;------------------------------------------------------------------[#E0]
|
;------------------------------------------------------------------[#E0]
|
||||||
|
|
||||||
|
|
||||||
|
;!TODO áâ à ï LP_SET_MODE - à ᪮¢ëàïâì áâ àë© LP_SCR_MNU
|
||||||
|
/*
|
||||||
|
MODULE EXPERIMENT
|
||||||
|
|
||||||
|
; byte 1
|
||||||
|
; 0..4 - VIDEO_PAGE
|
||||||
|
; 5 - mode 42/84 ; 0 - 42,1 - 84
|
||||||
|
; 6 - next line
|
||||||
|
; 7 - end table
|
||||||
|
; byte 2 - number of places
|
||||||
|
; byte 3..4 - adress places/
|
||||||
|
; 4000-5FFF - Spectrum modes/ C000-FFFF - Graf mode
|
||||||
|
;
|
||||||
|
MACRO LP_S PG,XX,ADR
|
||||||
|
DB PG,XX
|
||||||
|
DW ADR
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
|
GR_BIT_END EQU 7
|
||||||
|
|
||||||
|
S_BIT_END EQU 7
|
||||||
|
S_BIT_LIN EQU 6
|
||||||
|
S_BIT_MOD EQU 5
|
||||||
|
|
||||||
|
BIT_1440 EQU 1
|
||||||
|
BIT_MASK_1440 EQU %00000010
|
||||||
|
|
||||||
|
MODE_PAGE EQU #FC
|
||||||
|
;---------------------------------------
|
||||||
|
;DS (($/4)*4+4-$)
|
||||||
|
ALIGN 4
|
||||||
|
|
||||||
|
|
||||||
|
LP_SCR_MNU:
|
||||||
|
LP_S #40,14,#40E7
|
||||||
|
LP_S #40,14,#4807
|
||||||
|
LP_S #40,14,#4827
|
||||||
|
LP_S #40,14,#4847
|
||||||
|
LP_S #40,14,#4867
|
||||||
|
LP_S #40,14,#4887
|
||||||
|
LP_S #40,14,#48A7
|
||||||
|
LP_S #40,14,#48C7
|
||||||
|
LP_S #40,14,#48E7
|
||||||
|
DB #FF,0,0,0
|
||||||
|
|
||||||
|
; LP_SCR_80:
|
||||||
|
; 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 %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 %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 %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 %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 %01100100,40,#5000
|
||||||
|
; LP_S %01100100,40,#5028
|
||||||
|
;
|
||||||
|
; DEFB #FF,0,0,0
|
||||||
|
;
|
||||||
|
; LP_SCR_40:
|
||||||
|
; DB 40,32,0,0,7BH,0,0,0
|
||||||
|
; DB 0,0,0,0,0,0,0,0
|
||||||
|
;
|
||||||
|
; LP_S 01000100B,40,5050H
|
||||||
|
; LP_S 01000100B,40,5078H
|
||||||
|
; LP_S 01000100B,40,50A0H
|
||||||
|
; LP_S 01000100B,40,50C8H
|
||||||
|
;
|
||||||
|
; LP_S 01000110B,40,4000H
|
||||||
|
; LP_S 01000110B,40,4028H
|
||||||
|
; LP_S 01000110B,40,4050H
|
||||||
|
; LP_S 01000110B,40,4078H
|
||||||
|
; LP_S 01000110B,40,40A0H
|
||||||
|
; LP_S 01000110B,40,40C8H
|
||||||
|
;
|
||||||
|
; LP_S 01000110B,40,4800H
|
||||||
|
; LP_S 01000110B,40,4828H
|
||||||
|
; LP_S 01000110B,40,4850H
|
||||||
|
; LP_S 01000110B,40,4878H
|
||||||
|
; LP_S 01000110B,40,48A0H
|
||||||
|
; LP_S 01000110B,40,48C8H
|
||||||
|
;
|
||||||
|
; LP_S 01000110B,40,5000H
|
||||||
|
; LP_S 01000110B,40,5028H
|
||||||
|
; LP_S 01000110B,40,5050H
|
||||||
|
; LP_S 01000110B,40,5078H
|
||||||
|
; LP_S 01000110B,40,50A0H
|
||||||
|
; LP_S 01000110B,40,50C8H
|
||||||
|
;
|
||||||
|
; LP_S 01001000B,40,4000H
|
||||||
|
; LP_S 01001000B,40,4028H
|
||||||
|
; LP_S 01001000B,40,4050H
|
||||||
|
; LP_S 01001000B,40,4078H
|
||||||
|
; LP_S 01001000B,40,40A0H
|
||||||
|
; LP_S 01001000B,40,40C8H
|
||||||
|
;
|
||||||
|
; LP_S 01001000B,40,4800H
|
||||||
|
; LP_S 01001000B,40,4828H
|
||||||
|
; LP_S 01001000B,40,4850H
|
||||||
|
; LP_S 01001000B,40,4878H
|
||||||
|
;
|
||||||
|
; DEFB 0FFh,0,0,0
|
||||||
|
;
|
||||||
|
; LP_SCR_32:
|
||||||
|
; DB 32,24,4,4,30H,1,0,0
|
||||||
|
; DB 0,0,0,0,0,0,0,0
|
||||||
|
;
|
||||||
|
; LP_S 040h,32,04000H
|
||||||
|
; LP_S 040h,32,04020H
|
||||||
|
; LP_S 040h,32,04040H
|
||||||
|
; LP_S 040h,32,04060H
|
||||||
|
; LP_S 040h,32,04080H
|
||||||
|
; LP_S 040h,32,040A0H
|
||||||
|
; LP_S 040h,32,040C0H
|
||||||
|
; LP_S 040h,32,040E0H
|
||||||
|
;
|
||||||
|
; LP_S 040h,32,04800H
|
||||||
|
; LP_S 040h,32,04820H
|
||||||
|
; LP_S 040h,32,04840H
|
||||||
|
; LP_S 040h,32,04860H
|
||||||
|
; LP_S 040h,32,04880H
|
||||||
|
; LP_S 040h,32,048A0H
|
||||||
|
; LP_S 040h,32,048C0H
|
||||||
|
; LP_S 040h,32,048E0H
|
||||||
|
;
|
||||||
|
; LP_S 040h,32,05000H
|
||||||
|
; LP_S 040h,32,05020H
|
||||||
|
; LP_S 040h,32,05040H
|
||||||
|
; LP_S 040h,32,05060H
|
||||||
|
; LP_S 040h,32,05080H
|
||||||
|
; LP_S 040h,32,050A0H
|
||||||
|
; LP_S 040h,32,050C0H
|
||||||
|
; LP_S 040h,32,050E0H
|
||||||
|
;
|
||||||
|
; LP_S 0FFh,0,0
|
||||||
|
;
|
||||||
|
; LP_SCR_64:
|
||||||
|
; DB 32,24,4,4,9BH,0,0,0
|
||||||
|
; DB 0,0,0,0,0,0,0,0
|
||||||
|
;
|
||||||
|
; LP_S 06Ah,32,04000H
|
||||||
|
; LP_S 06Ah,32,04020H
|
||||||
|
; LP_S 06Ah,32,04040H
|
||||||
|
; LP_S 06Ah,32,04060H
|
||||||
|
; LP_S 06Ah,32,04080H
|
||||||
|
; LP_S 06Ah,32,040A0H
|
||||||
|
; LP_S 06Ah,32,040C0H
|
||||||
|
; LP_S 06Ah,32,040E0H
|
||||||
|
;
|
||||||
|
; LP_S 06Ah,32,04800H
|
||||||
|
; LP_S 06Ah,32,04820H
|
||||||
|
; LP_S 06Ah,32,04840H
|
||||||
|
; LP_S 06Ah,32,04860H
|
||||||
|
; LP_S 06Ah,32,04880H
|
||||||
|
; LP_S 06Ah,32,048A0H
|
||||||
|
; LP_S 06Ah,32,048C0H
|
||||||
|
; LP_S 06Ah,32,048E0H
|
||||||
|
;
|
||||||
|
; LP_S 06Ah,32,05000H
|
||||||
|
; LP_S 06Ah,32,05020H
|
||||||
|
; LP_S 06Ah,32,05040H
|
||||||
|
; LP_S 06Ah,32,05060H
|
||||||
|
; LP_S 06Ah,32,05080H
|
||||||
|
; LP_S 06Ah,32,050A0H
|
||||||
|
; LP_S 06Ah,32,050C0H
|
||||||
|
; LP_S 06Ah,32,050E0H
|
||||||
|
;
|
||||||
|
; LP_S 0FFh,0,0
|
||||||
|
|
||||||
|
|
||||||
|
LP_SET_MNU:
|
||||||
|
LD IX,LP_SCR_MNU
|
||||||
|
JR LP_SET_MODE
|
||||||
|
|
||||||
|
|
||||||
|
; HL - ᬥ饨¥ ®â ç « íªà
|
||||||
|
; = hor_sh + vert_sh * 64 + 4000H
|
||||||
|
; IX - íªà ï â ¡«¨æ
|
||||||
|
LP_SET_MODE: LP_OPEN_PG
|
||||||
|
LD (SYS_PAGE.WIN_MAP_SC),IX
|
||||||
|
LD (SYS_PAGE.WIN_MODE_SH),HL
|
||||||
|
LD (SYS_PAGE.WIN_MODE_SC),DE
|
||||||
|
LD HL,(SYS_PAGE.WIN_MAP_SC)
|
||||||
|
LD DE,SYS_PAGE.WIN_MAP_IX
|
||||||
|
.LP_SET_COPY: LD BC,4
|
||||||
|
LDIR
|
||||||
|
BIT S_BIT_END,(HL)
|
||||||
|
JR Z,.LP_SET_COPY
|
||||||
|
LD BC,4
|
||||||
|
LDIR
|
||||||
|
LD HL,SYS_PAGE.WIN_MAP_IX
|
||||||
|
LD (SYS_PAGE.WIN_MAP_SC),HL
|
||||||
|
.LP_SET_MODE_INT:
|
||||||
|
LD IX,(SYS_PAGE.WIN_MAP_SC)
|
||||||
|
LD HL,(SYS_PAGE.WIN_MODE_SH)
|
||||||
|
CALL LP_SET_MODE1
|
||||||
|
LD DE,(SYS_PAGE.WIN_MODE_SC)
|
||||||
|
LP_CLOSE_PG
|
||||||
|
PUSH DE
|
||||||
|
CALL LP_INI_P
|
||||||
|
POP DE
|
||||||
|
LD A,E
|
||||||
|
OUT (RGMOD),A
|
||||||
|
CALL LP_SIZE
|
||||||
|
RET
|
||||||
|
|
||||||
|
LP_SET_MODE1: AND A
|
||||||
|
BIT S_BIT_END,(IX) ; ¯à®¢¥àª ª®æ ¤ ëå
|
||||||
|
RET NZ
|
||||||
|
|
||||||
|
PUSH HL
|
||||||
|
|
||||||
|
IN A,(RGADR)
|
||||||
|
PUSH AF
|
||||||
|
|
||||||
|
LD A,H
|
||||||
|
CP #48
|
||||||
|
CCF
|
||||||
|
LD A,#16
|
||||||
|
ADC A,0
|
||||||
|
OUT (RGADR),A
|
||||||
|
|
||||||
|
.LP_SET_LOOP: CALL LP_MODE_LINE
|
||||||
|
|
||||||
|
INC IX
|
||||||
|
INC IX
|
||||||
|
INC IX
|
||||||
|
INC IX
|
||||||
|
BIT S_BIT_LIN,(IX)
|
||||||
|
JR Z,.LP_SET_LOOP
|
||||||
|
|
||||||
|
POP AF
|
||||||
|
OUT (RGADR),A
|
||||||
|
|
||||||
|
POP HL
|
||||||
|
|
||||||
|
LD BC,#40
|
||||||
|
ADD HL,BC
|
||||||
|
JR LP_SET_MODE1
|
||||||
|
|
||||||
|
;********************************************************
|
||||||
|
; ‚ëç¨á«¥¨¥ § 票ï MODE ¨§ íªà ®© â ¡«¨æë.
|
||||||
|
; IX - ⥪ã饥 ¯®«®¦¥¨¥ ¢ â ¡«¨æ¥.
|
||||||
|
LP_MODE_LINE: BIT 3,H
|
||||||
|
RET NZ
|
||||||
|
|
||||||
|
IN A,(SLOT1)
|
||||||
|
LD (SYS_PAGE.SYS_WORK1),A
|
||||||
|
|
||||||
|
IN A,(RGADR)
|
||||||
|
AND 1
|
||||||
|
OR MODE_PAGE
|
||||||
|
OUT (SLOT1),A
|
||||||
|
|
||||||
|
LD A,(IX)
|
||||||
|
LD B,A
|
||||||
|
RRCA
|
||||||
|
AND #0F
|
||||||
|
LD C,A
|
||||||
|
LD A,B
|
||||||
|
AND #20
|
||||||
|
XOR #30
|
||||||
|
OR C
|
||||||
|
LD C,A
|
||||||
|
LD A,(IX+3)
|
||||||
|
RLC A
|
||||||
|
RLC A
|
||||||
|
RLC A
|
||||||
|
AND #C0
|
||||||
|
OR C
|
||||||
|
LD D,A ; <20>¥à¢ë© ¡ ©â MODE
|
||||||
|
LD E,(IX+2) ; ‚â®à®© ¡ ©â..
|
||||||
|
|
||||||
|
LD B,(IX+1) ; ç¨á«® § ª®¬¥áâ
|
||||||
|
|
||||||
|
LD A,L
|
||||||
|
AND #3F
|
||||||
|
SUB 40
|
||||||
|
JR NC,.LP_NO_SET_MD
|
||||||
|
NEG
|
||||||
|
CP B
|
||||||
|
JR NC,.LP_MD_NO_B
|
||||||
|
LD B,A
|
||||||
|
.LP_MD_NO_B:
|
||||||
|
|
||||||
|
.LP_MD_LOOP: SET 4,H
|
||||||
|
LD (HL),E
|
||||||
|
RES 4,H
|
||||||
|
LD (HL),D
|
||||||
|
|
||||||
|
INC E
|
||||||
|
INC L
|
||||||
|
DJNZ .LP_MD_LOOP
|
||||||
|
|
||||||
|
.LP_MD_END: LD A,(SYS_PAGE.SYS_WORK1)
|
||||||
|
OUT (SLOT1),A
|
||||||
|
RET
|
||||||
|
|
||||||
|
.LP_NO_SET_MD: LD A,C
|
||||||
|
|
||||||
|
.LP_MD_LOOP2: INC E
|
||||||
|
INC L
|
||||||
|
BIT 5,H
|
||||||
|
JR Z,.LP_MD_LOOP
|
||||||
|
DJNZ .LP_MD_LOOP2
|
||||||
|
JR .LP_MD_END
|
||||||
|
|
||||||
|
|
||||||
|
; ¢ëç¨á«¥¨¥ ®¢®£® ¬¥áâ
|
||||||
|
LP_TAB_HL: LD HL,(SYS_PAGE.WIN_TAB_SC) ; § £à㧨âì ⥪ã饥 ¯®«®¦¥¨¥ ¢ â ¡«¨æ¥ SCR
|
||||||
|
LD A,(HL) ; § £à㧨âì ä« £¨ â ¡«¨æë
|
||||||
|
BIT S_BIT_END,A ; ä« £ ª®æ
|
||||||
|
JR Z,LP_TAB_H1 ; ¥á«¨ 0 - ¥ ª®¥æ
|
||||||
|
LP_TAB_H2: LD HL,(SYS_PAGE.WIN_MAP_SC) ; § £à㧨âì ç «ì®¥ ¯®«®¦¥¨¥ ¢ â ¡«¨æ¥ SCR
|
||||||
|
LP_TAB_H3: LD A,(HL) ; ¨ ®¢ë¥ ä« £¨
|
||||||
|
LP_TAB_H1: CALL .LP_PG1 ; ¯¥à¥ª«îç¨âì áâà ¨æã
|
||||||
|
INC HL ; (HL) - ®¢®¥ ç¨á«® ᨬ¢®«®¢
|
||||||
|
BIT S_BIT_MOD,A ; ¡¨â 42/84
|
||||||
|
LD A,(HL) ; § £à㧨âì ç¨á«® ᨬ¢®«®¢
|
||||||
|
JR Z,.LP_NO_MUL ; ¥á«¨ 84, â® ¥ 㦮 㬮¦¥¨¥ 2
|
||||||
|
ADD A,A ; A=A*2
|
||||||
|
.LP_NO_MUL: LD B,A ; ç¨á«® ᨬ¢®«®¢ ¢ B
|
||||||
|
INC HL ; § £à㧪 ®¢®£® HL
|
||||||
|
LD A,(HL)
|
||||||
|
INC HL
|
||||||
|
INC HL
|
||||||
|
LD (SYS_PAGE.WIN_TAB_SC),HL ; á á®åà ¥¨¥¬ á«¥¤ãî饣® ¯®«®¦¥¨ï ¢ â ¡«¨æ¥ SCR
|
||||||
|
DEC HL
|
||||||
|
LD H,(HL) ; ¯®«®¦¥¨¥ íªà ¥
|
||||||
|
LD L,A
|
||||||
|
|
||||||
|
LD A,H
|
||||||
|
RRCA ; ¢ëç¨á«¨âì ¯®«®¦¥¨¥
|
||||||
|
RRCA ; ââਡãâ
|
||||||
|
RRCA
|
||||||
|
AND 3
|
||||||
|
OR H
|
||||||
|
OR #18
|
||||||
|
LD C,A
|
||||||
|
RET
|
||||||
|
|
||||||
|
.LP_PG1: AND #1F ; ¯¥à¥ª«îç âì ⮫쪮 áâà ¨æë އ“ Spectrum mode
|
||||||
|
OUT (RGADR),A
|
||||||
|
LD E,(HL) ; § 票¥ ¡¨â®¢ ¨ ä« £®¢
|
||||||
|
|
||||||
|
BIT S_BIT_MOD,E ; ¡¨â 42/84
|
||||||
|
JR Z,.LP_N_84 ; ¥á«¨ 42 â® ¥ ãáâ ¢«¨¢ âì CF
|
||||||
|
SCF ; 84 mode
|
||||||
|
.LP_N_84: EX AF,AF' ; á¯àïâ âì ä« £¨ ¨ § 票¥ ¤«ï ¢ë¢®¤ ¢ ¯®àâ
|
||||||
|
LD A,E ; ¢ A ¤®«¦¥ ¡ëâì ¡ ©â á ä« £ ¬¨
|
||||||
|
RET
|
||||||
|
|
||||||
|
; program init registers
|
||||||
|
; for low printer & save
|
||||||
|
LP_INI_P: EXX
|
||||||
|
LP_OPEN_PG
|
||||||
|
LD DE,(SYS_PAGE.WIN_ZG)
|
||||||
|
LD B,0
|
||||||
|
CALL LP_TAB_H2
|
||||||
|
EXX
|
||||||
|
; program save registers
|
||||||
|
; for low printer
|
||||||
|
LP_END_P: EX AF,AF'
|
||||||
|
EXX
|
||||||
|
RLA
|
||||||
|
LD E,A
|
||||||
|
LD (SYS_PAGE.WIN_SAV_HL),HL
|
||||||
|
LD (SYS_PAGE.WIN_SAV_DE),DE
|
||||||
|
LD (SYS_PAGE.WIN_SAV_BC),BC
|
||||||
|
LP_CLOSE_PG
|
||||||
|
EXX
|
||||||
|
EX AF,AF'
|
||||||
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
; ®¯à¥¤¥«¥¨¥ size
|
||||||
|
LP_SIZE: LP_OPEN_PG
|
||||||
|
EXX
|
||||||
|
XOR A
|
||||||
|
LD HL,(SYS_PAGE.WIN_MAP_SC) ; ç «® ª àâë scr
|
||||||
|
CALL .LP_LN2 ; ᪠¨à®¢ âì ¤®
|
||||||
|
EXX ; ª®æ
|
||||||
|
NEG ; ¯®«ãç¨âì ç¨á«®
|
||||||
|
LD D,A ; áâப ¢ D
|
||||||
|
LD E,0
|
||||||
|
EXX
|
||||||
|
;LD A,3 ; ç¨á«® ᨬ¢®«®¢
|
||||||
|
LD HL,(SYS_PAGE.WIN_MAP_SC) ; ¯® 3-©¥ áâப¥
|
||||||
|
;CALL LP_LN2 ; áâனª
|
||||||
|
.LOOP: CALL LP_TAB_H3 ; ¤ ë¥
|
||||||
|
LD A,B
|
||||||
|
EXX
|
||||||
|
ADD A,E
|
||||||
|
LD E,A
|
||||||
|
EXX
|
||||||
|
LD HL,(SYS_PAGE.WIN_TAB_SC) ; ¤ ë¥ íªà
|
||||||
|
BIT S_BIT_LIN,(HL)
|
||||||
|
JR Z,.LOOP
|
||||||
|
;BIT S_BIT_MOD,(HL)
|
||||||
|
EXX
|
||||||
|
;XOR A
|
||||||
|
;OUT (RGADR),A
|
||||||
|
LP_CLOSE_PG
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.LP_LN0: DEC A
|
||||||
|
RET Z
|
||||||
|
.LP_LN1: INC HL
|
||||||
|
INC HL
|
||||||
|
INC HL
|
||||||
|
INC HL
|
||||||
|
.LP_LN2: BIT S_BIT_LIN,(HL)
|
||||||
|
JR Z,.LP_LN1
|
||||||
|
BIT S_BIT_END,(HL)
|
||||||
|
JR Z,.LP_LN0
|
||||||
|
RET
|
||||||
|
|
||||||
|
ENDMODULE
|
||||||
|
*/
|
||||||
|
|||||||
@ -496,9 +496,7 @@ INSTALL:
|
|||||||
XOR A
|
XOR A
|
||||||
OUT (BorderColor),A
|
OUT (BorderColor),A
|
||||||
LD IX,win_descriptor.tab80x32
|
LD IX,win_descriptor.tab80x32
|
||||||
;LD HL,#0000
|
CALL WIN_OPEN.SCR1
|
||||||
LD E,1
|
|
||||||
CALL WIN_OPEN
|
|
||||||
|
|
||||||
LD DE,0
|
LD DE,0
|
||||||
LD HL,#2050
|
LD HL,#2050
|
||||||
|
|||||||
@ -858,9 +858,7 @@ setInt: ld a,CMOS_CELL.ScreenSET
|
|||||||
.set: CALL FN_SYNC
|
.set: CALL FN_SYNC
|
||||||
|
|
||||||
LD IX,win_descriptor.tab80x32
|
LD IX,win_descriptor.tab80x32
|
||||||
;LD HL,#0000
|
CALL WIN_OPEN.SCR1
|
||||||
LD E,1
|
|
||||||
CALL WIN_OPEN
|
|
||||||
|
|
||||||
ld a,(ITEM)
|
ld a,(ITEM)
|
||||||
ld (ITEM_Restore),a
|
ld (ITEM_Restore),a
|
||||||
|
|||||||
@ -316,12 +316,12 @@ LOGOTYPE: CALL SHOW_LOGO
|
|||||||
; ;
|
; ;
|
||||||
.ERASE_LOGO: LD IX,win_descriptor.tab80x32
|
.ERASE_LOGO: LD IX,win_descriptor.tab80x32
|
||||||
;LD HL,#0000
|
;LD HL,#0000
|
||||||
LD E,1
|
;LD E,1
|
||||||
;
|
;
|
||||||
EI
|
EI
|
||||||
HALT
|
HALT
|
||||||
DI
|
DI
|
||||||
CALL WIN_OPEN
|
CALL WIN_OPEN.SCR1
|
||||||
;
|
;
|
||||||
LD DE,0
|
LD DE,0
|
||||||
LD HL,#0920 ;!HARDCODE LOGOTYPE SIZE
|
LD HL,#0920 ;!HARDCODE LOGOTYPE SIZE
|
||||||
@ -338,9 +338,7 @@ LOGOTYPE: CALL SHOW_LOGO
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
SHOW_LOGO: LD IX,win_descriptor.tab320x256
|
SHOW_LOGO: LD IX,win_descriptor.tab320x256
|
||||||
;LD HL,#0000
|
CALL WIN_OPEN.SCR1
|
||||||
LD E,1
|
|
||||||
CALL WIN_OPEN
|
|
||||||
|
|
||||||
SAFE_PORTY
|
SAFE_PORTY
|
||||||
|
|
||||||
@ -449,9 +447,7 @@ go_setup: ; !FIXIT
|
|||||||
jr nz,go_setup
|
jr nz,go_setup
|
||||||
|
|
||||||
LD IX,win_descriptor.tab80x32
|
LD IX,win_descriptor.tab80x32
|
||||||
;LD HL,#0000
|
CALL WIN_OPEN.SCR1
|
||||||
LD E,1
|
|
||||||
CALL WIN_OPEN
|
|
||||||
JP ENTER_SETUP
|
JP ENTER_SETUP
|
||||||
|
|
||||||
.to_EXIT_SETUP:
|
.to_EXIT_SETUP:
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user