1
0
mirror of https://github.com/Tolik-Trek/DOOM2.git synced 2026-06-15 09:01:34 +03:00

-fixed bug with perdyezh at start

This commit is contained in:
Tolik 2024-07-19 02:54:03 +10:00
parent d120604544
commit 0712ec0a95
3 changed files with 62 additions and 86 deletions

View File

@ -118,11 +118,7 @@ CMD_Line+1:
out (c),a out (c),a
; ;
;-----------[§ £«ãè¨âì §¢ãª]------------ ;-----------[§ £«ãè¨âì §¢ãª]------------
LD A,#FF ; !FIXIT à §¢¥ â ª ­ ¤® £«ãè¨âì? <20>¥ à㤨¬¥­âë Sp97? CALL CLEAR_COVOX
1: CALL CLEAR_COVOX_X
DEC A
CP #80
JR NZ,1B
;--------------------------------------- ;---------------------------------------
; ;
;--------------------------------------- ;---------------------------------------
@ -347,13 +343,9 @@ FLAG: DB 0
; ;
CLEAR_COVOX: CLEAR_COVOX:
LD A,#80 LD A,#80
CLEAR_COVOX_X:
LD BC,CBL.COVOX_OUT LD BC,CBL.COVOX_OUT
.CLEAR: OUT (C),A
CLEAR_CBL: DJNZ .CLEAR
OUT (C),A
DJNZ CLEAR_CBL
RET RET
; ;
; ;

View File

@ -40,12 +40,11 @@ INIT_HDD_WORK:
.start: LD C,BIOS.HDD_PART ; IDE-1/IDE-2 .start: LD C,BIOS.HDD_PART ; IDE-1/IDE-2
RST ToBIOS RST ToBIOS
; ;
.loop: LD C,BIOS.HDD_INIT ;.loop: LD C,BIOS.HDD_INIT
RST ToBIOS ; RST ToBIOS
JR C,.loop ; JR C,.loop
; ;
CALL BPB_SetUp CALL BPB_SetUp
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------
@ -56,16 +55,16 @@ INIT_HDD_WORK:
; ;
LD HL,SYS_PAGE.MSD_FAT_SEC LD HL,SYS_PAGE.MSD_FAT_SEC
LD DE,MSD_DATS LD DE,MSD_DATS
LD BC,16 LD BC,16 ;!HARDCODE
LDIR LDIR
EX AF,AF' EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
;[ ] music and dirs ;[x] music and dirs
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
LD BC,Dss.F_First LD BC,Dss.F_First.FATname
RST ToDSS RST ToDSS
JR NC,.start_setup JR NC,.start_setup
; ;
@ -73,24 +72,6 @@ INIT_HDD_WORK:
LD (SoundOnOff2),A LD (SoundOnOff2),A
RET RET
; ;
;LD HL,(SYS_PAGE.MS_BPB + _sBOOT_SEC.B_P_S)
; LD BC,(Temp_Buffer+26) ; first dir cluster
; LD A,(SYS_PAGE.MS_BPB + _sBOOT_SEC.S_P_C)
; LD E,A
; LD D,0
; LD HL,0
; LD IX,0
; .cluster_loop:
; ADD HL,DE
; CALL C,KOSTILYI
; DEC BC
; LD A,B
; OR C
; JR NZ,.cluster_loop
.start_setup: .start_setup:
;-=-=-=-=-=-=-=- ;-=-=-=-=-=-=-=-
LD HL,(Temp_Buffer+26) ; first dir cluster LD HL,(Temp_Buffer+26) ; first dir cluster
@ -108,7 +89,7 @@ INIT_HDD_WORK:
; Š« áâ¥à ¯ ¯ª¨ #2258 ; Š« áâ¥à ¯ ¯ª¨ #2258
; IX:HL ®â­®á¨â¥«ì­ë© ᥪâ®à ¯ ¯ª¨ #897E0 (E0 97 08 00) ; IX:HL ®â­®á¨â¥«ì­ë© ᥪâ®à ¯ ¯ª¨ #897E0 (E0 97 08 00)
; ;
.skip_dir: ;.skip_dir:
; LD DE,(MSD_DATS.MSD_CAT_SEC) ; CAT TABLE.  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  ¬« ¤è ï ç áâì ; LD DE,(MSD_DATS.MSD_CAT_SEC) ; CAT TABLE.  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  ¬« ¤è ï ç áâì
; LD IX,(MSD_DATS.MSD_CAT_SEC2) ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  áâ àè ï ç áâì ; LD IX,(MSD_DATS.MSD_CAT_SEC2) ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  áâ àè ï ç áâì
;-----[ç¨â âì ᥪâ®àë á ¢¨­ç¥áâ¥à ]----- ;-----[ç¨â âì ᥪâ®àë á ¢¨­ç¥áâ¥à ]-----
@ -334,8 +315,8 @@ BPB_SetUp:
CP #F0 CP #F0
JP C,.ERROR_BPB JP C,.ERROR_BPB
LD HL,SYS_PAGE.MS_BPB+FAT_ID LD DE,SYS_PAGE.MS_BPB+FAT_ID
LD DE,.FAT1_MSG LD HL,.FAT1_MSG
LD B,4 LD B,4
.L1: LD A,(DE) .L1: LD A,(DE)
CP ' ' CP ' '
@ -348,7 +329,7 @@ BPB_SetUp:
INC HL INC HL
INC DE INC DE
DJNZ .L1 DJNZ .L1
LD A,(HL) LD A,(DE)
CP '6' CP '6'
LD HL,#81FF ; FAT16 ä« £ LD HL,#81FF ; FAT16 ä« £
JR Z,.FAT JR Z,.FAT
@ -362,12 +343,11 @@ BPB_SetUp:
LD A,(SYS_PAGE.MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ ­  â४ LD A,(SYS_PAGE.MS_BPB+S_P_T) ; Š®«¨ç¥á⢮ ᥪâ®à®¢ ­  â४
LD (SYS_PAGE.MSD_SECS),A LD (SYS_PAGE.MSD_SECS),A
BIT 7,H ; BIT 7,H
; LD IX,0
; LD HL,0 ; ¢ëç¨á«¨âì ­ ç «ì­ë© ᥪâ®à FAT
; JR Z,.NO_LD_SPECIAL
LD IX,0
LD HL,0 ; ¢ëç¨á«¨âì ­ ç «ì­ë© ᥪâ®à FAT
JR Z,.NO_LD_SPECIAL
LD IX,(SYS_PAGE.MS_BPB+SPECIAL_SECS) LD IX,(SYS_PAGE.MS_BPB+SPECIAL_SECS)
LD HL,(SYS_PAGE.MS_BPB+SPECIAL_SECS+2) LD HL,(SYS_PAGE.MS_BPB+SPECIAL_SECS+2)
.NO_LD_SPECIAL: .NO_LD_SPECIAL:
@ -381,7 +361,7 @@ BPB_SetUp:
LD (SYS_PAGE.MSD_FAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à FAT LD (SYS_PAGE.MSD_FAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à FAT
LD DE,(SYS_PAGE.MS_BPB+S_P_F) ; ç¨á«® ᥪâ®à®¢ ¢ FAT LD DE,(SYS_PAGE.MS_BPB+S_P_F) ; ç¨á«® ᥪâ®à®¢ ¢ FAT
LD BC,0 ;LD BC,0
LD A,(SYS_PAGE.MS_BPB+FATS_NUM) ; ª®«¨ç¥á⢮ FATs LD A,(SYS_PAGE.MS_BPB+FATS_NUM) ; ª®«¨ç¥á⢮ FATs
.NEXT_ADD: .NEXT_ADD:
@ -394,16 +374,16 @@ BPB_SetUp:
LD (SYS_PAGE.MSD_CAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à DIR LD (SYS_PAGE.MSD_CAT_SEC2),HL ; ­ ç «ì­ë© ᥪâ®à DIR
LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à  LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à 
LD A,B
RL C RL C
RL B RLA
RL C RL C
RL B RLA
RL C RL C
RL B RLA
LD C,B LD C,A
LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥ LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
LD A,C LD (SYS_PAGE.FilesPerSector),A
LD (SYS_PAGE.F_P_S),A
LD DE,(SYS_PAGE.MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥© LD DE,(SYS_PAGE.MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥©
@ -418,9 +398,9 @@ BPB_SetUp:
EX DE,HL EX DE,HL
LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR
LD D,0
LD BC,0 LD BC,0
LD (SYS_PAGE.S_P_C),A LD D,B
LD (SYS_PAGE.SectorsPerCluster),A
ADD IX,DE ; <20> ç «® DATA area ADD IX,DE ; <20> ç «® DATA area
ADC HL,BC ADC HL,BC
@ -429,22 +409,26 @@ BPB_SetUp:
LD (SYS_PAGE.MSD_DAT_SEC2),HL LD (SYS_PAGE.MSD_DAT_SEC2),HL
LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à  LD BC,(SYS_PAGE.MS_BPB+SEC_SIZE) ; <20> §¬¥à ᥪâ®à 
LD HL,0 ; D = 0
LD H,D
LD L,D
LD E,D
LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE) LD A,(SYS_PAGE.MS_BPB+CLAST_SIZE)
LD D,A LD D,A
LD A,0 XOR A
.NEXT_ADD3: .NEXT_ADD3:
ADD HL,BC ; ‚ëç¨á«¥­¨¥ ¤«¨­ë ª« áâ¥à  ADD HL,BC ; ‚ëç¨á«¥­¨¥ ¤«¨­ë ª« áâ¥à 
ADC A,0 ADC A,E
DEC D DEC D
JR NZ,.NEXT_ADD3 JR NZ,.NEXT_ADD3
LD (SYS_PAGE.CLASTER_LEN),HL LD (SYS_PAGE.CLASTER_LEN),HL
LD B,0 LD B,E
LD C,A LD C,A
LD (SYS_PAGE.CLASTER_LEN2),BC LD (SYS_PAGE.CLASTER_LEN2),BC
;
LD HL,0 ; DE=0
EX DE,HL ;LD HL,0
LD BC,(SYS_PAGE.MS_BPB+S_P_T) LD BC,(SYS_PAGE.MS_BPB+S_P_T)
LD A,(SYS_PAGE.MS_BPB+H_P_S) LD A,(SYS_PAGE.MS_BPB+H_P_S)
.BPB_L1:; ‚›—ˆ‘‹ˆ’œ ŠŽ‹ˆ—…‘’‚Ž …ŠŽ<E28099>Ž <20>ˆˆ<E280B9><EFBFBD> .BPB_L1:; ‚›—ˆ‘‹ˆ’œ ŠŽ‹ˆ—…‘’‚Ž …ŠŽ<E28099>Ž <20>ˆˆ<E280B9><EFBFBD>

@ -1 +1 @@
Subproject commit 5a5dcf0bd035d2adaaa27d28bb8ed1bd86260d59 Subproject commit f3ac185e2fe2d1e76f8e54c3c1f421a99fafdd62