summaryrefslogtreecommitdiff
path: root/src/home.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/home.asm')
-rw-r--r--src/home.asm761
1 files changed, 761 insertions, 0 deletions
diff --git a/src/home.asm b/src/home.asm
index 493f8e3..484ae4c 100644
--- a/src/home.asm
+++ b/src/home.asm
@@ -53,3 +53,764 @@ SECTION "SGB Flag", ROM0[$146]
SECTION "Start", ROM0[$150]
Start: ; 0150 (0:0150)
+
+SECTION "Func_10c4", ROM0[$10c4]
+
+Func_10c4: ; 10c4 (0:10c4)
+ ld de, $2100
+ ldh a, [hROMBank]
+ push af
+ ld a, [wSongBank]
+ ldh [hROMBank], a
+ ld [de], a
+ ld l, c
+ ld h, b
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ pop af
+ ldh [hROMBank], a
+ ld [de], a
+ jp Func_80000.asm_80023
+; 0x10dc
+
+Func_10dc: ; 10dc (0:10dc)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_83401)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc61e], a
+ ld a, [hld]
+ ld [wc61e + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x10f5
+
+Func_10f5: ; 10f5 (0:10f5)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [bc]
+ ld l, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ jp Func_803e6
+; 0x110a
+
+Func_110a: ; 110a (0:110a)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld l, c
+ ld h, b
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ jp Func_803cd.asm_803e3
+; 0x1122
+
+Func_1122: ; 1122 (0:1122)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_82230)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc624], a
+ ld a, [hli]
+ ld [wc624 + 1], a
+ ld a, [hli]
+ ld [wc629], a
+ ld a, [hli]
+ ld [wc629 + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1143
+
+Func_1143: ; 1143 (0:1143)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [bc]
+ ld e, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1156
+
+Func_1156: ; 1156 (0:1156)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_81a31)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc6c3], a
+ ld a, [hld]
+ ld [wc6c3 + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x116f
+
+Func_116f: ; 116f (0:116f)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ call wc6c2
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1183
+
+Func_1183: ; 1183 (0:1183)
+ ld de, $2100
+ ldh a, [hROMBank]
+ push af
+ ld a, [wSongBank]
+ ldh [hROMBank], a
+ ld [de], a
+ ld l, c
+ ld h, b
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ pop af
+ ldh [hROMBank], a
+ ld [de], a
+ jp Func_80525.asm_80548
+; 0x119b
+
+Func_119b: ; 119b (0:119b)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_83401)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc64e], a
+ ld a, [hld]
+ ld [wc64e + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x11b4
+
+Func_11b4: ; 11b4 (0:11b4)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [bc]
+ ld l, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ jp Func_8090b
+; 0x11c9
+
+Func_11c9: ; 11c9 (0:11c9)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld l, c
+ ld h, b
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ jp Func_808f2.asm_80908
+; 0x11e1
+
+Func_11e1: ; 11e1 (0:11e1)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_82230)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc654], a
+ ld a, [hli]
+ ld [wc654 + 1], a
+ ld a, [hli]
+ ld [wc659], a
+ ld a, [hli]
+ ld [wc659 + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1202
+
+Func_1202: ; 1202 (0:1202)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [bc]
+ ld e, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1215
+
+Func_1215: ; 1215 (0:1215)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_81a3f)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc6c6], a
+ ld a, [hld]
+ ld [wc6c6 + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x122e
+
+Func_122e: ; 122e (0:122e)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ call wc6c5
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1242
+
+Func_1242: ; 1242 (0:1242)
+ ld de, $2100
+ ldh a, [hROMBank]
+ push af
+ ld a, [wSongBank]
+ ldh [hROMBank], a
+ ld [de], a
+ ld l, c
+ ld h, b
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ pop af
+ ldh [hROMBank], a
+ ld [de], a
+ jp Func_80a4a.asm_80a6d
+; 0x125a
+
+Func_125a: ; 125a (0:125a)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_83401)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc67e], a
+ ld a, [hld]
+ ld [wc67e + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1273
+
+Func_1273: ; 1273 (0:1273)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [bc]
+ ld l, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ jp Func_80e34
+; 0x1288
+
+Func_1288: ; 1288 (0:1288)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld l, c
+ ld h, b
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ jp Func_80e1b.asm_80e31
+; 0x12a0
+
+Func_12a0: ; 12a0 (0:12a0)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_82230)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc684], a
+ ld a, [hli]
+ ld [wc684 + 1], a
+ ld a, [hli]
+ ld [wc689], a
+ ld a, [hli]
+ ld [wc689 + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x12c1
+
+Func_12c1: ; 12c1 (0:12c1)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [bc]
+ ld e, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x12d4
+
+Func_12d4: ; 12d4 (0:12d4)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_81a3f)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc6c9], a
+ ld a, [hld]
+ ld [wc6c9 + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x12ed
+
+Func_12ed: ; 12ed (0:12ed)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ call wc6c8
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1301
+
+Func_1301: ; 1301 (0:1301)
+ ld de, $2100
+ ldh a, [hROMBank]
+ push af
+ ld a, [wSongBank]
+ ldh [hROMBank], a
+ ld [de], a
+ ld l, c
+ ld h, b
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ pop af
+ ldh [hROMBank], a
+ ld [de], a
+ jp Func_80f80.asm_80fa3
+; 0x1319
+
+Func_1319: ; 1319 (0:1319)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_82230)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc6b4], a
+ ld a, [hli]
+ ld [wc6b4 + 1], a
+ ld a, [hli]
+ ld [wc6b9], a
+ ld a, [hli]
+ ld [wc6b9 + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x133a
+
+Func_133a: ; 133a (0:133a)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [bc]
+ ld e, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x134d
+
+Func_134d: ; 134d (0:134d)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(PointerTable_81a3f)
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld [wc6cc], a
+ ld a, [hld]
+ ld [wc6cc + 1], a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1366
+
+Func_1366: ; 1366 (0:1366)
+ ldh a, [hROMBank]
+ push af
+ ld a, $20
+ ldh [hROMBank], a
+ ld [$2100], a
+ call wc6cb
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x137a
+
+Func_137a: ; 137a (0:137a)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_81383)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_81383
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ldh a, [hROMBank]
+ push af
+ ld a, $21
+ ldh [hROMBank], a
+ ld [$2100], a
+ call $4000
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x13a1
+
+; play song
+; input:
+; a: song id
+Func_13a1: ; 13a1 (0:13a1)
+ push af
+ push hl
+ ld l, a
+ ld a, [wc601]
+ and a
+ jr nz, .asm_13bd
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_813ba)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_813ba
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+.asm_13bd
+ pop hl
+ pop af
+ ret
+; 0x13c0
+
+; get song header
+; input:
+; hl: header pointer
+; output:
+; wSongBank: song bank
+; hl: song pointer
+Func_13c0: ; 13c0 (0:13c0)
+ ld de, $2100
+ ldh a, [hROMBank] ; hROMBank
+ push af
+ ld a, BANK(SongPointers)
+ ldh [hROMBank], a
+ ld [de], a
+ ld a, [hld]
+ ld [wSongBank], a
+ ld a, [hld]
+ ld l, [hl]
+ ld h, a
+ pop af
+ ldh [hROMBank], a
+ ld [de], a
+ ret
+; 0x13d7
+
+; get next song byte
+; input:
+; hl: song pointer
+; wSongBank: song bank
+; output:
+; e: song byte
+Func_13d7: ; 13d7 (0:13d7)
+ ldh a, [hROMBank]
+ push af
+ ld a, [wSongBank]
+ ldh [hROMBank], a
+ ld [$2100], a
+ ld a, [hli]
+ ld e, a
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x13eb
+
+; update sound
+Func_13eb: ; 13eb (0:13eb)
+ ldh a, [hROMBank]
+ push af
+ ld a, $21
+ ldh [hROMBank], a
+ ld [$2100], a
+ call $4012
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_814c5)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_814c5 ; update sound
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1412
+
+; get next song byte via bc
+; input:
+; bc: song pointer
+; wSongBank: song bank
+; output:
+; e: song byte
+Func_1412: ; 1412 (0:1412)
+ ld hl, $2100
+ ldh a, [hROMBank]
+ push af
+ ld a, [wSongBank]
+ ldh [hROMBank], a
+ ld [hl], a
+ ld a, [bc]
+ inc bc
+ ld e, a
+ pop af
+ ldh [hROMBank], a
+ ld [hl], a
+ ret
+; 0x1426
+
+Func_1426: ; 1426 (0:1426)
+ ldh a, [hROMBank]
+ push af
+ ld a, $21
+ ldh [hROMBank], a
+ ld [$2100], a
+ call $40c0
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_8143e)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_8143e
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x144d
+
+Func_144d: ; 144d (0:144d)
+ ld e, a
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_816fd)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_816fd
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1462
+
+Func_1462: ; 1462 (0:1462)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_81817)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_81817
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1476
+
+Func_1476: ; 1476 (0:1476)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(DataTable_82f71)
+ ldh [hROMBank], a
+ ld [$2100], a
+.asm_1480
+ ld a, [hli]
+ ld [$ff00+c], a
+ inc c
+ dec b
+ jr nz, .asm_1480
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x148d
+
+Func_148d: ; 148d (0:148d)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_81468)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_81468
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x14a1
+
+Func_14a1: ; 14a1 (0:14a1)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_81482)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_81482
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x14b5
+
+Func_14b5: ; 14b5 (0:14b5)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_81490)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_81490
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x14c9
+
+Func_14c9: ; 14c9 (0:14c9)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_814a9)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_814a9
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x14dd
+
+Func_14dd: ; 14dd (0:14dd)
+ ld a, [wc601]
+ and a
+ jr z, .asm_14e5
+ scf
+ ret
+.asm_14e5
+ ld a, [wc5fd]
+ and a
+ ret nz
+ ld a, [wChannel1Pointer + 1]
+ and a
+ ret nz
+ ld a, [wChannel2Pointer + 1]
+ and a
+ ret nz
+ ld a, [wChannel3Pointer + 1]
+ and a
+ ret nz
+ ld a, [wChannel4Pointer + 1]
+ and a
+ ret nz
+ scf
+ ret
+; 0x1500
+
+Func_1500: ; 1500 (0:1500)
+ ldh a, [hROMBank]
+ push af
+ ld a, BANK(Func_81857)
+ ldh [hROMBank], a
+ ld [$2100], a
+ call Func_81857
+ pop af
+ ldh [hROMBank], a
+ ld [$2100], a
+ ret
+; 0x1514