Why a God Can't Play A Link to the Past
24 points by FedericoSchonborn
24 points by FedericoSchonborn
Having watched the first minute or two, I can't shake the feeling that this is one of those videos that don't make good use of the medium and could just as well be a blog post.
Is there some easy way of just displaying all the subtitles of a video at once?
I enjoyed the content, but felt the whole time that it could be both written in less time than it took to create the video and read in less time than it took to watch the video.
There are several sites that offer that service, but since most of them are plagued with ads, here is a pastebin of the subs.
I get a lot of use out of the scribe firefox plugin for this. One time $10 payment and it gives unlimited transcriptions (I'm not the author, just a happy user). Here's a full link for that video: https://www.appblit.com/scribe?v=nQ6e2_QKnmg&g=dThorWMQZFVTSxzRZRXsmRkmzkI2
What's the premise of this video? I can't infer from the title alone.
Why picking some names, like "God", causes a corruption error in the GBA game A Link to the Past & Four Swords.
Okay, let's sum it up real quick.
In A Link to the Past and Four Swords, they check your save state with a checksum to ensure it's not corrupted. If it is corrupted, it tells you, and you can proceed forward.
Now instead of doing a normal CRC32 and storing it normally, and checking for equality normally (or include the CRC at the end and check that the checksum is zero, whatever) like a normal programmer, they did something… clever.
They store the low 16 bits of the checksum, twice. Though the second time they negate it beforehand, and store it in 2's complement. And when it comes time to check, they don't just run the checksum and check for equality, they also check that the checksum itself is coherent.
But instead of checking something obvious like crc[0] == -crc[1], their actual comparison is crc[0] + crc[0] == 0x1000. Which is true in all cases… except zero.
Thus, whenever your save state checksums to something whose low 16 bits are zero, an event that happens once every 65636 times, your save is deemed "corrupted", and you cannot proceed forward. This happens right when you chose your name if you happen to chose the wrong one. In the EU version of the game, "God" triggers the bug. That's why God can't play A Link to the Past.
But of course, this check can happens once per save. Each time you save and turn off your console, you have a not-so-small chance that your save might be toast. Given the length of A_ Link to the Past_, we can probably expect something between 10 to 100 saves during an entire play through. Let's arbitrarily pick 33. with 33 saves, your probability of hitting the bug is almost 5%.
Good luck patching those cartridges.