Newsletter
  • Get a newsletter digest every Friday:
Contact

Send me feedback, tips, bug reports, and anything else:

About me and the blog

My name is Marcin Wichary (he/him). I’ve worked as a UX designer, typographer, front-end person, and manager at Google, Medium, and Figma. I’ve also written a book about keyboards and typing, gave talks, and published essays about design, typography, and technology.

Unsung is my blog about software craft and quality.

More info about Unsung

Send me feedback, tips, bug reports, and anything else:

More info about Unsung

The Swiss Cheese model, pt. 3

After two more serious posts in this series, I wanted to stop somewhere a bit more lighthearted and inconsequential.

“Here’a a fun thing you can try,” begins this 13-minute video from Retro Game Mechanics Explained:

The premise of the parlor trick the video describes is a bit convoluted:

  • Get your Nintendo Entertainment system, put in the Mario cartridge, and power it on,
  • without powering it off, grab the cartridge and replace it with the Tennis cartridge,
  • start the game, wait until the music stops, then move around for a bit,
  • take that cartridge out and put Mario back in,
  • press A+Start and you will see that you will start at a random “invalid” level that doesn’t exist, which should not be possible.

I’ll let you watch the video for a nice explanation, but this I think is a good example of the Swiss Cheese model:

  • A+Start is real feature that allows you to continue the new game at the last level you finished (as opposed to Start, which always goes to Level 1).
  • The NES allows you to take the cartridges out and put them back in while the machine is under power.
  • The creators of Mario decided to make the game reset itself on every game over, and differentiate between cold boot and warm boot in a specific way.
  • Tennis doesn’t wipe the memory on start.
  • Tennis happens to change the memory in a very particular way that ends up being accidentally “compatible” with Mario.
  • The Mario game doesn’t sanitize the level number on entry, so you can start on an invalid/​broken level.

Just like before, the absence of just one of these Swiss Cheese holes would prevent the bug from happening. But the holes line up perfectly.

I found this whole thing kind of fun and delightful, and I actually understood why the creators of Mario decided to reset the game (with a small exception) on every game over – it’s brutal but elegant, and something I found myself wishing was easier to do during various projects I worked on in the last few decades.

Of course, there might be an argument that this is such a highly manufactured scenario (how did anyone even find that out to begin with!?), and of limited value, particularly if you end up at a random level anyway. We will pull on that thread in a future post, because the story doesn’t end here. People who spend time hacking old games go way further than this.