add a hack for Decap Attack
[picodrive.git] / platform / linux / blit.c
index 7f46623..96326fe 100644 (file)
@@ -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;