Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
ItemDex

Major Glitches
Trainer escape glitch
Old man trick
Celebi trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg corruption glitch (Glitzer Popping)
Tweaking
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitch
More

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

References
Pokémon GameShark codes
The Big HEX List
GB programming
Curiosities
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Search Wiki

 

Search Forums

 

Recent Posts

Pages: 1 ... 8 9 [10]
91
This is a really nice looking program.  :) Love it.
92
Generation I Glitch Discussion / Re: Pikawalk Glitch Information?
« Last post by Torchickens on April 12, 2017, 01:52:57 am »
That's right, the corruption affects addresses D438 onwards for the first step while Pikachu is off-screen with the following values:

South=01
North=02
West=03
East=04

So if you place Pikachu off-screen then move south, then west and east in that order, the data looks like 01 03 04.

It is possible to corrupt over 250 bytes using this glitch, I unfortunately can't remember the specifics but it might not be 255 bytes.

This is a list of addresses you may be able to corrupt using the glitch, from the Pokémon Yellow disassembly.

Code: [Select]
wExpressionNumber:: ; d447
ds 1
wPikaPicAnimNumber:: ; d448
ds 1

wPikachuMovementScriptBank:: ds 1  ; d449
wPikachuMovementScriptAddress:: dw ; d44a
wPikachuMovementFlags:: ; d44c
; bit 6 - spawn shadow
; bit 7 - signal end of command
ds 1

wCurPikaMovementData:: ; d44d
wCurPikaMovementParam1:: ds 1 ; d44d
wCurPikaMovementFunc1:: ds 1 ; d44e
wCurPikaMovementParam2:: ds 1 ; d44f
wCurPikaMovementFunc2:: ds 1 ; d450
wd451:: ds 1 ; d451
wCurPikaMovementSpriteImageIdx:: ds 1 ; d452
wPikaSpriteX:: ds 1 ; d453
wPikaSpriteY:: ds 1 ; d454
wPikachuMovementXOffset:: ds 1 ; d455
wPikachuMovementYOffset:: ds 1 ; d456
wPikachuStepTimer:: ds 1 ; d457
wPikachuStepSubtimer:: ds 1 ; d458
ds 5
wCurPikaMovementDataEnd:: ; d45e
ds wCurPikaMovementData - @


wPikaPicAnimPointer:: dw ; d44d
wPikaPicAnimPointerSetupFinished:: ds 1 ; d44f
wPikaPicAnimCurGraphicID:: ds 1 ; d450
wPikaPicAnimTimer:: ds 2 ; d451
wPikaPicAnimDelay:: ds 1 ; d453
wPikaPicPikaDrawStartX:: ds 1 ; d454
wPikaPicPikaDrawStartY:: ds 1 ; d455

wCurPikaPicAnimObject:: ; d456
wCurPikaPicAnimObjectVTileOffset:: db ; d456
wCurPikaPicAnimObjectXOffset:: db ; d457
wCurPikaPicAnimObjectYOffset:: db ; d458
wCurPikaPicAnimObjectScriptIdx:: db ; d459
wCurPikaPicAnimObjectFrameIdx:: db ; d45a
wCurPikaPicAnimObjectFrameTimer:: db ; d45b
ds 1
wCurPikaPicAnimObjectEnd:: ; d45d

ds 18

wPikachuHappiness:: ds 1 ; d46f
wPikachuMood:: ds 1 ; d470
wd472:: ds 1 ; d471
wd473:: ds 1 ; d472

ds 1

wd475:: ds 1 ; d474

ds 4

wd47a:: ds 1 ; d479

ds 24

wd492:: ds 1 ; d492

ds 1

wSurfingMinigameHiScore:: ds 2 ; 4-digit BCD little-endian
ds 1

wPrinterSettings:: ds 1
wUnknownSerialFlag_d499:: ds 1 ; d498
wPrinterConnectionOpen:: ds 1 ; d499
wPrinterOpcode:: ds 1 ; d49a
wd49c:: ds 1 ; d49b

ds 19

wNumSigns:: ; d4af
; number of signs in the current map (up to 16)
ds 1

wSignCoords:: ; d4b0
; 2 bytes each
; Y, X
ds 32

wSignTextIDs:: ; d4d0
ds 16

wNumSprites:: ; d4e0
; number of sprites on the current map
ds 1

; these two variables track the X and Y offset in blocks from the last special warp used
; they don't seem to be used for anything
wYOffsetSinceLastSpecialWarp:: ; d4e1
ds 1
wXOffsetSinceLastSpecialWarp:: ; d4e2
ds 1

wMapSpriteData:: ; d4e3
; two bytes per sprite (movement byte 2, text ID)
ds 32

wMapSpriteExtraData:: ; d503
; two bytes per sprite (trainer class/item ID, trainer set ID)
ds 32

wCurrentMapHeight2:: ; d523
; map height in 2x2 meta-tiles
ds 1

wCurrentMapWidth2:: ; d524
; map width in 2x2 meta-tiles
ds 1

wMapViewVRAMPointer:: ; d525
; the address of the upper left corner of the visible portion of the BG tile map in VRAM
ds 2

; In the comments for the player direction variables below, "moving" refers to
; both walking and changing facing direction without taking a step.

wPlayerMovingDirection:: ; d527
; if the player is moving, the current direction
; if the player is not moving, zero
; map scripts write to this in order to change the player's facing direction
ds 1

wPlayerLastStopDirection:: ; d528
; the direction in which the player was moving before the player last stopped
ds 1

wPlayerDirection:: ; d529
; if the player is moving, the current direction
; if the player is not moving, the last the direction in which the player moved
ds 1

wTilesetBank:: ; d52a
ds 1

wTilesetBlocksPtr:: ; d52b
; maps blocks (4x4 tiles) to tiles
ds 2

wTilesetGfxPtr:: ; d52d
ds 2

wTilesetCollisionPtr:: ; d52f
; list of all walkable tiles
ds 2

wTilesetTalkingOverTiles:: ; d531
ds 3

wGrassTile:: ; d534
ds 1

ds 4

I unfortunately don't know why the freezes from Pikawalk occur, but the reason why it can wipe the save may be related to the game filling the memory with 00 39 and affecting the SRAM.

As is documented, you can also use the Pikawalk for:

*Arbitrary code execution using glitch signs.
*To corrupt Pikachu's happiness/emotions.
*To enable 255 hours play-time.
*To create a 'Super Glitch City' (a Glitch City with an invalid tileset).
*To get the S.S. Ticket while Bill is still a Pokémon.
*To corrupt Trainer data.
93
Update: Program is finished, and can now be downloaded from Here

Also sorry for double posting.
94
Generation I Glitch Discussion / Re: Pikawalk Glitch Information?
« Last post by ISSOtm on April 12, 2017, 01:25:17 am »
I don't exactly know why, but what happens is the game keeps track of your movement to move Pikachu. To do so, your movement is copied into a buffer, but when Pikachu is offscreen, the game writes past the buffer's bounds and ends up corrupting memory following the buffer. Now, as to why that bricked your save file, there may be a thousand different reasons. Mostly if you saved after attempting the glitch.
95
Rate My Team / Rate my Diamond team? Or just read about it, that's fine too.
« Last post by baconpants on April 11, 2017, 02:20:34 pm »
    Even though I am definitely not one to play competitively or raise Pokemon with perfect IVs and EVs, I still would like to get my team rated, if that's okay! I'd rather it be judged on just if they are good Pokemon to raise for the main story, and perhaps their names as well. Also, I know they're all pretty underleveled.

    Nickname: Allen
    Species: Torterra
    Gender: Male
    Level: 40
    Nature: Naughty
    Trait: Very finicky.
    Moves:
    Earthquake
    Bite
    Synthesis
    Razor Leaf

    Nickname: Nyes
    Species: Luxray
    Gender: Female
    Level: 45
    Nature: Gentle
    Trait: Likes to run.
    Moves:
    Thunder Fang
    Spark
    Charge
    Crunch

    Nickname: Egglord
    Species: Staravia (Yes, I know..)
    Gender: Female
    Level: 20
    Nature: Lovely
    Trait: Alert to sounds.
    Moves:
    Fly
    Quick Attack
    Wing Attack
    Endeavor

    Nickname: Satan (I can explain!)
    Species: Feraligatr
    Gender: Female
    Level: 43
    Nature: Naive
    Trait: Mischievous.
    Moves:
    Slash
    Crunch
    Surf
    Ice Fang

    Nickname: Jasper
    Species: Toxicroak
    Gender: Female
    Level: 40
    Nature: Relaxed
    Trait: Somewhat vain.
    Moves:
    Sucker Punch
    Strength
    Revenge
    Rock Climb

    Nickname: Gaspar
    Species: Gengar
    Gender: Male
    Level: 42
    Nature: Hasty
    Trait: Proud of its power.
    Moves:
    Sucker Punch
    Shadow Punch
    Dream Eater
    Shadow Ball

    Please remember I don't play competitively and this is my main story team! Constructive criticism would be nice for how to improve my team moveset-wise, etc.
96
Generation I Glitch Discussion / Pikawalk Glitch Information?
« Last post by baconpants on April 11, 2017, 01:48:48 pm »
I am extremely curious about the glitch where Pikachu walks offscreen and the game becomes extremely confused. Is there any reason as to why a crash from this glitch may brick your save file? I would really like to know as my save file was corrupted while entering Glitch City and I lost my Pokemon to it. (That I was dearly attached to, but I'm attached to every one of them!)

Is the game just so confused by Pikachu it messes itself up, or does keeping track of Pikachu need a lot of work?
97
Project "Gotta Document 'Em All" / GlitchDex errors/omissions
« Last post by Torchickens on April 11, 2017, 09:24:06 am »
This is a thread for noting errors/omissions in the GlitchDex that need to be resolved:

*The base 123 Defense for 4( h 4 ? should be base 128 according to the data.
*The base Attack for the Family 209 glitch Pokémon in Red/Blue (Base 255 Attack) is incorrect?
*Since some glitch Pokémon have ( in their names, this breaks the name system which thinks the bracket is part of the glitch Pokémon's family data (Pokédex number).
*Cries need to be added for glitch Pokémon due to the old links no longer working.
*Methods of obtaining glitch Pokémon need to be updated for a few remaining glitch Pokémon.
*TM/HM moves and Time Capsule exploit moves need to be added for a few remaining glitch Pokémon.
*Super Glitch moves should have their index numbers indicated in the data. Also a question worth raising is "are there any 'non-Super Glitch' moves which never cause Super Glitch corruption?".
*Add the index numbers for types for glitch Pokémon with glitch types and 'pseudo real' (is said to be a real type but is really a glitch type) types.
98
The required 8F bootstrap would be jp $DA80, which is H# (glitch item $C3) x128 / TM18 x any.
Or if you don't like the glitch item, it could be replaced with either TM18 or TM10, for jp c, xxxx or jp nc, xxxx respectively, one of those should work but I'm not sure which. It might be a good idea to make the any quantity x201 or put a TM01 afterwards, so if the wrong one is used then nothing happens (instead of a crash).

As for the nicknames, was there ever previous data on the cart in that box? If so then it might be left over from that, but I'm not sure.

Do the nicknames even matter? It looks like the code isn't long enough to reach them, so would it be safe for me to overwrite them with properly terminated nicknames? And would this make it safe to view the stat pages, to allow for easy comparison between console and emulator?

For Cryo's version, do the 7 pokemon in the box matter? It seems like only the ones that encode the jp instruction should do.

Also, it seems possible to avoid having to write out the tiles elsewhere in memory by replacing the GetChar function with
Code: [Select]
GetChar:
and a, $0F
add a, $F6 ; '0'
jr nc , .digit
add a, $60 ; 'A'
.digit
ld (hl+), a
ret
which 2 bytes shorter than it is in Cryo's version (don't know about Torchicken's version), and saves 16 bytes of tile IDs.

Edit: I tried this with Torchicken's version on BGB and it worked. (I also had my nicknames be blank spaces instead of 9s both when using box 1 on BGB and box 12 on VC. Don't know why)

Edit2: I think I figured out the nickname thing: From a fresh cart, SRAM will be initialised with (mostly?) 00. However, the ClearSAV function fills SRAM with FF, which corresponds to the 9 character. So if you've ever cleared the save file with the button combo that clears it, your uninitialised nicknames are all 9, otherwise they're blank spaces.
99
General Discussion / Re: Yeniaul's Discord Server (and rules)
« Last post by naltronix on April 11, 2017, 04:23:37 am »
Try deleting the data from discord mobile, or going on to PC to delete the message.
100
Generation IV Glitch Discussion / Re: Obtaining Arceus via the Void Glitch
« Last post by Deku-Kitty on April 10, 2017, 11:06:44 am »
Was gonna try this; Platinum save got completely wiped by me trying to tweak lolwut
As far as I know, there currently isn't a method to get Arceus in Platinum, so you kinda lost your save file for nothing. RIP.
Pages: 1 ... 8 9 [10]