In spirit of exploring other handhelds, I started examining the GBA SP specifically. I’m uncertain if the operation of the GBA would differ on 32P or 40P motherboard models. To clarify, the GBA SP has a 34P motherboard for the screen. I think the CPUs are the same across models with minimal changes and there shouldn’t be any difference in operation. Nonetheless,

We actually have a very similar operation to NGPC. The pixel clock shuts off during frame blanking and line sync blanking if we zoom in.

And ironically the control signals are almost named the same thing! Well, the SPS and SPL from NGPC project are the same control signals to include the polarity being the same. I wonder if most handhelds from this era were similar.

Now please examine the red box in the photo above. This is a counter that is counting how many pixel clocks we clock on GBA. GBA was a 240×160 resolution, with this being 241 clocks. So we have to determine where this fake pixel is. Well, I call it a fake pixel. For NGPC it was the very first pixel clock. Which seems plausible.
Now if we zoom into this circled area, which indicates a new line.

And we see below that the pixel clock pulses once for some reason when a new line begins, and then the normal pixels are drawn. Since all red bits are low, there is no red bits on the screen.

And like PSP/NGPC we have to determine where there could be unnecessary line sync pulses. Since this is so similar to NGPC so far, I guessed that there was one extra line sync pulse at the end and I was correct.


So we ignore the last set of pixels.
SPL (HSYNC) is measured at 13.62khz roughly with SPS (VSYNC) measured at 59.7298hz.

With measuring a GBC cartridge in a GBA, I didn’t observe any differences in operation even when forcing gba into widescreen gbc mode or not. I would like to point out that the GBA
So with the line sync being the speed it is, I can live scale 3x at 720p or 4x at 1080p. The plan is to use sets of bram fifos to store the pixels and read them out intelligently. The method to the madness is that the line pulse from the source must be able to horizontal sync duration between pulses for the upscaled video target.
For 720P, the amount of time between hsync pulses is roughly 21.79uS which is plenty of time to capture 1 line and output it 3x. The video target line sync pulses is roughly ~73uS. So there is plenty of room to pulse 3x before the new line has to begin. So the image transformation for 3x is possible at 720P. For 1080p, 4x is possible.
Ascendance Systems will be supporting all GBA hardware with the GBA Digital Video kit.

Leave a comment