|
;-------------------------------
; little music player
;-------------------------------
STUBPOLL=$ce00+3
*=$c000-2
.word $c000
;-------------------------------
jmp start
jmp stop
;-------------------------------
; patched from host
init: jmp $1000
play: jmp $1003
;-------------------------------
stop:
sei
; volume=0
lda #$00
sta $d418
lda #$35
sta $01
lda #<irqoff
sta $fffe
sta $0314
lda #>irqoff
sta $ffff
sta $0315
; acknowledge irq
inc $d019
lda $dc0d
sta $dc0d
cli
jmp mlp
;-------------------------------
start:
sei
lda #$35
sta $01
lda #<irq
sta $fffe
sta $0314
lda #>irq
sta $ffff
sta $0315
lda #$7f
sta $dc0d
lda #$01
sta $d01a
lda #$1b
sta $d011
lda #$f8
sta $d012
lda #$00
tax
tay
jsr init
lda #$f0
@ww:
cmp $d012
bne @ww
; acknowledge irq
inc $d019
cli
;-------------------------------
mlp:
lda #$84
@lp:
cmp $d012
bne @lp
inc $d021
jsr STUBPOLL
dec $d021
jmp mlp
;-------------------------------
irq:
sei
sta irqa
stx irqx
sty irqy
inc $d020
jsr play
dec $d020
; acknowledge irq
inc $d019
irqa=*+1
lda #$00
irqx=*+1
ldx #$00
irqy=*+1
ldy #$00
cli
rti
irqoff:
sei
pha
lda $dc0d
sta $dc0d
inc $d019
pla
cli
rti
|
| |