mirror of
https://github.com/Tolik-Trek/DOOM2.git
synced 2026-06-15 00:51:33 +03:00
...
This commit is contained in:
parent
84f6958d37
commit
804a9c4909
146
D2_FRAM.asm
146
D2_FRAM.asm
@ -149,15 +149,15 @@ ANGLE_M+1:
|
|||||||
TRACE_NEXT_:
|
TRACE_NEXT_:
|
||||||
;
|
;
|
||||||
EXX
|
EXX
|
||||||
LD HL,(PLACE_L) ; ⥪ã饥 ¯®«®¦¥¨¥ ¢ â ¡«¨æ¥
|
LD HL,(PLACE_L) ; ⥪ã饥 ¯®«®¦¥¨¥ ¢ â ¡«¨æ¥
|
||||||
INC HL
|
INC HL
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD (PLACE_L1),A
|
LD (PLACE_L1),A
|
||||||
LD (PLACE_L2),A
|
LD (PLACE_L2),A
|
||||||
EXX
|
EXX
|
||||||
;
|
;
|
||||||
PLACE_L EQU $+1
|
PLACE_L+1:
|
||||||
LD A,(TABLE_TRACE+10) ; ⮪®¥ ¯®«®¦¥¨¥ - ¯®«®¦¥¨¥ ¢ ª¢ ¤à â¥
|
LD A,(TABLE_TRACE+10) ; ⮪®¥ ¯®«®¦¥¨¥ - ¯®«®¦¥¨¥ ¢ ª¢ ¤à â¥
|
||||||
;
|
;
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD (CONT_PAGE),A
|
LD (CONT_PAGE),A
|
||||||
@ -173,7 +173,7 @@ TRACE_LOOP:
|
|||||||
LD E,(HL) ; ¯¥à¢ë© ¨ ¤ «¥¥ á«¥¤ãî騩 ªã¡¨ª
|
LD E,(HL) ; ¯¥à¢ë© ¨ ¤ «¥¥ á«¥¤ãî騩 ªã¡¨ª
|
||||||
LD A,(DE) ; ¥áâì ¨«¨ ¥â?
|
LD A,(DE) ; ¥áâì ¨«¨ ¥â?
|
||||||
AND A
|
AND A
|
||||||
JR NZ,TRACE_CONT ; ¥á«¨ ¥áâì, à¨á®¢ âì!!
|
JR NZ,TRACE_CONT ; ¥á«¨ ¥áâì, à¨á®¢ âì!!
|
||||||
INC L
|
INC L
|
||||||
ENDR
|
ENDR
|
||||||
|
|
||||||
@ -204,8 +204,7 @@ TRACE_CONT:
|
|||||||
;
|
;
|
||||||
EXX
|
EXX
|
||||||
EX AF,AF' ;®¬¥à á⥪¨
|
EX AF,AF' ;®¬¥à á⥪¨
|
||||||
PLACE_L1 EQU $+1
|
PLACE_L1+1: LD A,5
|
||||||
LD A,5
|
|
||||||
OUT (SLOT1),A ; á«¥¤ãî饥 ¯®«®¦¥¨¥ ¢ â ¡«¨æ¥
|
OUT (SLOT1),A ; á«¥¤ãî饥 ¯®«®¦¥¨¥ ¢ â ¡«¨æ¥
|
||||||
|
|
||||||
; LD C,0
|
; LD C,0
|
||||||
@ -232,9 +231,7 @@ PLACE_L1 EQU $+1
|
|||||||
LD A,(HL) ; ¢§ïâì ¥¬ áèâ ¡¨à®¢ ®!
|
LD A,(HL) ; ¢§ïâì ¥¬ áèâ ¡¨à®¢ ®!
|
||||||
ACC_Off ; á⥪ ¢ އ“ ªá¥«¥à â®à !
|
ACC_Off ; á⥪ ¢ އ“ ªá¥«¥à â®à !
|
||||||
|
|
||||||
LD A,5
|
PLACE_L2+1: LD A,5
|
||||||
PLACE_L2 EQU $-1
|
|
||||||
|
|
||||||
OUT (SLOT1),A ; á«¥¤ãî饥 ¯®«®¦¥¨¥
|
OUT (SLOT1),A ; á«¥¤ãî饥 ¯®«®¦¥¨¥
|
||||||
EXX
|
EXX
|
||||||
;
|
;
|
||||||
@ -291,8 +288,7 @@ HIGH_1:
|
|||||||
; LD A,#06 ; 梥⠯®«
|
; LD A,#06 ; 梥⠯®«
|
||||||
; LD A,#5F ; 梥⠯®« á¥àë©
|
; LD A,#5F ; 梥⠯®« á¥àë©
|
||||||
; LD A,#CF ; 梥⠯®« ᨨ©
|
; LD A,#CF ; 梥⠯®« ᨨ©
|
||||||
LD A,#2F ; 梥⠯®« ⥬®ªà áë©
|
COLOR_LO+1: LD A,#2F ; 梥⠯®« ⥬®ªà áë©
|
||||||
COLOR_LO EQU $-1
|
|
||||||
;
|
;
|
||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
LD (DE),A ; à¨á®¢ âì ¯®«
|
LD (DE),A ; à¨á®¢ âì ¯®«
|
||||||
@ -314,7 +310,7 @@ COLOR_LO EQU $-1
|
|||||||
; NEG ; ¢ë¢®¤¨¬ë© à §¬¥à á⥪¨
|
; NEG ; ¢ë¢®¤¨¬ë© à §¬¥à á⥪¨
|
||||||
; á⥪ ¢ ªá¥«¥à â®à¥!
|
; á⥪ ¢ ªá¥«¥à â®à¥!
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD (DE),A
|
LD (DE),A ;!!!!! ¯à¨ª®«ì®
|
||||||
ACC_CopyScreenBlock
|
ACC_CopyScreenBlock
|
||||||
LD (DE),A ; ¯®«®¦¨âì á⥪ã!
|
LD (DE),A ; ¯®«®¦¨âì á⥪ã!
|
||||||
ACC_Off
|
ACC_Off
|
||||||
@ -334,8 +330,7 @@ NEXT_ANGLE:
|
|||||||
|
|
||||||
NO_TEST:
|
NO_TEST:
|
||||||
;
|
;
|
||||||
LD A,0
|
CONT_PAGE+1: LD A,0
|
||||||
CONT_PAGE EQU $-1
|
|
||||||
;
|
;
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
@ -360,8 +355,7 @@ CONT_PAGE EQU $-1
|
|||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
;
|
;
|
||||||
LD A,#0F
|
CORNER_1+1: LD A,#0F
|
||||||
CORNER_1 EQU $-1
|
|
||||||
;
|
;
|
||||||
AND #0F
|
AND #0F
|
||||||
RRCA
|
RRCA
|
||||||
@ -392,13 +386,11 @@ CORNER_1 EQU $-1
|
|||||||
|
|
||||||
TRACE_END:
|
TRACE_END:
|
||||||
;
|
;
|
||||||
LD A,0
|
TRACE_RET_SLOT3+1: LD A,0
|
||||||
TRACE_RET_SLOT3 EQU $-1
|
|
||||||
;
|
;
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;
|
;
|
||||||
LD A,5
|
TRACE_RET_SLOT1+1: LD A,5
|
||||||
TRACE_RET_SLOT1 EQU $-1
|
|
||||||
;
|
;
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD A,0
|
LD A,0
|
||||||
@ -483,7 +475,7 @@ SET_PICTURE:
|
|||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
ld bc,#0100 ; ¬ áèâ ¡¨à®¢ ¨¥ - 1
|
ld bc,#0100 ; ¬ áèâ ¡¨à®¢ ¨¥ - 1
|
||||||
OUT (C),B
|
OUT (C),C
|
||||||
|
|
||||||
LD DE,(SCREEN_1)
|
LD DE,(SCREEN_1)
|
||||||
LD B,5 ; 5 ‘’<E28098>€<EFBFBD>ˆ–
|
LD B,5 ; 5 ‘’<E28098>€<EFBFBD>ˆ–
|
||||||
@ -491,7 +483,6 @@ SET_PICTURE:
|
|||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD A,0 ; ¯® 256 ¡ ©â
|
LD A,0 ; ¯® 256 ¡ ©â
|
||||||
ACC_Off
|
ACC_Off
|
||||||
inc a ;!FIXIT ª®áâë«ì, ¨ ç¥ á® áçñâ稪®¬ ªá¥«ï çâ®-â® ¥ â ª
|
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
POP AF
|
POP AF
|
||||||
@ -704,8 +695,8 @@ WEAPON_OUT:
|
|||||||
LD A,#58
|
LD A,#58
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
WEAPON_SWITCH EQU $+1
|
WEAPON_SWITCH+1:
|
||||||
LD HL,#4500 ; ¯®«®¦¥¨¥ á¯à ©â ®àã¦¨ï ¢ áâà ¨æ¥
|
LD HL,#4500 ; ¯®«®¦¥¨¥ á¯à ©â ®àã¦¨ï ¢ áâà ¨æ¥
|
||||||
;
|
;
|
||||||
LD DE,(SCREEN_1)
|
LD DE,(SCREEN_1)
|
||||||
LD A,E
|
LD A,E
|
||||||
@ -723,7 +714,6 @@ WEAPON_SWITCH EQU $+1
|
|||||||
LD BC,#100
|
LD BC,#100
|
||||||
|
|
||||||
W_OUT_L:
|
W_OUT_L:
|
||||||
|
|
||||||
LD A,#44
|
LD A,#44
|
||||||
SUB H
|
SUB H
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
@ -874,7 +864,7 @@ MAP_LOOP_1:
|
|||||||
CP #50
|
CP #50
|
||||||
JR Z,MAP_LOOP_2
|
JR Z,MAP_LOOP_2
|
||||||
|
|
||||||
LD A,0
|
XOR A
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
POP AF
|
POP AF
|
||||||
@ -890,47 +880,43 @@ MAP_LOOP_1:
|
|||||||
;***************************************
|
;***************************************
|
||||||
;
|
;
|
||||||
|
|
||||||
WALL:
|
|
||||||
|
|
||||||
; IX+0 - áâà ¨æ á⥪¨
|
; IX+0 - áâà ¨æ á⥪¨
|
||||||
; IX+1,2 - ¤à¥á á⥪¨ ¢ áâà ¨æ¥
|
; IX+1,2 - ¤à¥á á⥪¨ ¢ áâà ¨æ¥
|
||||||
; IX+3 - ¯®«®¦¥¨¥ ¯® ¢¥à⨪ «¨ - § ¤ ¥â ¬ áèâ ¡
|
; IX+3 - ¯®«®¦¥¨¥ ¯® ¢¥à⨪ «¨ - § ¤ ¥â ¬ áèâ ¡
|
||||||
; IX+4,5 - ¯®«®¦¥¨¥ ¯® £®à¨§®â «¨
|
; IX+4,5 - ¯®«®¦¥¨¥ ¯® £®à¨§®â «¨
|
||||||
|
|
||||||
; IX+6,7 - reserved
|
; IX+6,7 - reserved
|
||||||
; IX+8,9 - X-add-parameter (ª®í䍿¨¥â ¬ áèâ ¡¨à®¢ ¨ï ¯® Y)
|
; IX+8,9 - X-add-parameter (ª®í䍿¨¥â ¬ áèâ ¡¨à®¢ ¨ï ¯® Y)
|
||||||
; IX+10 - ॠ«ì ï è¨à¨ á⥪¨ ???
|
; IX+10 - ॠ«ì ï è¨à¨ á⥪¨ ???
|
||||||
; IX+11 - ॠ«ì ï ¢ëá®â á⥪¨ ???
|
; IX+11 - ॠ«ì ï ¢ëá®â á⥪¨ ???
|
||||||
|
WALL: IN A,(SLOT3)
|
||||||
|
LD (WALL_SLOT3_RET),A
|
||||||
IN A,(SLOT3)
|
|
||||||
LD (SLOT3_RET1),A
|
|
||||||
IN A,(SLOT1)
|
IN A,(SLOT1)
|
||||||
LD (SLOT1_RET1),A
|
LD (WALL_SLOT1_RET),A
|
||||||
IN A,(PORT_Y)
|
IN A,(PORT_Y)
|
||||||
LD (RGADR_RET1),A
|
LD (WALL_PORT_Y_RET),A
|
||||||
LD A,#58
|
LD A,#58
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD A,(IX+0) ; áâà ¨æ á⥪¨
|
LD A,(IX+0) ; áâà ¨æ á⥪¨
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
|
|
||||||
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
|
||||||
AND 3
|
AND 3
|
||||||
LD (X_ADD),A
|
LD (X_ADD),A
|
||||||
INC H
|
INC H
|
||||||
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
|
||||||
@ -946,13 +932,13 @@ NO_DEL2:
|
|||||||
NO_DEL4:
|
NO_DEL4:
|
||||||
EXX
|
EXX
|
||||||
|
|
||||||
LD B,A ; ॠ«ì ï è¨à¨ á⥪¨???
|
LD B,A ; ॠ«ì ï è¨à¨ á⥪¨???
|
||||||
; LD B,(IX+10) ; è¨à¨ á⥪¨
|
; LD B,(IX+10) ; è¨à¨ á⥪¨
|
||||||
|
|
||||||
LD C,0 ; X-start-LOW
|
LD C,0 ; X-start-LOW
|
||||||
|
|
||||||
; LD HL,(SCREEN_1)
|
; LD HL,(SCREEN_1)
|
||||||
LD E,(IX+4) ; - ¤à¥á ¯® £®à¨§®â «¨
|
LD E,(IX+4) ; - ¤à¥á ¯® £®à¨§®â «¨
|
||||||
LD D,(IX+5)
|
LD D,(IX+5)
|
||||||
; ADD HL,DE
|
; ADD HL,DE
|
||||||
|
|
||||||
@ -961,15 +947,15 @@ NO_DEL4:
|
|||||||
; BIT 7,D
|
; BIT 7,D
|
||||||
; JR Z,WALL_NO_SCF
|
; JR Z,WALL_NO_SCF
|
||||||
; SCF
|
; SCF
|
||||||
; EX AF,AF' ; á¯àïâ âì ¢ AF - ¯ à ¬¥âà áç¥â稪 ¨ ä« £
|
; EX AF,AF' ; á¯àïâ âì ¢ AF - ¯ à ¬¥âà áç¥â稪 ¨ ä« £
|
||||||
; ; CF - á⥪ ¥ ¤®è« ¤® ªà ï
|
; ; CF - á⥪ ¥ ¤®è« ¤® ªà ï
|
||||||
; ; ¢ A ᪮«ìª® «¨¨© ¤® ç « íªà
|
; ; ¢ A ᪮«ìª® «¨¨© ¤® ç « íªà
|
||||||
;WALL_NO_SCF:
|
;WALL_NO_SCF:
|
||||||
;
|
;
|
||||||
; LD HL,140h
|
; LD HL,140h
|
||||||
; AND A
|
; AND A
|
||||||
; SBC HL,DE
|
; SBC HL,DE
|
||||||
; LD A,L ; ¢ A - ᪮«ìª® «¨¨© ®áâ «®áì ¤® ª®æ íªà ??
|
; LD A,L ; ¢ A - ᪮«ìª® «¨¨© ®áâ «®áì ¤® ª®æ íªà ??
|
||||||
|
|
||||||
LD HL,(SCREEN_1)
|
LD HL,(SCREEN_1)
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
@ -977,7 +963,7 @@ NO_DEL4:
|
|||||||
; LD A,(IX+3)
|
; LD A,(IX+3)
|
||||||
LD A,B
|
LD A,B
|
||||||
RRA
|
RRA
|
||||||
AND #7F ; à §¤¥«¨«¨ 2
|
AND #7F ; à §¤¥«¨«¨ 2
|
||||||
LD E,A
|
LD E,A
|
||||||
; SUB 128
|
; SUB 128
|
||||||
; LD E,A
|
; LD E,A
|
||||||
@ -1064,11 +1050,11 @@ NO_WRITE_LINE:
|
|||||||
INC DE ; ®¢®¥ § 票¥ X
|
INC DE ; ®¢®¥ § 票¥ X
|
||||||
|
|
||||||
LD A,C
|
LD A,C
|
||||||
X_ADD2 equ $+1
|
X_ADD2+1:
|
||||||
ADD A,0 ; X-add-parameter 2
|
ADD A,0 ; X-add-parameter 2
|
||||||
LD C,A
|
LD C,A
|
||||||
X_ADD equ $+1
|
X_ADD+1:
|
||||||
LD A,0 ; X-add-parameter
|
LD A,0 ; X-add-parameter
|
||||||
ADC A,H
|
ADC A,H
|
||||||
LD H,A ; á«¥¤ãîé ï «¨¨ï WOLL
|
LD H,A ; á«¥¤ãîé ï «¨¨ï WOLL
|
||||||
|
|
||||||
@ -1076,14 +1062,14 @@ X_ADD equ $+1
|
|||||||
|
|
||||||
NO_WRITE_ALL:
|
NO_WRITE_ALL:
|
||||||
;
|
;
|
||||||
RGADR_RET1 EQU $+1
|
WALL_PORT_Y_RET+1:
|
||||||
LD A,0
|
LD A,0
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
SLOT3_RET1 EQU $+1
|
WALL_SLOT3_RET+1:
|
||||||
LD A,0
|
LD A,0
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
SLOT1_RET1 EQU $+1
|
WALL_SLOT1_RET+1:
|
||||||
LD A,5
|
LD A,5
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -1321,7 +1307,7 @@ SND_OUT_S:
|
|||||||
DJNZ SND_OUT_S
|
DJNZ SND_OUT_S
|
||||||
|
|
||||||
LD A,#C9 ; § ¡¨âì ¢®§¢à â ¢ ¯à®£à ¬¬ã ¨£à ¨ï ¬ã§ëª¨
|
LD A,#C9 ; § ¡¨âì ¢®§¢à â ¢ ¯à®£à ¬¬ã ¨£à ¨ï ¬ã§ëª¨
|
||||||
LD (MemPatch_SoundOnOff),A
|
LD (SoundOnOff),A
|
||||||
|
|
||||||
POP BC
|
POP BC
|
||||||
POP AF
|
POP AF
|
||||||
@ -1332,7 +1318,7 @@ SND_CONTINUE: ;
|
|||||||
PUSH BC
|
PUSH BC
|
||||||
|
|
||||||
LD A,0 ; § ¡¨âì NOP ¢ ¯à®£à ¬¬ã ¨£à ¨ï ¬ã§ëª¨
|
LD A,0 ; § ¡¨âì NOP ¢ ¯à®£à ¬¬ã ¨£à ¨ï ¬ã§ëª¨
|
||||||
LD (MemPatch_SoundOnOff),A
|
LD (SoundOnOff),A
|
||||||
|
|
||||||
POP BC
|
POP BC
|
||||||
POP AF
|
POP AF
|
||||||
@ -1355,7 +1341,7 @@ SND_INIT:
|
|||||||
; LD (SND_P),A
|
; LD (SND_P),A
|
||||||
|
|
||||||
LD A,0
|
LD A,0
|
||||||
LD (MemPatch_SoundOnOff),A
|
LD (SoundOnOff),A
|
||||||
|
|
||||||
LD B,0
|
LD B,0
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
@ -1373,7 +1359,7 @@ SOUND:
|
|||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
IF YesSound
|
IF YesSound
|
||||||
MemPatch_SoundOnOff:
|
SoundOnOff:
|
||||||
NOP ; áî¤ ¢áâ ¢«ï¥âáï ª®¬ ¤ RET ¤«ï ®âª«îç¥¨ï §¢ãª ¨ NOP ¤«ï ¢ª«î票ï
|
NOP ; áî¤ ¢áâ ¢«ï¥âáï ª®¬ ¤ RET ¤«ï ®âª«îç¥¨ï §¢ãª ¨ NOP ¤«ï ¢ª«î票ï
|
||||||
PUSH AF
|
PUSH AF
|
||||||
PUSH HL
|
PUSH HL
|
||||||
@ -1400,7 +1386,7 @@ COV_ADR+1:
|
|||||||
|
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
LD E,A
|
LD E,A
|
||||||
MemPatch_D2_FRAM_SndPage+1:
|
D2_FRAM_SndPage+1:
|
||||||
LD A,0
|
LD A,0
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
@ -1471,7 +1457,7 @@ SND_INIT1:
|
|||||||
;_------[—⥨¥ ᥪâ®à®¢ á ¤¨áª ]-------
|
;_------[—⥨¥ ᥪâ®à®¢ á ¤¨áª ]-------
|
||||||
NO_NEW_COUNT:
|
NO_NEW_COUNT:
|
||||||
LD HL,-SND_READ_SECTORS*512 ; ¡ãä¥à ¤«ï ¤ ëå
|
LD HL,-SND_READ_SECTORS*512 ; ¡ãä¥à ¤«ï ¤ ëå
|
||||||
LD A,0 ; áâà ¨æ ¡ãä¥à , ¥á«¨ ¤à¥á ¢ ®ª¥ #C000
|
LD A,(D2_FRAM_SndPage) ;!FIXIT ; áâà ¨æ ¡ãä¥à , ¥á«¨ ¤à¥á ¢ ®ª¥ #C000
|
||||||
LD DE,(SND_S1) ; ¡á®«îâë© ®¬¥à ᥪâ®à Œ« ¤è ï ç áâì
|
LD DE,(SND_S1) ; ¡á®«îâë© ®¬¥à ᥪâ®à Œ« ¤è ï ç áâì
|
||||||
LD IX,(SND_S2) ; ¡á®«îâë© ®¬¥à ᥪâ®à ‘â àè ï ç áâì
|
LD IX,(SND_S2) ; ¡á®«îâë© ®¬¥à ᥪâ®à ‘â àè ï ç áâì
|
||||||
LD B,SND_READ_SECTORS ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
|
LD B,SND_READ_SECTORS ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
|
||||||
@ -1508,7 +1494,6 @@ NO_NEW_COUNT:
|
|||||||
LD (SND_A),HL
|
LD (SND_A),HL
|
||||||
|
|
||||||
NO_SNDP:
|
NO_SNDP:
|
||||||
|
|
||||||
LD A,B
|
LD A,B
|
||||||
CPL
|
CPL
|
||||||
LD (COV_ADR),A
|
LD (COV_ADR),A
|
||||||
@ -1527,22 +1512,22 @@ NO_LD_SND:
|
|||||||
POP HL
|
POP HL
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
ENDIF
|
ENDIF
|
||||||
;
|
;
|
||||||
IF !YesSound
|
IF !YesSound
|
||||||
YesSoundZero:
|
YesSoundZero:
|
||||||
PUSH AF
|
PUSH AF
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL KBD_INT
|
CALL KBD_INT
|
||||||
POP HL
|
POP HL
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
EFFECTS:
|
EFFECTS:
|
||||||
IF !YesSound
|
IF !YesSound
|
||||||
RET
|
RET
|
||||||
ENDIF
|
ENDIF
|
||||||
LD DE,(EFF_)
|
LD DE,(EFF_)
|
||||||
LD A,D
|
LD A,D
|
||||||
CP #C0
|
CP #C0
|
||||||
@ -1569,7 +1554,6 @@ EFF_LOOP:
|
|||||||
LD (EFF_),DE
|
LD (EFF_),DE
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
|
|
||||||
RET
|
RET
|
||||||
;***************************************
|
;***************************************
|
||||||
|
|
||||||
|
|||||||
518
DOOM2.asm
518
DOOM2.asm
@ -12,21 +12,18 @@
|
|||||||
|
|
||||||
; IFDEF HARDWARE
|
; IFDEF HARDWARE
|
||||||
; DEFINE NORM_ACC 1
|
; DEFINE NORM_ACC 1
|
||||||
; DEFINE NORM_syncPORT 1
|
|
||||||
; DEFINE NORM_FastRAM 1
|
; DEFINE NORM_FastRAM 1
|
||||||
; ENDIF
|
; ENDIF
|
||||||
; IFDEF ZXMAK2
|
; IFDEF ZXMAK2
|
||||||
; DEFINE NORM_ACC 0
|
; DEFINE NORM_ACC 0
|
||||||
; DEFINE NORM_syncPORT 0
|
|
||||||
; DEFINE NORM_FastRAM 0
|
; DEFINE NORM_FastRAM 0
|
||||||
; ENDIF
|
; ENDIF
|
||||||
; IFDEF MAME
|
; IFDEF MAME
|
||||||
; DEFINE NORM_ACC 1
|
; DEFINE NORM_ACC 1
|
||||||
; DEFINE NORM_syncPORT 0
|
|
||||||
; DEFINE NORM_FastRAM 1
|
; DEFINE NORM_FastRAM 1
|
||||||
; ENDIF
|
; ENDIF
|
||||||
|
|
||||||
IFNDEF YesSound : DEFINE YesSound 0 : ENDIF
|
IFNDEF YesSound : DEFINE YesSound 1 : ENDIF
|
||||||
|
|
||||||
DEFINE EXE_HEADER 1
|
DEFINE EXE_HEADER 1
|
||||||
; DEFINE NEED_LOADER 1
|
; DEFINE NEED_LOADER 1
|
||||||
@ -90,8 +87,7 @@ TABLE_W EQU #2000 ; ⥪
|
|||||||
ORG org_addr - CLP_Buffer
|
ORG org_addr - CLP_Buffer
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
BEGIN:
|
BEGIN: DI
|
||||||
DI
|
|
||||||
|
|
||||||
LD (CMD_Line),IX ; á®åà ¨âì 㪠§ â¥«ì ¯ à ¬¥âàë § ¯ãáª
|
LD (CMD_Line),IX ; á®åà ¨âì 㪠§ â¥«ì ¯ à ¬¥âàë § ¯ãáª
|
||||||
CMD_Line+1:
|
CMD_Line+1:
|
||||||
@ -128,11 +124,11 @@ Loader_length EQU 0
|
|||||||
;-----[ˆ¨æ¨ «¨§ æ¨ï Covox-Blaster]-----
|
;-----[ˆ¨æ¨ «¨§ æ¨ï Covox-Blaster]-----
|
||||||
; IF YesSound
|
; IF YesSound
|
||||||
ld bc,CBL.SYS_PORT
|
ld bc,CBL.SYS_PORT
|
||||||
ld a,#80
|
ld a,CBL.Blaster + CBL.Mono + CBL.is8bit + CBL.Int_off + CBL.KHz_16old
|
||||||
out (c),a
|
out (c),a
|
||||||
;
|
;
|
||||||
;-----------[§ £«ãè¨âì §¢ãª]------------
|
;-----------[§ £«ãè¨âì §¢ãª]------------
|
||||||
LD A,#FF ; !FIXIT à §¢¥ â ª ¤® £«ãè¨âì? <20>¥ à㤨¬¥âë Sp97?
|
LD A,#FF ; !FIXIT à §¢¥ â ª ¤® £«ãè¨âì? <20>¥ à㤨¬¥âë Sp97?
|
||||||
1: CALL CLEAR_COVOX_X
|
1: CALL CLEAR_COVOX_X
|
||||||
DEC A
|
DEC A
|
||||||
CP #80
|
CP #80
|
||||||
@ -149,15 +145,15 @@ Loader_length EQU 0
|
|||||||
ld a,(RAMBlkIDs)
|
ld a,(RAMBlkIDs)
|
||||||
ld bc,BIOS.GetMemPage
|
ld bc,BIOS.GetMemPage
|
||||||
rst ToBIOS
|
rst ToBIOS
|
||||||
di
|
;di
|
||||||
ld (MemPatch_PalitrePage),a
|
ld (PalitrePage),a
|
||||||
|
|
||||||
ld a,(RAMBlkIDs+3)
|
ld a,(RAMBlkIDs+3)
|
||||||
ld bc,BIOS.GetMemPage
|
ld bc,BIOS.GetMemPage
|
||||||
rst ToBIOS
|
rst ToBIOS
|
||||||
di
|
;di
|
||||||
ld (MemPatch_D2_FRAM_page),a
|
ld (D2_FRAM_page),a
|
||||||
DI
|
;DI
|
||||||
|
|
||||||
CALL CLEAR_GRAF_SCR
|
CALL CLEAR_GRAF_SCR
|
||||||
|
|
||||||
@ -175,9 +171,11 @@ Loader_length EQU 0
|
|||||||
CALL SET_PAL
|
CALL SET_PAL
|
||||||
|
|
||||||
;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ¨ï]----
|
;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ¨ï]----
|
||||||
|
; ®¤¨ ¢ãâ२© ¯®àâ ¬ áèâ ¡¨à®¢ ¨ï ¬ ¯¯¨âáï ¤¨ ¯¯ §® #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 ; ¬ áª
|
||||||
LD BC,ACEX.SCALE*256 + BIOS.DCP_CONFIG
|
LD BC,ACEX.SCALE*256 + BIOS.DCP_CONFIG
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
|
|
||||||
@ -186,42 +184,30 @@ Loader_length EQU 0
|
|||||||
; LD A,DCP_PAGE
|
; LD A,DCP_PAGE
|
||||||
; OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
; LD A,ACEX.SCALE
|
; LD A,ACEX.SCALE
|
||||||
|
; LD (#C400),A ; ¯®àâ #XX00 Dos off
|
||||||
;
|
; LD (#C410),A ; ¯®àâ #XX00 Dos off
|
||||||
; ®¤¨ ¢ãâ२© ¯®àâ ¬ áèâ ¡¨à®¢ ¨ï
|
; LD (#C480),A ; ¯®àâ #XX00 Dos off
|
||||||
; ¬ ¯¯¨âáï ¥áª®«ìª® ¤¨ ¯¯ §®®¢
|
; LD (#C490),A ; ¯®àâ #XX00 Dos off
|
||||||
; ¢¥è¨å ¯®à⮢
|
; LD (#C500),A ; ¯®àâ #XX00 Dos off
|
||||||
; Œ áª
|
; LD (#C510),A ; ¯®àâ #XX00 Dos off
|
||||||
|
; LD (#C580),A ; ¯®àâ #XX00 Dos off
|
||||||
; LD (#C400),A ; ¯®àâ #0000 Dos off
|
; LD (#C590),A ; ¯®àâ #XX00 Dos off
|
||||||
; LD (#C410),A ; ¯®àâ #2000 Dos off
|
|
||||||
; LD (#C480),A ; ¯®àâ #4000 Dos off
|
|
||||||
; LD (#C490),A ; ¯®àâ #6000 Dos off
|
|
||||||
; LD (#C500),A ; ¯®àâ #8000 Dos off
|
|
||||||
; LD (#C510),A ; ¯®àâ #A000 Dos off
|
|
||||||
; LD (#C580),A ; ¯®àâ #C000 Dos off
|
|
||||||
; LD (#C590),A ; ¯®àâ #E000 Dos off
|
|
||||||
|
|
||||||
; EX AF,AF'
|
; EX AF,AF'
|
||||||
; OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
;---------------------------------------
|
; €ªâ¨¢ æ¨ï €ªá¥«ï ¬ áèâ ¡¨à®¢ ¨ï, ®¡à ⮠⮫쪮 ç¥à¥§ à¥á¥â
|
||||||
EXX
|
LD BC,#100 ; C - ¬ áèâ ¡ 1:1
|
||||||
LD BC,#100 ; ¬ áèâ ¡ 1:1
|
OUT (C),C
|
||||||
LD D,0
|
;-----------------------------------------------------------------------
|
||||||
OUT (C),D
|
|
||||||
EXX
|
|
||||||
|
|
||||||
;
|
|
||||||
; IFN NORM_syncPORT
|
;-----------------------------------------------------------------------
|
||||||
; DI
|
|
||||||
; LD A, +(high im_handler_emulator)
|
|
||||||
; LD I,A
|
|
||||||
; ; IM 2 - ¯®ª ¥ ¢ª«îç ¥¬, ¯à®æ¥¤ãà ¯à¥àë¢ ¨ï ¯àë£ ¥â ¢ ªíè, ® ¥ ¢áâ ¢«¥ ¨ ¥ ¯à®£à㦥
|
|
||||||
; ENDIF
|
|
||||||
CALL MAIN
|
CALL MAIN
|
||||||
;------------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;-----------------------------------------------------------------------
|
||||||
|
|
||||||
; E)eeeeee X) xx I)iiii T)tttttt
|
; E)eeeeee X) xx I)iiii T)tttttt
|
||||||
; E) X) xx I) T)
|
; E) X) xx I) T)
|
||||||
; E)eeeee X)xx I) T)
|
; E)eeeee X)xx I) T)
|
||||||
@ -230,7 +216,7 @@ Loader_length EQU 0
|
|||||||
; E)eeeeee X) xx I)iiii T)
|
; E)eeeeee X) xx I)iiii T)
|
||||||
|
|
||||||
|
|
||||||
;------------------------------------------------------------------------
|
;-----------------------------------------------------------------------
|
||||||
|
|
||||||
;----[LP_OPEN_S]------------------------
|
;----[LP_OPEN_S]------------------------
|
||||||
; Žâªàë⨥ áâ ¤ àâëå ®ª®
|
; Žâªàë⨥ áâ ¤ àâëå ®ª®
|
||||||
@ -266,16 +252,16 @@ RETURN_POINT: ;
|
|||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD (#C000),HL
|
LD (#C000),HL
|
||||||
HALT_L:
|
HALT_L:
|
||||||
DI
|
;DI
|
||||||
HALT
|
HALT
|
||||||
JR HALT_L
|
JR HALT_L
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
|
|
||||||
SET_PAL_x:
|
SET_PAL_x:
|
||||||
FRAM_OFF
|
IN A,(FastRAM.OFF)
|
||||||
CALL SET_PAL
|
CALL SET_PAL
|
||||||
FRAM_ON
|
IN A,(FastRAM.ON)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SET_PAL:
|
SET_PAL:
|
||||||
@ -294,7 +280,7 @@ SET_PAL:
|
|||||||
|
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
MemPatch_PalitrePage+1:
|
PalitrePage+1:
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
@ -304,7 +290,7 @@ MemPatch_PalitrePage+1:
|
|||||||
LD B,#FF
|
LD B,#FF
|
||||||
LD C,BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
LD C,BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
DI
|
;DI
|
||||||
|
|
||||||
LD HL,#C000
|
LD HL,#C000
|
||||||
LD DE,0
|
LD DE,0
|
||||||
@ -312,7 +298,7 @@ MemPatch_PalitrePage+1:
|
|||||||
LD B,#FF
|
LD B,#FF
|
||||||
LD C,BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
LD C,BIOS.PIC_SET_PAL ; ãáâ ®¢ª ¯ «¨âàë
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
DI
|
;DI
|
||||||
|
|
||||||
POP AF
|
POP AF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -324,12 +310,12 @@ CLEAR_GRAF_SCR:
|
|||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
|
|
||||||
LD (MemPatch_SPSave2),SP
|
LD (SPSave2),SP
|
||||||
|
|
||||||
LD A,#50
|
LD A,#50
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD A,0
|
XOR A
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
LD SP,#C040 + 640
|
LD SP,#C040 + 640
|
||||||
@ -339,10 +325,7 @@ CLEAR_GRAF_SCR:
|
|||||||
LOOP_CLS:
|
LOOP_CLS:
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
LD E,0
|
LD E,0
|
||||||
ACC_Off ; !FIXIT ã¡à âì?????
|
|
||||||
|
|
||||||
LD D,E
|
LD D,E
|
||||||
|
|
||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH DE
|
PUSH DE
|
||||||
@ -350,7 +333,7 @@ LOOP_CLS:
|
|||||||
|
|
||||||
DJNZ LOOP_CLS
|
DJNZ LOOP_CLS
|
||||||
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
MemPatch_SPSave2+1:
|
SPSave2+1:
|
||||||
LD SP,0
|
LD SP,0
|
||||||
POP AF
|
POP AF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -411,7 +394,7 @@ MemPatch_SPSave2+1:
|
|||||||
;
|
;
|
||||||
|
|
||||||
FLAG: DB 0
|
FLAG: DB 0
|
||||||
SAVE_RGA: DB 0
|
;SAVE_PORT_Y: DB 0
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
CLEAR_COVOX:
|
CLEAR_COVOX:
|
||||||
@ -465,8 +448,7 @@ LOOP_PAL_D:
|
|||||||
SUB E
|
SUB E
|
||||||
JR NC,NO_Z
|
JR NC,NO_Z
|
||||||
XOR A
|
XOR A
|
||||||
NO_Z:
|
NO_Z: LD (HL),A
|
||||||
LD (HL),A
|
|
||||||
INC L
|
INC L
|
||||||
DEC D
|
DEC D
|
||||||
JR NZ,LOOP_PAL_D
|
JR NZ,LOOP_PAL_D
|
||||||
@ -489,12 +471,11 @@ NO_PAL_EXE:
|
|||||||
;
|
;
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
MAIN:
|
MAIN: CALL INIT_TABLE
|
||||||
CALL INIT_TABLE
|
|
||||||
RET C
|
RET C
|
||||||
|
|
||||||
IN A,(PORT_Y)
|
;IN A,(PORT_Y)
|
||||||
LD (SAVE_RGA),A
|
;LD (SAVE_PORT_Y),A
|
||||||
LD A,#C0
|
LD A,#C0
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
CALL RECALC_MAP
|
CALL RECALC_MAP
|
||||||
@ -504,10 +485,10 @@ MAIN:
|
|||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
|
|
||||||
LD A,(SAVE_RGA)
|
;LD A,(SAVE_PORT_Y)
|
||||||
OUT (PORT_Y),A
|
;OUT (PORT_Y),A
|
||||||
|
|
||||||
ret c ; 㦮 «¨???!!!
|
RET C ; 㦮 «¨???!!!
|
||||||
|
|
||||||
XOR A
|
XOR A
|
||||||
LD (LAST_KEY),A
|
LD (LAST_KEY),A
|
||||||
@ -574,7 +555,7 @@ TAB_320x256_1
|
|||||||
;----[¯¥à¥¡à®á ç á⨠ª®¤ ¢ FastRAM]----
|
;----[¯¥à¥¡à®á ç á⨠ª®¤ ¢ FastRAM]----
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
MemPatch_D2_FRAM_page+1:
|
D2_FRAM_page+1:
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
@ -589,34 +570,27 @@ MemPatch_D2_FRAM_page+1:
|
|||||||
; ¤® ¯®â®¬ ®à¬ «ì® ¢ë¤¥«ïâì ¨
|
; ¤® ¯®â®¬ ®à¬ «ì® ¢ë¤¥«ïâì ¨
|
||||||
; ®á¢®¡®¦¤ âì ¯ ¬ïâì, ¥ ¢®â íâ® ¢áñ
|
; ®á¢®¡®¦¤ âì ¯ ¬ïâì, ¥ ¢®â íâ® ¢áñ
|
||||||
;
|
;
|
||||||
ld b,1
|
ld b,2
|
||||||
ld c,Dss.GetMem
|
ld c,Dss.GetMem
|
||||||
rst ToDSS
|
rst ToDSS
|
||||||
PUSH AF ; ID ¡«®ª á⥪
|
;
|
||||||
ld bc,BIOS.GetMemPage
|
LD (CatPage),a
|
||||||
rst ToBIOS
|
|
||||||
LD (MemPatch_CatPage),a
|
|
||||||
ld b,1
|
ld b,1
|
||||||
POP AF ; ID ¡«®ª á® á⥪
|
|
||||||
ld c,BIOS.GetMemPage
|
ld c,BIOS.GetMemPage
|
||||||
rst ToBIOS
|
rst ToBIOS
|
||||||
di
|
;
|
||||||
|
ld (DOOM2_SndPage),a
|
||||||
|
ld (D2_FRAM_SndPage+#B000),a
|
||||||
|
;di
|
||||||
;----[]
|
;----[]
|
||||||
ENDIF
|
ENDIF
|
||||||
|
IN A,(FastRAM.ON)
|
||||||
FRAM_ON
|
|
||||||
|
|
||||||
LD HL,#C000
|
LD HL,#C000
|
||||||
LD DE,#1000
|
LD DE,#1000
|
||||||
LD BC,D2_fram_END-TRACE
|
LD BC,D2_fram_END-TRACE
|
||||||
LDIR
|
LDIR
|
||||||
|
|
||||||
|
|
||||||
IF YesSound
|
|
||||||
ld (MemPatch_D2_FRAM_SndPage),a
|
|
||||||
ld (MemPatch_DOOM2_SndPage),a
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
; IFN NORM_syncPORT
|
; IFN NORM_syncPORT
|
||||||
; IM 2 ; ¢®â ⥯¥àì ¬®¦® ¢ª«îç âì
|
; IM 2 ; ¢®â ⥯¥àì ¬®¦® ¢ª«îç âì
|
||||||
; ENDIF
|
; ENDIF
|
||||||
@ -639,10 +613,10 @@ MemPatch_D2_FRAM_page+1:
|
|||||||
|
|
||||||
CALL CLEAR_COVOX
|
CALL CLEAR_COVOX
|
||||||
|
|
||||||
FRAM_OFF
|
IN A,(FastRAM.OFF)
|
||||||
CALL INIT_HDD_WORK
|
CALL INIT_HDD_WORK
|
||||||
|
|
||||||
FRAM_ON
|
IN A,(FastRAM.ON)
|
||||||
SOUND_SWITCH:
|
SOUND_SWITCH:
|
||||||
IF YesSound
|
IF YesSound
|
||||||
LD HL,NAMES+1
|
LD HL,NAMES+1
|
||||||
@ -660,9 +634,16 @@ SOUND_S1:
|
|||||||
RLCA
|
RLCA
|
||||||
RLCA
|
RLCA
|
||||||
RLCA
|
RLCA
|
||||||
ADD A,#80
|
;
|
||||||
LD E,A
|
ADD A,low (NAMES+2)
|
||||||
LD D,#80
|
LD E,A
|
||||||
|
LD A,0
|
||||||
|
RLA
|
||||||
|
ADD A,high (NAMES+2)
|
||||||
|
LD D,A
|
||||||
|
;ADD A,#80
|
||||||
|
;LD E,A
|
||||||
|
;LD D,#80
|
||||||
CALL SET_SND_FILE
|
CALL SET_SND_FILE
|
||||||
CALL INIT_SOUND
|
CALL INIT_SOUND
|
||||||
ENDIF
|
ENDIF
|
||||||
@ -940,7 +921,7 @@ M_VAR3 EQU $-MONSTR_DAT
|
|||||||
; bit 6 - ¯®ª §ë¢ âì ®¤¨ 横«
|
; bit 6 - ¯®ª §ë¢ âì ®¤¨ 横«
|
||||||
; bit 7 - ¥ ¢ë¢®¤¨âì
|
; bit 7 - ¥ ¢ë¢®¤¨âì
|
||||||
;
|
;
|
||||||
M_VAR4 EQU $-MONSTR_DAT
|
M_VAR4 EQU $-MONSTR_DAT
|
||||||
DB 0 ; <20>¥à¥ª«î票¥ ¬®áâà ADD ¯ à ¬¥âà
|
DB 0 ; <20>¥à¥ª«î票¥ ¬®áâà ADD ¯ à ¬¥âà
|
||||||
|
|
||||||
MONSTR_D_LEN EQU $-MONSTR_DAT ;á«¥¤ãî騩 ¬®áâà
|
MONSTR_D_LEN EQU $-MONSTR_DAT ;á«¥¤ãî騩 ¬®áâà
|
||||||
@ -969,257 +950,28 @@ MONSTR_DATS:
|
|||||||
;
|
;
|
||||||
; **************************************
|
; **************************************
|
||||||
;
|
;
|
||||||
MSD_DATS:
|
|
||||||
DW 0,0,0,0
|
|
||||||
DW 0,0,0,0
|
|
||||||
|
|
||||||
;CAT_PAGE EQU 15
|
;CAT_PAGE EQU 15
|
||||||
|
|
||||||
EFF_PAGE: DB #FF
|
EFF_PAGE: DB #FF
|
||||||
PAGE_M_PLACE: DB #FF
|
PAGE_M_PLACE: DB #FF
|
||||||
FIRE_PAGE: DB #FF
|
FIRE_PAGE: DB #FF
|
||||||
BAR_PAGE: DB #FF
|
BAR_PAGE: DB #FF
|
||||||
BFGF_PAGE: DB #FF
|
BFGF_PAGE: DB #FF
|
||||||
|
|
||||||
MONSTR_END_T: DW MONSTR_TABLE
|
MONSTR_END_T: DW MONSTR_TABLE
|
||||||
|
|
||||||
|
;=======================================================================
|
||||||
|
;=======================================================================
|
||||||
|
|
||||||
;-------[¨¨æ¨ «¨§ æ¨ï ¢¨ç¥áâ¥à ]------; “<><E2809C>€’œ!!!
|
INCLUDE 'Music_4x.asm'
|
||||||
INIT_HDD_WORK:
|
|
||||||
|
|
||||||
IFN YesSound
|
;=======================================================================
|
||||||
RET
|
;=======================================================================
|
||||||
ENDIF
|
|
||||||
|
|
||||||
LD C,BIOS.HDD_INIT
|
|
||||||
RST ToBIOS
|
|
||||||
JR C,INIT_HDD_WORK
|
|
||||||
;---------------------------------------
|
|
||||||
|
|
||||||
IN A,(SLOT3)
|
|
||||||
PUSH AF
|
|
||||||
LD A,SYS_PAGE
|
|
||||||
OUT (SLOT3),A
|
|
||||||
|
|
||||||
LD HL,SYS_PAGE.MSD_FAT_SEC
|
|
||||||
LD DE,MSD_DATS
|
|
||||||
LD BC,16
|
|
||||||
LDIR
|
|
||||||
POP AF
|
|
||||||
OUT (SLOT3),A
|
|
||||||
|
|
||||||
;-----[ç¨â âì ᥪâ®àë á ¢¨ç¥áâ¥à ]-----
|
|
||||||
LD HL,#C000 ; ¤à¥á ¡ãä¥à ¤ ëå
|
|
||||||
LD DE,(MSD_DATS+4) ; CAT TABLE. ¡á®«îâë© ®¬¥à ᥪâ®à ¬« ¤è ï ç áâì
|
|
||||||
LD IX,(MSD_DATS+6) ; ¡á®«îâë© ®¬¥à ᥪâ®à áâ àè ï ç áâì
|
|
||||||
LD B,32 ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
|
|
||||||
MemPatch_CatPage EQU $+1
|
|
||||||
LD A,15 ; áâà ¨æ ¡ãä¥à , ¥á«¨ ¤à¥á ¢ ®ª¥ 0C000h
|
|
||||||
LD C,BIOS.HDD_READ
|
|
||||||
RST ToBIOS ; § £à㧨âì CAT
|
|
||||||
;---------------------------------------
|
|
||||||
RET
|
|
||||||
|
|
||||||
|
|
||||||
SND_SEC1: DW 12525 ; ç «ìë© á¥ªâ®à
|
|
||||||
SND_SEC2: DW 0
|
|
||||||
SND_L1: DW 1720H ; ¤«¨
|
|
||||||
SND_L2: DW 0
|
|
||||||
|
|
||||||
SND_S1: DW 12525 ; ⥪ã訩 ᥪâ®à
|
|
||||||
SND_S2: DW 0
|
|
||||||
SND_C1: DW 1720H ; ®áâ ⮪ ¤® ª®æ
|
|
||||||
SND_C2: DW 0
|
|
||||||
|
|
||||||
SET_SND_FILE:
|
|
||||||
IFN YesSound
|
|
||||||
ret
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
CALL OPEN_FILE
|
|
||||||
RET C
|
|
||||||
|
|
||||||
LD (SND_SEC1),IX ; ᥪâ®à ¬ã§ëª¨!!!
|
|
||||||
LD (SND_SEC2),HL
|
|
||||||
LD HL,(FILE_DATA+2)
|
|
||||||
LD DE,(FILE_DATA+4)
|
|
||||||
AND A
|
|
||||||
RR D
|
|
||||||
RR E
|
|
||||||
RR H
|
|
||||||
LD L,H
|
|
||||||
LD H,E
|
|
||||||
LD E,D
|
|
||||||
LD D,0
|
|
||||||
LD (SND_L1),HL ; ¤«¨ ¢ ᥪâ®à å
|
|
||||||
LD (SND_L2),DE ; ¤«¨ ¢ ᥪâ®à å
|
|
||||||
AND A
|
|
||||||
RET
|
|
||||||
|
|
||||||
SWITCH_SND:
|
|
||||||
NAME_S+1: LD DE,NAME1
|
|
||||||
CALL SET_SND_FILE
|
|
||||||
JR C,SWITCH_X
|
|
||||||
|
|
||||||
LD HL,(NAME_S)
|
|
||||||
LD BC,16
|
|
||||||
ADD HL,BC
|
|
||||||
LD (NAME_S),HL
|
|
||||||
RET
|
|
||||||
|
|
||||||
SWITCH_X:
|
|
||||||
LD HL,NAME1
|
|
||||||
LD (NAME_S),HL
|
|
||||||
JR SWITCH_SND
|
|
||||||
|
|
||||||
FILE_DATA:
|
|
||||||
DW 0 ; ç «ìë© ª« áâ¥à
|
|
||||||
DW 0,0 ; ¤«¨ ä ©«
|
|
||||||
|
|
||||||
DW 0 ; ⥪ã騩 ª« áâ¥à
|
|
||||||
DW 0,0 ; ⥪ã饥 ¯®«®¦¥¨¥ ¢ ä ©«¥
|
|
||||||
DW 0 ; ⥪ã騩 ®¬¥à ᥪâ®à ¢ ª« áâ¥à¥
|
|
||||||
;
|
|
||||||
OPEN_FILE: ; DE - name
|
|
||||||
CALL FIND_FILE
|
|
||||||
RET C
|
|
||||||
|
|
||||||
LD C,SLOT3
|
|
||||||
IN B,(C)
|
|
||||||
|
|
||||||
PUSH BC
|
|
||||||
LD A,(MemPatch_CatPage)
|
|
||||||
OUT (C),A
|
|
||||||
LD BC,26
|
|
||||||
ADD HL,BC
|
|
||||||
LD DE,FILE_DATA
|
|
||||||
LD BC,6
|
|
||||||
LDIR
|
|
||||||
|
|
||||||
POP BC
|
|
||||||
OUT (C),B
|
|
||||||
|
|
||||||
LD HL,(FILE_DATA)
|
|
||||||
LD (FILE_DATA+6),HL
|
|
||||||
LD HL,0
|
|
||||||
LD (FILE_DATA+8),HL
|
|
||||||
LD (FILE_DATA+10),HL
|
|
||||||
LD (FILE_DATA+12),HL
|
|
||||||
|
|
||||||
LD IX,(FILE_DATA) ; ®¬¥à ¯¥à¢®£® ª« áâ¥à
|
|
||||||
DEC IX
|
|
||||||
DEC IX ; -2 !!!
|
|
||||||
LD HL,0
|
|
||||||
SCF
|
|
||||||
LD DE,(MSD_DATS+13) ; ¤«¨ ª« áâ¥à ¢ ¡ ©â å
|
|
||||||
RR D
|
|
||||||
RR E
|
|
||||||
SEC_MUL:
|
|
||||||
RR D
|
|
||||||
RR E
|
|
||||||
JR C,SECT_X
|
|
||||||
ADD IX,IX
|
|
||||||
ADC HL,HL
|
|
||||||
JR SEC_MUL
|
|
||||||
|
|
||||||
SECT_X:
|
|
||||||
LD DE,(MSD_DATS+8)
|
|
||||||
ADD IX,DE
|
|
||||||
LD DE,(MSD_DATS+10)
|
|
||||||
ADC HL,DE ; HL:IX - ®¬¥à ¯¥à¢®£® ᥪâ®à ä ©«
|
|
||||||
|
|
||||||
AND A
|
|
||||||
RET
|
|
||||||
;
|
|
||||||
;DE - name - 11 ᨬ¢®«®¢
|
|
||||||
FIND_FILE:
|
|
||||||
;
|
|
||||||
LD C,SLOT3
|
|
||||||
IN B,(C)
|
|
||||||
PUSH BC
|
|
||||||
|
|
||||||
LD A,(MemPatch_CatPage)
|
|
||||||
OUT (C),A
|
|
||||||
|
|
||||||
LD HL,#C000
|
|
||||||
|
|
||||||
NEXT_LOOP:
|
|
||||||
LD B,11
|
|
||||||
PUSH DE
|
|
||||||
|
|
||||||
NAME_LOOP:
|
|
||||||
LD A,(DE)
|
|
||||||
CP (HL)
|
|
||||||
JR NZ,NEXT_NAME
|
|
||||||
INC HL
|
|
||||||
INC DE
|
|
||||||
DJNZ NAME_LOOP
|
|
||||||
|
|
||||||
POP DE
|
|
||||||
LD A,L
|
|
||||||
AND #E0
|
|
||||||
LD L,A
|
|
||||||
|
|
||||||
POP BC
|
|
||||||
OUT (C),B
|
|
||||||
AND A
|
|
||||||
RET ; HL - ¤ ë¥ ä ©« ¢ áâà ¨æ¥ 6
|
|
||||||
|
|
||||||
NEXT_NAME:
|
|
||||||
POP DE
|
|
||||||
LD A,L
|
|
||||||
AND #E0
|
|
||||||
LD L,A
|
|
||||||
LD BC,#20
|
|
||||||
ADD HL,BC
|
|
||||||
LD A,(HL)
|
|
||||||
AND A
|
|
||||||
JR Z,END_CAT
|
|
||||||
LD A,H
|
|
||||||
AND A
|
|
||||||
JR NZ,NEXT_LOOP
|
|
||||||
|
|
||||||
END_CAT:
|
|
||||||
POP BC
|
|
||||||
OUT (C),B
|
|
||||||
SCF
|
|
||||||
RET
|
|
||||||
|
|
||||||
HDD_FN:
|
|
||||||
EX AF,AF'
|
|
||||||
FRAM_OFF ; ®âª«îç ¥¬ ªíè
|
|
||||||
IN A,(SLOT1)
|
|
||||||
PUSH AF
|
|
||||||
IN A,(SLOT3)
|
|
||||||
PUSH AF
|
|
||||||
LD A,5 ; <20>…<EFBFBD>…„…‹€’œ!!!
|
|
||||||
OUT (SLOT1),A
|
|
||||||
MemPatch_DOOM2_SndPage EQU $+1
|
|
||||||
LD A,0
|
|
||||||
OUT (SLOT3),A
|
|
||||||
|
|
||||||
IN A,(PORT_Y)
|
|
||||||
PUSH AF
|
|
||||||
EX AF,AF'
|
|
||||||
|
|
||||||
RST ToBIOS ; ç¨â âì ᥪâ®à á ¢¨ç¥áâ¥à , äãªæ¨ï #45
|
|
||||||
DI
|
|
||||||
|
|
||||||
POP AF
|
|
||||||
OUT (PORT_Y),A
|
|
||||||
POP AF
|
|
||||||
OUT (SLOT3),A
|
|
||||||
POP AF
|
|
||||||
OUT (SLOT1),A
|
|
||||||
FRAM_ON ; ¢ª«îç ¥¬ ªíè
|
|
||||||
RET
|
|
||||||
;
|
|
||||||
; **************************************
|
|
||||||
;
|
|
||||||
|
|
||||||
SKY_1: DB #FF
|
SKY_1: DB #FF
|
||||||
SKY_2: DB #FF
|
SKY_2: DB #FF
|
||||||
PAGE_WEAPON: DB #FF
|
PAGE_WEAPON: DB #FF
|
||||||
|
|
||||||
;***************************************
|
;***************************************
|
||||||
;***************************************
|
;***************************************
|
||||||
@ -1416,7 +1168,7 @@ NEXT_HL_FFING:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
;***************************************
|
;***************************************
|
||||||
DS #8700-$ ;‚›<E2809A>€‚<E282AC>ˆ‚€<E2809A>ˆ…
|
BLOCK #8700-$,0 ;‚›<E2809A>€‚<E282AC>ˆ‚€<E2809A>ˆ…
|
||||||
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
; âãâ ¢ëà ¢¨¢ ¨¥ 0 ¢ ¬« ¤è¥¬
|
; âãâ ¢ëà ¢¨¢ ¨¥ 0 ¢ ¬« ¤è¥¬
|
||||||
; ¡¨â¥ ¤à¥á
|
; ¡¨â¥ ¤à¥á
|
||||||
@ -1427,7 +1179,7 @@ TABLE_PIC: DS 6
|
|||||||
;-------[§ £à㧪 à¥áãàᮢ ¨£àë]--------
|
;-------[§ £à㧪 à¥áãàᮢ ¨£àë]--------
|
||||||
Load_Resources:
|
Load_Resources:
|
||||||
in a,(SLOT3)
|
in a,(SLOT3)
|
||||||
ld (.MemPatch_SavePage),a
|
ld (.SavePage),a
|
||||||
|
|
||||||
LD B,FilesTBL.END
|
LD B,FilesTBL.END
|
||||||
LD DE,FilesTBL
|
LD DE,FilesTBL
|
||||||
@ -1440,7 +1192,7 @@ Load_Resources:
|
|||||||
ex de,hl
|
ex de,hl
|
||||||
ld b,(hl) ; FilesTBL
|
ld b,(hl) ; FilesTBL
|
||||||
inc hl
|
inc hl
|
||||||
ld (.MemPatch_FileName),hl
|
ld (.FileName),hl
|
||||||
|
|
||||||
; B - à §¬¥à ¡«®ª ¢ áâà ¨æ å
|
; B - à §¬¥à ¡«®ª ¢ áâà ¨æ å
|
||||||
ld c,Dss.GetMem
|
ld c,Dss.GetMem
|
||||||
@ -1464,12 +1216,12 @@ Load_Resources:
|
|||||||
push hl ;++¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
push hl ;++¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
||||||
push bc ;++᪮«ìª® áâà ¨æ £à㧨¬
|
push bc ;++᪮«ìª® áâà ¨æ £à㧨¬
|
||||||
|
|
||||||
.MemPatch_FileName EQU $+1
|
.FileName+1:
|
||||||
ld hl,.MemPatch_FileName
|
ld hl,0
|
||||||
ld a,1
|
ld a,1
|
||||||
ld c,Dss.Open
|
ld c,Dss.Open
|
||||||
rst ToDSS
|
rst ToDSS
|
||||||
ld (.MemPatch_TempFileID),a
|
ld (.TempFileID),a
|
||||||
pop bc ;--᪮«ìª® áâà ¨æ £à㧨¬
|
pop bc ;--᪮«ìª® áâà ¨æ £à㧨¬
|
||||||
pop hl ;--¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
pop hl ;--¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
||||||
|
|
||||||
@ -1481,32 +1233,32 @@ Load_Resources:
|
|||||||
push hl ;++¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
push hl ;++¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
||||||
push bc ;++᪮«ìª® áâà ¨æ £à㧨¬
|
push bc ;++᪮«ìª® áâà ¨æ £à㧨¬
|
||||||
|
|
||||||
.MemPatch_TempFileID EQU $+1
|
.TempFileID+1:
|
||||||
ld a,#FF ; ä ©«®¢ë© ¬ ¨¯ã«ïâ®à
|
ld a,#FF ; ä ©«®¢ë© ¬ ¨¯ã«ïâ®à
|
||||||
LD HL,#C000 ; ¤à¥á ¢ ¯ ¬ïâ¨
|
LD HL,#C000 ; ¤à¥á ¢ ¯ ¬ïâ¨
|
||||||
LD DE,#4000 ; ª®«¨ç¥á⢮ ç¨â ¥¬ëå ¡ ©â
|
LD DE,#4000 ; ª®«¨ç¥á⢮ ç¨â ¥¬ëå ¡ ©â
|
||||||
LD C,Dss.Read
|
LD C,Dss.Read
|
||||||
rst ToDSS
|
RST ToDSS
|
||||||
DI
|
;DI
|
||||||
|
|
||||||
pop bc ;--᪮«ìª® áâà ¨æ £à㧨¬
|
pop bc ;--᪮«ìª® áâà ¨æ £à㧨¬
|
||||||
pop hl ;--¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
pop hl ;--¡ãä¥à ᮠᯨ᪮¬ áâà ¨æ
|
||||||
DJNZ .readloop
|
DJNZ .readloop
|
||||||
;---[]
|
;---[]
|
||||||
|
|
||||||
;---[§ ªàë¢ ¥¬]
|
;---[§ ªàë¢ ¥¬]
|
||||||
ld a,(.MemPatch_TempFileID)
|
ld a,(.TempFileID)
|
||||||
ld c,Dss.Close
|
ld c,Dss.Close
|
||||||
rst ToDSS
|
rst ToDSS
|
||||||
;---[]
|
;---[]
|
||||||
|
|
||||||
ld de,(.MemPatch_FileName)
|
ld de,(.FileName)
|
||||||
ld hl,13
|
ld hl,13
|
||||||
add hl,de
|
add hl,de
|
||||||
ex de,hl
|
ex de,hl
|
||||||
|
|
||||||
POP HL ;--¡ãä¥à ¯®¤ BlockID
|
POP HL ;--¡ãä¥à ¯®¤ BlockID
|
||||||
POP BC ;--áçñâ稪
|
POP BC ;--áçñâ稪
|
||||||
DJNZ .LR_loop
|
DJNZ .LR_loop
|
||||||
|
|
||||||
;-[à §®¡à âìáï á â ¡«¨æ ¬¨!!!]-
|
;-[à §®¡à âìáï á â ¡«¨æ ¬¨!!!]-
|
||||||
@ -1524,30 +1276,39 @@ Load_Resources:
|
|||||||
pop af
|
pop af
|
||||||
ld c,Dss.Close
|
ld c,Dss.Close
|
||||||
rst ToDSS
|
rst ToDSS
|
||||||
/*
|
|
||||||
ld hl,MONSTR_TABLE_file
|
|
||||||
ld a,1
|
|
||||||
ld c,Dss.Open
|
|
||||||
rst ToDSS
|
|
||||||
push af
|
|
||||||
|
|
||||||
LD HL,MONSTR_TABLE ; ¤à¥á ¢ ¯ ¬ïâ¨
|
; ld hl,MONSTR_TABLE_file
|
||||||
LD DE,MONSTR_TABLE_SIZE ; ª®«¨ç¥á⢮ ç¨â ¥¬ëå ¡ ©â
|
; ld a,1
|
||||||
LD C,Dss.Read
|
; ld c,Dss.Open
|
||||||
rst ToDSS
|
; rst ToDSS
|
||||||
|
; push af
|
||||||
|
|
||||||
pop af
|
; LD HL,MONSTR_TABLE ; ¤à¥á ¢ ¯ ¬ïâ¨
|
||||||
ld c,Dss.Close
|
; LD DE,MONSTR_TABLE_SIZE ; ª®«¨ç¥á⢮ ç¨â ¥¬ëå ¡ ©â
|
||||||
rst ToDSS
|
; LD C,Dss.Read
|
||||||
*/
|
; rst ToDSS
|
||||||
di
|
|
||||||
|
; pop af
|
||||||
|
; ld c,Dss.Close
|
||||||
|
; rst ToDSS
|
||||||
|
|
||||||
|
;di
|
||||||
;------------------------------
|
;------------------------------
|
||||||
.MemPatch_SavePage equ $+1
|
.SavePage+1:
|
||||||
ld a,0
|
ld a,0
|
||||||
out (SLOT3),a
|
out (SLOT3),a
|
||||||
|
;
|
||||||
|
LD HL,CURRENT_DIR
|
||||||
|
LD C,Dss.CurDir
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD C,Dss.CurDisk
|
||||||
|
RST ToDSS
|
||||||
|
LD (INIT_HDD_WORK.currentDisk),A
|
||||||
|
;
|
||||||
RET
|
RET
|
||||||
|
|
||||||
Temp_Buffer: BLOCK 256,#FF
|
;Temp_Buffer: BLOCK 256,#FF
|
||||||
|
|
||||||
TABLE_X_file: db 'table_x.tbl',0
|
TABLE_X_file: db 'table_x.tbl',0
|
||||||
;MONSTR_TABLE_file: db 'monsters.tbl',0
|
;MONSTR_TABLE_file: db 'monsters.tbl',0
|
||||||
@ -1900,24 +1661,24 @@ MONSTR_POS:
|
|||||||
ALIGN 2,0
|
ALIGN 2,0
|
||||||
;
|
;
|
||||||
TABLES_START:
|
TABLES_START:
|
||||||
X_COORD: DW 090*256
|
X_COORD: DW 90*256
|
||||||
Y_COORD: DW 090*256
|
Y_COORD: DW 90*256
|
||||||
ANGLE_A: DW -160*32+0C000h
|
ANGLE_A: DW -160*32+#C000
|
||||||
ANGLE_R: DW 0
|
ANGLE_R: DW 0
|
||||||
|
|
||||||
X_SPEED: DW 300H
|
X_SPEED: DW #300
|
||||||
Y_SPEED: DW 302H
|
Y_SPEED: DW #302
|
||||||
A_SPEED: DW 200H
|
A_SPEED: DW #200
|
||||||
|
|
||||||
TABLE_TRACE: DS 33 ; â ¡«¨æ âà áá¨à®¢ª¨/¡ ª¨ â ¡«¨æë
|
TABLE_TRACE: BLOCK 33,0 ; â ¡«¨æ âà áá¨à®¢ª¨/¡ ª¨ â ¡«¨æë
|
||||||
TABLE_WALL: DS 33
|
TABLE_WALL: BLOCK 33,0
|
||||||
|
|
||||||
DS TABLES_START+#74-$ ;‚›<E2809A>€‚<E282AC>ˆ‚€<E2809A>ˆ…
|
; BLOCK TABLES_START+#74-$,0 ;‚›<E2809A>€‚<E282AC>ˆ‚€<E2809A>ˆ…
|
||||||
|
|
||||||
NAMES: DB 6,1
|
LAST_KEY: DB 0
|
||||||
LAST_KEY: DB 0
|
NAMES: DB 6,1
|
||||||
|
|
||||||
DS TABLES_START+#7C-$ ;‚›<E2809A>€‚<E282AC>ˆ‚€<E2809A>ˆ…
|
; BLOCK TABLES_START+#7C-$,0 ;‚›<E2809A>€‚<E282AC>ˆ‚€<E2809A>ˆ…
|
||||||
|
|
||||||
NAME1: DB "_1X62 CBL "
|
NAME1: DB "_1X62 CBL "
|
||||||
NAME2: DB "2NDREAL3CBL "
|
NAME2: DB "2NDREAL3CBL "
|
||||||
@ -1945,13 +1706,16 @@ NAME9: DB "_ENI511CCBL "
|
|||||||
; ENDIF
|
; ENDIF
|
||||||
;
|
;
|
||||||
OUTEND ; ª®¥æ ä ©« doom2.exe
|
OUTEND ; ª®¥æ ä ©« doom2.exe
|
||||||
|
DIR_NAME_11: BLOCK 11,0
|
||||||
|
CURRENT_DIR: BLOCK 257,0
|
||||||
|
Temp_Buffer EQU $
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
DISPLAY "DOOM2.EXE starts - ",/H,BEGIN
|
DISPLAY "DOOM2.EXE starts - ",/H,BEGIN
|
||||||
DISPLAY "DOOM2.EXE ends - ",/H,$
|
DISPLAY "DOOM2.EXE ends - ",/H,$
|
||||||
DISPLAY "DOOM2.EXE size - ",/H,$-BEGIN
|
DISPLAY "DOOM2.EXE size - ",/H,$-BEGIN
|
||||||
|
|
||||||
FRAM_PROG_1000H:
|
;FRAM_PROG_1000H:
|
||||||
include 'D2_FRAM.asm'
|
include 'D2_FRAM.asm'
|
||||||
;
|
;
|
||||||
END
|
END
|
||||||
|
|||||||
431
Music_4x.asm
Normal file
431
Music_4x.asm
Normal file
@ -0,0 +1,431 @@
|
|||||||
|
|
||||||
|
;-----------------------------------------------------------------------
|
||||||
|
;-------[¨¨æ¨ «¨§ æ¨ï ¢¨ç¥áâ¥à ]------;
|
||||||
|
INIT_HDD_WORK:
|
||||||
|
IFN YesSound
|
||||||
|
RET
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
.currentDisk+1: ;
|
||||||
|
LD A,0
|
||||||
|
OR #80
|
||||||
|
LD HL,Temp_Buffer
|
||||||
|
LD BC,Dss.DskInfo
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD B,4 ;!HARDCODE ®¬¥à 㦮£® ¯ à ¬¥âà
|
||||||
|
LD DE,0
|
||||||
|
LD HL,Temp_Buffer
|
||||||
|
.loop_param: ADD HL,DE
|
||||||
|
LD E,(HL)
|
||||||
|
INC HL
|
||||||
|
DJNZ .loop_param
|
||||||
|
LD A,(HL)
|
||||||
|
AND #80
|
||||||
|
JR Z,.no_change_Disk
|
||||||
|
CP #90
|
||||||
|
JR NC,.no_change_Disk
|
||||||
|
;
|
||||||
|
LD A,3
|
||||||
|
AND (HL)
|
||||||
|
LD D,A
|
||||||
|
INC HL
|
||||||
|
LD A,(HL)
|
||||||
|
RLCA
|
||||||
|
RLCA
|
||||||
|
;
|
||||||
|
OR D
|
||||||
|
AND #0F
|
||||||
|
JR .start
|
||||||
|
;
|
||||||
|
.no_change_Disk:;
|
||||||
|
XOR A
|
||||||
|
.start: LD C,BIOS.HDD_PART ; IDE-1/IDE-2
|
||||||
|
RST ToBIOS
|
||||||
|
;
|
||||||
|
.loop: LD C,BIOS.HDD_INIT
|
||||||
|
RST ToBIOS
|
||||||
|
JR C,.loop
|
||||||
|
;
|
||||||
|
|
||||||
|
CALL BPB_SetUp
|
||||||
|
;-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
IN A,(SLOT3)
|
||||||
|
PUSH AF
|
||||||
|
LD A,SYS_PAGE
|
||||||
|
OUT (SLOT3),A
|
||||||
|
|
||||||
|
LD HL,SYS_PAGE.MSD_FAT_SEC
|
||||||
|
LD DE,MSD_DATS
|
||||||
|
LD BC,16
|
||||||
|
LDIR
|
||||||
|
POP AF
|
||||||
|
OUT (SLOT3),A
|
||||||
|
;!TODO music and dirs
|
||||||
|
; ¯ àᨬ áâப㠯ãâ¨
|
||||||
|
; LD HL,CURRENT_DIR+1
|
||||||
|
; LD DE,DIR_NAME_11
|
||||||
|
; PUSH DE
|
||||||
|
; PUSH HL
|
||||||
|
; LD BC,1*256 + Dss.DosName
|
||||||
|
; RST ToDSS
|
||||||
|
|
||||||
|
;-----[ç¨â âì ᥪâ®àë á ¢¨ç¥áâ¥à ]-----
|
||||||
|
READ_DIR:
|
||||||
|
LD HL,#C000 ; ¤à¥á ¡ãä¥à ¤ ëå
|
||||||
|
LD DE,(MSD_DATS+4) ; CAT TABLE. ¡á®«îâë© ®¬¥à ᥪâ®à ¬« ¤è ï ç áâì
|
||||||
|
LD IX,(MSD_DATS+6) ; ¡á®«îâë© ®¬¥à ᥪâ®à áâ àè ï ç áâì
|
||||||
|
LD B,32 ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
|
||||||
|
CatPage+1:
|
||||||
|
LD A,15 ; áâà ¨æ ¡ãä¥à , ¥á«¨ ¤à¥á ¢ ®ª¥ #C000
|
||||||
|
LD C,BIOS.HDD_READ
|
||||||
|
RST ToBIOS ; § £à㧨âì CAT
|
||||||
|
RET
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
MSD_DATS: WORD 0,0,0,0,0,0,0,0
|
||||||
|
|
||||||
|
SND_SEC1: DW 12525 ; ç «ìë© á¥ªâ®à
|
||||||
|
SND_SEC2: DW 0
|
||||||
|
SND_L1: DW #1720 ; ¤«¨
|
||||||
|
SND_L2: DW 0
|
||||||
|
|
||||||
|
SND_S1: DW 12525 ; ⥪ã訩 ᥪâ®à
|
||||||
|
SND_S2: DW 0
|
||||||
|
SND_C1: DW #1720 ; ®áâ ⮪ ¤® ª®æ
|
||||||
|
SND_C2: DW 0
|
||||||
|
|
||||||
|
SET_SND_FILE:
|
||||||
|
IFN YesSound
|
||||||
|
ret
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CALL OPEN_FILE
|
||||||
|
RET C
|
||||||
|
|
||||||
|
LD (SND_SEC1),IX ; ᥪâ®à ¬ã§ëª¨!!!
|
||||||
|
LD (SND_SEC2),HL
|
||||||
|
LD HL,(FILE_DATA+2)
|
||||||
|
LD DE,(FILE_DATA+4)
|
||||||
|
AND A
|
||||||
|
RR D
|
||||||
|
RR E
|
||||||
|
RR H
|
||||||
|
LD L,H
|
||||||
|
LD H,E
|
||||||
|
LD E,D
|
||||||
|
LD D,0
|
||||||
|
LD (SND_L1),HL ; ¤«¨ ¢ ᥪâ®à å
|
||||||
|
LD (SND_L2),DE ; ¤«¨ ¢ ᥪâ®à å
|
||||||
|
AND A
|
||||||
|
RET
|
||||||
|
|
||||||
|
SWITCH_SND:
|
||||||
|
NAME_S+1: LD DE,NAME1
|
||||||
|
CALL SET_SND_FILE
|
||||||
|
JR C,SWITCH_X
|
||||||
|
|
||||||
|
LD HL,(NAME_S)
|
||||||
|
LD BC,16
|
||||||
|
ADD HL,BC
|
||||||
|
LD (NAME_S),HL
|
||||||
|
RET
|
||||||
|
|
||||||
|
SWITCH_X:
|
||||||
|
LD HL,NAME1
|
||||||
|
LD (NAME_S),HL
|
||||||
|
JR SWITCH_SND
|
||||||
|
|
||||||
|
FILE_DATA:
|
||||||
|
DW 0 ; ç «ìë© ª« áâ¥à
|
||||||
|
DW 0,0 ; ¤«¨ ä ©«
|
||||||
|
|
||||||
|
DW 0 ; ⥪ã騩 ª« áâ¥à
|
||||||
|
DW 0,0 ; ⥪ã饥 ¯®«®¦¥¨¥ ¢ ä ©«¥
|
||||||
|
DW 0 ; ⥪ã騩 ®¬¥à ᥪâ®à ¢ ª« áâ¥à¥
|
||||||
|
;
|
||||||
|
OPEN_FILE: ; DE - name
|
||||||
|
CALL FIND_FILE
|
||||||
|
RET C
|
||||||
|
|
||||||
|
LD C,SLOT3
|
||||||
|
IN B,(C)
|
||||||
|
|
||||||
|
PUSH BC
|
||||||
|
LD A,(CatPage)
|
||||||
|
OUT (C),A
|
||||||
|
LD BC,26
|
||||||
|
ADD HL,BC
|
||||||
|
LD DE,FILE_DATA
|
||||||
|
LD BC,6
|
||||||
|
LDIR
|
||||||
|
|
||||||
|
POP BC
|
||||||
|
OUT (C),B
|
||||||
|
|
||||||
|
LD HL,(FILE_DATA)
|
||||||
|
LD (FILE_DATA+6),HL
|
||||||
|
LD HL,0
|
||||||
|
LD (FILE_DATA+8),HL
|
||||||
|
LD (FILE_DATA+10),HL
|
||||||
|
LD (FILE_DATA+12),HL
|
||||||
|
|
||||||
|
LD IX,(FILE_DATA) ; ®¬¥à ¯¥à¢®£® ª« áâ¥à
|
||||||
|
DEC IX
|
||||||
|
DEC IX ; -2 !!!
|
||||||
|
LD HL,0
|
||||||
|
SCF
|
||||||
|
LD DE,(MSD_DATS+13) ; ¤«¨ ª« áâ¥à ¢ ¡ ©â å
|
||||||
|
RR D
|
||||||
|
RR E
|
||||||
|
SEC_MUL:
|
||||||
|
RR D
|
||||||
|
RR E
|
||||||
|
JR C,SECT_X
|
||||||
|
ADD IX,IX
|
||||||
|
ADC HL,HL
|
||||||
|
JR SEC_MUL
|
||||||
|
|
||||||
|
SECT_X:
|
||||||
|
LD DE,(MSD_DATS+8)
|
||||||
|
ADD IX,DE
|
||||||
|
LD DE,(MSD_DATS+10)
|
||||||
|
ADC HL,DE ; HL:IX - ®¬¥à ¯¥à¢®£® ᥪâ®à ä ©«
|
||||||
|
|
||||||
|
AND A
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
;DE - name - 11 ᨬ¢®«®¢
|
||||||
|
FIND_FILE:
|
||||||
|
;
|
||||||
|
LD C,SLOT3
|
||||||
|
IN B,(C)
|
||||||
|
PUSH BC
|
||||||
|
|
||||||
|
LD A,(CatPage)
|
||||||
|
OUT (C),A
|
||||||
|
|
||||||
|
LD HL,#C000
|
||||||
|
|
||||||
|
NEXT_LOOP:
|
||||||
|
LD B,11
|
||||||
|
PUSH DE
|
||||||
|
|
||||||
|
NAME_LOOP:
|
||||||
|
LD A,(DE)
|
||||||
|
CP (HL)
|
||||||
|
JR NZ,NEXT_NAME
|
||||||
|
INC HL
|
||||||
|
INC DE
|
||||||
|
DJNZ NAME_LOOP
|
||||||
|
|
||||||
|
POP DE
|
||||||
|
LD A,L
|
||||||
|
AND #E0
|
||||||
|
LD L,A
|
||||||
|
|
||||||
|
POP BC
|
||||||
|
OUT (C),B
|
||||||
|
AND A
|
||||||
|
RET ; HL - ¤ ë¥ ä ©« ¢ áâà ¨æ¥ 6
|
||||||
|
|
||||||
|
NEXT_NAME:
|
||||||
|
POP DE
|
||||||
|
LD A,L
|
||||||
|
AND #E0
|
||||||
|
LD L,A
|
||||||
|
LD BC,#20
|
||||||
|
ADD HL,BC
|
||||||
|
LD A,(HL)
|
||||||
|
AND A
|
||||||
|
JR Z,END_CAT
|
||||||
|
LD A,H
|
||||||
|
AND A
|
||||||
|
JR NZ,NEXT_LOOP
|
||||||
|
|
||||||
|
END_CAT:
|
||||||
|
POP BC
|
||||||
|
OUT (C),B
|
||||||
|
SCF
|
||||||
|
RET
|
||||||
|
|
||||||
|
HDD_FN:
|
||||||
|
EX AF,AF'
|
||||||
|
IN A,(FastRAM.OFF)
|
||||||
|
IN A,(SLOT1)
|
||||||
|
PUSH AF
|
||||||
|
IN A,(SLOT3)
|
||||||
|
PUSH AF
|
||||||
|
LD A,5 ;!FIXIT
|
||||||
|
OUT (SLOT1),A
|
||||||
|
DOOM2_SndPage+1:
|
||||||
|
LD A,0
|
||||||
|
OUT (SLOT3),A
|
||||||
|
|
||||||
|
IN A,(PORT_Y)
|
||||||
|
PUSH AF
|
||||||
|
EX AF,AF'
|
||||||
|
|
||||||
|
RST ToBIOS ; ç¨â âì ᥪâ®à á ¢¨ç¥áâ¥à , äãªæ¨ï #45
|
||||||
|
;DI
|
||||||
|
|
||||||
|
POP AF
|
||||||
|
OUT (PORT_Y),A
|
||||||
|
POP AF
|
||||||
|
OUT (SLOT3),A
|
||||||
|
POP AF
|
||||||
|
OUT (SLOT1),A
|
||||||
|
IN A,(FastRAM.ON) ; ¢ª«îç ¥¬ ªíè
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
;
|
||||||
|
BPB_SetUp:
|
||||||
|
LD A,SYS_PAGE
|
||||||
|
LD HL,SYS_PAGE.MS_BPB
|
||||||
|
LD C,BIOS.HDD_READ_BPB
|
||||||
|
RST ToBIOS
|
||||||
|
.PARAMS:
|
||||||
|
DI
|
||||||
|
IN A,(SLOT3)
|
||||||
|
EX AF,AF'
|
||||||
|
LD A,SYS_PAGE
|
||||||
|
OUT (SLOT3),A
|
||||||
|
|
||||||
|
LD A,(SYS_PAGE.MS_BPB+FORM_CODE)
|
||||||
|
CP #F0
|
||||||
|
JP C,.ERROR_BPB
|
||||||
|
|
||||||
|
LD HL,SYS_PAGE.MS_BPB+FAT_ID
|
||||||
|
LD DE,.FAT1_MSG
|
||||||
|
LD B,4
|
||||||
|
.L1: LD A,(DE)
|
||||||
|
CP ' '
|
||||||
|
JR NZ,.L11
|
||||||
|
INC DE
|
||||||
|
JR .L1
|
||||||
|
.L11: CP (HL)
|
||||||
|
JR NZ,.PC_DOS
|
||||||
|
|
||||||
|
INC HL
|
||||||
|
INC DE
|
||||||
|
DJNZ .L1
|
||||||
|
LD A,(HL)
|
||||||
|
CP '6'
|
||||||
|
LD HL,#81FF ; FAT16 ä« £
|
||||||
|
JR Z,.FAT
|
||||||
|
CP '2'
|
||||||
|
JP NZ,.ERROR_BPB
|
||||||
|
|
||||||
|
.PC_DOS:
|
||||||
|
LD HL,#01FF ; FAT12 ä« £
|
||||||
|
.FAT: LD (SYS_PAGE.FAT_FLAG),HL
|
||||||
|
|
||||||
|
LD A,(SYS_PAGE.MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ â४
|
||||||
|
LD (SYS_PAGE.MSD_SECS),A
|
||||||
|
|
||||||
|
BIT 7,H
|
||||||
|
|
||||||
|
LD IX,0
|
||||||
|
LD HL,0 ; ¢ëç¨á«¨âì ç «ìë© á¥ªâ®à FAT
|
||||||
|
|
||||||
|
JR Z,.NO_LD_SPECIAL
|
||||||
|
LD IX,(SYS_PAGE.MS_BPB+SPECIAL_SECS)
|
||||||
|
LD HL,(SYS_PAGE.MS_BPB+SPECIAL_SECS+2)
|
||||||
|
.NO_LD_SPECIAL:
|
||||||
|
LD BC,0
|
||||||
|
LD DE,(SYS_PAGE.MS_BPB+RESERV_SECS)
|
||||||
|
|
||||||
|
ADD IX,DE
|
||||||
|
ADC HL,BC
|
||||||
|
|
||||||
|
LD (SYS_PAGE.MSD_FAT_SEC),IX ; ç «ìë© á¥ªâ®à FAT
|
||||||
|
LD (SYS_PAGE.MSD_FAT_SEC2),HL ; ç «ìë© á¥ªâ®à FAT
|
||||||
|
|
||||||
|
LD DE,(SYS_PAGE.MS_BPB+S_P_F) ; ç¨á«® ᥪâ®à®¢ ¢ FAT
|
||||||
|
LD BC,0
|
||||||
|
|
||||||
|
LD A,(SYS_PAGE.MS_BPB+FATS_NUM) ; ª®«¨ç¥á⢮ FATs
|
||||||
|
.NEXT_ADD:
|
||||||
|
ADD IX,DE
|
||||||
|
ADC HL,BC
|
||||||
|
DEC A
|
||||||
|
JR NZ,.NEXT_ADD
|
||||||
|
|
||||||
|
LD (SYS_PAGE.MSD_CAT_SEC),IX ; ç «ìë© á¥ªâ®à DIR
|
||||||
|
LD (SYS_PAGE.MSD_CAT_SEC2),HL ; ç «ìë© á¥ªâ®à DIR
|
||||||
|
|
||||||
|
LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à
|
||||||
|
RL C
|
||||||
|
RL B
|
||||||
|
RL C
|
||||||
|
RL B
|
||||||
|
RL C
|
||||||
|
RL B
|
||||||
|
LD C,B
|
||||||
|
LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
|
||||||
|
LD A,C
|
||||||
|
LD (SYS_PAGE.F_P_S),A
|
||||||
|
|
||||||
|
LD DE,(SYS_PAGE.MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥©
|
||||||
|
|
||||||
|
EX DE,HL
|
||||||
|
DEC HL
|
||||||
|
XOR A
|
||||||
|
.NEXT_ADD2:
|
||||||
|
INC A
|
||||||
|
JR Z,.ERROR_BPB
|
||||||
|
SBC HL,BC
|
||||||
|
JR NC,.NEXT_ADD2
|
||||||
|
EX DE,HL
|
||||||
|
|
||||||
|
LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR
|
||||||
|
LD D,0
|
||||||
|
LD BC,0
|
||||||
|
LD (SYS_PAGE.S_P_C),A
|
||||||
|
|
||||||
|
ADD IX,DE ; <20> ç «® DATA area
|
||||||
|
ADC HL,BC
|
||||||
|
|
||||||
|
LD (SYS_PAGE.MSD_DAT_SEC),IX
|
||||||
|
LD (SYS_PAGE.MSD_DAT_SEC2),HL
|
||||||
|
|
||||||
|
LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à
|
||||||
|
LD HL,0
|
||||||
|
LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
|
||||||
|
LD D,A
|
||||||
|
LD A,0
|
||||||
|
.NEXT_ADD3:
|
||||||
|
ADD HL,BC ; ‚ëç¨á«¥¨¥ ¤«¨ë ª« áâ¥à
|
||||||
|
ADC A,0
|
||||||
|
DEC D
|
||||||
|
JR NZ,.NEXT_ADD3
|
||||||
|
|
||||||
|
LD (SYS_PAGE.CLASTER_LEN),HL
|
||||||
|
LD B,0
|
||||||
|
LD C,A
|
||||||
|
LD (SYS_PAGE.CLASTER_LEN2),BC
|
||||||
|
|
||||||
|
LD HL,0
|
||||||
|
LD BC,(SYS_PAGE.MS_BPB+S_P_T)
|
||||||
|
LD A,(SYS_PAGE.MS_BPB+H_P_S)
|
||||||
|
.BPB_L1:; ‚›—ˆ‘‹ˆ’œ ŠŽ‹ˆ—…‘’‚Ž ‘…Š’Ž<E28099>Ž‚ <20>€ –ˆ‹ˆ<E280B9>„<EFBFBD>
|
||||||
|
ADD HL,BC
|
||||||
|
DEC A
|
||||||
|
JR NZ,.BPB_L1
|
||||||
|
LD (SYS_PAGE.S_X_H),HL
|
||||||
|
;
|
||||||
|
EX AF,AF'
|
||||||
|
OUT (SLOT3),A
|
||||||
|
EI
|
||||||
|
AND A
|
||||||
|
RET
|
||||||
|
.ERROR_BPB:
|
||||||
|
EX AF,AF'
|
||||||
|
OUT (SLOT3),A
|
||||||
|
SCF
|
||||||
|
EI
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.FAT1_MSG:
|
||||||
|
DB 'FAT1'
|
||||||
@ -1 +1 @@
|
|||||||
Subproject commit b5606d6db7c0eecf2e3b3da53040af2432a40569
|
Subproject commit f74ae7e760de5541ee4966d509442c6421225c3b
|
||||||
Loading…
Reference in New Issue
Block a user