mirror of
https://github.com/Tolik-Trek/DOOM2.git
synced 2026-06-15 09:01:34 +03:00
correct work in DSS
This commit is contained in:
parent
b27ca37cc9
commit
4259263dee
87
D2_FRAM.asm
87
D2_FRAM.asm
@ -15,9 +15,7 @@ SND_READ_SECTORS EQU 4
|
|||||||
|
|
||||||
Module__D2_FRAM__Start EQU $
|
Module__D2_FRAM__Start EQU $
|
||||||
;
|
;
|
||||||
TRACE:
|
TRACE: IN A,(SLOT1)
|
||||||
|
|
||||||
IN A,(SLOT1)
|
|
||||||
LD (TRACE_RET_SLOT1),A
|
LD (TRACE_RET_SLOT1),A
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
LD (TRACE_RET_SLOT3),A
|
LD (TRACE_RET_SLOT3),A
|
||||||
@ -47,19 +45,19 @@ TRACE:
|
|||||||
NO_SKY_2:
|
NO_SKY_2:
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
LD A,0 ;????????? ¥ 㦮?
|
;LD A,0 ;????????? ¥ 㦮?
|
||||||
LD C,80
|
LD C,80
|
||||||
SKY_LOOP_1:
|
SKY_LOOP_1:
|
||||||
|
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD B,0
|
LD A,0
|
||||||
ACC_CopyBlock
|
ACC_CopyBlock
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD B,#80
|
LD B,#80
|
||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
XOR A
|
;XOR A
|
||||||
|
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
ACC_CopyScreenBlock
|
ACC_CopyScreenBlock
|
||||||
@ -118,7 +116,7 @@ NO_NEXT_SKY:
|
|||||||
|
|
||||||
EXX
|
EXX
|
||||||
SCREEN_1+1:
|
SCREEN_1+1:
|
||||||
LD DE,#C040 ; ç «® íªà
|
LD DE,ScreenStartAddress ; ç «® íªà
|
||||||
LD C,0 ;!!!!!!!!!!!!!!!!!!!!!!!!!!
|
LD C,0 ;!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
EXX
|
EXX
|
||||||
;
|
;
|
||||||
@ -154,7 +152,6 @@ PLACE_L+1:
|
|||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD (CONT_PAGE),A
|
LD (CONT_PAGE),A
|
||||||
; JR TRACE_LOOP
|
; JR TRACE_LOOP
|
||||||
|
|
||||||
TRACE_LOOP:
|
TRACE_LOOP:
|
||||||
LD A,#50
|
LD A,#50
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -170,20 +167,19 @@ TRACE_LOOP:
|
|||||||
ENDR
|
ENDR
|
||||||
|
|
||||||
PURE_LINE:
|
PURE_LINE:
|
||||||
;
|
|
||||||
EXX
|
EXX
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD A,#80 ; ¯ãáâ ï á⥪
|
LD A,#80 ; ¯ãáâ ï á⥪
|
||||||
ACC_Off
|
ACC_Off
|
||||||
; LD (DE),A ; LINE-Z-bufer
|
;LD (DE),A ; LINE-Z-Buffer
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
;
|
||||||
LD A,(COLOR_LO)
|
LD A,(COLOR_LO)
|
||||||
|
;
|
||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
ACC_Off
|
ACC_Off
|
||||||
LD A,#70 ; Z-bufer
|
LD A,#70 ; Z-Buffer
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
EXX
|
EXX
|
||||||
;
|
;
|
||||||
@ -252,7 +248,7 @@ PLACE_L2+1: LD A,5
|
|||||||
OUT (PORT_Y),A ; á á ¬®£® ç «
|
OUT (PORT_Y),A ; á á ¬®£® ç «
|
||||||
|
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD (DE),A ; 256 ¡ ©â ˆ LINE-Z-bufer!!!!
|
LD (DE),A ; 256 ¡ ©â ˆ LINE-Z-Buffer!!!!
|
||||||
ACC_Off
|
ACC_Off
|
||||||
LD A,#58
|
LD A,#58
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -260,7 +256,7 @@ PLACE_L2+1: LD A,5
|
|||||||
LD (DE),A ; ”ˆƒ€Š‘ ¢áî «¨¨î!!!
|
LD (DE),A ; ”ˆƒ€Š‘ ¢áî «¨¨î!!!
|
||||||
ACC_Off
|
ACC_Off
|
||||||
XOR A
|
XOR A
|
||||||
LD (DE),A ; LINE-Z-bufer!!!!
|
LD (DE),A ; LINE-Z-Buffer!!!!
|
||||||
EXX
|
EXX
|
||||||
;
|
;
|
||||||
JR NEXT_ANGLE
|
JR NEXT_ANGLE
|
||||||
@ -268,7 +264,7 @@ PLACE_L2+1: LD A,5
|
|||||||
HIGH_1:
|
HIGH_1:
|
||||||
; A - ¢ëá®â , á ª®â®à®© à¨áã¥âáï á⥪
|
; A - ¢ëá®â , á ª®â®à®© à¨áã¥âáï á⥪
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD (DE),A ; ç¨á«® â®ç¥ª ¯®â®«ª ¨ ¯®« ! & LINE-Z-bufer
|
LD (DE),A ; ç¨á«® â®ç¥ª ¯®â®«ª ¨ ¯®« ! & LINE-Z-Buffer
|
||||||
ACC_Off
|
ACC_Off
|
||||||
NEG ; ¯®«ãç¨âì ¯®«®¦¥¨¥ ç « ¯®«
|
NEG ; ¯®«ãç¨âì ¯®«®¦¥¨¥ ç « ¯®«
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
@ -873,7 +869,7 @@ WALL: IN A,(SLOT3)
|
|||||||
LD (WALL_SLOT1_RET),A
|
LD (WALL_SLOT1_RET),A
|
||||||
IN A,(PORT_Y)
|
IN A,(PORT_Y)
|
||||||
LD (WALL_PORT_Y_RET),A
|
LD (WALL_PORT_Y_RET),A
|
||||||
LD A,#58
|
LD A,#5C
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD A,(IX+0) ; áâà ¨æ á⥪¨
|
LD A,(IX+0) ; áâà ¨æ á⥪¨
|
||||||
@ -881,7 +877,7 @@ WALL: IN A,(SLOT3)
|
|||||||
|
|
||||||
EXX
|
EXX
|
||||||
LD C,0 ; ¯®àâ ¬ áèâ ¡
|
LD C,0 ; ¯®àâ ¬ áèâ ¡
|
||||||
|
;
|
||||||
LD H,TABLE_X/256 ; â ¡«¨æ ¢ëá®â ¨ ª®í䍿¨¥â®¢ ¬ áèâ ¡¨à®¢ ¨ï
|
LD H,TABLE_X/256 ; â ¡«¨æ ¢ëá®â ¨ ª®í䍿¨¥â®¢ ¬ áèâ ¡¨à®¢ ¨ï
|
||||||
LD L,(IX+3) ; ¯®«®¦¥¨¥ ¯® Y / ®¯à¥¤¥«ï¥â ¢ëá®âã
|
LD L,(IX+3) ; ¯®«®¦¥¨¥ ¯® Y / ®¯à¥¤¥«ï¥â ¢ëá®âã
|
||||||
LD A,(HL) ; ¬ áèâ ¡ - LOW
|
LD A,(HL) ; ¬ áèâ ¡ - LOW
|
||||||
@ -891,17 +887,16 @@ WALL: IN A,(SLOT3)
|
|||||||
LD A,(HL) ; ¬ áèâ ¡ - HIGH
|
LD A,(HL) ; ¬ áèâ ¡ - HIGH
|
||||||
LD (X_ADD2),A
|
LD (X_ADD2),A
|
||||||
DEC H
|
DEC H
|
||||||
|
;
|
||||||
LD A,L
|
LD A,L
|
||||||
ADD A,A
|
ADD A,A
|
||||||
NEG ; è¨à¨ ¯® £®à¨§®â «¨
|
NEG ; è¨à¨ ¯® £®à¨§®â «¨
|
||||||
|
;
|
||||||
BIT 0,(IX+M_VAR3)
|
BIT 0,(IX+M_VAR3)
|
||||||
JR Z,NO_DEL2
|
JR Z,NO_DEL2
|
||||||
RRA
|
RRA
|
||||||
AND #7F
|
AND #7F
|
||||||
NO_DEL2:
|
NO_DEL2: BIT 1,(IX+M_VAR3)
|
||||||
BIT 1,(IX+M_VAR3)
|
|
||||||
JR Z,NO_DEL4
|
JR Z,NO_DEL4
|
||||||
AND A
|
AND A
|
||||||
RRA
|
RRA
|
||||||
@ -930,7 +925,7 @@ NO_DEL4:
|
|||||||
; ; ¢ A ᪮«ìª® «¨¨© ¤® ç « íªà
|
; ; ¢ A ᪮«ìª® «¨¨© ¤® ç « íªà
|
||||||
;WALL_NO_SCF:
|
;WALL_NO_SCF:
|
||||||
;
|
;
|
||||||
; LD HL,140h
|
; LD HL,#0140
|
||||||
; AND A
|
; AND A
|
||||||
; SBC HL,DE
|
; SBC HL,DE
|
||||||
; LD A,L ; ¢ A - ᪮«ìª® «¨¨© ®áâ «®áì ¤® ª®æ íªà ??
|
; LD A,L ; ¢ A - ᪮«ìª® «¨¨© ®áâ «®áì ¤® ª®æ íªà ??
|
||||||
@ -947,6 +942,7 @@ NO_DEL4:
|
|||||||
; LD E,A
|
; LD E,A
|
||||||
LD D,0
|
LD D,0
|
||||||
SBC HL,DE
|
SBC HL,DE
|
||||||
|
;!FIXIT ¯®á«¥ ¢ëç¨â ¨ï ¢ HL ¤à¥á ¯® ª®â®à®¬ã ¡ã¤¥â § ¯¨áì ¡«®ª , ¬®¦¥â § «¥§ âì èà¨äâë
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
|
|
||||||
LD H,(IX+2) ; áâ à訩 ¤à¥á á⥪¨
|
LD H,(IX+2) ; áâ à訩 ¤à¥á á⥪¨
|
||||||
@ -960,12 +956,13 @@ WOLL_LOOP:
|
|||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
LD A,D
|
LD A,D
|
||||||
|
;!FIXIT âã⠯஢¥àª áâ à訩 ¤à¥á, ® èà¨äâ ¬ íâ® ¥ ¯®¬®¦¥â
|
||||||
CP #C3
|
CP #C3
|
||||||
JR NC,NO_WRITE_ALL ; ¥ ¢ë¢®¤¨âì § íªà ¨ § ª®ç¨âì
|
JR NC,NO_WRITE_ALL ; ¥ ¢ë¢®¤¨âì § íªà ¨ § ª®ç¨âì
|
||||||
CP #C0
|
CP #C0
|
||||||
JR C,NO_WRITE_LINE ; ¥ ¢ë¢®¤¨âì § íªà
|
JR C,NO_WRITE_LINE ; ¥ ¢ë¢®¤¨âì § íªà
|
||||||
|
;!FIXIT âãâ ¬®¦¥â ç¨â âìáï ¨§ ®¡« á⨠èà¨ä⮢
|
||||||
LD A,(DE) ; Z-bufer!!!
|
LD A,(DE) ; ç⥨¥ ¨§ Z-Buffer
|
||||||
EXX
|
EXX
|
||||||
CP L
|
CP L
|
||||||
EXX
|
EXX
|
||||||
@ -1009,7 +1006,7 @@ NO_Z_A1:
|
|||||||
XOR A
|
XOR A
|
||||||
NO_Z_A:
|
NO_Z_A:
|
||||||
OUT (PORT_Y),A ; § ¤ âì ¯®àâ Y
|
OUT (PORT_Y),A ; § ¤ âì ¯®àâ Y
|
||||||
|
;!FIXIT âãâ ¬®¦¥â ¯¨á âìáï ¢ ®¡« áâì èà¨ä⮢
|
||||||
ACC_CopyScreenBlock
|
ACC_CopyScreenBlock
|
||||||
LD (DE),A ; ¢ë¢¥á⨠«¨¨î
|
LD (DE),A ; ¢ë¢¥á⨠«¨¨î
|
||||||
ACC_Off
|
ACC_Off
|
||||||
@ -1174,7 +1171,7 @@ MAP_L8:
|
|||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
LD A,L
|
LD A,L
|
||||||
SUB 40H
|
SUB #40
|
||||||
LD L,A
|
LD L,A
|
||||||
LD A,H
|
LD A,H
|
||||||
SBC A,0
|
SBC A,0
|
||||||
@ -1687,7 +1684,6 @@ TAB_ANGLE:
|
|||||||
DB -1 , 1
|
DB -1 , 1
|
||||||
DB -1 , 1
|
DB -1 , 1
|
||||||
DB 0 , 1 ; 0
|
DB 0 , 1 ; 0
|
||||||
|
|
||||||
TAB_ANGLE2:
|
TAB_ANGLE2:
|
||||||
DB 0 , 2 ; 0
|
DB 0 , 2 ; 0
|
||||||
DB 1 , 2 ; 22
|
DB 1 , 2 ; 22
|
||||||
@ -1705,12 +1701,9 @@ TAB_ANGLE2:
|
|||||||
DB -2 , 1
|
DB -2 , 1
|
||||||
DB -2 , 2
|
DB -2 , 2
|
||||||
DB -1 , 2 ; 0
|
DB -1 , 2 ; 0
|
||||||
|
|
||||||
TAB_ANGLE3:
|
TAB_ANGLE3:
|
||||||
|
|
||||||
DB 4 , 2 ; 67
|
DB 4 , 2 ; 67
|
||||||
DB 4 , 1 ; 67
|
DB 4 , 1 ; 67
|
||||||
|
|
||||||
DB 4 , 0 ; 90
|
DB 4 , 0 ; 90
|
||||||
DB 4 , -1 ; 112
|
DB 4 , -1 ; 112
|
||||||
DB 4 , -2 ; 135
|
DB 4 , -2 ; 135
|
||||||
@ -1719,7 +1712,6 @@ TAB_ANGLE3:
|
|||||||
DB 3 , -4 ; 157
|
DB 3 , -4 ; 157
|
||||||
DB 2 , -4 ; 157
|
DB 2 , -4 ; 157
|
||||||
DB 1 , -4 ; 157
|
DB 1 , -4 ; 157
|
||||||
|
|
||||||
DB 0 , -4 ; 180
|
DB 0 , -4 ; 180
|
||||||
DB -1 , -4
|
DB -1 , -4
|
||||||
DB -2 , -4
|
DB -2 , -4
|
||||||
@ -1728,7 +1720,6 @@ TAB_ANGLE3:
|
|||||||
DB -4 , -3
|
DB -4 , -3
|
||||||
DB -4 , -2
|
DB -4 , -2
|
||||||
DB -4 , -1
|
DB -4 , -1
|
||||||
|
|
||||||
DB -4 , 0
|
DB -4 , 0
|
||||||
DB -4 , 1
|
DB -4 , 1
|
||||||
DB -4 , 2
|
DB -4 , 2
|
||||||
@ -1737,7 +1728,6 @@ TAB_ANGLE3:
|
|||||||
DB -3 , 4 ; 0
|
DB -3 , 4 ; 0
|
||||||
DB -2 , 4 ; 0
|
DB -2 , 4 ; 0
|
||||||
DB -1 , 4 ; 0
|
DB -1 , 4 ; 0
|
||||||
|
|
||||||
DB 0 , 4 ; 0
|
DB 0 , 4 ; 0
|
||||||
DB 1 , 4 ; 0
|
DB 1 , 4 ; 0
|
||||||
DB 2 , 4 ; 22
|
DB 2 , 4 ; 22
|
||||||
@ -1823,7 +1813,6 @@ A_NO_ADD2:
|
|||||||
; H - Y-ª®®à¤¨ â
|
; H - Y-ª®®à¤¨ â
|
||||||
|
|
||||||
MONSTR_ALL1:
|
MONSTR_ALL1:
|
||||||
|
|
||||||
LD A,L
|
LD A,L
|
||||||
ADD A,A
|
ADD A,A
|
||||||
ADD A,A
|
ADD A,A
|
||||||
@ -1880,13 +1869,15 @@ MONST_H1:
|
|||||||
LD (IX+M_HOR),L ; 㣮«
|
LD (IX+M_HOR),L ; 㣮«
|
||||||
LD (IX+M_HOR+1),H
|
LD (IX+M_HOR+1),H
|
||||||
|
|
||||||
LD DE,128
|
; LD DE,128 ; € çñ¡ ¥ ã¯à®áâ¨âì â ª:
|
||||||
ADD HL,DE
|
; ADD HL,DE ; LD DE,256+320-128
|
||||||
|
; LD DE,256+320 ; SBC HL,DE
|
||||||
LD DE,256+320
|
; AND A ; ¨ ¢áñ... HL ¬®¦¥â ¯¥à¥¯®«ïâìáï ¯à¨ ADD 128? - ¥â
|
||||||
AND A
|
; SBC HL,DE ; ; ¯à®¢¥àª ¯®¯ ¤ ¨ï ¬®áâà ¢ 㣮« §à¥¨ï
|
||||||
|
LD DE,256+320-128
|
||||||
SBC HL,DE ; ¯à®¢¥àª ¯®¯ ¤ ¨ï ¬®áâà ¢ 㣮« §à¥¨ï
|
SBC HL,DE ; ¯à®¢¥àª ¯®¯ ¤ ¨ï ¬®áâà ¢ 㣮« §à¥¨ï
|
||||||
|
|
||||||
|
|
||||||
CALL C,WALL
|
CALL C,WALL
|
||||||
|
|
||||||
CALL SOUND
|
CALL SOUND
|
||||||
@ -1902,14 +1893,14 @@ MONSTR_NEXT_P:
|
|||||||
RET NZ
|
RET NZ
|
||||||
|
|
||||||
LD A,(IX+M_VAR2) ; áç¥â稪 横«
|
LD A,(IX+M_VAR2) ; áç¥â稪 横«
|
||||||
AND 0Fh
|
AND #0F
|
||||||
RLCA
|
RLCA
|
||||||
RLCA
|
RLCA
|
||||||
RLCA
|
RLCA
|
||||||
RLCA
|
RLCA
|
||||||
ADD A,(IX+M_VAR2) ; ¤®¡ ¢¨âì ¬« ¤è¨© ¡ ©â ª áâ à襬ã
|
ADD A,(IX+M_VAR2) ; ¤®¡ ¢¨âì ¬« ¤è¨© ¡ ©â ª áâ à襬ã
|
||||||
LD (IX+M_VAR2),A
|
LD (IX+M_VAR2),A
|
||||||
AND 0F0h
|
AND #F0
|
||||||
RET NZ ; ¢¥àãâìáï, ¥á«¨ ¥ 0
|
RET NZ ; ¢¥àãâìáï, ¥á«¨ ¥ 0
|
||||||
|
|
||||||
; JR NC,NO_ADD_MX
|
; JR NC,NO_ADD_MX
|
||||||
@ -1962,15 +1953,15 @@ CONT_MONS:
|
|||||||
|
|
||||||
LD A,(IX+M_ADR+1) ; ¯¥à¥ª«îç â¥«ì ¤à¥á
|
LD A,(IX+M_ADR+1) ; ¯¥à¥ª«îç â¥«ì ¤à¥á
|
||||||
ADD A,(IX+M_VAR4) ; ᪮«ìª® ¤®¡ ¢«ïâì
|
ADD A,(IX+M_VAR4) ; ᪮«ìª® ¤®¡ ¢«ïâì
|
||||||
AND 3Fh
|
AND #3F
|
||||||
OR 40h
|
OR #40
|
||||||
LD (IX+M_ADR+1),A
|
LD (IX+M_ADR+1),A
|
||||||
CP 40h ; ¯à¨§ ª § ¢¥àè¥¨ï æ¨ª«
|
CP #40 ; ¯à¨§ ª § ¢¥àè¥¨ï æ¨ª«
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SW_MONS:
|
SW_MONS:
|
||||||
LD A,(IX+M_ADR) ; ¯¥à¥ª«îç â¥«ì ¤à¥á
|
LD A,(IX+M_ADR) ; ¯¥à¥ª«îç â¥«ì ¤à¥á
|
||||||
ADD A,40H
|
ADD A,#40
|
||||||
LD (IX+M_ADR),A
|
LD (IX+M_ADR),A
|
||||||
AND A ; ¯à¨§ ª § ¢¥àè¥¨ï æ¨ª«
|
AND A ; ¯à¨§ ª § ¢¥àè¥¨ï æ¨ª«
|
||||||
;NO_ADD_MX:
|
;NO_ADD_MX:
|
||||||
@ -2009,9 +2000,9 @@ SAVE_P2: DW 0
|
|||||||
SAVE_PIC:
|
SAVE_PIC:
|
||||||
IN A,(SCREEN_SWITCH)
|
IN A,(SCREEN_SWITCH)
|
||||||
AND 1
|
AND 1
|
||||||
LD HL,#C040
|
LD HL,ScreenStartAddress
|
||||||
JR NZ,SET_1X
|
JR NZ,SET_1X
|
||||||
LD HL,#C180
|
LD HL,ScreenStartAddress + #0140
|
||||||
SET_1X:
|
SET_1X:
|
||||||
LD IX,TABLE_PIC
|
LD IX,TABLE_PIC
|
||||||
LD A,(IX)
|
LD A,(IX)
|
||||||
|
|||||||
334
DOOM2.asm
334
DOOM2.asm
@ -5,7 +5,8 @@
|
|||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
ScreenStartAddress EQU #C040
|
||||||
|
;ScreenStartAddress EQU #C000
|
||||||
;
|
;
|
||||||
;---------------------------[Defines section]---------------------------
|
;---------------------------[Defines section]---------------------------
|
||||||
DEFINE EXE_HEADER 1
|
DEFINE EXE_HEADER 1
|
||||||
@ -71,15 +72,15 @@ CMD_Line+1:
|
|||||||
LD HL,#8080
|
LD HL,#8080
|
||||||
CALL SET_HOME_PATH
|
CALL SET_HOME_PATH
|
||||||
;--------[§ £à㧪 à¥áãàᮢ ¨£àë]-------
|
;--------[§ £à㧪 à¥áãàᮢ ¨£àë]-------
|
||||||
; ¢ë¯®«¥® ¢ ¢¨¤¥ ª®áâë«ì®© § £«ã誨
|
|
||||||
LD HL,Loading_TXT
|
LD HL,Loading_TXT
|
||||||
LD C,Dss.PChars
|
LD C,Dss.PChars
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
;
|
;
|
||||||
|
CALL SAVE_ALL
|
||||||
|
; ¢ë¯®«¥® ¢ ¢¨¤¥ ª®áâë«ì®© § £«ã誨
|
||||||
CALL Load_Resources
|
CALL Load_Resources
|
||||||
;
|
;
|
||||||
CALL SAVE_PAL
|
;CALL SAVE_TXT_SCREEN
|
||||||
CALL SAVE_TXT_SCREEN
|
|
||||||
; LD A,Dss.SetVMod.grf320x256
|
; LD A,Dss.SetVMod.grf320x256
|
||||||
; LD BC,Dss.SetVMod.Screen_1
|
; LD BC,Dss.SetVMod.Screen_1
|
||||||
; RST ToDSS
|
; RST ToDSS
|
||||||
@ -111,7 +112,7 @@ CMD_Line+1:
|
|||||||
ld a,(RAMBlkIDs.d2_fram)
|
ld a,(RAMBlkIDs.d2_fram)
|
||||||
ld (D2_FRAM_page),a
|
ld (D2_FRAM_page),a
|
||||||
|
|
||||||
;----[]
|
;----[;!FIXIT ¯¥à¥¤¥« âì ¬ã§«® API 5x]
|
||||||
; ‡ ¯à 訢 ¥¬ áâà ¨æã ¤«ï ª â «®£
|
; ‡ ¯à 訢 ¥¬ áâà ¨æã ¤«ï ª â «®£
|
||||||
; á®åà 塞 ¥ñ ü ¢ ª®¤¥
|
; á®åà 塞 ¥ñ ü ¢ ª®¤¥
|
||||||
;
|
;
|
||||||
@ -142,8 +143,8 @@ CMD_Line+1:
|
|||||||
CALL SET_PAL
|
CALL SET_PAL
|
||||||
|
|
||||||
;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ¨ï]----
|
;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ¨ï]----
|
||||||
; ®¤¨ ¢ãâ२© ¯®àâ ¬ áèâ ¡¨à®¢ ¨ï ¬ ¯¯¨âáï ¤¨ ¯¯ §® #XX00
|
; ®¤¨ ¢ãâ२© ¯®àâ ¬ áèâ ¡¨à®¢ ¨ï ¬ ¯¯¨âáï ¤¨ ¯¯ §®
|
||||||
; ¢¥è¨å ¯®à⮢. Write, Dos off, CNF 0.
|
; #XX00 ¢¥è¨å ¯®à⮢. Write, Dos off, CNF 0.
|
||||||
LD A,1
|
LD A,1
|
||||||
LD HL, %0000'0100'0000'0000 ; § 票¥
|
LD HL, %0000'0100'0000'0000 ; § 票¥
|
||||||
LD DE, %1111'1110'0110'1111 ; ¬ áª
|
LD DE, %1111'1110'0110'1111 ; ¬ áª
|
||||||
@ -166,7 +167,7 @@ CMD_Line+1:
|
|||||||
; EX AF,AF'
|
; EX AF,AF'
|
||||||
; OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
; €ªâ¨¢ æ¨ï €ªá¥«ï ¬ áèâ ¡¨à®¢ ¨ï, ®¡à ⮠⮫쪮 ç¥à¥§ à¥á¥â
|
; €ªâ¨¢ æ¨ï €ªá¥«ï ¬ áèâ ¡¨à®¢ ¨ï, ®¡à ⮠⮫쪮 ç¥à¥§ à¥á¥â
|
||||||
LD BC,#100 ; C - ¬ áèâ ¡ 1:1
|
LD BC,#0100 ; C - ¬ áèâ ¡ 1:1
|
||||||
OUT (C),C
|
OUT (C),C
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
|
|
||||||
@ -188,18 +189,6 @@ CMD_Line+1:
|
|||||||
;
|
;
|
||||||
;-----------[EXIT Procedure]------------;
|
;-----------[EXIT Procedure]------------;
|
||||||
RETURN_POINT:
|
RETURN_POINT:
|
||||||
; DI
|
|
||||||
; LD A,#10
|
|
||||||
; LD BC,#1FFD
|
|
||||||
; OUT (C),A
|
|
||||||
; LD A,RESET_PAGE
|
|
||||||
; OUT (SLOT3),A
|
|
||||||
; LD (#C000),HL
|
|
||||||
; HALT_L:
|
|
||||||
; ;DI
|
|
||||||
; HALT
|
|
||||||
; JR HALT_L
|
|
||||||
|
|
||||||
IN A,(FastRAM.OFF)
|
IN A,(FastRAM.OFF)
|
||||||
LD A,SYS_PORT.BIOS
|
LD A,SYS_PORT.BIOS
|
||||||
OUT (SYS_PORT.RAM),A
|
OUT (SYS_PORT.RAM),A
|
||||||
@ -210,6 +199,10 @@ RETURN_POINT:
|
|||||||
;
|
;
|
||||||
CALL RESTORE_ALL
|
CALL RESTORE_ALL
|
||||||
;
|
;
|
||||||
|
LD HL,GOTO_EXIT
|
||||||
|
LD C,Dss.PChars
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
.loop: LD BC,Dss.Exit
|
.loop: LD BC,Dss.Exit
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
JR .loop
|
JR .loop
|
||||||
@ -299,19 +292,18 @@ CLEAR_GRAF_SCR:
|
|||||||
XOR A
|
XOR A
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
LD SP,#C040 + 640
|
LD SP,ScreenStartAddress + 640
|
||||||
LD B,640/4
|
LD B,640/4
|
||||||
|
|
||||||
;!!!!!!!!!!![®¯â¨¬¨§¨à®¢ âì]!!!!!!!!!!!!
|
;!TODO ![®¯â¨¬¨§¨à®¢ âì]!
|
||||||
LOOP_CLS:
|
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD E,0
|
LD E,0
|
||||||
LD D,E
|
LD D,E
|
||||||
|
LOOP_CLS:
|
||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH DE
|
PUSH DE
|
||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
DJNZ LOOP_CLS
|
DJNZ LOOP_CLS
|
||||||
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
SPSave2+1:
|
SPSave2+1:
|
||||||
@ -466,9 +458,9 @@ MAIN: CALL INIT_TABLE
|
|||||||
|
|
||||||
; !FIXIT ¯¥à¥¤¥« âì «®£¨ªã ¯®¤ ®¢ë© ¡¨®á?
|
; !FIXIT ¯¥à¥¤¥« âì «®£¨ªã ¯®¤ ®¢ë© ¡¨®á?
|
||||||
;---[ãáâ ®¢ª á¨åàë, ®ç¨á⪠íªà ]--
|
;---[ãáâ ®¢ª á¨åàë, ®ç¨á⪠íªà ]--
|
||||||
LD A,2 ; ०¨¬ Pentagon - 320 áâப ¢ íªà ¥
|
; LD A,2 ; ०¨¬ Pentagon - 320 áâப ¢ íªà ¥
|
||||||
LD C,BIOS.FN_SYNC
|
; LD C,BIOS.FN_SYNC
|
||||||
RST ToBIOS
|
; RST ToBIOS
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
;------[Žâªàë⨥ áâ ¤ àâëå ®ª®]------
|
;------[Žâªàë⨥ áâ ¤ àâëå ®ª®]------
|
||||||
@ -480,44 +472,21 @@ MAIN: CALL INIT_TABLE
|
|||||||
; HL - ¬¥áâ® íªà ¥ ¯® § ª®¬¥áâ ¬
|
; HL - ¬¥áâ® íªà ¥ ¯® § ª®¬¥áâ ¬
|
||||||
; (ª®¯¨ï ¢ IX+2,3), ¢ ®¢ëå ¢¥àá¨ïå
|
; (ª®¯¨ï ¢ IX+2,3), ¢ ®¢ëå ¢¥àá¨ïå
|
||||||
; ¡¨®á § 票¥ HL ¥ áãé¥á⢥®
|
; ¡¨®á § 票¥ HL ¥ áãé¥á⢥®
|
||||||
|
;
|
||||||
LD HL,#4000
|
LD HL,#4000
|
||||||
LD E,1
|
LD E,0
|
||||||
LD B,8 ; £à ä¨ç¥áª®¥ ®ª® 0, HL - ¯®«®¦¥¨¥ ®ª
|
LD B,8 ; £à ä¨ç¥áª®¥ ®ª® 0, HL - ¯®«®¦¥¨¥ ®ª
|
||||||
LD C,BIOS.LP_OPEN_S
|
LD C,BIOS.LP_OPEN_S
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
|
;
|
||||||
LD HL,#5000
|
LD HL,#5000
|
||||||
LD E,1
|
LD E,1
|
||||||
LD B,9 ; £à ä¨ç¥áª®¥ ®ª® 1, HL - ¯®«®¦¥¨¥ ®ª
|
LD B,9 ; £à ä¨ç¥áª®¥ ®ª® 1, HL - ¯®«®¦¥¨¥ ®ª
|
||||||
LD C,BIOS.LP_OPEN_S
|
LD C,BIOS.LP_OPEN_S
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
/*
|
|
||||||
LD A,Dss.SetVMod.grf320x256
|
|
||||||
LD BC,Dss.SetVMod.Screen_0
|
|
||||||
RST ToDSS
|
|
||||||
LD A,Dss.SetVMod.grf320x256
|
|
||||||
LD BC,Dss.SetVMod.Screen_1
|
|
||||||
RST ToDSS
|
|
||||||
;£à ä¨ç¥áª®¥ ®ª® 0
|
|
||||||
PIC_320X256_1:
|
|
||||||
DB 40,32,0,0,32,0,08,0
|
|
||||||
DB 40,32,0,0,96,0,48,0
|
|
||||||
|
|
||||||
DB 40,32,0,0,32,0,00,0 ;4
|
|
||||||
DB 40,32,0,0,96,0,40,0 ;6
|
|
||||||
|
|
||||||
;£à ä¨ç¥áª®¥ ®ª® 1
|
|
||||||
PIC_320X256_2:
|
|
||||||
|
|
||||||
; 320x256. £à ä¨ç¥áª®¥, 0-© íªà
|
|
||||||
TAB_320x256_0
|
|
||||||
|
|
||||||
; 320x256. £à ä¨ç¥áª®¥, 1-© íªà
|
|
||||||
TAB_320x256_1
|
|
||||||
*/
|
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
LD A,1
|
LD A,(RESTORE_ALL.scr)
|
||||||
OUT (SCREEN_SWITCH),A
|
OUT (SCREEN_SWITCH),A
|
||||||
|
|
||||||
;----[¯¥à¥¡à®á ç á⨠ª®¤ ¢ FastRAM]----
|
;----[¯¥à¥¡à®á ç á⨠ª®¤ ¢ FastRAM]----
|
||||||
@ -732,13 +701,13 @@ CONT_WORK:
|
|||||||
|
|
||||||
SCR_SWITCH:
|
SCR_SWITCH:
|
||||||
IN A,(SCREEN_SWITCH)
|
IN A,(SCREEN_SWITCH)
|
||||||
AND 1
|
;AND 1
|
||||||
XOR 1
|
XOR 1
|
||||||
OUT (SCREEN_SWITCH),A
|
OUT (SCREEN_SWITCH),A
|
||||||
|
|
||||||
LD DE,#C040
|
LD DE,ScreenStartAddress
|
||||||
JR Z,SET_1
|
JR Z,SET_1
|
||||||
LD DE,#C180
|
LD DE,ScreenStartAddress + #0140
|
||||||
SET_1:
|
SET_1:
|
||||||
LD (SCREEN_1),DE
|
LD (SCREEN_1),DE
|
||||||
RET
|
RET
|
||||||
@ -1607,19 +1576,48 @@ SET_HOME_PATH:
|
|||||||
RET
|
RET
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
SAVE_PAL:
|
SAVE_PAL:
|
||||||
IN A,(SLOT2)
|
LD A,SYS_PORT.BIOS
|
||||||
PUSH AF
|
OUT (SYS_PORT.ON),A
|
||||||
|
IN A,(FastRAM.ON)
|
||||||
|
LD A,1
|
||||||
|
OUT (FastRAM.SLOT0),A
|
||||||
|
;
|
||||||
|
LD A,#50
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
XOR A
|
||||||
|
OUT (PORT_Y),A
|
||||||
;
|
;
|
||||||
LD HL,Pal_Restore_Buffer+#4000
|
|
||||||
LD DE,0
|
LD DE,0
|
||||||
LD A,4
|
.loop: LD HL,#C3E0
|
||||||
LD C,BIOS.PIC_GET_PAL
|
LD BC,#20
|
||||||
RST ToBIOS
|
LDIR
|
||||||
|
IN A,(PORT_Y)
|
||||||
|
INC A
|
||||||
|
OUT (PORT_Y),A
|
||||||
|
JR NZ,.loop
|
||||||
;
|
;
|
||||||
|
XOR A
|
||||||
|
OUT (FastRAM.SLOT0),A
|
||||||
|
IN A,(FastRAM.OFF)
|
||||||
|
XOR A
|
||||||
|
OUT (SYS_PORT.OFF),A
|
||||||
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
; IN A,(SLOT3)
|
||||||
|
; PUSH AF
|
||||||
|
; IN A,(SLOT2)
|
||||||
|
; OUT (SLOT3),A
|
||||||
|
; ;
|
||||||
|
; LD HL,Pal_Restore_Buffer+#4000
|
||||||
|
; LD DE,0
|
||||||
|
; LD A,#80 + 0
|
||||||
|
; LD C,BIOS.PIC_GET_PAL
|
||||||
|
; RST ToBIOS
|
||||||
|
; ;
|
||||||
; LD HL,Pal_Restore_Buffer+#4000 + 1024
|
; LD HL,Pal_Restore_Buffer+#4000 + 1024
|
||||||
; LD DE,0
|
; LD DE,0
|
||||||
; LD A,5
|
; LD A,#80 + 1
|
||||||
; LD C,BIOS.PIC_GET_PAL
|
; LD C,BIOS.PIC_GET_PAL
|
||||||
; RST ToBIOS
|
; RST ToBIOS
|
||||||
; ;
|
; ;
|
||||||
@ -1635,21 +1633,48 @@ SAVE_PAL:
|
|||||||
; LD C,BIOS.PIC_GET_PAL
|
; LD C,BIOS.PIC_GET_PAL
|
||||||
; RST ToBIOS
|
; RST ToBIOS
|
||||||
;
|
;
|
||||||
POP AF
|
; POP AF
|
||||||
OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
RET
|
; RET
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
RESTORE_PAL:
|
RESTORE_PAL:
|
||||||
|
LD A,SYS_PORT.BIOS
|
||||||
|
OUT (SYS_PORT.ON),A
|
||||||
|
IN A,(FastRAM.ON)
|
||||||
|
LD A,1
|
||||||
|
OUT (FastRAM.SLOT0),A
|
||||||
;
|
;
|
||||||
IN A,(SLOT2)
|
LD A,#50
|
||||||
PUSH AF
|
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
XOR A
|
||||||
|
OUT (PORT_Y),A
|
||||||
;
|
;
|
||||||
LD HL,Pal_Restore_Buffer+#4000
|
LD HL,0
|
||||||
LD DE,0
|
.loop: LD DE,#C3E0
|
||||||
LD A,4
|
LD BC,#20
|
||||||
LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
LDIR
|
||||||
RST ToBIOS
|
IN A,(PORT_Y)
|
||||||
|
INC A
|
||||||
|
OUT (PORT_Y),A
|
||||||
|
JR NZ,.loop
|
||||||
|
;
|
||||||
|
XOR A
|
||||||
|
OUT (FastRAM.SLOT0),A
|
||||||
|
IN A,(FastRAM.OFF)
|
||||||
|
XOR A
|
||||||
|
OUT (SYS_PORT.OFF),A
|
||||||
|
RET
|
||||||
|
|
||||||
|
;
|
||||||
|
; IN A,(SLOT2)
|
||||||
|
; PUSH AF
|
||||||
|
; OUT (SLOT3),A
|
||||||
|
; ;
|
||||||
|
; LD HL,Pal_Restore_Buffer+#4000
|
||||||
|
; LD DE,0
|
||||||
|
; LD A,4
|
||||||
|
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
||||||
|
; RST ToBIOS
|
||||||
;
|
;
|
||||||
; LD HL,Pal_Restore_Buffer+#4000 + 1024
|
; LD HL,Pal_Restore_Buffer+#4000 + 1024
|
||||||
; LD DE,0
|
; LD DE,0
|
||||||
@ -1669,70 +1694,129 @@ RESTORE_PAL:
|
|||||||
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
||||||
; RST ToBIOS
|
; RST ToBIOS
|
||||||
;
|
;
|
||||||
POP AF
|
; POP AF
|
||||||
OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
RET
|
; RET
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
;!TODO âãâ ¥ ¯à®¢¥àï¥âáï ०¨¬ 80 ¨«¨ 40
|
;!TODO âãâ ¥ ¯à®¢¥àï¥âáï ०¨¬ 80 ¨«¨ 40
|
||||||
SAVE_TXT_SCREEN:
|
; DEFINE _TXT_SCREEN #E000
|
||||||
LD C,BIOS.LP_GET_PLACE
|
; SAVE_TXT_SCREEN:
|
||||||
RST ToBIOS
|
; DI
|
||||||
LD (LOAD_TXT_SCREEN.CURS),DE
|
; LD C,BIOS.LP_GET_PLACE
|
||||||
LD IX,#4000 + TXT_SCREEN
|
; RST ToBIOS
|
||||||
LD HL,#2050 ; #2028
|
; LD (LOAD_TXT_SCREEN.CURS),DE
|
||||||
;
|
; ;
|
||||||
; LD (LOAD_TXT_SCREEN.SVHL1),HL
|
; XOR A
|
||||||
LD DE,#0000
|
; LD B,SHARED_PAGE
|
||||||
IN A,(SLOT2)
|
; LD HL,#2050 ; #2028
|
||||||
LD B,A
|
; LD DE,#0000
|
||||||
LD C,BIOS.WIN_COPY
|
; LD IX,_TXT_SCREEN
|
||||||
JP ToBIOS
|
; LD C,BIOS.WIN_COPY
|
||||||
|
; JP ToBIOS
|
||||||
LOAD_TXT_SCREEN:
|
; LOAD_TXT_SCREEN:
|
||||||
LD IX,#4000 + TXT_SCREEN
|
; DI
|
||||||
.SVHL1+1: LD HL,#2050 ; #2028
|
; XOR A
|
||||||
LD DE,#0000
|
; LD B,SHARED_PAGE
|
||||||
IN A,(SLOT2)
|
; LD HL,#2050 ; #2028
|
||||||
LD B,A
|
; LD DE,#0000
|
||||||
LD C,BIOS.WIN_RESTORE
|
; LD IX,_TXT_SCREEN
|
||||||
RST ToBIOS
|
; LD C,BIOS.WIN_RESTORE
|
||||||
;
|
; RST ToBIOS
|
||||||
.CURS+1: LD DE,#0000
|
; ;
|
||||||
LD C,Dss.Locate
|
; .CURS+1: LD DE,#0000
|
||||||
JP ToDSS
|
; LD C,Dss.Locate
|
||||||
|
; JP ToDSS
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
RESTORE_ALL:
|
RESTORE_ALL:
|
||||||
LD A,1
|
|
||||||
LD HL, %0000'0100'0000'0000 ; § 票¥
|
|
||||||
LD DE, %1111'1110'0110'1111 ; ¬ áª
|
|
||||||
LD BC,0*256 + BIOS.DCP_CONFIG
|
|
||||||
RST ToBIOS
|
|
||||||
;
|
|
||||||
; LD B,3 ; 3 - ãáâ ®¢ª CGA ¯ «¨âàë
|
; LD B,3 ; 3 - ãáâ ®¢ª CGA ¯ «¨âàë
|
||||||
; LD C,BIOS.SET_PAL_INIT ; ®¬¥à äãªæ¨¨
|
; LD C,BIOS.SET_PAL_INIT ; ®¬¥à äãªæ¨¨
|
||||||
; RST ToBIOS ; ãáâ ®¢ª ¯ «¨âàë
|
; RST ToBIOS ; ãáâ ®¢ª ¯ «¨âàë
|
||||||
;
|
|
||||||
LD A,Dss.SetVMod.txt80x32
|
|
||||||
LD BC,Dss.SetVMod.Screen_0
|
|
||||||
RST ToDSS
|
|
||||||
LD A,Dss.SetVMod.txt80x32
|
|
||||||
LD BC,Dss.SetVMod.Screen_1
|
|
||||||
RST ToDSS
|
|
||||||
;
|
|
||||||
CALL RESTORE_PAL
|
CALL RESTORE_PAL
|
||||||
;
|
;
|
||||||
|
.mode+1: LD A,Dss.SetVMod.txt80x32
|
||||||
|
.scr+2: LD BC,Dss.SetVMod
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD BC,Dss.Lib_Sub.RestoreFont
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD A,(.mode)
|
||||||
|
CP #80
|
||||||
|
RET NC
|
||||||
|
;
|
||||||
|
.cursor+1:
|
||||||
|
LD DE,0
|
||||||
|
LD C,Dss.Locate
|
||||||
|
RST ToDSS
|
||||||
|
LD C,Dss.WinRest
|
||||||
|
JP TXT_Screen_Copy_Restore
|
||||||
|
;
|
||||||
|
;***********************************************************************
|
||||||
|
SAVE_ALL:
|
||||||
|
CALL SAVE_PAL
|
||||||
|
; ã§ âì ¢¨¤¥®à¥¦¨¬
|
||||||
|
LD C,Dss.GetVMod
|
||||||
|
RST ToDSS
|
||||||
|
LD (RESTORE_ALL.mode),A
|
||||||
|
LD A,B
|
||||||
|
LD (RESTORE_ALL.scr),A
|
||||||
|
; ¥á«¨ ०¨¬ ⥪áâ®¢ë© - á®åà ¨âì ®ª®
|
||||||
|
LD A,(RESTORE_ALL.mode)
|
||||||
|
CP #80
|
||||||
|
RET NC
|
||||||
|
;
|
||||||
|
LD C,Dss.Cursor
|
||||||
|
RST ToDSS
|
||||||
|
LD (RESTORE_ALL.cursor),DE
|
||||||
|
;
|
||||||
|
LD C,Dss.WinCopy
|
||||||
|
;JP TXT_Screen_Copy_Restore
|
||||||
|
;****************************
|
||||||
|
TXT_Screen_Copy_Restore:
|
||||||
|
LD A,Dss.WinCopy
|
||||||
|
SUB C
|
||||||
|
PUSH AF
|
||||||
|
PUSH BC
|
||||||
|
CALL NZ,SCREEN_IN_CACHE
|
||||||
|
;
|
||||||
|
LD A,(RESTORE_ALL.mode)
|
||||||
|
SUB 2
|
||||||
LD DE,0
|
LD DE,0
|
||||||
LD HL,#2050
|
LD HL,#2050
|
||||||
LD BC,COLORS.CGA.INC.LGRAY*256 + BIOS.LP_CLS_WIN
|
JR NZ,.next
|
||||||
RST ToBIOS
|
LD L,#28
|
||||||
|
.next: IN A,(SLOT2)
|
||||||
|
POP BC
|
||||||
|
LD B,A
|
||||||
|
LD IX,TXT_SCREEN
|
||||||
|
RST ToDSS
|
||||||
|
POP AF
|
||||||
|
RET NZ
|
||||||
|
;DEC A
|
||||||
|
;JP SCREEN_IN_CACHE
|
||||||
|
;****************************
|
||||||
|
SCREEN_IN_CACHE:
|
||||||
|
LD A,SYS_PORT.BIOS
|
||||||
|
OUT (SYS_PORT.ON),A
|
||||||
|
IN A,(FastRAM.ON)
|
||||||
|
LD A,1
|
||||||
|
OUT (FastRAM.SLOT0),A
|
||||||
;
|
;
|
||||||
CALL LOAD_TXT_SCREEN
|
LD HL,TXT_SCREEN
|
||||||
|
LD DE,1024*8 ; à §¬¥à ¯ «¨âàë
|
||||||
|
JR Z,.no_change
|
||||||
|
EX DE,HL
|
||||||
|
.no_change:
|
||||||
|
LD BC,80*32*2 ; ¬ ªá¨¬ «ìë© à §¬¥à ⥪á⮢®£® íªà
|
||||||
|
LDIR
|
||||||
;
|
;
|
||||||
|
XOR A
|
||||||
|
OUT (FastRAM.SLOT0),A
|
||||||
|
IN A,(FastRAM.OFF)
|
||||||
|
XOR A
|
||||||
|
OUT (SYS_PORT.OFF),A
|
||||||
RET
|
RET
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
|
|
||||||
|
|
||||||
;***********************************************************************
|
|
||||||
;---------------[Tables]----------------
|
;---------------[Tables]----------------
|
||||||
ALIGN 2,0
|
ALIGN 2,0
|
||||||
;
|
;
|
||||||
@ -1764,6 +1848,7 @@ SND_DIR: DZ "MUSIC"
|
|||||||
;Up_Dir: DZ ".."
|
;Up_Dir: DZ ".."
|
||||||
;
|
;
|
||||||
Loading_TXT: DZ "\r\nPlease wait, resources are loading..."
|
Loading_TXT: DZ "\r\nPlease wait, resources are loading..."
|
||||||
|
GOTO_EXIT: DZ "\r\n < GAME OVER))) >"
|
||||||
;
|
;
|
||||||
; IFN NORM_syncPORT
|
; IFN NORM_syncPORT
|
||||||
|
|
||||||
@ -1786,8 +1871,7 @@ Loading_TXT: DZ "\r\nPlease wait, resources are loading..."
|
|||||||
;CURRENT_DIR: BLOCK 257,0
|
;CURRENT_DIR: BLOCK 257,0
|
||||||
|
|
||||||
;------------------------------------
|
;------------------------------------
|
||||||
Pal_Restore_Buffer EQU $ ;Temp_Buffer + 256
|
Temp_Buffer EQU $
|
||||||
Temp_Buffer EQU Pal_Restore_Buffer + 1024 + 1024
|
|
||||||
TXT_SCREEN EQU Temp_Buffer + 257
|
TXT_SCREEN EQU Temp_Buffer + 257
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|||||||
15
Music_4x.asm
15
Music_4x.asm
@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
;-----------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
|
;!FIXIT ¯¥à¥¤¥« âì ¬ã§«® API 5x
|
||||||
;-------[¨¨æ¨ «¨§ æ¨ï ¢¨ç¥áâ¥à ]------;
|
;-------[¨¨æ¨ «¨§ æ¨ï ¢¨ç¥áâ¥à ]------;
|
||||||
INIT_HDD_WORK:
|
INIT_HDD_WORK:
|
||||||
.currentDisk+1: ;
|
.currentDisk+1: ;
|
||||||
@ -61,20 +62,6 @@ INIT_HDD_WORK:
|
|||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
;[ ] music and dirs
|
;[ ] music and dirs
|
||||||
; LD A,(CURRENT_DIR+1)
|
|
||||||
; AND A
|
|
||||||
; JR Z,.skip_dir
|
|
||||||
;
|
|
||||||
; LD HL,Up_Dir
|
|
||||||
; LD C,Dss.ChDir
|
|
||||||
; RST ToDSS
|
|
||||||
;
|
|
||||||
; LD A,'\' ;
|
|
||||||
; LD HL,CURRENT_DIR+257
|
|
||||||
; LD BC,257 ;!HARDCODE か┃<E3818B> 痰牀<E797B0> <20>皋
|
|
||||||
; CPDR
|
|
||||||
; INC HL
|
|
||||||
;
|
|
||||||
LD HL,SND_DIR
|
LD HL,SND_DIR
|
||||||
LD DE,Temp_Buffer
|
LD DE,Temp_Buffer
|
||||||
LD A,FAT_ATTR.DIRECTORY
|
LD A,FAT_ATTR.DIRECTORY
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 1a384e2e43f985438aafa6f7fed3e7552d7b6f3d
|
Subproject commit b8a215d38afde3eed48f39eb961e96cdb6d9e426
|
||||||
Loading…
Reference in New Issue
Block a user