Fixed CGA graphics modes on VGA cards
This commit is contained in:
parent
6eca71ace3
commit
0eddbd05a3
60 changed files with 6775 additions and 404 deletions
|
|
@ -8,8 +8,8 @@ machines:
|
|||
- type: pc
|
||||
id: deskpro386
|
||||
debugger: true
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
|
||||
uncompiled: true
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml
|
||||
---
|
||||
|
||||
I finally dumped the [COMPAQ DeskPro 386/16 ROMs](/devices/pc/bios/compaq/deskpro386/) from the motherboard I bought
|
||||
|
|
@ -20,7 +20,7 @@ to find COMPAQ Maintenance and Service guides online, but their Technical Refere
|
|||
they were expensive ($149) and not many were sold. Anyway, I'm hoping to either borrow or buy a copy, and then scan and
|
||||
post it.
|
||||
|
||||
A [COMPAQ DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/2048kb/) test configuration is displayed below.
|
||||
A [COMPAQ DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/) test configuration is displayed below.
|
||||
The configuration doesn't run, and the debugger can't disassemble 80386-specific code yet, but this is what I will be
|
||||
using to test and debug my changes over the next few months.
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ machines:
|
|||
- type: pc
|
||||
id: deskpro386
|
||||
debugger: true
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
|
||||
uncompiled: true
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml
|
||||
---
|
||||
|
||||
PCjs can now boot the [COMPAQ DeskPro 386/16 ROM BIOS](/devices/pc/bios/compaq/deskpro386/).
|
||||
|
|
@ -143,10 +143,10 @@ to match that of the 1st megabyte whenever A20 is disabled. I could probably ge
|
|||
only the first 64Kb of the 2nd megabyte, but until I'm actually able to run some tests on a real
|
||||
DeskPro 386, I'm going to assume COMPAQ's A20 implementation affected the entire 2nd megabyte.
|
||||
|
||||
Here's my [COMPAQ DeskPro 386/16](/devices/pc/machine/compaq/deskpro386/ega/2048kb/) test configuration.
|
||||
Set a breakpoint at F000:F498 ("bp f000:f498") in the Debugger panel to see the above code in action.
|
||||
When the machine is operating in real-mode, you can use the "rp" command to dump all the registers,
|
||||
including the current base and limit values loaded into the segment registers.
|
||||
Here's my [COMPAQ DeskPro 386/16](/devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/) test
|
||||
configuration. Set a breakpoint at F000:F498 ("bp f000:f498") in the Debugger panel to see the above
|
||||
code in action. When the machine is operating in real-mode, you can use the "rp" command to dump all
|
||||
the registers, including the current base and limit values loaded into the segment registers.
|
||||
|
||||
{% include machine.html id="deskpro386" %}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ the source code for its ROMs, so I've created some assemblable source code from
|
|||
[here](/devices/pc/video/ibm/vga/).
|
||||
|
||||
I've finally started debugging a machine configuration that uses the IBM VGA ROM. Since the VGA and the 80386 are
|
||||
contemporaries, I'm using an [80386 machine configuration](/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml).
|
||||
contemporaries, I'm using an [80386 machine configuration](/devices/pc/machine/compaq/deskpro386/vga/2048kb/debugger/).
|
||||
However, I don't expect the IBM VGA ROM to require any 80386 support or PS/2-specific features.
|
||||
|
||||
The first problem I ran into was here:
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ machines:
|
|||
id: deskpro386
|
||||
debugger: true
|
||||
state: /disks/pc/windows/win95/4.00.950/deskpro386.json
|
||||
config: /devices/pc/machine/compaq/deskpro386/vga/4096kb/machine.xml
|
||||
config: /devices/pc/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml
|
||||
drives: '[{name:"68Mb Hard Disk",type:4,path:"http://archive.pcjs.org/disks/pc/fixed/68mb/win95.json"}]'
|
||||
autoMount: ''
|
||||
---
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ permalink: /blog/2015/09/21/
|
|||
machines:
|
||||
- type: pc
|
||||
id: deskpro386
|
||||
debugger: true
|
||||
state: /disks/pc/windows/win95/4.00.950/deskpro386.json
|
||||
config: /devices/pc/machine/compaq/deskpro386/vga/4096kb/machine.xml
|
||||
drives: '[{name:"68Mb Hard Disk",type:4,path:"http://archive.pcjs.org/disks/pc/fixed/68mb/win95.json"}]'
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ FDC `autoMount` setting, making it easy to reuse the same machine XML file with
|
|||
autoMount:
|
||||
A:
|
||||
path: /disks/pc/os2/misc/football/FOOTBALL-76817.json
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/4096kb/machine.xml
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml
|
||||
|
||||
Other settings that can currently be overridden include:
|
||||
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ and blank screens.
|
|||
A hard-error popup would occur when FOOTBALL tried to initialize a non-existent PRN device. To resolve that, PCjs
|
||||
now provides basic parallel port emulation, in the form of a [ParallelPort](/docs/pcjs/parallel/) component that you
|
||||
include in a machine XML file with the <parallel> element, in much the same way you include the
|
||||
[SerialPort](/docs/pcjs/serial/) component with the <serial> element. The Compaq DeskPro 386
|
||||
[Test Machine](/devices/pc/machine/compaq/deskpro386/ega/4096kb/) used to run FOOTBALL has now been updated to include
|
||||
one parallel port.
|
||||
[SerialPort](/docs/pcjs/serial/) component with the <serial> element. This [Compaq DeskPro 386]
|
||||
(/devices/pc/machine/compaq/deskpro386/ega/4096kb/debugger/) machine used to run FOOTBALL has now been updated to
|
||||
include one parallel port.
|
||||
|
||||
The other problem was that switching between sessions with the **SysReq** key would often result in a blank screen;
|
||||
the new session was active, but you couldn't see it. This was a side-effect of how FOOTBALL reprograms the video
|
||||
|
|
|
|||
Loading…
Reference in a new issue