Compaq DeskPro config will use an IBM VGA for now

This commit is contained in:
Jeff Parsons 2015-05-19 10:45:17 -07:00 committed by jeffpar
commit acb33c9b92
3 changed files with 21 additions and 9 deletions

View file

@ -6,7 +6,7 @@
<ram id="ramLow" addr="0x00000" test="true" size="0xa0000" comment="ROM BIOS memory test has NOT been disabled"/>
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="Compaq memory at 0xFA0000"/>
<ram id="ramExt" addr="0x100000" size="0x100000" comment="Extended memory at 0x100000"/>
<rom id="romVGA" addr="0xc0000" size="0x8000" file="/devices/pc/video/compaq/vga/109360-001/1987-10-27.json" notify="videoVGA"/>
<rom id="romVGA" addr="0xc0000" size="0x6000" file="/devices/pc/video/ibm/vga/ibm-vga.json" notify="videoVGA"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/bios/compaq/deskpro386/1988-01-28/1988-01-28.json"/>
<video ref="/devices/pc/video/ibm/vga/ibm-vga-lock.xml"/>
<keyboard ref="/devices/pc/keyboard/keyboard-minimal-functions.xml"/>

View file

@ -328,7 +328,7 @@ ChipSet.aMonitorSwitches = {
* For FDC DMA notes, refer to http://wiki.osdev.org/ISA_DMA
* For general DMA notes, refer to http://www.freebsd.org/doc/en/books/developers-handbook/dma.html
*
* TODO: Determine why the MODEL_5150 ROM BIOS sets the DMA channel 1 page register (port 0x83) to zero
* TODO: Determine why the MODEL_5150 ROM BIOS sets the DMA channel 1 page register (port 0x83) to zero.
*/
ChipSet.DMA0 = {
INDEX: 0,

View file

@ -442,6 +442,18 @@ Video.monitorSpecs[ChipSet.MONITOR.EGACOLOR] = {
percentVertActive: 96
};
/**
* @type {{MonitorSpecs}}
*
* TODO: This needs to be filled in with accurate values.
*/
Video.monitorSpecs[ChipSet.MONITOR.VGACOLOR] = {
nHorzPeriodsPerSec: 21850,
nHorzPeriodsPerFrame: 364,
percentHorzActive: 85,
percentVertActive: 96
};
/*
* EGA Miscellaneous ports and SW1-Sw4
*
@ -482,19 +494,19 @@ Video.aEGAMonitorSwitches = {
/*
* Supported Modes
*
* Although this component is designed to be a video hardware emulation, not a "BIOS simulation", we DO
* Although this component is designed to be a video hardware emulation, not a BIOS simulation, we DO
* look for changes to the hardware state that correspond to standard BIOS mode settings, so our internal
* mode setting will normally match the current BIOS mode. Since 99.9% of applications use only standard
* BIOS modes, knowing that mode is often helpful. However, this doesn't mean we're dependent on the BIOS;
* we simply use common, familiar values wherever it makes sense to do so. We do have some "BIOS awareness",
* (eg, when we look for a ROM-based font, or when we're trying to ensure all the BIOS diagnostics pass),
* but for the most part, we are treating the BIOS as just another (ROM-based) application.
* mode setting will normally match the current BIOS mode setting; however, this a debugging convenience,
* not an attempt to monitor or emulate the BIOS.
*
* We do have some BIOS awareness (eg, when loading ROM-based fonts, and some special code to ensure all
* the BIOS diagnostics pass), but for the most part, we treat the BIOS like any other application code.
*
* As we expand support to include more programmable cards like the EGA, it becomes quite easy for the card
* to enter a "mode" that has no BIOS counterpart (eg, non-standard combinations of frame buffer address,
* memory access modes, fonts, display regions, etc). Our hardware emulation routines will cope with those
* situations as best they can (and when they don't, it should be considered a bug if some application is
* broken as a result), but realistically, this is never going to be a 100% accurate hardware emulation.
* broken as a result), but realistically, our hardware emulation is never likely to be 100% accurate.
*/
Video.MODE = {
CGA_40X25_BW: 0,