Jump to content

Luck manipulation (Generation I): Difference between revisions

no edit summary
>Sherkel
(Created page with "{{incomplete}} Pseudorandom number generation in {{RBY}} uses the rDIV function, which is stored in hardware and thus makes intentionally landing on a specific value in these...")
 
>Sherkel
No edit summary
Line 2:
 
Pseudorandom number generation in {{RBY}} uses the rDIV function, which is stored in hardware and thus makes intentionally landing on a specific value in these games very difficult and unreliable. The only known emulators that emulate this function properly are BGB, Sameboy, and Gambatte-Speedrun. The function also behaves differently between the original Game Boy, Game Boy Color, Super Game Boy, Super Game Boy 2, and 3DS Virtual Console. However, certain series of timed inputs based on the DMG-001's rDIV function have been discovered for use in speedrun routes and work as intended nearly all of the time provided the player does not miss any input windows. The save file's in-game time also affects the initial seed, and at times can cause one of these procedures to fail. What is needed to fix this is simply saving again.
 
Encounter slots are determined by a variable known as the DSum (the sum of hRandomAdd + hRandomSub in random.asm in pret's disassembly), which can be predicted within a reasonable range once the current value is guessed through the encounter slot of the last wild Pokémon encountered.
 
==External links==
#[http://wiki.pokemonspeedruns.com/index.php?title=Pok%C3%A9mon_Red/Blue/RNG_Manipulation_FAQ RNG manipulation FAQ on Pokémon Speedruns wiki]
#[http://wiki.pokemonspeedruns.com/index.php/Pok%C3%A9mon_Red/Blue/Yellow_DSum_Manipulation DSum manipulation FAQ on Pokémon Speedruns wiki]
#[https://github.com/pret/pokered/blob/6ba3765c5932996f5da6417ae703794ff10bb1cb/engine/random.asm random.asm]
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.