Jump to content

Chaotic glitches: Difference between revisions

No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1:
A '''chaotic glitch''' describes the effects of a glitch very sensitive to initial conditions (comparable to the [[wikipedia:chaos theory|chaos theory]] in science), or where many factors (such as the contents of many often not typically related memory addresses), or hardware specific details are involved.
 
Certain glitches will have more sensitive outcomes than others, for example, the possible encounters from the [[old man glitch]] encounters will depend on the letters of the player's name, compared with the internal name of the [[Move 0x00 corruption (Generation I)|- (CoolTrainer♀-type)]] glitch move; withwhich has a higher degree of 'randomness' and influenced by the layout and frequency of 0x50 terminated strings in the memory map.
 
The glitch may also work differently in an inaccurate emulator where specific hardware details are involved (such as internal hardware timing, invalid opcodes (including invalid stop codes), [[VRAM inaccessibility]], Echo RAM, invalid banks).
Line 14:
*[[Arbitrary code execution]] will typically run a region of [[RAM]] as code; for this reason, changing one byte will change an entire opcode or operand; the effects can be very different, and can be affected by lots of seemingly unrelated factors other than them being variables in the RAM (anything from for instance Pokémon, to items, to play time, to states or movements on the overworld can be included as a requirement for the code). Additionally, the structure of the [http://gameboy.mongenel.com/dmg/asmmemmap.html memory map] is not necessarily organised for the player (for example, while inventory structures for the item and quantities (D31E-D346 (-1 in Yellow) go on in a continuous order, some data pertaining to various parts of the game is located further on (D347+), and Pokédex flags further back (D2F7-D31C (-1 in Yellow). The program counter can also attempt to run Echo RAM, HRAM (hardware RAM such as the zero page and I/O registers), SRAM, VRAM. For [[unintended ROM code execution]], the game will also have no way of distinguishing data from code.
**The combination of a glitch that corrupts SRAM and the use of [[ItemDex/RB:085|B1F]] is known for its hard to predict effects.
**[[Pokémon Yellow C109 ID 0x0F arbitrary code execution]] runs DA41 but this is first influenced by wPlayTimeMaxed, followed by wPlayTimeMinutes, wPlayTimeSeconds; meaning a specific play-time is required.
*Glitch item [[ItemDex/Y:114|Q;MP-]] (0x72) in Pokémon Yellow (may also not always freeze the game).
*The effects of nudging, tilting, or pulling out the Game Pak while the power is on are known for their 'randomness', but most of the time [[game freeze|freeze]] the game.
*Glitches which do not execute code from Echo RAM but access it (example: [[dokokashira door glitch]]).
Cookies help us deliver our services. By using our services, you agree to our use of cookies.