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...)