1 2
7 8 9 10
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
Link to video Link to video 4 player 100% TAS WIP from nicovideo
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
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
How was this accomplished? Has someone completed this project? In terms of speed, I feel like 4 players will be too slow because of lag. Maybe 2 players could work. However, rather than multiplayer speedruns, I'm more interested in seeing (or making myself) little multiplayer playarounds: - Can multiple Kirbys jump on top of each other continuously to stay in the air? - Can two Kirbys slide off of each other over and over? - I've also always wondered if anything special happens when several "Magic ability Metaknights" are summoned.. - Dark Mind 6 with four Kirbys should allow to get a score of ~960. - Possibly more glitch theories could be explored... Playing with multiple Kirbys gives you more freedom than playing with just one. That reminds me that I had the idea to control the other Kirbys by hacking. This would only work when they are in the same room though. EDIT:
Hidaruma wrote:
星のカービィ鏡の大迷宮の4人協力プレイTASです。 NO$GBA Ver2.6とキーボードマクロを使用して作成しています。 作成者:火達磨 追記数:11515 マクロファイルがテキストベースのものなので、 上書き保存した回数を追記数として手動で数えています。 作成環境の都合上音はありません。 100%TAS(sm7865941)とAny%TAS(sm19260907)の動作をパk・・・参考にしています。 最適化はあまり気にせずに完成を目指して作成しています。
(...) It is created using the keyboard macro and NO $ GBA Ver2.6. Author: Hidaruma Rerecords: 11515 "Macro file is because they are text-based, We are counted manually as the number of times the number of write-once you have overwritten." (...) This is being created with the aim of completion without worrying too much about optimization.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I may go and do a new boss endurance TAS. I could save about 5 seconds. For future reference, Metaknight can be killed by smash ~2 frames faster than throw. (Although I'm not sure if the luck I got with throw could be improved further.. It looked impossible) old route
(get smash)
moly
gobbler
kracko
wiz
titan
golem
hands
minibosses: waddle, rocket, fighter
minibosses: batfire, boxy, hand
minibosses: frosty, bonkers, phanphan (get throw)
meta
darkmeta
darkmind 4
darkmind 5
darkmind 6
EDIT: It seems that when Kirby is inhaling, he accelerates downward a bit faster. EDIT: It seems that from standing still, when Kirby jumps 1 frame into a direction he accelerates X-speed much faster than if he jumps very high. I saved 228 frames (3.8 seconds) in my new boss endurance so far, up until the Dark Metaknight fight. I saved 349 frames (5.81 seconds) in my new boss endurance so far; right now I'm at Darkmind 5.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I tried to figure out helper kirby RNG but I couldn't do it. Each Kirby has its own memory section with a bunch of timers and stuff that I don't understand. These timers have influence on the when and what of abilities that helper Kirbys will get. Do note that when helper Kirbys aren't in the same room as you, they will acquire any abilities randomly at random times. If I understood it better, it could be possible to do what I suggested many years ago: Manipulate helper Kirbys to get Magic over and over and then have them use it so you get abilities that you need but can't mix yourself. For example Smash as soon as you enter the Golem boss fight. Or UFO in that one underwater room where you have to go all the way around since you can't hit the bomb block inside the wall.. Could save another minute in any% TAS possibly. info dump from my research
02021165 = 1 byte  next ability for Yellow
0202118B = 1 byte current ability for Yellow

020214b5 1 byte next Green
020214DB 1 byte current green

02021418 4 byte X pos
0202141c 4 byte y pos

020214ac 1 byte status :

---
0 stand
1 crouch
2 stand-left-soft-slope
3 crouch-left-soft-slope
4 stand-right-soft-slope
5 crouch-right-soft-slope
6 stand-left-hard-slope
7 crouch-left-hard-slope
8 stand-right-hard-slope
9 crouch-right-hard-slope
10 surprised
11 walk
12 stop
13 slide
14 slide-end-left
15 jump
16 jumping somersault
17 falling
18 fall further start
19 falling further
20 landing
21 landing somersault
22 wallbump left
23 wallbump right
24 wallbump top
25 running
26 inhale start
27 inhaling
28 inhaling more
29 inhale stop
30 inhale success
31 floating start
32 floating
33 floating
34 floating
35 floating
36 spitting air
37 swallow
38 spitting star
39 get hit
40 hop
41 flat
42 go through door
43 spitting air end
44 stand
45 ladder up
46 ladder down
47 stop
48 go through door
49 go through door end
50 turn around
51 kiss
52 water spit
53 start water spit
54 end water spit
55 tumble
56 stand
57 walk
58 fall facing down
59 fall
60 end fall facing down 
61 swim side
62 swim up
63 stay swim up
64 go through door
65 spitting star underwater
66 stand water spit
67 swim face away
68 swim face down
69 stand more left
70 stand more up
71 stand more down
72 swallow
73 end spit underwater
74 dead
75 dead 45°
76 dead 70°
77 dead 90°
78 dead 135°
79 dead 150°
80 dead 180°
81 dead 215°
82 dead 230°
83 dead 250°
84 dead 270°
85 dead 290°
86 dead 315°
87 dead 340°
88 dead 360°
89 dead 45°
90 star hold
91 star hold 2
92 treasure pose
93 cannon duck
94 cannon 
95 pose
96 treasure pose
97 phone pose
98 phone start
99 phone calling
100 phone calling
101 cannon expose
102 cannon duck
103 stand pose 
104 ball somersault
105 ball somersault
106 inhale more
107 inhale more
108 landing somersault
109 landing somersault
110 landing somersault
111 throw hold
112 throw hold
113 throw hold
114 throw hold
115 throw star
116 throw star end
117 throw star end
118 stand
119 stand
120 stand
121 inhaling insuccessful
122 burn damage
123 


---
1 Fire
2 Ice
3 Fireball
4 Wheel
5 Parasol
6 Cutter
7 Beam
8 Stone
9 Bomb
10 Throw
11 Sleep
12 Cook
13 Laser
14 UFO
15 Spark
16 Tornado 
17 Hammer
18 Sword
19 Cupid 
20 Fighter
21 Magic
22 Smash
23 Mini
24 Crash
25 Missile
26 Master
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I will upload the new boss endurance TAS shortly. http://dehacked.2y.net/microstorage.php/info/905702393/katam%20boss%20rush%202014.vbm http://youtu.be/TIZHr_4cqvU Here are possible improvements while I still remember them: - Room transitions can be optimized here and there for 1 frame gains (this was already mostly done) - Better strats? Looks unlikely - Only call 1 or 2 Kirbys instead of 3, saves 1 sec or so (waiting time for post-Darkmind 5. I didn't do it because I didn't consider this to be such a time loss; Manipulating only 1 or 2 Kirbys will be harder and redoing the last two fights takes me more hours of work which I don't want to spend) - Dark Mind 6 lag reduction (Usually in KATAM TASes, I don't optimize this fight too much. I generally check that he doesn't cause too much lag but that's it. Maybe a few frames can be saved therefore.) -------------- Mirra explanations (If this image stops loading in a few years from now, please pm me then) The hitbox for one Mirra is located at $02000059 --> 0x30 or 48. In all directions from Mirra's position, this makes a box of 96*96.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Brainstorming ideas to improve 100%: (This section moved to https://tasvideos.org/Forum/Topics/2095?CurrentPage=9&Highlight=530538#530538 ) This should save 2~6 minutes. todo: 100% is stored which address? Does it change when entering new rooms and opening any chest? There might be rooms or chests we don't have to handle. -Still nobody has figured out how Helper Kirby RNG works so we can't manipulate them to get Magic all the time to save about 1 minute (theoretically). Such places would include the Olive Ocean room where I have to go around an obstacle with Missile, taking 10 seconds, or any route where I have to keep an ability such as Smash for many rooms whereas I could have used wheel throughout and then magic-mixed for Smash. edit: I cannot seem to find a % address so it's probably always calculated only at the file select by going over flags.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I cannot figure out how the progress is calculated in this game.. The .sav file keeps track of all the flags. When loading the game and when entering a new room, it seems to get written to. A copy those flags is located at ~$0E0000C0 onwards. I was told the .sav gets loaded there. But even though I edit the flags back to zero in the .sav file (I deleted the .sav the emulator uses and then used the "load battery file" feature on the edited .sav), and do the same to the $0E00... part, the flags somehow persist and turn back to 1 again. Sometimes when editing the sav, the game would deem it corrupted and flush the save slot. As long as I don't figure out how the game calculates the % at file select, I can't start the new 100% run I'm afraid. I don't want to miss the chance of possibly avoiding rooms or chests that don't even count to %.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I have made a script that tells how many rooms, chests, levers, big chests... have been completed. (please no comment on how badly it's written, I didn't really care) http://pastebin.com/phSLwKVL Now I need to find out which of them give how much %. I make rough estimates at line 511. Tutorial content may not even count. So I'm going to cheat myself out of the tutorial by using address 02020FE6 which stores the room that I'm brought to after I die. (If you cheat yourself into Darkmind intermission rooms, the big mirror there will be incomplete and not let you move on) (The beta room and possibly the arena-only rooms (I didnt check) have own flags but the game gives 100% even if you didn't visit those, of course) ... 0065 = Rainbow Road 1 0066 = Radish Ruins 26 0067 = Rainbow Road 5 0068 = Rainbow Road 4 006A = Rainbow Road 2 006B = Rainbow Road 6 ... 0088 = Rainbow Road 16 ... 0144 = Mustard Mountain 12 (Kracko) ... 0212 = Cabbage Cavern 2 ... 0323 = Tutorial 1 ... 0337 = Olive Ocean 10 ... 0390 = vs DarkMind2 0391 = DarkMind Intermission room (Water) 0392 = vs DarkMind3 0393 = Darkmind Intermission room (Ice) 0394 = vs DarkMind4 0396 = vs DarkMind5 0397 = vs DarkMind6 ... 03B6 = Ability room (Arena) 03B7 = Intermission (Arena) ... 03BD = Arena room (Arena) ... 03C9 = Beta 1 03CA = Ability room ---- 8 rooms = 1% 15 rooms = 2% 23 rooms = 3% therefore 1 room makes up ~2/15 %. (34/256?) 22 rooms + 2 chest* = 2% 22 rooms + 3 chest* = 2% *1up, meat, 1up therefore 1 chest makes up 1/31 ~ 1/45 %. (8/256?) The tutorial rooms, the tutorial chest, the hub room, the ability room and arena-only rooms do not count. The Dark Metaknight room, all Darkmind battle rooms and the intermission rooms do count.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
The chest at the beginning of rainbow roads has less than 1/8 % but is required. FretziSR even went through the game for me collecting everything but that chest. I might do a few more tests but I think I gained enough insights. ----- I tested cook glitch again (since it's currently the most promising thing that can break the game): - It seems it does not work on enemies that spawn after an event occurs (e.g. miniboss dies at Radish Ruins canyon or cherry is collected in Olive Ocean) - There is a 19 frame window to do the glitch. That means, the glitch occurs when you are in the last 19 frames of your Cook ability + helper Kirby uses Crash OR obtains an ability + enemy has come onscreen. - The Cook glitch works on helper Kirbys too. It seems helper Kirbys have their own "screen" although it's smaller. The glitch will occur also when you use your phone (instead of Crash or obtaining an ability). Helper Kirby uses cook to fetch 1 enemy. I obtain an ability at the very end of the fetching process + enemy has come onscreen. The 2nd enemy is now also fetched but doesn't fly to the bowl fully. Haven't seen a side effect of this yet but shows that partial cook glitch is also possible.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Browsing nicovideo to look for new glitches. Found this one (a "useless for speedruns" one): Link to video - After entering the big mirror, have Dark Metaknight hit you with a tornado attack and kill him. Then die. This causes all sprites to become invisible, at least until you kill a boss. - It hasn't been confirmed if this works at all, and if it's exclusive to a game version. - I haven't investigated this glitch yet. TODO: Look for other ways to reverse the glitch effect / combine with cook glitch if possible / combine with Dark Mind 6 sprite bug if possible
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I tested darkmind sprite glitch in mgba because when doing the glitch in a specific way the game can freeze and then crash 10 sec later, which seemed weird (this happens in VBA). I wanted to test what mgba's reaction was to that glitch. Turns out instead of crashing like that, it keeps going and turns the kirby invisible. (yellow kirby had fighter) Quoting video description of the original video:
Tested abilities: Sword, Bomb, Missile (applied directly onto head), Beam, Fire, Tornado, Laser, Parasol, Stone, Burning, Ice, Cutter, Wheel, Spark, Crash (flashing), Cook (flashing), Smash (nothing special), Magic (flashing), Master Will crash the game: Hammer, Cupid, Throw (will reset game after a few seconds), Fighter (will reset game after a few seconds) Doesn't do anything: UFO Untested: Mini, Sleep
Unfortunately, I don't know what happens when done on the real console. On GBA/GBPlayer you have to be very lucky and cpu kirbys would need to have the right ability for it to work, so maybe it could be tested on wiiu(?) with the restore points if it fails. ___ More testing results below: - Cupid crashes mgba or throws an error (invalid jump to address 1c211c20) - Hammer same as Cupid - fighter and throw both seem to cause invisibility as described above ___ After 3 hours of testing, I have probably confirmed the glitch works on console as it does in mgba. I have only gotten it to work with fighter (kirby turned invisible), so can't say what happens with hammer/cupid.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Someone on my Youtube comments said they encountered an unknown glitch 2 years ago. They finished off Master Hand (miniboss version probably) and clipped out of bounds after/when Master Hand died. They had Master equipped. Unfortunately it looks like that's the only information we're going to get.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I wanted to research unused content and found this thread which helped me change enemy and object IDs. Basicly you can edit object and enemy slots in the ROM to make different things spawn. Unfortunately, I didn't really find any unused content. JP Prototype ROM $0871A5C0 (ROM) - ID of first waddle doo in RR US Version ROM $088B4B50 (ROM) - ID of left area mirror, main hub room
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Katam luascript https://www.youtube.com/watch?v=MDrRTe8ejH8 v0.1 https://pastebin.com/ytVatDhq v0.1.1 https://pastebin.com/tAjfWhNE v0.2 https://pastebin.com/qx5aAUK3
v0.1.1
    - Fixed that the enemy display didn't work.
v0.2
    - Improved enemy display, now actually shows all the slots at reasonable performance.
    - Improved code a lot.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I'm happy that I figured out the mechanism behind the helper Kirbys keeping enemies "alive" in the rooms that you aren't currently in. The enemy/object slots basicly hold the ID of the CPU Kirby that's still in the room keeping them "alive". I tested with Cook glitch and it just stacks the enemies until nobody is in the room anymore (which I already knew, but seeing it with the script is nice.) Unfortunately helper Kirbys are quite unreliable because they never do what I want them to do, or they leave the room which wipes all the enemies that I wanted to keep stacked. The game doesn't check if there are too many enemies so you can crash the game if there are too many at once. In fact, you need about 67 to crash the game and the highest I got was 20 with Cook glitch. I think it's possible but very hard. Maybe human players could do it easily. There is no gain from the lag/crash, no ACE potential I think. But who knows. More interestingly, I noticed something about Cook glitch: Enemies can be fetched to the bowl without Kirby starting cooking (see 0:30). What I didn't know is that the game creates a food item in advance which floats in the air forever until Kirby finishes cooking. If an enemy is converted, it can spawn again. So it may be possible to stack food items until you reach 67 slots. EDIT: Found easy method for food item stacking, video soon. EDIT: Link to video
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
v0.3 https://pastebin.com/eCp67w9w
v0.3
    - Added Kirby hurtboxes.
    - Added hitboxes (projectiles, sliding, etc.).
    - Edit buttons "+" and "-" now always show.
    - Hitbox display now shows underneath other displays instead of on top.
				
Known issues:
    - Attack hitbox display is buggy, laggy and incomplete
Post subject: Map load times?
Joined: 9/13/2018
Posts: 9
I'm TASing this to see if I can beat MUGG's established record (first TAS, don't bet on it), and as I was comparing what I have so far against his run I noticed his second area load was always 6 frames faster than mine. Is this an emulation artifact? I can't find any mention of lag reduction on any of the KatAM pages. Unrelated thing I may as well put out there: Not sure what caused this, but when I went back and reoptimized the first room, the rest of the run desynced because my initial speed in the second room was 64 instead of 32 (meaning I hit maximum aerial speed a frame earlier than I should've). It doesn't look like I had any speed or distance carry over from the last room, but I obviously did something. After shaving off another frame in the first room, my starting speed in the second room was 32 again, so I (thankfully) didn't need to redo anything I had already worked on. EDIT: Both of the "Next Ability" addresses that MUGG found were 38 bytes before the "Current Ability" address. If that's a constant, Red's next ability should be at 0x0202130D.
Post subject: Re: Map load times?
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
karashiiro wrote:
I'm TASing this to see if I can beat MUGG's established record (first TAS, don't bet on it), and as I was comparing what I have so far against his run I noticed his second area load was always 6 frames faster than mine. Is this an emulation artifact? I can't find any mention of lag reduction on any of the KatAM pages. Unrelated thing I may as well put out there: Not sure what caused this, but when I went back and reoptimized the first room, the rest of the run desynced because my initial speed in the second room was 64 instead of 32 (meaning I hit maximum aerial speed a frame earlier than I should've). It doesn't look like I had any speed or distance carry over from the last room, but I obviously did something. After shaving off another frame in the first room, my starting speed in the second room was 32 again, so I (thankfully) didn't need to redo anything I had already worked on. EDIT: Both of the "Next Ability" addresses that MUGG found were 38 bytes before the "Current Ability" address. If that's a constant, Red's next ability should be at 0x0202130D.
Sorry for the late reply. I did my runs on the VBA-rr emulator. Newer runs should be done on Bizhawk with the mGBA core. I can't really help with the other thing you brought up. I never knew about such a thing with differing starting speeds... About Red's address, are you saying it is wrong in my lua?
Joined: 9/13/2018
Posts: 9
Oh, I haven't gotten the lua working in BizHawk >_> I only pointed it out because it wasn't in the research post... from four years ago. But looking at the lua now, it is different. That's probably just because the address in the lua is from EWRAM, while the one I got is in the System Bus. As for the speed increase, it only happened once, and after optimizing the first room again, the second room started at 32 again. I still don't know how to make it happen intentionally, and I haven't seen it happen since. Edit: Attached (JPv1.1). I don't know what to make of this. User movie #51027925753261746
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Oh, I haven't gotten the lua working in BizHawk >_>
It's working for me on 2.2.2, 2.3 and 1.12.0. Here is what I learned after a bit of research (using the lua): When walking on the ground, your speed increases 32 speed every frame with a maximum of 332 speed. When holding a direction through a screen transition, it will be seen as a button hold and you receive 32, 64, 96, ... speed. When the game registers a new button press, you will receive an additional 32 speed so you receive 64, 96, ... speed. This happens if you start holding a direction at the same time or after Kirby can move. Note that there are special rules in place for movement in the air. For example, acceleration works differently and when falling down, inhaling briefly may accelerate you faster.
Joined: 9/13/2018
Posts: 9
Half button presses (」°ロ°)」 time to go back and change everything... Actually I just totally misunderstood your explanation I don't actually need to change anything for that. Neat find, though. And I knew the thing about aerial acceleration and inhaling, but thinking about it, there are some places I haven't tested that so I need to go back and change things anyways. I'll try and get the Lua working later today, but when I tried it before (BizHawk 2.3), it just had a black box in the top-left that said "Script".
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
karashiiro wrote:
it just had a black box in the top-left that said "Script".
Yes, you click on it and go from there. I'm happy I could help.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
User named Viperision asked for help on Banana bug, so I compiled this information for them: Banana bug It happens when the banana falls down and lands. When landing, one Kirby has to be inside the banana, and another Kirby has to create a pause (by L-warp, R-call, transformation, etc.) The pause has to commence at exactly the right frame or it won't work. If successful, the Kirby inside the banana will be pushed up every frame until he leaves the banana's area of effect, for the duration of the pause. GIF With Hitboxes
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Possibility of skipping warp stars While investigating % flags and room IDs, I saw that the room that Kirby is considered to be in (according to EWRAM $020FE6, 16 bits) changes as soon as Kirby touches a warp star. If it was possible to die while touching the warp star, you could go to the next area sooner. I tried thoroughly but it didn't seem to be possible to touch an enemy and the warp star at the same time. I also tried with Bomb Kirby's self damage, doesn't work. The flag for visiting the room the warp star goes to is still only set when it starts fading it. Flags bug When you unlock all switches, if you soft reset on a certain frame, the "have the all abilities room" flag is not set and therefore the all abilities room is not unlocked and cannot ever be unlocked on that savegame anymore. It is not required to have it for 100%, though. Double Hammer hit twitch vod Dezero showed me a twitch vod of a possible double hammer hit on Dark Mind. https://www.twitch.tv/videos/46416545 It is not fully understood, but the theory is that it happened because the mirror changed properties or hitbox, therefore accepting another hit earlier than normally possible.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
My research on flags and room IDs is complete. I added all flags to my lua, boosting the flags table from 45 to a whopping 451 entries. Katam Lua v0.4
- Added many more flags, including all which are required for 100%!
Notes:
  • The game sets flags for when a room was visited and if any of the doors are gone through (indicated by blue flashing light above a door). Only the "visit flags" are required for 100%. These visit flags are included in the lua. The "go through door flags" are not included.
  • The game saves progress on flags etc. when you visit a new room or when flags are written to (by opening chest, hitting a switch, etc.). When using the lua to edit flags, you need to go through a door or open a chest etc. in order for the game to save your changes.
  • There are flags for both "opening chests" and for "owning its contents". Only the former is required for 100%. Both types of flags are included in the lua.
  • The tutorial chest is required for 100%, so please ignore my previous statement that said otherwise. Not that you can skip it anyway.
  • These are not required for 100%:
    • Having visited the main hub room (801)
    • Having visited tutorial rooms (803, 804, 805)
    • Having visited world goal rooms (980, 981, 982)
    • Having visited the ability room (970)
    • Having visited the beta test room (969)
    • Having visited the arena rooms (950, 951, 955, 956, 957)
    • Owning the ability room, color sprays, music sheets, sound player, world map, area maps, extra health from heart pieces. You will receive all of these things anyway, though, when completing the required switches or chests.
  • The game does not set the "visit flag" for the very first tutorial room, unless you die and respawn in it.
  • $0203AD2D is some sort of flags/status address. When you beat the final boss and the final cutscene (with the Kirbys on a white screen waving at the player) finishes, the latter gets set to 0x27, which means 4 bits are set. All 4 bits are required for the Master Sword to appear and for 100%. The address exactly prior to it, $0203AD2C is also some sort of flags/status address. At least one or some bits need to be set for the Master Sword to appear, but it is not required for 100% I think. The required bits are set automatically at some point in a playthrough.
  • After the final cutscene, after $0203AD2D is set to 0x27, I saw that $0203AD2C is set to something for one frame, and then to something else the next frame. You can cause a "flags bug" by soft-resetting before it assumes its final value. But there don't seem to be any apparent noticeable effects from having $0203AD2C bugged in this way.
  • Here is a map that shows each room's in-game ID (in yellow on black). It's interesting to see which parts of the game the devs seemed to have worked on before others, and which rooms where added later or squeezed in.
1 2
7 8 9 10