From Hard Drop - Tetris Wiki
|Rotation system||Nintendo Rotation System|
The Nintendo Entertainment System is specified to run at 60.0988 frames per second.
Despite the title's popularity, its DAS mechanics were not well-understood until player Kitaru analyzed its internal memory values. The game keeps a hidden count of how many frames the left or right button has been held down for. This is called the "DAS counter." After holding down left or right for 16 frames, the piece moves left or right by one column, and the DAS counter resets. Only, it doesn't actually reset all the way back to 0. It instead resets it to 10. After 6 more frames, it will reach 16, the piece will move another column, and the counter will reset back to 10. After the left or right button is released, and left or right is pressed again, the counter will reset all the way back to zero. In effect, pressing and holding down the left button will first move the piece 1 column, then after 16 frames it moves another column, then it will move a column every 6 frames.
There are a few other very interesting details. During ARE, the DAS counter effectively freezes. A player can release and tap left or right, and after ARE is over, the counter's value will not change. The only thing that resets the counter to zero is by pressing down the left or right buttons, and doing so in a time other than ARE. Simply releasing the thr direction button will keep the counter "charged." A good strategy, then, is to charge the DAS through normal play and then carefully switch directions only during ARE. This way, the pieces will continue to move quickly without needing to recharge the DAS.
Another interesting feature is what happens when dead tetrominos or a wall blocks the active piece. The DAS counter instantly jumps to 16. A player can strategically use this feature to quickly charge the DAS counter for next-coming pieces.
Soft drop speed is 1/2G. ARE is 10~18 frames depending on the height at which the piece locked; pieces that lock in the bottom two rows are followed by 10 frames of entry delay, and each group of 4 rows above that has an entry delay 2 frames longer than the last. line clear delay is an additional 17~20 frames depending on the frame that the piece locks; the animation has 5 steps that advance when the global frame counter modulo 4 equals 0. As a consequence, the first step of the line clear animation is not always a set number of frames. DAS charging is completely dead during ARE and line clear. While tapping or changing direction during active time would reset the counter, inputting left or right during ARE or the line clear animation has no effect on the value of the counter. This means that any DAS charge left over from the previous piece can be redirected during ARE.
The following table of gravity speeds was observed and later found to be stored at $898E (offset $099E in the iNES format ROM):
|Level||Frames per Gridcell|
In Marathon (called A-TYPE), when the player line clear (startLevel × 10 + 10) or max(100, (startLevel × 10 - 50)) lines, whatever comes first, the level advances by 1. After this, the level advances by 1 for every 10 lines.
- Start at level 5, advance to level 6 at 60 lines, advance to level 7 at 70 lines.
- Start at level 12, advance to level 13 at 100 lines, advance to level 14 at 110 lines.
- Start at level 16, advance to level 17 at 110 lines, advance to level 18 at 120 lines.