mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2025-02-06 02:30:15 +00:00
Further work on ENVELOPE data structures.
This commit is contained in:
parent
7ef3eaf70f
commit
30119703d3
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
@ -393,7 +393,7 @@ ENSQISR INC COUNTER+0 ; Increment centisecond timer
|
|||||||
|
|
||||||
* Handle envelope tick counter
|
* Handle envelope tick counter
|
||||||
* On entry: X is audio channel #
|
* On entry: X is audio channel #
|
||||||
* On exit: CS if this cycle is a tick, CC otherwise.
|
* On return: CS if this cycle is a tick, CC otherwise.
|
||||||
ENVTICKS DEC CHANCTR,X ; Decrement counter
|
ENVTICKS DEC CHANCTR,X ; Decrement counter
|
||||||
BEQ :ZERO ; Expired
|
BEQ :ZERO ; Expired
|
||||||
CLC ; Not expired
|
CLC ; Not expired
|
||||||
@ -406,13 +406,34 @@ ENVTICKS DEC CHANCTR,X ; Decrement counter
|
|||||||
* Reset envelope tick counter
|
* Reset envelope tick counter
|
||||||
* On entry: X is audio channel #
|
* On entry: X is audio channel #
|
||||||
RSTTICKS LDA CHANENV,X ; Get envelope number
|
RSTTICKS LDA CHANENV,X ; Get envelope number
|
||||||
* TODO: Just assume ENV0 for now ... need some indexing
|
TAY
|
||||||
LDA ENVBUF0+ENVT ; Length of each step
|
JSR GETENVADDR ; Envelope address in A1L,A1H
|
||||||
|
LDY ENVT ; Parm for length of each step
|
||||||
|
LDA (A1L),Y ; Get value of parm
|
||||||
AND #$7F ; Mask out MSB
|
AND #$7F ; Mask out MSB
|
||||||
STA CHANCTR,X ; Reset counter
|
STA CHANCTR,X ; Reset counter
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
* On entry: Y is envelope number
|
||||||
|
* On return: A1L,A1H point to start of buffer for this envelope
|
||||||
|
GETENVADDR LDA #<ENVBUF0 ; Copy ENVBUF0 to A1L,A1H
|
||||||
|
STA A1L
|
||||||
|
LDA #>ENVBUF0
|
||||||
|
STA A1H
|
||||||
|
:L1 CPY #$00 ; See if Y is zero
|
||||||
|
BEQ :DONE ; If so, we are done
|
||||||
|
LDA A1L ; Add 13 to A1L,A1H
|
||||||
|
CLC
|
||||||
|
ADC #13
|
||||||
|
STA A1L
|
||||||
|
LDA A1H
|
||||||
|
ADC #00
|
||||||
|
STA A1H
|
||||||
|
DEY ; Decr envelopes remaining
|
||||||
|
BRA :L1 ; Go again
|
||||||
|
:DONE RTS
|
||||||
|
|
||||||
* Process pitch envelope
|
* Process pitch envelope
|
||||||
PITCHENV
|
PITCHENV
|
||||||
RTS
|
RTS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user