mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-06-28 03:29:32 +00:00
Fixed bug in chord synchronization.
This commit is contained in:
parent
2af37adc82
commit
1b9f7acd55
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
|
@ -210,6 +210,7 @@ REM PHP ; Save flags, turn off interrupts
|
||||||
SEC ; Buffer already empty
|
SEC ; Buffer already empty
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
* Remove value from buffer according to audio channel (0-4)
|
* Remove value from buffer according to audio channel (0-4)
|
||||||
* On entry: X is audio channel number
|
* On entry: X is audio channel number
|
||||||
* On exit: A undef, X preserved, Y value of byte removed
|
* On exit: A undef, X preserved, Y value of byte removed
|
||||||
|
@ -222,9 +223,10 @@ REMAUDIO PHX ; Preserve X
|
||||||
PLX ; Recover original X
|
PLX ; Recover original X
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
* Inspect value in buffer according to audio channel (0-4)
|
* Inspect value in buffer according to audio channel (0-4)
|
||||||
* On entry: X is audio channel number
|
* On entry: X is audio channel number
|
||||||
* On exit: A next byte, X preserved, Y offset to next char
|
* On exit: A next byte, X preserved
|
||||||
PEEKAUDIO PHX ; Preserve X
|
PEEKAUDIO PHX ; Preserve X
|
||||||
TXA ; Audio channel X->A
|
TXA ; Audio channel X->A
|
||||||
ORA #$04 ; Convert to queue number
|
ORA #$04 ; Convert to queue number
|
||||||
|
@ -235,6 +237,22 @@ PEEKAUDIO PHX ; Preserve X
|
||||||
:RTS RTS
|
:RTS RTS
|
||||||
|
|
||||||
|
|
||||||
|
* Release a suspended note by overwriting its sequence number with zero
|
||||||
|
* On entry: X is audio channel number
|
||||||
|
* On exit: X preserved
|
||||||
|
RELNOTE PHX ; Preserve X
|
||||||
|
TXA ; Audio channel X->A
|
||||||
|
ORA #$04 ; Convert to queue number
|
||||||
|
TAX ; Queue number ->X
|
||||||
|
JSR GETBUFADDR ; Buffer address into A1L,A1H
|
||||||
|
LDA STARTINDICES,X ; Output pointer for buf X
|
||||||
|
TAY
|
||||||
|
LDA #$00 ; Release note ..
|
||||||
|
STA (A1L),Y ; .. by overwriting seq # with zero
|
||||||
|
PLX ; Recover original X
|
||||||
|
:RTS RTS
|
||||||
|
|
||||||
|
|
||||||
* Count space in buffer or purge buffer (API same as Acorn MOS CNPV)
|
* Count space in buffer or purge buffer (API same as Acorn MOS CNPV)
|
||||||
* On entry: X is buffer number. V set means purge, V clear means count.
|
* On entry: X is buffer number. V set means purge, V clear means count.
|
||||||
* C set means space left, C clear means entries used
|
* C set means space left, C clear means entries used
|
||||||
|
@ -324,14 +342,7 @@ CHORD PHA
|
||||||
AND #$0F ; Mask out hold nybble
|
AND #$0F ; Mask out hold nybble
|
||||||
CMP :SEQ ; See if matches
|
CMP :SEQ ; See if matches
|
||||||
BNE :NEXT2 ; Nope, skip
|
BNE :NEXT2 ; Nope, skip
|
||||||
PHX
|
JSR RELNOTE ; Release the note
|
||||||
TXA
|
|
||||||
ORA #$04 ; Convert to buffer number
|
|
||||||
TAX
|
|
||||||
JSR GETBUFADDR ; Audio buf addr -> A1L,A1H
|
|
||||||
PLX
|
|
||||||
LDA #$00
|
|
||||||
STA (A1L),Y ; Zero sync nybble (+ hold nybble)
|
|
||||||
:NEXT2 DEX
|
:NEXT2 DEX
|
||||||
BPL :L2 ; Next audio queue
|
BPL :L2 ; Next audio queue
|
||||||
BRA :DONE
|
BRA :DONE
|
||||||
|
|
Loading…
Reference in New Issue
Block a user