shithub: psxe

Download patch

ref: 0efc3404dce1700d73a966a4ce8f6851360ae2ab
parent: a574f84f3e884cf825dec03893136a3fe8ddb20e
author: allkern <lisandroaalarcon@gmail.com>
date: Wed Jul 26 19:34:15 EDT 2023

Debugging

--- a/psx/dev/gpu.c
+++ b/psx/dev/gpu.c
@@ -92,7 +92,7 @@
 }
 
 uint16_t psx_gpu_read16(psx_gpu_t* gpu, uint32_t offset) {
-     log_fatal("Unhandled 16-bit GPU read at offset %08x", offset);
+    log_fatal("Unhandled 16-bit GPU read at offset %08x", offset);
 
     exit(1);
 }
@@ -101,8 +101,6 @@
     log_fatal("Unhandled 8-bit GPU read at offset %08x", offset);
 
     exit(1);
-
-    return 0x0;
 }
 
 int min(int x0, int x1) {
@@ -459,11 +457,11 @@
 
                 //log_set_quiet(0);
 
-                log_fatal("pos=(%u, %u), siz=(%u, %u), tsiz=%08x, addr=%08x",
-                    gpu->xpos, gpu->ypos,
-                    gpu->xsiz, gpu->ysiz,
-                    gpu->tsiz, gpu->addr
-                );
+                // log_fatal("pos=(%u, %u), siz=(%u, %u), tsiz=%08x, addr=%08x",
+                //     gpu->xpos, gpu->ypos,
+                //     gpu->xsiz, gpu->ysiz,
+                //     gpu->tsiz, gpu->addr
+                // );
 
                 // system("pause > nul");
 
@@ -722,6 +720,18 @@
                 uint32_t tpx = gpu->texp_x;
                 uint32_t tpy = gpu->texp_y;
 
+                // log_set_quiet(0);
+
+                // log_fatal("v0=(%u, %u), v0t=(%u, %u), clut=(%04x, %u, %u), siz=(%u, %u), texp=(%u, %u)",
+                //     gpu->v0.x, gpu->v0.y,
+                //     gpu->v0.tx, gpu->v0.ty,
+                //     gpu->pal, gpu->clut_x, gpu->clut_y,
+                //     w, h,
+                //     tpx, tpy
+                // );
+
+                // log_set_quiet(1);
+
                 gpu_render_textured_rectangle(gpu, gpu->v0, w, h, tpx, tpy);
 
                 gpu->state = GPU_STATE_RECV_CMD;
@@ -888,6 +898,7 @@
         case 0x64: gpu_cmd_64(gpu); break;
         case 0x65: gpu_cmd_64(gpu); break;
         case 0x66: gpu_cmd_64(gpu); break;
+        case 0x67: gpu_cmd_64(gpu); break;
         case 0x68: gpu_cmd_68(gpu); break;
         case 0x80: gpu_cmd_80(gpu); break;
         case 0xa0: gpu_cmd_a0(gpu); break;
@@ -898,6 +909,17 @@
             gpu->texp_x = (gpu->gpustat & 0xf) << 6;
             gpu->texp_y = (gpu->gpustat & 0x10) << 4;
             gpu->texp_d = (gpu->gpustat >> 7) & 0x3;
+
+            log_set_quiet(0);
+
+            log_fatal("gpustat=%08x, texp=(%u, %u), cmd=%08x",
+                gpu->gpustat,
+                (gpu->gpustat & 0xf) << 6,
+                (gpu->gpustat & 0x10) << 4,
+                gpu->buf[0]
+            );
+
+            log_set_quiet(1);
         } break;
         case 0xe2: {
             gpu->texw_mx = (gpu->buf[0] >> 0 ) & 0x1f;
@@ -973,9 +995,9 @@
                 case 0x10: {
                     gpu->gp1_10h_req = value & 7;
 
-                    // log_set_quiet(0);
-                    // log_fatal("GP1(10h) %u !!!!!!!!!!!!!!!!!", value & 7);
-                    // log_set_quiet(1);
+                    log_set_quiet(0);
+                    log_fatal("GP1(10h) %u !!!!!!!!!!!!!!!!!", value & 7);
+                    log_set_quiet(1);
                 } break;
             }
 
--