diff options
Diffstat (limited to 'music/soundeffects.gbasm')
-rw-r--r-- | music/soundeffects.gbasm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/music/soundeffects.gbasm b/music/soundeffects.gbasm new file mode 100644 index 0000000..f320aaf --- /dev/null +++ b/music/soundeffects.gbasm @@ -0,0 +1,34 @@ +Wait_Next_Frame: + POP DE + LD A, $saved_rom_bank + LD ($mem_sound_effect_pc), A + LD A, D + LD ($mem_sound_effect_pc+1), A + LD A, E + LD ($mem_sound_effect_pc+2), A + RET + +.MACRODEF RET_WAIT_NEXT_FRAME + CALL =Wait_Next_Frame +.END + +Play_Sound_Effect: + LD A, ($mem_sound_effect_pc) + CP $ff + RET Z + .CHANGE_BANK_TO_A + LD A, ($mem_sound_effect_pc+1) + LD D, A + LD A, ($mem_sound_effect_pc+2) + LD E, A + PUSH DE + RET + +.MACRODEF SET_SOUND_EFFECT =addr + LD A, bank(=addr) + LD ($mem_sound_effect_pc), A + LD A, high(ptr(=addr)) + LD ($mem_sound_effect_pc+1), A + LD A, low(ptr(=addr)) + LD ($mem_sound_effect_pc+2), A +.END |