mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-06-09 11:29:40 +00:00
Ensoniq noise improvements.
This commit is contained in:
parent
b2da3c705c
commit
002c0b79df
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
|
@ -44,12 +44,12 @@ ENSQINIT LDX #3
|
||||||
* Starts at $0100 in DOC RAM
|
* Starts at $0100 in DOC RAM
|
||||||
LDA #210 ; High value of square wave
|
LDA #210 ; High value of square wave
|
||||||
LDX #$00
|
LDX #$00
|
||||||
:L3 STA ENSQSNDDAT ; 128 cycles of high value
|
:L3 STA ENSQSNDDAT ; 8 cycles of high value
|
||||||
INX
|
INX
|
||||||
CPX #128
|
CPX #8
|
||||||
BNE :L3
|
BNE :L3
|
||||||
LDA #40 ; Low value of square wave
|
LDA #40 ; Low value of square wave
|
||||||
:L4 STA ENSQSNDDAT ; 128 cycles of low value
|
:L4 STA ENSQSNDDAT ; 255-8 cycles of low value
|
||||||
INX
|
INX
|
||||||
CPX #0
|
CPX #0
|
||||||
BNE :L4
|
BNE :L4
|
||||||
|
@ -195,20 +195,20 @@ ENSQNOTE PHA
|
||||||
|
|
||||||
PLA ; Restore P
|
PLA ; Restore P
|
||||||
AND #$03 ; Keep least significant 2 bits
|
AND #$03 ; Keep least significant 2 bits
|
||||||
TAX
|
TAY
|
||||||
LDA #$40
|
LDA :NOISENOTE,Y ; BBC Micro note value
|
||||||
:L1 CPX #$00
|
|
||||||
BEQ :S3
|
|
||||||
LSR
|
|
||||||
DEX
|
|
||||||
BRA :L1
|
|
||||||
|
|
||||||
:S3 TAY ; Computed frequency value
|
:S3 PHA ; Gonna need it again
|
||||||
|
TAY ; Computed note
|
||||||
|
LDA EFREQHIGH,Y
|
||||||
|
TAY ; Frequency value LS byte
|
||||||
LDX #$20 ; Freq Hi Register
|
LDX #$20 ; Freq Hi Register
|
||||||
JSR ENSQWRTDOC
|
JSR ENSQWRTDOC
|
||||||
|
|
||||||
|
PLY ; Get computed note back
|
||||||
|
LDA EFREQLOW,Y
|
||||||
|
TAY ; Frequency value LS byte
|
||||||
LDX #$00 ; Freq Lo Register
|
LDX #$00 ; Freq Lo Register
|
||||||
LDY #$00 ; Value
|
|
||||||
JSR ENSQWRTDOC
|
JSR ENSQWRTDOC
|
||||||
|
|
||||||
LDX #$40 ; Amplitude Register
|
LDX #$40 ; Amplitude Register
|
||||||
|
@ -218,6 +218,7 @@ ENSQNOTE PHA
|
||||||
|
|
||||||
LDX #$C0 ; Wavetable size Register
|
LDX #$C0 ; Wavetable size Register
|
||||||
LDY #$04 ; Size 256, resolution 4
|
LDY #$04 ; Size 256, resolution 4
|
||||||
|
* LDY #$00 ; Size 256, resolution 1
|
||||||
JSR ENSQWRTDOC
|
JSR ENSQWRTDOC
|
||||||
|
|
||||||
LDX #$A0 ; Wavetable size Register
|
LDX #$A0 ; Wavetable size Register
|
||||||
|
@ -228,6 +229,9 @@ ENSQNOTE PHA
|
||||||
PLX
|
PLX
|
||||||
PLA
|
PLA
|
||||||
RTS
|
RTS
|
||||||
|
:NOISENOTE DB 149 ; BBC Micro note P=0 or 4
|
||||||
|
DB 101 ; BBC Micro note P=1 or 5
|
||||||
|
DB 53 ; BBC Micro note P=2 or 6
|
||||||
|
|
||||||
|
|
||||||
* Adjust frequency of note already playing
|
* Adjust frequency of note already playing
|
||||||
|
|
Loading…
Reference in New Issue
Block a user