mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-06-25 00:31:11 +00:00
Bugfix to audio enqueuing stuff.
This commit is contained in:
parent
aeda12e9af
commit
e317e91def
|
@ -42,9 +42,10 @@ GETBUFADDR LDA :BUFADDRL,X
|
||||||
|
|
||||||
* Insert value into buffer (INSV)
|
* Insert value into buffer (INSV)
|
||||||
* On entry: A is value, X is buffer number.
|
* On entry: A is value, X is buffer number.
|
||||||
* On exit: A, X preserved. C clear on success.
|
* On exit: A, X, Y preserved. C clear on success.
|
||||||
INSHND PHP ; Save flags, turn off interrupts
|
INSHND PHP ; Save flags, turn off interrupts
|
||||||
SEI
|
SEI
|
||||||
|
PHY
|
||||||
PHA
|
PHA
|
||||||
LDY ENDINDICES,X ; Get input pointer
|
LDY ENDINDICES,X ; Get input pointer
|
||||||
INY ; Next byte
|
INY ; Next byte
|
||||||
|
@ -59,10 +60,12 @@ INSHND PHP ; Save flags, turn off interrupts
|
||||||
JSR GETBUFADDR ; Buffer address into OSINTWS
|
JSR GETBUFADDR ; Buffer address into OSINTWS
|
||||||
PLA ; Get value back
|
PLA ; Get value back
|
||||||
STA (OSINTWS),Y ; Write to buffer
|
STA (OSINTWS),Y ; Write to buffer
|
||||||
|
PLY
|
||||||
PLP ; Restore flags
|
PLP ; Restore flags
|
||||||
CLC ; Exit with carry clear
|
CLC ; Exit with carry clear
|
||||||
RTS
|
RTS
|
||||||
:FULL PLA ; Restore A
|
:FULL PLA ; Restore A
|
||||||
|
PLY
|
||||||
PLP ; Restore flags
|
PLP ; Restore flags
|
||||||
SEC ; Exit with carry set
|
SEC ; Exit with carry set
|
||||||
RTS
|
RTS
|
||||||
|
@ -71,27 +74,26 @@ INSHND PHP ; Save flags, turn off interrupts
|
||||||
* OSBYTE &07 - Make a sound
|
* OSBYTE &07 - Make a sound
|
||||||
* On entry: (OSCTRL),Y points to eight byte parameter block (2 bytes each for
|
* On entry: (OSCTRL),Y points to eight byte parameter block (2 bytes each for
|
||||||
* channel, amplitude, pitch, duration)
|
* channel, amplitude, pitch, duration)
|
||||||
WORD07 INY
|
WORD07 LDA (OSCTRL),Y ; Get channel number 0-3
|
||||||
LDA (OSCTRL),Y ; Get channel number 0-3
|
|
||||||
ORA #$04 ; Convert to buffer number 4-7
|
ORA #$04 ; Convert to buffer number 4-7
|
||||||
TAX ; Into X
|
TAX ; Into X
|
||||||
|
INY ; Point to channel num MSB
|
||||||
INY ; Point to amplitude LSB
|
INY ; Point to amplitude LSB
|
||||||
LDA (OSCTRL),Y
|
LDA (OSCTRL),Y
|
||||||
JMP INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
JSR INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
||||||
INY ; Point to amplitude MSB
|
INY ; Point to amplitude MSB
|
||||||
LDA (OSCTRL),Y
|
LDA (OSCTRL),Y
|
||||||
JMP INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
JSR INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
||||||
INY ; Point to pitch LSB
|
INY ; Point to pitch LSB
|
||||||
LDA (OSCTRL),Y
|
LDA (OSCTRL),Y
|
||||||
JMP INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
JSR INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
||||||
INY ; Point to pitch MSB
|
INY ; Point to pitch MSB
|
||||||
LDA (OSCTRL),Y
|
LDA (OSCTRL),Y
|
||||||
JMP INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
JSR INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
||||||
INY ; Point to duration LSB
|
INY ; Point to duration LSB
|
||||||
LDA (OSCTRL),Y
|
LDA (OSCTRL),Y
|
||||||
JMP INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
JSR INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
||||||
INY ; Point to duration MSB
|
INY ; Point to duration MSB
|
||||||
LDA (OSCTRL),Y
|
LDA (OSCTRL),Y
|
||||||
JMP INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
JMP INSHND ; SHOULD CALL THIS THRU VECTOR INSV
|
||||||
RTS
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user