![]() I am not certain about these last comments by Rainwarrior, but if I can only get my manipulation to work 25% of the time even with perfect inputs, I wonder if any of the other 3 out of 4 results would sync with an emulator? However, I don't know if this is really the case, and if what has been stated about resets and NMI interruption then I would doubt it, since I think the emulator simply is functioning differently in this regard, which is why Bizhawk and FCEUX differ in what frame they initially populate values in the PRNG addresses. It's also possible that on hardware the variability of PPU alignment might mean you only have a 1 in 4 chance of getting a consistent alignment on reset/power-up too, even if you could get that frame-perfect START every time." That last one in particular is one that emulators might easily behave differently on, especially reset/warmup behaviour of the PPU. "Even one cycle difference in the specific timing of the NMI can also alter the seed. If it's even one cycle different, the PRNG seed could be changed." Observation 2: this random seed loop is broken only by the NMI, so this will require precise PPU emulation to get correct. "This just runs being called over and over in an infinite loop until an NMI interrupts it and eventually manipulates the stack to get it out of that infinite loop. RainWarrior on NESDev has also mentioned the following: With the input manipulation that I use on original hardware I am able to get the following results, however, since this is done on hardware I can not tell you exactly what frame I am pressing start but I can tell you that it is within the first 20 frames, almost immediately.Ä 016-0019 are where controller inputs are stored (16 = gamepad 0, 17 = gamepad 0 new presses this frame, 18-19 = gamepad 1 similarÄ 012-0014 seem to be part of a 24-bit PRNG seed These are the addresses for each of the item spawns. Since inputs affect the RNG every single frame I will only get the RNG that I wanted if I initiated pressing start on the exact same frame. Press and hold A, reset the console, continue to hold A, I would then press and hold start around the earliest opportunity, I would then continue to hold A and start until I see the 3x Lives screen just before you gain control of the character. What I did for the world record was the following: What I wanted to do is utilize an Emulator with TAS Editor and Ram Watch so that I can TAS out 1000's of input manipulations in order to find the best route for speedrun purposes. Therefore changing the Initial RAM State does not alter results. ![]() Who Framed Roger Rabbit initializes its memory so it does not matter whether you use a Top Loader or a Front Loader, Everdrive or original cart. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |