core vdp, reset fix
authorkub <derkub@gmail.com>
Sat, 18 May 2024 20:00:41 +0000 (22:00 +0200)
committerkub <derkub@gmail.com>
Sat, 18 May 2024 20:29:56 +0000 (22:29 +0200)
pico/pico.c
pico/videoport.c

index d913e08..0e7e1d8 100644 (file)
@@ -75,13 +75,6 @@ void PicoPower(void)
   // my MD1 VA6 console has this in IO\r
   PicoMem.ioports[1] = PicoMem.ioports[2] = PicoMem.ioports[3] = 0xff;\r
 \r
-  // powerup default VDP register values from TMSS BIOS\r
-  Pico.video.reg[0] = Pico.video.reg[1] = 0x04;\r
-  Pico.video.reg[0xc] = 0x81;\r
-  Pico.video.reg[0xf] = 0x02;\r
-  SATaddr = 0x0000;\r
-  SATmask = ~0x3ff;\r
-\r
   Pico.video.hint_irq = (PicoIn.AHW & PAHW_PICO ? 5 : 4);\r
 \r
   if (PicoIn.AHW & PAHW_MCD)\r
@@ -91,6 +84,13 @@ void PicoPower(void)
     PicoPower32x();\r
 \r
   PicoReset();\r
+\r
+  // powerup default VDP register values from TMSS BIOS\r
+  Pico.video.reg[0] = Pico.video.reg[1] = 0x04;\r
+  Pico.video.reg[0xc] = 0x81;\r
+  Pico.video.reg[0xf] = 0x02;\r
+  SATaddr = 0x0000;\r
+  SATmask = ~0x3ff;\r
 }\r
 \r
 PICO_INTERNAL void PicoDetectRegion(void)\r
index 0a05348..4adf7a7 100644 (file)
@@ -1180,7 +1180,7 @@ void PicoVideoReset(void)
   Pico.m.dirtyPal = 1;\r
 \r
   PicoDrawBgcDMA(NULL, 0, 0, 0, 0);\r
-  PicoVideoFIFOMode(0, 1);\r
+  PicoVideoFIFOMode(Pico.video.reg[1]&0x40, Pico.video.reg[12]&1);\r
 }\r
 \r
 void PicoVideoCacheSAT(int load)\r