ref: 450e5562c3c27db926ab49903f34f1f383489da5
parent: dcd84fadf58e5c498c2bbed8cc3267adf3c8b447
author: Jean-André Santoni <jean.andre.santoni@gmail.com>
date: Mon Jul 15 10:07:41 EDT 2024
Fix vdpbuf type
--- a/sms.c
+++ b/sms.c
@@ -113,6 +113,11 @@
}
printf(" vdp registers: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\n", reg[0], reg[1], reg[2], reg[3], reg[4], reg[5], reg[6], reg[7], reg[8], reg[9], reg[10], reg[11], reg[12], reg[13], reg[14], reg[15]);+ // printf("vram:\n");+ // for(int i=14000;i<17000;i++)
+ // printf("%x ", vram[i]);+ // printf("\n");+
if (total > 702240){flush();
total = 0;
--- a/vdp.c
+++ b/vdp.c
@@ -5,8 +5,8 @@
extern uint8_t *pic;
-uint8_t vdpcode, vdpbuf, vdpstat = 0;
-uint16_t vdpaddr;
+uint8_t vdpcode, vdpstat = 0;
+uint16_t vdpaddr, vdpbuf;
int vdpx = 0, vdpy, vdpyy, frame, intla;
int first = 1;
uint16_t hctr;
@@ -363,7 +363,10 @@
first = 1;
vdpbuf = v;
switch(vdpcode){- case 0: case 1: case 2: vram[vdpaddr] = v; break;
+ case 0: case 1: case 2:
+ vram[vdpaddr] = v;
+ printf("vramwrite %x %x\n", vdpaddr, v);+ break;
case 3: cramwrite(vdpaddr, v); break;
}
vdpaddr++;
@@ -455,7 +458,7 @@
if(vdpy == yvbl){vdpstat |= STATVBL | STATINT;
frame ^= 1;
- // z80irq = 1;
+ z80irq = 1;
if((reg[MODE2] & IE0) != 0)
irq |= INTVBL;
}
--
⑨