Sitemap

When “Safe” Code Breaks Everything

Learnings from Zelda’s Save Bug

4 min readAug 5, 2025

--

Press enter or click to view image in full size

A system so “secure” that it prevents users from using it. That is the type of system disaster that every developer should learn from.

As an iOS developer I need to make sure that my work doesn’t damage the user experience. I need to make sure that my code helps other people and doesn’t get in the way.

The Issue

Capcom shipped a save system that sometimes prevents users from saving their game. One situation where the game wouldn’t save is when the user entered their name as “God”, not as an ethical choice but because of a coding error.

It is due to Capcom’s implementation of the save file checksum in The Legend of Zelda: A Link to the Past + Four Swords on GBA. It’s a masterclass in how a well-meaning integrity check can turn into a catastrophic overengineering problem that destroys the usability of a product.

And yes, iOS devs. This one’s for you too.

A Game That Won’t Let You Save

Here’s what happened.

The game saves your progress alongside a checksum. A 16-bit number derived from all the bytes in the save file.

--

--

No responses yet