diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tile16.cpp | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/src/tile16.cpp b/src/tile16.cpp index d923eec..3dc6e2a 100644 --- a/src/tile16.cpp +++ b/src/tile16.cpp @@ -1691,186 +1691,7 @@ if (Tile & V_FLIP){ #undef C } -/* -void DrawClippedTile16 (uint32 Tile, uint32 Offset, - uint32 StartPixel, uint32 Width, - uint32 StartLine, uint32 LineCount) -{ -if (Width == 0) return; - -if (Width == 8) { - DrawTile16 (Tile, Offset, StartLine, LineCount); - return; - } - - TILE_PREAMBLE -Offset += StartPixel; -// sizeof(FN) = 32 bytes -#define SIZEOF_FN (8 * 4) -#define FN(p) \ - " ldrb r8, [%[depth], #" #p "] \n"\ - " ldrb r9, [%[bp], #" #p "] \n"\ - " cmp %[gfx_z1], r8 \n"\ - " bls 3f \n"\ - " movs r9, r9, lsl #2 \n"\ - " ldrne r9, [%[colors], r9] \n"\ - " strneb %[gfx_z2], [%[depth], #" #p "] \n"\ - " strneh r9, [%[screen], #(" #p " * 2)] \n"\ - "3: \n" -// sizeof(FN1) = 32 bytes -#define SIZEOF_FN1 (8 * 4) -#define FN1(p) \ - " ldrb r8, [%[depth], #" #p "] \n"\ - " ldrb r9, [%[bp], #(7 - " #p ")] \n"\ - " cmp %[gfx_z1], r8 \n"\ - " bls 3f \n"\ - " movs r9, r9, lsl #2 \n"\ - " ldrne r9, [%[colors], r9] \n"\ - " strneb %[gfx_z2], [%[depth], #" #p "] \n"\ - " strneh r9, [%[screen], #(" #p " * 2)] \n"\ - "3: \n"\ - -if (Tile & V_FLIP){ - if (!(Tile & H_FLIP)){ - asm volatile ( - " add %[width], %[width], pc \n" - " bx %[width] \n" - "2: \n" - FN(6) - FN(5) - FN(4) - FN(3) - FN(2) - FN(1) - FN(0) - - // Loop - "1: \n" - " sub %[bp], %[bp], #8 \n" - " add %[screen], %[screen], #640 \n" - " add %[depth], %[depth], #320 \n" - " subs %[lcount], %[lcount], #1 \n" - " bxne %[width] \n" - // output - : // none - // input - : [lcount] "r" (LineCount), - [gfx_z1] "r" (GFX.Z1), - [gfx_z2] "r" (GFX.Z2), - [screen] "r" ((uint16 *) GFX.S + Offset), - [colors] "r" (GFX.ScreenColors), - [depth] "r" (GFX.DB + Offset), - [width] "r" ((7 - Width) * SIZEOF_FN), - [bp] "r" (pCache + 56 - StartLine + StartPixel) - // clobbered - : "r8", "r9", "cc" // r8, r9 & flags - ); - } else { - asm volatile ( - " add %[width], %[width], pc \n" - " bx %[width] \n" - "2: \n" - FN1(6) - FN1(5) - FN1(4) - FN1(3) - FN1(2) - FN1(1) - FN1(0) - // Loop - "1: \n" - " sub %[bp], %[bp], #8 \n" - " add %[screen], %[screen], #640 \n" - " add %[depth], %[depth], #320 \n" - " subs %[lcount], %[lcount], #1 \n" - " bxne %[width] \n" - // output - : // none - // input - : [lcount] "r" (LineCount), - [gfx_z1] "r" (GFX.Z1), - [gfx_z2] "r" (GFX.Z2), - [screen] "r" ((uint16 *) GFX.S + Offset), - [colors] "r" (GFX.ScreenColors), - [depth] "r" (GFX.DB + Offset), - [width] "r" ((7 - Width) * SIZEOF_FN1), - [bp] "r" (pCache + 56 - StartLine - StartPixel) - // clobbered - : "r8", "r9", "cc" // r8, r9 & flags - ); - } -} else { - if (!(Tile & H_FLIP)){ - asm volatile ( - " add %[width], %[width], pc \n" - " bx %[width] \n" - "2: \n" - FN(6) - FN(5) - FN(4) - FN(3) - FN(2) - FN(1) - FN(0) - // Loop - "1: \n" - " add %[bp], %[bp], #8 \n" - " add %[screen], %[screen], #640 \n" - " add %[depth], %[depth], #320 \n" - " subs %[lcount], %[lcount], #1 \n" - " bxne %[width] \n" - // output - : // none - // input - : [lcount] "r" (LineCount), - [gfx_z1] "r" (GFX.Z1), - [gfx_z2] "r" (GFX.Z2), - [screen] "r" ((uint16 *) GFX.S + Offset), - [colors] "r" (GFX.ScreenColors), - [depth] "r" (GFX.DB + Offset), - [width] "r" ((7 - Width) * SIZEOF_FN), - [bp] "r" (pCache + StartLine + StartPixel) - // clobbered - : "r8", "r9", "cc" // r8, r9 & flags - ); - } else { - asm volatile ( - " add %[width], %[width], pc \n" - " bx %[width] \n" - "2: \n" - FN1(6) - FN1(5) - FN1(4) - FN1(3) - FN1(2) - FN1(1) - FN1(0) - // Loop - "1: \n" - " add %[bp], %[bp], #8 \n" - " add %[screen], %[screen], #640 \n" - " add %[depth], %[depth], #320 \n" - " subs %[lcount], %[lcount], #1 \n" - " bxne %[width] \n" - // output - : // none - // input - : [lcount] "r" (LineCount), - [gfx_z1] "r" (GFX.Z1), - [gfx_z2] "r" (GFX.Z2), - [screen] "r" ((uint16 *) GFX.S + Offset), - [colors] "r" (GFX.ScreenColors), - [depth] "r" (GFX.DB + Offset), - [width] "r" ((7 - Width) * SIZEOF_FN1), - [bp] "r" (pCache + StartLine - StartPixel) - // clobbered - : "r8", "r9", "cc" // r8, r9 & flags - ); - } - } -} -*/ void DrawTile16x2 (uint32 Tile, uint32 Offset, uint32 StartLine, uint32 LineCount) { |