aboutsummaryrefslogtreecommitdiff
path: root/music
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-07-14 23:30:14 +0200
committerAstatin <[email protected]>2025-07-14 23:30:14 +0200
commit44c1f8ed44065e3f3da4c5afe67d4611d15626a8 (patch)
tree7b0e133e6123f2c7d0abe8b67ef0de040935940d /music
parentd77b156de83e8a93e3fa9832642824089593d1db (diff)
Loop music at the end instead of playing from the beginning
Diffstat (limited to 'music')
-rw-r--r--music/load.gbasm46
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