On 6/8/07, Andreas Färber wrote: > > > Blue Swirl wrote: > >> On 6/6/07, Andreas Färber wrote: > >>> I also made some local changes to tcx.c today to avoid having a > >>> blue- > >>> footed penguin on Intel. There's a TODO in that file saying the RGB > >>> functions should be merged with vga.c (where they are being patched > >>> by Q) - should I provide a qemu patch doing this and fixing the > >>> issue > >>> for both? Or is this for some reason restricted to Q? > >> > >> I made a patch to fix both vga and tcx while also unifying the pixel > >> operations, does it fix the blue foot disease on PPC? > > > > Hm, _with_ this patch I get (on PPC/Linux, emulating LE MIPS): > > - a blue-footed penguin when the cirrus FB is started > > - blue instead of red colour in console output > > - A general blue-to-red inversion for X11 in 16bit mode. > > > > Note that the colours for the last one were already not quite right > > (e.g. grey became a pale blue), but with your patch it looks even > > weirder. > > I haven't been able to test the new patch yet. > > Q's patch and my adaptation for tcx just reversed the order of the > colors, just like BlueSwirl's patch except that they used #if > __LITTLE_ENDIAN__ in place of #ifdef WORDS_BIGENDIAN, and this worked > for both i386 and sparc32 guests on i386 host (but is not applied for > ppc host). > > http://www.kju-app.org/proj/browser/trunk/patches/q_vga.c_02.diff I think this is not correct either, instead the DisplayState bgr attribute should be used. This version should work like before, and on BGR displays the colours should be correct. VGA needs a similar change for 15 and 16 bit depths if I'm correct.