Jump to content

ItemDex/RB:000: Difference between revisions

m
Remove terminator and pokedollar symbol
m (Remove terminator and pokedollar symbol)
 
(One intermediate revision by the same user not shown)
Line 1:
([[ItemDex|↑ Back to the ItemDex index]].)
{{ItemInfoGenI
|1=#j.#<br>[[File:RB item 00 inventory.png]]
|2=00
|3=000
|4=00:01d1 (ROM 0)
|4=01D1
|5=No
|6=YesUndefined
|7=829850
|8=414925}}
|9=$17, $a9, $5f, $22, $50}}
 
'''[[File:RBItem00.png|link=]]''' (hex:00) is a [[glitch item]] in {{RB}}.
Line 19 ⟶ 20:
 
==Advanced use==
More accurately, this glitch item runs in the middle of two byte map header pointers (these begin at $01AE) at $01D1; misaligned in between Route 6 and Route 7's header pointer (executed as instructions; not followed). When the code is in between Route 10 and Route 11's header pointers, it represents call nc, $BE42. The carry flag is not set; hence $BE42 is executed.
 
SRAM may be locked resulting in the typical "[[game freeze|rst 38 freeze]]", but can be avoided if the player views the summary of a Pokémon from the party just before using the item, allowing for arbitrary code execution at 000:BE42. Using a pop hl at the end of the code, the stack can be manipulated to safely ret.
 
While theoretically possible, methods to write to 000:BE42 and use [[File:RBItem00.png|link=]] with the corrupted values have not been published yet.
 
{{clr}}
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.