Actor Unloading

Figured out and explained by dragonbane0

In the Wind Waker, a memory leak exists that can allow you to unload actors by fragmenting the dynamic memory.

There are 3 memory spaces in TWW, dubbed DYN, GAME and ACT. By fragmenting the free memory into tiny slots, it is possible to prevent actors from loading. This is what is called Actor Unloading. Fragmenting DYN, GAME and ACT will all lead to unloading actors, but in a different ways. While DYN and GAME fragmentation are very much alike in execution, ACT unloading will be treated in a separate section.

Explanation Video by Zayloox
Actor Unloading Guide by azer67

Technical Info

The game has 3 memory spaces for actor data which are dubbed the ACTor space (big; used for file data; internally referenced as ArchiveHeap; size: 0xA3F000 = 10743808 bytes or 10743.8 KB), the DYNamic space (small; for dynamic actors such as rupee spawns; stores instances of loaded actors with their runtime variables; can be used as backup space in case the ACT space runs out; internally referenced as ZeldaHeap; size: 0x63D580 = 6542720 bytes or 6542,72 KB) and the GAME heap (size around 1304 KB).

  • Space gets filled up like a double linked list. The Archive and Game Heap usually allocate from Heads, while Zelda allocates from Tails.
  • Each entry points to the prior and next one. Free space has a size parameter so the game knows immediately how much can fit there
  • A separate list of loaded actors (by name) keeps track of the amount of times actors exist in the game. If the game attempts to construct an actor the counter gets increased by 1, if it gets destroyed the counter is reduced by 1. An actor gets destroyed either when you kill an enemy for example, hit a loading zone or leave the room (the actor gets destroyed after the door closes which occurs AFTER the next room loaded)
  • Once 0 instances of an actor remain in the game the memory space associated with it is declared as free (the game notes how big the space is) and the entry is wiped from the loaded actors list
  • Once you open the next door the memory manager will attempt to merge the free space with other adjacent free memory blocks which only works if there is no used memory block in-between. This process happens shortly after the next room was loaded and is intended to keep as many big memory blocks as possible and avoid a lot of smaller ones. So if you have actors loaded from room 1, the space gets declared as free in room 2 if the actor is not used in that room as well. Finally in room 3 the space will be merged as best as possible. If you kill all instances of an actor (in this case an enemy) in room 1, the space will already be declared free while you are still in room 1. Thus the memory will be merged in room 2 instead
  • Going through many rooms will naturally cause some fragmentation of this list leaving many smaller blocks in-between that can't be merged until you hit a loading zone in which case everything gets cleared
  • When a new actor needs to be loaded in ACT, the game loops through the list from top to bottom and tries to find a big enough slot to fit the data in. If an actor is too big to fit into any of them including the remaining memory at the very bottom of the list (which can only realistically happen with fragmentation and many actors loaded at the same time), the game throws an allocation error. A failsave kicks in and the game attempts to reserve space in the DYN space instead (this space doesnt get touched by file data otherwise)
  • If the DYN space is already filled as well the game throws a second allocation error and finally an archive mount error. All space is filled up or there is not a big enough slot to fit the data in, the actor can not be loaded
  • Due a programming oversight the instance counter will still be increased, but since no actor was actually spawned, no destroy process will occur if you leave the room or hit a loading zone. Thus the instance counter can only rise and will never hit 0. This creates a dead actor that will never be cleared from the loaded actor list and has no data associated with it. Thus when the game attempts to spawn an instance of that actor in the future it will already find the entry in the list and assume the actor was loaded, but since there is no pointer to any memory space the spawn process will always fail. Even if plenty of memory space is available later, the game won't attempt to load the actor object again. This can only be fixed by either overflowing the instance counter to set it back to 0 or reboot your console
  • Furthermore, the game only has 64 total slots to store loaded actor names. If you happen to fill up this list to the max by creating a bunch of dead actors, no actor can be loaded anymore period.

Duping Techniques

In order to start corrupting actors, you first need to lower either DYN or GAME to critical levels. This is usually done using a duping method listed below.

Arrow Duping

Discovered by R3D

When in mid-air, if you press the bow button and hold it, then press b for one frame and then switch over to the bow again, an arrow will be stuck in Link's hand. This works with any kind of arrow and this works indefinitely. Using this glitch you can fill up DYN space anywhere.

Item over Head

You can also fill up DYN by getting items stucks above Link's head. To do this, pull out an item above Link's head after playing the Wind's Requiem from a Wind Waker dive with text storage, and cancel the action of pulling it by chosing a wind direction (see Wind's Requiem Storage). This works with everything Link can hold above his head, including all trade items, the sail, letters, and spoils.

Note: Doing this with the sail also gives you Text Cancel.

A more complicated version of this also exists for NPCs rewards instead of items you can pull out. Get Text Cancel and Wind's Requiem Storage at the same time. That way, if you interact with a NPC that has a reward you will go straight to it, skipping the dialogue beforehand. Then cancel putting the item above your head with the wind prompt. In most cases the item won't be considered obtained, so repeat the process to get as many items over your head as wanted.

Forest Firefly Duping

By using the Item Swap glitch, you can dupe forest fireflies. Forest fireflies are on a timer so contrarely to the other methods listed above you can only use this technique to fill up DYN for a limited amount of time, and is limited to 200 kb max if done perfectly. As such this technique should be used to complement another.

Bait Duping with OoB Throws

Discovered by TrogWW

If you throw bait OoB, the game won't clear it properly. Every small ball of bait takes up a slot in memory. If the piece of bait that takes the right most spot in memory gets cleared then you can throw bait again. This way and combined with the fact that you can item swap bait to use them without losing any, you can throw bait indefinitely to lower DYN/GAME, but it is RNG.

Bait is made of 21 balls. Each ball takes about 1.4 kb in GAME. Due to the requirements to be able to throw more bait, to maximize the odds for bait duping you will want to make sure only a single piece of bait goes OoB and all the others unload properly. To be optimal however you will want to maximize the number of bait that goes OoB and make sure the piece of bait that lands inbouds is the one necessary to be able to throw more bait. This means that the faster you try to dupe bait the worst the odds are. A TAS would be able to dupe a perfect 20 baits per throw, whereas a human should aim for 7/8 baits per throw to average decent odds and speed.

Trade Item Duping at a Pedestal

If you place down a flower (or any trade item) onto a pedestal as you are falling, a flower will be stuck in mid-air. That flower is fake but still takes a slot in DYN. After doing this, pick up the real flower and do this again to dupe it.

Pot Duping

Discovered by TrogWW

Using Door Storage, you can duplicate pots in Stonewatcher. Store the Wind Emblem text where the chest with the Triforce Chart is, and store the door leading to the hub room. Store the text again then store the door leading to the bokoblin room. Pick up the pots then put them in the hub room. Open the (already opened) door leading to the hub room from the bokoblin room. Repeat this process to duplicate pots.

This ONLY works because when Link carries things above his head then the game can change the room association of the object. As such, this technique also works with frozen enemies and anything that can be carried above your head. This also works with Morths which attach to Link, and is the reason why Morth duping works.

Wind's Requiem Prompt Duping

Discovered by Legendoflinkk

Perform the Wind's Requiem Storage. Right before the prompt appears, pull out the wind waker, and play the wind's requiem again. Right before that second prompt appears, close the first prompt by pressing B and pull out the wind waker again. You have now stacked two wind's requiem prompts, and you can continue stacking more and more of them. Each prompt takes 20KB in the GAME heap.

The frame window to close the prompt is really tight, if you are too early you will cancel every prompt you have at once, and if you're too late you will be unable to pull out the wind waker to continue the dupe.

Morths Duping

On both Outset and Forbidden Woods you have access to Morths. If you get morths to attach to Link, leave the quadrant/room and then come back you can get more morths to spawn and attach to Link. This way you can dupe morths to fill up DYN/GAME. In Forbidden Woods, simply going in and out of the room isn't enough, for some reasons you need to do this multiple times (usually around 10 times) in order for Link to get his full speed back. Only then can more Morths attach onto Link.

Enemy Sword Duping using Wizzrobes

In rooms with Wizzrobes that can spawn enemies with swords, such as Bokoblins, Moblins, Darknuts or Stalfos, kill the enemy and wait for the wizzrobe to spawn another. This duplicates the enemy sword and can be used to lower DYN.

Jalhalla Poe Duping

You can dupe Jalhalla Poes using the Poe Stun Glitch.


Corrupted Actors

Only on the japanese version

Explanation on Corrupted Actors

  • Arrow dupes, invisible bombs, duped items (sails, fireflies, etc.) all decrease DYN and GAME Heap space. Usually GAME Heap runs out first and is not impacted further and will be cleanly wiped upon every single loading zone, same with the ACT Heap. However the Zelda Heap has a memory leak exclusive to the japanese version.
  • When GAME heap is extremely low, actors can fail to load. This is the case with every actor that uses up GAME, but GAME will need to be higher or lower depending on what actor it is. Trying to spawn an actor with too low GAME (or too low DYN) will make it fail to spawn. However, if GAME is critical, the information of that actor will still spawn in DYN despite not being able to spawn in GAME. This causes what's known as a corrupted or invisible actor. On the japanese version, because the game lost the reference to that actor, this corrupted data will not be overwritten or wiped, even after going through loading zones. Thus this slot in DYN memory space will not clear properly, causing a memory leak that allows Barrier Skip.
  • On the PAL and NTSC-U versions, this memory leak is patched by the game clearing this data in DYN on the next frame after spawning.
  • Once you've corrupted a single actor and used up a slot in DYN with it, the game will always perform a hard reset to clear all corrupted memory when you attempt to soft reset. If you want to savewarp with corrupted actors, perform a deathwarp instead.

When the game tries to load an actor, it first loads some initialization data. That data takes up 52 bytes in memory. When you corrupt an item with high enough DYN for it, you will corrupt whatever DYN the actor you load needs. If you have low DYN, you will only corrupt this initialization data.

Corrupted Actors Documentation

This section aims at documenting the requirements to corrupt each meaningful actor. Link's items are especially useful because they can be pulled out as many times as wanted to corrupt until satisfied. Otherwise, anything that can be spawned indefinitely is good.

ActorGAME max alloc needed for full corruptionDYN corrupted / DYN max alloc needed for initialization data corruption
Ice Block formed by Ice Arrows [Arrow_i] <55 kb none
Grappling Hook [Himo2] <37 kb 10 kb
Effect around elemental arrows [Arrow_l] <10 kb none
Arrows (except Light Arrows) [Arrow] <4.9 kb 1.8 kb
Fairy [SFairy] <4.5 kb 2 kb
Bombs [Bomb] <2.4 kb 2 kb
Bomb Flowers [Bomb2] <2.4 kb 2 kb
Tingle Bombs <2.4 kb 2 kb
Light Arrows [Arrow] <2.2 kb 1.8 kb
Boomerang [Boom] <2 kb 4.5 kb
Forest Firefly [Nh] <1.9 kb none
Any trade item on a pedestal [Fobj00] <1.8 kb 1.8 kb
Rupees [item] <1.6 kb 1.7 kb
All-purpose Bait [Esa] <1.4 kb 800 bytes one piece of bait, 16.8 kb a full throw (if bait is corrupted you will only corrupt what would be one piece of bait)
Hookshot none 1.4 kb

Please note again that if you try to corrupt more DYN than what your DYN max alloc is, you will only corrupt the initialization data (=52 bytes).

It is possible to corrupt a forest firefly, however only for a single frame: the game considers the firefly vanished so it clears the slot. The same thing happens with items over Link's head (actor [Ditem]) or the ice blocks generated by ice arrows [Arrow_i] for exemple.

While the memory leak in DYN was patched on the PAL and NTSC-U versions of the game, unloading actors is still possible via GAME fragmentation. However GAME clears upon entering loading zones.


Hyxost's Invisible Bombs

All versions, Discovered by Hyxost

A glitch known as Invisible Bombs will cause both DYN space and GAME space to corrupt instantly, without needing to first have critical GAME or critical DYN. To perform the glitch, you must pull out a bomb on the overworld and either place it down or throw it before the island fully loads. This results in the bomb turning invisible, and not unloading properly. By pulling many invisible bombs you can usually fill up DYN and GAME space enough to cause many of the following glitches. This is the only known memory leak in GAME, and the only one that doesn't require critical DYN or GAME in the first place.

This is also the only known memory leak on the NTSC and PAL versions of the game.

Notes:

  • Picking up such an invisible bomb that is on the ground will crash your game.
  • You are limited to 3 invisible bombs at once, since that is the maximum amount of bombs you can have pulled at once. Once you've placed down 3 invisible bombs, enter a loading zone to be able to pull bombs again.
  • The game keeps track of the invisible bombs coordinates through loading zones since the bomb is never wiped out from memory. Trying to press A next to where you previously placed the bomb will make Link attempt to pick it up and that will crash the game, even if that invisible bomb was placed down several loading zones back.

PROC_OVERLAP Corruption

Discovered by LegendofLinkk

By triggering a loading and then transitioning between different room assigned collision during it, the 4 bytes from PROC_OVERLAP0 get duplicated and corrupted in the DYN heap every frame until the loading ends. This is a way to cause permanent corruption in the DYN heap without lowering GAME first. This can be done by soft-resetting right as Link steps over collision that changes the room number, or by voiding-out right as Link changes quadrant on the overworld. Map glitch can be used to speed up the corruption process.

When performing a soft-reset after performing this glitch, the game will hard-reset instead if an actor is unloaded from the title screen.

Video example using Map Glitch

Memory Fragmenting

Once you've spawned many corrupted actors and filled up DYN heap with them, you will notice that this doesn't mean all new actors will immediately fail to load. When corrupting actors, you are limited to only be able to corrupt whatever DYN heap is free in the area you are in. As an exemple, Forest Haven has less free memory than Hyrule, and so corrupting actors in FH and then going straight to Hyrule will not unload any actor in Hyrule (or only a handful at best).

This is where fragmenting the memory comes into play. By fragmenting the free memory into tiny slots, you can unload small actors even with a lot of free memory space still available. Once you've corrupted many actors, simply loading a new area will naturally fragment the memory each time. In Speedruns, fragmenting is done by following a superswim route through specific quadrants to load some islands that are helpful for the wanted fragmentation.

While fragmenting the memory isn't always necessary (you could just fill up the memory with initialization data corruption over and over again), it saves an enormous amount of time in most cases.

Once you've lowered DYN/GAME with a duping technique, spawned many instances of a corrupted actor and finally fragmented the memory, then you are ready to perform the skips listed below.


Uses for DYN and GAME Fragmentation

Actor Unloading has almost as many uses as actors you can unload, and as such this list will be limited to the most useful applications in speedruns.

The main 2 uses are:

  • Unloading actors that block a faster path to the end goal (such as the Hyrule Barrier or the Trial Door)
  • Unloading crucial actors to skip cutscenes

When skipping a cutscene with actor unloading, you will end up on the cutscene state and usually with very low DYN max alloc left. This means there is a high risk that reloading the area will cause a softlock as the memory could be too low for the loading zones to work properly. If you can, try freeing memory first (by breaking a pot for exemple), then reload the area. The next time you re-enter the map where the cutscene took place, the game will consider that the cutscene played correctly and whatever is supposed to take place after the cutscene will happen. For exemple, this allows for skipping the Ganondorf cutscene without dead-ending your file (any other known cutscene skip method would dead-end). All the flags the cutscene is supposed to set are set when skipping cutscenes this way, with the exception that you don't obtain items the cutscenes would give you in most cases (you don't obtain fire and ice arrows if you skip the fire and ice arrow cutscene, you don't obtain din's, farore's and nayru's pearl if you skip the dungeon cutscenes).

Forsaken Fortress 1 Cutscene Skips

By fragmenting DYN, it is possible to unload the Forsaken Fortress 1 cutscene. Unloading this cutscene is rather strange as if you have enough memory for a loading to work after the cutscene skip, it will immediately trigger the next cutscene on Windfall. That next cutscene can also be unloaded to save more time.

If you do not have enough memory to trigger a loading after this specific cutscene skip, it is a softlock as you do not gain control over Link back and nothing will happen. If you could have control over Link you could simply break a pot or a chair to free some memroy and trigger the loading.

Deku Tree Cutscene Skip

To unload the Deku Tree Cutscene, you need to unload the Deku Tree actor. Once the cutsene unloads, maneuver (blind) to the potion shop loading zone and go back out. You can now obtain the leaf without watching the cutscene.

Actor Unloading is often setupped inside Forest Haven before obtaining the Deku Leaf due to the low free GAME memory this area starts with. Thus you usually haven't started fragmenting when the time to get the Deku Leaf comes up. However, going back and forth between the overworld and inside Forest Haven at least 3 times is usually enough fragmentation to be able to unload this cutscene. You will know the cutscene is close to unloading if there are only about 4 chus on the Deku Tree's head.

Pulling out the Wind Waker, or any cutscene for the matter, after this cutscene skip always softlocks. Thus there is no way to free memory after this cutscene skip (since you can't catch a firefly to free memory). This means that there is a chance the loading zone won't work after the cutscene skip, and so this is rather luck-based for RTA-runs.

Early Quiver or Bomb Bag

With DYN fragmenting, it is possible to unload the vines and the invisible wall blocking the entrance to Thorned Fairy Island, as well as the barricade blocking the entrance to Southern Fairy Island. This allows for obtaining a quiver or a bomb bag early.

Note that this is also possible on PAL or NTSC-U by performing a duping method on the overworld and superswimming around to fragment GAME instead.

Nayru's Pearl without Bombs

Discovered by azer67

By unloading actor agbB, you are allowed to use tingle bombs near the wall you need to blow up to obtain Nayru's Pearl. Tingle Bombs require some free memory to be used, so collect a rupee or defeat some chus before attempting it. The tingle bombs can be used even from the main island, you only need to bring the cursor over the wall. As such, this is also a method of getting Nayru's Pearl without KoRL (and without chest storage).

Note that this is also possible on PAL or NTSC-U by performing a duping method on the overworld and superswimming around to fragment GAME instead.

Early Iron Boots or Power Bracelets

Only on the Japanese version

With precise DYN fragmenting, it is possible to unload both the fire at Fire Mountain and the ice ar Ice Ring Island, while making sure that the loading zone is still active. This allows for early access to these islands and obtaining both the Iron Boots and the Power Bracelets early on the japanese version. You can also unload the actor that causes the freezing on Ice Ring and then walk around on that island despite it still looking frozen.

While it is possible to perform a duping method on the overworld and superswim around to fragment GAME instead to unload the fire and the ice on the PAL and NTSC-U version, trying to enter Ice Ring or Fire Mountain early doesn't work on those versions because you instantly void-out once in the cave.

Cabana Deed Skip

With DYN fragmenting, it is possible to unload the door in front of the Cabana loading zone. This allows early access to the Cabana without the need of the cabana deed.

Note that this is also possible on PAL or NTSC-U by performing a duping method on the overworld and superswimming around to fragment GAME instead.

Tower of the Gods Skip

Discovered by TrogWW

By fragmenting DYN space, you can only actor [xtower] (the tower of the gods actor) which prevents the cutscene of Tower of Gods raising from playing. This allows you to have control of Link on the cutscene map (the ADMumi map). On this map, savewarping will put you at the bell at the end of TotG, skipping all of the temple. Note that you still need to enter the temple later if you want the Command Melody.

Down to Hyrule 1 Cutscene Skip

more info to come

Helmaroc Cutscene Skip

Discovered by TrogWW

With DYN fragmenting, it is possible to unload the Helmaroc cutscene. This skips both the cutscene and the Helmaroc fight. This also sets all the flags related to the cutscene (animation set 2 and the fact that the helmaroc fight can start).

To free memory after this cutscene skip, break a pot while you are climbing the ladder. This will guarantee the loading zone at the top works.

Courtyard Cutscene Skip

With DYN fragmenting, you can unload Tetra and thus skip the Courtyard Cutscene. A consequence of this is that this makes skipping the Forsaken Fortress 1 possible, as this cutscene would normally crash if you don't unlock KoRL. The last savewarp flag also isn't set by this cutscene skip.

Tetra to Zelda Cutscene Skip

more info to come

Barrier Skip

more info to come

Medli Cutscene Skip

more info to come

Leafless Trials Skip

By fragmenting DYN in a very specific way, the Trial door can fail to load. This also works without relying on any memory leak by filling up GAME in the first room of Ganon's Tower (using between 211 and 213 arrow dupes) and then opening the door, making this unload possible on PAL and NTSC-U.

Light Arrows Skip

It is possible to unload the wall in the Phantom Ganon's room in Ganon's tower with DYN fragmentation. This also works without relying on any memory leak by filling up GAME in a specific way in one of the side rooms and then opening the door to the main room, making this unload possible on PAL and NTSC-U.

Grand Staircase Skip

If you unload all the enemies in the Grand Staircase, the door will unlock immediately. This saves a lot of time when you are skipping the light arrows. Alternatively, you can also unload the door at the top which also skips the door opening cutscene.

Puppet Ganon Cutscene Skip

With DYN fragmenting, it is possible to skip the Puppet Ganon cutscene. This also sets all the flags for having watched the cutscene, thus if you save and reset afterwards and go up the staircase again, the Puppet Ganon fight will start immediately.

After this cutscene skip, any cutscene (such as pulling the wind waker or the death cutscene) are softlocks. And because the memory is so low after this trick, this means the only way out of Puppet Ganon's room is to save and quit. Thus Puppet Ganon cutscene skip with Storage is usually prefered.

Ganondorf Cutscene Skip

With DYN fragmenting, you can unload the Ganondorf cutscene. This sets all the flags for having watched the cutscene. After unloading this cutscene the barrier around the arena won't spawn (as it isn't there during the cutscene). Thus you can jump into the void to reload the area and start the fight.

There is no way to free memory after this cutscene skip, thus the reload is considered luck-based. If your saveflags are set to Ganon's Tower, then you can also save and quit to skip this cutscene consistently.


Things to Avoid

Fadeouts

There is an actor (actor [Bg]) that is possible to unload without doing any corrupting, by simply fragmenting roughly the memory by superswimming around. That actor is basically the base room itself, the walls, the floor, the ceilings, the collision, and can be for an island or for a dungeon room. This was probably known by the developpers, as trying to unload that actor always causes a safety fadeout (white during the day, black during the night). This is most common on Windfall, but can actually happen in any room in the game with GAME fragmenting.

However, this safety fadeout cannot happen during the Back In Time glitch. As such, you can experience what happens when [Bg] unloads by activating BiT with the death method, superswimming around the ocean and then going to Windfall. On Windfall with [Bg] unloaded, all the actors are loaded except for the Windfall Island itself. As such, all the NPCs will fall on the ocean floor, and some things will be floating in mid-air (the switch for the windmill or flowers for exemple). When Tott lands on the ocean floor then the game crashes, but you can keep him out of the camera view to still mess around with the island without crashing.

[Bg] unloading showcase with superspeed cheat

In standard gameplay, if after the fadeout the game still can't load [Bg] then you will softlock. This only happens when using Hyxost's invisible bombs technique.

Voids

When loading the overworld with DYN very heavily fragmented, it can happen that when the game calculates your coordinates in the water it thinks you dropped a huge amount of height, causing you to void-out. In this state, you can only stay on the island you currently are, and trying to superswim away will cause you to void. Sailing away with KoRL will reveal that every island is completely unloaded. Sometimes reloading the overworld will fix this, but sometimes you can get stuck in an endless loop of this happening and there's no way out but savewarping to clear all memory.

Crashes

Unloading certain actors can crash the game. Some exemples are: unloading the barrels of the Spectacle minigame, or unloading the bombs shot by canons. Unloading the endless night lightnings due to low GAME also crashes, and thus if you setup actor unloading inside Forest Haven during endless night, you should try to not lower GAME to the extreme.

Discovered by Zac

Unloading some actors from low GAME specifically can also cause some data to get loaded at address 0x80000000 instead, due to a null pointer. This is a reason why low GAME causes more crashes than low DYN.

Softlocks from Cutscene Skips

Right after performing some cutscene skips with Actor Unloading, both pulling out the Wind Waker and dying can cause Link to freeze, causing a softlock. Make sure to save or reload the area before doing any of those actions. It is common that loading zones won't work right after a cutscene skip, but it's not always the case. You can however guarantee they will work by freeing some memory before entering the loading zone (breaking a pot is the simplest exemple).

HUD Unloading

This only happens when DYN is extremely fragmented. Some data about your hud and you health won't load. This prevents you from using items, losing health, small keys or pausing. This will never happen if you are following a speedrun route.


Uses for ACT Fragmentation

While it is a lot harder and time consuming, it is also possible to fragment ACT. If done in a specific way, you can completely prevent an .arc file from getting called, and this prevents the actors linked to that .arc file from ever appearing on all files until you hard reset the game. The execution of this unloading method is very different from the DYN/GAME method, and does not involve any memory leak.

The only places where ACT fragmentation can happen without an extremely lengthy setup are in dungeons. Usually it will happen in the Earth and Wind Temples by messing around with door storage.

Song Stone Unloading (ACT)

Video showing the glitch happening:

  • ACT space fills up (and gets fragmented) if you go through the entire temple and reach the room before the song stone (even without anything stored)
  • Due to too much fragmentation/actors loaded the game can't allocate enough space anywhere for the Bokoblin actor data inside the room before the song stone. An allocation error is thrown. Game switches to the DYN space and finds enough space to store the actor data there
  • After the room before the song stone loaded, the unloading/merging process of unused actors/memory space from previous rooms frees up enough space again for the song stone actor (if you dont store a chest)
  • Storing a chest fragments the memory even more since in this case the butterfly pendant model has to be loaded and can't be cleared. This is due the instance counter remaining at 1 until you savewarp/hit a loading zone which destroys it. So that piece of memory can't be cleared and merged with other adjacent free memory while you are moving inside the dungeon. It just so happens that having this setup puts the pendant roughly in the middle of the remaining memory which results in the merging process not being able to do much since it is in the way. Thus none of the remaining slots are big enough to fit the song stone actor
  • Now the ACT space is filled up/fragmented and the reserve in the DYN space is used as a failsave for the Bokoblin actor
  • While attempting to load the song stone in this situation the game throws an allocation error for the ACT space, tries the DYN space and throws a second allocation error. The game now gives up and finally throws an archive mount error

This will permanenly unload all Song Stones in the game until you perform a hard reset.

Wizzrobe/Moblin/Stalfos Unloading (ACT)

It is possible to fragment ACT inside dungeon by using door storage a lot to load many rooms at once. If done in specific ways it is possible to unload other actors than just the Song Stone. This works with Wizzrobes, Moblins and Stalfoses for exemple.

Wizzrobes
Moblins
Stalfoses

Tower of the Gods Skip (ACT)

Discovered by dragonbane0

By fragmenting ACT space in a specific way, you can prevent the cutscene of Tower of Gods raising from playing by unloading the tower of the gods arc file. This allows you to have control of Link on the cutscene map (the ADMumi map). On this map, savewarping will put you at the bell at the end of TotG, skipping all of the temple. Note that you still need to enter the temple later to get the Command Melody.

General Stuffs

  • Savewarping/hitting a loading zone will clear most space and fix potential problems/fragmentation. So this glitch will only work well in dungeons/overworld. To unload things past a loading zone you need to be on the japanese version and corrupt actors.
  • Door storage inside dungeons can also help to reduce available memory space
  • Most of this applies to Twilight Princess as well and could be the cause of the Devil/Ben cutscene glitch
Last updated 07/16/2024 – azer67