shithub: psxe

Download patch

ref: 325001fbaad1b583b3448460cb2fcf6051f2f678
parent: 86c7fc711022b388dd0ae0c50c1c767b78820450
author: allkern <lisandroaalarcon@gmail.com>
date: Mon Sep 18 08:27:01 EDT 2023

Fix GP0(A0h)

--- a/psx/dev/gpu.c
+++ b/psx/dev/gpu.c
@@ -639,6 +639,7 @@
             ++gpu->xcnt;
 
             xpos = (gpu->xpos + gpu->xcnt) & 0x3ff;
+            ypos = (gpu->ypos + gpu->ycnt) & 0x1ff;
 
             if (gpu->xcnt == gpu->xsiz) {
                 ++gpu->ycnt;
@@ -645,18 +646,18 @@
                 gpu->xcnt = 0;
 
                 ypos = (gpu->ypos + gpu->ycnt) & 0x1ff;
+                xpos = (gpu->xpos + gpu->xcnt) & 0x3ff;
             }
 
             gpu->vram[xpos + (ypos * 1024)] = gpu->recv_data >> 16;
 
             ++gpu->xcnt;
-
-            xpos = (gpu->xpos + gpu->xcnt) & 0x3ff;
-
+            
             if (gpu->xcnt == gpu->xsiz) {
                 ++gpu->ycnt;
                 gpu->xcnt = 0;
 
+                xpos = (gpu->xpos + gpu->xcnt) & 0x3ff;
                 ypos = (gpu->ypos + gpu->ycnt) & 0x1ff;
             }
 
--