return to table of content

Hackers discover how to reprogram NES Tetris from within the game

mcculley
38 replies
1d23h

Such exploits always remind me of the line from Stross' Accelerando about the ultimate end game for hacking: "running a timing channel attack on the computational ultrastructure of space-time itself, trying to break through to whatever's underneath"

smegger001
28 replies
1d23h

I am fairly sure I would not want to be within the lightcone of anyone making a attempt with chance doing anything. thats sounds like a good way to trigger vacuum decay and I would rather that universe not bluescreen.

tux3
9 replies
1d23h

I'm sure the sysadmins can restart us. They do have backups, right?

Drakim
6 replies
1d23h

Even if you have backups, if you have never tested your backups, you don't have backups.

skeaker
5 replies
1d21h

Not to worry, the VM we're on has only been running since last Tuesday.

kevindamm
4 replies
1d14h

If someone were to restore the universe from a faulty backup, would we even know there was anything missing? Assuming the consistency checks passed.

TeMPOraL
1 replies
1d5h

Even if they restored us from a good backup, we probably wouldn't like the debugging session that follows.

kevindamm
0 replies
1d5h

The dark matter is just ghosts of println/log statements?

fragmede
0 replies
1d10h

so that's where my socks have been going missing!

Drakim
0 replies
1d8h

Assuming the consistency checks passed.

You have a lot more faith in world-ops than I do. You think the have tests and checks?

mcculley
0 replies
1d23h

The computational substrate might just be a side-effect of something else happening in higher dimensions.

hi-v-rocknroll
0 replies
1d8h

All of the sysadmins were fired, and along with IT, were replaced with devops SWEs who thought replication was good enough.

lampiaio
6 replies
1d22h

I would not want to be within the lightcone

If someone were to find an exploit to run arbitrary code using the computational ultrastructure of the universe, I wouldn't be too sure if in-game restrictions could keep us safe, though!

smegger001
5 replies
1d18h

I would be less concerned with them succeeding and more with them failing and crashing the local shard

volemo
4 replies
1d10h

Let’s hope there are backups.

bemmu
3 replies
1d8h

It’s ok, when it crashes it reboots and runs the same way from the beginning, so it would be like nothing even happened.

ZaoLahma
1 replies
1d7h

Ah yes, that old reliable determinism will save the day.

bemmu
0 replies
3h17m

The only problem is that it also replays the part which caused the universe to crash.

a_vanderbilt
0 replies
1d3h

So the universe is a Docker container?

vasco
5 replies
1d22h

A blue screen would prove someone wrote shitty drivers so we'd know the universe is more like Windows than like OS X

jl6
3 replies
1d22h

The universe is actually more like Linux: we got it for free, but we have to figure out how it works on our own.

tambourine_man
2 replies
1d19h

You call this free?

smegger001
1 replies
1d18h

"Free" as in, "you arent paying the AWS bill" as opposed to "free speech" or "free beer"

Aerroon
0 replies
1d15h

To be fair, the universe offers as much free speech as is possible. You can say anything you think of. The universe ain't gonna stop ya.

hi-v-rocknroll
0 replies
1d8h

Futurama already proved the universe is a simulation inside of a simulation written by some forgetful professor.

https://youtu.be/9gWgNetp8jE

Diederich
2 replies
1d22h

Being involved in a vacuum decay event would not be bothersome in the slightest.

Filligree
0 replies
1d5h

One of my favorites, and the only Greg Egan novel I've ever written fanfiction of. It looks dated compared to his newer writing, but the central conceit is something else.

skrebbel
0 replies
1d10h

The program doesn't notice when it crashes

Kipters
0 replies
1d10h

that's just the first step for getting Doom to run

wizzwizz4
1 replies
1d19h

That's not a sync error: it's just a demonstration that all collapse theories are inconsistent with some other assumptions we like to make. (There are many alternatives, the most famous of which is probably Hugh Everett III's relative state model, though none of them are completely elegant.) It hasn't just been discovered: it's been known since the 60s, and developed on-and-off since.

Of course, we haven't really tested this because we haven't attempted to put humans “in a superposition”. Physicalists assume that photons are adequate substitutes for humans, in the thought experiment, but something's wrong with our intuitions, so imo we should adopt some philosophical rigour about this whole thing.

kromem
0 replies
14h31m

Generally 'discovery' relates to experimental results and not theory.

For example, it seems like it would be more appropriate to say that the quantized nature of light was discovered in the early 20th century when confirmed by experiment and not that it was discovered in antiquity when Epicurus or Lucretius were talking about how light was made up of the smallest possible parts moving very quickly.

Also, given the parameters of the experiment in question, it arguably would be better described as "multi-layered Bell" than "Wigner's friend."

Everett's also fares well for the Frauchiger-Renner paradox too.

kromem
0 replies
15h24m

Superderminism seems the odd choice to embrace here.

Also, given the Frauchiger-Renner paradox, the Occam's razor for fewest assumptions between the two would be contradictory outcomes being what needs to be embraced. Superderminism doesn't resolve Frauchiger-Renner.

Additionally, it seems really odd to me that it's at the exact point where a continuous system would be impossible to simulate (interactions with a presumably free agent) which is where things collapse to finite quantities, and yet as soon as the persistent information about such an interaction is erased it goes back to behaving continuously.

While superderminism could address the paradoxes, if superderminism existed the very behavior and quirkiness occurring seems superfluous viewed as a system design.

Guthur
1 replies
1d9h

Space-time? Why limit too space, meta-time is so much more interesting.

Guthur
0 replies
1d3h

This wasn't a flippant remark either. Read Henri Bergson Time and Free Will for some thought provoking analysis.

IIAOPSW
0 replies
1d22h

I believe that's what we call "physics"

hnthrowaway0328
11 replies
2d

God, I love these people. I feel shameful to not have such a hacker mindset -- to do something probably useless just for the fun of it.

I love these people.

farseer
10 replies
1d11h

Stupid question but are such hackers mostly trust fund babies? With their future secure and nothing but boredom? Coz the rest of us are too busy making a living for such exploits (no pun intended).

lm2s
1 replies
1d5h

Ask any parent how much time they had free (and didn't realize) before having kids. It's quite interesting how much time we have free and not really realize.

Not saying that work doesn't take out a very big chunk of it, it does. But we still have more free time than sometimes we realize.

What we many times lack, is perspective and commitment.

silentfrost
0 replies
23h1m

New parent here with a 2 year old. I get about 30 minutes of free time a day. Usually that time is just before bed when you’re already exhausted. Like you said, I look back and wonder what the heck did I do with all that free time.

ZaoLahma
1 replies
1d10h

I doubt trust fund babies would spend their days hacking an old NES game.

No idea of who would do it though. My best guess is young-ish brilliant engineers in the beginning of their careers, before they've taken on too much responsibility at and outside of work. Those who still have a lot of excitement for the field with a lot of time on their hands.

coldpie
0 replies
1d5h

Those who still have a lot of excitement for the field with a lot of time on their hands.

Hahaha, yeahhh. I'd love to do this kind of stuff, but after sitting at a computer for 8 hours every day for work, the last thing I want to do in my free time is sit in front of another computer :)

thrdbndndn
0 replies
1d8h

Coz the rest of us are too busy making a living

Bar some exceptions, most people are not that busy (including me and likely you). They just lack commitment.

nusl
0 replies
1d10h

No. It's very much okay to just do things because you enjoy doing them. Surely not every single thing you do in your life has meaning, but it might have meaning for you.

What's the point in dropping a strange negative comment like this anyway? Are you unhappy that others are happy?

j-bos
0 replies
1d7h

Focusing on the concept of deriding, or at least, minmizing, the thought intesnsive hobbies of trust fund babies: I think rich people doing weird (neither productive nor malicious) hobbies is great. That's where some of our most powerful and foundational mathematics and scientific tools came from. e.g. Newton, Raleigh, etc

gigglesupstairs
0 replies
1d2h

Some of those “hackers” are twelve years olds, so earning money may not be the most important thing for them.

francisofascii
0 replies
22h33m

Some people are just unique. I have met a few people (not many) who have endurance to work all day, and spend hours on more techy stuff at night. I can live that schedule maybe once a month without burning out.

Cthulhu_
0 replies
1d8h

I feel sorry for you that you have no spare time outside of work, but work on yourself and try and improve the system instead of shitting on other people's projects or making assumptions about their situations.

tombert
9 replies
1d21h

People figuring out ACE in old games utterly fascinates me. I remember seeing this in Super Mario World a couple years ago and I became a bit transfixed on how that was even possible.

I mean this in the best way, and I am being complimentary, but it's going to sound like I'm being a jerk: I love when really smart people spend a lot of time and effort doing completely useless things.

Is there any reason, at least immediately, to inject code into NES Tetris? No, I doubt it, but that's not the point. The point is figuring out what's possible, and figuring out what you can force some old code and a primitive computer to do. It might not be "useful" in the classical sense, but neither is a Sudoku puzzle or a crossword puzzle or playing NES Tetris to begin with.

memco
4 replies
1d21h

Is there any reason, at least immediately, to inject code into NES Tetris?

It’s somewhat obscured by all the technical details but doing this exploit does have a practical purpose: it allows highly skilled players to play longer since they can now have a way to prevent a crash that prevents them from playing past certain points. For the average player there’s no practicality to this but for those who want to compete for the highest scores this solves a limitation and opens new opportunities for competition.

krallja
3 replies
1d16h

If you have ACE, what’s the difference between fixing the kill screen bug and `score = SCORE_MAX`?

memco
1 replies
1d15h

I guess that's an open question that the community will decide. I can't speak for anyone in particular, but if you watch live streams of fractal, bluescuti, etc. their primary drive seems to be to have more game to play, not less. They already go far beyond the 'max' score that the UI can display. For them to "beat" Tetris is to play so long that there's no more game left to play not just to get the biggest number.

vsnf
0 replies
1d9h

Relatedly, this is why zfg, a famous (debateably the best) Ocarina of Time speedrunner, doesn't do Any%, and has also opted out of the 100% category. He'd rather play the game than not play the game.

konstantinua00
0 replies
1d5h

the difference right now is that score=max hasn't been shown possible yet

bawolff
1 replies
1d20h

I love when really smart people spend a lot of time and effort doing completely useless things.

Many scientific discoveries happen this way. Number theory was originally considered useless but now powers basically all public key crypto.

tombert
0 replies
1d19h

There’s that quote Adam Savage always says that goes something like “the difference between ‘science’ and ‘goofing off’ is writing it down”.

I’ve always liked that sentiment, since it sort of works to “ungatekeep” science. It’s easy to be intimidated by the seeming monolith of “science”, but fundamentally science basically boils down to “doing, testing, and measuring something” and it doesn’t really matter what that “something” actually is.

stavros
0 replies
1d19h

I love when really smart people spend a lot of time and effort doing completely useless things

It's not useless: they like doing it.

Any use other people might derive from the things you don't like doing (but still do) is either a happy accident, or something that benefits you indirectly (money so you can live, recognition, etc).

Doing something because you like it is the most immediate form of usefulness to the person it matters most: you.

albrewer
0 replies
3h26m

I love when really smart people spend a lot of time and effort doing completely useless things.

That is the epitome of this guy's YouTube channel:

https://www.youtube.com/@tom7

jpalawaga
8 replies
1d23h

Honestly, I'm surprised that it took tetris so long to be broken! I strongly suspect this will usher in a new era of any% runs, in which the goal is to get the end scene/credits of the game to run as quickly as possible.

My favourite example of this is Ocarina of Time, which has had ACE exploits for years now. The game is so totally broken, it can be "beat" in just a handful of minutes by manipulating the games memory and editing specific entrance warps.

Perhaps most incredibly, people edit the memory with their hands, using nothing more than a couple buttons and the analog joystick.

here is someone who rolled credits in just 3m: https://www.speedrun.com/oot/runs/z1l1627m

CyberDildonics
4 replies
1d21h

Honestly, I'm surprised that it took tetris so long to be broken!

Before this, what made you think arbitrary execution was plausible?

naikrovek
3 replies
1d20h

Things like this are common in software of the era, but few look for such things.

CyberDildonics
2 replies
1d19h

That doesn't answer the question at all. They said specifically that they expected this in tetris before it happened for some reason.

konstantinua00
0 replies
1d5h

...that does answer question tho?

tetris = old game

old game = expectation of ACE bugs

thus, tetris = expectation of ACE bugs

chowells
0 replies
1d15h

The entire nature of the kill screen in NES Tetris is that the game crashes because the game has written over its stack.

jvanderbot
1 replies
1d22h

I saw a similar one Super Mario, where finding a glitch in a warp tunnel triggered an out of bounds read, and prior joysticking wrote the appropriate bytes just beyond the buffer to trigger whatever they wanted.

There was another one in a Pokemon game where you had to do a bunch of buy/ sell transactions to prep memory just so, then overflow an item count to trigger a jump.

Truly fantastic stuff. Someday aliens will attack and these antics will save us.

smrq
0 replies
1d22h

Just based on reading TFA, I doubt it since the ACE apparently relies on getting to the kill screen in the first place. Imagine if OoT's ACE was triggered by the end credits rolling; you can't improve your times with it because it only happens after completing a run successfully.

bena
7 replies
2d2h

Getting to the point of arbitrary code execution is always more interesting than what you do with it after the fact.

To be able and take apart the game, find out when and where it does all this, then where you can manipulate things to input instructions, is a level of dedication that's admirable.

bena
2 replies
2d

Yeah, but once you get to arbitrary code execution, everything is on the table. It's about as interesting as just creating it from scratch. The "something" stands on its own merits, separate from how it was created.

jordigh
1 replies
1d23h

Not everything, depends on the system. On the NES, for example, you can only mess around with RAM if you find ACE, but if the cartridge is using CHR ROM, whatever you create with ACE must still use the only tileset available to the game. You can get creative drawing graphics with a fixed set of tiles, but you'll be constrained nonetheless.

There may be other constraints for other systems. I don't know the SNES architecture too well, but I assume even with ACE you're still limited in various ways to the constraints of the cartridges.

Dwedit
0 replies
1d23h

SNES does not put video memory on CHR-ROM, it's all writable RAM. The restriction is total RAM avaialble (including cartridge save ram), possibly calling functions or using data from the original ROM.

NanoWar
1 replies
1d12h

Off topic, but hey is that you, Dan from the old Ti83 World? Thanks for the huge include file and I loved your work on DQM ;-)

Dwedit
0 replies
1d

Yes, that's me.

GuB-42
0 replies
1d19h

I particularly like the Super Mario World one. Arbitrary code execution is triggered by an actual shell code. As in, it is done by manipulating Koopa shells in game.

apantel
7 replies
2d1h

Time well wasted.

freedomben
6 replies
1d23h

what do you do for fun? do you consider that time wasted?

(honest question. I did used to consider fun stuff to be time wasted, but as I've gotten older and am paying the price for a long-term high stress lifestyle, I'm starting to think differently about it)

smu3l
2 replies
1d23h

I don't think GP is suggesting the time was wasted. Rather the opposite.

indigodaddy
1 replies
1d23h

Agree that’s also how I interpreted the comment

freedomben
0 replies
1d21h

Indeed, that does seem quite plausible! Thanks.

milesvp
2 replies
1d23h

Feynman has a fantastic anecdote about getting over what we might today call burnout. He was not interested in work at all in his professorship, when he noticed a wobble in a plate being thrown, and wondered about it. He spent all day working on the physics of this toy problem, and claims discovering play as the key to his recovery.

If you haven't read them yet, "Surely You're Joking, Mr. Feynman", and "What Do You Care What Other People Think" were great reads in my 20s.

jvanderbot
1 replies
1d22h

The punch line is that the equations he worked out ended up being useful for his Nobel Prize winning work. So it ended up being useful even if that wasn't the goal.

Pearse
0 replies
1d19h

My favourite part of that story is when he shows the maths to one of the other professors they can't understand why he is "wasting time" on it.

And then he goes on to win the Nobel prize because of it..

resource_waste
2 replies
1d4h

I feel like any sort of time spent on NES/SNES in 2024 is just evidence of Nintendo doing unethical mind control/psychology tricks on children.

These people are talented, there is no sane reason they picked this project.

krapp
0 replies
1d3h

Indeed. No talented hacker in their right mind would ever touch "obsolete" software or hardware, there is literally no reason why anyone would choose to do that. Could only be mind control.

Retr0id
0 replies
1d4h

I guess the HN comment box must be doing unethical mind control tricks too.

maCDzP
2 replies
1d21h

I want to this with Factorio. Build a huge computer within Factorio made out of belts. Make it seg fault and break out of the game.

colechristensen
0 replies
1d19h

The factorio guys are way too dedicated to squashing bugs for that.

0xDEFACED
1 replies
1d21h

How long before someone runs Doom on Tetris?

layer8
0 replies
1d5h

That might require a RAM extension cartridge.

unwind
0 replies
1d11h

If you don't want to read the full article but still wonder "huh I thought NES carts ran from ROM?", then yeah they do but the exploit manages to make the CPU jump into RAM that is used to store the high score table. Fantastic.