Advertisement
Chrezm

Sonic Eraser Notes

May 13th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. WHAT DO WE HAVE
  2. FFD00C FFD04C FFD08C FFD0CC (all 4-bytes)
  3. stores the current piece
  4. FFD10C FFD14C FFD18C FFD1CC (all 4-bytes)
  5. stores the next piece
  6.  
  7. The last byte of the value in the previous addresses can tell you the tile type
  8. 52 White Square
  9. 5A Red Triangle
  10. 62 Gold Triangle
  11. 6A Green Square
  12. 72 Blue Circle
  13. 7A Orange Diamond
  14. 82 Pink Cross
  15.  
  16. To tell which slot corresponds to what tile of a piece, use the following tables
  17. The way to read this is as follows: a piece can contain tiles in any of 2 rows and 4 columns
  18. If an O piece is the current piece, then FFD00F will refer to the tile at the bottom left (row 2, column 1),
  19. FFD04F to the tile at the bottom right (row 2, column 2), FFD08F to the tile at the top right (row 1, column 2),
  20. and FFD0CF to the tile at the top left (row 1, column 1)
  21.  
  22. (Inverted L piece)
  23. Row Column
  24. 0F 2 3
  25. 4F 1 3
  26. 8F 1 2
  27. CF 1 1
  28.  
  29. (O piece)
  30. 0F 2 1
  31. 4F 2 2
  32. 8F 1 2
  33. CF 1 1
  34.  
  35. (I piece)
  36. 0F 1 3
  37. 4F 1 2
  38. 8F 1 1
  39. CF 1 4
  40.  
  41. (T piece)
  42. 0F 2 2
  43. 4F 1 3
  44. 8F 1 2
  45. CF 1 1
  46.  
  47. (L piece)
  48. 0F 2 1
  49. 4F 1 3
  50. 8F 1 2
  51. CF 1 1
  52.  
  53. LINE FF:283A
  54. Sets D00C to contain A66A based on value D1
  55. LINE FF:2836
  56. Sets D1 to contain A66A based on $(A1+D0+2)
  57.  
  58. -WORRYING ABOUT A1 FIRST
  59. LINE FF:280A
  60. Sets A1 to contain 81E8 based on D1
  61. LINE FF:2806
  62. Sets D1 to contain 81E8 based on $(A1+D0) constant?)
  63.  
  64. --WORRYING ABOUT A1
  65. LINE FF:2802
  66. Sets A1 to value of long $D008, which is 28154 (CONSTANT?)
  67.  
  68. --WORRYING ABOUT D0
  69. Line FF:27FE
  70. Sets D0 to value of word $D006
  71. (3870) Line 02:BA34
  72. Sets $D006 to $D106
  73. (3700) Line 02:DB908 sets $D106 to D0
  74. (3699) Line 02:B906 multiplies D0 by 2
  75. (3693) Line 02:B8FA ands D0 and D2 together
  76. (3692) D0 obtains its value from an RNG function
  77. WORRYING ABOUT D0 LATER
  78.  
  79. 02:B220 is the start of an RNG routine code
  80. The game starts the RNG routine the frame the arrow of mode select appears on screen, and stops as soon as you select Round mode (not when you select Round 0). The RNG seed is always reset even if you go back to the title screen in between rounds, so waiting the same amount of time will always yield the same results.
  81.  
  82. -- From the moment the arrow appears
  83. Wait 1 frame 6115E4FA
  84. P O W
  85. G
  86.  
  87. Wait 2 frames 388BAC0A
  88. B P O
  89. W
  90.  
  91. Address FFC714 holds RNG Seed
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement