[kgsws] just finished his Game Boy upgrade that allows him to load games from an SD card. Loading a game off an SD card has been done before, but [kgsws] decided to not to use a cartridge-based device. In the end, he threw out all the stops and finished his project by having the Game Boy access an SD card directly.
[kgsws] his project trying to figure out how to put some GPIO pins on a game cartridge, but figured that this would take too much hardware. After looking at the specs of the link port, he realized that it was the wrong polarity. Not to be deterred, [kgsws] realized that there was something like a general-purpose I/O on the Game Boy – the joypad input.
After figuring out the logic of accessing the SD card through the joypad, [kgsws] set to work building a FAT32 parser and a simple BIOS on an EEPROM. The entire system runs off an ATmega32, and he was kind enough to include the schematics and all the code. The end result is really neat – it can load and save 512kB Game Boy ROMs and save data, read .txt files. As an added bonus [kgsws] put in a custom boot logo to replace the top-scrolling Nintendo logo.
While the joypad buttons don’t work when the SD card is being accessed, and the battery draw is larger than the already power-hungry DMG-001, we’re amazed by [kgsws]’s hardware hackery. Check out the video of [kgsws]’s hack below.
[youtube=http://www.youtube.com/watch?v=8tcam0vDfhY&w=470]
finished finished.
Great post :). I love it.
Very nicely done.
Did any games ever replace that boot logo? I’m wondering as it’s changes to a black box if no cartridge is installed. And of course, corrupts if there is a contact problem etc.
No, no games did that because they could not. The boot logo is saved on the cartridge (which is why there is none without a cartridge and it is corrupted with bad contacts) and the bios does a checksum before loading the rest of the rom.
@Paul Potter, yes, from my experience, one of my old carts when I was still young said “nihihu” instead of nintendo, same thing was written on the cart itself (engraved), the profile of the cart seem to be smaller too.
Any chance this will work on a Game Boy Color?
Great project! I like it!
On a side-note – HaD…WTF is up with the recent rash of poor speelling an grammer [all sic]? It’s usually little stuff, but still.
Some pirate cartridges showed a different logo by using some sort of address comparator chip to give out the good Nintendo logo when the BIOS was doing the check, and the modified one when it was copied to VRAM to be displayed on the screen.
Those carts typically hang on the Gameboy color since the logo check isn’t performed in the same way.
@FaultyWarrior, I noticed that too. My guess is they have a new guy writing up the posts and he doesn’t know how to use spell check.
FaultyWarrior: i am sorry for bad grammar, english is not my main laguage, feel free to correct me
Anonymous: sure, but it will need some changes like bigger game RAM (MBC5 instead of MBC1) and bios in GBC mode
Also few notes,
– ATmega32 is not used
– it can’t save games, only 8kB RAM dumps
The logo wasn’t on the system but on the rom
This was used as a thing for Nintendo to keep you from programming on it as the Logo was copyrighted.
In order to make a game work the bios check the crc of the logo and if it didn’t match it wouldn’t run the program.
If you did put the logo in the rom Nintendo would sue you so hard for copyright of their restricted trademark that you basically couldn’t make a game for it professionally without their consent.
This was done up to the NDS. Don’t know too much about the DSi or 3DS.
@t&p If I recall correctly, Sega (I think) tried that on one of their newer systems but when they went to court for it, the judge ruled that since the logo was necessary to run the software, copying it for that purpose wasn’t trademark infringement.
@miff
http://en.wikipedia.org/wiki/Sega_v._Accolade
The SEGA in the rom was covered by the copyright part of the lawsuit.
The trademark they sued over was
“PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD.”
That was displayed because of the string SEGA being in the rom, was also the only way Acoolade could get their games to run on the Genesis Mark 3.
I love this sick people who know everything about digital electronics… I dont know shit how to make anything similar to this!!! Good work!!!!!! :P
I really like all the wires on this hack.
Nice, wondered when someone would get around to doing this.
Actually there is a way around the copyrighted logo, just generate a file which has the same CRC as the real one. Verifiably NOT the copyrighted logo but the GB won’t care.
Personally I think that the GB is so old now that Nintendo should basically say “go ahead, hack it if you like but don’t expect any support if you break it”… that would be kind of them.
Plus its not like they would lose any money as no current games work for the GB/C any more.
IIRC Myvu Corporation did the same thing, and interest in their product jumped substantially.
This is interesting. I would of put work in on something with a backlight and color, but to each their own.
The security on nintendo devices has never been that complex, usually RAM partitioning bits in some form. You can kill most of them by glitching clocks.
Thanks for the info all.
Keep it up!
Sell me a pack soon…
do gameboy advance also have a slot
@Sanju there are commercially sold GBA flashcarts that have SD card slots. example: the EZ Flash IV
I ‘m surprised that a hardcore hacker like this doesn’t have a website of his own to share on.
how to do this on gba
how to make sd adapter for game boy advance
this looks great, I looked around at options, and short of shelling out $40 for a flash cart this is the best option. I had a few questions:
How big can the SD card be? size limitations?
would this work on a GB Pocket?
is the original port usable after the mod? (just curious)
this is a very interesting project, I think I am going to start this in a few weeks.
I want to make it, but the website is down :(
use archive.org. http://web.archive.org/web/20111025174357/http://gamehacking.org/vb/threads/5297-Game-Boy-communicates-directly-with-an-SD-card