Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _A_SONG0 $6000
- #define _A_SONG1 $7000
- #define _A_SAMPLE0 $8000
- #define _A_SAMPLE1 $9000
- #define _A_SAMPLE2 $A000
- #define _A_SAMPLE3 $B000
- #define _A_SAMPLE4 $C000
- #define _A_SAMPLE5 $D000
- #define _A_SAMPLE6 $E000
- #define _A_SAMPLE7 $F000
- #define _A_PITCH_TABLE $0300
- .org $0000
- .dw 1024
- .dw 1085
- .dw 1149
- .dw 1218
- .dw 1290
- .dw 1367
- .dw 1448
- .dw 1534
- .dw 1625
- .dw 1722
- .dw 1825
- .dw 1933
- .dw 2048
- .dw 2170
- .dw 2299
- .dw 2435
- .dw 2580
- .dw 2734
- .dw 2896
- .dw 3069
- .dw 3251
- .dw 3444
- .dw 3649
- .dw 3866
- .dw 4096
- .dw 4340
- .dw 4598
- .dw 4871
- .dw 5160
- .dw 5467
- .dw 5793
- .dw 6137
- .dw 6507
- .dw 6889
- .dw 7298
- .dw 7732
- .dw 8192
- .dw 8679
- .dw 9195
- .dw 9742
- .dw 10321
- .dw 10935
- .dw 11585
- .dw 12274
- .dw 13003
- .dw 13777
- .dw 14596
- .dw 15464
- .dw 16383
- main:
- mov y, #$00
- mov CONTROL, y
- mov a, #$0C
- movw DSPADDR, ya
- mov a, #$1C
- movw DSPADDR, ya
- mov a, #$2C
- movw DSPADDR, ya
- mov a, #$3C
- movw DSPADDR, ya
- mov a, #$3C
- movw DSPADDR, ya
- mov a, #$2D
- movw DSPADDR, ya
- mov a, #$3D
- movw DSPADDR, ya
- mov a, #$4D
- movw DSPADDR, ya
- mov a, #$6C
- mov y, #$20
- movw DSPADDR, ya
- mov a, #$5D
- mov y, #$02
- movw DSPADDR, ya
- mov a, #$00
- mov y, #$03
- movw $00, ya
- main_loop:
- mov a, CPUIO0
- or a, CPUIO1
- beq main_loop
- mov a, CPUIO1
- bne push_song
- mov a, CPUIO0
- bra handle_command
- bra main_loop
- push_song:
- mov a, $80
- call !push_song0_channel
- mov a, $90
- call !push_song0_channel
- mov a, $A0
- call !push_song0_channel
- mov a, $B0
- call !push_song0_channel
- mov a, $C0
- call !push_song1_channel
- mov a, $D0
- call !push_song1_channel
- mov a, $E0
- call !push_song1_channel
- mov a, $F0
- call !push_song1_channel
- jmp !main_loop
- handle_command:
- mov a, CPUIO0
- and a, #$E0
- cmp a, #$20
- beq handle_load_sample_command
- cmp a, #$40
- beq handle_load_song_command
- cmp a, #$60
- beq handle_play_song_command
- mov a, CPUIO0
- cmp a, #$01
- beq kill_command
- jmp !main_loop
- kill_command
- stop
- handle_load_sample_command:
- mov a, CPUIO0
- and a, #$07
- call !load_sample
- jmp !main_loop
- handle_load_song_command:
- mov a, CPUIO0
- and #$01
- call !load_song
- jmp !main_loop
- handle_play_song_command:
- mov a, CPUIO0
- and a, #$02
- beq handle_play_song_command0
- mov a
- jmp !main_loop
Advertisement
Add Comment
Please, Sign In to add comment