1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
Load_Music:
.LOAD_BANK_OF =_music_Test
LD HL, ptr(=_music_Test+52)
LD A, L
ADD (HL)
LD L, A
LD A, H
ADC $00
LD H, A
LD A, bank(=_music_Test)
LD ($mem_current_vgm_pc), A
LD A, H
LD ($mem_current_vgm_pc+1), A
LD A, L
LD ($mem_current_vgm_pc+2), A
RET
Inc_HL_Fix_Bank:
PUSH AF
INC HL
LD A, H
CP $80
JR C, =.end
SUB $40
LD H, A
LD A, $saved_rom_bank
INC A
DBG
.CHANGE_BANK_TO_A
.end:
POP AF
RET
Play_Music:
LD A, ($mem_current_vgm_pc)
.CHANGE_BANK_TO_A
LD A, ($mem_current_vgm_pc+1)
LD H, A
LD A, ($mem_current_vgm_pc+2)
LD L, A
.next:
LD A, (HL)
DBG
CALL =Inc_HL_Fix_Bank
CP $b3
JR NZ, =.set_register.end
.set_register:
LD A, (HL)
CALL =Inc_HL_Fix_Bank
ADD $10
LD C, A
LD A, (HL)
CALL =Inc_HL_Fix_Bank
LD (C), A
JR =.next
.set_register.end:
CP $66
JR Z, =Load_Music
CP $62
JR Z, =.panic.end
CP $61
JR NZ, =.the61thingy.end
.the61thingy:
CALL =Inc_HL_Fix_Bank
CALL =Inc_HL_Fix_Bank
JR =.panic.end
.the61thingy.end:
.panic:
LD A, $saved_rom_bank
DBG
STOP
.panic.end:
LD A, H
LD ($mem_current_vgm_pc+1), A
LD A, L
LD ($mem_current_vgm_pc+2), A
LD A, $saved_rom_bank
DBG
LD ($mem_current_vgm_pc), A
RET
|