proud accomplishments:
* triggered the crash handler in the 1995 Super Nintendo game Addams Family Values
proud accomplishments:
* triggered the crash handler in the 1995 Super Nintendo game Addams Family Values
1. I've done horrible hacks to save space so that debug builds would fit within a limit. The hacks turn out to be pointless for release/production builds.
2. Maybe earlier builds were bigger when the hack was added, but then something got cut, and it would have been more effort to remove the hack.
it has been zero days since I triggered the crash handler.
(you can't view character #1 for some reason)
using zlib on lowest compression (not that they could have done that in <1995) saves 13 kilobytes, for comparison.
So yeah. They tried to get clever and save bytes, but it only saved a bit over 2 kilobytes. Which they didn't need to save anyway.
but here's the fun part: I have this game's entire script here.
and I've already seen that there's a bunch of unused space at the end of the ROM...
So did they even need this trick? I CAN FIND OUT
The game has 9342 bytes of unused space at the end of the 2 megabyte ROM chip it shipped on.
They use this trick 2311 times in the ROM, saving ... 2311 bytes.
NOPE. IT WAS UNNECESSARY!
but saving AN ENTIRE BYTE of this game's ROM every single time they needed to use a space character, just by only using uppercase for the game?
that's brilliant and stupid in equal measure and I love it.
"SoASentenceLikeThis"
turns into:
"SO A SENTENCE LIKE THIS"
This isn't how the memory of the game while running is laid out. They have to decode the ROM contents into the all-uppercase contents, adding spaces along the way
THEY'RE ENCODING WHERE THE SPACES ARE INTO IF A LETTER IS CAPITAL OR NOT
Here's the reason they don't use spaces, and are WikiWording EveryThing:
The game is in all caps.
So the digits are used to select different character portraits for that line, and the $ turns into a newline.
But notice the really big weird thing about this text?
NO SPACES!
So here's a conversation snippet from the rom, which is expressed as 3 c-strings:
"5NeverMind,$How`sThingsFester?"
"4Miserable!"
"5GladToSeeYou`re$EnjoyingYourself!"
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.