ItemDex/RB:000: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Torchickens
No edit summary
m (Remove terminator and pokedollar symbol)
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
([[ItemDex|↑ Back to the ItemDex index]].)
([[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)
|5=No
|6=Undefined
|7=829850
|8=414925
|9=$17, $a9, $5f, $22, $50}}


'''[[File:RBItem00.png|link=]]''' (hex:00) is a [[glitch item]] in {{RB}}.
{| class="wikitable"
|-
! [[ItemDex/RB:255|← Previous item]] !! Current item !! [[bp:Master Ball|Next item →]]
|-
| [[ItemDex/RB:255|TM55]] || {{IRB|000}} || [[bp:Master Ball|Master Ball]]
|}


Using [[File:RBItem00.png|link=]] will typically freeze the game both from inside and outside of battle.
''Disclaimer: The data shown in this database may not be completely accurate if it depends on the contents of writable memory in the address bus (region $8000-$FFFF).''


It is a common item in the [[expanded item pack]].
{{ItemInfoGenI|1=#j.|2=00|3=00|4=01D1|5=No|6=Yes|7=829850|8=414925}}
{{IRB|000}} (#j.) is a [[glitch item]] in {{RB}} with an [[index number]] of hex:00 (0 in decimal).


The inventory can also be filled with this glitch item with the [[j. (0x00) inventory filling map script glitch]].
==Effect==
Using {{IRB|000}} will freeze the game both from inside and outside of battle. {{IRB|000}} is a useful item glitch item to sell and obtain a lot of Pokédollars.


==Advanced use==
==How to obtain it==
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.
*{{IRB|000}} is a common item in the [[expanded item pack]]. {{IRB|000}} may also be bought from a glitch Poké Mart vendor; e.g. through the [[Yami Shop glitch]] and [[Route 11 glitch mart vendor trick]].


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 00:BE42. Using a pop hl at the end of the code, the stack can be manipulated to safely ret.
==Credits==

*TheZZAZZGlitch for this item's effect pointer and for discovering the Route 11 glitch mart vendor trick.
While theoretically possible, methods to write to 00:BE42 and use [[File:RBItem00.png|link=]] with the corrupted values have not been published yet.

{{clr}}

[[Category:Glitch items]]
[[Category:Pokémon Red and Blue glitch items]]
[[Category:ItemDex]]
[[Category:ItemDex]]
[[Category:Arbitrary code execution glitch items]]

Latest revision as of 13:39, 25 December 2022

(↑ Back to the ItemDex index.)

Name (transcribed): #j.#

Identifier (HEX): 00
Identifier (DEC): 000
Effect pointer: 00:01d1 (ROM 0)
Unterminated name glitch item?: No
Tossable/Sellable?: Undefined
Buy Price: 829850
Sell Price: 414925
Name bytes: $17, $a9, $5f, $22, $50

(hex:00) is a glitch item in Pokémon Red and Blue.

Using will typically freeze the game both from inside and outside of battle.

It is a common item in the expanded item pack.

The inventory can also be filled with this glitch item with the j. (0x00) inventory filling map script glitch.

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 "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 00: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 00:BE42 and use with the corrupted values have not been published yet.