diff options
-rw-r--r-- | common.asm | 298 | ||||
-rw-r--r-- | constants.asm | 2 | ||||
-rw-r--r-- | extras/gbz80disasm.py | 2 |
3 files changed, 207 insertions, 95 deletions
@@ -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(): |