dos33fsprogs/demos/l/music_256/ay3_write_regs.s
Vince Weaver e7f1907f38 peasant: finally get qboot working across 2 disks
using PRORWTS seek now
also fixed subtle bug in qboot when loading partial tracks

also a bunch of movement in the demo stuff by accident, oops but it's
2am and I'm too lazy to back that out
2022-01-16 02:05:43 -05:00

35 lines
897 B
ArmAsm

;=====================
;=====================
;=====================
; ay3 write regs
;=====================
;=====================
;=====================
; write all 14 registers at AY_REGS
ay3_write_regs:
ldx #13
ay3_write_reg_loop:
lda #MOCK_AY_LATCH_ADDR ; latch_address for PB1 ; 2
ldy #MOCK_AY_INACTIVE ; go inactive ; 2
stx MOCK_6522_ORA1 ; put address on PA1 ; 4
sta MOCK_6522_ORB1 ; latch_address on PB1 ; 4
sty MOCK_6522_ORB1 ; 4
; value
lda AY_REGS,X
sta MOCK_6522_ORA1 ; put value on PA1 ; 4
lda #MOCK_AY_WRITE ; ; 2
sta MOCK_6522_ORB1 ; write on PB1 ; 4
sty MOCK_6522_ORB1 ; 4
dex
bpl ay3_write_reg_loop
; rts