0100 ; 0110 ; VONLY Bob Fraser 7-23-81 0120 ; 0130 ; 0140 ;volume-only AUDC1-4 bit test routine 0150 ; 0160 ; 0170 ; 0180 ; 0190 AUDCTL = $D208 0200 AUDF1 = $D200 0210 AUDC1 = $D201 0220 SKCTL = $D20F 0230 ; 0240 ; 0250 *= $BO 0260 TEMPO .BYTE 1 0270 MSC .BYTE 0 0280 ; 0290 ; 0300 ; 0310 *= $4000 0320 LDA #0 0330 STA AUDCTL 0340 LDA #3 0350 STA SKCTL 0360 LDX #0 0370 ; 0380 LDA #0 0390 STA $D40E ; kill vbi's 0400 STA $D20E ; kill irq's 0410 STA $D400 ; kill dma 0420 ; 0430 ; 0440 ; 0450 L00 LDA DTAB,X 0460 STA MSC 0470 ; 0480 LDA VTAB,X 0490 L0 LDY TEMPO 0500 STA AUDC1 0510 L1 DEY 0520 BNE L1 0530 ; 0540 ; dec most sig ctr 0550 DEC MSC 0560 BNE L0 0570 ; 0580 ; 0590 ; new note 0600 ; 0610 INX 0620 CPX NC 0630 BNE L00 0640 ; 0650 ; wrap note pointer 0660 LDX #0 0670 BEQ L00 0680 ; 0690 ; 0700 NC .BYTE 28; note count 0710 ; 0720 ; table of volumes to be played In succession 0730 VTAB 0740 .BYTE 24,25,26,27,28,29,30,31 0750 .BYTE 30,29,28,27,26,25,24 0760 .BYTE 23,22,21,20,19,18,17 0770 .BYTE 18,19,20,21,22,23 0780 ; 0790 ; this table contains the duration of each entry above 0800 DTAB 0810 .BYTE 1,1,1,2,2,2,3,6 0820 .BYTE 3,2,2,2,1,1,1 0830 .BYTE 1,1,2,2,2,3,6 0840 .BYTE 3,2,2,2,1,1
Back to previous page