base:matt_gray_-_driller
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | base:matt_gray_-_driller [2015-04-17 04:32] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Disassembly of Matt Gray's " | ||
+ | < | ||
+ | ; da65 V2.12.9 - (C) Copyright 2000-2005, | ||
+ | ; Created: | ||
+ | ; Input file: Matt_Gray-Driller.prg | ||
+ | |||
+ | |||
+ | track_ptr = $FB | ||
+ | pattern_ptr = $FD | ||
+ | |||
+ | |||
+ | play_voice: | ||
+ | lda tune_ctrl ; | ||
+ | bne is_playing ; | ||
+ | sta $D418 ; | ||
+ | rts ; 0908 | ||
+ | |||
+ | is_playing: | ||
+ | cmp # | ||
+ | beq continue_playing ; | ||
+ | jmp change_tune ; | ||
+ | |||
+ | reset_voices: | ||
+ | lda # | ||
+ | sta $D404 ; | ||
+ | sta $D40B ; | ||
+ | sta $D412 ; | ||
+ | lda # | ||
+ | sta $D418 ; | ||
+ | ldy # | ||
+ | sty voice1_track_index ; | ||
+ | sty voice2_track_index ; | ||
+ | sty voice3_track_index ; | ||
+ | sty voice1_ctrl2 ; | ||
+ | sty voice2_ctrl2 ; | ||
+ | sty voice3_ctrl2 ; | ||
+ | sty voice1_pattern_index ; | ||
+ | sty voice2_pattern_index ; | ||
+ | sty voice3_pattern_index ; | ||
+ | iny ; 093D | ||
+ | sty tempo_ctr ; | ||
+ | jmp voice_done ; | ||
+ | |||
+ | continue_playing: | ||
+ | ldy voice1_instrument_index, | ||
+ | lda possibly_instrument_a0+7, | ||
+ | and # | ||
+ | beq L0964 ; | ||
+ | lda voice1_two_ctr, | ||
+ | beq L095E ; | ||
+ | dec voice1_two_ctr, | ||
+ | lda possibly_instrument_a1+2, | ||
+ | sta $D404, | ||
+ | bne L0964 ; | ||
+ | L095E: | ||
+ | lda possibly_instrument_a0+1, | ||
+ | sta $D404, | ||
+ | L0964: | ||
+ | lda tempo_ctr ; | ||
+ | bne L096E ; | ||
+ | dec voice1_ctrl2, | ||
+ | bmi L09B6 ; | ||
+ | L096E: | ||
+ | jmp L0B33 ; | ||
+ | |||
+ | change_tune: | ||
+ | ldy tune_ctrl ; | ||
+ | lda voice1_tune_trackptr_lo, | ||
+ | sta voice1_trackptr ; | ||
+ | lda voice1_tune_trackptr_hi, | ||
+ | sta voice1_trackptr+1 ; | ||
+ | lda voice2_tune_trackptr_lo, | ||
+ | sta voice2_trackptr ; | ||
+ | lda voice2_tune_trackptr_hi, | ||
+ | sta voice2_trackptr+1 ; | ||
+ | lda voice3_tune_trackptr_lo, | ||
+ | sta voice3_trackptr ; | ||
+ | lda voice3_tune_trackptr_hi, | ||
+ | sta voice3_trackptr+1 ; | ||
+ | lda tune_tempo, | ||
+ | sta tempo ; | ||
+ | jmp reset_voices ; | ||
+ | |||
+ | voice_done: | ||
+ | cpx # | ||
+ | bne @done ; | ||
+ | dec tempo_ctr ; | ||
+ | bpl @done ; | ||
+ | lda tempo ; | ||
+ | sta tempo_ctr ; | ||
+ | @done: | ||
+ | lda # | ||
+ | sta tune_ctrl ; | ||
+ | rts ; 09B5 | ||
+ | |||
+ | L09B6: | ||
+ | lda voice1_trackptr, | ||
+ | sta track_ptr ; | ||
+ | lda voice1_trackptr+1, | ||
+ | sta track_ptr+1 ; | ||
+ | ldy voice1_track_index, | ||
+ | lda (track_ptr), | ||
+ | tay ; 09C5 | ||
+ | lda pattern_lobytes, | ||
+ | sta pattern_ptr ; | ||
+ | lda pattern_hibytes, | ||
+ | sta pattern_ptr+1 ; | ||
+ | lda # | ||
+ | sta control3 ; | ||
+ | lda # | ||
+ | sta voice1_whatever+2, | ||
+ | sta voice1_whatever+1, | ||
+ | sta voice1_whatever, | ||
+ | read_note_or_ctrl: | ||
+ | ldy voice1_pattern_index, | ||
+ | lda (pattern_ptr), | ||
+ | cmp # | ||
+ | bcc check_effect_fb_or_fc ; | ||
+ | iny ; 09E9 | ||
+ | inc voice1_pattern_index, | ||
+ | lda (pattern_ptr), | ||
+ | sta voice1_something+2, | ||
+ | next_note_or_ctrl: | ||
+ | inc voice1_pattern_index, | ||
+ | bne read_note_or_ctrl ; | ||
+ | check_effect_fb_or_fc: | ||
+ | cmp # | ||
+ | bcc @check_effect_fa ; | ||
+ | cmp # | ||
+ | bne @effect_fc_2 ; | ||
+ | @effect_fb_1: | ||
+ | lda # | ||
+ | @do_effect_fb_or_fc: | ||
+ | sta voice1_whatever+2, | ||
+ | iny ; 0A04 | ||
+ | inc voice1_pattern_index, | ||
+ | lda (pattern_ptr), | ||
+ | sta voice1_something, | ||
+ | lda # | ||
+ | sta voice1_whatever+1, | ||
+ | sta voice1_whatever, | ||
+ | beq next_note_or_ctrl ; | ||
+ | @effect_fc_2: | ||
+ | lda # | ||
+ | bne @do_effect_fb_or_fc ; | ||
+ | @check_effect_fa: | ||
+ | cmp # | ||
+ | bcc @plain_note ; | ||
+ | iny ; 0A1F | ||
+ | inc voice1_pattern_index, | ||
+ | lda (pattern_ptr), | ||
+ | asl a ; 0A25 | ||
+ | asl a ; 0A26 | ||
+ | asl a ; 0A27 | ||
+ | sta voice1_instrument_index, | ||
+ | tay ; 0A2B | ||
+ | lda possibly_instrument_a0, | ||
+ | pha ; 0A2F | ||
+ | and # | ||
+ | sta voice1_something_else+2, | ||
+ | sta voice1_ctrl0, | ||
+ | pla ; 0A38 | ||
+ | and # | ||
+ | sta voice1_something_else, | ||
+ | sta voice1_something_else+1, | ||
+ | jmp next_note_or_ctrl ; | ||
+ | |||
+ | @plain_note: | ||
+ | sta voice1_stuff+3, | ||
+ | lda voice1_something+2, | ||
+ | sta voice1_ctrl2, | ||
+ | lda # | ||
+ | sta voice1_whatever+3, | ||
+ | sta voice1_whatever+4, | ||
+ | lda # | ||
+ | sta voice1_two_ctr, | ||
+ | ldy voice1_instrument_index, | ||
+ | lda possibly_instrument_a0+7, | ||
+ | and # | ||
+ | beq L0A70 ; | ||
+ | lda voice1_something_else+1, | ||
+ | sta voice1_something_else, | ||
+ | lda voice1_ctrl0, | ||
+ | sta voice1_something_else+2, | ||
+ | L0A70: | ||
+ | lda voice1_stuff+3, | ||
+ | bne L0A88 ; | ||
+ | lda voice1_things+6, | ||
+ | sta voice1_stuff+3, | ||
+ | lda # | ||
+ | sta voice1_things+6, | ||
+ | ldy voice1_instrument_index, | ||
+ | dec control3 ; | ||
+ | bne L0AAD ; | ||
+ | L0A88: | ||
+ | sta voice1_things+6, | ||
+ | tay ; 0A8B | ||
+ | lda frq_hi, | ||
+ | sta $D401, | ||
+ | sta voice1_stuff+2, | ||
+ | sta voice1_stuff+4, | ||
+ | lda frq_lo, | ||
+ | sta $D400, | ||
+ | sta voice1_stuff+1, | ||
+ | sta voice1_stuff, | ||
+ | ldy voice1_instrument_index, | ||
+ | lda possibly_instrument_a0+6, | ||
+ | sta $D404, | ||
+ | L0AAD: | ||
+ | lda possibly_instrument_a0+1, | ||
+ | and control3 ; | ||
+ | sta $D404, | ||
+ | lda possibly_instrument_a0+2, | ||
+ | sta $D405, | ||
+ | lda possibly_instrument_a0+3, | ||
+ | sta $D406, | ||
+ | lda voice1_something_else, | ||
+ | sta $D402, | ||
+ | lda voice1_something_else+2, | ||
+ | sta $D403, | ||
+ | inc voice1_pattern_index, | ||
+ | ldy voice1_pattern_index, | ||
+ | lda (pattern_ptr), | ||
+ | cmp # | ||
+ | bne L0AFC ; | ||
+ | lda # | ||
+ | sta voice1_pattern_index, | ||
+ | inc voice1_track_index, | ||
+ | ldy voice1_track_index, | ||
+ | lda (track_ptr), | ||
+ | cmp # | ||
+ | bne L0AF2 ; | ||
+ | lda # | ||
+ | sta voice1_track_index, | ||
+ | beq L0AFC ; | ||
+ | L0AF2: | ||
+ | cmp # | ||
+ | bne L0AFC ; | ||
+ | lda # | ||
+ | sta tune_ctrl ; | ||
+ | rts ; 0AFB | ||
+ | |||
+ | L0AFC: | ||
+ | lda voice1_things+6, | ||
+ | beq L0B33 ; | ||
+ | ldy voice1_instrument_index, | ||
+ | lda voice1_whatever+2, | ||
+ | bne L0B17 ; | ||
+ | lda possibly_instrument_a1+4, | ||
+ | beq L0B1A ; | ||
+ | sta voice1_whatever+2, | ||
+ | lda possibly_instrument_a1+3, | ||
+ | sta voice1_something, | ||
+ | L0B17: | ||
+ | jmp L0C5A ; | ||
+ | |||
+ | L0B1A: | ||
+ | lda possibly_instrument_a0+5, | ||
+ | beq L0B22 ; | ||
+ | jmp L0E67 ; | ||
+ | |||
+ | L0B22: | ||
+ | sta voice1_whatever+1, | ||
+ | lda possibly_instrument_a1, | ||
+ | beq L0B2D ; | ||
+ | jmp L0E89 ; | ||
+ | |||
+ | L0B2D: | ||
+ | sta voice1_whatever, | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L0B33: | ||
+ | lda possibly_instrument_a0+4, | ||
+ | sta control1 ; | ||
+ | beq L0B82 ; | ||
+ | lda voice1_whatever2, | ||
+ | bne L0B62 ; | ||
+ | clc ; 0B40 | ||
+ | lda voice1_something_else, | ||
+ | adc control1 ; | ||
+ | sta voice1_something_else, | ||
+ | sta $D402, | ||
+ | lda voice1_something_else+2, | ||
+ | adc # | ||
+ | sta voice1_something_else+2, | ||
+ | sta $D403, | ||
+ | clc ; 0B58 | ||
+ | cmp # | ||
+ | bcc L0B82 ; | ||
+ | inc voice1_whatever2, | ||
+ | bne L0B82 ; | ||
+ | L0B62: | ||
+ | lda voice1_something_else, | ||
+ | sec ; 0B65 | ||
+ | sbc control1 ; | ||
+ | sta voice1_something_else, | ||
+ | sta $D402, | ||
+ | lda voice1_something_else+2, | ||
+ | sbc # | ||
+ | sta voice1_something_else+2, | ||
+ | sta $D403, | ||
+ | clc ; 0B7A | ||
+ | cmp # | ||
+ | bcs L0B82 ; | ||
+ | dec voice1_whatever2, | ||
+ | L0B82: | ||
+ | lda voice1_whatever+1, | ||
+ | beq L0BC0 ; | ||
+ | lda voice1_ctrl1, | ||
+ | asl a ; 0B8A | ||
+ | tay ; 0B8B | ||
+ | lda arpeggio_table, | ||
+ | sta arp_ptr ; | ||
+ | lda arpeggio_table+1, | ||
+ | sta arp_ptr+1 ; | ||
+ | lda voice1_stuff+6, | ||
+ | cmp voice1_stuff+5, | ||
+ | bne L0BA5 ; | ||
+ | lda # | ||
+ | sta voice1_stuff+6, | ||
+ | L0BA5: | ||
+ | tay ; 0BA5 | ||
+ | lda voice1_stuff+3, | ||
+ | clc ; 0BA9 | ||
+ | arp_ptr := * + 1 | ||
+ | adc arpeggio_0, | ||
+ | tay ; 0BAD | ||
+ | lda frq_lo, | ||
+ | sta $D400, | ||
+ | lda frq_hi, | ||
+ | sta $D401, | ||
+ | inc voice1_stuff+6, | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L0BC0: | ||
+ | lda voice1_whatever, | ||
+ | bne L0BC8 ; | ||
+ | jmp L0C5A ; | ||
+ | |||
+ | L0BC8: | ||
+ | lda voice1_things, | ||
+ | beq L0C06 ; | ||
+ | cmp # | ||
+ | bcc L0C2F ; | ||
+ | sec ; 0BD1 | ||
+ | lda voice1_stuff, | ||
+ | sbc voice1_things+1, | ||
+ | sta voice1_stuff, | ||
+ | sta $D400, | ||
+ | lda voice1_stuff+4, | ||
+ | sbc # | ||
+ | sta voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | dec voice1_things+3, | ||
+ | bne L0C03 ; | ||
+ | lda voice1_things+2, | ||
+ | sta voice1_things+3, | ||
+ | inc voice1_things, | ||
+ | lda voice1_things, | ||
+ | cmp # | ||
+ | bcc L0C03 ; | ||
+ | lda # | ||
+ | sta voice1_things, | ||
+ | L0C03: | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L0C06: | ||
+ | sec ; 0C06 | ||
+ | lda voice1_stuff, | ||
+ | sbc voice1_things+1, | ||
+ | sta voice1_stuff, | ||
+ | sta $D400, | ||
+ | lda voice1_stuff+4, | ||
+ | sbc # | ||
+ | sta voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | dec voice1_things+3, | ||
+ | bne L0C2C ; | ||
+ | lda voice1_things+2, | ||
+ | sta voice1_things+3, | ||
+ | inc voice1_things, | ||
+ | L0C2C: | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L0C2F: | ||
+ | clc ; 0C2F | ||
+ | lda voice1_stuff, | ||
+ | adc voice1_things+1, | ||
+ | sta voice1_stuff, | ||
+ | sta $D400, | ||
+ | lda voice1_stuff+4, | ||
+ | adc # | ||
+ | sta voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | dec voice1_things+3, | ||
+ | bne L0CCB ; | ||
+ | lda voice1_things+2, | ||
+ | sta voice1_things+3, | ||
+ | inc voice1_things, | ||
+ | bne L0CCB ; | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L0C5A: | ||
+ | lda voice1_whatever+2, | ||
+ | beq L0CBE ; | ||
+ | cmp # | ||
+ | beq L0C7B ; | ||
+ | cmp # | ||
+ | beq L0CA6 ; | ||
+ | cmp # | ||
+ | beq L0C96 ; | ||
+ | clc ; 0C6B | ||
+ | lda voice1_stuff+4, | ||
+ | adc voice1_something, | ||
+ | sta voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | jmp L0CBE ; | ||
+ | |||
+ | L0C7B: | ||
+ | clc ; 0C7B | ||
+ | lda voice1_stuff, | ||
+ | sbc voice1_something, | ||
+ | sta voice1_stuff, | ||
+ | sta $D400, | ||
+ | lda voice1_stuff+4, | ||
+ | sbc # | ||
+ | sta voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | jmp L0CBE ; | ||
+ | |||
+ | L0C96: | ||
+ | sec ; 0C96 | ||
+ | lda voice1_stuff+4, | ||
+ | sbc voice1_something, | ||
+ | sta voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | jmp L0CBE ; | ||
+ | |||
+ | L0CA6: | ||
+ | clc ; 0CA6 | ||
+ | lda voice1_stuff, | ||
+ | adc voice1_something, | ||
+ | sta voice1_stuff, | ||
+ | sta $D400, | ||
+ | lda voice1_stuff+4, | ||
+ | adc # | ||
+ | sta voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | L0CBE: | ||
+ | ldy voice1_instrument_index, | ||
+ | lda possibly_instrument_a0+7, | ||
+ | and # | ||
+ | beq L0CCB ; | ||
+ | jmp L1005 ; | ||
+ | |||
+ | L0CCB: | ||
+ | jmp voice_done ; | ||
+ | |||
+ | voice1_whatever: | ||
+ | .byte $00, | ||
+ | voice1_pattern_index: | ||
+ | .byte $06 ; | ||
+ | voice1_whatever2: | ||
+ | .byte $00 ; | ||
+ | voice2_whatever: | ||
+ | .byte $00, | ||
+ | voice2_pattern_index: | ||
+ | .byte $06 ; | ||
+ | voice2_whatever2: | ||
+ | .byte $00 ; | ||
+ | voice3_whatever: | ||
+ | .byte $00, | ||
+ | voice3_pattern_index: | ||
+ | .byte $00 ; | ||
+ | voice3_whatever2: | ||
+ | .byte $01 ; | ||
+ | voice1_something: | ||
+ | .byte $00, | ||
+ | voice1_instrument_index: | ||
+ | .byte $08 ; | ||
+ | voice1_something_else: | ||
+ | .byte $BB, | ||
+ | @voice2_something: | ||
+ | .byte $00, | ||
+ | @voice2_instrument_index: | ||
+ | .byte $08 ; | ||
+ | @voice2_something_else: | ||
+ | .byte $BB, | ||
+ | @voice3_something: | ||
+ | .byte $00, | ||
+ | @voice3_instrument_index: | ||
+ | .byte $20 ; | ||
+ | @voice3_something_else: | ||
+ | .byte $F0, | ||
+ | voice1_ctrl0: | ||
+ | .byte $00 ; | ||
+ | voice1_ctrl1: | ||
+ | .byte $00 ; | ||
+ | |||
+ | voice1_trackptr: | ||
+ | .addr voice1_track ; | ||
+ | |||
+ | voice1_track_index: | ||
+ | .byte $00, | ||
+ | voice1_ctrl2: | ||
+ | .byte $3C ; | ||
+ | voice2_ctrl0: | ||
+ | .byte $00 ; | ||
+ | voice2_ctrl1: | ||
+ | .byte $00 ; | ||
+ | |||
+ | voice2_trackptr: | ||
+ | .addr voice2_track ; | ||
+ | |||
+ | voice2_track_index: | ||
+ | .byte $00, | ||
+ | voice2_ctrl2: | ||
+ | .byte $3C ; | ||
+ | voice3_ctrl0: | ||
+ | .byte $06 ; | ||
+ | voice3_ctrl1: | ||
+ | .byte $00 ; | ||
+ | |||
+ | voice3_trackptr: | ||
+ | .addr voice3_track ; | ||
+ | |||
+ | voice3_track_index: | ||
+ | .byte $02, | ||
+ | voice3_ctrl2: | ||
+ | .byte $3C, | ||
+ | tune_ctrl: | ||
+ | .byte $AB ; | ||
+ | tempo: | ||
+ | .byte $03 ; | ||
+ | control1: | ||
+ | .byte $A0 ; | ||
+ | tempo_ctr: | ||
+ | .byte $00 ; | ||
+ | control3: | ||
+ | .byte $FE ; | ||
+ | voice1_stuff: | ||
+ | .byte $47, | ||
+ | @voice2_stuff: | ||
+ | .byte $23, | ||
+ | @voice3_stuff: | ||
+ | .byte $00, | ||
+ | voice1_things: | ||
+ | .byte $00, | ||
+ | @voice2_things: | ||
+ | .byte $00, | ||
+ | @voice3_things: | ||
+ | .byte $00, | ||
+ | voice1_two_ctr: | ||
+ | .byte $02, | ||
+ | @voice2_two_ctr: | ||
+ | .byte $02, | ||
+ | @voice3_two_ctr: | ||
+ | .byte $02, | ||
+ | frq_lo: | ||
+ | .byte $0C, | ||
+ | .byte $A9, | ||
+ | .byte $A3, | ||
+ | .byte $30, | ||
+ | .byte $A7, | ||
+ | .byte $8F, | ||
+ | .byte $C3, | ||
+ | .byte $9C, | ||
+ | .byte $3E, | ||
+ | .byte $0F, | ||
+ | .byte $73, | ||
+ | .byte $FA, | ||
+ | frq_hi: | ||
+ | .byte $01, | ||
+ | .byte $01, | ||
+ | .byte $02, | ||
+ | .byte $04, | ||
+ | .byte $06, | ||
+ | .byte $0A, | ||
+ | .byte $10, | ||
+ | .byte $1A, | ||
+ | .byte $2A, | ||
+ | .byte $43, | ||
+ | .byte $6A, | ||
+ | .byte $A8, | ||
+ | |||
+ | setup_irq: | ||
+ | sei ; 0E13 | ||
+ | lda # | ||
+ | sta $0314 ; | ||
+ | lda # | ||
+ | sta $0315 ; | ||
+ | ldx # | ||
+ | stx $DC0E ; | ||
+ | inx ; 0E23 | ||
+ | stx $D01A ; | ||
+ | cli ; 0E27 | ||
+ | rts ; 0E28 | ||
+ | |||
+ | play_irq: | ||
+ | lda # | ||
+ | sta $D019 ; | ||
+ | lda # | ||
+ | sta $D012 ; | ||
+ | lda # | ||
+ | sta $D011 ; | ||
+ | lda # | ||
+ | sta $D020 ; | ||
+ | jsr music_play ; | ||
+ | dec $D020 ; | ||
+ | jmp $EA31 ; | ||
+ | |||
+ | music_play: | ||
+ | ldx # | ||
+ | jsr play_voice ; | ||
+ | ldx # | ||
+ | jsr play_voice ; | ||
+ | ldx # | ||
+ | jsr play_voice ; | ||
+ | rts ; 0E55 | ||
+ | |||
+ | @copyright: | ||
+ | .byte $28, | ||
+ | .byte $4D, | ||
+ | .byte $59 ; | ||
+ | |||
+ | L0E67: | ||
+ | pha ; 0E67 | ||
+ | and # | ||
+ | sta voice1_ctrl1, | ||
+ | pla ; 0E6D | ||
+ | and # | ||
+ | lsr a ; 0E70 | ||
+ | lsr a ; 0E71 | ||
+ | lsr a ; 0E72 | ||
+ | lsr a ; 0E73 | ||
+ | sta voice1_stuff+5, | ||
+ | lda # | ||
+ | sta voice1_stuff+6, | ||
+ | lda # | ||
+ | sta voice1_whatever+1, | ||
+ | lda # | ||
+ | sta voice1_whatever, | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L0E89: | ||
+ | sta voice1_things+1, | ||
+ | lda possibly_instrument_a1+1, | ||
+ | sta voice1_things+2, | ||
+ | sta voice1_things+3, | ||
+ | lda # | ||
+ | sta voice1_whatever+1, | ||
+ | sta voice1_things, | ||
+ | lda # | ||
+ | sta voice1_whatever, | ||
+ | jmp voice_done ; | ||
+ | |||
+ | possibly_instrument_a0: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_b0: | ||
+ | .byte $90, | ||
+ | @possibly_instrument_c0: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_d0: | ||
+ | .byte $30, | ||
+ | @possibly_instrument_e0: | ||
+ | .byte $96, | ||
+ | @possibly_instrument_f0: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_g0: | ||
+ | .byte $32, | ||
+ | @possibly_instrument_h0: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_i0: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_j0: | ||
+ | .byte $90, | ||
+ | @possibly_instrument_k0: | ||
+ | .byte $2E, | ||
+ | @possibly_instrument_l0: | ||
+ | .byte $70, | ||
+ | @possibly_instrument_m0: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_n0: | ||
+ | .byte $40, | ||
+ | @possibly_instrument_o0: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_p0: | ||
+ | .byte $98, | ||
+ | @possibly_instrument_q0: | ||
+ | .byte $21, | ||
+ | @possibly_instrument_r0: | ||
+ | .byte $21, | ||
+ | @possibly_instrument_s0: | ||
+ | .byte $31, | ||
+ | @possibly_instrument_t0: | ||
+ | .byte $23, | ||
+ | @possibly_instrument_u0: | ||
+ | .byte $91, | ||
+ | @possibly_instrument_v0: | ||
+ | .byte $F1, | ||
+ | possibly_instrument_a1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_b1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_c1: | ||
+ | .byte $06, | ||
+ | @possibly_instrument_d1: | ||
+ | .byte $30, | ||
+ | @possibly_instrument_e1: | ||
+ | .byte $40, | ||
+ | @possibly_instrument_f1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_g1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_h1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_i1: | ||
+ | .byte $50, | ||
+ | @possibly_instrument_j1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_k1: | ||
+ | .byte $20, | ||
+ | @possibly_instrument_l1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_m1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_n1: | ||
+ | .byte $40, | ||
+ | @possibly_instrument_o1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_p1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_q1: | ||
+ | .byte $10, | ||
+ | @possibly_instrument_r1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_s1: | ||
+ | .byte $A0, | ||
+ | @possibly_instrument_t1: | ||
+ | .byte $60, | ||
+ | @possibly_instrument_u1: | ||
+ | .byte $00, | ||
+ | @possibly_instrument_v1: | ||
+ | .byte $0A, | ||
+ | |||
+ | L1005: | ||
+ | lda voice1_stuff+2, | ||
+ | beq L100D ; | ||
+ | dec voice1_stuff+2, | ||
+ | L100D: | ||
+ | lda voice1_whatever+3, | ||
+ | beq L1025 ; | ||
+ | dec voice1_whatever+3, | ||
+ | lda # | ||
+ | sta $D404, | ||
+ | lda voice1_stuff+2, | ||
+ | eor # | ||
+ | sta $D401, | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L1025: | ||
+ | jmp L103A ; | ||
+ | |||
+ | L1028: | ||
+ | lda voice1_stuff+4, | ||
+ | sta $D401, | ||
+ | sta voice1_stuff+2, | ||
+ | lda possibly_instrument_a1+2, | ||
+ | sta $D404, | ||
+ | jmp voice_done ; | ||
+ | |||
+ | L103A: | ||
+ | lda voice1_whatever+4, | ||
+ | cmp possibly_instrument_a1+5, | ||
+ | beq L104A ; | ||
+ | inc voice1_whatever+3, | ||
+ | inc voice1_whatever+4, | ||
+ | bne L1028 ; | ||
+ | L104A: | ||
+ | lda # | ||
+ | sta voice1_whatever+4, | ||
+ | sta voice1_whatever+3, | ||
+ | beq L1028 ; | ||
+ | tune_tempo: | ||
+ | .byte $00, | ||
+ | voice1_track: | ||
+ | .byte $01, | ||
+ | .byte $07, | ||
+ | .byte $03, | ||
+ | .byte $13, | ||
+ | .byte $0F, | ||
+ | .byte $0F, | ||
+ | .byte $0F, | ||
+ | .byte $1E, | ||
+ | .byte $1E, | ||
+ | .byte $21, | ||
+ | .byte $21, | ||
+ | .byte $21, | ||
+ | .byte $21, | ||
+ | .byte $21, | ||
+ | .byte $00, | ||
+ | voice2_track: | ||
+ | .byte $03, | ||
+ | .byte $08, | ||
+ | .byte $0E, | ||
+ | .byte $15, | ||
+ | .byte $17, | ||
+ | .byte $17, | ||
+ | .byte $1F, | ||
+ | .byte $26, | ||
+ | .byte $27, | ||
+ | .byte $06, | ||
+ | .byte $00, | ||
+ | voice3_track: | ||
+ | .byte $00, | ||
+ | .byte $0B, | ||
+ | .byte $06, | ||
+ | .byte $06, | ||
+ | .byte $0E, | ||
+ | .byte $0E, | ||
+ | .byte $19, | ||
+ | .byte $08, | ||
+ | .byte $22, | ||
+ | .byte $22, | ||
+ | .byte $22, | ||
+ | .byte $22, | ||
+ | .byte $22, | ||
+ | .byte $00, | ||
+ | pattern_00: | ||
+ | .byte $FD, | ||
+ | pattern_01: | ||
+ | .byte $FA, | ||
+ | .byte $FF ; | ||
+ | pattern_03: | ||
+ | .byte $FA, | ||
+ | .byte $FF ; | ||
+ | pattern_02: | ||
+ | .byte $FD, | ||
+ | pattern_04: | ||
+ | .byte $FA, | ||
+ | pattern_05: | ||
+ | .byte $FA, | ||
+ | .byte $20, | ||
+ | pattern_06: | ||
+ | .byte $FA, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | pattern_07: | ||
+ | .byte $FA, | ||
+ | pattern_08: | ||
+ | .byte $FA, | ||
+ | pattern_09: | ||
+ | .byte $FA, | ||
+ | .byte $FF ; | ||
+ | pattern_10: | ||
+ | .byte $FA, | ||
+ | .byte $3B, | ||
+ | .byte $FD, | ||
+ | pattern_11: | ||
+ | .byte $FA, | ||
+ | .byte $36, | ||
+ | .byte $36, | ||
+ | .byte $33, | ||
+ | .byte $33, | ||
+ | pattern_12: | ||
+ | .byte $FA, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $37, | ||
+ | .byte $37, | ||
+ | pattern_13: | ||
+ | .byte $FA, | ||
+ | .byte $39, | ||
+ | .byte $3B, | ||
+ | .byte $39, | ||
+ | .byte $39, | ||
+ | pattern_14: | ||
+ | .byte $FA, | ||
+ | .byte $FD, | ||
+ | .byte $FA, | ||
+ | .byte $FD, | ||
+ | .byte $2D, | ||
+ | pattern_15: | ||
+ | .byte $FA, | ||
+ | .byte $23, | ||
+ | .byte $23, | ||
+ | .byte $23, | ||
+ | .byte $23, | ||
+ | pattern_16: | ||
+ | .byte $FA, | ||
+ | .byte $22, | ||
+ | .byte $22, | ||
+ | .byte $22, | ||
+ | .byte $22, | ||
+ | pattern_17: | ||
+ | .byte $FA, | ||
+ | .byte $25, | ||
+ | .byte $25, | ||
+ | .byte $25, | ||
+ | .byte $25, | ||
+ | pattern_18: | ||
+ | .byte $FA, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | pattern_19: | ||
+ | .byte $FA, | ||
+ | .byte $1F, | ||
+ | .byte $1F, | ||
+ | .byte $1F, | ||
+ | .byte $1F, | ||
+ | pattern_20: | ||
+ | .byte $FA, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | pattern_21: | ||
+ | .byte $FA, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | .byte $3B, | ||
+ | pattern_22: | ||
+ | .byte $FA, | ||
+ | .byte $36, | ||
+ | pattern_23: | ||
+ | .byte $FA, | ||
+ | .byte $28, | ||
+ | .byte $28, | ||
+ | .byte $28, | ||
+ | .byte $28, | ||
+ | pattern_24: | ||
+ | .byte $FA, | ||
+ | .byte $2F, | ||
+ | .byte $37, | ||
+ | pattern_25: | ||
+ | .byte $FA, | ||
+ | .byte $37, | ||
+ | pattern_26: | ||
+ | .byte $FA, | ||
+ | .byte $31, | ||
+ | pattern_27: | ||
+ | .byte $FA, | ||
+ | .byte $1B, | ||
+ | .byte $1B, | ||
+ | .byte $1B, | ||
+ | .byte $1B, | ||
+ | pattern_28: | ||
+ | .byte $FA, | ||
+ | .byte $36, | ||
+ | .byte $1F, | ||
+ | .byte $FD, | ||
+ | pattern_29: | ||
+ | .byte $FA, | ||
+ | .byte $1C, | ||
+ | .byte $1C, | ||
+ | .byte $1C, | ||
+ | .byte $1C, | ||
+ | pattern_30: | ||
+ | .byte $FA, | ||
+ | .byte $1E, | ||
+ | .byte $1E, | ||
+ | .byte $1E, | ||
+ | .byte $1E, | ||
+ | pattern_31: | ||
+ | .byte $FA, | ||
+ | .byte $FF ; | ||
+ | pattern_32: | ||
+ | .byte $FA, | ||
+ | .byte $26, | ||
+ | pattern_33: | ||
+ | .byte $FA, | ||
+ | .byte $1F, | ||
+ | .byte $15, | ||
+ | .byte $FD, | ||
+ | .byte $FA, | ||
+ | pattern_34: | ||
+ | .byte $FA, | ||
+ | .byte $13, | ||
+ | .byte $09, | ||
+ | .byte $FD, | ||
+ | .byte $13, | ||
+ | pattern_35: | ||
+ | .byte $FA, | ||
+ | .byte $17, | ||
+ | .byte $09, | ||
+ | .byte $FD, | ||
+ | .byte $17, | ||
+ | pattern_36: | ||
+ | .byte $FA, | ||
+ | .byte $23, | ||
+ | .byte $15, | ||
+ | .byte $FD, | ||
+ | .byte $FA, | ||
+ | pattern_37: | ||
+ | .byte $FA, | ||
+ | .byte $45, | ||
+ | .byte $45, | ||
+ | pattern_38: | ||
+ | .byte $FA, | ||
+ | .byte $3B, | ||
+ | pattern_39: | ||
+ | .byte $FA, | ||
+ | .byte $31, | ||
+ | pattern_40: | ||
+ | .byte $FA, | ||
+ | .byte $FF ; | ||
+ | pattern_41: | ||
+ | .byte $FA, | ||
+ | .byte $FF ; | ||
+ | |||
+ | arpeggio_table: | ||
+ | .addr arpeggio_0 ; | ||
+ | |||
+ | arpeggio_0: | ||
+ | .byte $00, | ||
+ | |||
+ | pattern_lobytes: | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | .byte < | ||
+ | pattern_hibytes: | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | .byte > | ||
+ | voice1_tune_trackptr_lo: | ||
+ | .byte $00 | ||
+ | .byte < | ||
+ | voice1_tune_trackptr_hi: | ||
+ | .byte $00 | ||
+ | .byte > | ||
+ | voice2_tune_trackptr_lo: | ||
+ | .byte $00 | ||
+ | .byte < | ||
+ | voice2_tune_trackptr_hi: | ||
+ | .byte $00 | ||
+ | .byte > | ||
+ | voice3_tune_trackptr_lo: | ||
+ | .byte $00 | ||
+ | .byte < | ||
+ | voice3_tune_trackptr_hi: | ||
+ | .byte $00 | ||
+ | .byte > | ||
+ | |||
+ | |||
+ | ; init code added by sid ripper | ||
+ | |||
+ | .byte 0 | ||
+ | |||
+ | music_init: | ||
+ | lda #$01 | ||
+ | sta tune_ctrl | ||
+ | rts | ||
+ | |||
+ | .byte $00, | ||
+ | .byte $00, | ||
+ | </ |
base/matt_gray_-_driller.txt · Last modified: 2015-04-17 04:32 by 127.0.0.1