summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-04-22 08:44:13 -0400
committerU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-04-22 08:44:13 -0400
commitaf333e112a76c8ddf92e104f92e190c5d0f8e01c (patch)
treee5d92323540ee860d14a77ddb72e8a3cfe7707d1
parente116c0caf4a1eb86414bf342e741ba6354242ae8 (diff)
Misc disassembling
-rwxr-xr-xengine/bank1.asm5
-rwxr-xr-xengine/bank3.asm20
-rwxr-xr-xengine/bank4.asm (renamed from engine/overworldmap.asm)108
-rwxr-xr-xengine/bank7.asm8
-rwxr-xr-xengine/home.asm90
-rwxr-xr-xengine/music1.asm8
-rwxr-xr-xengine/music2.asm8
-rwxr-xr-xmacros.asm24
-rwxr-xr-xmain.asm9
9 files changed, 245 insertions, 35 deletions
diff --git a/engine/bank1.asm b/engine/bank1.asm
index 617b70e..5856f5a 100755
--- a/engine/bank1.asm
+++ b/engine/bank1.asm
@@ -39,4 +39,7 @@ Func_4050: ; 4050 (1:4050)
ret
Func_405a: ; 405a (1:405a)
-INCBIN "baserom.gbc",$405a,$8000 - $405a \ No newline at end of file
+INCBIN "baserom.gbc",$405a,$7571 - $405a
+
+Func_7571: ; 7571 (1:7571)
+INCBIN "baserom.gbc",$7571,$8000 - $7571 \ No newline at end of file
diff --git a/engine/bank3.asm b/engine/bank3.asm
index abc7497..ecabee2 100755
--- a/engine/bank3.asm
+++ b/engine/bank3.asm
@@ -1,4 +1,17 @@
-INCBIN "baserom.gbc",$c000,$c5d5 - $c000
+Func_c000: ; c000 (3:4000)
+INCBIN "baserom.gbc",$c000,$c1a4 - $c000
+
+Func_c1a4: ; c1a4 (3:41a4)
+INCBIN "baserom.gbc",$c1a4,$c1b1 - $c1a4
+
+Func_c1b1: ; c1b1 (3:41b1)
+INCBIN "baserom.gbc",$c1b1,$c1ed - $c1b1
+
+Func_c1ed: ; c1ed (3:41ed)
+INCBIN "baserom.gbc",$c1ed,$c1f8 - $c1ed
+
+Func_c1f8: ; c1f8 (3:41f8)
+INCBIN "baserom.gbc",$c1f8,$c5d5 - $c1f8
Func_c5d5: ; c5d5 (3:45d5)
push hl
@@ -31,7 +44,10 @@ Func_c5e9: ; c5e9 (3:45e9)
ret
; 0xc5fe
-INCBIN "baserom.gbc",$c5fe,$ca6c - $c5fe
+INCBIN "baserom.gbc",$c5fe,$c9cb - $c5fe
+
+Func_c9cb: ; c9cb (3:49cb)
+INCBIN "baserom.gbc",$c9cb,$ca6c - $c9cb
Func_ca6c: ; ca6c (3:4a6c)
push hl
diff --git a/engine/overworldmap.asm b/engine/bank4.asm
index aa3a189..18a1cbd 100755
--- a/engine/overworldmap.asm
+++ b/engine/bank4.asm
@@ -464,7 +464,10 @@ Func_11184: ; 11184 (4:5184)
ret
; 0x111b3
-INCBIN "baserom.gbc",$111b3,$1217b - $111b3
+INCBIN "baserom.gbc",$111b3,$11320 - $111b3
+
+Func_11320: ; 11320 (4:5320)
+INCBIN "baserom.gbc",$11320,$1217b - $11320
Unknown_1217b: ; 1217b (4:617b)
INCBIN "baserom.gbc",$1217b,$1229f - $1217b
@@ -473,7 +476,108 @@ Unknown_1229f: ; 1229f (4:629f)
INCBIN "baserom.gbc",$1229f,$126d1 - $1229f
Func_126d1: ; 126d1 (4:66d1)
-INCBIN "baserom.gbc",$126d1,$1299f - $126d1
+ call Func_099c
+ ld hl, $cac0
+ inc [hl]
+ farcall Func_70018
+ ld a, $ff
+ ld [$d627], a
+.asm_126e1
+ ld a, $c2
+ ld [$ff97], a
+ farcall Func_c1f8
+ farcall Func_1d078
+ ld a, [$d628]
+ ld hl, PointerTable_126fc
+ call JumpToFunctionInTable
+ jr c, .asm_126e1
+ jr Func_126d1
+
+ scf
+ ret
+
+PointerTable_126fc
+ dw Func_12768
+ dw Func_12741
+ dw Func_12704
+ dw Func_1277e
+
+Func_12704: ; 12704 (4:6704)
+ farcall Func_c1b1
+ call Func_128a9
+ farcall Func_1996e
+ call Func_07b6
+ ld a, [$a007]
+ ld [$d421], a
+ ld a, [$a006]
+ ld [$ce47], a
+ call Func_07be
+ ld a, $0
+ call Func_3785
+ farcall Func_70000
+ ld a, $9
+ ld [$d111], a
+ call Func_39fc
+ farcall Func_1d306
+ ld a, $0
+ ld [$d0b5], a
+ rst $28
+ db $03
+ dw Func_383d
+ or a
+ ret
+
+Func_12741: ; 12741 (4:6741)
+ ld a, $0
+ call Func_3785
+ call Func_11320
+ jr nc, Func_12704
+ farcall Func_c1ed
+ farcall Func_70000
+ call Func_07b6
+ xor a
+ ld [$ba44], a
+ call Func_07be
+ ld a, $0
+ ld [$d0b5], a
+ rst $28
+ db $03
+ dw Func_383d
+ or a
+ ret
+
+Func_12768: ; 12768 (4:6768)
+ ld a, $8
+ call Func_3785
+ bank1call Func_7571
+ farcall Func_c1a4
+ call Func_3c48
+ ld a, $0
+ call Func_3785
+ scf
+ ret
+
+Func_1277e: ; 1277e (4:677e)
+ ld a, $0
+ call Func_3785
+ farcall Func_c9cb
+ rst $28
+ db $04
+ dw Func_3a40
+ farcall Func_70000
+ ld a, $5
+ ld [$d0b5], a
+ rst $28
+ db $03
+ dw Func_383d
+ or a
+ ret
+; 0x1279a
+
+INCBIN "baserom.gbc",$1279a,$128a9 - $1279a
+
+Func_128a9: ; 128a9 (4:68a9)
+INCBIN "baserom.gbc",$128a9,$1299f - $128a9
Func_1299f: ; 1299f (4:699f)
push af
diff --git a/engine/bank7.asm b/engine/bank7.asm
index 2108cdf..25e0772 100755
--- a/engine/bank7.asm
+++ b/engine/bank7.asm
@@ -375,4 +375,10 @@ MapSongs: ; 1c374 (7:4374)
db $36,$37,$00,$0A,$17,MUSIC_POKEMONDOME ; POKEMON_DOME
db $3A,$3B,$00,$0A,$18,MUSIC_HALLOFHONOR ; HALL_OF_HONOR
-INCBIN "baserom.gbc",$1c440,$20000 - $1c440 \ No newline at end of file
+INCBIN "baserom.gbc",$1c440,$1d078 - $1c440
+
+Func_1d078: ; 1d078 (7:5078)
+INCBIN "baserom.gbc",$1d078,$1d306 - $1d078
+
+Func_1d306: ; 1d306 (7:5306)
+INCBIN "baserom.gbc",$1d306,$20000 - $1d306 \ No newline at end of file
diff --git a/engine/home.asm b/engine/home.asm
index f306b64..07d6193 100755
--- a/engine/home.asm
+++ b/engine/home.asm
@@ -631,7 +631,7 @@ Func_0572: ; 0572 (0:0572)
CopyDMAFunction: ; 0593 (0:0593)
ld c, $83
- ld b, $a
+ ld b, JumpToFunctionInTable - DMA
ld hl, DMA
.asm_59a
ld a, [hli]
@@ -1036,7 +1036,22 @@ Func_0879: ; 0879 (0:0879)
ret
; 0x88f
-INCBIN "baserom.gbc",$088f,$09ae - $088f
+INCBIN "baserom.gbc",$088f,$099c - $088f
+
+Func_099c: ; 099c (0:099c)
+ xor a
+ ld [$cab5], a
+ ld hl, $ca00
+ ld c, $28
+ xor a
+.asm_9a6
+ ld [hli], a
+ ld [hli], a
+ inc hl
+ inc hl
+ dec c
+ jr nz, .asm_9a6
+ ret
; this function affects the stack so that it returns to the pointer following the rst call
; similar to rst 28, except this always loads bank 1
@@ -3002,6 +3017,7 @@ Func_377f: ; 377f (0:377f)
Func_3784: ; 3784 (0:3784)
xor a
+Func_3785: ; 3785 (0:3785)
farcall Func_f4006
ret
@@ -3028,7 +3044,62 @@ Func_37a0: ; 37a0 (0:37a0)
ret
; 0x37a5
-INCBIN "baserom.gbc",$37a5,$395a - $37a5
+INCBIN "baserom.gbc",$37a5,$383d - $37a5
+
+Func_383d: ; 383d (0:383d)
+ ld a, $1
+ ld [$cac4], a
+ ld a, [$ff80]
+ push af
+.asm_3845
+ call Func_3855
+ jr nc, .asm_3850
+ farcall Func_c000
+ jr .asm_3845
+.asm_3850
+ pop af
+ call BankswitchHome
+ ret
+
+Func_3855: ; 3855 (0:3855)
+ ld a, [$d0b5]
+ cp $7
+ jr c, .asm_385e
+ ld a, $6
+.asm_385e
+ ld hl, PointerTable_3864
+ jp JumpToFunctionInTable
+
+PointerTable_3864: ; 3864 (0:3864)
+ dw Func_3874
+ dw Func_38c0
+ dw Func_38a3
+ dw Func_3876
+ dw Func_3911
+ dw Func_38fb
+ dw Func_38db
+ dw Func_3874
+
+Func_3874: ; 3874 (0:3874)
+INCBIN "baserom.gbc",$3874,$3876 - $3874
+
+Func_3876: ; 3876 (0:3876)
+INCBIN "baserom.gbc",$3876,$38a3 - $3876
+
+Func_38a3: ; 38a3 (0:38a3)
+INCBIN "baserom.gbc",$38a3,$38c0 - $38a3
+
+Func_38c0: ; 38c0 (0:38c0)
+INCBIN "baserom.gbc",$38c0,$38db - $38c0
+
+Func_38db: ; 38db (0:38db)
+INCBIN "baserom.gbc",$38db,$38fb - $38db
+
+Func_38fb: ; 38fb (0:38fb)
+INCBIN "baserom.gbc",$38fb,$3911 - $38fb
+
+Func_3911: ; 3911 (0:3911)
+INCBIN "baserom.gbc",$3911,$395a - $3911
Func_395a: ; 395a (0:395a)
ld a, [$ff80]
@@ -3044,7 +3115,13 @@ Func_395a: ; 395a (0:395a)
INCBIN "baserom.gbc",$396b,$397b - $396b
Unknown_397b: ; 397b (0:397b)
-INCBIN "baserom.gbc",$397b,$3aed - $397b
+INCBIN "baserom.gbc",$397b,$39fc - $397b
+
+Func_39fc: ; 39fc (0:39fc)
+INCBIN "baserom.gbc",$39fc,$3a40 - $39fc
+
+Func_3a40: ; 3a40 (0:3a40)
+INCBIN "baserom.gbc",$3a40,$3aed - $3a40
Func_3aed: ; 3aed (0:3aed)
ld hl, $d413
@@ -3093,7 +3170,10 @@ Func_3bf5: ; 3bf5 (0:3bf5)
ret
; 0x3c10
-INCBIN "baserom.gbc",$3c10,$3c5a - $3c10
+INCBIN "baserom.gbc",$3c10,$3c48 - $3c10
+
+Func_3c48: ; 3c48 (0:3c48)
+INCBIN "baserom.gbc",$3c48,$3c5a - $3c48
Func_3c5a: ; 3c5a (0:3c5a)
ld hl, $0000
diff --git a/engine/music1.asm b/engine/music1.asm
index cc7c021..3f420f5 100755
--- a/engine/music1.asm
+++ b/engine/music1.asm
@@ -610,9 +610,9 @@ Music1_CommandTable: ; f442c (3d:442c)
dw Music1_end
dw Music1_musicdc
dw Music1_MainLoop
- dw Music1_endMainLoop
+ dw Music1_EndMainLoop
dw Music1_Loop
- dw Music1_endLoop
+ dw Music1_EndLoop
dw Music1_jp
dw Music1_call
dw Music1_ret
@@ -919,7 +919,7 @@ Music1_MainLoop: ; f45ef (3d:45ef)
ld [hl], d
jp Music1_PlayNextNote_pop
-Music1_endMainLoop: ; f45fd (3d:45fd)
+Music1_EndMainLoop: ; f45fd (3d:45fd)
pop hl
ld hl, $dd9d
add hl, bc
@@ -946,7 +946,7 @@ Music1_Loop: ; f4609 (3d:4609)
call Music1_SetReturnAddress
jp Music1_PlayNextNote_pop
-Music1_endLoop: ; f461e (3d:461e)
+Music1_EndLoop: ; f461e (3d:461e)
call Music1_GetReturnAddress
dec hl
ld a, [hl]
diff --git a/engine/music2.asm b/engine/music2.asm
index 88a6943..065fb8d 100755
--- a/engine/music2.asm
+++ b/engine/music2.asm
@@ -610,9 +610,9 @@ Music2_CommandTable: ; f842c (3e:442c)
dw Music2_end
dw Music2_musicdc
dw Music2_MainLoop
- dw Music2_endMainLoop
+ dw Music2_EndMainLoop
dw Music2_Loop
- dw Music2_endLoop
+ dw Music2_EndLoop
dw Music2_jp
dw Music2_call
dw Music2_ret
@@ -919,7 +919,7 @@ Music2_MainLoop: ; f85ef (3e:45ef)
ld [hl], d
jp Music2_PlayNextNote_pop
-Music2_endMainLoop: ; f85fd (3e:45fd)
+Music2_EndMainLoop: ; f85fd (3e:45fd)
pop hl
ld hl, $dd9d
add hl, bc
@@ -946,7 +946,7 @@ Music2_Loop: ; f8609 (3e:4609)
call Music2_SetReturnAddress
jp Music2_PlayNextNote_pop
-Music2_endLoop: ; f861e (3e:461e)
+Music2_EndLoop: ; f861e (3e:461e)
call Music2_GetReturnAddress
dec hl
ld a, [hl]
diff --git a/macros.asm b/macros.asm
index 122e609..ad8938b 100755
--- a/macros.asm
+++ b/macros.asm
@@ -20,18 +20,18 @@ emptybank: MACRO
ENDM
; notes
-C_ EQU $1
-C# EQU $2
-D_ EQU $3
-D# EQU $4
-E_ EQU $5
-F_ EQU $6
-F# EQU $7
-G_ EQU $8
-G# EQU $9
-A_ EQU $A
-A# EQU $B
-B_ EQU $C
+C_ EQU $1
+C# EQU $2
+D_ EQU $3
+D# EQU $4
+E_ EQU $5
+F_ EQU $6
+F# EQU $7
+G_ EQU $8
+G# EQU $9
+A_ EQU $A
+A# EQU $B
+B_ EQU $C
; instruments
bass EQU $1
diff --git a/main.asm b/main.asm
index bbfb2be..ada4235 100755
--- a/main.asm
+++ b/main.asm
@@ -14,7 +14,7 @@ SECTION "bank3",ROMX,BANK[$3]
INCLUDE "engine/bank3.asm"
SECTION "bank4",ROMX,BANK[$4]
-INCLUDE "engine/overworldmap.asm"
+INCLUDE "engine/bank4.asm"
SECTION "bank5",ROMX,BANK[$5]
INCBIN "baserom.gbc",$14000,$4000
@@ -88,7 +88,10 @@ SECTION "bank1B",ROMX,BANK[$1B]
emptybank
SECTION "bank1C",ROMX,BANK[$1C]
-INCBIN "baserom.gbc",$70000,$4000
+Func_70000: ; 70000 (1c:4000)
+INCBIN "baserom.gbc",$70000,$70018 - $70000
+Func_70018: ; 70018 (1c:4018)
+INCBIN "baserom.gbc",$70018,$74000 - $70018
SECTION "bank1D",ROMX,BANK[$1D]
INCBIN "baserom.gbc",$74000,$76668 - $74000
@@ -189,11 +192,9 @@ SECTION "bank3C",ROMX,BANK[$3C]
emptybank
SECTION "bank3D",ROMX,BANK[$3D]
-
INCLUDE "engine/music1.asm"
SECTION "bank3E",ROMX,BANK[$3E]
-
INCLUDE "engine/music2.asm"
SECTION "bank3F",ROMX,BANK[$3F]