shithub: pokecrystal

Download patch

ref: cc41f68c34cdd423300e468de245a570c345430e
parent: dab74d719e03c83ca6cbb03c9fde8368c9e39a40
author: yenatch <yenatch@gmail.com>
date: Mon Sep 9 11:33:03 EDT 2013

split sgb-to-cgb asm into predef/cgb.asm

--- a/main.asm
+++ b/main.asm
@@ -12323,925 +12323,8 @@
 INCBIN "baserom.gbc", $8d05, $8d55 - $8d05
 
 
-CheckCGB: ; 8d55
-	ld a, [hCGB]
-	and a
-	ret
-; 8d59
+INCLUDE "predef/cgb.asm"
 
-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
 
 INCBIN "baserom.gbc", $95e0, $9610 - $95e0
 
--- /dev/null
+++ b/predef/cgb.asm
@@ -1,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
+
--