mirror of
https://github.com/Tolik-Trek/WAV-Player.git
synced 2026-06-16 01:21:08 +03:00
...
This commit is contained in:
parent
f9101ef152
commit
222e08ed57
BIN
BIN/WAV_HELP.PAK
Normal file
BIN
BIN/WAV_HELP.PAK
Normal file
Binary file not shown.
119
WAVPLAY.ASM
119
WAVPLAY.ASM
@ -3,6 +3,9 @@
|
|||||||
DEFINE SND_Abug 0
|
DEFINE SND_Abug 0
|
||||||
DEFINE OutOfPageBugFix 0
|
DEFINE OutOfPageBugFix 0
|
||||||
|
|
||||||
|
SH_HDD_X EQU 223 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD £®à.
|
||||||
|
SH_HDD_Y EQU 90 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD ¢¥àâ.
|
||||||
|
|
||||||
|
|
||||||
MACRO NEXT_SEC
|
MACRO NEXT_SEC
|
||||||
LD BC,P_S_NUM-256
|
LD BC,P_S_NUM-256
|
||||||
@ -337,7 +340,6 @@ END_WPL:
|
|||||||
|
|
||||||
LD HL,#9000
|
LD HL,#9000
|
||||||
LOOP_WPL_ALL:
|
LOOP_WPL_ALL:
|
||||||
|
|
||||||
LD A,(NUM_FILES)
|
LD A,(NUM_FILES)
|
||||||
AND A
|
AND A
|
||||||
JR Z,STOP_ALL
|
JR Z,STOP_ALL
|
||||||
@ -434,32 +436,29 @@ PLAY_WAVE:
|
|||||||
LD A,#80
|
LD A,#80
|
||||||
LD (ADD_PAR),A
|
LD (ADD_PAR),A
|
||||||
JR Z,NEXT_1
|
JR Z,NEXT_1
|
||||||
JR ERROR2 ; format error
|
;JR ERROR2 ; format error
|
||||||
|
ERROR2: CALL RESTORE_SCR
|
||||||
ERROR:
|
|
||||||
CALL RESTORE_SCR
|
|
||||||
LD HL,ERROR_MSG
|
|
||||||
LD C,5Ch
|
|
||||||
RST 10h
|
|
||||||
LD B,DSS_Error.sys.FILE_NOT_FOUND
|
|
||||||
RET
|
|
||||||
|
|
||||||
ERROR2:
|
|
||||||
CALL RESTORE_SCR
|
|
||||||
LD HL,ERROR_MSG2
|
LD HL,ERROR_MSG2
|
||||||
LD C,#5C
|
LD C,#5C
|
||||||
RST #10
|
RST #10
|
||||||
CALL CLOSE_FILE
|
CALL CLOSE_FILE
|
||||||
LD B,DSS_Error.sys.UNKNOWN_FORMAT
|
LD B,DSS_Error.sys.UNKNOWN_FORMAT
|
||||||
RET
|
JP EXIT_ALL.exit
|
||||||
ERROR3:
|
|
||||||
CALL RESTORE_SCR
|
ERROR: CALL RESTORE_SCR
|
||||||
|
LD HL,ERROR_MSG
|
||||||
|
LD C,#5C
|
||||||
|
RST #10
|
||||||
|
LD B,DSS_Error.sys.FILE_NOT_FOUND
|
||||||
|
JP EXIT_ALL.exit
|
||||||
|
|
||||||
|
ERROR3: CALL RESTORE_SCR
|
||||||
LD HL,ERROR_MSG3
|
LD HL,ERROR_MSG3
|
||||||
LD C,#5C
|
LD C,#5C
|
||||||
RST #10
|
RST #10
|
||||||
CALL CLOSE_FILE
|
CALL CLOSE_FILE
|
||||||
LD B,DSS_Error.sys.GENERAL_FAILURE
|
LD B,DSS_Error.sys.UNKNOWN_FORMAT
|
||||||
RET
|
JP EXIT_ALL.exit
|
||||||
|
|
||||||
RESTORE_SCR:
|
RESTORE_SCR:
|
||||||
LD C,#50
|
LD C,#50
|
||||||
@ -468,7 +467,6 @@ RESTORE_SCR:
|
|||||||
JP #10 ; OPEN_TXT_SCR
|
JP #10 ; OPEN_TXT_SCR
|
||||||
|
|
||||||
NEXT_1:
|
NEXT_1:
|
||||||
|
|
||||||
LD A,(#C016)
|
LD A,(#C016)
|
||||||
CP 1
|
CP 1
|
||||||
JR Z,NEXT_2
|
JR Z,NEXT_2
|
||||||
@ -480,7 +478,7 @@ NEXT_2:
|
|||||||
LD A,B
|
LD A,B
|
||||||
LD (CBL_MODE),A
|
LD (CBL_MODE),A
|
||||||
|
|
||||||
LD BC,(0C018h) ; ç áâ®â
|
LD BC,(#C018) ; ç áâ®â
|
||||||
LD HL,7000
|
LD HL,7000
|
||||||
LD DE,9000
|
LD DE,9000
|
||||||
CALL Test_DIAP
|
CALL Test_DIAP
|
||||||
@ -525,7 +523,6 @@ NEXT_2:
|
|||||||
; LD A,14 ; 54khz
|
; LD A,14 ; 54khz
|
||||||
; EX AF,AF'
|
; EX AF,AF'
|
||||||
; JR Z,NEXT_3
|
; JR Z,NEXT_3
|
||||||
|
|
||||||
JP ERROR3
|
JP ERROR3
|
||||||
|
|
||||||
NEXT_3:
|
NEXT_3:
|
||||||
@ -534,13 +531,9 @@ NEXT_3:
|
|||||||
LD A,(CBL_MODE)
|
LD A,(CBL_MODE)
|
||||||
ADD A,C
|
ADD A,C
|
||||||
LD (CBL_MODE),A
|
LD (CBL_MODE),A
|
||||||
|
|
||||||
PLAY_FILE:
|
PLAY_FILE:
|
||||||
|
|
||||||
CALL FRQ_ON
|
CALL FRQ_ON
|
||||||
|
|
||||||
LD HL,#C024
|
LD HL,#C024
|
||||||
|
|
||||||
FIND_DATA:
|
FIND_DATA:
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD DE,LINES_DATA
|
LD DE,LINES_DATA
|
||||||
@ -552,7 +545,6 @@ FIND_DATA:
|
|||||||
INC L
|
INC L
|
||||||
JR NZ,FIND_DATA
|
JR NZ,FIND_DATA
|
||||||
JP ERROR2
|
JP ERROR2
|
||||||
|
|
||||||
DATA_1:
|
DATA_1:
|
||||||
INC HL
|
INC HL
|
||||||
INC HL
|
INC HL
|
||||||
@ -571,12 +563,12 @@ DATA_1:
|
|||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
LD (SAV_PAGE3),A
|
LD (SAV_PAGE3),A
|
||||||
|
|
||||||
LD A,#FD ; ᯥæ-áâà ¨æ !
|
;LD A,CBL.BUFFER_PAGE ; ᯥæ-áâà ¨æ !
|
||||||
LD (PLAY_PAGE),A
|
;LD (PLAY_PAGE),A
|
||||||
|
|
||||||
;*********************************************
|
;*********************************************
|
||||||
|
|
||||||
LD A,(PLAY_PAGE)
|
LD A,CBL.BUFFER_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD A,16 ; ç¨á«® ᥪâ®à®¢ - ¯à¨§ ª ª®æ ¤ ëå
|
LD A,16 ; ç¨á«® ᥪâ®à®¢ - ¯à¨§ ª ª®æ ¤ ëå
|
||||||
@ -738,11 +730,9 @@ HDD_IND:
|
|||||||
LD A,#20 ; § ¡¨âì ¢¥áì ¨¤¨ª â®à
|
LD A,#20 ; § ¡¨âì ¢¥áì ¨¤¨ª â®à
|
||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
SH_HDD EQU 5Ah ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD ¢¥àâ.
|
LD HL,#C000 + SH_HDD_X ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD £®à.
|
||||||
|
|
||||||
LD HL,#C0DF ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD £®à.
|
LD A,SH_HDD_Y
|
||||||
|
|
||||||
LD A,SH_HDD
|
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
; LD A,0Eh ; 梥⠯ ¥«¨ (ᨨ©)
|
; LD A,0Eh ; 梥⠯ ¥«¨ (ᨨ©)
|
||||||
@ -755,7 +745,7 @@ SH_HDD EQU 5Ah ;
|
|||||||
LD (HL),A
|
LD (HL),A
|
||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
LD A,SH_HDD
|
LD A,SH_HDD_Y
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
INC HL
|
INC HL
|
||||||
@ -772,8 +762,8 @@ SH_HDD EQU 5Ah ;
|
|||||||
CP #3E
|
CP #3E
|
||||||
LD B,#1D
|
LD B,#1D
|
||||||
JR C,NO_
|
JR C,NO_
|
||||||
LD B,#1D
|
COLOR_B+1: LD B,#1D
|
||||||
COLOR_B EQU $-1
|
|
||||||
LD A,(COLOR_B)
|
LD A,(COLOR_B)
|
||||||
XOR #1E
|
XOR #1E
|
||||||
LD (COLOR_B),A
|
LD (COLOR_B),A
|
||||||
@ -785,7 +775,7 @@ NO_:
|
|||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
NEG
|
NEG
|
||||||
ADD A,SH_HDD+#40
|
ADD A,SH_HDD_Y+#40
|
||||||
LD C,A
|
LD C,A
|
||||||
|
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
@ -806,7 +796,7 @@ NO_:
|
|||||||
|
|
||||||
LD HL,#C0E7
|
LD HL,#C0E7
|
||||||
|
|
||||||
LD A,SH_HDD
|
LD A,SH_HDD_Y
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
ACC_SetBlockSize
|
ACC_SetBlockSize
|
||||||
@ -818,7 +808,8 @@ NO_:
|
|||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
ACC_Off
|
ACC_Off
|
||||||
LD A,1 ; §¥«¥ë©
|
|
||||||
|
LD A,1 ; §¥«¥ë©
|
||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
ACC_Off
|
ACC_Off
|
||||||
@ -831,7 +822,7 @@ NO_:
|
|||||||
LD (HL),A
|
LD (HL),A
|
||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
LD A,SH_HDD
|
LD A,SH_HDD_Y
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
|
|
||||||
INC HL
|
INC HL
|
||||||
@ -845,6 +836,7 @@ NO_:
|
|||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
LD A,1 ; §¥«¥ë©
|
LD A,1 ; §¥«¥ë©
|
||||||
ACC_FillScreenOneByte
|
ACC_FillScreenOneByte
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
@ -871,7 +863,7 @@ NO_:
|
|||||||
ACC_Off
|
ACC_Off
|
||||||
|
|
||||||
NEG
|
NEG
|
||||||
ADD A,SH_HDD+#40
|
ADD A,SH_HDD_Y+#40
|
||||||
LD C,A
|
LD C,A
|
||||||
|
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
@ -930,8 +922,7 @@ PAUSE_KEY1:
|
|||||||
RET Z
|
RET Z
|
||||||
JR PAUSE_KEY1
|
JR PAUSE_KEY1
|
||||||
|
|
||||||
INKEY:
|
INKEY: IN A,(Z84.SIO.Ch_A.Ctrl)
|
||||||
IN A,(Z84.SIO.Ch_A.Ctrl)
|
|
||||||
BIT 0,A
|
BIT 0,A
|
||||||
RET Z
|
RET Z
|
||||||
IN A,(Z84.SIO.Ch_A.Data)
|
IN A,(Z84.SIO.Ch_A.Data)
|
||||||
@ -962,7 +953,6 @@ NO_KEY: db #FF
|
|||||||
|
|
||||||
|
|
||||||
EXIT_ALL:
|
EXIT_ALL:
|
||||||
|
|
||||||
IM 1
|
IM 1
|
||||||
|
|
||||||
LD A,0
|
LD A,0
|
||||||
@ -971,9 +961,9 @@ EXIT_ALL:
|
|||||||
|
|
||||||
LD BC,#4F
|
LD BC,#4F
|
||||||
LD A,#80
|
LD A,#80
|
||||||
FILL_L1:
|
|
||||||
OUT (C),A ; § ¡¨âì ¢® ¢á¥ 80h
|
.loop: OUT (C),A ; § ¡¨âì ¢® ¢á¥ 80h
|
||||||
DJNZ FILL_L1
|
DJNZ .loop
|
||||||
|
|
||||||
LD A,(SAV_PAGE3)
|
LD A,(SAV_PAGE3)
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -984,16 +974,16 @@ FILL_L1:
|
|||||||
; LD B,1
|
; LD B,1
|
||||||
; LD A,3h
|
; LD A,3h
|
||||||
; RST 10h
|
; RST 10h
|
||||||
|
LD B,0
|
||||||
RET
|
.exit: LD C,Dss.Exit
|
||||||
|
RST ToDSS
|
||||||
|
JR .exit
|
||||||
|
|
||||||
SAV_PAGE3: db 0
|
SAV_PAGE3: db 0
|
||||||
|
|
||||||
;*************************************
|
;*************************************
|
||||||
PLAY:
|
PLAY: DI
|
||||||
DI
|
|
||||||
PUSH AF
|
PUSH AF
|
||||||
IN A,(0FEh)
|
IN A,(CBL.INT_PORT)
|
||||||
RLCA
|
RLCA
|
||||||
JP NC,NO_SND
|
JP NC,NO_SND
|
||||||
|
|
||||||
@ -1015,8 +1005,8 @@ PLAY:
|
|||||||
|
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
LD A,#FD
|
LD A,CBL.BUFFER_PAGE
|
||||||
PLAY_PAGE EQU $-1 ; !FIXIT § 祬, ¥á«¨ ¬®¦® ¯àï¬ãî ¡ë«® ¯à®¯¨á âì?
|
;PLAY_PAGE EQU $-1 ; !FIXIT § 祬, ¥á«¨ ¬®¦® ¯àï¬ãî ¡ë«® ¯à®¯¨á âì?
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
OUT (SLOT0),A
|
OUT (SLOT0),A
|
||||||
|
|
||||||
@ -1053,11 +1043,11 @@ L_DDX:
|
|||||||
adc hl,de
|
adc hl,de
|
||||||
ex de,hl
|
ex de,hl
|
||||||
jr nc,1F
|
jr nc,1F
|
||||||
|
|
||||||
ld hl,#C02C
|
ld hl,#C02C
|
||||||
|
1:
|
||||||
ENDIF
|
ENDIF
|
||||||
;===========================================================;
|
;===========================================================;
|
||||||
1: LD (SND_A),HL
|
LD (SND_A),HL
|
||||||
|
|
||||||
;****************
|
;****************
|
||||||
|
|
||||||
@ -1153,7 +1143,7 @@ COLOR_+1: LD A,#FF
|
|||||||
; DEC L
|
; DEC L
|
||||||
; LD (HL),A ; à¨á®¢ âì ®¢®¥
|
; LD (HL),A ; à¨á®¢ âì ®¢®¥
|
||||||
|
|
||||||
LD A,(PLAY_PAGE)
|
LD A,CBL.BUFFER_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
POP AF
|
POP AF
|
||||||
@ -1449,7 +1439,7 @@ READ_END:
|
|||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
CONT_1:
|
CONT_1:
|
||||||
LD A,(PLAY_PAGE)
|
LD A,CBL.BUFFER_PAGE
|
||||||
|
|
||||||
NUM_SEC:
|
NUM_SEC:
|
||||||
LD B,16 ; áç¨â âì 16 ᥪâ®à®¢
|
LD B,16 ; áç¨â âì 16 ᥪâ®à®¢
|
||||||
@ -1588,20 +1578,17 @@ PLAY_LIST_ID: db "PLAYLIST"
|
|||||||
NUM_FILES: db 1
|
NUM_FILES: db 1
|
||||||
NUM_MAX: db 2
|
NUM_MAX: db 2
|
||||||
|
|
||||||
PLAY_LIST:
|
PLAY_LIST: BLOCK #8A00-$,0
|
||||||
|
|
||||||
|
|
||||||
ds 8A00h-$
|
|
||||||
|
|
||||||
PIC_HELP:
|
PIC_HELP:
|
||||||
incbin 'ORIGINAL/WAV_HELP.PAK'
|
incbin 'BIN/WAV_HELP.PAK'
|
||||||
|
|
||||||
Loader_length EQU $ - START
|
Loader_length EQU $ - START
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
DISP 0
|
DISP 0
|
||||||
PIC_MAIN:
|
PIC_MAIN:
|
||||||
incbin './WAV_PL.BMP'
|
incbin './BIN/WAV_PL.BMP'
|
||||||
.Size EQU $-PIC_MAIN
|
.Size EQU $-PIC_MAIN
|
||||||
ENT
|
ENT
|
||||||
;
|
;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user