From c39dc641a6b86ab9c851dd16ecf59fef3fa23aa0 Mon Sep 17 00:00:00 2001 From: SarahW Date: Thu, 16 May 2019 22:07:57 +0100 Subject: [PATCH] Reset Cirrus Logic hidden DAC counter on accesses to 3c7/3c8/3c9. --- src/vid_cl5429.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vid_cl5429.c b/src/vid_cl5429.c index 43d4573..3a863e5 100644 --- a/src/vid_cl5429.c +++ b/src/vid_cl5429.c @@ -161,7 +161,10 @@ void gd5429_out(uint16_t addr, uint8_t val, void *p) } gd5429->dac_3c6_count = 0; break; - + case 0x3c7: case 0x3c8: case 0x3c9: + gd5429->dac_3c6_count = 0; + break; + case 0x3cf: // pclog("Write GDC %02x %02x\n", svga->gdcaddr, val); if (svga->gdcaddr == 0) @@ -373,6 +376,9 @@ uint8_t gd5429_in(uint16_t addr, void *p) } gd5429->dac_3c6_count++; break; + case 0x3c7: case 0x3c8: case 0x3c9: + gd5429->dac_3c6_count = 0; + break; case 0x3cf: if (svga->gdcaddr > 8)