Original NES Plays Game Boy Games?

[Bunnyboy] pulled off some wizardry with this custom NES cartridge. Inside is the mainboard for a Game Boy as well as his own custom PCB with the comb connector needed to interface with an original Nintendo Entertainment System. In his own words it’s “a Super Game Boy without the Super”. The expansion port to for the handheld is still accessible for some head-to-head Tetris or use with the obscure Game Boy printer.

[Thanks Maxym]

26 thoughts on “Original NES Plays Game Boy Games?

  1. Nice work :)

    @Gert

    The problem with the NES, Famicom and most(all?) clones is that they still output modulated video signals. I haven’t had a real TV in years and I use cheap arcade upscaler to get my retro stuff (Arcade stuff, Amiga stuff,..) onto modern displays. With the NES though unless you can get hold of a PPU that exports RGB signals outside the chip and jam it into a Famicom you are out of luck. Even with such a PPU the colours aren’t 100% correct.

    I started building (in VHDL) a PPU clone that could replace the original PPU and give DVI/VGA out… it’s one of those jobs that you need a good logic analyser for and I don’t have one.

  2. This is too awesome, but we really need the details.

    I think I can see a CPLD doing PGM/CHR ROM arbitration and they mention a dual port RAM for buffering the video signal. What’s doing the translation to NES format? Is the GB screen treated as one big sprite?

    Shame about the audio. I wonder I the super GB chip might have put out the audio signal in PCM format. (Guessing not, otherwise it would have been used here.)

  3. Though I’ve never been able to find it, I recall reading an article(5+ years ago) about just such a device that Nintendo was having developed by another party. Nintendo instead invested in the Super GB and it never made it into production. Would be neat if anyone knew any details about the original.

    I’m glad BunnyBoy created this, I had wondered if this were really doable or if the original I saw was a gag.

  4. @cantido
    I use a NES Controller that feeds into a (modded by me) usb keyboard chip. Combined with Nestopia it’s a great platform.

    Am i correct saying that a software solution, though not as efficient, corrects itsself better than a hardware solution?

    I still wonder why no company has made a single chip solution for NES mod’s. That market would have some great potential.

  5. Thanks for picking it up! Here are a few more tech details for those who understand :)

    The CPLD (XC95288) is the center of the board. It enables the boot ROM, which sets up the NES display and sends the NES controllers. The CPLD latches the controller buttons and sends them to the GB when requested.

    The CPLD also receives the GB LCD signals which are pretty basic vert/clock/data. Shift registers assemble the serial pixel bits into bytes, and then using counters writes it to the CHR RAM address of the correct spot on the NES screen. The original GB uses 2 bits per pixel for a 4 grayscale display. When only the NES background layer is used there isn’t any color translation because it is also 2bpp. By using a fast (15nS) SRAM I could easily pack in two GB writes between every NES read.

    The CPLD also does triple frame buffering in hardware so the slightly different frame rates don’t cause graphics issues. In my first one there was occasional tearing while scrolling without it. NES is drawing one frame, GB is writing another frame, and the third is either filled (GB finished writing) or empty (NES finished displaying).

    The audio choices is just a limit of the NES. Without a simple resistor addition there is no audio input from the cart to the NES. There was on the Famicom but it was removed for some unknown reason. Not sure how the SGB handles audio, but the SNES has massive cart bandwidth compared to the NES because of DMA.

  6. Would it be possible to sample the GB audio using the ADC in an AVR or PIC or something then use the CPLD to trigger it to put the samples on the PGM bus? I assume the NES can play PCM samples with no trouble. Bandwidth required shouldn’t be too high, maybe as little as 8k bytes/s would be sufficient.

  7. Very nice mod. Looks like he either used parts from or emulated the SGB for the border and colors on screen.

    Would LOVE to see this done with a GameBoy Color. For NES or SNES. Always wanted a SGB Color. : sighs:

  8. @Liam

    The PPU’s output composite yes.. that isn’t very useful either. Most other consoles can have RGB tapped somewhere on the board which is really nice if have a TV with SCART and you can get really decent quality out of an upscaler.

    @Gert

    >Am i correct saying that a software solution, >though not as efficient, corrects itsself better >than a hardware solution?

    Well, with an emulator you can do fancy stuff like scaling and output to a decent display with no problems.. oh and games are basically free. ;)
    It’s nice to play the real thing though. Old consoles can be cheap fun.

    >I still wonder why no company has made a single >chip solution for NES mod’s.

    There a single chip NES clones out there, most have compatibility issues, I think it might be possible to get RGB out of some of those though, the ones that drive LCD displays.

  9. Doing audio with another processor may be possible, but the NES is running timed loops for CHR bank switching so it is busy during rendering. The resistor mod is really easy and is also used for other expansion audio like in the PowerPak.

    Color GB isn’t possible with the NES. The NES PPU can only have 4 colors in a 16×16 pixel area (think a question block in SMB) and the CGB can do more. Would bet its possible with the SNES.

  10. I used to love my gameboy printer. It’s in the closet with my GBC and like 6 rolls of paper, the paper used to be so hard for me to find i bought as much as i could the last time i found it just to have it hahaha. Was perfect to show my pokemon off :D

  11. That is a awesome job man..

    I’m currently building a gb color laptop about the size of a DS it holds a internal 2gb hdd for Rom emulation and I’m also thinking of adding a tilt controller and rumble mode case is custom built will post pics to hack a day when project is finished…

  12. i wish the cpld could also emulate the gameboy sound on the nes by converting the gameboy fm sound into the nes fm sound ,sure it will be not accurate as on gameboy but it will sound close and it will be mono,thisway there,s no need to use an adc chip to convert the gameboy sound into the nes pcm audio wich would require much more speed,power and memory to do and also you,re not forced to do the resistor mod.
    also i wonder if those rendered frames are in synch with the gameboy graphics this to avoid any interlaced,skipping or motion blurred artifacts during fast motion,i asume the nes & gameboy run on both the same frame rate.

Leave a Reply to GumbyXCancel 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.