l***@larwe.com
2005-05-30 16:32:28 UTC
Is there some special function assigned to the MSB of video memory in a
Mac running at "thousands" of colors, specifically a 16bpp mode on the
kernel framebuffer device?
I'm experimenting with an old iMac running Linux. According to
everything the fbdev ioctls show me, the video mapping is 5:6:5
big-endian. So I'd expect filling video RAM with 0xF800 to give me a
bright red floodfill. In fact after much experiment I've discovered
that the real assignment is as below.
15 - "magic"
14 - R3
13 - R2
12 - R1
11 - R0
10 - G5
09 - G4
08 - G3
07 - G2
06 - G1
05 - G0 (maybe no function, it's invisible)
04 - B4
03 - B3
02 - B2
01 - B1
00 - B0
If the "magic" bit is set, the pixel appears black. So it is really a
4:6:5 video mode?! I can't find any documentation on this special bit;
can someone point me to anything appropriate? It's apparently an
Apple-specific thing, since the same behavior doesn't appear on a
Mach64 in a PC.
Mac running at "thousands" of colors, specifically a 16bpp mode on the
kernel framebuffer device?
I'm experimenting with an old iMac running Linux. According to
everything the fbdev ioctls show me, the video mapping is 5:6:5
big-endian. So I'd expect filling video RAM with 0xF800 to give me a
bright red floodfill. In fact after much experiment I've discovered
that the real assignment is as below.
15 - "magic"
14 - R3
13 - R2
12 - R1
11 - R0
10 - G5
09 - G4
08 - G3
07 - G2
06 - G1
05 - G0 (maybe no function, it's invisible)
04 - B4
03 - B3
02 - B2
01 - B1
00 - B0
If the "magic" bit is set, the pixel appears black. So it is really a
4:6:5 video mode?! I can't find any documentation on this special bit;
can someone point me to anything appropriate? It's apparently an
Apple-specific thing, since the same behavior doesn't appear on a
Mach64 in a PC.