This commit is contained in:
Anatoliy Belyanskiy 2023-08-13 02:42:06 +10:00
parent f9101ef152
commit 222e08ed57
2 changed files with 53 additions and 66 deletions

BIN
BIN/WAV_HELP.PAK Normal file

Binary file not shown.

View File

@ -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,6 +808,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
@ -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
; ;