.word basicstub *=$801 basicstub .( .byt <(line2+2),>(line2+2),<1,>1,$9e,"2065",$20,"LFT",0 line2 .byt 0,0 .) entry sei ldx #0 txa clear sta $d400,x inx cpx #$18 bne clear lda #$1f sta $d418 lda #$f0 sta $d406 lda #$21 sta $d404 loop jsr update inc offset_pitch jsr update inc base_pitch jsr update inc base_pitch bne loop lda #$20 sta $d404 jmp * update base_pitch = * + 1 lda #0 clc offset_pitch = * + 1 adc #0 ror bcc fractional_x0 fractional_x1 lsr tax bcc fractional_01 fractional_11 lda freq_lsb,x clc adc freq_lsb+19+1,x sta $d400 lda freq_msb,x adc freq_msb+19+1,x sta $d401 jmp done fractional_01 lda freq_lsb+19,x ;clc adc freq_lsb+1,x sta $d400 lda freq_msb+19,x adc freq_msb+1,x sta $d401 jmp done fractional_x0 lsr tax bcc fractional_00 fractional_10 lda freq_lsb+12,x clc adc freq_lsb+12+1,x sta $d400 lda freq_msb+12,x adc freq_msb+12+1,x sta $d401 jmp done fractional_00 lda freq_lsb+24,x sta $d400 lda freq_msb+24,x sta $d401 done bit $d011 bmi *-3 bit $d011 bpl *-3 rts .dsb ((* + $ff) & $ff00) - *, 0 freq_lsb .byt $3b .byt $3e .byt $42 .byt $46 .byt $4a .byt $4e .byt $53 .byt $58 .byt $5d .byt $62 .byt $68 .byt $6e .byt $75 .byt $7c .byt $83 .byt $8b .byt $93 .byt $9c .byt $a6 .byt $af .byt $ba .byt $c5 .byt $d1 .byt $dd .byt $ea .byt $f8 .byt $07 .byt $16 .byt $27 .byt $39 .byt $4b .byt $5f .byt $74 .byt $8a .byt $a1 .byt $ba .byt $d4 .byt $f0 .byt $0e .byt $2d .byt $4e .byt $71 .byt $96 .byt $be .byt $e7 .byt $14 .byt $42 .byt $74 .byt $a9 .byt $e0 .byt $1b .byt $5a .byt $9c .byt $e2 .byt $2d .byt $7b .byt $cf .byt $27 .byt $85 .byt $e8 .byt $51 .byt $c1 .byt $37 .byt $b4 .byt $38 .byt $c4 .byt $59 .byt $f7 .byt $9d .byt $4e .byt $0a .byt $d0 .byt $a2 .byt $81 .byt $6d .byt $67 .byt $70 .byt $89 .byt $b2 .byt $ed .byt $3b .byt $9c .byt $13 .byt $a0 .byt $45 .byt $02 .byt $da .byt $ce .byt $e0 .byt $11 .byt $64 .byt $da .byt $76 .byt $39 .byt $26 .byt $40 .byt $89 .byt $04 .byt $b4 .byt $9c .byt $c0 .byt $23 .byt $c8 .byt $b4 .byt $eb .byt $72 .byt $4c .byt $80 .byt $12 .byt $08 .byt $68 .byt $39 .byt $80 .byt $45 .byt $90 .byt $68 .byt $d6 .byt $e3 .byt $99 .byt $00 freq_msb .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $00 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $01 .byt $02 .byt $02 .byt $02 .byt $02 .byt $02 .byt $02 .byt $02 .byt $03 .byt $03 .byt $03 .byt $03 .byt $03 .byt $04 .byt $04 .byt $04 .byt $04 .byt $05 .byt $05 .byt $05 .byt $06 .byt $06 .byt $06 .byt $07 .byt $07 .byt $08 .byt $08 .byt $09 .byt $09 .byt $0a .byt $0a .byt $0b .byt $0c .byt $0d .byt $0d .byt $0e .byt $0f .byt $10 .byt $11 .byt $12 .byt $13 .byt $14 .byt $15 .byt $17 .byt $18 .byt $1a .byt $1b .byt $1d .byt $1f .byt $20 .byt $22 .byt $24 .byt $27 .byt $29 .byt $2b .byt $2e .byt $31 .byt $34 .byt $37 .byt $3a .byt $3e .byt $41 .byt $45 .byt $49 .byt $4e .byt $52 .byt $57 .byt $5c .byt $62 .byt $68 .byt $6e .byt $75 .byt $7c .byt $83 .byt $8b .byt $93 .byt $9c .byt $a5 .byt $af .byt $b9 .byt $c4 .byt $d0 .byt $dd