summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.asm919
-rw-r--r--predef/cgb.asm922
2 files changed, 923 insertions, 918 deletions
diff --git a/main.asm b/main.asm
index 2cd8c3dc7..565f8ee6c 100644
--- a/main.asm
+++ b/main.asm
@@ -12323,925 +12323,8 @@ Function8cb4: ; 8cb4
INCBIN "baserom.gbc", $8d05, $8d55 - $8d05
-CheckCGB: ; 8d55
- ld a, [hCGB]
- and a
- ret
-; 8d59
-
-Function8d59: ; 8d59
- ld a, b
- cp $ff
- jr nz, .asm_8d61
- ld a, [SGBPredef]
-
-.asm_8d61
- cp $fc
- jp z, Function96f3
- call Function9673
- ld l, a
- ld h, 0
- add hl, hl
- ld de, Table8d7a
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, Function8d79
- push de
- jp [hl]
-; 8d79
-
-Function8d79: ; 8d79
- ret
-; 8d7a
-
-Table8d7a: ; 8d7a
- dw Function8db8
- dw Function8ddb
- dw Function8eb9
- dw Function8edb
- dw Function8f70
- dw Function906e
- dw Function90f8
- dw Function9122
- dw Function91ad
- dw Function91c8
- dw Function91d1
- dw Function91e4
- dw Function9228
- dw Function9251
- dw Function9373
- dw Function93a6
- dw Function93ba
- dw Function9195
- dw Function9499
- dw Function94d0
- dw Function93d3
- dw Function9289
- dw Function903e
- dw Function8fca
- dw Function925e
- dw Function94fa
- dw Function9529
- dw Function9555
- dw Function9578
- dw Function9591
- dw Function9542
-; 8db8
-
-Function8db8: ; 8db8
- ld hl, $5c67
- ld de, $d000
- ld c, $4
- call $5615
- ld hl, $5c67
- ld de, $d020
- ld c, $4
- call $5615
- ld hl, $5c67
- ld de, MartPointer
- ld c, $2
- call $5615
- jr Function8e23
-
-Function8ddb: ; 8ddb
- ld de, $d000
- call Function9729
- push hl
- call Function9643
- call Function973a
- push hl
- call Function9643
- ld a, [EnemyHPPal]
- ld l, a
- ld h, $0
- add hl, hl
- add hl, hl
- ld bc, $68be
- add hl, bc
- call Function9643
- ld a, [PlayerHPPal]
- ld l, a
- ld h, $0
- add hl, hl
- add hl, hl
- ld bc, $68be
- add hl, bc
- call Function9643
- ld hl, $68ca
- call Function9643
- ld de, MartPointer
- pop hl
- call Function9643
- pop hl
- call Function9643
- ld a, $1
- ld [SGBPredef], a
- call Function96a4
-
-Function8e23: ; 8e23
- call Function8e85
- ld hl, AttrMap
- ld bc, $0168
- ld a, $2
- call ByteFill
- ld hl, $ce29
- ld bc, $080a
- ld a, $0
- call Function9663
- ld hl, $cde3
- ld bc, $070a
- ld a, $1
- call Function9663
- ld hl, AttrMap
- ld bc, $040a
- ld a, $2
- call Function9663
- ld hl, $ce6f
- ld bc, $050a
- ld a, $3
- call Function9663
- ld hl, $cebf
- ld bc, $0109
- ld a, $4
- call Function9663
- ld hl, $cec9
- ld bc, $0078
- ld a, $7
- call ByteFill
- ld hl, $579c
- ld de, $d050
- ld bc, $0030
- ld a, $5
- call FarCopyWRAM
- call Function96b3
- ret
-; 8e85
-
-
-Function8e85: ; 8e85
- ld a, $40
- ld hl, $4dc0
- rst FarCall
- ld hl, $7311
- jr nc, .asm_8e93
- ld hl, $7309
-
-.asm_8e93
- ld de, $d038
- ld bc, $0008
- ld a, $5
- call FarCopyWRAM
- ret
-; 8e9f
-
-Function8e9f: ; 8e9f
- callba Function100dc0
- ld hl, $7311
- jr nc, .asm_8ead
- ld hl, $7309
-
-.asm_8ead
- ld de, $d000
- ld bc, $0008
- ld a, $5
- call FarCopyWRAM
- ret
-; 8eb9
-
-Function8eb9: ; 8eb9
- ld a, [PlayerGender]
- bit 0, a
- jr z, .asm_8ec5
- ld hl, $7759
- jr .asm_8ec8
-
-.asm_8ec5
- ld hl, $7729
-
-.asm_8ec8
- ld de, $d000
- ld bc, $0030
- ld a, $5
- call FarCopyWRAM
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 8edb
+INCLUDE "predef/cgb.asm"
-Function8edb: ; 8edb
- ld de, $d000
- ld a, [$cda1]
- ld l, a
- ld h, $0
- add hl, hl
- add hl, hl
- ld bc, $68be
- add hl, bc
- call Function9643
- ld a, [CurPartySpecies]
- ld bc, TempMonDVs
- call Function974b
- call Function9643
- ld hl, $68ca
- call Function9643
- ld hl, $4f52
- ld de, $d018
- ld bc, $0018
- ld a, $5
- call FarCopyWRAM
- call Function9699
- ld hl, AttrMap
- ld bc, $0814
- ld a, $1
- call Function9663
- ld hl, $cf23
- ld bc, $000a
- ld a, $2
- call ByteFill
- ld hl, $ce4a
- ld bc, $0202
- ld a, $3
- call Function9663
- ld hl, $ce4c
- ld bc, $0202
- ld a, $4
- call Function9663
- ld hl, $ce4e
- ld bc, $0202
- ld a, $5
- call Function9663
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 8f52
-
-INCBIN "baserom.gbc", $8f52, $8f70 - $8f52
-
-Function8f70: ; 8f70
- ld de, Unkn1Pals
- ld a, $1d
- call Function9625
- call Function9630
- ld a, [CurPartySpecies]
- cp $ff
- jr nz, .asm_8f8a
- ld hl, $4fba
- call Function9630
- jr .asm_8f90
-
-.asm_8f8a
- call Function9775
- call Function9643
-
-.asm_8f90
- call Function9699
- ld hl, $cdee
- ld bc, $0707
- ld a, $1
- call Function9663
- call Function971a
- ld hl, $4fc2
- ld de, $d078
- ld bc, $0008
- ld a, $5
- call FarCopyWRAM
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 8fba
-
-INCBIN "baserom.gbc", $8fba, $8fca - $8fba
-
-Function8fca: ; 8fca
- ld de, Unkn1Pals
- ld a, $1d
- call Function9625
- call Function9630
- ld a, [CurPartySpecies]
- cp $ff
- jr nz, .asm_8fe4
- ld hl, $5036
- call Function9630
- jr .asm_8fed
-
-.asm_8fe4
- ld bc, TempMonDVs
- call Function974b
- call Function9643
-
-.asm_8fed
- call Function9699
- ld hl, $ce2a
- ld bc, $0707
- ld a, $1
- call Function9663
- call Function971a
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 9009
-
-INCBIN "baserom.gbc", $9009, $903e - $9009
-
-Function903e: ; 903e
- ld de, Unkn1Pals
- ld a, $1d
- call Function9625
- call Function9630
- ld a, [CurPartySpecies]
- call Function9775
- call Function9643
- call Function9699
- ld hl, $ce44
- ld bc, $0707
- ld a, $1
- call Function9663
- call Function971a
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 906e
-
-Function906e: ; 906e
- ld hl, $77a9
- ld de, Unkn1Pals
- ld bc, $0080
- ld a, $5
- call FarCopyWRAM
- call Function9699
- ld hl, $ce01
- ld bc, $0a03
- ld a, $2
- call Function9663
- ld hl, $ce12
- ld bc, $0a03
- ld a, $2
- call Function9663
- ld hl, $ce29
- ld bc, $0603
- ld a, $3
- call Function9663
- ld hl, $ce3a
- ld bc, $0603
- ld a, $3
- call Function9663
- ld hl, $ce51
- ld bc, $0203
- ld a, $4
- call Function9663
- ld hl, $ce62
- ld bc, $0203
- ld a, $4
- call Function9663
- ld hl, $ce05
- ld bc, $020c
- ld a, $1
- call Function9663
- ld hl, $ce04
- ld bc, $0a01
- ld a, $1
- call Function9663
- ld hl, $ce11
- ld bc, $0a01
- ld a, $1
- call Function9663
- ld hl, $cec9
- ld bc, $0078
- ld a, $7
- call ByteFill
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 90f8
-
-Function90f8: ; 90f8
- ld hl, $5ca7
- call Function9610
- call Function9699
- ld de, Unkn2Pals
- ld a, $3c
- call Function9625
- call Function9630
- ld hl, $ce51
- ld bc, $0c14
- ld a, $1
- call Function9663
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 9122
-
-Function9122: ; 9122
- ld b, $0
- ld hl, $512d
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 912d
-
-INCBIN "baserom.gbc", $912d, $9195 - $912d
-
-Function9195: ; 9195
- ld hl, $7789
- ld de, Unkn1Pals
- ld bc, $0028
- ld a, $5
- call FarCopyWRAM
- call Function96a4
- call Function9699
- call Function96b3
- ret
-; 91ad
-
-Function91ad: ; 91ad
- ld hl, $7641
- ld de, Unkn1Pals
- ld bc, $0080
- ld a, $5
- call FarCopyWRAM
- ld hl, $5cb7
- call Function9610
- call Function9699
- call Function96b3
- ret
-; 91c8
-
-Function91c8: ; 91c8
- call Functionb1de
- ld a, $9
- ld [SGBPredef], a
- ret
-; 91d1
-
-Function91d1: ; 91d1
- ld hl, $5c57
- call Function9610
- call Function8e9f
- call Function8e85
- call Function971a
- call Function96b3
- ret
-; 91e4
-
-Function91e4: ; 91e4
- ld de, Unkn1Pals
- ld a, c
- and a
- jr z, .asm_91f5
- ld a, $1a
- call Function9625
- call Function9630
- jr .asm_921a
-
-.asm_91f5
- ld hl, PartyMon1DVs
- ld bc, $0030
- ld a, [CurPartyMon]
- call AddNTimes
- ld c, l
- ld b, h
- ld a, [PlayerHPPal]
- call Function974b
- call Function9643
- ld hl, $579c
- ld de, $d050
- ld bc, $0030
- ld a, $5
- call FarCopyWRAM
-
-.asm_921a
- call Function9699
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 9228
-
-Function9228: ; 9228
- ld hl, $76f1
- ld de, Unkn1Pals
- ld bc, $0028
- ld a, $5
- call FarCopyWRAM
- ld hl, $7719
- ld de, Unkn2Pals
- ld bc, $0010
- ld a, $5
- call FarCopyWRAM
- ld a, $8
- ld [SGBPredef], a
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 9251
-
-Function9251: ; 9251
- ld hl, $5cb7
- call Function9610
- call Function9699
- call Function96b3
- ret
-; 925e
-
-Function925e: ; 925e
- ld hl, $5bc7
- call Function9610
- ld de, Unkn2Pals
- ld a, $4c
- call Function9625
- call Function9630
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, Unkn2Pals
- ld a, $1f
- ld [hli], a
- ld a, $0
- ld [hl], a
- pop af
- ld [rSVBK], a
- call Function9699
- call Function96b3
- ret
-; 9289
-
-Function9289: ; 9289
- ld de, Unkn1Pals
- xor a
- call Function976b
- call Function9643
- ld a, $1
- call Function976b
- call Function9643
- ld a, $3
- call Function976b
- call Function9643
- ld a, $2
- call Function976b
- call Function9643
- ld a, $4
- call Function976b
- call Function9643
- ld a, $7
- call Function976b
- call Function9643
- ld a, $6
- call Function976b
- call Function9643
- ld a, $5
- call Function976b
- call Function9643
- ld a, $24
- call Function9625
- call Function9630
- ld hl, AttrMap
- ld bc, $0168
- ld a, [PlayerGender]
- and a
- ld a, $1
- jr z, .asm_92e3
- ld a, $0
-
-.asm_92e3
- call ByteFill
- ld hl, $cdfb
- ld bc, $0705
- ld a, [PlayerGender]
- and a
- ld a, $0
- jr z, .asm_92f6
- ld a, $1
-
-.asm_92f6
- call Function9663
- ld hl, $cdff
- ld [hl], $1
- ld hl, $ceb7
- ld bc, $0204
- ld a, $1
- call Function9663
- ld hl, $cebb
- ld bc, $0204
- ld a, $2
- call Function9663
- ld hl, $cebf
- ld bc, $0204
- ld a, $3
- call Function9663
- ld hl, $cec3
- ld bc, $0204
- ld a, $4
- call Function9663
- ld hl, $cef3
- ld bc, $0204
- ld a, $5
- call Function9663
- ld hl, $cef7
- ld bc, $0204
- ld a, $6
- call Function9663
- ld hl, $cefb
- ld bc, $0204
- ld a, $7
- call Function9663
- ld a, [PlayerGender]
- and a
- push af
- jr z, .asm_935d
- ld hl, $ceff
- ld bc, $0204
- ld a, $1
- call Function9663
-
-.asm_935d
- pop af
- ld c, $0
- jr nz, .asm_9363
- inc c
-
-.asm_9363
- ld a, c
- ld hl, $cdff
- ld [hl], a
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 9373
-
-Function9373: ; 9373
- ld de, Unkn1Pals
- ld a, $10
- call Function9625
- call Function9630
- ld a, [PlayerHPPal]
- ld l, a
- ld h, $0
- add hl, hl
- add hl, hl
- ld bc, $68be
- add hl, bc
- call Function9643
- call Function9699
- ld hl, $cdf8
- ld bc, $0209
- ld a, $1
- call Function9663
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 93a6
-
-Function93a6: ; 93a6
- ld hl, $5c47
- call Function9610
- call Function9699
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 93ba
-
-Function93ba: ; 93ba
- ld de, Unkn1Pals
- ld a, $1d
- call Function9625
- call Function9630
- call Function9699
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 93d3
-
-Function93d3: ; 93d3
- ld a, [BattleType]
- cp $3
- jr z, .asm_93e6
- ld a, [PlayerGender]
- bit 0, a
- jr z, .asm_93e6
- ld hl, $5469
- jr .asm_93e9
-
-.asm_93e6
- ld hl, $5439
-
-.asm_93e9
- ld de, Unkn1Pals
- ld bc, $0040
- ld a, $5
- call FarCopyWRAM
- call Function9699
- ld hl, AttrMap
- ld bc, $010a
- ld a, $1
- call Function9663
- ld hl, $cde3
- ld bc, $010a
- ld a, $2
- call Function9663
- ld hl, $ce08
- ld bc, $0901
- ld a, $3
- call Function9663
- ld hl, $ce65
- ld bc, $0305
- ld a, $4
- call Function9663
- ld hl, $ce15
- ld bc, $0305
- ld a, $5
- call Function9663
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 9439
-
-INCBIN "baserom.gbc", $9439, $9499 - $9439
-
-Function9499: ; 9499
- call Function91c8
- ld de, $0014
- ld hl, AttrMap
- ld a, [$cf82]
-.asm_94a5
- and a
- jr z, .asm_94ac
- dec a
- add hl, de
- jr .asm_94a5
-
-.asm_94ac
- ld a, [$cf83]
- ld e, a
- ld d, $0
- add hl, de
- ld a, [$cf82]
- ld b, a
- ld a, [$cf84]
- inc a
- sub b
- ld b, a
- ld a, [$cf83]
- ld c, a
- ld a, [$cf85]
- sub c
- inc a
- ld c, a
- ld a, $0
- call Function9663
- call Function96b3
- ret
-; 94d0
-
-Function94d0: ; 94d0
- ld hl, $5ba7
- call Function9610
- call Function9699
- ld hl, $ce29
- ld bc, $0a14
- ld a, $2
- call Function9663
- ld hl, $ce51
- ld bc, $0614
- ld a, $1
- call Function9663
- call Function96b3
- call Function96a4
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; 94fa
-
-Function94fa: ; 94fa
- ld de, Unkn1Pals
- ld a, $4e
- call Function9625
- call Function9630
- ld hl, $5521
- ld de, Unkn2Pals
- call Function9630
- ld hl, $5521
- ld de, $d048
- call Function9630
- call Function9699
- call Function96b3
- call Function96a4
- ret
-; 9521
-
-INCBIN "baserom.gbc", $9521, $9529 - $9521
-
-Function9529: ; 9529
- ld de, Unkn1Pals
- ld a, [CurPartySpecies]
- ld bc, TempMonDVs
- call Function974b
- call Function9643
- call Function9699
- call Function96b3
- call Function96a4
- ret
-; 9542
-
-Function9542: ; 9542
- ld de, Unkn1Pals
- ld a, [CurPartySpecies]
- call Function9775
- call Function9643
- call Function9699
- call Function96b3
- ret
-; 9555
-
-Function9555: ; 9555
- ld hl, $5cc7
- call Function9610
- ld hl, $7681
- ld de, Unkn2Pals
- ld bc, $0008
- ld a, $5
- call FarCopyWRAM
- ld de, $d078
- ld a, $1c
- call Function9625
- call Function9630
- call Function9699
- ret
-; 9578
-
-Function9578: ; 9578
- ld de, Unkn1Pals
- ld a, [CurPartySpecies]
- ld bc, TempMonDVs
- call Function9764
- call Function9643
- call Function9699
- call Function96b3
- call Function96a4
- ret
-; 9591
-
-Function9591: ; 9591
- ld hl, $55e0
- ld de, Unkn1Pals
- ld bc, $0010
- ld a, $5
- call FarCopyWRAM
- call Function96a4
- call Function9699
- ld hl, $ce68
- ld bc, $080e
- ld a, $1
- call Function9663
- ld hl, $ce3e
- ld bc, $0112
- ld a, $1
- call Function9663
- ld hl, $cf1a
- ld bc, $0112
- ld a, $1
- call Function9663
- ld hl, AttrMap
- ld bc, $1102
- ld a, $1
- call Function9663
- ld hl, $ce4f
- ld bc, $0c01
- ld a, $1
- call Function9663
- call Function96b3
- ret
-; 95e0
INCBIN "baserom.gbc", $95e0, $9610 - $95e0
diff --git a/predef/cgb.asm b/predef/cgb.asm
new file mode 100644
index 000000000..aadc66a3d
--- /dev/null
+++ b/predef/cgb.asm
@@ -0,0 +1,922 @@
+; Replaces the functionality of sgb.asm to work with CGB hardware.
+
+CheckCGB: ; 8d55
+ ld a, [hCGB]
+ and a
+ ret
+; 8d59
+
+Function8d59: ; 8d59
+ ld a, b
+ cp $ff
+ jr nz, .asm_8d61
+ ld a, [SGBPredef]
+
+.asm_8d61
+ cp $fc
+ jp z, Function96f3
+ call Function9673
+ ld l, a
+ ld h, 0
+ add hl, hl
+ ld de, Table8d7a
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, Function8d79
+ push de
+ jp [hl]
+; 8d79
+
+Function8d79: ; 8d79
+ ret
+; 8d7a
+
+Table8d7a: ; 8d7a
+ dw Function8db8
+ dw Function8ddb
+ dw Function8eb9
+ dw Function8edb
+ dw Function8f70
+ dw Function906e
+ dw Function90f8
+ dw Function9122
+ dw Function91ad
+ dw Function91c8
+ dw Function91d1
+ dw Function91e4
+ dw Function9228
+ dw Function9251
+ dw Function9373
+ dw Function93a6
+ dw Function93ba
+ dw Function9195
+ dw Function9499
+ dw Function94d0
+ dw Function93d3
+ dw Function9289
+ dw Function903e
+ dw Function8fca
+ dw Function925e
+ dw Function94fa
+ dw Function9529
+ dw Function9555
+ dw Function9578
+ dw Function9591
+ dw Function9542
+; 8db8
+
+Function8db8: ; 8db8
+ ld hl, $5c67
+ ld de, $d000
+ ld c, $4
+ call $5615
+ ld hl, $5c67
+ ld de, $d020
+ ld c, $4
+ call $5615
+ ld hl, $5c67
+ ld de, MartPointer
+ ld c, $2
+ call $5615
+ jr Function8e23
+
+Function8ddb: ; 8ddb
+ ld de, $d000
+ call Function9729
+ push hl
+ call Function9643
+ call Function973a
+ push hl
+ call Function9643
+ ld a, [EnemyHPPal]
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld bc, $68be
+ add hl, bc
+ call Function9643
+ ld a, [PlayerHPPal]
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld bc, $68be
+ add hl, bc
+ call Function9643
+ ld hl, $68ca
+ call Function9643
+ ld de, MartPointer
+ pop hl
+ call Function9643
+ pop hl
+ call Function9643
+ ld a, $1
+ ld [SGBPredef], a
+ call Function96a4
+
+Function8e23: ; 8e23
+ call Function8e85
+ ld hl, AttrMap
+ ld bc, $0168
+ ld a, $2
+ call ByteFill
+ ld hl, $ce29
+ ld bc, $080a
+ ld a, $0
+ call Function9663
+ ld hl, $cde3
+ ld bc, $070a
+ ld a, $1
+ call Function9663
+ ld hl, AttrMap
+ ld bc, $040a
+ ld a, $2
+ call Function9663
+ ld hl, $ce6f
+ ld bc, $050a
+ ld a, $3
+ call Function9663
+ ld hl, $cebf
+ ld bc, $0109
+ ld a, $4
+ call Function9663
+ ld hl, $cec9
+ ld bc, $0078
+ ld a, $7
+ call ByteFill
+ ld hl, $579c
+ ld de, $d050
+ ld bc, $0030
+ ld a, $5
+ call FarCopyWRAM
+ call Function96b3
+ ret
+; 8e85
+
+
+Function8e85: ; 8e85
+ ld a, $40
+ ld hl, $4dc0
+ rst FarCall
+ ld hl, $7311
+ jr nc, .asm_8e93
+ ld hl, $7309
+
+.asm_8e93
+ ld de, $d038
+ ld bc, $0008
+ ld a, $5
+ call FarCopyWRAM
+ ret
+; 8e9f
+
+Function8e9f: ; 8e9f
+ callba Function100dc0
+ ld hl, $7311
+ jr nc, .asm_8ead
+ ld hl, $7309
+
+.asm_8ead
+ ld de, $d000
+ ld bc, $0008
+ ld a, $5
+ call FarCopyWRAM
+ ret
+; 8eb9
+
+Function8eb9: ; 8eb9
+ ld a, [PlayerGender]
+ bit 0, a
+ jr z, .asm_8ec5
+ ld hl, $7759
+ jr .asm_8ec8
+
+.asm_8ec5
+ ld hl, $7729
+
+.asm_8ec8
+ ld de, $d000
+ ld bc, $0030
+ ld a, $5
+ call FarCopyWRAM
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 8edb
+
+Function8edb: ; 8edb
+ ld de, $d000
+ ld a, [$cda1]
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld bc, $68be
+ add hl, bc
+ call Function9643
+ ld a, [CurPartySpecies]
+ ld bc, TempMonDVs
+ call Function974b
+ call Function9643
+ ld hl, $68ca
+ call Function9643
+ ld hl, $4f52
+ ld de, $d018
+ ld bc, $0018
+ ld a, $5
+ call FarCopyWRAM
+ call Function9699
+ ld hl, AttrMap
+ ld bc, $0814
+ ld a, $1
+ call Function9663
+ ld hl, $cf23
+ ld bc, $000a
+ ld a, $2
+ call ByteFill
+ ld hl, $ce4a
+ ld bc, $0202
+ ld a, $3
+ call Function9663
+ ld hl, $ce4c
+ ld bc, $0202
+ ld a, $4
+ call Function9663
+ ld hl, $ce4e
+ ld bc, $0202
+ ld a, $5
+ call Function9663
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 8f52
+
+INCBIN "baserom.gbc", $8f52, $8f70 - $8f52
+
+Function8f70: ; 8f70
+ ld de, Unkn1Pals
+ ld a, $1d
+ call Function9625
+ call Function9630
+ ld a, [CurPartySpecies]
+ cp $ff
+ jr nz, .asm_8f8a
+ ld hl, $4fba
+ call Function9630
+ jr .asm_8f90
+
+.asm_8f8a
+ call Function9775
+ call Function9643
+
+.asm_8f90
+ call Function9699
+ ld hl, $cdee
+ ld bc, $0707
+ ld a, $1
+ call Function9663
+ call Function971a
+ ld hl, $4fc2
+ ld de, $d078
+ ld bc, $0008
+ ld a, $5
+ call FarCopyWRAM
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 8fba
+
+INCBIN "baserom.gbc", $8fba, $8fca - $8fba
+
+Function8fca: ; 8fca
+ ld de, Unkn1Pals
+ ld a, $1d
+ call Function9625
+ call Function9630
+ ld a, [CurPartySpecies]
+ cp $ff
+ jr nz, .asm_8fe4
+ ld hl, $5036
+ call Function9630
+ jr .asm_8fed
+
+.asm_8fe4
+ ld bc, TempMonDVs
+ call Function974b
+ call Function9643
+
+.asm_8fed
+ call Function9699
+ ld hl, $ce2a
+ ld bc, $0707
+ ld a, $1
+ call Function9663
+ call Function971a
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 9009
+
+INCBIN "baserom.gbc", $9009, $903e - $9009
+
+Function903e: ; 903e
+ ld de, Unkn1Pals
+ ld a, $1d
+ call Function9625
+ call Function9630
+ ld a, [CurPartySpecies]
+ call Function9775
+ call Function9643
+ call Function9699
+ ld hl, $ce44
+ ld bc, $0707
+ ld a, $1
+ call Function9663
+ call Function971a
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 906e
+
+Function906e: ; 906e
+ ld hl, $77a9
+ ld de, Unkn1Pals
+ ld bc, $0080
+ ld a, $5
+ call FarCopyWRAM
+ call Function9699
+ ld hl, $ce01
+ ld bc, $0a03
+ ld a, $2
+ call Function9663
+ ld hl, $ce12
+ ld bc, $0a03
+ ld a, $2
+ call Function9663
+ ld hl, $ce29
+ ld bc, $0603
+ ld a, $3
+ call Function9663
+ ld hl, $ce3a
+ ld bc, $0603
+ ld a, $3
+ call Function9663
+ ld hl, $ce51
+ ld bc, $0203
+ ld a, $4
+ call Function9663
+ ld hl, $ce62
+ ld bc, $0203
+ ld a, $4
+ call Function9663
+ ld hl, $ce05
+ ld bc, $020c
+ ld a, $1
+ call Function9663
+ ld hl, $ce04
+ ld bc, $0a01
+ ld a, $1
+ call Function9663
+ ld hl, $ce11
+ ld bc, $0a01
+ ld a, $1
+ call Function9663
+ ld hl, $cec9
+ ld bc, $0078
+ ld a, $7
+ call ByteFill
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 90f8
+
+Function90f8: ; 90f8
+ ld hl, $5ca7
+ call Function9610
+ call Function9699
+ ld de, Unkn2Pals
+ ld a, $3c
+ call Function9625
+ call Function9630
+ ld hl, $ce51
+ ld bc, $0c14
+ ld a, $1
+ call Function9663
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 9122
+
+Function9122: ; 9122
+ ld b, $0
+ ld hl, $512d
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; 912d
+
+INCBIN "baserom.gbc", $912d, $9195 - $912d
+
+Function9195: ; 9195
+ ld hl, $7789
+ ld de, Unkn1Pals
+ ld bc, $0028
+ ld a, $5
+ call FarCopyWRAM
+ call Function96a4
+ call Function9699
+ call Function96b3
+ ret
+; 91ad
+
+Function91ad: ; 91ad
+ ld hl, $7641
+ ld de, Unkn1Pals
+ ld bc, $0080
+ ld a, $5
+ call FarCopyWRAM
+ ld hl, $5cb7
+ call Function9610
+ call Function9699
+ call Function96b3
+ ret
+; 91c8
+
+Function91c8: ; 91c8
+ call Functionb1de
+ ld a, $9
+ ld [SGBPredef], a
+ ret
+; 91d1
+
+Function91d1: ; 91d1
+ ld hl, $5c57
+ call Function9610
+ call Function8e9f
+ call Function8e85
+ call Function971a
+ call Function96b3
+ ret
+; 91e4
+
+Function91e4: ; 91e4
+ ld de, Unkn1Pals
+ ld a, c
+ and a
+ jr z, .asm_91f5
+ ld a, $1a
+ call Function9625
+ call Function9630
+ jr .asm_921a
+
+.asm_91f5
+ ld hl, PartyMon1DVs
+ ld bc, $0030
+ ld a, [CurPartyMon]
+ call AddNTimes
+ ld c, l
+ ld b, h
+ ld a, [PlayerHPPal]
+ call Function974b
+ call Function9643
+ ld hl, $579c
+ ld de, $d050
+ ld bc, $0030
+ ld a, $5
+ call FarCopyWRAM
+
+.asm_921a
+ call Function9699
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 9228
+
+Function9228: ; 9228
+ ld hl, $76f1
+ ld de, Unkn1Pals
+ ld bc, $0028
+ ld a, $5
+ call FarCopyWRAM
+ ld hl, $7719
+ ld de, Unkn2Pals
+ ld bc, $0010
+ ld a, $5
+ call FarCopyWRAM
+ ld a, $8
+ ld [SGBPredef], a
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 9251
+
+Function9251: ; 9251
+ ld hl, $5cb7
+ call Function9610
+ call Function9699
+ call Function96b3
+ ret
+; 925e
+
+Function925e: ; 925e
+ ld hl, $5bc7
+ call Function9610
+ ld de, Unkn2Pals
+ ld a, $4c
+ call Function9625
+ call Function9630
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, Unkn2Pals
+ ld a, $1f
+ ld [hli], a
+ ld a, $0
+ ld [hl], a
+ pop af
+ ld [rSVBK], a
+ call Function9699
+ call Function96b3
+ ret
+; 9289
+
+Function9289: ; 9289
+ ld de, Unkn1Pals
+ xor a
+ call Function976b
+ call Function9643
+ ld a, $1
+ call Function976b
+ call Function9643
+ ld a, $3
+ call Function976b
+ call Function9643
+ ld a, $2
+ call Function976b
+ call Function9643
+ ld a, $4
+ call Function976b
+ call Function9643
+ ld a, $7
+ call Function976b
+ call Function9643
+ ld a, $6
+ call Function976b
+ call Function9643
+ ld a, $5
+ call Function976b
+ call Function9643
+ ld a, $24
+ call Function9625
+ call Function9630
+ ld hl, AttrMap
+ ld bc, $0168
+ ld a, [PlayerGender]
+ and a
+ ld a, $1
+ jr z, .asm_92e3
+ ld a, $0
+
+.asm_92e3
+ call ByteFill
+ ld hl, $cdfb
+ ld bc, $0705
+ ld a, [PlayerGender]
+ and a
+ ld a, $0
+ jr z, .asm_92f6
+ ld a, $1
+
+.asm_92f6
+ call Function9663
+ ld hl, $cdff
+ ld [hl], $1
+ ld hl, $ceb7
+ ld bc, $0204
+ ld a, $1
+ call Function9663
+ ld hl, $cebb
+ ld bc, $0204
+ ld a, $2
+ call Function9663
+ ld hl, $cebf
+ ld bc, $0204
+ ld a, $3
+ call Function9663
+ ld hl, $cec3
+ ld bc, $0204
+ ld a, $4
+ call Function9663
+ ld hl, $cef3
+ ld bc, $0204
+ ld a, $5
+ call Function9663
+ ld hl, $cef7
+ ld bc, $0204
+ ld a, $6
+ call Function9663
+ ld hl, $cefb
+ ld bc, $0204
+ ld a, $7
+ call Function9663
+ ld a, [PlayerGender]
+ and a
+ push af
+ jr z, .asm_935d
+ ld hl, $ceff
+ ld bc, $0204
+ ld a, $1
+ call Function9663
+
+.asm_935d
+ pop af
+ ld c, $0
+ jr nz, .asm_9363
+ inc c
+
+.asm_9363
+ ld a, c
+ ld hl, $cdff
+ ld [hl], a
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 9373
+
+Function9373: ; 9373
+ ld de, Unkn1Pals
+ ld a, $10
+ call Function9625
+ call Function9630
+ ld a, [PlayerHPPal]
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld bc, $68be
+ add hl, bc
+ call Function9643
+ call Function9699
+ ld hl, $cdf8
+ ld bc, $0209
+ ld a, $1
+ call Function9663
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 93a6
+
+Function93a6: ; 93a6
+ ld hl, $5c47
+ call Function9610
+ call Function9699
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 93ba
+
+Function93ba: ; 93ba
+ ld de, Unkn1Pals
+ ld a, $1d
+ call Function9625
+ call Function9630
+ call Function9699
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 93d3
+
+Function93d3: ; 93d3
+ ld a, [BattleType]
+ cp $3
+ jr z, .asm_93e6
+ ld a, [PlayerGender]
+ bit 0, a
+ jr z, .asm_93e6
+ ld hl, $5469
+ jr .asm_93e9
+
+.asm_93e6
+ ld hl, $5439
+
+.asm_93e9
+ ld de, Unkn1Pals
+ ld bc, $0040
+ ld a, $5
+ call FarCopyWRAM
+ call Function9699
+ ld hl, AttrMap
+ ld bc, $010a
+ ld a, $1
+ call Function9663
+ ld hl, $cde3
+ ld bc, $010a
+ ld a, $2
+ call Function9663
+ ld hl, $ce08
+ ld bc, $0901
+ ld a, $3
+ call Function9663
+ ld hl, $ce65
+ ld bc, $0305
+ ld a, $4
+ call Function9663
+ ld hl, $ce15
+ ld bc, $0305
+ ld a, $5
+ call Function9663
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 9439
+
+INCBIN "baserom.gbc", $9439, $9499 - $9439
+
+Function9499: ; 9499
+ call Function91c8
+ ld de, $0014
+ ld hl, AttrMap
+ ld a, [$cf82]
+.asm_94a5
+ and a
+ jr z, .asm_94ac
+ dec a
+ add hl, de
+ jr .asm_94a5
+
+.asm_94ac
+ ld a, [$cf83]
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld a, [$cf82]
+ ld b, a
+ ld a, [$cf84]
+ inc a
+ sub b
+ ld b, a
+ ld a, [$cf83]
+ ld c, a
+ ld a, [$cf85]
+ sub c
+ inc a
+ ld c, a
+ ld a, $0
+ call Function9663
+ call Function96b3
+ ret
+; 94d0
+
+Function94d0: ; 94d0
+ ld hl, $5ba7
+ call Function9610
+ call Function9699
+ ld hl, $ce29
+ ld bc, $0a14
+ ld a, $2
+ call Function9663
+ ld hl, $ce51
+ ld bc, $0614
+ ld a, $1
+ call Function9663
+ call Function96b3
+ call Function96a4
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; 94fa
+
+Function94fa: ; 94fa
+ ld de, Unkn1Pals
+ ld a, $4e
+ call Function9625
+ call Function9630
+ ld hl, $5521
+ ld de, Unkn2Pals
+ call Function9630
+ ld hl, $5521
+ ld de, $d048
+ call Function9630
+ call Function9699
+ call Function96b3
+ call Function96a4
+ ret
+; 9521
+
+INCBIN "baserom.gbc", $9521, $9529 - $9521
+
+Function9529: ; 9529
+ ld de, Unkn1Pals
+ ld a, [CurPartySpecies]
+ ld bc, TempMonDVs
+ call Function974b
+ call Function9643
+ call Function9699
+ call Function96b3
+ call Function96a4
+ ret
+; 9542
+
+Function9542: ; 9542
+ ld de, Unkn1Pals
+ ld a, [CurPartySpecies]
+ call Function9775
+ call Function9643
+ call Function9699
+ call Function96b3
+ ret
+; 9555
+
+Function9555: ; 9555
+ ld hl, $5cc7
+ call Function9610
+ ld hl, $7681
+ ld de, Unkn2Pals
+ ld bc, $0008
+ ld a, $5
+ call FarCopyWRAM
+ ld de, $d078
+ ld a, $1c
+ call Function9625
+ call Function9630
+ call Function9699
+ ret
+; 9578
+
+Function9578: ; 9578
+ ld de, Unkn1Pals
+ ld a, [CurPartySpecies]
+ ld bc, TempMonDVs
+ call Function9764
+ call Function9643
+ call Function9699
+ call Function96b3
+ call Function96a4
+ ret
+; 9591
+
+Function9591: ; 9591
+ ld hl, $55e0
+ ld de, Unkn1Pals
+ ld bc, $0010
+ ld a, $5
+ call FarCopyWRAM
+ call Function96a4
+ call Function9699
+ ld hl, $ce68
+ ld bc, $080e
+ ld a, $1
+ call Function9663
+ ld hl, $ce3e
+ ld bc, $0112
+ ld a, $1
+ call Function9663
+ ld hl, $cf1a
+ ld bc, $0112
+ ld a, $1
+ call Function9663
+ ld hl, AttrMap
+ ld bc, $1102
+ ld a, $1
+ call Function9663
+ ld hl, $ce4f
+ ld bc, $0c01
+ ld a, $1
+ call Function9663
+ call Function96b3
+ ret
+; 95e0
+