summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.asm298
-rw-r--r--constants.asm2
-rw-r--r--extras/gbz80disasm.py2
3 files changed, 207 insertions, 95 deletions
diff --git a/common.asm b/common.asm
index f0d6ded7..b3418189 100644
--- a/common.asm
+++ b/common.asm
@@ -1901,7 +1901,27 @@ MewPicFront:
MewPicBack:
INCBIN "pic/monback/mewb.pic"
-INCBIN "baserom.gbc",$425B,$4588-$425B
+INCBIN "baserom.gbc",$425B,$4335-$425B
+
+IF _RED
+ ld de,$9600 ; where to put redgreenversion.2bpp in the VRAM
+ ld bc,$50 ; how big that file is
+ENDC
+IF _BLUE
+ ld de,$9610 ; where to put blueversion.2bpp in the VRAM
+ ld bc,$40 ; how big that file is
+ENDC
+
+INCBIN "baserom.gbc",$433B,$4398-$433B
+
+IF _RED
+ ld a,CHARMANDER ; which Pokemon to show first on the title screen
+ENDC
+IF _BLUE
+ ld a,SQUIRTLE ; which Pokemon to show first on the title screen
+ENDC
+
+INCBIN "baserom.gbc",$439A,$4588-$439A
TitleMons: ; 4588
; mons on the title screen are randomly chosen from here
@@ -1960,7 +1980,17 @@ IF _BLUE
db RAICHU
ENDC
-INCBIN "baserom.gbc",$4598,$472B-$4598
+INCBIN "baserom.gbc",$4598,$45A1-$4598
+
+; xxx Version tilemap on the title screen
+IF _RED
+ db $60,$61,$7F,$65,$66,$67,$68,$69,$50
+ENDC
+IF _BLUE
+ db $61,$62,$63,$64,$65,$66,$67,$68,$50
+ENDC
+
+INCBIN "baserom.gbc",$45AA,$472B-$45AA
ItemNames: ; 472B
db "MASTER BALL@"
@@ -2520,7 +2550,45 @@ Map0fFlyWarp:
Map15FlyWarp:
FLYWARP_DATA 10,20,11
-INCBIN "baserom.gbc",$64CA,$778D - $64CA
+INCBIN "baserom.gbc",$64CA,$69A7 - $64CA
+
+ld de,DefaultNamesRival
+
+INCBIN "baserom.gbc",$69AA,$69B3 - $69AA
+
+ld hl,DefaultNamesRivalList
+
+INCBIN "baserom.gbc",$69B6,$6AA8 - $69B6
+
+IF _RED
+DefaultNamesPlayer:
+ db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
+DefaultNamesRival:
+ db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
+ENDC
+IF _BLUE
+DefaultNamesPlayer:
+ db "NEW NAME",$4E,"BLUE",$4E,"GARY",$4E,"JOHN@"
+DefaultNamesRival:
+ db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@"
+ENDC
+
+INCBIN "baserom.gbc",$6AD6,$6AF2 - $6AD6
+
+IF _RED
+DefaultNamesPlayerList:
+ db "NEW NAME@RED@ASH@JACK@"
+DefaultNamesRivalList:
+ db "NEW NAME@BLUE@GARY@JOHN@@"
+ENDC
+IF _BLUE
+DefaultNamesPlayerList:
+ db "NEW NAME@BLUE@GARY@JOHN@"
+DefaultNamesRivalList:
+ db "NEW NAME@RED@ASH@JACK@@"
+ENDC
+
+INCBIN "baserom.gbc",$6B21,$778D - $6B21
FieldMoveNames: ; 778D
db "CUT@"
@@ -7286,84 +7354,84 @@ ItemUsePtrTable: ;$D5E1
dw ItemUseBall ;$5687 greatball
dw ItemUseBall ;$5687 pokeball
dw ItemUseTownMap ;$5968 TownMap
- dw $5977 ;ItemUseBicycle
- dw $59B4 ;ItemUseSurfBoard (UNUSED, glitchy!)
+ dw $5977 ;ItemUseBicycle
+ dw $59B4 ;ItemUseSurfBoard (UNUSED, glitchy!)
dw ItemUseBall ;$5687 Safariball
- dw $5A56
- dw $5A5B
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $5F52
- dw $5F67
- dw $6476
- dw $6476
- dw $6476
- dw $6476
- dw $6476
- dw $6476
- dw $5FAF
- dw $6003
- dw $6476
- dw $5A5B
- dw $5A5B
- dw $5A5B
- dw $5AB4
- dw $5AB4
- dw $5AB4
- dw $5AB4
- dw $5AB4
- dw $5AB4
- dw $6476
- dw $6476
- dw $6476
- dw $6476
- dw $6476
- dw $6013
- dw $5A5B
- dw $6022
- dw $6476
- dw $6476
- dw $60CD
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $60DC
- dw $60EB
- dw $60F0
- dw $60F5
+ dw ItemUsePokedex ;$DA56 pokedex
+ dw $5A5B ; MOON_STONE
+ dw $5ABB ; ANTIDOTE
+ dw $5ABB ; BURN_HEAL
+ dw $5ABB ; ICE_HEAL
+ dw $5ABB ; AWAKENING
+ dw $5ABB ; PARLYZ_HEAL
+ dw $5ABB ; FULL_RESTORE
+ dw $5ABB ; MAX_POTION
+ dw $5ABB ; HYPER_POTION
+ dw $5ABB ; SUPER_POTION
+ dw $5ABB ; POTION
+ dw $5F52 ; BOULDERBADGE
+ dw $5F67 ; CASCADEBADGE
+ dw $6476 ; THUNDERBADGE
+ dw $6476 ; RAINBOWBADGE
+ dw $6476 ; SOULBADGE
+ dw $6476 ; MARSHBADGE
+ dw $6476 ; VOLCANOBADGE
+ dw $6476 ; EARTHBADGE
+ dw $5FAF ; ESCAPE_ROPE
+ dw $6003 ; REPEL
+ dw $6476 ; OLD_AMBER
+ dw $5A5B ; FIRE_STONE
+ dw $5A5B ; THUNDER_STONE
+ dw $5A5B ; WATER_STONE
+ dw $5AB4 ; HP_UP
+ dw $5AB4 ; PROTEIN
+ dw $5AB4 ; IRON
+ dw $5AB4 ; CARBOS
+ dw $5AB4 ; CALCIUM
+ dw $5AB4 ; RARE_CANDY
+ dw $6476 ; DOME_FOSSIL
+ dw $6476 ; HELIX_FOSSIL
+ dw $6476 ; SECRET_KEY
dw $6476
- dw $5ABB
- dw $5ABB
- dw $5ABB
- dw $6476
- dw $6476
- dw $6104
- dw $6104
- dw $6104
- dw $6104
- dw $623A
- dw $62DE
- dw $62E1
- dw $6476
- dw $6140
- dw $6476
- dw $6476
- dw $624C
+ dw $6476 ; BIKE_VOUCHER
+ dw $6013 ; X_ACCURACY
+ dw $5A5B ; LEAF_STONE
+ dw $6022 ; CARD_KEY
+ dw $6476 ; NUGGET
+ dw $6476 ; ??? PP_UP
+ dw $60CD ; POKE_DOLL
+ dw $5ABB ; FULL_HEAL
+ dw $5ABB ; REVIVE
+ dw $5ABB ; MAX_REVIVE
+ dw $60DC ; GUARD_SPEC_
+ dw $60EB ; SUPER_REPL
+ dw $60F0 ; MAX_REPEL
+ dw $60F5 ; DIRE_HIT
+ dw $6476 ; COIN
+ dw $5ABB ; FRESH_WATER
+ dw $5ABB ; SODA_POP
+ dw $5ABB ; LEMONADE
+ dw $6476 ; S_S__TICKET
+ dw $6476 ; GOLD_TEETH
+ dw $6104 ; X_ATTACK
+ dw $6104 ; X_DEFEND
+ dw $6104 ; X_SPEED
+ dw $6104 ; X_SPECIAL
+ dw $623A ; COIN_CASE
+ dw $62DE ; OAKS_PARCEL
+ dw $62E1 ; ITEMFINDER
+ dw $6476 ; SILPH_SCOPE
+ dw $6140 ; POKE_FLUTE
+ dw $6476 ; LIFT_KEY
+ dw $6476 ; EXP__ALL
+ dw $624C ; OLD_ROD
dw GoodRodCode ;$6259
- dw $6283
- dw $6317
- dw $631E
- dw $631E
- dw $631E
- dw $631E
+ dw $6283 ; SUPER_ROD
+ dw $6317 ; PP_UP (see other?)
+ dw $631E ; ETHER
+ dw $631E ; MAX_ETHER
+ dw $631E ; ELIXER
+ dw $631E ; MAX_ELIXER
ItemUseBall: ;03:5687
ld a,[W_ISINBATTLE]
@@ -7762,9 +7830,16 @@ ItemUseTownMap: ;03:5968
and a
jp nz,ItemUseNotTime ;OAK: "this isn't the time..."
-INCBIN "baserom.gbc",$D96F,$E259 - $D96F
+INCBIN "baserom.gbc",$d96f,$da56 - $d96f
+
+ItemUsePokedex: ; 0xda56 5A56
+ ld a, $29
+ jp $3e6d
+; 0xda5b
-GoodRodCode: ; 6259
+INCBIN "baserom.gbc",$da5b,$e259 - $da5b
+
+GoodRodCode: ; 6259 0xe259
call $62B4
jp c,ItemUseNotTime
Next625F:
@@ -27276,23 +27351,47 @@ NoThanksText: ; 14:684F
PrizeMenuMon1Entries: ; 14:6859
db ABRA
db CLEFAIRY
- db NIDORINA
+ IF _RED
+ db NIDORINA
+ ENDC
+ IF _BLUE
+ db NIDORINO
+ ENDC
db "@"
PrizeMenuMon1Cost: ; 14:685D
- db $01,$80
- db $05,$00
+ IF _RED
+ db $01,$80
+ db $05,$00
+ ENDC
+ IF _BLUE
+ db $01,$20
+ db $07,$50
+ ENDC
db $12,$00
db "@"
PrizeMenuMon2Entries: ; 14:6864
- db DRATINI
- db SCYTHER
+ IF _RED
+ db DRATINI
+ db SCYTHER
+ ENDC
+ IF _BLUE
+ db PINSIR
+ db DRATINI
+ ENDC
db PORYGON
db "@"
PrizeMenuMon2Cost: ; 14:6868
- db $28,$00 ; 2800 Coins
- db $55,$00 ; 5500 Coins
- db $99,$99 ; 9999 Coins
+ IF _RED
+ db $28,$00
+ db $55,$00
+ db $99,$99
+ ENDC
+ IF _BLUE
+ db $25,$00
+ db $46,$00
+ db $65,$00
+ ENDC
db "@"
PrizeMenuTMsEntries: ; 14:686F
@@ -27462,13 +27561,24 @@ GetPrizeMonLevel: ; 14:6977
ret
PrizeMonLevelDictionary: ; 14:698A
- db ABRA,9
- db CLEFAIRY,8
- db NIDORINA,17
+ IF _RED
+ db ABRA,9
+ db CLEFAIRY,8
+ db NIDORINA,17
- db DRATINI,18
- db SCYTHER,25
- db PORYGON,26
+ db DRATINI,18
+ db SCYTHER,25
+ db PORYGON,26
+ ENDC
+ IF _BLUE
+ db ABRA,6
+ db CLEFAIRY,12
+ db NIDORINO,17
+
+ db PINSIR,20
+ db DRATINI,24
+ db PORYGON,18
+ ENDC
INCBIN "baserom.gbc",$52996,$54000 - $52996
diff --git a/constants.asm b/constants.asm
index fa4d42e9..f021dc86 100644
--- a/constants.asm
+++ b/constants.asm
@@ -573,7 +573,7 @@ GREAT_BALL EQU $03
POKE_BALL EQU $04
TOWN_MAP EQU $05
BICYCLE EQU $06
-; XXX ????? EQU $07
+SURFBOARD EQU $07 ; buggy?
SAFARI_BALL EQU $08
POKEDEX EQU $09
MOON_STONE EQU $0A
diff --git a/extras/gbz80disasm.py b/extras/gbz80disasm.py
index 2150611c..a1d4ee60 100644
--- a/extras/gbz80disasm.py
+++ b/extras/gbz80disasm.py
@@ -564,6 +564,8 @@ asm_commands = {
"00b5": "CopyData",
"2ff3": "GetMachineName",
"24d7": "TextScriptEnd",
+ "3e5c": "GenRandom", #bank 4
+ "6581": "ItemUseNotTime",
}
def random_asm_label():