A man who exploited the crash of the NES version of Tetris when the level limit was reached to execute arbitrary code and theoretically make Tetris playable infinitely appeared



Tetris for the NES (the overseas version of the Family Computer) slows down and makes it impossible to continue the game once a certain level is reached. A method was devised to exploit this slowdown to execute arbitrary code.

How to Reprogram Tetris By Playing It - Behind the Code Leveled Up - YouTube


Tetris, which was sold for the NES, has an 'endless mode' where you can keep playing until the game is over. In this endless mode, the falling speed of the tetriminos increases from level 1 to level 18, then maintains a constant falling speed from level 19 to level 28, and suddenly speeds up at level 29. For this reason, until a few years ago, level 29 was considered the upper limit, but in the 2010s and 2020s, high-speed controller tapping techniques such as 'tapping' and 'rolling' became popular among top players, and many players entered level 30 and beyond. Details of the tapping techniques devised to break through the level limit and the history of skill improvement by top-level players are summarized in detail at the following link.

The Tetris World Championship, released in 1989, is now a big deal | Slappin' Notes
https://note.com/radio613/n/n03ad52985274



Players' skills continued to improve after that, and in 2022, a player appeared who manually reached the color palette bug, in which 'as a result of continuing to play beyond the level 29 barrier and using up the color palette to express the color change of the tetriminos, the color display becomes buggy.' Then, in January 2024, a 13-year-old player continued playing up to level 157 and manually reached a state where 'even though he erased the line, processing slowed down and the game stopped.' This meant that the NES version of Tetris was completely conquered 34 years after its release.

13-year-old gamer 'completely conquers' the Famicom version of Tetris, successfully reaching the kill screen at level 157 - GIGAZINE



Analysis by the gamer community has revealed that the game halt due to slow processing of the NES version of Tetris is caused by 'crashing because score calculation takes too long.' It has also been revealed that unintended parts of data in memory are read at the time of the crash. Displaced Gamers, a game-related YouTube channel, focused on the behavior of 'reading unintended parts of memory at the time of a crash' and attempted to hack Tetris only by playing Tetris using a technique of 'preparing arbitrary data in memory by operations during Tetris play and loading it at the time of the crash.'

After much trial and error, Displaced Gamers was able to load code that would rewrite the score value when the game crashed. Here's the result of running the hack on an emulator:



The score was rewritten when it should have crashed.



By rewriting the score, we were able to avoid the problem of the score taking too long to calculate and the game crashing, and we were able to continue playing the game.



Displaced Gamers is trying to do the same hack on the actual NES, not on an emulator. However, to execute the hack by human hands, in addition to the 'superb skill of continuing to play Tetris to the maximum level,' it also requires the 'divine skill of putting arbitrary code into memory while playing Tetris.' Since Displaced Gamers did not have the playing skills to that extent, they also used cheats such as 'slowing down the falling speed of the tetriminos.'



Although it does use cheats, I was able to execute the code manually.



With this hack, you could theoretically play Tetris forever.

in Video,   Game, Posted by log1o_hf