Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's partially incorrect.

The logo was checked in its entirety, not just the checksum, but the gameboy would read it twice: first to show it and then a second time to check for its integrity (and if it failed, the console halted). This meant you could display a custom logo and then return the unmodified logo to the console's firmware so it wouldn't halt.

I think the entire defense relied not on whether you could show the nintendo logo on boot but on whether you could embed it into your ROM. It's the same as Sega's TMSS https://segaretro.org/TradeMark_Security_System#Purpose



As someone that's getting into making modern games for the GB, after looking at pandocs etc I also wondered how Nintendo could even claim that their "logo" was in the ROM anyways, if it was xor'd or encoded somehow, the actual content of the ROM wouldn't be their logo at all, but meaningless until it was executed.

Great that when someone actually went against them that the precedent was set that Nintendo's complaints weren't valid.


no - in many legacy software languages, starting with ASM, there is a __DATA__ section and then in it, is DATA.. just bytes. You can find and dump "just the logo" in the ROM and elsewhere, with a binary search.


Oh, interesting, thanks for correcting me! Why didn't the Game Boy check the logo that it loaded to display instead of loading it twice though?


The answer might be the legality of using copyright to block functionalities, the link describes how Accolade challenged SEGA on those grounds a few years later and succeeded:

"The legality of this system was challenged in the United States by Accolade in the court case SEGA vs. Accolade, which ruled in Accolade's favor. The verdict set a precedent that copyrights do not extend to non-expressive content in software that is required by another system to be present in order for that system to run the software."

In case of Nintendo, it sounds like a unlicensed cartridge still had a choice to work on the Gameboy and NOT infringe the Nintendo trademark. But if it decided to show the Nintendo logo on bootup, it explicitly infringed on copyright...


It's a very constrained system. The startup rom is pretty small, and you want to keep thing simple so you don't mess it up. Cartridge mappers were certainly well known at the time, but they would have switched mappings based on program controlled writes/maybe reads; and the cartridge doesn't control the startup rom. Of course, it's not terribly hard to trigger based on the startup rom's access patterns; but sometimes the realistic goal is to increase the cost to do something, rather than to prevent it.

Additionally, I'd guess the goal would be to freeze after the wrong logo scrolled down, but you might not be able to read the logo back from display memory. It's also possible the boot logo scrolling was done early, and then they added the logo check later?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: