Cleaned up the (S)VGA render code of excess CRTC checks.

This commit is contained in:
OBattler
2022-07-18 23:56:21 +02:00
parent 74fd270ee8
commit 3bcb9f6310
2 changed files with 322 additions and 452 deletions

View File

@@ -460,7 +460,7 @@ svga_recalctimings(svga_t *svga)
svga->hdisp_time = svga->hdisp; svga->hdisp_time = svga->hdisp;
svga->render = svga_render_blank; svga->render = svga_render_blank;
if (!svga->scrblank && svga->attr_palette_enable) { if (!svga->scrblank && (svga->crtc[0x17] & 0x80) && svga->attr_palette_enable) {
if (!(svga->gdcreg[6] & 1) && !(svga->attrregs[0x10] & 1)) { /*Text mode*/ if (!(svga->gdcreg[6] & 1) && !(svga->attrregs[0x10] & 1)) { /*Text mode*/
if (svga->seqregs[1] & 8) /*40 column*/ { if (svga->seqregs[1] & 8) /*40 column*/ {
svga->render = svga_render_text_40; svga->render = svga_render_text_40;
@@ -658,6 +658,7 @@ svga_poll(void *p)
uint32_t x, blink_delay; uint32_t x, blink_delay;
int wx, wy; int wx, wy;
int ret, old_ma; int ret, old_ma;
int old_vc;
if (!vga_on && ibm8514_enabled && ibm8514_on) { if (!vga_on && ibm8514_enabled && ibm8514_on) {
ibm8514_poll(&svga->dev8514, svga); ibm8514_poll(&svga->dev8514, svga);
@@ -786,6 +787,7 @@ svga_poll(void *p)
return; return;
svga->vc++; svga->vc++;
old_vc = svga->vc;
svga->vc &= 2047; svga->vc &= 2047;
if (svga->vc == svga->split) { if (svga->vc == svga->split) {

File diff suppressed because it is too large Load Diff