I was playing around with Mesen's 'rewind feature' and found out that the pieces weren't exactly 'random'. For instance, what piece follows the 'next' piece seems to depend on where I place the current piece. When I place it in the same place, I get the same pieces; but when I try it somewhere different, I get a different sequence of pieces. Same on other emulators? Thoughts?
This behaviour is a side effect of how the pseudo-random number generator is used in Nintendo NES Tetris. In short, the PRNG is cycled once per frame, and the game can reroll once when picking a piece. This means that the next piece to be generated is dependent on the frame the piece locks, but not the specific piece position or other inputs. For the details you can check out this article.
Yes, the tl;dr is if you dont softdrop, the next piece is determined based on how high the piece you currently placed is. So for a long flat surface, you can't manipulate RNG as much.