Skip to content
This repository has been archived by the owner on Dec 24, 2020. It is now read-only.

Commit

Permalink
v1.19.3: Last-minute video tweaks (fixed EGA graphics modes and elimi…
Browse files Browse the repository at this point in the history
…nated unnecessary forced updates)
  • Loading branch information
jeffpar committed Sep 2, 2015
1 parent e9cff67 commit 55fcfad
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 37 deletions.
8 changes: 4 additions & 4 deletions docs/pcjs/demos/pc-dbg.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions docs/pcjs/demos/pc.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 24 additions & 29 deletions modules/pcjs/lib/video.js
Original file line number Diff line number Diff line change
Expand Up @@ -1158,34 +1158,34 @@ Card.CRTC = {
HRETRACE_END: 0x05,
VTOTAL: 0x06,
OVERFLOW: {
INDX: 0x07,
VTOTAL_BIT8: 0x01, // bit 8 of register 0x06
VDISP_END_BIT8: 0x02, // bit 8 of register 0x12
VRETRACE_START_BIT8:0x04, // bit 8 of register 0x10
VBLANK_START_BIT8: 0x08, // bit 8 of register 0x15
LINE_COMPARE_BIT8: 0x10, // bit 8 of register 0x18
CURSOR_START_BIT8: 0x20, // bit 8 of register 0x0A (EGA only)
VTOTAL_BIT9: 0x20, // bit 9 of register 0x06 (VGA only)
VDISP_END_BIT9: 0x40, // bit 9 of register 0x12 (VGA only, unused on EGA)
VRETRACE_START_BIT9:0x80 // bit 9 of register 0x10 (VGA only, unused on EGA)
INDX: 0x07,
VTOTAL_BIT8: 0x01, // bit 8 of register 0x06
VDISP_END_BIT8: 0x02, // bit 8 of register 0x12
VRETRACE_START_BIT8:0x04, // bit 8 of register 0x10
VBLANK_START_BIT8: 0x08, // bit 8 of register 0x15
LINE_COMPARE_BIT8: 0x10, // bit 8 of register 0x18
CURSOR_START_BIT8: 0x20, // bit 8 of register 0x0A (EGA only)
VTOTAL_BIT9: 0x20, // bit 9 of register 0x06 (VGA only)
VDISP_END_BIT9: 0x40, // bit 9 of register 0x12 (VGA only, unused on EGA)
VRETRACE_START_BIT9:0x80 // bit 9 of register 0x10 (VGA only, unused on EGA)
},
PRESET_SCAN: 0x08,
/*
* NOTE: EGA/VGA CRTC registers 0x09-0x0F are the same as the MDA/CGA CRTC registers defined above
*/
MAX_SCAN: {
INDX: 0x09,
SCAN_LINE: 0x1f,
VBLANK_START_BIT9: 0x20,
LINE_COMPARE_BIT9: 0x40,
CONVERT400: 0x80 // 200-to-400 scan-line conversion is in effect
INDX: 0x09,
SCAN_LINE: 0x1f,
VBLANK_START_BIT9: 0x20, // (VGA only)
LINE_COMPARE_BIT9: 0x40, // (VGA only)
CONVERT400: 0x80 // 200-to-400 scan-line conversion is in effect (VGA only)
},
CURSOR_START: {
INDX: 0x0A,
MASK: 0x1F,
BLINKON: 0x00, // (supposedly, 0x04 has the same effect as 0x00)
BLINKOFF: 0x20, // if blinking is disabled, the cursor is effectively hidden
BLINKFAST: 0x60 // default is 1/16 of the frame rate; this switches to 1/32 of the frame rate
BLINKON: 0x00, // (VGA only; supposedly, 0x04 has the same effect as 0x00)
BLINKOFF: 0x20, // if blinking is disabled, the cursor is effectively hidden (VGA only)
BLINKFAST: 0x60 // default is 1/16 of the frame rate; this switches to 1/32 of the frame rate (VGA only)
},
CURSOR_END: {
INDX: 0x0B,
Expand All @@ -1208,8 +1208,8 @@ Card.CRTC = {
UNDERLINE: {
INDX: 0x14,
ROWSCAN: 0x1f,
COUNTBY4: 0x20,
DWORD: 0x40
COUNTBY4: 0x20, // (VGA only)
DWORD: 0x40 // (VGA only)
},
VBLANK_START: 0x15,
VBLANK_END: 0x16,
Expand Down Expand Up @@ -4804,9 +4804,9 @@ Video.prototype.checkMode = function(fForce)
nMode = Video.MODE.VGA_320X400;
}
}
else if (nCRTCMaxScan & Card.CRTC.EGA.MAX_SCAN.CONVERT400) {
else if ((nCRTCMaxScan & Card.CRTC.EGA.MAX_SCAN.CONVERT400) || nCRTCVertTotal < 350) {
nMode = (fSEQDotClock? Video.MODE.EGA_320X200 : Video.MODE.EGA_640X200);
} else if (nCRTCVertTotal > 500) {
} else if (nCRTCVertTotal >= 480) {
nMode = (this.nMonitorType == ChipSet.MONITOR.MONO? Video.MODE.VGA_640X480_MONO : Video.MODE.VGA_640X480);
}
if (DEBUG && this.messageEnabled()) {
Expand Down Expand Up @@ -4925,14 +4925,9 @@ Video.prototype.setMode = function(nMode, fForce)
return false;
}
}

this.setDimensions();

if (fForce !== false) {
this.updateScreen(true);
} else {
this.invalidateScreen(true);
}
this.invalidateScreen(true);
this.updateScreen();
}
return true;
};
Expand Down

0 comments on commit 55fcfad

Please sign in to comment.