#define M7 19
#define M8 19
-void ComputeClipWindows ();
-static void S9xDisplayFrameRate ();
-static void S9xDisplayString (const char *string);
+#define GFX_PIX_SIZE 1
+
+void ComputeClipWindows();
+static void S9xDisplayFrameRate();
+static void S9xDisplayString(const char *string);
extern uint8 BitShifts[8][4];
extern uint8 TileShifts[8][4];
if (Settings.Transparency)
Settings.SixteenBit = TRUE;
- IPPU.DirectColourMapsNeedRebuild = TRUE;
- GFX.PixSize = 1;
- if (Settings.SixteenBit)
- {
- DrawTilePtr = DrawTile16;
- DrawClippedTilePtr = DrawClippedTile16;
- DrawLargePixelPtr = DrawLargePixel16;
- DrawHiResTilePtr= DrawHiResTile16;
- DrawHiResClippedTilePtr = DrawHiResClippedTile16;
- GFX.PPL = GFX.Pitch >> 1;
- GFX.PPLx2 = GFX.Pitch;
- }
- else
- {
- DrawTilePtr = DrawTile;
- DrawClippedTilePtr = DrawClippedTile;
- DrawLargePixelPtr = DrawLargePixel;
- DrawHiResTilePtr = DrawTile;
- DrawHiResClippedTilePtr = DrawClippedTile;
- GFX.PPL = GFX.Pitch;
- GFX.PPLx2 = GFX.Pitch * 2;
- }
- S9xFixColourBrightness ();
+ IPPU.DirectColourMapsNeedRebuild = TRUE;
+ if (Settings.SixteenBit) {
+ DrawTilePtr = DrawTile16;
+ DrawClippedTilePtr = DrawClippedTile16;
+ DrawLargePixelPtr = DrawLargePixel16;
+ DrawHiResTilePtr= DrawHiResTile16;
+ DrawHiResClippedTilePtr = DrawHiResClippedTile16;
+ } else {
+ DrawTilePtr = DrawTile;
+ DrawClippedTilePtr = DrawClippedTile;
+ DrawLargePixelPtr = DrawLargePixel;
+ DrawHiResTilePtr = DrawTile;
+ DrawHiResClippedTilePtr = DrawClippedTile;
+ }
+ S9xFixColourBrightness();
if (Settings.SixteenBit)
{
IPPU.DirectColourMapsNeedRebuild = FALSE;
}
-void S9xStartScreenRefresh ()
+void S9xStartScreenRefresh()
{
if (GFX.InfoStringTimeout > 0 && --GFX.InfoStringTimeout == 0) {
free(GFX.InfoString);
GFX.InfoString = NULL;
}
- if (IPPU.RenderThisFrame)
- {
-#ifndef _SNESPPC
- if (!S9xInitUpdate ())
- {
- IPPU.RenderThisFrame = FALSE;
- return;
- }
-#endif
- IPPU.RenderedFramesCount++;
- IPPU.PreviousLine = IPPU.CurrentLine = 0;
- IPPU.MaxBrightness = PPU.Brightness;
- IPPU.LatchedBlanking = PPU.ForcedBlanking;
- IPPU.LatchedInterlace = (Memory.FillRAM[0x2133] & 1);
- IPPU.RenderedScreenWidth = 256;
- IPPU.RenderedScreenHeight = PPU.ScreenHeight;
- IPPU.DoubleWidthPixels = FALSE;
- GFX.Pitch2 = GFX.Pitch = GFX.RealPitch;
- GFX.PPL = GFX.PPLx2 >> 1;
- PPU.RecomputeClipWindows = TRUE;
- GFX.DepthDelta = GFX.SubZBuffer - GFX.ZBuffer;
- GFX.Delta = (GFX.SubScreen - GFX.Screen) >> 1;
- }
- if (++IPPU.FrameCount % Memory.ROMFramesPerSecond == 0)
- {
- IPPU.DisplayedRenderedFrameCount = IPPU.RenderedFramesCount;
- IPPU.RenderedFramesCount = 0;
- IPPU.FrameCount = 0;
+ IPPU.FrameCount++;
+
+ if (IPPU.RenderThisFrame) {
+ if (!S9xInitUpdate()) {
+ IPPU.RenderThisFrame = FALSE;
+ return;
+ }
+
+ IPPU.PreviousLine = IPPU.CurrentLine = 0;
+ IPPU.MaxBrightness = PPU.Brightness;
+ IPPU.LatchedBlanking = PPU.ForcedBlanking;
+ IPPU.LatchedInterlace = (Memory.FillRAM[0x2133] & 1);
+ IPPU.RenderedScreenWidth = 256;
+ IPPU.RenderedScreenHeight = PPU.ScreenHeight;
+ IPPU.DoubleWidthPixels = FALSE;
+
+ PPU.RecomputeClipWindows = TRUE;
}
}
void S9xEndScreenRefresh()
{
- IPPU.HDMAStarted = FALSE;
-
-//RC
- if (IPPU.RenderThisFrame)
- {
- FLUSH_REDRAW ();
- if (IPPU.ColorsChanged)
- {
- uint32 saved = PPU.CGDATA[0];
- if (!Settings.SixteenBit)
- {
- // Hack for Super Mario World - to get its sky blue
- // (It uses Fixed colour addition on the backdrop colour)
- if (!(Memory.FillRAM [0x2131] & 0x80) &&
- (Memory.FillRAM[0x2131] & 0x20) &&
- (PPU.FixedColourRed || PPU.FixedColourGreen ||
- PPU.FixedColourBlue))
- {
- PPU.CGDATA[0] = PPU.FixedColourRed |
- (PPU.FixedColourGreen << 5) |
- (PPU.FixedColourBlue << 10);
+ IPPU.HDMAStarted = FALSE;
+
+ if (IPPU.RenderThisFrame) {
+ FLUSH_REDRAW ();
+
+ IPPU.RenderedFramesCount++;
+
+ if (IPPU.ColorsChanged) {
+ uint32 saved = PPU.CGDATA[0];
+
+ if (!Settings.SixteenBit) {
+ // Hack for Super Mario World - to get its sky blue
+ // (It uses Fixed colour addition on the backdrop colour)
+ if (!(Memory.FillRAM [0x2131] & 0x80) &&
+ (Memory.FillRAM[0x2131] & 0x20) &&
+ (PPU.FixedColourRed || PPU.FixedColourGreen ||
+ PPU.FixedColourBlue)) {
+ PPU.CGDATA[0] = PPU.FixedColourRed |
+ (PPU.FixedColourGreen << 5) |
+ (PPU.FixedColourBlue << 10);
+ }
}
- }
- IPPU.ColorsChanged = FALSE;
-
- S9xSetPalette ();
- PPU.CGDATA[0] = saved;
- }
- GFX.Pitch = GFX.Pitch2 = GFX.RealPitch;
- GFX.PPL = GFX.PPLx2 >> 1;
+ IPPU.ColorsChanged = FALSE;
+ S9xSetPalette();
+ PPU.CGDATA[0] = saved;
+ }
+
+ if (Settings.DisplayFrameRate) {
+ S9xDisplayFrameRate();
+ }
- if (Settings.DisplayFrameRate)
- S9xDisplayFrameRate ();
- if (GFX.InfoString)
- S9xDisplayString (GFX.InfoString);
+ if (GFX.InfoString) {
+ S9xDisplayString(GFX.InfoString);
+ }
- S9xDeinitUpdate (IPPU.RenderedScreenWidth, IPPU.RenderedScreenHeight,
- Settings.SixteenBit);
+ S9xDeinitUpdate(
+ IPPU.RenderedScreenWidth, IPPU.RenderedScreenHeight,
+ Settings.SixteenBit);
}
+
#ifndef RC_OPTIMIZED
- S9xApplyCheats ();
+ S9xApplyCheats ();
#endif
-
#ifdef DEBUGGER
if (CPU.Flags & FRAME_ADVANCE_FLAG)
{
BG.NameSelect = PPU.OBJNameSelect;
BG.DirectColourMode = FALSE;
- GFX.PixSize = 1;
-
GFX.Z1 = D + 2;
int I = 0;
{
Tile += ((Left - PPU.OBJ[S].HPos) >> 3) * TileInc;
Middle -= (Left - PPU.OBJ[S].HPos) >> 3;
- O += Left * GFX.PixSize;
+ O += Left * GFX_PIX_SIZE;
if ((Offset = (Left - PPU.OBJ[S].HPos) & 7))
{
- O -= Offset * GFX.PixSize;
+ O -= Offset * GFX_PIX_SIZE;
int W = 8 - Offset;
int Width = Right - Left;
if (W > Width)
continue;
Tile += TileInc;
Middle--;
- O += 8 * GFX.PixSize;
+ O += 8 * GFX_PIX_SIZE;
}
}
else
- O += PPU.OBJ[S].HPos * GFX.PixSize;
+ O += PPU.OBJ[S].HPos * GFX_PIX_SIZE;
if (PPU.OBJ[S].HPos + Size >= Right)
{
else
Offset = 0;
- for (int X = 0; X < Middle; X++, O += 8 * GFX.PixSize,
+ for (int X = 0; X < Middle; X++, O += 8 * GFX_PIX_SIZE,
Tile += TileInc)
{
(*DrawTilePtr) (Tile, O, TileLine, LineCount);
HPos = HOffset + Left;
PixWidth = PPU.Mosaic - r;
}
- uint32 s = Y * GFX.PPL + Left * GFX.PixSize;
+ uint32 s = Y * GFX.PPL + Left * GFX_PIX_SIZE;
for (uint32 x = Left; x < Right; x += PixWidth,
- s += PixWidth * GFX.PixSize,
+ s += PixWidth * GFX_PIX_SIZE,
HPos += PixWidth, PixWidth = PPU.Mosaic)
{
uint32 Quot = (HPos & OffsetMask) >> 3;
uint32 TotalCount = 0;
uint32 MaxCount = 8;
- uint32 s = Left * GFX.PixSize + Y * GFX.PPL;
+ uint32 s = Left * GFX_PIX_SIZE + Y * GFX.PPL;
bool8_32 left_hand_edge = (Left == 0);
Width = Right - Left;
if (Count > MaxCount)
Count = MaxCount;
- s -= Offset * GFX.PixSize;
+ s -= Offset * GFX_PIX_SIZE;
Tile = READ_2BYTES(t);
GFX.Z1 = GFX.Z2 = depths [(Tile & 0x2000) >> 13];
Left += Count;
TotalCount += Count;
- s += (Offset + Count) * GFX.PixSize;
+ s += (Offset + Count) * GFX_PIX_SIZE;
MaxCount = 8;
}
}
{
CHECK_SOUND();
- GFX.Pitch = GFX.RealPitch;
- GFX.PPL = GFX.PPLx2 >> 1;
- GFX.PixSize = 1;
uint8 depths [2] = {Z1, Z2};
uint32 Tile;
continue;
}
- uint32 s = (Left>>1) * GFX.PixSize + Y * GFX.PPL;
- uint32 HPos = (HOffset + Left * GFX.PixSize) & 0x3ff;
+ uint32 s = (Left>>1) * GFX_PIX_SIZE + Y * GFX.PPL;
+ uint32 HPos = (HOffset + Left * GFX_PIX_SIZE) & 0x3ff;
uint32 Quot = HPos >> 3;
uint32 Count = 0;
void DrawBackground (uint32 BGMode, uint32 bg, uint8 Z1, uint8 Z2)
{
- GFX.PixSize = 1;
-
BG.TileSize = BGSizes [PPU.BG[bg].BGSize];
BG.BitShift = BitShifts[BGMode][bg];
BG.TileShift = TileShifts[BGMode][bg];
continue;
}
- uint32 s = Left * GFX.PixSize + Y * GFX.PPL;
+ uint32 s = Left * GFX_PIX_SIZE + Y * GFX.PPL;
uint32 HPos = (HOffset + Left) & OffsetMask;
uint32 Quot = HPos >> 3;
Count = 8 - Offset;
if (Count > Width)
Count = Width;
- s -= Offset * GFX.PixSize;
+ s -= Offset * GFX_PIX_SIZE;
Tile = READ_2BYTES(t);
GFX.Z1 = GFX.Z2 = depths [(Tile & 0x2000) >> 13];
t = b1;
}
Quot++;
- s += 8 * GFX.PixSize;
+ s += 8 * GFX_PIX_SIZE;
}
// Middle, unclipped tiles
Count = Width - Count;
int Middle = Count >> 3;
Count &= 7;
- for (int C = Middle; C > 0; s += 8 * GFX.PixSize, Quot++, C--)
+ for (int C = Middle; C > 0; s += 8 * GFX_PIX_SIZE, Quot++, C--)
{
Tile = READ_2BYTES(t);
GFX.Z1 = GFX.Z2 = depths [(Tile & 0x2000) >> 13];
#include "font.h"
-void DisplayChar (uint8 *Screen, uint8 c)
+static void DisplayChar(uint8 *Screen, uint8 c)
{
int line = (((c & 0x7f) - 32) >> 4) * font_height;
int offset = (((c & 0x7f) - 32) & 15) * font_width;
#endif
}
-static void S9xDisplayFrameRate ()
+static void S9xDisplayFrameRate()
{
- uint8 *Screen = GFX.Screen + 2 +
- (IPPU.RenderedScreenHeight - font_height - 1) * GFX.Pitch2;
- char string [10];
- int len = 5;
-
- sprintf (string, "%02d/%02d", IPPU.DisplayedRenderedFrameCount,
- (int) Memory.ROMFramesPerSecond);
+ uint8 *Screen = GFX.Screen + 2 +
+ (IPPU.RenderedScreenHeight - font_height - 1) * GFX.Pitch;
+ char string[12];
+ int len;
+ const unsigned int char_width = Settings.SixteenBit ?
+ (font_width - 1) * sizeof (uint16) :
+ (font_width - 1);
+
+ if (Settings.TurboMode) {
+ len = sprintf(string, "%u",
+ IPPU.DisplayedRenderedFrameCount);
+ } else {
+ len = sprintf(string, "%2u/%02u",
+ IPPU.DisplayedRenderedFrameCount,
+ (unsigned int) Memory.ROMFramesPerSecond);
+ }
- int i;
-#ifdef _SNESPPC
- Screen += (font_width - 1) * sizeof(uint16);
-#endif
- for (i = 0; i < len; i++)
- {
- DisplayChar (Screen, string [i]);
- Screen += Settings.SixteenBit ? (font_width - 1) * sizeof (uint16) :
- (font_width - 1);
- }
+ for (int i = 0; i < len; i++) {
+ DisplayChar(Screen, string[i]);
+ Screen += char_width;
+ }
}
-static void S9xDisplayString (const char *string)
+static void S9xDisplayString(const char *string)
{
uint8 *Screen = GFX.Screen + 2 +
- (IPPU.RenderedScreenHeight - font_height * 5) * GFX.Pitch2;
+ (IPPU.RenderedScreenHeight - font_height * 5) * GFX.Pitch;
int len = strlen (string);
int max_chars = IPPU.RenderedScreenWidth / (font_width - 1);
int char_count = 0;
uint32 endy = GFX.EndY;
#ifndef RC_OPTIMIZED
- if (Settings.SupportHiRes &&
- (PPU.BGMode == 5 || PPU.BGMode == 6 || IPPU.LatchedInterlace))
- {
- if (PPU.BGMode == 5 || PPU.BGMode == 6)
- {
+ if (Settings.SupportHiRes &&
+ (PPU.BGMode == 5 || PPU.BGMode == 6 || IPPU.LatchedInterlace)) {
+ if (PPU.BGMode == 5 || PPU.BGMode == 6) {
IPPU.RenderedScreenWidth = 512;
x2 = 2;
}
- if (IPPU.LatchedInterlace)
- {
- starty = GFX.StartY * 2;
- endy = GFX.EndY * 2 + 1;
+
+ if (IPPU.LatchedInterlace) {
+ starty = GFX.StartY * 2;
+ endy = GFX.EndY * 2 + 1;
}
- if (!IPPU.DoubleWidthPixels)
- {
- // The game has switched from lo-res to hi-res mode part way down
- // the screen. Scale any existing lo-res pixels on screen
-#ifndef _SNESPPC
- if (Settings.SixteenBit)
-#endif
- {
-#if defined (USE_GLIDE) || defined (USE_OPENGL)
- if (
-#ifdef USE_GLIDE
- (Settings.GlideEnable && GFX.Pitch == 512) ||
-#endif
-#ifdef USE_OPENGL
- (Settings.OpenGLEnable && GFX.Pitch == 512) ||
-#endif
- 0)
- {
- // Have to back out of the speed up hack where the low res.
- // SNES image was rendered into a 256x239 sized buffer,
- // ignoring the true, larger size of the buffer.
-
- for (register int32 y = (int32) GFX.StartY - 1; y >= 0; y--)
- {
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + 255;
- register uint16 *q = (uint16 *) (GFX.Screen + y * GFX.RealPitch) + 510;
- for (register int x = 255; x >= 0; x--, p--, q -= 2)
- *q = *(q + 1) = *p;
- }
+
+ if (!IPPU.DoubleWidthPixels) {
+ // The game has switched from lo-res to hi-res mode part way down
+ // the screen. Scale any existing lo-res pixels on screen
+ if (Settings.SixteenBit) {
+ for (register uint32 y = 0; y < GFX.StartY; y++) {
+ register uint16 *p =
+ (uint16 *) (GFX.Screen + y * GFX.Pitch) + 255;
+ register uint16 *q =
+ (uint16 *) (GFX.Screen + y * GFX.Pitch) + 510;
+ for (register int x = 255; x >= 0; x--, p--, q -= 2) {
+ *q = *(q + 1) = *p;
+ }
}
- else
-#endif
- for (register uint32 y = 0; y < GFX.StartY; y++)
- {
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + 255;
- register uint16 *q = (uint16 *) (GFX.Screen + y * GFX.Pitch) + 510;
- for (register int x = 255; x >= 0; x--, p--, q -= 2)
+ } else {
+ for (register uint32 y = 0; y < GFX.StartY; y++) {
+ register uint8 *p =
+ GFX.Screen + y * GFX.Pitch + 255;
+ register uint8 *q =
+ GFX.Screen + y * GFX.Pitch + 510;
+ for (register int x = 255; x >= 0; x--, p--, q -= 2) {
*q = *(q + 1) = *p;
}
- }
-#ifndef _SNESPPC
- else
- {
- for (register uint32 y = 0; y < GFX.StartY; y++)
- {
- register uint8 *p = GFX.Screen + y * GFX.Pitch + 255;
- register uint8 *q = GFX.Screen + y * GFX.Pitch + 510;
- for (register int x = 255; x >= 0; x--, p--, q -= 2)
- *q = *(q + 1) = *p;
}
}
-#endif
- IPPU.DoubleWidthPixels = TRUE;
+
+ IPPU.DoubleWidthPixels = TRUE;
}
- }
+ }
#endif //RC_OPTIMIZED (DONT DO ABOVE)
uint32 black = BLACK | (BLACK << 16);
{
// Colour window enabled.
-
#ifdef RC_OPTIMIZED
for (uint32 y = starty; y <= endy; y++)
{
-
ZeroMemory (GFX.SubZBuffer + y * GFX.ZPitch,
IPPU.RenderedScreenWidth);
ZeroMemory (GFX.ZBuffer + y * GFX.ZPitch,
if (IPPU.Clip [0].Count [5])
{
- memset ((GFX.SubScreen + y * GFX.Pitch2), black, IPPU.RenderedScreenWidth);
+ memset ((GFX.SubScreen + y * GFX.Pitch), black, IPPU.RenderedScreenWidth);
}
for (uint32 c = 0; c < pClip->Count [5]; c++)
{
// because there is a colour window in effect clipping
// the main screen that will allow the sub-screen
// 'underneath' to show through.
- memset ((GFX.SubScreen + y * GFX.Pitch2) + pClip->Left [c][5] * x2,
+ memset ((GFX.SubScreen + y * GFX.Pitch) + pClip->Left [c][5] * x2,
GFX.FixedColour,
pClip->Right[c][5]*x2 - pClip->Left [c][5] * x2);
}
// if there is clipping then clear subscreen to a black color
if (IPPU.Clip [0].Count [5])
{
- memset32 ((uint32_t*)(GFX.SubScreen + y * GFX.Pitch2), black, IPPU.RenderedScreenWidth>>1);
+ memset32 ((uint32_t*)(GFX.SubScreen + y * GFX.Pitch), black, IPPU.RenderedScreenWidth>>1);
}
// loop through all window clippings
// the main screen that will allow the sub-screen
// 'underneath' to show through.
- register uint16 *p = (uint16 *) (GFX.SubScreen + y * GFX.Pitch2);
+ register uint16 *p = (uint16 *) (GFX.SubScreen + y * GFX.Pitch);
register uint16 *q = p + pClip->Right [c][5] * x2;
p += pClip->Left [c][5] * x2;
}
}
#endif
-//#undef RC_OPTIMIZED
}
else
// because there is a colour window in effect clipping
// the main screen that will allow the sub-screen
// 'underneath' to show through.
- if (GFX.Pitch2 == (uint32)IPPU.RenderedScreenWidth)
+ if (GFX.Pitch == (uint32)IPPU.RenderedScreenWidth)
{
- memset ((GFX.SubScreen + starty * GFX.Pitch2),
+ memset ((GFX.SubScreen + starty * GFX.Pitch),
GFX.FixedColour | (GFX.FixedColour << 16),
- GFX.Pitch2 * (endy - starty - 1));
+ GFX.Pitch * (endy - starty - 1));
}
else
{
for (uint32 y = starty; y <= endy; y++)
{
- memset ((GFX.SubScreen + y * GFX.Pitch2),
+ memset ((GFX.SubScreen + y * GFX.Pitch),
GFX.FixedColour | (GFX.FixedColour << 16),
IPPU.RenderedScreenWidth);
}
// 'underneath' to show through.
- memset32 ((uint32_t*)(GFX.SubScreen + y * GFX.Pitch2), fixedColour,
+ memset32 ((uint32_t*)(GFX.SubScreen + y * GFX.Pitch), fixedColour,
IPPU.RenderedScreenWidth>>1);
}
}
{
for (uint32 y = starty; y <= endy; y++)
{
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2);
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch);
register uint8 *d = GFX.SubZBuffer + y * GFX.ZPitch ;
register uint8 *e = d + SNES_WIDTH;
if (GFX.r2131 & 0x40)
{
// Subtract, halving the result.
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2) + Left;
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + Left;
register uint8 *d = GFX.ZBuffer + y * GFX.ZPitch;
register uint8 *s = GFX.SubZBuffer + y * GFX.ZPitch + Left;
register uint8 *e = d + Right;
else
{
// Subtract
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2) + Left;
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + Left;
register uint8 *s = GFX.SubZBuffer + y * GFX.ZPitch + Left;
register uint8 *d = GFX.ZBuffer + y * GFX.ZPitch;
register uint8 *e = d + Right;
else
if (GFX.r2131 & 0x40)
{
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2) + Left;
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + Left;
register uint8 *d = GFX.ZBuffer + y * GFX.ZPitch;
register uint8 *s = GFX.SubZBuffer + y * GFX.ZPitch + Left;
register uint8 *e = d + Right;
else
if (back != 0)
{
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2) + Left;
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + Left;
register uint8 *d = GFX.ZBuffer + y * GFX.ZPitch;
register uint8 *s = GFX.SubZBuffer + y * GFX.ZPitch + Left;
register uint8 *e = d + Right;
// copy the sub-screen to the main screen
// or fill it with the back-drop colour if the
// sub-screen is clear.
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2) + Left;
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + Left;
register uint8 *d = GFX.ZBuffer + y * GFX.ZPitch;
register uint8 *s = GFX.SubZBuffer + y * GFX.ZPitch + Left;
register uint8 *e = d + Right;
{
uint32 Left = pClip->Left [b][5] * x2;
uint32 Right = pClip->Right [b][5] * x2;
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2) + Left;
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch) + Left;
register uint8 *d = GFX.ZBuffer + y * GFX.ZPitch;
register uint8 *e = d + Right;
d += Left;
{
for (uint32 y = starty; y <= endy; y++)
{
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2);
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch);
register uint8 *d = GFX.ZBuffer + y * GFX.ZPitch;
register uint8 *e = d + 256 * x2;
{
#ifdef RC_OPTIMIZED
- if (GFX.Pitch2 == (uint32)IPPU.RenderedScreenWidth)
+ if (GFX.Pitch == (uint32)IPPU.RenderedScreenWidth)
{
- memset (GFX.Screen + starty * GFX.Pitch2, black,
- GFX.Pitch2 * (endy - starty - 1));
+ memset (GFX.Screen + starty * GFX.Pitch, black,
+ GFX.Pitch * (endy - starty - 1));
}
else
{
for (uint32 y = starty; y <= endy; y++)
{
- memset (GFX.Screen + y * GFX.Pitch2, black,
- GFX.Pitch2);
+ memset (GFX.Screen + y * GFX.Pitch, black,
+ GFX.Pitch);
}
}
for (uint32 y = starty; y <= endy; y++)
if (IPPU.Clip [0].Right [c][5] > IPPU.Clip [0].Left [c][5])
{
- memset ((GFX.Screen + y * GFX.Pitch2) + IPPU.Clip [0].Left [c][5] * x2,
+ memset ((GFX.Screen + y * GFX.Pitch) + IPPU.Clip [0].Left [c][5] * x2,
back,
IPPU.Clip [0].Right [c][5] * x2 - IPPU.Clip [0].Left [c][5] * x2);
}
// loop through all of the lines that are going to be updated as part of this screen update
for (uint32 y = starty; y <= endy; y++)
{
- memset32 ((uint32_t*)(GFX.Screen + y * GFX.Pitch2), black,
+ memset32 ((uint32_t*)(GFX.Screen + y * GFX.Pitch), black,
IPPU.RenderedScreenWidth>>1);
if (black!=back)
{
if (IPPU.Clip [0].Right [c][5] > IPPU.Clip [0].Left [c][5])
{
- register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch2); // get pointer to current line in screen buffer
+ register uint16 *p = (uint16 *) (GFX.Screen + y * GFX.Pitch); // get pointer to current line in screen buffer
register uint16 *q = p + IPPU.Clip [0].Right [c][5] * x2; // get pointer to end of line
p += IPPU.Clip [0].Left [c][5] * x2;
else
{
#ifdef RC_OPTIMIZED
- if (GFX.Pitch2 == (uint32)IPPU.RenderedScreenWidth)
+ if (GFX.Pitch == (uint32)IPPU.RenderedScreenWidth)
{
- memset (GFX.Screen + starty * GFX.Pitch2, back,
- GFX.Pitch2 * (endy - starty - 1));
+ memset (GFX.Screen + starty * GFX.Pitch, back,
+ GFX.Pitch * (endy - starty - 1));
}
else
{
for (uint32 y = starty; y <= endy; y++)
{
- memset (GFX.Screen + y * GFX.Pitch2, back,
- GFX.Pitch2);
+ memset (GFX.Screen + y * GFX.Pitch, back,
+ GFX.Pitch);
}
}
#else
// there is no clipping to worry about so just fill with the back colour
for (uint32 y = starty; y <= endy; y++)
{
- memset32 ((uint32_t*)(GFX.Screen + y * GFX.Pitch2), back,
+ memset32 ((uint32_t*)(GFX.Screen + y * GFX.Pitch), back,
IPPU.RenderedScreenWidth>>1);
}
#endif
// now clear all graphics lines which are being updated using the back colour
for (register uint32 y = starty; y <= endy; y++)
{
- memset32 ((uint32_t*)(GFX.Screen + y * GFX.Pitch2), back,
+ memset32 ((uint32_t*)(GFX.Screen + y * GFX.Pitch), back,
IPPU.RenderedScreenWidth>>1);
}
}
// Loop through all lines being updated and clear the pixels to 0
for (uint32 y = starty; y <= endy; y++)
{
- ZeroMemory (GFX.Screen + y * GFX.Pitch2,
+ ZeroMemory (GFX.Screen + y * GFX.Pitch,
IPPU.RenderedScreenWidth);
}
}
// pixels.
for (uint32 y = GFX.StartY; y <= GFX.EndY; y++)
{
- memcpy32 ((uint32_t*)(GFX.Screen + (y * 2 + 1) * GFX.Pitch2),
- (uint32_t*)(GFX.Screen + y * 2 * GFX.Pitch2),
- GFX.Pitch2>>2);
+ memcpy32 ((uint32_t*)(GFX.Screen + (y * 2 + 1) * GFX.Pitch),
+ (uint32_t*)(GFX.Screen + y * 2 * GFX.Pitch),
+ GFX.Pitch>>2);
}
}
}