diff --git a/CHANGELOG b/CHANGELOG index 456747b587d..1191f2f1bbb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,10 @@ Unreleased + - Disabled code to randomly return GDC drawing + status active. The implementation was causing + severe performance issues. The code has not + been removed because it could be optimized and + fixed and could even follow the state of GDC + drawing. (joncampbell123) - VGA 6-bit DAC mode expand to full 8-bit range, instead of simple shifting (joncampbell123). - Fix 8254 PIT emulation (joncampbell123) diff --git a/src/hardware/vga_pc98_gdc.cpp b/src/hardware/vga_pc98_gdc.cpp index 3b5082a0948..fa548bd1d23 100644 --- a/src/hardware/vga_pc98_gdc.cpp +++ b/src/hardware/vga_pc98_gdc.cpp @@ -649,8 +649,16 @@ uint8_t PC98_GDC_state::read_status(void) { if (rfifo_has_content()) ret |= 0x01; // data ready else if (fifo_read == fifo_write) { +#if 0 // THIS IS CAUSING SEVERE PERFORMANCE ISSUES, DISABLED! + // According to + // [http://hackipedia.org/browse.cgi/Computer/Platform/PC%2c%20NEC%20PC%2d98/Collections/Undocumented%209801%2c%209821%20Volume%202%20%28webtech.co.jp%29/io%5fdisp%2etxt] + // bit 3 (0x08) is supposed to indicate when the GDC is drawing. Perhaps the contributer who's + // pull request added this found a PC-98 game that failed to run without it. Re-enable when a + // higher performance implementation is possible. Also, recent commits in 2022 added actual + // GDC drawing functionality, so perhaps this should mirror that too? initRand(); if (rand()%20<1) ret |= 0x08; +#endif } return ret;