correct sound bug fix

This commit is contained in:
Anatoliy Belyanskiy 2024-06-11 02:56:16 +10:00
parent 2a4f1e55e2
commit ed4bd75653
2 changed files with 40 additions and 59 deletions

@ -1 +1 @@
Subproject commit 7f4046e7fabff85738efcf2a7aa1dbbeca7af906
Subproject commit 378f3fdd49601390b3aacfe51e45c6fceba25022

View File

@ -1,7 +1,6 @@
DEFINE WAVPLunknown 1
DEFINE SND_Abug 0
DEFINE OutOfPageBugFix 0
DEFINE SoundBugFix 1
SH_HDD_X EQU 223 ; ¯®«®¦¥­¨¥ ¨­¤¨ª â®à  HDD £®à.
SH_HDD_Y EQU 90 ; ¯®«®¦¥­¨¥ ¨­¤¨ª â®à  HDD ¢¥àâ.
@ -41,6 +40,7 @@ SH_HDD_Y EQU 90 ;
ENDM
INCLUDE 'shared_includes/constants/sp2000.inc'
INCLUDE 'Shared_Includes/constants/dss_equ.inc'
INCLUDE 'Shared_Includes/constants/bios_equ.inc'
INCLUDE 'shared_includes/macroses/accelerator.z80'
ORG #8100-EXE_HEADER.Size
@ -62,19 +62,19 @@ START: PUSH IX
LD (FILE_HANDLE),A
LD HL,START_MSG
LD C,#5C
RST #10 ; Start Message
RST ToDSS ; Start Message
LD C,#50
LD B,0
LD A,#81
RST #10 ; OPEN_GRAF_SCR
RST ToDSS ; OPEN_GRAF_SCR
DI
LD C,#A6 ; set GRAF_PAL
LD B,1
LD A,0 ;GRAPHIC_SCREEN
RST 8
RST ToBIOS
EI
IN A,(SLOT3)
@ -119,15 +119,14 @@ START: PUSH IX
LD A,(FILE_HANDLE)
LD HL,0
LD IX,PIC_MAIN.Size
LD BC,Dss.Move_FP.FrEnd * 256 + Dss.Move_FP
LD BC,Dss.Move_FP.FrEnd
;!TEST
LD HL,#B400
LD DE,#36
LD C,#13
LD A,(FILE_HANDLE)
RST #10 ; READ Head
RST ToDSS ; READ Head
; LD HL,0B436h ; Set All PAL=0
; LD DE,0B437h
@ -146,7 +145,7 @@ START: PUSH IX
LD HL,#B436
LD C,#13
LD A,(FILE_HANDLE)
RST #10 ; READ PAL
RST ToDSS ; READ PAL
; LD HL,0B832h ; 梥â FF - ¡¥«ë©
; LD (HL),0FFh
@ -172,7 +171,7 @@ LOOP_FACE:
LD DE,#1400 ; ¯® 5k
LD C,#13
LD A,(FILE_HANDLE)
RST #10 ; READ File
RST ToDSS ; READ File
POP BC
PUSH BC ; ¢á¯®¬­¨âì C - Line
@ -275,7 +274,7 @@ NO_FACE:
LD C,#A6 ; set GRAF_PAL
LD B,1
LD A,0
RST 8
RST ToBIOS
EI
FACE_OK:
@ -288,6 +287,12 @@ FACE_OK:
PLAY_ALL:
CALL TEST_SWITCH
IF SoundBugFix
LD A,CBL.BUFFER_PAGE
OUT (SLOT3),A
ENDIF
; HL - name
CALL READ_FILE ; ç⥭¨¥ ä ©«  (á­ ç « !)
JP C,ERROR
@ -440,7 +445,7 @@ PLAY_WAVE:
ERROR2: CALL RESTORE_SCR
LD HL,ERROR_MSG2
LD C,#5C
RST #10
RST ToDSS
CALL CLOSE_FILE
LD B,DSS_Error.sys.UNKNOWN_FORMAT
JP EXIT_ALL.exit
@ -448,14 +453,14 @@ ERROR2: CALL RESTORE_SCR
ERROR: CALL RESTORE_SCR
LD HL,ERROR_MSG
LD C,#5C
RST #10
RST ToDSS
LD B,DSS_Error.sys.FILE_NOT_FOUND
JP EXIT_ALL.exit
ERROR3: CALL RESTORE_SCR
LD HL,ERROR_MSG3
LD C,#5C
RST #10
RST ToDSS
CALL CLOSE_FILE
LD B,DSS_Error.sys.UNKNOWN_FORMAT
JP EXIT_ALL.exit
@ -464,7 +469,7 @@ RESTORE_SCR:
LD C,#50
LD B,0
LD A,#03
JP #10 ; OPEN_TXT_SCR
JP ToDSS ; OPEN_TXT_SCR
NEXT_1:
LD A,(#C016)
@ -556,8 +561,12 @@ DATA_1:
LD BC,3
LDIR ; COPY LEN of DATA
IF SND_Abug
LD (SND_A),HL ; Adress of data
IF SoundBugFix
XOR A
LD B,L
.loop: DEC HL
LD (HL),A
DJNZ .loop
ENDIF
IN A,(SLOT3)
@ -575,12 +584,6 @@ DATA_1:
LD (NUM_SEC+1),A
LD HL,#C000
;
; ================[ <20>Ž„ƒŽ<C692>Š€ ]================; !TODO
IF WAVPLunknown
LD DE,0
ENDIF
;================[----------]================;
;
CALL READ_FILE_X1
@ -650,12 +653,6 @@ NO_KEY1:
LD (HDD_CNT),A
LD HL,0E000h
;
; ================[ <20>Ž„ƒŽ<C692>Š€ ]================; !TODO
IF WAVPLunknown
LD DE,1
ENDIF
;================[----------]================;
;
CALL READ_FILE_X
JP NZ,EXIT_ALL
@ -692,12 +689,6 @@ NO_KEY2:
LD (HDD_CNT),A
LD HL,#C000
;
; ================[ <20>Ž„ƒŽ<C692>Š€ ]================; !TODO
IF WAVPLunknown
LD DE,1
ENDIF
;================[----------]================;
;
CALL READ_FILE_X
JP NZ,EXIT_ALL
@ -895,17 +886,17 @@ HDD_CNT: db 0
PAUSE_KEY:
DI
LD BC,#4E
LD A,0
LD BC,CBL.SYS_PORT
XOR A ; CBL.Covox
OUT (C),A ; stop Audio
LD A,#80
LD C,#4F
LD C,CBL.OUT
OUT (C),A ; COVOX=80h
CALL PAUSE_KEY1
LD A,(CBL_MODE) ; PLAY MORE
LD BC,#4E
LD BC,CBL.SYS_PORT
OUT (C),A
EI
XOR A
@ -1036,16 +1027,6 @@ L_DDX:
LD A,H
OR #C0
LD H,A
;========================[ BUG FIX ]========================;
IF OutOfPageBugFix
ex de,hl
ld hl,#100
adc hl,de
ex de,hl
jr nc,1F
ld hl,#C02C
1:
ENDIF
;===========================================================;
LD (SND_A),HL
@ -1231,7 +1212,7 @@ SET_PAL_1:
PALS_N+2: LD DE,0
LD C,#A4
LD A,0
RST 8h ; set Pal
RST ToBIOS ; set Pal
EI
RET
@ -1285,7 +1266,7 @@ LINE_COMP:
READ_FILE: ; HL - name, ç¨â âì ¢  ¤à¥á #C000
LD A,1
LD C,#11
RST #10
RST ToDSS
RET C ; ®è¨¡ª , ¥á«¨ ­¥â ä ©« 
LD (FILE_HANDLE),A
@ -1295,7 +1276,7 @@ READ_FILE: ; HL - name,
LD DE,#100 ; ç¨â âì § £®«®¢®ª
; LD DE,200h ; ç¨â âì § £®«®¢®ª
LD C,#13
RST #10
RST ToDSS
RET C ; ®è¨¡ª  ¯à¨ ç⥭¨¨
; ¤«¨­  áç¨â ­­ëå ¤ ­­ëå ¢ DE
RET ; ®è¨¡ª  ¯à¨ § ªàë⨨ ¨«¨ Ok
@ -1305,13 +1286,13 @@ READ_MORE: ;
LD DE,#1000 ;
LD C,#13
LD A,(FILE_HANDLE)
RST #10
RST ToDSS
; JR CLOSE_FILE
CLOSE_FILE:
LD A,(FILE_HANDLE)
LD C,#12
RST #10
RST ToDSS
RET
;*******************************************
@ -1321,7 +1302,7 @@ READ_FILE_XD1:
LD DE,#1F00 ; ç¨â âì ¤ «ìè¥
LD C,#13
LD A,(FILE_HANDLE)
RST #10
RST ToDSS
RET
READ_FILE_XD:
@ -1330,7 +1311,7 @@ READ_FILE_XD:
LD DE,#2000 ; ç¨â âì ¤ «ìè¥
LD C,#13
LD A,(FILE_HANDLE)
RST #10
RST ToDSS
POP HL
ADD HL,DE
@ -1444,7 +1425,7 @@ CONT_1:
NUM_SEC:
LD B,16 ; áç¨â âì 16 ᥪâ®à®¢
LD C,#48
RST #8 ; CALL BIOS !!! READ_NEXT
RST ToBIOS ; CALL BIOS !!! READ_NEXT
ENDIF
;================[----------]================;
;