1
0
mirror of https://github.com/Tolik-Trek/DOOM2.git synced 2026-06-15 09:01:34 +03:00
This commit is contained in:
Anatoliy Belyanskiy 2024-02-05 02:01:11 +10:00
parent 804a9c4909
commit e4a65dd0bb
3 changed files with 123 additions and 103 deletions

View File

@ -1386,6 +1386,14 @@ COV_ADR+1:
IN A,(SLOT3) IN A,(SLOT3)
LD E,A LD E,A
;!FIXIT DEBUG
; LD A,COLORS.CGA.BORDER.CYAN
; OUT (BorderColor),A
;
D2_FRAM_SndPage+1: D2_FRAM_SndPage+1:
LD A,0 LD A,0
OUT (SLOT3),A OUT (SLOT3),A
@ -1404,6 +1412,13 @@ L_DDX:
DEC D DEC D
JR NZ,L_DDX JR NZ,L_DDX
;!FIXIT DEBUG
; LD A,COLORS.CGA.BORDER.BLACK
; OUT (BorderColor),A
;
LD (SND_A),HL LD (SND_A),HL
LD A,H LD A,H

View File

@ -55,6 +55,7 @@
include 'Shared_includes/constants/SP2000.inc' include 'Shared_includes/constants/SP2000.inc'
include 'Shared_includes/constants/dss_equ.inc' include 'Shared_includes/constants/dss_equ.inc'
include 'Shared_includes/constants/BIOS_equ.inc' include 'Shared_includes/constants/BIOS_equ.inc'
include 'Shared_includes/constants/standart_colors.inc'
include 'Shared_includes/macroses/accelerator.z80' include 'Shared_includes/macroses/accelerator.z80'
include 'Shared_includes/macroses/macros.z80' include 'Shared_includes/macroses/macros.z80'
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------
@ -92,18 +93,18 @@ BEGIN: DI
LD (CMD_Line),IX ; á®åà ­¨âì 㪠§ â¥«ì ­  ¯ à ¬¥âàë § ¯ã᪠ LD (CMD_Line),IX ; á®åà ­¨âì 㪠§ â¥«ì ­  ¯ à ¬¥âàë § ¯ã᪠
CMD_Line+1: CMD_Line+1:
LD HL,#8080 LD HL,#8080
/*
; „®¤¥« âì???!!!! ; „®¤¥« âì???!!!!
LD C,(HL) ; LD C,(HL)
LD B,0 ; LD B,0
INC BC ; INC BC
INC BC ; INC BC
INC BC ; INC BC
ADD HL,BC ; 㪠§ â¥«ì ­  ¯®«­ë© ¯ãâì ¤® ä ©«  § ¯ã᪠ ; ADD HL,BC ; 㪠§ â¥«ì ­  ¯®«­ë© ¯ãâì ¤® ä ©«  § ¯ã᪠
ld c,Dss.ChDir ; ¯¥à¥å®¤ ¢ ª â «®£ DOOM2 ­  ¢á直© á«ãç © ; ld c,Dss.ChDir ; ¯¥à¥å®¤ ¢ ª â «®£ DOOM2 ­  ¢á直© á«ãç ©
rst ToDSS ; rst ToDSS
DI ; DI
*/
; IN A,(SLOT3) ; IN A,(SLOT3)
; LD C,BIOS.SPRINTER_ALL ; LD C,BIOS.SPRINTER_ALL
; RST ToBIOS ; RST ToBIOS
@ -415,26 +416,22 @@ CLEAR_CBL:
CLEAR_SP_PAL: CLEAR_SP_PAL:
IN A,(SLOT3) IN A,(SLOT3)
PUSH AF PUSH AF
;
LD A,#50 LD A,#50
OUT (SLOT3),A OUT (SLOT3),A
LD B,61
LOOP_PAL_ALL:
PUSH BC
LD BC,PORT_Y
LOOP_PAL_C:
OUT (C),B
; ;
PAL_RESES_ADR+1: LD B,61
.LOOP_PAL_ALL:
PUSH BC
LD BC,PORT_Y
.LOOP_PAL_C:
OUT (C),B
.RESES_ADR+1:
LD HL,#C3F0 LD HL,#C3F0
; ;
LD D,16 LD D,16
;
LOOP_PAL_D: .LOOP_PAL_D:
LD A,(HL) LD A,(HL)
RRA RRA
RRA RRA
@ -446,25 +443,24 @@ LOOP_PAL_D:
LD E,A LD E,A
LD A,(HL) LD A,(HL)
SUB E SUB E
JR NC,NO_Z JR NC,.NO_Z
XOR A XOR A
NO_Z: LD (HL),A .NO_Z: LD (HL),A
INC L INC L
DEC D DEC D
JR NZ,LOOP_PAL_D JR NZ,.LOOP_PAL_D
;
CALL SOUND1 CALL SOUND1
DJNZ LOOP_PAL_C DJNZ .LOOP_PAL_C
;
CALL PAUSE_INT CALL PAUSE_INT
;
POP BC POP BC
LD A,(LAST_KEY) LD A,(LAST_KEY)
AND A AND A
JR NZ,NO_PAL_EXE JR NZ,.NO_PAL_EXE
DJNZ LOOP_PAL_ALL DJNZ .LOOP_PAL_ALL
.NO_PAL_EXE:
NO_PAL_EXE:
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
RET RET
@ -600,7 +596,7 @@ D2_FRAM_page+1:
;--------------------------------------- ;---------------------------------------
; ;
LD HL,#C3E0 LD HL,#C3E0
LD (PAL_RESES_ADR),HL LD (CLEAR_SP_PAL.RESES_ADR),HL
; ;
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; ‘âà ­­®¥ ¬¥áâ®. Œ®¦­® ¦¥ áà §ã ¢ ª®¤¥ ; ‘âà ­­®¥ ¬¥áâ®. Œ®¦­® ¦¥ áà §ã ¢ ª®¤¥
@ -1181,9 +1177,9 @@ Load_Resources:
in a,(SLOT3) in a,(SLOT3)
ld (.SavePage),a ld (.SavePage),a
LD B,FilesTBL.END
LD DE,FilesTBL
LD HL,RAMBlkIDs LD HL,RAMBlkIDs
LD DE,FilesTBL
LD B,FilesTBL.END
.LR_loop: .LR_loop:
PUSH BC ;++áçñâ稪 PUSH BC ;++áçñâ稪
@ -1298,9 +1294,9 @@ Load_Resources:
ld a,0 ld a,0
out (SLOT3),a out (SLOT3),a
; ;
LD HL,CURRENT_DIR ; LD HL,CURRENT_DIR
LD C,Dss.CurDir ; LD C,Dss.CurDir
RST ToDSS ; RST ToDSS
; ;
LD C,Dss.CurDisk LD C,Dss.CurDisk
RST ToDSS RST ToDSS
@ -1675,8 +1671,8 @@ TABLE_WALL: BLOCK 33,0
; BLOCK TABLES_START+#74-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ ; BLOCK TABLES_START+#74-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ
LAST_KEY: DB 0
NAMES: DB 6,1 NAMES: DB 6,1
LAST_KEY: DB 0
; BLOCK TABLES_START+#7C-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ ; BLOCK TABLES_START+#7C-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ
@ -1688,6 +1684,8 @@ NAME3: DB "_ICT2 CBL "
NAME6: DB "_UNNY2 CBL " NAME6: DB "_UNNY2 CBL "
NAME8: DB "94956C CBL " NAME8: DB "94956C CBL "
NAME9: DB "_ENI511CCBL " NAME9: DB "_ENI511CCBL "
;
;Up_Dir: DZ ".."
; ;
@ -1706,8 +1704,12 @@ NAME9: DB "_ENI511CCBL "
; ENDIF ; ENDIF
; ;
OUTEND ; ª®­¥æ ä ©«  doom2.exe OUTEND ; ª®­¥æ ä ©«  doom2.exe
DIR_NAME_11: BLOCK 11,0 ;-----------------------------------------------------------------------;
CURRENT_DIR: BLOCK 257,0
;------------------------------------
;CURRENT_DIR: BLOCK 257,0
;------------------------------------
Temp_Buffer EQU $ Temp_Buffer EQU $
; ;
; ;
@ -1717,6 +1719,4 @@ Temp_Buffer EQU $
;FRAM_PROG_1000H: ;FRAM_PROG_1000H:
include 'D2_FRAM.asm' include 'D2_FRAM.asm'
;
END
; ;

View File

@ -62,15 +62,31 @@ INIT_HDD_WORK:
LDIR LDIR
POP AF POP AF
OUT (SLOT3),A 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
; ;[ ] 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 ¤«¨­  áâப¨ ¯ãâ¨
; CPDR
; INC HL
; INC HL
; ;
; LD DE,Temp_Buffer
; LD A,FAT_ATTR.DIRECTORY
; LD BC,Dss.F_First
; RST ToDSS
; ;
; LD HL,(Temp_Buffer+15)
; ;
.skip_dir:
;-----[ç¨â âì ᥪâ®àë á ¢¨­ç¥áâ¥à ]----- ;-----[ç¨â âì ᥪâ®àë á ¢¨­ç¥áâ¥à ]-----
READ_DIR: READ_DIR:
LD HL,#C000 ;  ¤à¥á ¡ãä¥à  ¤ ­­ëå LD HL,#C000 ;  ¤à¥á ¡ãä¥à  ¤ ­­ëå
@ -122,25 +138,25 @@ SET_SND_FILE:
RET RET
SWITCH_SND: SWITCH_SND:
NAME_S+1: LD DE,NAME1 .NAME_S+1:
LD DE,NAME1
CALL SET_SND_FILE CALL SET_SND_FILE
JR C,SWITCH_X JR C,.SWITCH_X
;
LD HL,(NAME_S) LD HL,(.NAME_S)
LD BC,16 LD BC,16
ADD HL,BC ADD HL,BC
LD (NAME_S),HL LD (.NAME_S),HL
RET RET
.SWITCH_X:
SWITCH_X:
LD HL,NAME1 LD HL,NAME1
LD (NAME_S),HL LD (.NAME_S),HL
JR SWITCH_SND JR SWITCH_SND
FILE_DATA: FILE_DATA:
DW 0 ; ­ ç «ì­ë© ª« áâ¥à DW 0 ; ­ ç «ì­ë© ª« áâ¥à
DW 0,0 ; ¤«¨­  ä ©«  DW 0,0 ; ¤«¨­  ä ©« 
;
DW 0 ; ⥪ã騩 ª« áâ¥à DW 0 ; ⥪ã騩 ª« áâ¥à
DW 0,0 ; ⥪ã饥 ¯®«®¦¥­¨¥ ¢ ä ©«¥ DW 0,0 ; ⥪ã饥 ¯®«®¦¥­¨¥ ¢ ä ©«¥
DW 0 ; ⥪ã騩 ­®¬¥à ᥪâ®à  ¢ ª« áâ¥à¥ DW 0 ; ⥪ã騩 ­®¬¥à ᥪâ®à  ¢ ª« áâ¥à¥
@ -179,58 +195,52 @@ OPEN_FILE: ; DE - name
LD DE,(MSD_DATS+13) ; ¤«¨­  ª« áâ¥à  ¢ ¡ ©â å LD DE,(MSD_DATS+13) ; ¤«¨­  ª« áâ¥à  ¢ ¡ ©â å
RR D RR D
RR E RR E
SEC_MUL: .SEC_MUL:
RR D RR D
RR E RR E
JR C,SECT_X JR C,.SECT_X
ADD IX,IX ADD IX,IX
ADC HL,HL ADC HL,HL
JR SEC_MUL JR .SEC_MUL
.SECT_X:
SECT_X:
LD DE,(MSD_DATS+8) LD DE,(MSD_DATS+8)
ADD IX,DE ADD IX,DE
LD DE,(MSD_DATS+10) LD DE,(MSD_DATS+10)
ADC HL,DE ; HL:IX - ­®¬¥à ¯¥à¢®£® ᥪâ®à  ä ©«  ADC HL,DE ; HL:IX - ­®¬¥à ¯¥à¢®£® ᥪâ®à  ä ©« 
AND A AND A
RET RET
; ;
;DE - name - 11 ᨬ¢®«®¢ ;DE - name - 11 ᨬ¢®«®¢
FIND_FILE: FIND_FILE:
;
LD C,SLOT3 LD C,SLOT3
IN B,(C) IN B,(C)
PUSH BC PUSH BC
;
LD A,(CatPage) LD A,(CatPage)
OUT (C),A OUT (C),A
;
LD HL,#C000 LD HL,#C000
.NEXT_LOOP:
NEXT_LOOP:
LD B,11 LD B,11
PUSH DE PUSH DE
.NAME_LOOP:
NAME_LOOP:
LD A,(DE) LD A,(DE)
CP (HL) CP (HL)
JR NZ,NEXT_NAME JR NZ,.NEXT_NAME
INC HL INC HL
INC DE INC DE
DJNZ NAME_LOOP DJNZ .NAME_LOOP
;
POP DE POP DE
LD A,L LD A,L
AND #E0 AND #E0
LD L,A LD L,A
;
POP BC POP BC
OUT (C),B OUT (C),B
AND A AND A
RET ; HL - ¤ ­­ë¥ ä ©«  ¢ áâà ­¨æ¥ 6 RET ; HL - ¤ ­­ë¥ ä ©«  ¢ áâà ­¨æ¥ 6
.NEXT_NAME:
NEXT_NAME:
POP DE POP DE
LD A,L LD A,L
AND #E0 AND #E0
@ -239,19 +249,17 @@ NEXT_NAME:
ADD HL,BC ADD HL,BC
LD A,(HL) LD A,(HL)
AND A AND A
JR Z,END_CAT JR Z,.END_CAT
LD A,H LD A,H
AND A AND A
JR NZ,NEXT_LOOP JR NZ,.NEXT_LOOP
.END_CAT:
END_CAT:
POP BC POP BC
OUT (C),B OUT (C),B
SCF SCF
RET RET
HDD_FN: HDD_FN: EX AF,AF'
EX AF,AF'
IN A,(FastRAM.OFF) IN A,(FastRAM.OFF)
IN A,(SLOT1) IN A,(SLOT1)
PUSH AF PUSH AF
@ -262,14 +270,11 @@ HDD_FN:
DOOM2_SndPage+1: DOOM2_SndPage+1:
LD A,0 LD A,0
OUT (SLOT3),A OUT (SLOT3),A
IN A,(PORT_Y) IN A,(PORT_Y)
PUSH AF PUSH AF
EX AF,AF' EX AF,AF'
RST ToBIOS ; ç¨â âì ᥪâ®à  á ¢¨­ç¥áâ¥à , äã­ªæ¨ï #45 RST ToBIOS ; ç¨â âì ᥪâ®à  á ¢¨­ç¥áâ¥à , äã­ªæ¨ï #45
;DI ;
POP AF POP AF
OUT (PORT_Y),A OUT (PORT_Y),A
POP AF POP AF