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)
LD E,A
;!FIXIT DEBUG
; LD A,COLORS.CGA.BORDER.CYAN
; OUT (BorderColor),A
;
D2_FRAM_SndPage+1:
LD A,0
OUT (SLOT3),A
@ -1404,6 +1412,13 @@ L_DDX:
DEC D
JR NZ,L_DDX
;!FIXIT DEBUG
; LD A,COLORS.CGA.BORDER.BLACK
; OUT (BorderColor),A
;
LD (SND_A),HL
LD A,H

View File

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

View File

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