CardsOfTheHeart

Panel de Pon / Tetris Attack VS speedrun RNG manipulation

Dec 1st, 2016
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. The RNG can be influenced from power on to the beginning of the first stage through several factors:
  2. -Number of presses of a button, mitigated by minimizing required button presses
  3. -Multiple buttons pressed at once, mitigated by minimizing required button presses
  4. -Length of time a button is being pressed, mitigated by holding a button ̶f̶r̶o̶m̶ ̶p̶o̶w̶e̶r̶ ̶o̶n̶ starting six frames before the opening text starts to fade to black
  5.  
  6. With these mitigating factors, I have been able to isolate five places where the RNG is influenced at the start of the button press (length of button press would not matter):
  7. -Input to cut the intro short (OPTIONAL)
  8. -Input at 'Press Any Key' to leave the title screen
  9. -Input to select 1PLAYER GAME
  10. -Input to select VS (selecting NEW GAME in Tetris Attack has no influence)
  11. -Last required input to enter the first stage, whether by going through the entire dialogue or pressing Start to skip it
  12.  
  13. ̶F̶o̶r̶ ̶s̶o̶m̶e̶ ̶r̶e̶a̶s̶o̶n̶,̶ ̶t̶h̶o̶u̶g̶h̶,̶ ̶s̶o̶m̶e̶ ̶p̶a̶t̶t̶e̶r̶n̶s̶ ̶a̶r̶e̶ ̶d̶u̶p̶l̶i̶c̶a̶t̶e̶d̶ ̶f̶o̶r̶ ̶a̶n̶ ̶e̶x̶t̶r̶a̶ ̶f̶r̶a̶m̶e̶.̶ ̶Y̶o̶u̶ ̶s̶h̶o̶u̶l̶d̶ ̶b̶e̶ ̶a̶b̶l̶e̶ ̶t̶o̶ ̶m̶a̶k̶e̶ ̶e̶v̶e̶r̶y̶ ̶R̶N̶G̶-̶i̶n̶f̶l̶u̶e̶n̶c̶i̶n̶g̶ ̶i̶n̶p̶u̶t̶ ̶a̶ ̶t̶w̶o̶-̶f̶r̶a̶m̶e̶ ̶w̶i̶n̶d̶o̶w̶ ̶t̶o̶ ̶g̶e̶t̶ ̶a̶ ̶p̶a̶r̶t̶i̶c̶u̶l̶a̶r̶ ̶s̶t̶a̶r̶t̶i̶n̶g̶ ̶p̶a̶t̶t̶e̶r̶n̶.̶
  14.  
  15. I have found two 4-byte WRAM addresses that appear to control the RNG entropy (PDP):
  16. 7E1A76
  17. 7E1A7A
  18. Both values generally change every frame and increase faster when a button is being pressed. They start mostly in sync, but 76 goes down a bit at various points if you let the intro play out. Both values freeze on black screens. 7A freezes on the black screen after selecting VS (PDP) and stays there for the duration of the mode.
  19.  
  20. 76 goes up slowly on the Game Level screen and sometimes freezes for an additional 12 frames at random intervals. It increments upward when the panels are revealed. It increments upward as new rows are revealed. It increments upward once when you win. It increases per frame at random intervals between stages from stages 2-8. Some increases of 1 between frames yield the same pattern on the second frame, thus some patterns are duplicated for two frames.
  21.  
  22. After the first stage, however, the only thing that should matter is when you press the last input that triggers entering the stage. This is likely the easy part--easy as in relying on a single two-frame window input instead of multiple inputs.
Add Comment
Please, Sign In to add comment