Jump to content

Pokémon Red and Blue: Difference between revisions

m
→‎Names: Another grammar nitpick
m (→‎Glitch items: Grammar nitpick)
m (→‎Names: Another grammar nitpick)
Line 55:
The final untranslated Japanese string, "エクセレント" (Excellent), is also not terminated with a 0x50 character, and what follows is some unrelated assembly code<ref>[https://github.com/pret/pokered/blob/fbbade2becdbbbaad787ec4ad957b8b5253498c0/main.asm#L13-L15 The relevant section of ROM layout], and [https://github.com/pret/pokered/blob/master/engine/gfx/sprite_oam.asm the piece of assembly code following the "エクセレント" string]</ref>, where a 0x50 byte is relative unlikely to appear. This gives rise to the first [[unterminated name glitch item]] (which actually only requires that a 0x50 terminator does not appear in the first 20 characters in the name, due to how the game handles names), [[ItemDex/RB:116]]. Since just viewing an unterminated name could result in memory corruption that may lead to game freezes, etc., it may be hard to make use of an unterminated name glitch item for purposes other than exploiting exactly this corruption.
 
It turns out that, even though a 0x50 bytebytes isare relatively uncommon, there are enough of them such that even the 256th entry of the list, the name of [[ItemDex/RB:000|j.]] (ID 0), falls inside bank 1 of the ROM, mostly thanks to the 0x50 terminators of strings and text scripts scattered throughout the ROM. (Ending with an intended 0x50 terminator does not necessarily mean a name is short or legible: The intended string needs to also be ''preceded'' by a 0x50 byte, usually because there is another intended string before it. In addition, many 0x50-terminated sequences are text scripts, which usually stores a ''pointer'' to texts stored on other banks of the ROM, and are illegible when printed as a string.)
 
=== Effects ===
Cookies help us deliver our services. By using our services, you agree to our use of cookies.