The encoding of this movie should end on frame 85097.

  • Emulator: Bizhawk 2.4.2
  • Core Type: Pure Interpreter
  • Emulated Resolution: 320x240 (syncs in higher resolutions)
  • Active Video Plugin: GLideN64
  • Controllers 1, 2, 3, and 4 (Only 1 and 3 are used).
  • Game Version: Japanese 1.0, has text with less characters than the English version, in addition to having the fastest heap setup for SRM.
The goal of this TAS is to beat the game as fast as possible. In the previous any% TAS seen here: #3194: MrGrunz's N64 The Legend of Zelda: Majora's Mask in 1:29:32.02, Link has to beat all 4 main temples in order to summon the 4 giants with the Oath to Order to beat Majora's Mask. Since then, several new glitches and optimizations have been discovered, but recently a very powerful glitch known as Stale Reference Manipulation, otherwise known as SRM (not to be confused with SRAM) was discovered, that allows us to skip all of that.

Glitches and Techniques


  • File Name Code: File names can be used to write code when setup properly, and whenever a file is created, its name is written into an unused portion of memory until the game is reset. Because the current file name you are playing on is always loaded somewhere else in memory, this gives us access to 2 file names to point to using SRM.
  • Curved Backwalking: Holding slightly left or right when backwalking allows you to curve your momentum. This is important for achieving the best angles in certain scenarios, such as the first moment we gain control of link.
  • Curved Sidehopping: Holding slightly up and down from the direction link is sidehopping allows you to shift his momentum in that direction. This is important in sections where you either need to be turned slightly to get an angle to reach tight spots such as sidehopping across the tree stumps during the skull kid chase.
  • Untargeted Deku Sidehopping: If Z is not pressed while deku link is airborne out of a sidehop, he will continue to turn in that direction until Z is held again. This is useful because every other form of link has to land on the ground, turn, and retarget in order to turn tight corners, costing 2 frames extra.
  • Z-Sliding: Pressing Z every other frame allows you to retain your current speed without being affected by slope. The only downside is that turning costs time, but when done out of a Hyper Extended Superslide (HESS), you can achieve a Z-Slide of any angle due to the fact that after holding Extended-Super-Slide position (otherwise known as ESS), holding Z and an angle will turn link while also targeting.
  • HESS: By rolling into damage on the correct frame of links roll animation, holding the ESS position on the control stick will cause link to gain -18 speed, sending him flying backwards. His directions can be controlled by holding ESS in the opposite direction of where link needs to be pivoted.
  • Gainer: Targeting a wall and backfliping while not holding Z, then pressing Z on the next frame will cause link to gain the ability to grab onto the top of the wall if it wasn't significantly too high.
  • Tatl-Flower Skip: It is possible to skip tatls textbox near the deku flower and the flower itself at the end of the lost woods using a precise backwalk around the textbox trigger in combination with a VERY precise spin-jump to popup on the ledge.
  • Escaping Clock Town Early: It's possible to escape clock town very easily by backwalking against the guard in east clock town on the right side of the entrance. This is used to grind for rupees outside of clock town as well as skip the north clock town introduction cutscene.
  • Cutscene Skipping: The Happy Mask Salesman Cutscene can be skipped by never being on the cutscene trigger for more than one frame at a time. This can be done by continuously pausing the game to advance the game one frame at a time. Other cutscene skips such as the clock town tatl text CS skip are done by hard resetting the game as soon as the game is saved.
  • SRM: Stale Reference Manipulation, used to write data to a referenced location that isn't pointing to the original actor it was supposed to point to. This can be used to run controller 1 inputs as code, which can then be used to run file names as code, and so on.

The Route


1st Cycle


  1. Setup File 1.
  2. Reach Clock Town
  3. Reach night of the 3rd day by advancing time using grandma's stories and the scarecrows dancing.
  4. Collect the stray fairy in east clock town and escape clock town early.
  5. Farm 50 rupees from the 2 patches of grass in Termina Field and get the magic reward from the great fairy.
  6. Buy the bomb bag from the bomb shop and use a gainer to reach the clock tower platform.
  7. After the clock door opens, shoot a deku bubble at skull kid for him to drop the ocarina.
  8. Collect the Ocarina of Time, learn the song of time, and rewind time. Hard reset to skip the cutscene.
1st cycle is an unavoidable part of this TAS because there's no known way to get the ocarina without it. If it was possible to get any mask at all as deku link, we could use a glitch with honey and darling minigame to become human, but currently there's no way to do that either. So for now, the best thing we can do is use the NPC's around clock town to advance the in game time to night of the final day, and collect the bomb bag so that we can use bombs later on in the TAS. The best way to do this is to get rupees from termina field, because that will also let us get to north clock town without having to watch the introduction cutscene because we are entering it from its exit. I manipulated the RNG here in various segments, such as for the bush rupees as well as the angle of the bubble fired at skull kid in order to hit him on the first frame possible.

2nd Cycle


  1. Setup File 2.
  2. Learn the song of healing and obtain the deku mask.
  3. Leave Clock Town through the east entrance and obtain 2 bomb drops from the closet patch of grass via RNG Manipulation.
  4. HESS using the nearby chuchu as a damage source and clip behind the fence around the observatory using an acute angle with the wall, and then instantly change angle using a z-slide to reach the observatory faster.
  5. Manipulate the Actor Heap using bombs between observatory and the hideout.
  6. Trigger SRM by supersliding off of a pot using a bomb with an inverted camera to keep it culled when loading the hideout.
  7. Re-enter the observatory and drop the SRM in a certiain range of angles to point to the moons tear draw function.
  8. Line the 8 digit hex of links last targeted angle a links current facing angle to run links controller inputs as code once the draw function is loaded using the ocarina.
  9. Point to the 2 file names we setup earlier to unlock the 3rd controller to load the end of the credits with total control.
In the 2nd cycle, now that we can become human, we can trigger the SRM glitch I mentioned earlier. We can use this glitch to get the game to run controller 1's input as code, and then use controller 1 to load the 2 file names as code to enable the 3rd controller, then use both controllers to load the end of the credits. The credits noticeably doesn't have any music, and that's because we didn't warp to the start of the credits that triggers the music. The reason why we didn't do that, is because at that point in the credits there are multiple textboxes that require me to press A or B to advance, and the goal is to end input on the first frame possible to achieve the fastest TAS timing. TAS timing starts from the first frame of input to the last frame of input, so we don't want to have to go through textboxes after warping to the end of the game, so we want to warp past the start of the credits. We warp to the very end specifically, because otherwise the credits do not play out correctly, and the player will regain control of link during the credits.

Other Contributors to this TAS


  • Türkenheimer helped me determine the fastest combination of file names for triggering the total control ACE.
  • Rylie walked me through how the heap manipulation worked and explained how the angles could be setup.

Who Did What?


  • I, Bruce Shankle, TAS'd the 2nd half of 1st cycle after the scarecrow, as well as the beginning of the TAS up to the 2nd deku flower, and movement to stock pot inn. I also TAS'd the entirety of 2nd cycle up to the superslide, besides the RNG manipulation for the 2 bomb drops and the rupee angles RNG manipulation at the beginning of the observatory.
  • Fox TAS'd the tatl/flower skip, the HMS CS skip, the stock pot inn movement, and the movement to the scarecrow shop.
  • Andzura TAS'd the flower angle to sync fox's inputs for tatl/flower skip, double bomb drop RNG manipulation, rupee angle RNG manipulation, and the angles for setting up the ACE. He also researched the observatory heap setup so that we could allocate bombs on the first frame possible.
  • Seedborn TAS'd the inputs for total control ACE to load the end credits using controllers 1 and 3. He also wrote the final explanation for this submission.

Technical Explanation of Total Control ACE, by Seedborn


By passing through a loading plane while grabbing a pot, Link is in the state of 'holding' an actor which is no longer loaded. By loading other actors at an offset in that space, the properties of the grabbed item that Link is supposed to be affecting (e.g. position, rotation) become ways of writing over the new actors' data. We take advantage of this by corrupting a pointer to the function that draws the Moon's Tear present in the observatory. We redirect this pointer into Link's instance, and by manipulating his angles further redirect execution to the controller inputs.
Filenames in the game are 8 bytes, and so can be used to form mips instructions (within the limits of the Japanese characterset). Fortunately, Majora's Mask keeps a stale copy of the name of the last created file in RAM, which allows us to use the names of two separate files to form these instructions. When we redirect the game's execution to the controllers, the first thing that controller 1 does is jump to the secondary file name, which then jumps to the primary file name and then away to normal execution. Along the way we are able to erase an instruction that suppresses input from the other three controllers, which means that now we can form instructions using multiple controllers (only the inputs of controllers 1 and 3 are 4 byte-aligned in RAM, so only those two can form full instructions).
Reserving controller 3 for a jump to safe execution, controller 1 can form nearly arbitrary instructions each frame. This allows us to write a small snippet of code which, when executed, sends us to the final cutscene of the credits (and also removes the usual fadeout).

Samsara: File replaced with a more entertaining version. Time remains unchanged. Also, judging.
Samsara: Optimization looks good all throughout, and audience feedback is looking good as well. The glitches and ACE used appear to be legit, with precedence in the Ocarina of Time run.
With the small kerfuffle that happened over the branching of said run, I feel it's necessary to re-explain the logic in this judgement. Whenever we get a "game end glitch" submission intending to be the fastest completion of a game, it is always a separate category. This is to ensure that runs that execute arbitrary code are never in direct contention with any other category due to the extreme amount of power and control it would allow. Otherwise, any game that allows for ACE would essentially have every category looking completely identical, just with different ACE payloads that set the proper values to fulfill the requirements of each category. Some people have argued in the past that there's nothing wrong with this, and that "faster is faster" no matter what, but there's a major issue there in terms of our site philosophy: From the very beginning, we've always been highly focused on entertainment. Allowing ACE in all categories would slowly homogenize the site over time, driving away an audience looking for unique and entertaining TASes, and alienating new TASers by essentially requiring them to be coders in order to break in. It'd likely drive away a lot of current TASers as well because of that, since raising the barrier to entry for a fair number of games to be "MUST UNDERSTAND ASSEMBLY CODE TO START A TAS" severely limits the number of people who are actually able to look at making improvements.
On top of that, there's merit in keeping ACE and non-ACE separated, in terms of actually providing gameplay for people to watch. For example, people who want to see Super Mario Bros 3 getting destroyed are far more likely to enjoy the 10 minute warps run than the 47 frame ACE run. The 47 frame run is a novelty for sure, it's really surprising when you see "Wait, is that literally beating the game in less than a second?" and then find out that it's something that could actually be done on console, but you have that run in your head for the rest of your life after that. There's no rewatch value after that in the same way that there is with the longer warps run. Rewatch value is important not just for the casual audience, but also for RTA runners. Someone who can't do subframe inputs by themselves (i.e, literally everyone in the entire world) definitely isn't going to be looking at the run that's less than a second of subframe inputs, they're going to look at whatever the most human-doable TAS record is. This benefits both communities! RTA runners get inspired by TAS records, pushing their times down further and further, and in return they often improve TASes as well by discovering new strats or glitches, things that wouldn't come to our attention if we didn't have published non-ACE runs of those games.
So let me put it this way: Branchless does not mean any% in the way that the RTA community thinks of it. Branchless to us more or less means "standard", I.E it just beats the game within its own bounds as quickly as possible, not doing anything worthy of a branch. It's not necessarily any% (since there can be faster GEG runs), but in games that don't have GEGs, it does end up being the de facto any% label. For games that DO have GEGs, consider our branchless "category" to be "fastest completion without outside interference", I.E no ACE or memory/save corruption. I'm well aware I'm incredibly over-simplifying a lot of different things into "outside interference", which isn't the best descriptor, but it's the best I can manage to come up with right now for an explanation that can still make sense to a casual viewer. This isn't normally such a big problem, but the N64 Zelda games are a cavalcade of weird wrong warps and item swapping and game-destroying glitches that are entirely possible in-game without outside interference, making branching hard to figure out and even worse to explain. To some, there really isn't much of a difference between ACE-ing straight to the end credits and using Stale Reference Manipulation to warp directly to the Moon and finish the game from there. I understand that, but it's kind of a problem that's inherent to Majora's Mask and Ocarina of Time, and we're not N64ZeldaTASvideos so we can't just make exceptions for them without disrupting the balance of our 4300+ other publications, nearly 7000 submitted runs, and our potential future of thousands more of each.
Right now, as far as I'm concerned, if another Majora's Mask run is submitted that explicitly does not use ACE, but does use Stale Reference Manipulation to wrong warp and skip a large portion of the game, that run would be in direct contention with the published branchless run and would either obsolete it directly or be published alongside it while adopting the branchless label, with Grunz' run picking up a branch of something like "no SRM". I can't say for sure which option would be taken - assuming it ends up being either of them at all - without such a run being submitted in the first place, and I can pretty safely say that any other Judge would feel the same way that I do.
To tl;dr it, just think of branches like "game end glitch" and "save glitch" to be the de facto any% runs for their respective games even if they're not explicitly branched (or branchless) as such. To be completely sure of it, look for the Fastest Completion flag on publications. That's our explicit any% label, and this does include GEG submissions.
Hopefully that was an adequate explanation. If not, I'm happy to answer any questions in the thread or on the site's Discord. With all that being said, I'm accepting this as a new branch for this game. As for the tier, the audience's feedback improved dramatically after the replacement file added in some playaround, though feedback in general wasn't necessarily too negative even before that (lots of Yes votes despite also mentioning the initial lack of playaround), so this is going to that big terrifying-looking Moon in the sky, in the same way that Link doesn't do in this movie. Haha. Majora jokez.
Zinfidel: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15559
Location: 127.0.0.1
Lil_Gecko
He/Him
Player (98)
Joined: 4/7/2011
Posts: 520
Really looking forward to look at it. Can somebody provide an encode ?
xxezrabxxx
He/Him
Joined: 7/15/2017
Posts: 199
Location: Kentucky
It's not done processing at the time of posting this, but heres a 1080p encode Link to video Edit: it's done processing
I like to comment on submissions and look around the site. You have probably seen me before (if you have been around for a while) either on the site, Discord, or any other social media. I recently took up making temporary encodes for new submissions. Also, I never forget to greet Tompa wherever I find him! "when resyncing stuff sucks it's called Resuccing" - EZGames69 “If an emulator stops being accepted to the site it should be called an emuLAMEr” - EZGames69 "oh no discord, everything I say will now be logged forever, sdfsdf, time to hide" - Masterjun "just had to give therapy to a taxi with daddy issues" - psx Current Projects: Mother 3 (75% complete)
Lil_Gecko
He/Him
Player (98)
Joined: 4/7/2011
Posts: 520
Thanks ! So I liked the movie, so I'm voting yes, however I'm slightly disappointed by the lack of playaround while waiting for the clock tower to open. I feel like much more could have been done instead of just not moving in front.
Former player
Joined: 6/30/2010
Posts: 1107
Location: Zurich, Switzerland
This TAS is very impressive on a technical level, it's unbelievable how far this game has been pushed. It just isn't entertaining to watch. There is about a minute worth of actual gameplay, counting from when Tatl stops talking at the start of the second cycle. At an overall length of 22 minutes and 44 seconds, that's not enough for me to be entertained. The first cycle is largely running on a fixed timer and has a ton of cutscenes and textboxes to get through, with very few ways to make it interesting for a TAS. I can accept this for longer TASes, but not at this ratio. I'm voting "no".
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.
xxezrabxxx
He/Him
Joined: 7/15/2017
Posts: 199
Location: Kentucky
I found this fun to watch. too bad there wasn't much room from more entertaining. I am voting yes because I found it fun to watch and it's cool.
I like to comment on submissions and look around the site. You have probably seen me before (if you have been around for a while) either on the site, Discord, or any other social media. I recently took up making temporary encodes for new submissions. Also, I never forget to greet Tompa wherever I find him! "when resyncing stuff sucks it's called Resuccing" - EZGames69 “If an emulator stops being accepted to the site it should be called an emuLAMEr” - EZGames69 "oh no discord, everything I say will now be logged forever, sdfsdf, time to hide" - Masterjun "just had to give therapy to a taxi with daddy issues" - psx Current Projects: Mother 3 (75% complete)
Really_Tall
She/Her
Editor, Player (184)
Joined: 9/29/2014
Posts: 122
Location: Scotland
Firstly, well done on this movie. It's a great technical accomplishment! As others have mentioned, though, the entertainment is lacking. My main issue with this movie is not the cutscenes, but the waiting period. There's a massive opportunity to entertain while you have nothing to do but wait for the clock tower door to open, and simply standing still isn't putting it to good use at all. You even have the chance to show off over several screens, since the timer you're waiting for isn't screen-specific. But if you opt to reach the clock tower screen with no delay, it would still be best to make full use of the time to show anything interesting you can think of, and you don't need to climb onto the clock tower platform right away. I'm sure there are plenty of ways to entertain, and what you did before you stand still is along the right lines! MM has a large RTA community and its members will definitely have creative ideas if you're struggling to think of any. I also have a technical question: is using filename code for ACE strictly necessary? If so, then explaining the engine differences that make this movie a different case from [4324] N64 The Legend of Zelda: Ocarina of Time "game end glitch" by homerfunky in 06:37.33 (in which filename code is avoided) would be helpful. As it stands, the combination of wasted playaround potential and a ton of cutscenes don't do a great job at entertaining. I won't vote yet, since I'd love to see an updated movie with improved entertainment, and I hope the authors consider it: for now I'm between a Meh and a very weak Yes.
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
The filename code is absolutely necessary. There's no other way to activate controller 3. As for clock tower, since so many of you have asked me to redo it, I promise you all it will be redone, right now! I'm not sure what else needs to be shown off, but I will see what I can do. I guess since 1st cycle is already as boring as it is, you want something to see while waiting. I kind of assumed most people would, "take a break," from the TAS at this point since nothing I can do will actually count towards progress. Will work on it right now and resync the 5 RNG segments that come after this with andzuras scripting. Hope tasvideos allows resubmitting movies, I'm new to this site.
EZGames69
He/They
Publisher, Reviewer, Expert player (4458)
Joined: 5/29/2017
Posts: 2761
Submitted files can easily be replaced by a judge if they're uploaded to user files
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
You played the song of Credits Warp! A lot of the run is boring first cycle stuff, but that's the fault of MM and can't be circumvented even in a TAS (yet). The movement and payload were top notch, and it's great to see how far this game has come. I personally don't mind the spot of waiting (I skipped some cutscenes too) but taking a maximalist approach to 'entertaining without wasting time' is the norm and expectation around here.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
Good to know. I'll be resubmitting the movie anyways, I came up with a couple ideas to make it a little more entertaining while waiting for clock tower door since people do sit through it.
Experienced player (603)
Joined: 2/8/2009
Posts: 656
Amazing how far we've gotten over the years. Quite unfortunate, that even after all this time we still have to go trough the whole first cycle, but I'm sure in some distant future, this will also be a thing of the past. Great job, guys. The Game End Glitch looked really smooth. But something else: What actually happened to Fox's old TAS? Is the route completely obsolete or could this still be used as a blueprint for an "all temples" TAS? I would love to see my old run being shredded into pieces with all the new tricks that have been found over the years.
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
Thanks, the ACE was probably the most difficult part here. We actually tested several different strategies before I figured out we needed to use the superslide camera in order to reach the final angle. I think fox's old TAS was discontinued, and yes, the original route and any other route pre-SRM for beating all temples are completely obsolete. The fastest way to go about beating the dungeons, in theory, would be to go to ikana graveyard, SRM a quiver and fire arrows, then setup song of time storage and use grotto overlay SRM to instantly warp to whatever dungeon boss we would like, reset the game, and repeat the process of warping to the end of each dungeon. It might be faster to play on the english version though, because then you could SRM multiple items at once at the bombers hideout chest, but the slower text as well as bombers hideout being so out of the way probably wouldn't be worth it. Admittedly I don't think an all temples run using SRM would be as interesting, it would be much like this TAS except without ACE. A run that doesn't use SRM could be interesting, because in your old any% TAS, index warp wasn't found yet, and it looks like playing on the japanese version, flower/tatl skip, hms cs skip, and hard resets after saves were not even used there, so a no srm all temples would be pretty interesting. Also, just want to mention I really admire you and your TAS's!
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
https://youtu.be/hCarXvdadlI Heres the playaround that will be in the final movie. Hope that helps for those that think this movie is boring, which admittedly there is a lot of cutscenes I can't avoid or skip entirely.
Really_Tall
She/Her
Editor, Player (184)
Joined: 9/29/2014
Posts: 122
Location: Scotland
BruceShankle wrote:
Heres the playaround that will be in the final movie
Great stuff! Especially spelling out "TAS", I didn't expect anything like that. Thanks for taking a second look at that section, and I'm happy to vote Yes now!
Post subject: Please replace the current movie file.
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
This is an updated version of the movie to replace the current submission that has the playaround: http://tasvideos.org/userfiles/info/67769765549972589 .
BruceShankle
He/Him
Player (30)
Joined: 4/23/2020
Posts: 26
Hey everyone, andzura has made a new encode for this TAS! Once it's done processing, it should theoretically be in 4K. Check the top of this thread. EDIT: Its in 4k now!
Joined: 5/17/2007
Posts: 393
Location: Sweden
BruceShankle wrote:
Hey everyone, andzura has made a new encode for this TAS! Once it's done processing, it should theoretically be in 4K. Check the top of this thread. EDIT: Its in 4k now!
Thanks, I need my 4K Zelda experience to survive
"No love for the game gear"
CoolHandMike
He/Him
Editor, Judge, Experienced player (895)
Joined: 3/9/2019
Posts: 692
Nice to see this game blown through so quickly. This game I felt was one of the oddest Zelda titles by far, only topped by Zelda 2. in this tas you don't have to try and figure out where to go...you just pick up some non existent objects, play a tune and credits!
discord: CoolHandMike#0352
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15559
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4351] N64 The Legend of Zelda: Majora's Mask "game end glitch" by BruceShankle, Fox, andzura & Seedborn in 22:44.90