1
0
mirror of https://github.com/Tolik-Trek/DOOM2.git synced 2026-06-15 17:11:34 +03:00
This commit is contained in:
Anatoliy Belyanskiy 2024-02-05 23:28:53 +10:00
parent e4a65dd0bb
commit 276d36e713
3 changed files with 136 additions and 148 deletions

View File

@ -1393,9 +1393,7 @@ COV_ADR+1:
; OUT (BorderColor),A ; OUT (BorderColor),A
; ;
LD A,CBL.BUFFER_PAGE
D2_FRAM_SndPage+1:
LD A,0
OUT (SLOT3),A OUT (SLOT3),A
L_DDX: L_DDX:
@ -1472,7 +1470,7 @@ SND_INIT1:
;_------[—⥭¨¥ ᥪâ®à®¢ á ¤¨áª ]------- ;_------[—⥭¨¥ ᥪâ®à®¢ á ¤¨áª ]-------
NO_NEW_COUNT: NO_NEW_COUNT:
LD HL,-SND_READ_SECTORS*512 ; ¡ãä¥à ¤«ï ¤ ­­ëå LD HL,-SND_READ_SECTORS*512 ; ¡ãä¥à ¤«ï ¤ ­­ëå
LD A,(D2_FRAM_SndPage) ;!FIXIT ; áâà ­¨æ  ¡ãä¥à , ¥á«¨  ¤à¥á ¢ ®ª­¥ #C000 LD A,CBL.BUFFER_PAGE ; áâà ­¨æ  ¡ãä¥à , ¥á«¨  ¤à¥á ¢ ®ª­¥ #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 ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢

182
DOOM2.asm
View File

@ -140,21 +140,30 @@ Loader_length EQU 0
;--------------------------------------- ;---------------------------------------
IN A,(SLOT3) ; IN A,(SLOT3)
PUSH AF ; PUSH AF
ld a,(RAMBlkIDs) ld a,(RAMBlkIDs.resources)
ld bc,BIOS.GetMemPage
rst ToBIOS
;di
ld (PalitrePage),a ld (PalitrePage),a
ld a,(RAMBlkIDs+3) ld a,(RAMBlkIDs.d2_fram)
ld bc,BIOS.GetMemPage
rst ToBIOS
;di
ld (D2_FRAM_page),a ld (D2_FRAM_page),a
;DI
IF YesSound
;----[]
; ‡ ¯à è¨¢ ¥¬ áâà ­¨æã ¤«ï ª â «®£ 
; á®å࠭塞 ¥ñ ü ¢ ª®¤¥
;
; „Ž„…‹€’œ!!!
; ­ ¤® ¯®â®¬ ­®à¬ «ì­® ¢ë¤¥«ïâì ¨
; ®á¢®¡®¦¤ âì ¯ ¬ïâì,   ­¥ ¢®â íâ® ¢áñ
;
ld b,1
ld c,Dss.GetMem
rst ToDSS
LD (CatPage),a
;----[]
ENDIF
CALL CLEAR_GRAF_SCR CALL CLEAR_GRAF_SCR
@ -470,22 +479,16 @@ CLEAR_SP_PAL:
MAIN: CALL INIT_TABLE MAIN: CALL INIT_TABLE
RET C RET C
;IN A,(PORT_Y) ; IN A,(PORT_Y)
;LD (SAVE_PORT_Y),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
RET C ; ­ã¦­® «¨???!!!
;----!!!!!!!!!!!!!!!!!!!!!!!!!---------- ;----!!!!!!!!!!!!!!!!!!!!!!!!!----------
;--------------------------------------- ;---------------------------------------
;LD A,(SAVE_PORT_Y)
;OUT (PORT_Y),A
RET C ; ­ã¦­® «¨???!!!
XOR A XOR A
LD (LAST_KEY),A LD (LAST_KEY),A
OUT (BorderColor),A OUT (BorderColor),A
@ -515,7 +518,7 @@ MAIN: CALL INIT_TABLE
RST ToBIOS RST ToBIOS
LD HL,#5000 LD HL,#5000
LD E,1 LD E,0
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
@ -555,31 +558,6 @@ D2_FRAM_page+1:
LD A,#FF LD A,#FF
OUT (SLOT3),A OUT (SLOT3),A
IF YesSound
;----[]
; ‡ ¯à è¨¢ ¥¬ áâà ­¨æë ¤«ï ¬ã§«  ¨
; ª â «®£ , á®å࠭塞 ¨å ü ¢ ª®¤¥
; 0 áâà ­¨æ  ¡«®ª  - CatPage
; 1 áâà ­¨æ  ¡«®ª  - SndPage
;
; „Ž„…‹€’œ!!!
; ­ ¤® ¯®â®¬ ­®à¬ «ì­® ¢ë¤¥«ïâì ¨
; ®á¢®¡®¦¤ âì ¯ ¬ïâì,   ­¥ ¢®â íâ® ¢áñ
;
ld b,2
ld c,Dss.GetMem
rst ToDSS
;
LD (CatPage),a
ld b,1
ld c,BIOS.GetMemPage
rst ToBIOS
;
ld (DOOM2_SndPage),a
ld (D2_FRAM_SndPage+#B000),a
;di
;----[]
ENDIF
IN A,(FastRAM.ON) IN A,(FastRAM.ON)
LD HL,#C000 LD HL,#C000
@ -980,7 +958,7 @@ MADE_FFING:
NEXT_BYTE_: NEXT_BYTE_:
LD A,(HL) LD A,(HL)
CP 0F7H CP #F7
JR NZ,NO_FFING JR NZ,NO_FFING
LD (HL),0FFH LD (HL),0FFH
NO_FFING: NO_FFING:
@ -1002,32 +980,36 @@ INIT_TABLE:
;----[—¨â ¥¬ ¯¥à¢ë© ¡«®ª â ¡«¨æ E:]-----; Tables disk Doom.trd ;----[—¨â ¥¬ ¯¥à¢ë© ¡«®ª â ¡«¨æ E:]-----; Tables disk Doom.trd
;--------------------------------------- !!!!! ‡ ¬¥­¨âì ª ç¥àâï¬ ­  á¢®î ¯®¤£à㧪㠡«®ª ¬¨! ;--------------------------------------- !!!!! ‡ ¬¥­¨âì ª ç¥àâï¬ ­  á¢®î ¯®¤£à㧪㠡«®ª ¬¨!
LD A,(RAMBlkIDs) LD A,(RAMBlkIDs.resources)
LD HL,TABLE_MAIN LD HL,TABLE_MAIN
ld c,BIOS.GetMemBlkPages ; ¯®«ãç¨âì ᯨ᮪ áâà ­¨æ ¡«®ª  A ld c,BIOS.GetMemBlkPages ; ¯®«ãç¨âì ᯨ᮪ áâà ­¨æ ¡«®ª  A
rst ToBIOS rst ToBIOS
RET C RET C
; LD HL,TABLE_MAIN ; LD HL,TABLE_MAIN
INC HL ; INC HL
INC HL ; INC HL
INC HL ; INC HL
LD A,(HL)
LD (PAGE_WEAPON),A
INC HL
LD A,(HL)
LD (SKY_1),A
INC HL
LD A,(HL)
LD (SKY_2),A
LD HL,TABLE_MAIN ; !TODO <20>â® £®¢­® ­ ¤® ®¯â¨¬¨§¨à®¢ âì ¨ à áª¨¤ë¢ âì ­®¬¥à  áâà ­¨æ áà §ã ¢ ª®¤
LD A,26 LD A,(TABLE_MAIN+3) ;!HARDCODE
ADD A,L LD (PAGE_WEAPON),A
LD L,A ; INC HL
;LD A,(HL)
LD A,(TABLE_MAIN+4) ;!HARDCODE
LD (SKY_1),A
;INC HL
LD A,(TABLE_MAIN+5) ;!HARDCODE
;LD A,(HL)
LD (SKY_2),A
;
LD HL,TABLE_MAIN+26
;LD A,26 ;!HARDCODE
;ADD A,L
;LD L,A
LD A,(HL) LD A,(HL)
LD (WALL_DATS),A LD (WALL_DATS),A
;
LD DE,MONSTR_DATS LD DE,MONSTR_DATS
LD B,7 LD B,7
NEXT_HL_FFING: NEXT_HL_FFING:
@ -1053,11 +1035,11 @@ NEXT_HL_FFING:
LD A,(MONSTR_DATS+6) LD A,(MONSTR_DATS+6)
LD (BAR_PAGE),A LD (BAR_PAGE),A
LD HL,TABLE_MAIN ;LD HL,TABLE_MAIN
LD A,35 ;LD A,35
ADD A,L ;ADD A,L
LD L,A ;LD L,A
LD A,(HL) LD A,(TABLE_MAIN+35)
LD (BFGF_PAGE),A LD (BFGF_PAGE),A
CALL MADE_FFING CALL MADE_FFING
@ -1065,18 +1047,18 @@ NEXT_HL_FFING:
LD A,(PAGE_WEAPON) LD A,(PAGE_WEAPON)
CALL MADE_FFING CALL MADE_FFING
LD HL,TABLE_MAIN ;LD HL,TABLE_MAIN
LD A,33 ;LD A,33
ADD A,L ;ADD A,L
LD L,A ;LD L,A
LD A,(HL) LD A,(TABLE_MAIN+33)
LD (EFF_PAGE),A ; §¢ãª ¢ëáâ५  LD (EFF_PAGE),A ; §¢ãª ¢ëáâ५ 
LD HL,TABLE_MAIN ; LD HL,TABLE_MAIN
LD A,34 ; LD A,34
ADD A,L ; ADD A,L
LD L,A ; LD L,A
LD A,(HL) LD A,(TABLE_MAIN+34)
LD (PAGE_M_PLACE),A ; â ¡«¨æ  á 㣫 ¬¨ ¤«ï ¬®­áâ஢ LD (PAGE_M_PLACE),A ; â ¡«¨æ  á 㣫 ¬¨ ¤«ï ¬®­áâ஢
;--_[—¨â ¥¬ ç¥â¢ñàâë© ¡«®ª â ¡«¨æ H:]---; Tables disk my_tab*.* ;--_[—¨â ¥¬ ç¥â¢ñàâë© ¡«®ª â ¡«¨æ H:]---; Tables disk my_tab*.*
@ -1087,15 +1069,20 @@ NEXT_HL_FFING:
ret c ret c
;--------------------------------------- ;---------------------------------------
*/ */
ld a,(RAMBlkIDs+2) ld a,(RAMBlkIDs.d2_table)
LD HL,TABLE_TRACE LD HL,TABLE_TRACE
ld c,BIOS.GetMemBlkPages ; ¯®«ãç¨âì ᯨ᮪ áâà ­¨æ ¡«®ª  A ld c,BIOS.GetMemBlkPages ; ¯®«ãç¨âì ᯨ᮪ áâà ­¨æ ¡«®ª  A
rst ToBIOS rst ToBIOS
RET C RET C
LD A,B LD A,B
CP 32 ;
SCF CP 33
RET NZ CCF
RET C
;CP 32
;SCF
;RET NZ
;
; ;
;----[—¨â ¥¬ âà¥â¨© ¡«®ª â ¡«¨æ G:]-----; Tables disk mapw*.d2 ;----[—¨â ¥¬ âà¥â¨© ¡«®ª â ¡«¨æ G:]-----; Tables disk mapw*.d2
/* /*
@ -1105,13 +1092,13 @@ NEXT_HL_FFING:
ret c ret c
;--------------------------------------- ;---------------------------------------
*/ */
ld a,(RAMBlkIDs+1) ld a,(RAMBlkIDs.map_wall)
LD HL,TABLE_WALL LD HL,TABLE_WALL
ld c,BIOS.GetMemBlkPages ; ¯®«ãç¨âì ᯨ᮪ áâà ­¨æ ¡«®ª  A ld c,BIOS.GetMemBlkPages ; ¯®«ãç¨âì ᯨ᮪ áâà ­¨æ ¡«®ª  A
rst ToBIOS rst ToBIOS
RET C RET C
LD A,B LD A,B
CP 33 CP 17
CCF CCF
RET C ; B - à §¬¥à à ¬¤¨áª  RET C ; B - à §¬¥à à ¬¤¨áª 
@ -1324,6 +1311,10 @@ FilesTBL:
.END EQU ($-FilesTBL)/14 ; ª®«¨ç¥á⢮ ä ©«®¢ .END EQU ($-FilesTBL)/14 ; ª®«¨ç¥á⢮ ä ©«®¢
RAMBlkIDs: BLOCK FilesTBL.END,0 RAMBlkIDs: BLOCK FilesTBL.END,0
.resources EQU RAMBlkIDs+0
.map_wall EQU RAMBlkIDs+1
.d2_table EQU RAMBlkIDs+2
.d2_fram EQU RAMBlkIDs+3
;--------------------------------------- ;---------------------------------------
; ;
@ -1357,9 +1348,9 @@ RECALC_M2X:
LD A,(HL) ; ª®¤ á⥭ª¨ LD A,(HL) ; ª®¤ á⥭ª¨
CP 'S' ; #53 CP 'S' ; #53
JR Z,ZERO_PRP JR Z,ZERO_PRP
SUB 20H ; ª®¤ ¯à®¡¥«  SUB ' '
JR Z,ZERO_PRP JR Z,ZERO_PRP
LD A,05Fh ; ¯à¥¯ïâá⢨¥ LD A,#5F ; ¯à¥¯ïâá⢨¥
JR ONE_PRP JR ONE_PRP
ZERO_PRP: ZERO_PRP:
XOR A XOR A
@ -1369,7 +1360,7 @@ ONE_PRP:
JR NZ,RECALC_M2X JR NZ,RECALC_M2X
INC H INC H
LD A,H LD A,H
AND 0Fh AND #0F
JR NZ,RECALC_M2X JR NZ,RECALC_M2X
JR NO_PROCESS ; § ª®­ç¨âì JR NO_PROCESS ; § ª®­ç¨âì
@ -1392,13 +1383,12 @@ NO_PRP:
CALL Z,MONSTR_POS2 CALL Z,MONSTR_POS2
CP 'P' ; ®£®­ì bfg CP 'P' ; ®£®­ì bfg
CALL Z,MONSTR_POS3 CALL Z,MONSTR_POS3
SUB 20H SUB #20
JR Z,ZERO_WOLL JR Z,ZERO_WOLL
SUB 10H SUB #10
JR C,ZERO_WOLL JR C,ZERO_WOLL
; MAP_ELS+1:
CP 15 CP 15
MAP_ELS EQU $-1
; ;
JR NC,ZERO_WOLL JR NC,ZERO_WOLL
@ -1428,16 +1418,16 @@ NO_ZERO_W:
JR NZ,NO_PRP JR NZ,NO_PRP
INC H INC H
LD A,H LD A,H
AND 0Fh AND #0F
JR NZ,NO_PRP JR NZ,NO_PRP
LD A,H LD A,H
CP 50H CP #50
JR NZ,NO_ST JR NZ,NO_ST
LD (MONSTR_END_T),IX ; ª®­¥æ â ¡«¨æë ¬®­áâ஢ LD (MONSTR_END_T),IX ; ª®­¥æ â ¡«¨æë ¬®­áâ஢
NO_ST: NO_ST:
LD A,H LD A,H
CP 80h CP #80
JR NZ,RECALC_X JR NZ,RECALC_X
NO_PROCESS: NO_PROCESS:
@ -1667,7 +1657,7 @@ Y_SPEED: DW #302
A_SPEED: DW #200 A_SPEED: DW #200
TABLE_TRACE: BLOCK 33,0 ; â ¡«¨æ  âà áá¨à®¢ª¨/¡ ­ª¨ â ¡«¨æë TABLE_TRACE: BLOCK 33,0 ; â ¡«¨æ  âà áá¨à®¢ª¨/¡ ­ª¨ â ¡«¨æë
TABLE_WALL: BLOCK 33,0 TABLE_WALL: BLOCK 17,0
; BLOCK TABLES_START+#74-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ ; BLOCK TABLES_START+#74-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ

View File

@ -267,8 +267,8 @@ HDD_FN: EX AF,AF'
PUSH AF PUSH AF
LD A,5 ;!FIXIT LD A,5 ;!FIXIT
OUT (SLOT1),A OUT (SLOT1),A
DOOM2_SndPage+1: ;
LD A,0 LD A,CBL.BUFFER_PAGE
OUT (SLOT3),A OUT (SLOT3),A
IN A,(PORT_Y) IN A,(PORT_Y)
PUSH AF PUSH AF