notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed Linked List DMA end marker. (#183)
[pcsx_rearmed.git]
/
plugins
/
gpu_unai
/
gpu_command.h
diff --git
a/plugins/gpu_unai/gpu_command.h
b/plugins/gpu_unai/gpu_command.h
index
2dc7f5b
..
d6e7a74
100644
(file)
--- a/
plugins/gpu_unai/gpu_command.h
+++ b/
plugins/gpu_unai/gpu_command.h
@@
-21,9
+21,9
@@
///////////////////////////////////////////////////////////////////////////////
INLINE void gpuSetTexture(u16 tpage)
{
///////////////////////////////////////////////////////////////////////////////
INLINE void gpuSetTexture(u16 tpage)
{
-
long
tp;
-
long
tx, ty;
- GPU_GP1 = (GPU_GP1 & ~0x
7FF) | (tpage & 0x7
FF);
+
u32
tp;
+
u32
tx, ty;
+ GPU_GP1 = (GPU_GP1 & ~0x
1FF) | (tpage & 0x1
FF);
TextureWindow[0]&= ~TextureWindow[2];
TextureWindow[1]&= ~TextureWindow[3];
TextureWindow[0]&= ~TextureWindow[2];
TextureWindow[1]&= ~TextureWindow[3];
@@
-31,6
+31,7
@@
INLINE void gpuSetTexture(u16 tpage)
tp = (tpage >> 7) & 3;
tx = (tpage & 0x0F) << 6;
ty = (tpage & 0x10) << 4;
tp = (tpage >> 7) & 3;
tx = (tpage & 0x0F) << 6;
ty = (tpage & 0x10) << 4;
+ if (tp == 3) tp = 2;
tx += (TextureWindow[0] >> (2 - tp));
ty += TextureWindow[1];
tx += (TextureWindow[0] >> (2 - tp));
ty += TextureWindow[1];
@@
-352,6
+353,16
@@
void gpuSendPacketFunction(const int PRIM)
break;
case 0x7C:
case 0x7D:
break;
case 0x7C:
case 0x7D:
+#ifdef __arm__
+ if ((GPU_GP1 & 0x180) == 0 && (Masking | PixelMSB) == 0)
+ {
+ gpuSetCLUT (PacketBuffer.U4[2] >> 16);
+ gpuSetTexture (GPU_GP1);
+ gpuDrawS16();
+ break;
+ }
+ // fallthrough
+#endif
case 0x7E:
case 0x7F:
if (!isSkip)
case 0x7E:
case 0x7F:
if (!isSkip)
@@
-373,7
+384,9
@@
void gpuSendPacketFunction(const int PRIM)
break;
case 0xA0: // sys ->vid
gpuLoadImage(); // prim handles updateLace && skip
break;
case 0xA0: // sys ->vid
gpuLoadImage(); // prim handles updateLace && skip
+#ifndef isSkip // not a define
if (alt_fps) isSkip=false;
if (alt_fps) isSkip=false;
+#endif
DO_LOG(("gpuLoadImage(0x%x)\n",PRIM));
break;
case 0xC0: // vid -> sys
DO_LOG(("gpuLoadImage(0x%x)\n",PRIM));
break;
case 0xC0: // vid -> sys
@@
-400,7
+413,7
@@
void gpuSendPacketFunction(const int PRIM)
TextureWindow[2] = TextureMask[(temp >> 0) & 0x1F];
TextureWindow[3] = TextureMask[(temp >> 5) & 0x1F];
gpuSetTexture(GPU_GP1);
TextureWindow[2] = TextureMask[(temp >> 0) & 0x1F];
TextureWindow[3] = TextureMask[(temp >> 5) & 0x1F];
gpuSetTexture(GPU_GP1);
- isSkip = false;
+
//
isSkip = false;
DO_LOG(("TextureWindow(0x%x)\n",PRIM));
}
break;
DO_LOG(("TextureWindow(0x%x)\n",PRIM));
}
break;
@@
-409,7
+422,7
@@
void gpuSendPacketFunction(const int PRIM)
const u32 temp = PacketBuffer.U4[0];
DrawingArea[0] = temp & 0x3FF;
DrawingArea[1] = (temp >> 10) & 0x3FF;
const u32 temp = PacketBuffer.U4[0];
DrawingArea[0] = temp & 0x3FF;
DrawingArea[1] = (temp >> 10) & 0x3FF;
- isSkip = false;
+
//
isSkip = false;
DO_LOG(("DrawingArea_Pos(0x%x)\n",PRIM));
}
break;
DO_LOG(("DrawingArea_Pos(0x%x)\n",PRIM));
}
break;
@@
-418,16
+431,16
@@
void gpuSendPacketFunction(const int PRIM)
const u32 temp = PacketBuffer.U4[0];
DrawingArea[2] = (temp & 0x3FF) + 1;
DrawingArea[3] = ((temp >> 10) & 0x3FF) + 1;
const u32 temp = PacketBuffer.U4[0];
DrawingArea[2] = (temp & 0x3FF) + 1;
DrawingArea[3] = ((temp >> 10) & 0x3FF) + 1;
- isSkip = false;
+
//
isSkip = false;
DO_LOG(("DrawingArea_Size(0x%x)\n",PRIM));
}
break;
case 0xE5:
{
const u32 temp = PacketBuffer.U4[0];
DO_LOG(("DrawingArea_Size(0x%x)\n",PRIM));
}
break;
case 0xE5:
{
const u32 temp = PacketBuffer.U4[0];
- DrawingOffset[0] = ((
long
)temp<<(32-11))>>(32-11);
- DrawingOffset[1] = ((
long
)temp<<(32-22))>>(32-11);
- isSkip = false;
+ DrawingOffset[0] = ((
s32
)temp<<(32-11))>>(32-11);
+ DrawingOffset[1] = ((
s32
)temp<<(32-22))>>(32-11);
+
//
isSkip = false;
DO_LOG(("DrawingOffset(0x%x)\n",PRIM));
}
break;
DO_LOG(("DrawingOffset(0x%x)\n",PRIM));
}
break;