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