User:Sherkel/RNG Notes: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
>Sherkel No edit summary |
>Sherkel (This is really just my own curiosity, isn't it?) |
||
Line 1: | Line 1: | ||
Well well well, how the turntables... |
Well well well, how the turntables... |
||
== Generation III == |
|||
{| class="wikitable" |
{| class="wikitable" |
||
|+ Sequential RNG calls |
|+ Sequential RNG calls |
||
Line 19: | Line 19: | ||
XD LCG: increment 269EC3, multiplier 343FD |
XD LCG: increment 269EC3, multiplier 343FD |
||
ID in FRLG is 0x04000104 (Timer1 -- https://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm#Memory-Mapped%20Hardware%20Registers ); SID is upper 16 of RNG state |
|||
FRLG initial seed is Timer1 as well |
|||
The timer starts counting when the screen changes to the "Press Start"-Screen. |
|||
This is initiated by the first button press or waiting till intro is finished. |
|||
Once it started counting, it will do so until the initial seed has been determinated. |
|||
A soft reset will have the same effect as if you switch off the GBA. |
|||
~ flovv |
|||
http://www.coranac.com/tonc/text/timers.htm |
|||
Method H determines nature first (to account for Synchronize [https://github.com/Admiral-Fish/RNGReporter/blob/3afa1c6cdb14702b6de842b2766cf9e1b2e767eb/RNGReporter/Objects/FrameGenerator.cs#L3164 and the routine described here]), then conducts a "hunt" for a PID that matches it in the possible ones for the numbered method, then generates the two IV halfwords based on above |
Method H determines nature first (to account for Synchronize [https://github.com/Admiral-Fish/RNGReporter/blob/3afa1c6cdb14702b6de842b2766cf9e1b2e767eb/RNGReporter/Objects/FrameGenerator.cs#L3164 and the routine described here]), then conducts a "hunt" for a PID that matches it in the possible ones for the numbered method, then generates the two IV halfwords based on above |
||
Line 50: | Line 61: | ||
|} |
|} |
||
(*) E1695F0A is Timid and is the PID of "otherwise frame" 48 |
(*) E1695F0A is Timid and is the PID of "otherwise frame" 48 |
||
== Generation V == |
|||
Initial seeding: |
|||
Time is in (decimal) |
|||
00SSMMHH |
|||
HH from 00-11 (12-11AM), 52-63 (12-11 PM). |
|||
0XDDMMYY date |
|||
X=weekday, starting at 0 |
|||
~ Kaphotics |
|||
Kazowar: OFFSETS BLACK (add 0x20 to offset for white) |
|||
02216084 = SEED |
|||
0221608C = 0x5D588B656C078965 |
|||
02216094 = 0x0000000000269EC3 |
|||
SEED = (0x5D588B656C078965 * SEED) + 0x0000000000269EC3; |