mirror of
https://github.com/Tolik-Trek/WAV-Player.git
synced 2026-06-15 00:51:34 +03:00
недоделка
This commit is contained in:
parent
02db2c9d50
commit
02c469a77c
@ -1 +1 @@
|
||||
Subproject commit 378f3fdd49601390b3aacfe51e45c6fceba25022
|
||||
Subproject commit 2b1e30c6108f0a5c271f84558e1e5f804a6d623a
|
||||
227
WAVPLAY.ASM
227
WAVPLAY.ASM
@ -2,6 +2,8 @@
|
||||
DEFINE WAVPLunknown 1
|
||||
DEFINE SoundBugFix 1
|
||||
|
||||
DEFINE FULL_VERSION "2.01"
|
||||
|
||||
SH_HDD_X EQU 223 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD £®à.
|
||||
SH_HDD_Y EQU 90 ; ¯®«®¦¥¨¥ ¨¤¨ª â®à HDD ¢¥àâ.
|
||||
|
||||
@ -432,7 +434,7 @@ PLAY_WAVE:
|
||||
LD A,#80
|
||||
LD (D_FILL),A ; FILL by 80h
|
||||
LD A,0
|
||||
LD (ADD_PAR),A
|
||||
LD (VISIO.ADD_PAR),A
|
||||
|
||||
LD A,(#C022)
|
||||
LD (FLAG16),A
|
||||
@ -444,7 +446,7 @@ PLAY_WAVE:
|
||||
LD A,0
|
||||
LD (D_FILL),A ; FILL by 0
|
||||
LD A,#80
|
||||
LD (ADD_PAR),A
|
||||
LD (VISIO.ADD_PAR),A
|
||||
JR Z,NEXT_1
|
||||
;JR ERROR2 ; format error
|
||||
ERROR2: CALL RESTORE_SCR
|
||||
@ -493,7 +495,7 @@ NEXT_2:
|
||||
LD DE,9000
|
||||
CALL Test_DIAP
|
||||
LD A,8 ; 8khz
|
||||
JR Z,NEXT_3
|
||||
JR Z,NEXT_3\
|
||||
|
||||
LD HL,10000
|
||||
LD DE,12000
|
||||
@ -652,15 +654,14 @@ LOOP:
|
||||
CALL Z,HELP_OUT
|
||||
|
||||
NO_KEY1:
|
||||
|
||||
LD A,(SND_A+1)
|
||||
CP 0DFh
|
||||
CP #DF
|
||||
JR NC,LOOP
|
||||
|
||||
LD A,1
|
||||
LD (HDD_CNT),A
|
||||
|
||||
LD HL,0E000h
|
||||
LD HL,#E000
|
||||
;
|
||||
CALL READ_FILE_X
|
||||
JP NZ,EXIT_ALL
|
||||
@ -690,7 +691,7 @@ LOOP2:
|
||||
NO_KEY2:
|
||||
|
||||
LD A,(SND_A+1)
|
||||
CP 0DFh
|
||||
CP #DF
|
||||
JR C,LOOP2
|
||||
|
||||
LD A,1
|
||||
@ -1005,7 +1006,6 @@ PLAY: DI
|
||||
PUSH DE
|
||||
|
||||
LD A,CBL.BUFFER_PAGE
|
||||
;PLAY_PAGE EQU $-1 ; !FIXIT § 祬, ¥á«¨ ¬®¦® ¯àï¬ãî ¡ë«® ¯à®¯¨á âì?
|
||||
OUT (SLOT3),A
|
||||
OUT (SLOT0),A
|
||||
|
||||
@ -1059,85 +1059,137 @@ NO_SND:
|
||||
RETI
|
||||
|
||||
;***********************************
|
||||
/*
|
||||
VISIO: IN A,(PORT_Y)
|
||||
PUSH AF
|
||||
;
|
||||
; LD A,(.ADD_PAR)
|
||||
; OR A
|
||||
; LD A,1 ; x2 pixels
|
||||
; JR NZ,.set_pix
|
||||
; LD A,2 ; x2 pixels
|
||||
.set_pix: ; LD (.pixels),A
|
||||
; LD B,A
|
||||
;
|
||||
LD HL,(SND_A)
|
||||
LD (.ADDRESS),HL
|
||||
; OR A
|
||||
; JR Z,.no_add
|
||||
|
||||
VISIO: IN A,(PORT_Y)
|
||||
PUSH AF
|
||||
.no_add: LD A,H
|
||||
CALL .PUT_DOT
|
||||
; ¢ë室
|
||||
.exit: POP AF
|
||||
OUT (PORT_Y),A
|
||||
RET
|
||||
|
||||
LD A,(SND_A+1)
|
||||
ADD A,A
|
||||
; ADD A,A
|
||||
AND #7F
|
||||
LD L,A
|
||||
LD H,#B0
|
||||
LD BC,7
|
||||
ADD HL,BC
|
||||
|
||||
LD BC,(SND_A)
|
||||
; ‚•Ž„: A - áâ à訩 ¡ ©â ¤à¥á SND_A
|
||||
; B = (ª®«¨ç¥á⢮ ¯¨ªá¥«®¢)/2
|
||||
.PUT_DOT: ADD A,A
|
||||
;DJNZ .PUT_DOT
|
||||
AND #7F ; !HARDCODE ¤«¨ ®ª - 128 ¡ ©â®¢
|
||||
LD L,A
|
||||
LD H,#B0 ; !HARDCODE ¡ãää¥à
|
||||
LD BC,7 ; !HARDCODE ᬥ饨¥ ®â ç « à ¬ª¨
|
||||
ADD HL,BC
|
||||
;
|
||||
LD A,(SND_A)
|
||||
RLCA
|
||||
LD C,A
|
||||
ADD HL,BC
|
||||
;
|
||||
CALL .SET_Y_COLOR
|
||||
;
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD A,(BC)
|
||||
RRA
|
||||
CPL
|
||||
AND #7F
|
||||
ADD A,#40
|
||||
LD (COLOR_),A
|
||||
INC BC
|
||||
LD A,(BC) ; new
|
||||
ADD_PAR+1: ADD A,0 ; parameter for 8/16 bit
|
||||
RRA
|
||||
RRA
|
||||
AND #3F
|
||||
ADD A,#40 ; Vertical Shift
|
||||
LD (NEW_),A
|
||||
LD A,(HL) ; old
|
||||
LD (.OLD_),A
|
||||
LD A,(.NEW_)
|
||||
LD (HL),A
|
||||
; ¯¥à¥ª«îç ¥¬ ¢ HL ¤à¥á á ¡ãä¥à íªà
|
||||
LD A,H
|
||||
ADD A,#10
|
||||
LD H,A
|
||||
;
|
||||
LD A,(SND_A)
|
||||
RLCA
|
||||
JR NC,.no_dec_hl
|
||||
INC HL
|
||||
.no_dec_hl: ;
|
||||
; áâ¥à¥âì ¯® áâ ன ª®®à¤¨ â¥
|
||||
; LD A,(.pixels)
|
||||
; LD B,A
|
||||
; LD C,A
|
||||
;
|
||||
.OLD_+1: LD A,0
|
||||
OUT (PORT_Y),A ; old
|
||||
; áâ¥à¥âì
|
||||
.clear+1: LD A,0 ; clear
|
||||
.loop_clear: LD (HL),A
|
||||
INC L
|
||||
LD (HL),A ; áâ¥à¥âì
|
||||
; INC L
|
||||
; DJNZ .loop_clear
|
||||
; DEC L
|
||||
; à¨á®¢ âì ¯® ®¢®© ª®®à¤¨ â¥
|
||||
; LD B,C
|
||||
; DEC L
|
||||
; DEC L
|
||||
; DEC L
|
||||
.loop_draw: ;
|
||||
.NEW_+1: LD A,0
|
||||
OUT (PORT_Y),A ; new
|
||||
.COLOR_+1: LD A,#FF
|
||||
; à¨á®¢ âì
|
||||
LD (HL),A
|
||||
DEC L
|
||||
LD (HL),A
|
||||
; INC L
|
||||
;
|
||||
; LD A,(.ADDRESS)
|
||||
; ADD A,8
|
||||
; LD (.ADDRESS),A
|
||||
; LD D,B
|
||||
; CALL .SET_Y_COLOR
|
||||
; ;
|
||||
; LD B,D
|
||||
; DJNZ .loop_draw
|
||||
;
|
||||
.no_draw: LD A,CBL.BUFFER_PAGE
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
;
|
||||
.SET_Y_COLOR: ;
|
||||
.ADDRESS+1: LD BC,0
|
||||
LD A,(BC)
|
||||
RRA
|
||||
CPL
|
||||
AND #7F
|
||||
ADD A,#40
|
||||
LD (.COLOR_),A
|
||||
INC BC
|
||||
LD A,(BC) ; new
|
||||
.ADD_PAR+1: ADD A,0 ; parameter for 8/16 bit
|
||||
RRA
|
||||
RRA
|
||||
AND #3F
|
||||
ADD A,#40 ; !HARDCODE Vertical Shift
|
||||
LD (.NEW_),A
|
||||
;
|
||||
LD B,A
|
||||
LD A,(MAX_)
|
||||
CP B
|
||||
RET NC
|
||||
LD A,B
|
||||
LD (MAX_),A
|
||||
RET
|
||||
;
|
||||
; .pixels: DB 1 ; 1 = 2, 2 = 4, 3 = 6
|
||||
*/
|
||||
|
||||
LD B,A
|
||||
LD A,(MAX_)
|
||||
CP B
|
||||
JR NC,NO_MAX
|
||||
LD A,B
|
||||
LD (MAX_),A
|
||||
NO_MAX:
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD A,(HL) ; old
|
||||
LD (OLD_),A
|
||||
LD A,(NEW_)
|
||||
LD (HL),A
|
||||
|
||||
OLD_+1: LD A,0
|
||||
OUT (PORT_Y),A ; old
|
||||
|
||||
LD A,H
|
||||
ADD A,#10
|
||||
LD H,A
|
||||
|
||||
LD A,0 ; clear
|
||||
LD (HL),A
|
||||
INC L
|
||||
LD (HL),A
|
||||
; INC L
|
||||
; LD (HL),A
|
||||
; INC L
|
||||
; LD (HL),A ; áâ¥à¥âì
|
||||
|
||||
NEW_+1: LD A,0
|
||||
OUT (PORT_Y),A ; new
|
||||
|
||||
COLOR_+1: LD A,#FF
|
||||
LD (HL),A
|
||||
DEC L
|
||||
LD (HL),A
|
||||
; DEC L
|
||||
; LD (HL),A
|
||||
; DEC L
|
||||
; LD (HL),A ; à¨á®¢ âì ®¢®¥
|
||||
|
||||
LD A,CBL.BUFFER_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
POP AF
|
||||
OUT (PORT_Y),A
|
||||
RET
|
||||
include 'visio2.asm'
|
||||
|
||||
;*************************************
|
||||
|
||||
@ -1359,7 +1411,6 @@ READ_FILE_X: ; HL -
|
||||
;
|
||||
|
||||
READ_FILE_X1: ; HL - ªã¤ ç¨â âì
|
||||
|
||||
LD A,(DOS_FLAG1)
|
||||
AND A
|
||||
JP NZ,READ_FILE_XD1
|
||||
@ -1543,7 +1594,7 @@ FILE_HANDLE: db 0
|
||||
|
||||
CBL_MODE: db 0
|
||||
|
||||
FACE_FILE: db "WAV_PL.BMP",0
|
||||
;FACE_FILE: db "WAV_PL.BMP",0
|
||||
|
||||
LINES: db "RIFF","WAVEfmt "
|
||||
LINES_DATA: db "data"
|
||||
@ -1552,13 +1603,13 @@ ERROR_MSG:
|
||||
db 13,10,"File not found."
|
||||
db 13,10,"USE: wavplay.exe filename.ext",13,10,0
|
||||
ERROR_MSG2:
|
||||
db 13,10,"File format not recognized.",13,10,0
|
||||
db 13,10,"The file format is not recognized.",13,10,0
|
||||
ERROR_MSG3:
|
||||
db 13,10,"Not standart data rate",13,10,0
|
||||
db 13,10,"Non-standart data rate.",13,10,0
|
||||
|
||||
START_MSG:
|
||||
db 13,10,"COVOX-Blaster WAV-Player by Ivan Mak"
|
||||
db 13,10,"(c) Sprinter Team. 2023.",13,10,0
|
||||
db 13,10,"COVOX-Blaster WAV-Player v",FULL_VERSION," by Ivan Mak"
|
||||
db 13,10,"(c) Sprinter Team. 2024.",13,10,0
|
||||
|
||||
PLAY_LIST_ID: db "PLAYLIST"
|
||||
|
||||
|
||||
130
visio2.asm
Normal file
130
visio2.asm
Normal file
@ -0,0 +1,130 @@
|
||||
;***********************************
|
||||
|
||||
VISIO: IN A,(PORT_Y)
|
||||
PUSH AF
|
||||
;
|
||||
LD A,(.ADD_PAR)
|
||||
OR A
|
||||
LD A,1 ; lines
|
||||
JR NZ,.set_lines
|
||||
INC A ; lines
|
||||
.set_lines: LD (.lines),A
|
||||
LD B,A
|
||||
|
||||
LD HL,(SND_A)
|
||||
LD (.ADDRESS),HL
|
||||
; OR A
|
||||
; JR Z,.no_add
|
||||
|
||||
.no_add: LD A,H
|
||||
CALL .PUT_DOT
|
||||
; ¢ë室
|
||||
.exit: POP AF
|
||||
OUT (PORT_Y),A
|
||||
RET
|
||||
|
||||
|
||||
; ‚•Ž„: A - áâ à訩 ¡ ©â ¤à¥á SND_A
|
||||
; B = (ª®«¨ç¥á⢮ ¯®«®á®ª)/2
|
||||
.PUT_DOT: ADD A,A
|
||||
;
|
||||
AND #7F ; !HARDCODE ¤«¨ ®ª - 128 ¡ ©â®¢
|
||||
LD L,A
|
||||
LD H,#B0 ; !HARDCODE ¡ãää¥à
|
||||
LD BC,7 ; !HARDCODE ᬥ饨¥ ®â ç « à ¬ª¨
|
||||
ADD HL,BC
|
||||
;
|
||||
LD A,(SND_A)
|
||||
RLCA
|
||||
LD C,A
|
||||
ADD HL,BC
|
||||
;
|
||||
CALL .SET_Y_COLOR
|
||||
;
|
||||
LD A,#50
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD A,(HL) ; old
|
||||
LD (.OLD_),A
|
||||
LD A,(.NEW_)
|
||||
LD (HL),A
|
||||
; ¯¥à¥ª«îç ¥¬ ¢ HL ¤à¥á á ¡ãä¥à íªà
|
||||
LD A,H
|
||||
ADD A,#10
|
||||
LD H,A
|
||||
;
|
||||
LD A,(SND_A)
|
||||
RLCA
|
||||
JR NC,.no_dec_hl
|
||||
INC HL
|
||||
.no_dec_hl: ;
|
||||
; áâ¥à¥âì ¯® áâ ன ª®®à¤¨ â¥
|
||||
; LD A,(.lines)
|
||||
; LD B,A
|
||||
; LD C,A
|
||||
;
|
||||
.OLD_+1: LD A,0
|
||||
OUT (PORT_Y),A ; old
|
||||
; áâ¥à¥âì
|
||||
.clear+1: LD A,0 ; clear
|
||||
.loop_clear: LD (HL),A
|
||||
INC L
|
||||
LD (HL),A ; áâ¥à¥âì
|
||||
; INC L
|
||||
; DJNZ .loop_clear
|
||||
; DEC L
|
||||
; à¨á®¢ âì ¯® ®¢®© ª®®à¤¨ â¥
|
||||
; LD B,C
|
||||
; DEC L
|
||||
; DEC L
|
||||
; DEC L
|
||||
.loop_draw: ;
|
||||
.NEW_+1: LD A,0
|
||||
OUT (PORT_Y),A ; new
|
||||
.COLOR_+1: LD A,#FF
|
||||
; à¨á®¢ âì
|
||||
LD (HL),A
|
||||
DEC L
|
||||
LD (HL),A
|
||||
; INC L
|
||||
;
|
||||
; LD A,(.ADDRESS)
|
||||
; ADD A,8
|
||||
; LD (.ADDRESS),A
|
||||
; LD D,B
|
||||
; CALL .SET_Y_COLOR
|
||||
; ;
|
||||
; LD B,D
|
||||
; DJNZ .loop_draw
|
||||
;
|
||||
.no_draw: LD A,CBL.BUFFER_PAGE
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
;
|
||||
;
|
||||
.SET_Y_COLOR: ;
|
||||
.ADDRESS+1: LD BC,0
|
||||
LD A,(BC)
|
||||
RRA
|
||||
CPL
|
||||
AND #7F
|
||||
ADD A,#40
|
||||
LD (.COLOR_),A
|
||||
INC BC
|
||||
LD A,(BC) ; new
|
||||
.ADD_PAR+1: ADD A,0 ; parameter for 8/16 bit
|
||||
RRA
|
||||
RRA
|
||||
AND #3F
|
||||
ADD A,#40 ; !HARDCODE Vertical Shift
|
||||
LD (.NEW_),A
|
||||
;
|
||||
LD B,A
|
||||
LD A,(MAX_)
|
||||
CP B
|
||||
RET NC
|
||||
LD A,B
|
||||
LD (MAX_),A
|
||||
RET
|
||||
;
|
||||
.lines: DB 1 ; 1 = 1, 2 = 2
|
||||
Loading…
Reference in New Issue
Block a user