Close Menu
Technology Mag

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    This Palm-Cooling Device Helps You Recharge During Workouts

    June 1, 2025

    How college students built the fastest Rubik’s Cube-solving robot yet

    June 1, 2025

    Why do lawyers keep using ChatGPT?

    June 1, 2025
    Facebook X (Twitter) Instagram
    Subscribe
    Technology Mag
    Facebook X (Twitter) Instagram YouTube
    • Home
    • News
    • Business
    • Games
    • Gear
    • Reviews
    • Science
    • Security
    • Trending
    • Press Release
    Technology Mag
    Home » It’s Possible to Hack ‘Tetris’ From Inside the Game Itself
    Games

    It’s Possible to Hack ‘Tetris’ From Inside the Game Itself

    News RoomBy News RoomMay 8, 20244 Mins Read
    Facebook Twitter Pinterest LinkedIn Reddit WhatsApp Email

    Earlier this year, we shared the story of how a classic NES Tetris player hit the game’s “kill screen” for the first time, activating a crash after an incredible 40-minute, 1,511-line performance. Now, some players are using that kill screen—and some complicated memory manipulation it enables—to code new behaviors into versions of Tetris running on unmodified hardware and cartridges.

    We’ve covered similar “arbitrary code execution” glitches in games like Super Mario World, Paper Mario, and The Legend of Zelda: Ocarina of Time in the past. And the basic method for introducing outside code into NES Tetris has been publicly theorized since at least 2021 when players were investigating the game’s decompiled code. (HydrantDude, who has gone deep on Tetris crashes in the past, also says the community has long had a privately known method for how to take full control of Tetris‘ RAM.)

    But a recent video from Displaced Gamers takes the idea from private theory to public execution, going into painstaking detail on how to get NES Tetris to start reading the game’s high-score tables as machine code instructions.

    Fun With Controller Ports

    Taking over a copy of NES Tetris is possible mostly due to the specific way the game crashes. Without going into too much detail, a crash in NES Tetris happens when the game’s score handler takes too long to calculate a new score between frames, which can happen after level 155. When this delay occurs, a portion of the control code gets interrupted by the new frame-writing routine, causing it to jump to an unintended portion of the game’s RAM to look for the next instruction.

    Usually, this unexpected interrupt leads the code to jump to address the very beginning of RAM, where garbage data gets read as code and often leads to a quick crash. But players can manipulate this jump thanks to a little-known vagary in how Tetris handles potential inputs when running on the Japanese version of the console, the Famicom.

    Unlike the American Nintendo Entertainment System, the Japanese Famicom featured two controllers hardwired to the unit. Players who wanted to use third-party controllers could plug them in through an expansion port on the front of the system. The Tetris game code reads the inputs from this “extra” controller port, which can include two additional standard NES controllers through the use of an adapter (this is true even though the Famicom got a completely different version of Tetris from Bullet-Proof Software).

    As it happens, the area of RAM that Tetris uses to process this extra controller input is also used for the memory location of that jump routine we discussed earlier. Thus, when that jump routine gets interrupted by a crash, that RAM will be holding data representing the buttons being pushed on those controllers. This gives players a potential way to control precisely where the game code goes after the crash is triggered.

    Coding in the High-Score Table

    For Displaced Gamers’ jump-control method, the player has to hold down “up” on the third controller and right, left, and down on the fourth controller (that latter combination requires some controller fiddling to allow for simultaneous left and right directional input). Doing so sends the jump code to an area of RAM that holds the names and scores for the game’s high-score listing, giving an even larger surface of RAM that can be manipulated directly by the player.

    By putting “(G” in the targeted portion of the B-Type high-score table, we can force the game to jump to another area of the high-score table, where it will start reading the names and scores sequentially as what Displaced Gamers calls “bare metal” code, with the letters and numbers representing opcodes for the NES CPU.

    Unfortunately, there are only 43 possible symbols that can be used in the name entry area and 10 different digits that can be part of a high score. That means only a small portion of the NES’s available opcode instructions can be “coded” into the high-score table using the available attack surface.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Previous ArticleApple TV Plus is turning into the best place for streaming sci-fi
    Next Article C’mon, Why Isn’t the New Apple Pencil Pro Backward Compatible?

    Related Posts

    A Gaming YouTuber Says an AI-Generated Clone of His Voice Is Being Used to Narrate ‘Doom’ Videos

    May 28, 2025

    Samsung’s G8 QD-OLED Gaming Monitor Is the Prettiest Screen You’ll Find

    May 23, 2025

    ‘Fortnite’ Players Are Already Making AI Darth Vader Swear

    May 21, 2025

    EA Tried to Stop an ‘Anti-DEI Mod’ for ‘The Sims 4’—but More Keep Surfacing

    May 20, 2025

    LinkedIn Games Are Still the Best Part of LinkedIn

    May 16, 2025

    Lenovo’s Legion Go S Portable Gaming Console Needs a Better OS

    May 15, 2025
    Our Picks

    How college students built the fastest Rubik’s Cube-solving robot yet

    June 1, 2025

    Why do lawyers keep using ChatGPT?

    June 1, 2025

    We Bought a ‘Peeing’ Robot Attack Dog From Temu. It Was Even Weirder Than Expected

    June 1, 2025

    Your Gmail Inbox Is Running Slow. Do These Things to Fix It

    June 1, 2025
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo
    Don't Miss
    Science

    Starship’s Latest Test Reveals New Problems for SpaceX to Solve

    By News RoomJune 1, 2025

    SpaceX made some progress on another test flight of the world’s most powerful rocket Tuesday,…

    Priority’s Current Plus Ebike Powers You Up the Meanest Hills

    June 1, 2025

    Get 20% Off with a Brooks Promo Code for June 2025

    June 1, 2025

    Trump pulls Musk ally’s NASA Administrator nomination

    May 31, 2025
    Facebook X (Twitter) Instagram Pinterest
    • Privacy Policy
    • Terms of use
    • Advertise
    • Contact
    © 2025 Technology Mag. All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.