Mac,Unix: Add 256*448,478 support / Mac:code cleanup

This commit is contained in:
zones 2011-02-20 20:27:20 +09:00
parent c717e7d5ef
commit a013ae3306
4 changed files with 619 additions and 1370 deletions

View File

@ -327,6 +327,23 @@ void S9xBlitPixHiRes16 (uint8 *srcPtr, int srcRowBytes, uint8 *dstPtr, int dstRo
}
}
void S9xBlitPixDoubled16 (uint8 *srcPtr, int srcRowBytes, uint8 *dstPtr, int dstRowBytes, int width, int height)
{
for (; height; height--)
{
uint16 *dP = (uint16 *) dstPtr, *bP = (uint16 *) srcPtr;
for (int i = 0; i < width; i++)
{
*dP++ = *bP;
*dP++ = *bP++;
}
srcPtr += srcRowBytes;
dstPtr += dstRowBytes;
}
}
void S9xBlitPixScaledTV16 (uint8 *srcPtr, int srcRowBytes, uint8 *dstPtr, int dstRowBytes, int width, int height)
{
uint8 *dstPtr2 = dstPtr + dstRowBytes, *deltaPtr = XDelta;

View File

@ -192,6 +192,7 @@ void S9xBlitNTSCFilterSet (const snes_ntsc_setup_t *);
void S9xBlitPixSmall16 (uint8 *, int, uint8 *, int, int, int);
void S9xBlitPixScaled16 (uint8 *, int, uint8 *, int, int, int);
void S9xBlitPixHiRes16 (uint8 *, int, uint8 *, int, int, int);
void S9xBlitPixDoubled16 (uint8 *, int, uint8 *, int, int, int);
void S9xBlitPixScaledTV16 (uint8 *, int, uint8 *, int, int, int);
void S9xBlitPixHiResTV16 (uint8 *, int, uint8 *, int, int, int);
void S9xBlitPixHiResMixedTV16 (uint8 *, int, uint8 *, int, int, int);

File diff suppressed because it is too large Load Diff

View File

@ -788,6 +788,14 @@ void S9xPutImage (int width, int height)
S9xBlitClearDelta();
if (width <= SNES_WIDTH)
{
if (height > SNES_HEIGHT_EXTENDED)
{
copyWidth = width * 2;
copyHeight = height;
blitFn = S9xBlitPixDoubled16;
}
else
{
copyWidth = width * 2;
copyHeight = height * 2;
@ -804,6 +812,7 @@ void S9xPutImage (int width, int height)
case VIDEOMODE_HQ2X: blitFn = S9xBlitPixHQ2x16; break;
}
}
}
else
if (height <= SNES_HEIGHT_EXTENDED)
{