Object State Each "greater area" in Skyward Sword stores the state of various objects in a binary blob in the save file (yes, I know I'm not technically using the term 'blob' correctly; but bear with me). I'm gonna call this data "object state" because it stores the state of objects and I don't know what else to call it. These blobs are each 16 bytes long, and they're arranged in a huge array with the first blob starting at off+0x1A64, the next at off+0x1A74, and so on. I don't know how far down it goes. The first blob is Skyloft's; the next is shared by Faron Woods, Deep Woods, and Sealed Grounds; the next is Lake Floria; and so on. More than one map can share the same blob, but it doesn't always draw along obvious lines, so I can't really give a good solid definition for "greater area". I'll also treat each of these blobs as an array indexed from 0 to 15 (or 0x0 to 0xF, I should say). When you save your game, it stores a byte at off+0x5319 (I'll call this the 'state index byte' because I don't know what else to call it) that tells it what index in the array of object state blobs it should look at when reloading that file. When it needs to refresh the state of objects in BiT, it does so by looking at the array in the file you selected, goes to the index specified by this byte, and reads the blob there as though it was meant for Skyloft, even if it's really not. It's important to note that the arrangement and schema of one blob, have nothing to do with any other. What would be a perfectly reasonable blob in Faron might be complete nonsense if inserted into the spot of the Skyloft blob, for example. Note: if you monkey with the state index byte, you still won't be able to get your file to load your area into a bizarre state. I'm guessing that the game performs some sort of sanity check to make sure that this index belongs with the map you're saved in. This begs the question of why it stores this byte at all since it calculates it on load, but I don't so much care about that. Anyway, some interesting bits in the object state blobs... Interesting bits in the blobs The UA gate’s “open/closed” flag is stored in Skyloft's blob at position (*0x2)&0x20 (in your save file at *off+0x1A66 & 0x20). The BiTmagic log is stored in Faron's blob also at position (*0x2)&0x20 (in your save file at off+0x1A76 & 0x20). So that's why they're related: Deep Woods is in the "greater Faron Woods" area, so it's looking at Faron's "object state" blob when it tries to calculate what various stuff should look like in BiT Skyloft. You've pushed down the log; therefore, (*0x2)&0x20 is true. Therefore, the Skyloft object state interpreter thinks the UA gate should be open. Ergo, BiTmagic. The LA gate’s “open/closed” flag is at (*0x1)&0x01. That bit in Faron gets set when you fight Machi's bokoblins. Note: the bit doesn't have to do with the fight itself--it's something about the area that is changed as a consequence of the fight. I have some ideas what it might be, but I really don’t care enough to test them. The thunderhead cutscene plays because of (*0x3)&0x20. Skyloft uses this bit to store a flag that measures whether the beam from the tower to the thunderhead, is drawn. Faron uses it for opening Skyview Temple. There are a few other bits around there in Faron's blob which are related to opening Skyview, but I don't know and don't care what they individually represent--it's enough to know that you set them all to true when you open Skyview. If you set some of those bits to true and others to false by hacking the save, then when you load your file in the Deep Woods area, it will automatically play the Skyview-opening cutscene. I'm guessing that what happens here is that the game reads from disk part of the data associated with that cutscene, which tells it that it must have completed part of that cutscene, so it finishes the cutscene for you. I'm pretty sure the same thing is going on in BiT with respect to early thunderhead. You're basically telling the game that it just rendered the beam to the thunderhead, so it decides to complete the thunderhead-opening cutscene for you, which writes the rest of the data and actually opens the thunderhead. How thoughtful. Note: the thunderhead bit (*0x3)&0x20 in Eldin (Eldin's state index is 0x04, so this byte is in your save file at off+0x1AA6) is set when you blow up the rocks that are guarding the key piece on the side of the hill (the key piece we get 3rd in the current speedrun route). You can get early thunderhead (at UA statue or by bonking into certain trees) to work in Eldin because of this. This is the same reason it works at the Earth Temple save prompt--Eldin's thunderhead bit is set correctly. The light tower cutscene plays when both windmills are turned. The south windmill is at (*0xD)&0x02. I don’t know what the summit (state index 0x05) stores there exactly, but it’s something that gets set when you beat fire sanctuary (note: I've SOMETIMES seen it set to true on files that haven't entered fire sanctuary, but it seems to ALWAYS get set when you beat fire sanctuary; I don't know what it actually represents). The village windmill is right next door at (*0xD)&0x04. The summit uses that to store whether the first frog has been watered. (the flame wall is separate; this is just the state of the frog actor) When you have both of these conditions met on a file saved in the summit, you can get the light tower cutscene to play inside BiT. The shed door opening is (*0x5)&0x02. That position in Eldin reads whether you’ve opened Earth Temple, so it’s possible to get that cutscene to play in BiT with an Eldin file that’s opened Earth Temple. Of course, every blob has all of these positions, so there are ways to get basically any one of these cutscenes/effects inside BiT from just about any file, if you know what object state to hit in the area the file is saved in. I've just included the ones that are most commonly used/seen. How to load object state into BiT But the game doesn't refresh this state in BiT just by selecting a file. You also need to flush the cutscene queue. You can do this by bonking a 5-rupee tree or pushing the box or talking to a save statue or probably a few other things I don't know about. BiTmagic files do this automatically when you select them, because Deep Woods is special (I'll get to that in a minute). So if you prep a BiTmagic file by pushing down the log but then you save it in Faron proper instead of Deep Woods, you can still get the gates to open--you just have to flush the queue with that file selected in order to get the same effect. This is why, for example, you can't play the thunderhead cutscene by just selecting a save that's at the post-Skyview save prompt. You have to use the BiTsave method because it needs to flush the cutscene queue in order to refresh the object state and play the cutscene. What makes Deep Woods special (as regards BiTloading, anyway) is the byte at off+0x30FD. It's part of what Antidote called "level scratchpad". (there is a ton of this scratchpad, btw; at least a few hundred bytes worth, and as far as I can tell it's all true-false flags) I have no idea what Deep Woods or Skyloft use this byte for, but if (*off+0x30FD)&0x0A is true in a file, then selecting that file in BiT will automatically flush the cutscene queue. What makes Deep Woods special is that, for whatever reason, by default when you enter Deep Woods it stores a 0x16 in this byte. Since 0x16&0x0A is true, you can just select a file saved in Deep Woods to automagically open the gates or play the thunderhead cutscene. Note, however, that not all methods of flushing the cutscene queue, are created equal. If you have a save in Eldin that's opened earth temple, for example, you can get the shed cutscene to play followed by the thunderhead cutscene if you bonk into the trees on the south side of the path; or you can get the thunderhead cutscene to play alone if you talk to the UA statue, but the tree on the north side of the path, or any other save statue, won't play either cutscene. I have some intention of researching why this is. (maybe there are multiple cutscene queues?) But I just haven't had the time or motivation to look into it so far. Skyloft Trial Gate So we should be able to load anything that's represented in Skyloft's object state blob, into BiT Skyloft just by finding another area that uses the same bit for something we already do in that area. And, as luck would have it, the trial gate is stored in Skyloft's blob at (*0x9)&0x20, in object state. (nothing related to opening Sky Keep itself is stored in object state, so we're never going to trigger the Sky Keep cutscene with just object state) The corresponding bit in Faron is set when you complete the Machi chase. (probably represents some Fi text that's supposed to lock you out of exploring the woods until you complete the Machi sequence, but I don't care enough to find out) But the trial gate still doesn't load when we select a BiTmagic file, even though the right bit is set in Faron. I don't know everything that's stopping it, but I know at least one thing that's stopping it: the state of Skyloft. The game stores the "area state" of the area you're saved in, in the save at off+0x53A5. It's a magic number that describes the general state of the current area. You can get some pretty funny behavior by monkeying around with this byte, especially in Skyloft. Anyway, the state of Skyloft during BiT is 0x1C (title screen Skyloft). And this state specifically turns off the trial gate. To see this, you can just open the trial gate normally on a practice file and then BiTsave: you'll see that the gate is gone in BiT Skyloft but is back as soon as you go through a loading zone and return, because you've loaded Skyloft in a state other than 0x1C. So if we are to have any hope of loading the trial gate into BiT (at which point you would, hopefully, only need to enter the gate and start your target file as the screen fades out, to get a free ticket into the trial), we need to load BiT into a state other than 0x1C. AFAIK, at present the only way to do this is to enter a Skyloft-facing loading zone at night (usually this means leaving a house at night). This operation will result in one of two things: either Skyloft loads properly at night, or the game crashes. So we need a file that has two properties: it won't crash BiT when it's the target of a reload, and it is in a state that would allow the trial gate. Any file that has not yet placed emerald tablet, will not crash BiT. (this includes the corrupt file, btw) Any file that has beaten Sky Keep, will not crash BiT. AFAIK (which isn't much, I admit), any file in between these two points, will crash BiT. So it seems that we need a file either at the very beginning or the very end of the game. One experiment I did: I took a file saved during Fi escort. It did not crash BiT. I edited the file, changing one bit: setting the trigger that tells the game I've placed emerald tablet (not hacking it into inventory--just the game progress trigger). After that hack, the file now crashes BiT. So I'm pretty confident that placing emerald tablet is the trigger that causes the crash. [see the edit at the end: this is not actually the "placed tablet" bit; it's the "hero's tunic" bit] The problem is that these states (very beginning and very end) also explicitly disallow the trial gate. If you hack the trial gate into a save before placing emerald tablet, the gate won't show up in the game until AFTER you've placed the tablet. (I haven't tested ALL the pre-tablet states, but I've done a smattering of them) It's like the game is programmed to detect that you couldn't possibly have opened the trial gate yet since you haven't placed the tablet. I have no idea why the magic trigger is placing the tablet as opposed to...you know, something that is actually related to the trial, like getting harp or SotH. As if that wasn't bad enough, the "area state" of Skyloft after beating Sky Keep (0x08) ALSO prohibits the trial gate. I took a file that had just placed Ruby tablet (so, early in the game but not too early), hacked "area state" to 0x08 and added the trial gate, and the gate didn't show up. I entered a house and immediately exited, and the trial gate was there, so the hack was done correctly. This post-SkyKeep state of Skyloft hates the trial gate. And anyway, the game doesn't "turn off" the trial gate in the save file once you complete the trial. The game's Skyloft map logic handles this, and it seems to be as follows: if (emerald tablet not placed OR "area state" of skyloft is after SkyKeep OR stone of trials is in inventory) then disallow the trial gate. This is suspiciously inconvenient, but it's the way it is. Any file before placing tablet, prevents the trial gate. Any file after beating Sky Keep, also prevents the trial gate. And it seems that anything else will crash the game. These two requirements for a file that would allow early trial seem to be mutually exclusive. They're almost perfect complements. (I say 'almost' because there's a little overlap: from getting Stone of Trials to beating Sky Keep, you have a file which will BOTH forbid the trial gate AND crash BiT) EDIT #2 22/Apr: Further research on discovering the conditions which cause the game to not crash when exiting a house at night. The following experiments were done on a save with the corrupt file in slot 2 and the same BiTmagic file in slots 1 and 3. It should be noted that an ordinary BiTmagic file, when used to exit a house at night, will cause a crash. A table of results. The same results were seen whether the file being modified was the BiTmagic file or the corrupt file. Sky Keep beaten Sky Keep not beaten (set by modifying *off+0x8E7 at 0x04) With Hero's Tunic Statue missing Crash Without Hero's Tunic Statue missing Fi escort or Skyloft with heavily restricted actors (set by modifying *off+0x8E9 & 0x10) "Statue missing" means Skyloft is in area state 0x08 which prevents the trial gate even in normal play. The Fi escort state (0x02) also prevents the trial gate in normal play. The state with heavily restricted actors is the right area state but because of the triggers, it still prevents the trial gate in normal play. The difference between the "Fi escort" and "restricted actors" states is another trigger that is, for the moment, unknown. I thought it was the loftwing tutorial (*off+0x8E6 & 0x08), but that is incorrect or at least incomplete. That flag alone will not cause the Fi sprite to load and the Fi theme music to play.