diff options
author | Astatin <[email protected]> | 2025-07-14 23:30:14 +0200 |
---|---|---|
committer | Astatin <[email protected]> | 2025-07-14 23:30:14 +0200 |
commit | 44c1f8ed44065e3f3da4c5afe67d4611d15626a8 (patch) | |
tree | 7b0e133e6123f2c7d0abe8b67ef0de040935940d | |
parent | d77b156de83e8a93e3fa9832642824089593d1db (diff) |
Loop music at the end instead of playing from the beginning
-rw-r--r-- | music/load.gbasm | 46 |
1 files changed, 41 insertions, 5 deletions
diff --git a/music/load.gbasm b/music/load.gbasm index 400fa1d..dde5627 100644 --- a/music/load.gbasm +++ b/music/load.gbasm @@ -17,6 +17,46 @@ Load_Music: LD ($mem_current_vgm_pc+2), A RET +Loop_Music: + .LOAD_BANK_OF =_music_Test + + LD HL, ptr(=_music_Test+28) + LD BC, ptr(=_music_Test+28) + LD E, bank(=_music_Test+28) + + LD A, B + SUB $40 + LD B, A + + LD A, (HL+) + ADD C + LD C, A + LD A, (HL+) + ADC B + LD B, A + LD A, (HL+) + ADC E + LD E, A + + LD A, $00 + SLA B + RL A + ADD E + LD E, A + + SRA B + LD A, $40 + ADD B + LD B, A + + LD A, E + LD ($mem_current_vgm_pc), A + LD A, B + LD ($mem_current_vgm_pc+1), A + LD A, C + LD ($mem_current_vgm_pc+2), A + RET + Inc_HL_Fix_Bank: PUSH AF INC HL @@ -28,7 +68,6 @@ Inc_HL_Fix_Bank: LD A, $saved_rom_bank INC A - DBG .CHANGE_BANK_TO_A .end: @@ -45,7 +84,6 @@ Play_Music: .next: LD A, (HL) - DBG CALL =Inc_HL_Fix_Bank CP $b3 JR NZ, =.set_register.end @@ -61,7 +99,7 @@ Play_Music: .set_register.end: CP $66 - JR Z, =Load_Music + JP Z, =Loop_Music CP $62 @@ -76,7 +114,6 @@ Play_Music: .panic: LD A, $saved_rom_bank - DBG STOP .panic.end: @@ -85,6 +122,5 @@ Play_Music: LD A, L LD ($mem_current_vgm_pc+2), A LD A, $saved_rom_bank - DBG LD ($mem_current_vgm_pc), A RET |