X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Flinux%2Fblit.c;h=96326fe138e3294fa13919c30b2dbfda73f8b2c5;hb=88a8088545a6ffa72286ee4613cb512ea7cd2ecf;hp=7f466237d02894271148d560405eab024bb98a90;hpb=645ec129e3fd76b303e67049f1c3ffe01ffc8e0e;p=picodrive.git diff --git a/platform/linux/blit.c b/platform/linux/blit.c index 7f46623..96326fe 100644 --- a/platform/linux/blit.c +++ b/platform/linux/blit.c @@ -1,39 +1,45 @@ +/* + * PicoDrive + * (C) notaz, 2006,2009 + * + * This work is licensed under the terms of MAME license. + * See COPYING file in the top-level directory. + */ // Convert 0000bbb0 ggg0rrr0 0000bbb0 ggg0rrr0 // to 00000000 rrr00000 ggg00000 bbb00000 ... // TODO: rm when gp2x/emu.c is no longer used -void vidConvCpyRGB32 (void *to, void *from, int pixels) +void bgr444_to_rgb32(void *to, void *from) { unsigned short *ps = from; unsigned int *pd = to; + int pixels; - for (; pixels; pixels--, ps++, pd++) + for (pixels = 0x40; pixels; pixels--, ps++, pd++) { *pd = ((*ps<<20)&0xe00000) | ((*ps<<8)&0xe000) | ((*ps>>4)&0xe0); *pd |= *pd >> 3; } } -void vidConvCpyRGB32sh(void *to, void *from, int pixels) +void bgr444_to_rgb32_sh(void *to, void *from) { unsigned short *ps = from; unsigned int *pd = to; + int pixels; - for (; pixels; pixels--, ps++, pd++) + pd += 0x40; + for (pixels = 0x40; pixels; pixels--, ps++, pd++) { *pd = ((*ps<<20)&0xe00000) | ((*ps<<8)&0xe000) | ((*ps>>4)&0xe0); *pd >>= 1; *pd |= *pd >> 3; + pd[0x40*2] = *pd; } -} - -void vidConvCpyRGB32hi(void *to, void *from, int pixels) -{ - unsigned short *ps = from; - unsigned int *pd = to; - for (; pixels; pixels--, ps++, pd++) + ps -= 0x40; + for (pixels = 0x40; pixels; pixels--, ps++, pd++) { *pd = ((*ps<<20)&0xe00000) | ((*ps<<8)&0xe000) | ((*ps>>4)&0xe0); continue;