Submission #3406: pirohiko & MUGG's SNES EarthBound "glitched" in 09:01.77

Super Nintendo Entertainment System
Earthbound (U) [!].smc
Submitted by MUGG on 12/24/2011 9:55:40 PM
Submission Comments

Game information

Earthbound (also known as Mother 2) is a game where the hero, Ness, is just an average 13 year old kid from the suburbs... until the night a meteor lands in his backyard. The local wildlife starts attacking him, he begins to realize psychic powers, and a mysterious messenger from the future tells him that he must save the world, but before he faces any of that Ness has to change out of his pajamas. With a baseball bat as his weapon, Ness begins a quest to stop an evil alien presence from destroying the world. He will later meet with Paula, a girl with strong psychic abilities, Jeff, a young genius with the ability to repair broken things, and Poo, a prince from far, far away who also happens to have strong psychic abilities.

About the run

  • Uses warps
  • uses two controllers (?)
  • Abuses programming errors
  • Genre: RPG
Used emulator: snes9x rerecording 1.51 v6

Due to the many revisions of this run shortly after its submission to the site, we now have 2 notable runs that I'd like to present separately.
This 20 minute run improves the published run by 38229 frames (10 minutes, 37.15 seconds). It goes to the End Credits.

Credits: 09:26.13
The End: 20:04.96

This 9 minute run improves the published run by 78021 frames (21 minutes, 40.35 seconds). It goes to the The End screen. It was decided that this version of the run would obsolete the published run.

Credits: skipped
The End: 09:01.77

Comments written by mugg.
In the previous run Ness heads out to make his way to the circus tent in Threed in order to use the "Check area" glitch there. This glitch occurs if you check certain places that aren't located on the map (10.2 MB). The game reads from random places in the memory and may rarely crash, warp you somewhere, bring up menus etc.
There are many such glitch spots as the red spots on this map [dead link removed] indicate (ignore the notes). As you can see, and as came to my attention shortly after the previous run was completed, there's such a glitch spot right at the top of Onett and only a cliff separated Ness from it. After some testing it turned out you can bypass the cliff with a Skip sandwich, which we could get at the Onett bakery, fortunately.
I had much hope the run could go near or below the 20 minute mark with this new route since all the stuff up to Twoson is skipped (the run was at this point in February 2011). I came up with a lot of rather interesting stuff and I posted it in the forum topic. I could warp to Twoson, Threed, Dalaam, Winters, Belch's Factory, Fourside's Bar or start many sequences such as the tunnel ghosts in Threed pushing me back, or the photoman shooting scene. But there just wasn't anything useful that could lead me to the credits or the debug menu.
As time passed, Ross Miller (Sprocket2005) posted a 4 minute run [dead link removed] using the same route, but without a Skip sandwich. So he could skip all of the night part in Onett and go to the glitch spot while Ness was still in his pajama. The run is considered fake because neither pirohiko nor me could bypass the cliff without a skip sandwich and looking at the video frames of sprocket2005's video, Ness walks literally through the cliff diagonally which is impossible since any diagonal movement is stopped when walking against a solid wall whereas walking vertically or horizontally may eject Ness and let him move on sometimes. It's also considered fake because the author never provided an SMV (instead he blocked me on YT), and is known to have created fake runs in the past. Needless to say, I was rather pissed since I spent much of my time trying to replicate his run and the way he walks through the wall without a skip sandwich. His Mother3 runs are the only runs I'm fairly sure he didn't cheat on.
Eventually, I managed to bring up some debug menus in Fourside's bar, but most of them were glitched and I was stuck after going to Event 70 (Giygas defeated). Of course, by this time I pretty much lost my motivation and only tested every now and then when I felt like it, for an hour at most. I took my "Threed warp" SMV I posted in the forum topic and tried going to the tent from there. I tried saving & restarting in the hotel, then going to the tent and surprisingly I got a debug menu but, as far as I remember it was too slow and didn't save time over the published run. Some days ago I got the debug menu in the tent again, by pure luck and it was fully functional and useful. This led to the 25 minute TAS that was initially submitted.
Just within two days after submitting, pirohiko surprisingly managed to make some multi-minute savings which brought the run's time down to 20 minutes 9 minutes ! This goes to prove I was a little hasty with submitting the run on the same day it was completed... Due to the large savings, the old submission was canceled and the TAS is now re-submitted.

Explanations on 2p Input, text-based RAM, etc.

Since I have a hard time understanding the technical aspects myself, since pirohiko worked on them all by himself, I'll be quoting him.

7E0073 (becomes 14 if there's 2player input, then decreases)
7E0074 (always zero)
7E0075 (depends on the buttons pressed, A=0x80, X=0x40, L=0x20, R=0x10...)
7E0076 (depends on the buttons pressed, B=0x80, Y=0x40, s=0x20, S=0x10, ^=0x08, v=0x04, <=0x02, >=0x01)

If these addresses have values 0A, 00, 80, C5, the game will go from the glitched blank textbox to the debug menu (pirohiko apparently found this by investigating the Game Genie code that makes the debug menu appear when checking your ATM card). By pressing a 2player button beforehand, we can have 7E0073 be 0A. And by pressing ABYv> at the right frame in the blank textbox, we make addresses 7E0075+7E0076 be 80 CD. Using this method we could make the debug menu appear right away.
For future reference:
<pirohiko> Yes, I used 2P input in 32066-32076
<pirohiko> 0A is GOTO code, and 08 is GOSUB
<pirohiko> The message which was out of order after warp again by having changed it to GOSUB appears.


The route:
  • Went to the glitch spot in Onett
  • Debug menu was triggered right away, by abusing text-based memory
    though I don't understand this very much. Pirohiko plans on writing some explanations
  • The debug menu is used to warp to "Onett". By keeping a glitched text pointer and using screen positioning, pirohiko managed to go to the "The End" screen right away.
This run has been updated many times after submitting it. It went from 25 minutes to 21.5 minutes, then to 20 minutes and now it's 9 minutes (without the staff roll). I take my hat off to pirohiko for finding these multi-minute improvements!

ROM version change

The old run used the Japanese version because the debug menu could be reliably manipulated in it. This time around, the debug menu couldn't be manipulated at all in both versions. Much more time was spent testing on the US version because people kept saying the debug menu only appears in the Japanese version, and I wanted to make a run on the version most people are familiar with (and the English version is prefered on TASvideos). The Japanese version would be about a minute or so faster, but I have no idea if the same route could have worked. Probably an entirely different route would have been born if I had focused on the Japanese version - or maybe it wouldn't have been successful, who knows.

Closing words

Thanks to Nitrodon (for our conversations), Fractalfusion (for lua help) and others. Feel free to ask questions.

Mukki: Judging...
Mukki: Updating the submission with a file that skips the end credits. While the time difference may seem large, the two runs are virtually identical with the exeption of the ending.
Mukki: Accepting as an improvement to the currently published run.
Dacicus: Publishing...
Last Edited by adelikat on 9/23/2023 5:24 PM
Page History Latest diff List referrers