11

I have a Game Boy DMG with a broken screen that I want to turn into a small arcade machine, so I need to display the Game Boy screen on a bigger (computer) screen. I tried doing so with an Arduino. I feel the code was alright but the Arduino and the com communication with processing couldn't keep up with the Game Boy's framerate. So I tried connecting the Game Boy ribbon directly to a VGA cable because while searching the web I noticed a VGA cable has a few similar pins to the Game Boy. This is how I connected them:

VGA                                            Game Boy
pin 1,2,3 (RGB pins)                           pin 21 (GND)
pin 5,6,7,8,10(rgb returns, h+vsync gnd)       pin 15,16 (DataOut 0 & 1)
pin 13 (Hsync)                                 pin 17 (HSync)
pin 14 (Vsync)                                 pin 12 (VSync)
pin 15 (Clock)                                 pin 14 (Clock)

I got the pin information from Wikipedia.

Photograph showing where the pins are on the Arduino. Pins 12, 14 through 17 are 5 volts, see table above for details.

I wasn't able to get anything on the screen. However, when I connected the clocks together the monitor went from 'check signal' to 'power saving mode': the same as when the computer would go to sleep.

There isn't much information on this on the internet, only people showing off their build, not really telling us how they did it. I have no experience whatsoever in electronics so it could be something stupid I missed, a misplaced or missing pin, the Game Boy not giving enough current, digital-analog signals,...

I hope someone can help me with this, if something isn't clear, please do ask!

  • I've edited your question to make it clearer (as well as converting that image of a table into a text-based table). You used the arcade tag incorrectly; while you are creating an arcade machine using a broken Game Boy (which I think is incredible, by the way!), this question is not about retro arcade machines. I'll fix the tag summary to make that clearer. – wizzwizz4 Jul 31 '16 at 19:19
  • Do you want to write a post for our site blog? This is a very interesting topic, and the blog just went live. I know lots of people who are interested in your project, and would like to see how it goes. – wizzwizz4 Aug 10 '16 at 18:42
10

A direct connection is not going to work - The Gameboy's pixel clock is much too low to drive a VGA screen:

                 GameBoy        VGA
Pixel clock      4 MHz          25 MHz
V-Sync           60 Hz          70 Hz
H-Sync           9 kHz          31 kHz

So, in a nutshell, this will not work without a significant investment into capturing the GBA video into some added screen memory and re-generating a VGA signal from there.

Here is a link to a page describing how someone has done that.

  • 4
    It's not just the pixel clock. They're completely different interfaces with the GBA output being digital (and pin 15 on VGA is an I2C clock, not a video clock). – hexafraction Jul 31 '16 at 16:12
  • The VGA interface doesn't really have a concept of a "pixel clock" and it's easy enough to convert a couple of digital lines to an analog signal. The real issue is the much lower H-sync speed (i.e. much lower number of lines on the display). – Peter Green Jan 16 '18 at 14:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.