Creating A Game Boy ROM From Pictures

There are very few legal ways of obtaining ROM files for video games, and Nintendo’s lawyers are extremely keen on at least reminding you of the fact that you need to own the game cart before obtaining the ROM. With cart in hand, though, most will grab a cart reader to download the game files. While this is a tried-and-true method, for GameBoy games this extra piece of hardware isn’t strictly required. [Travis Goodspeed] is here to show us a method of obtaining ROM files from photographs of the game itself.

Bits can be manually edited to fix detection errors.

Of course, the chips inside the game cart will need to be decapped in order to obtain the pictures, and the pictures will need to be of high quality in order to grab the information. [Travis] is more than capable of this task in his home lab, but some work is still required after this step.

The individual bits in the Game Boy cartridges are created by metal vias on the chip, which are extremely small, but still visible under a microscope. He also has a CAD program that he developed to take this visual information and extract the data from it, which creates a ROM file that’s just as good as any obtained with a cart reader.

This might end up being slightly more work especially if you have to decap the chips and take the photographs yourself, but it’s nonetheless a clever way of obtaining ROM files due to this quirk of Game Boy technology. Encoding data into physical hardware like this is also an excellent way of ensuring that it doesn’t degrade over time. Here are some other methods for long-term data storage.

22 thoughts on “Creating A Game Boy ROM From Pictures

  1. Other than “because you can” why exactly would you do this rather than dumping either via the cartridge edge connector or by desoldering the chip and reading it out in a reader? If its something like an MCU with internal programming that can’t be read from outside then sure, decapping it makes sense but if its a conventional ROM chip, why bother?

    1. That’s a perfect case for practicing. You have a workflow for decapping, taking pictures and reassembling the ROM, and you later compare the result with the ROM you got from dumping the cartridge. If both are the same, you can be confident your workflow works with an unknown chip.

    2. There might be inaccessible data in there? So you could be finding things that where not accessible by normal means.

      And the gameboy cartridge bus is only 15 address bits wide. To get more data you need to talk to the MBC, which will swap in different parts of the ROM. Doing this incorrectly, OR if the MBC behavior isn’t exactly known this would allow you to get the ROM contents.

      In practice however, carts with less known MBCs are extremely rare and expensive, and you wouldn’t want to decap those.

      As for how hard is it do dump a proper rom? I have 1680 roms that are marked as “bad dumps”, so it is possible to get the wrong result. Compared to the 2000 roms that are marked as “verified correct” (and the 9000 in total, but that includes various hacks, unofficial translations and other things)

      1. Oh, and actually, after looking at the project. This isn’t a game rom. This is the boot rom. It’s what shows the nintendo logo on startup. It’s actually not possible to read that by most other means, as reading it gets disabled as last instruction of the bootrom.

        There have been various other “attacks” done to get this rom. But it’s not as simple as taking a cart reader.

        In this case, this rom has been dumped multiple times. And an documented disassembly of this one and various others exists at: https://github.com/ISSOtm/gb-bootroms/blob/master/src/dmg.asm

      2. You can also resolder the ROM chips (a blast with a heat gun if like me you don’t have a rework station) and then address all the memory. It’s what I do to get legal NES roms because I haven’t had the patience to put together a proper reader using the edge connector.

  2. So destroying vintage hardware you can easily copy non-destructively is a good thing?
    If you want to learn these techniques, do it to garbage commodity hardware, like disposable inkjet printers or something.

    1. hmm… just imagine how our world would look like if everything is to be considered “vintage hardware” because eventually it all will be. Then, imagine if we were not allowed to destroy it, play with it or throw it away, because you consider that “a bad thing”. You suggest to use a disposable inkjet printer, but what’s the difference, your precious vintage hardware was just a short while ago most likely too to be considered disposable.

      The only way for things to become precious and rare collectors items, if if their numbers decrease. Nobody likes stuff that everyone has. Just think about that.

      But also, who are you to judge if vintage hardware was destroyed, you do not know the real/full story of the choices made in this project. But it sounds reasonable to suspect that the part was worthless in the eyes of the person dissecting it OR extremely precious in order for analyzing it in the greatest detail.

      Regarding the project, supercool! I must admit that I never even heard of “via ROM” so if anyone has more info about the exact inner workings (decoding, preventing matrix shorts similar to keyboard ghosting effects) please let me know.

    2. Don’t like people doing what they want with their own property that they bought with their own money on their own free time … then buy it off them before they do this, otherwise this is just your opinion and you have no real say in what someone else does with their own stuff.

    3. BS. I do destroy and trash vintage hardware and don´t put emotional value in those things. It´s simple:
      if nobody would buy it + i don´t use it + i don´t plan to use it + i need this space -> it lands in trash, vintage or not. So if I destructively play around with it and learn something from it, it´s still better than just trashing it.

      You´re not the same opinion ?
      then please buy (and pick up !!!) my vintage trash hardware before i sell it for recycling.

      1. Such a statement! You never watched the brave little toaster, don’t you?
        It’s a children’s film about morals and how our attitude against people/things shapes our character.

        1. The irony of talking about morals and character when forcing your own narrow views on others simply because they have different values! Seriously if you are so bothered by what other people do with their property that has zero effect on you … well better to start worrying about yourself more and pay less attention to things that are really none of your business lest you are okay with others doing the same to you.

          1. “The irony of talking about morals and character when forcing your own narrow views on others simply because they have different values!”

            Values? Which one? 🙂

            One of my personal values is trying to respect things/living things as best as I can. What are his values, exactly? Destruction “just for fun”? And what are yours, if I may ask? Thanks in advance.

          2. “The irony of talking about morals and character when forcing your own narrow views on others [..]”

            Forcing.. I wonder, how on earth could I possibly force something one someone? I think I can make others think about something, at best. Maybe successfully appeal to their personal conscience, too. 🙂

            However: It’s not as if I’m chasing people back to their home and threatening them or as if I’m blackmailing people, whatsoever. 😂

            Jesus, what’s wrong with you guys from overseas (?) – why can’t you handle normal, plain feedback anymore? Why has everything to be so exaggerated these days? Isn’t the gender war bad enough already? 😟

          3. ” well better to start worrying about yourself more and pay less attention to things that are really none of your business lest you are okay with others doing the same to you.”

            Great. The Chinese do that too, afaik. You can get in trouble if you call an ambulance for a person that’s unconscious. Because, you he/she/didn’t ask you for help. And because you interfered with the life of said person, you’re directly responsible.

            My question is: Do you really wish for a society in which everyone “minds his own business” only? In which no free speech and no free opinion exists? I’m from Germany, “we” had this scenario in the 1940s. No, thanks. Never again.. 😔

        2. His values are doing what he wants with his own hardware, irrespective what some random stranger preaching from their high pulpit (you, tachyon1, etc) which this has no effect on thinks about it. Funny you talk about respect yet fail to respect the rights of another human being over that of an inanimate object! Methinks you only respect your own opinion above those of others. In the end if you still don’t understand, this can be summarized by the simple idea of: “mind your own damn business”. Sure you are allowed to voice your opinion, but grow up and knock it off with playing the victim and getting outraged when someone calls you out for your bs!

        3. You cant seriously think you have respect for others after that hypocritical personal attack “Jesus, what’s wrong with you guys from overseas”? I guess it’s easier for you to just assume my nationality and weakly hint xenophobia than actually have an adult conversation.

          This isn’t about the chinese, free speech, gender war, ambulance calls, feedback, blackmail, any of our nationalities, or any of the other random number of tangential diversions you’ve thrown in to detract from the main topic.

          Once the personal insults start flying I’m done with this conversation, I’m not even going to retaliate. Have fun with whatever narrative you’ve concocted and have convinced yourself this argument is really about when it’s clearly just you lashing out about completely unrelated things to see what sticks. Have a nice day (honestly not being sarcastic, just have a nice day and I hope that this will soften whatever pent up frustration you have so you don’t take it out on others).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.