GameBoy LCD Video

Ever since we accidentally smashed the screen on our GameBoy Pocket, I have been wondering how to make a homebrew screen that will work as a replacement.

So, first I need to know how the old screen worked.
Here is a link to some good timing info.
Here is a link to even more info.
But I still wanted to know what the signals look like. So I took some screenshots of the signals. From what I see, it's plain old vert/horz/video. There is already a vertical sync pulse

and the horizontal sync, all I really have to do is get a video stream. The problem is that there are TWO video streams, and it's the combination of thos two bits determine which of the four grey levels to use.
(I'm having trouble with clipped images, but here goes...)

This is a snapshot of the main video timing signals:

You can see that there is a vertical pulse (just under 17ms, around 58Hz), and the horizontal pulses that correspond to each line one the screen. The clock pulses are a higher frequency to correspond with each pixel.

And this shows a close-up of the beginning of the video frame:

And this shows more of a close-up of the beginning of the video frame. Note that the horizontal sync is at about 104us or 9615Hz.

This is a close-up of the data and clock signals:
Note that the rising edge of the data pulses are lined up with the clock's rising edge. I'll take another picture, but I'll bet that the data is sampled on the falling edge of the clock.

So, we have something like 58Hz vertical and 9.6KHz horizontal. Starting with a horizontal pulse, the two data streams are clocked into the LCD panel, one falling clock for each pixel as it goes across a row, and it does all that for each row before another vertical pulse.

What I plan to try is a circuit that converts these signals into the right ones to drive a an old-fashioned tube screen. It's those two digital video streams....

I decided to try connecting a good multisync monitor directly in parallel with the lcd panel. Initial (brute force) methods were unsuccesful, so I took a closer look at the signals that I was playing with:

The top two traces are the signals going into a monitor in CGA 320X200 mode. The bottom two traces are what the 'boy is sending. It's pretty obvious what the first issue is. Both the vertical and horizontal signals are inverted. The vertical timing is right on but the horizontal is nearly half what is should be.

This is a closer view of the beginning of a video frame. Hmmmm.... continued,

If you have tried this or have any info toward this, I would like to hear from you. (and I'm working on the clipped imgaes...)