We linked to a Skawo video yesterday, the one about flash card rumble motors activating when playing Link’s Awakening DX. Well I happened to have this one open, so here’s another: the last gasps of a failing PPU chip, shown off in several games. (5½ minutes)
It starts out seeming to work okay, but it isn’t long before it becomes obvious that something very wrong is happening. If you ever wondered what a failing graphics chip looks like, well, this will show you one example of it happening. Chips can fail in any number of ways, and there’s no guarantee that another PPU in the process of expiring will expire in the same way, but this is the kind of thing that can happen.
The Game Boy doesn’t have a Rumble Pak. Of course it doesn’t; where would you slot it? But a few games were released for the Game Boy Color (and Game Boy Advance too) that have built-in rumble motors. Because of this, it’s impossible, with unmodified physical hardware, to separate the Rumble from the Pak. If the game supports rumble, it has the motor included; if it doesn’t support rumble, it won’t have the motor. Pretty simple.
Except. Some people discovered, if you put Link’s Awakening DX onto some flash carts with a rumble motor included, there is a point during the game where the rumble will activate. Skawo on Youtube looked at the game’s code and sought an answer as to why. (10 minutes)
The tl;dw: GBC rumble motors are controlled via a MBC5 chip, a chip not dissimilar to the now-famous MMC line of chips on the NES/Famicom. Writes to ROM space are caught by the chip and used to activate functions. The main purpose for these chips is to switch between memory banks, but one bit in the written byte activates or deactivates the motor. Link’s Awakening DX uses a MBC5 and a miscoded write that activates any included motor. The MBC5 usually ignores these writes because it checks the cartridge header to see if it includes rumble support, a check that fails for this game, but GBA flash carts run will use an emulator to run GBC games, and if the emulator is inaccurate it might trigger rumble motor regardless of any header.
So why is the value written anyway? I’ll leave that for the video to explain, but it has to do with the additional save information added for the Color Dungeon, and an issue in the game when it saves puzzle completion data for areas that aren’t in dungeons.
The gameplay of The Legend of Zelda: Majora’s Mask is famously limited to three days. After three days the moon crashes into the town, destroying it. You have to go back in time before then (which also saves the game) and continue completing subquests in a non-linear, atemporal kind of way.
But as it turns out, there is a way around it, which puts the game into a sort of limbo. People who would ordinarily be moving around on their schedules are completely missing. Entering into some buildings crashes the game. In any event you’re stuck until you finally play the Song of Time and reset the world, getting events back on track.
But how does this happen? And how is the time system implemented internally? It turns out to be quite the interesting breakdown. Skawo (I imagine it said like the Daleks’ home world pronounced by Elmer Fudd or Homestar Runner), who is starting to seem almost like the PannenKoek of the Ocarina of Time engine games explains it in 15 minutes, here:
Wow, Ocarina of Time has some bizarre glitches. There is one where if you talk to a character with a specific object in hand, you get absolutely the wrong item in return. I need to pin down the details so I’ll talk about that one later.
In the meantime, here’s another ridiculous glitch, explained by Skawo. (7 minutes) Skawo’s style is to use onscreen text to do the talking, which I can appreciate since I usually have subtitles on anyway.
In brief, due to the way the game handles weather, if you enter Kakariko Village during a certain story event, then leave it immediately, it starts raining heavily, then doesn’t have the chance to stop. The game handles lighting separately for each time of day and each kind of weather. Kakariko has a table for the specific kind of weather for that event, HEAVY_RAIN, but most places don’t, so the game refers to a table of garbage data to provide lighting for places. That causes Hyrule Field to take on a bright purple hue, among other places. Have a look!