69 lines
1.4 KiB
ArmAsm
69 lines
1.4 KiB
ArmAsm
#include <msp430g2553.h>
|
|
#include "soundCodes.h"
|
|
|
|
|
|
.section ".text","ax",@progbits
|
|
receive_isr:
|
|
bit #UCB0RXIFG, &UC0IFG
|
|
jz receive_isr_no_data
|
|
bit #SOUND_COMMAND, &cmd
|
|
jnz receive_isr_no_data
|
|
bis UCB0RXBUF, &cmd
|
|
receive_isr_no_data:
|
|
reti
|
|
|
|
.global spiCmdHandler
|
|
spiCmdHandler:
|
|
spiCmdHandler_0:
|
|
bit #SOUND_COMMAND, &cmd
|
|
jz spiCmdHandler_1
|
|
;; insert a call here
|
|
call #spiCommandDispatcher
|
|
mov.b #0, &cmd
|
|
ret
|
|
spiCmdHandler_1:
|
|
bit #SOUND_MUTE, &cmd
|
|
jz spiCmdHandler_2
|
|
call #mute
|
|
bic #SOUND_MUTE, &cmd
|
|
spiCmdHandler_2:
|
|
bit #SOUND_UNMUTE, &cmd
|
|
jz spiCmdHandler_3
|
|
call #unMute
|
|
bic #SOUND_UNMUTE, &cmd
|
|
spiCmdHandler_3:
|
|
bit #SOUND_START, &cmd
|
|
jz spiCmdHandler_4
|
|
call #playMelodyTetris
|
|
bic #SOUND_START, &cmd
|
|
spiCmdHandler_4:
|
|
bit #SOUND_GAMEOVER, &cmd
|
|
jz spiCmdHandler_5
|
|
call #stopMelodyTetris
|
|
bic #SOUND_GAMEOVER, &cmd
|
|
spiCmdHandler_5:
|
|
bit #SOUND_FANFARE, &cmd
|
|
jz spiCmdHandler_6
|
|
call #playMelodyTetrisFaster
|
|
call #playTusch1
|
|
bic #SOUND_FANFARE, &cmd
|
|
spiCmdHandler_6:
|
|
bit #SOUND_LOCK, &cmd
|
|
jz spiCmdHandler_7
|
|
;; insert a call here
|
|
bic #SOUND_LOCK, &cmd
|
|
spiCmdHandler_7:
|
|
bit #SOUND_PLING, &cmd
|
|
jz spiCmdHandler_end
|
|
call #playPling
|
|
bic #SOUND_PLING, &cmd
|
|
spiCmdHandler_end:
|
|
ret
|
|
|
|
|
|
.section "__interrupt_vector_8","ax",@progbits
|
|
.word receive_isr
|
|
|
|
|
|
.end
|