PDA

View Full Version : GBA/DS LSD ordering.



Piglet
05-30-2008, 03:39 AM
I want to use sub-pixel enhancements for text on the GBA/DS. Can the colour order be confirmed. For people who don't know the trick, the LSD makes a pixel using 3 columns thus:

RGB
RGB
RGB

This (assuming 31 for all 3 colours) then you get a white pixel. Now, look at this

-GBR
-GBR
-GBR

The left pixel has the R set to black and the G & B on full brightness. On the next pixel, only the red is set. Thus the white (or any shade of gray) pixel has moved right by 1/3 of a pixel. It only worksd with grayscale bot man, does it make for great, smooth graphics and scrolls. Imagine, the DS suddenly has an X resolution of 768 pixels.
I wrote a scroller which used the system and it worked like a charm. I always outline the text with a black pixel to avoid fringing. You cannot use it with coloured images so I use 2 sets. One grayscale (and triple X-res) and then another using only single pixel resolution.

devzone
05-30-2008, 04:32 AM
This is similar to the "clear type" font resolution enhancement used on laptops
Its nice to see the idea being tried on the GBA/DS, would you considure posting your demo code ? It would be nice to see it in action.

babu
05-30-2008, 01:53 PM
LSD = LCD? ;-)
iirc. the subpixel ordering is different between the lower and upper screen. (not 100% sure could remeber wrong)

Piglet
05-30-2008, 09:18 PM
Wow, I can believe that, with one being a touch-screen. On the GBA I think you could swap the order (or rather, which data went where) that may have been in there for the BIOS to change should a different LCD be used...

devzone
05-30-2008, 10:28 PM
I guess you could always put a single white pixel on each screen and then look at them with a magnifying lens

Piglet
05-30-2008, 10:39 PM
Oh, it's easy to test, but can I assume it will always the same. On the GBA, I think they had a BIOS thingy that could swap the outputs due to colour order. Unless I can read that value, or know it will not change, then I cannot use it..

devzone
05-31-2008, 01:24 AM
Oh, it's easy to test, but can I assume it will always the same. On the GBA, I think they had a BIOS thingy that could swap the outputs due to colour order. Unless I can read that value, or know it will not change, then I cannot use it..
to be safe you could always add a config menu to your program that allows a choice of lcd color modes :shrug:

Piglet
05-31-2008, 12:19 PM
I could, thats one way, but it is.... inellegant and I'm not sure how Nintendo would take it. I BET that hidden away somewhere is a method of finding out (there was on the DS) and, if Nintendo accept the product then they SHOULD tell me.

babu
05-31-2008, 06:33 PM
you could allways check with the people over at dsdev.org's forum (http://forum.gbadev.org/index.php?c=8). They could probably help you in the right direction. :)