mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-01-10 06:30:41 +00:00
audio experiments
This commit is contained in:
parent
ac2b0f0829
commit
dd3c897b0c
121
src/libsrc/tone.pla
Normal file
121
src/libsrc/tone.pla
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
export asm tone(pitch, duration)
|
||||||
|
!SOURCE "vmsrc/plvmzp.inc"
|
||||||
|
DEX
|
||||||
|
LDA ESTKL+1,X
|
||||||
|
STA ESTKL,X
|
||||||
|
LDA ESTKH+1,X
|
||||||
|
STA ESTKH,X
|
||||||
|
LDA #$00
|
||||||
|
STA ESTKL+1,X
|
||||||
|
STA ESTKH+1,X
|
||||||
|
end
|
||||||
|
export asm tone2(pitch1, pitch2, duration)
|
||||||
|
STX ESP
|
||||||
|
LDY ESTKH,X
|
||||||
|
LDA ESTKL,X
|
||||||
|
BEQ +
|
||||||
|
INY
|
||||||
|
+ STA DSTL
|
||||||
|
STY DSTH
|
||||||
|
LDA ESTKL+1,X
|
||||||
|
STA TMPL
|
||||||
|
LDA ESTKL+2,X
|
||||||
|
CMP TMPL
|
||||||
|
BNE +
|
||||||
|
LDA #$00
|
||||||
|
+ STA TMPH
|
||||||
|
LDY TMPL
|
||||||
|
LDX TMPH
|
||||||
|
LDA #$00
|
||||||
|
PHP
|
||||||
|
SEI
|
||||||
|
- CLC
|
||||||
|
-- DEY
|
||||||
|
BNE +
|
||||||
|
LDY TMPL
|
||||||
|
BEQ ++ ; SILENCE
|
||||||
|
STA $C030
|
||||||
|
BNE +++
|
||||||
|
+ NOP
|
||||||
|
NOP
|
||||||
|
++ NOP
|
||||||
|
NOP
|
||||||
|
NOP
|
||||||
|
+++ DEX
|
||||||
|
BNE +
|
||||||
|
LDX TMPH
|
||||||
|
BEQ ++ ; SILENCE
|
||||||
|
STA $C030
|
||||||
|
BNE +++
|
||||||
|
+ NOP
|
||||||
|
NOP
|
||||||
|
++ NOP
|
||||||
|
NOP
|
||||||
|
NOP
|
||||||
|
+++ ADC #$01
|
||||||
|
BNE --
|
||||||
|
DEC DSTL
|
||||||
|
BNE -
|
||||||
|
DEC DSTH
|
||||||
|
BNE -
|
||||||
|
PLP
|
||||||
|
LDX ESP
|
||||||
|
INX
|
||||||
|
INX
|
||||||
|
RTS
|
||||||
|
end
|
||||||
|
export asm tonePWM(sample, speed, len)
|
||||||
|
STX ESP
|
||||||
|
LDA ESTKL,X
|
||||||
|
BEQ +
|
||||||
|
INC ESTKH,X
|
||||||
|
+ LDA ESTKL+2,X
|
||||||
|
STA SRCL
|
||||||
|
LDA ESTKH+2,X
|
||||||
|
STA SRCH
|
||||||
|
LDA ESTKL+1,X
|
||||||
|
BNE ++
|
||||||
|
LDY #$00
|
||||||
|
- LDA (SRC),Y
|
||||||
|
SEC
|
||||||
|
-- SBC #$01
|
||||||
|
BCS --
|
||||||
|
LDA $C030
|
||||||
|
INY
|
||||||
|
BNE +
|
||||||
|
INC SRCH
|
||||||
|
+ LDX ESP
|
||||||
|
DEC ESTKL,X
|
||||||
|
BNE -
|
||||||
|
DEC ESTKH,X
|
||||||
|
BNE -
|
||||||
|
INX
|
||||||
|
RTS
|
||||||
|
++ STA TMPL
|
||||||
|
LDY #$00
|
||||||
|
- LDA (SRC),Y
|
||||||
|
SEC
|
||||||
|
-- LDX TMPL
|
||||||
|
--- DEX
|
||||||
|
BNE ---
|
||||||
|
SBC #$01
|
||||||
|
BCS --
|
||||||
|
LDA $C030
|
||||||
|
INY
|
||||||
|
BNE +
|
||||||
|
INC SRCH
|
||||||
|
+ LDX ESP
|
||||||
|
DEC ESTKL,X
|
||||||
|
BNE -
|
||||||
|
DEC ESTKH,X
|
||||||
|
BNE -
|
||||||
|
INX
|
||||||
|
RTS
|
||||||
|
++
|
||||||
|
end
|
||||||
|
def toneTest
|
||||||
|
byte t
|
||||||
|
tonePWM($D000, 0, $2000)
|
||||||
|
end
|
||||||
|
toneTest()
|
||||||
|
done
|
@ -17,6 +17,7 @@ INET = INET\#FE1000
|
|||||||
DHCP = DHCP\#FE1000
|
DHCP = DHCP\#FE1000
|
||||||
HTTPD = HTTPD\#FE1000
|
HTTPD = HTTPD\#FE1000
|
||||||
DGR = DGR\#FE1000
|
DGR = DGR\#FE1000
|
||||||
|
TONE = TONE\#FE1000
|
||||||
ROGUE = ROGUE\#FE1000
|
ROGUE = ROGUE\#FE1000
|
||||||
ROGUEIO = ROGUEIO\#FE1000
|
ROGUEIO = ROGUEIO\#FE1000
|
||||||
ROGUEMAP= ROGUEMAP\#FE1000
|
ROGUEMAP= ROGUEMAP\#FE1000
|
||||||
@ -51,7 +52,7 @@ TXTTYPE = .TXT
|
|||||||
#SYSTYPE = \#FF2000
|
#SYSTYPE = \#FF2000
|
||||||
#TXTTYPE = \#040000
|
#TXTTYPE = \#040000
|
||||||
|
|
||||||
all: $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVM03) $(CMD) $(MEMMGR) $(MEMTEST) $(FIBER) $(SB) $(MON) $(ROD) $(SIEVE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(ROGUEIO) $(HGR1) $(DGR) $(DGRTEST)
|
all: $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVM03) $(CMD) $(MEMMGR) $(MEMTEST) $(FIBER) $(SB) $(MON) $(ROD) $(SIEVE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(ROGUEIO) $(HGR1) $(TONE) $(DGR) $(DGRTEST)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm *FE1000 *FF2000 $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVM03)
|
-rm *FE1000 *FF2000 $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVM03)
|
||||||
@ -156,6 +157,10 @@ $(HTTPD): samplesrc/httpd.pla $(PLVM02) $(PLASM)
|
|||||||
./$(PLASM) -AM < samplesrc/httpd.pla > samplesrc/httpd.a
|
./$(PLASM) -AM < samplesrc/httpd.pla > samplesrc/httpd.a
|
||||||
acme --setpc 4094 -o $(HTTPD) samplesrc/httpd.a
|
acme --setpc 4094 -o $(HTTPD) samplesrc/httpd.a
|
||||||
|
|
||||||
|
$(TONE): libsrc/tone.pla $(PLVM02) $(PLASM)
|
||||||
|
./$(PLASM) -AM < libsrc/tone.pla > libsrc/tone.a
|
||||||
|
acme --setpc 4094 -o $(TONE) libsrc/tone.a
|
||||||
|
|
||||||
$(DGR): libsrc/dgr.pla $(PLVM02) $(PLASM)
|
$(DGR): libsrc/dgr.pla $(PLVM02) $(PLASM)
|
||||||
./$(PLASM) -AM < libsrc/dgr.pla > libsrc/dgr.a
|
./$(PLASM) -AM < libsrc/dgr.pla > libsrc/dgr.a
|
||||||
acme --setpc 4094 -o $(DGR) libsrc/dgr.a
|
acme --setpc 4094 -o $(DGR) libsrc/dgr.a
|
||||||
|
Loading…
x
Reference in New Issue
Block a user