Remembering COMPAQ

This commit is contained in:
Jeff Parsons 2016-02-25 11:05:39 -08:00
commit 1c04ada64b
26 changed files with 196 additions and 92 deletions

View file

@ -1,6 +1,6 @@
---
layout: post
title: Compaq DeskPro 386
title: COMPAQ DeskPro 386
date: 2015-02-22 11:00:00
category: 80386
permalink: /blog/2015/02/22/
@ -11,15 +11,15 @@ machines:
uncompiled: true
---
I finally dumped the [Compaq DeskPro 386/16 ROMs](/devices/pc/bios/compaq/deskpro386/) from the motherboard I bought
I finally dumped the [COMPAQ DeskPro 386/16 ROMs](/devices/pc/bios/compaq/deskpro386/) from the motherboard I bought
on ebay last year, so I'm ready to begin adding 80386 support to PCjs.
I'd also like to locate a copy of the "Compaq DeskPro 386 Technical Reference Guide, Volumes 1 and 2". It's not hard
to find Compaq Maintenance and Service guides online, but their Technical Reference guides are much rarer, perhaps because
I'd also like to locate a copy of the "COMPAQ DeskPro 386 Technical Reference Guide, Volumes 1 and 2". It's not hard
to find COMPAQ Maintenance and Service guides online, but their Technical Reference guides are much rarer, perhaps because
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/) 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.

View file

@ -1,6 +1,6 @@
---
layout: post
title: Compaq DeskPro 386 Update
title: COMPAQ DeskPro 386 Update
date: 2015-04-16 11:00:00
category: 80386
permalink: /blog/2015/04/16/
@ -11,7 +11,7 @@ machines:
uncompiled: true
---
PCjs can now boot the [Compaq DeskPro 386/16 ROM BIOS](/devices/pc/bios/compaq/deskpro386/).
PCjs can now boot the [COMPAQ DeskPro 386/16 ROM BIOS](/devices/pc/bios/compaq/deskpro386/).
There's still a problem with the hard disk controller, which I haven't looked into yet,
but booting from a floppy works.
@ -43,7 +43,7 @@ of the 80386's 4Gb address space are physically mapped to this ROM image.
replacing the ROM in the first megabyte with write-protected RAM; the top 64Kb of that
RAM must first be initialized with the 64Kb at %000F0000 prior to remapping. It's also
possible to copy external ROMs from %000C0000 through %000EFFFF into the bottom 64Kb of
that RAM, but this is only done for ROMs known to contain relocatable code; eg, a Compaq
that RAM, but this is only done for ROMs known to contain relocatable code; eg, a COMPAQ
Video Graphics Controller (VGC) Board.
> Every DeskPro 386 system must have a MINIMUM of 1Mb of RAM, of which either 256Kb,
@ -53,7 +53,7 @@ to the top of the 16th megabyte (ending at address %00FFFFFF), the last 128Kb of
is used by the "RAM Relocation" feature. The remaining memory immediately below that
128Kb (ie, below %00FE0000) can only be accessed by special system software, such as CEMM.
> Compaq refers to that remaining memory as "Compaq Built-in Memory".
> COMPAQ refers to that remaining memory as "Compaq Built-in Memory".
So there you have it. Once the ROM has relocated itself to RAM at the top of the 16th
megabyte, there are no less than THREE physical address ranges where ROM code and data
@ -75,7 +75,7 @@ accessible; the other two are not.
April 19, 2015 Update
---
Thanks to some sleuthing by [Michal Necasek](http://os2museum.com/), it turns out that my
assumptions about A20 management on the Compaq DeskPro 386 were incorrect.
assumptions about A20 management on the COMPAQ DeskPro 386 were incorrect.
He noted that, on page 398 of "DOS Internals" by Geoff Chappell, (c) 1994, the author says:
@ -114,7 +114,7 @@ protected-mode with A20 disabled -- an unwise thing to do on most machines:
;
; When we arrive here, the A20 line has been disabled; on most systems, that would
; mean that the ROM's GDT would only be accessible at the "low" ROM address (%0F0730),
; not the "high" address (%FF0730). But fortunately, A20 management on Compaq
; not the "high" address (%FF0730). But fortunately, A20 management on COMPAQ
; DeskPros affects wrap-around only from the 1st to the 2nd megabyte; no other address
; range is affected.
;
@ -140,12 +140,12 @@ I'm in the process of replacing that work-around with a much more compatible cha
on 32-bit bus configurations, which involves changing the physical address map for the 2nd megabyte
to match that of the 1st megabyte whenever A20 is disabled. I could probably get away with remapping
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.
DeskPro 386, I'm going to assume COMPAQ's A20 implementation affected the entire 2nd megabyte.
Here's my Compaq DeskPro 386/16 PCjs 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/) 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" %}

View file

@ -0,0 +1,94 @@
---
layout: post
title: Remembering COMPAQ
date: 2016-02-24 14:00:00
permalink: /blog/2016/02/24/
---
IBM is obviously the company everyone thinks of first when we talk about the IBM PC -- after all, IBM is right
there in the name. And they designed the thing. So IBM deserves lots of credit, especially the folks who worked
in Boca Raton at IBM's Entry Systems Division in the early 1980's.
However, IBM was a huge company that existed *before* the IBM PC and which still exists today; they had some built-in
advantages. The PC era also saw a lot of companies spring up from nowhere and then disappear just as quickly.
Some of them didn't do anything particularly innovative or noteworthy -- they probably just wanted to ride the PC wave
and make some easy money in the process.
I think one of the more exceptional companies from that era is COMPAQ. It's easy to dismiss COMPAQ as just another
"copy-cat" operation, but I think it's a mistake to dismiss any company in the PC business as simply "copying" or
"cloning" the IBM design. Companies like COMPAQ were really in the *compatibility* business.
Innovation in the PC industry would not have been as rapid and diverse if IBM had been the only supplier of
compatible machines and accessories. And IBM probably would have continued some of the monopolistic practices it had
perfected in the mainframe era, like exclusive service contracts. That might have been a win for IBM, but it almost
certainly would *not* have been a win for customers.
In 1982, the founders of COMPAQ took a big gamble, by reportedly investing around a million dollars to create
system software (ROM BIOS) that mimicked IBM's without infringing on it. I don't know if COMPAQ pioneered the concept
of "clean room" design, where the engineers designing and coding have no direct contact with the hardware and software
they're cloning, but they were certainly successful.
But that wasn't COMPAQ's most important contribution. That was just the price they had to "pay to play." Armed with
compatible hardware and software, COMPAQ proceeded to innovate in ways that IBM did not.
Look at COMPAQ's first product: the COMPAQ Portable. For starters, it was *portable*. And unlike
IBM machines, it didn't force you to choose between a higher-quality text-only (MDA) display or a lower-quality
graphics-capable (CGA) display. COMPAQ improved on IBM's mutually-exclusive display choices by creating a monochrome
display that could display both high-quality text *and* graphics.
IBM released their own portable unit a year later, but it looked suspciously COMPAQ-like, and it lacked COMPAQ's
innovative display.
That tradition of innovation at COMPAQ continued for many years. Sometimes they even seemed *more* concerned about
compatibility than IBM did. For example, faster machines sometimes broke speed-sensitive floppy-based copy protection
schemes, which COMPAQ tried to avoid by automatically *slowing* the machine down whenever a floppy drive was spinning.
To my knowledge, IBM never bothered with such a feature -- maybe IBM was simply being pragmatic, or perhaps they were
just a little arrogant, operating on the theory that if the universe revolves around IBM, then the planets will
simply realign *themselves* (translation: software vendors will release new versions if they want to remain IBM-compatible).
Sadly, COMPAQ was ultimately absorbed by another behemoth -- Hewlett Packard -- and then simply disappeared. Today,
all we have are the memories.
### Speaking of Memories
In particular, Read-Only Memories: we have precious few of those, too. I finally obtained
a [ROM Dump](/devices/pc/rom/compaq/bios/portable/) from COMPAQ's first machine, the COMPAQ Portable, but I had to buy
a system board on eBay to get it. Considering all the effort (and money) that COMPAQ invested in writing that code,
you would think those things would be memorialized a bit better.
Looking ahead to the day when PCjs will be able to simulate the original COMPAQ Portable, I thought it would be a good
idea to create my own roughly chronological list of [COMPAQ Machines](/devices/pc/machine/compaq/) from the 1980s,
since they are all machines I would like to see PCjs eventually support:
+ COMPAQ Portable
+ COMPAQ [Portable] Plus
+ COMPAQ DeskPro
+ COMPAQ DeskPro 286
+ COMPAQ Portable 286
+ COMPAQ Portable II
+ [COMPAQ DeskPro 386](/devices/pc/machine/compaq/deskpro386/)
+ COMPAQ Portable III
+ COMPAQ Portable 386
+ COMPAQ 386/20e
+ COMPAQ SLT Series (SLT/286)
+ COMPAQ LTE Series (LTE 286, LTE 386)
It's hard to stop at this point, because PCjs supports the 80386, and COMPAQ produced other 80386-based systems,
like those in the "LTE Lite" series. But I think I need to stick my original plan and draw a line at the end of the
1980s.
### Regarding The COMPAQ Name
As best I can tell, COMPAQ preferred to print its company name in all-caps, so that's my practice as well.
However, it seems that sometime between the release of [COMPAQ MS-DOS 3.10](/disks/pc/dos/compaq/3.10/) and
[COMPAQ MS-DOS 3.31](/disks/pc/dos/compaq/3.31/), there may have been a shift in policy. Both products still
called themselves `The COMPAQ Personal Computer MS-DOS`, but in 3.31, the copyright string changed to
`Compaq Computer Corp.`
Their all-caps practice also extended to at least *some* product names (eg, the `COMPAQ DESKPRO`), but I'm not sure
how strict they were, and I'm decidedly less so, which is why I use the name `COMPAQ DeskPro`.
*[@jeffpar](http://twitter.com/jeffpar)*
*February 24, 2016*

View file

@ -19,7 +19,7 @@ PCjs supports these IBM PC models:
along with these IBM PC-compatibles:
* [Compaq DeskPro 386](/devices/pc/machine/compaq/deskpro386/)
* [COMPAQ](/devices/pc/machine/compaq/) (eg, [DeskPro 386](/devices/pc/machine/compaq/deskpro386/))
We also support a few non-IBM [Devices](/devices/):

View file

@ -1,15 +1,14 @@
---
layout: post
title: "COMPAQ Revisited"
date: 2016-02-24 14:00:00
permalink: /blog/2016/02/24/
layout: page
title: COMPAQ Machines
permalink: /devices/pc/machine/compaq/
---
I finally obtained a [ROM Dump](/devices/pc/rom/compaq/bios/portable/) from COMPAQ's first machine,
the [COMPAQ Portable](#compaq-portable).
COMPAQ Machines
---
At the same time, I thought it would be a good idea to create my own roughly chronological list of COMPAQ machines from
the 1980s, since they are all machines I would like to see PCjs eventually support:
This is an evolving (and roughly chronological) list of COMPAQ machines from the 1980s, which PCjs may eventually
support:
+ [COMPAQ Portable](#compaq-portable)
+ [COMPAQ [Portable] Plus](#compaq-portable-plus-aka-compaq-plus)
@ -21,25 +20,33 @@ the 1980s, since they are all machines I would like to see PCjs eventually suppo
+ [COMPAQ Portable III](#compaq-portable-iii)
+ [COMPAQ Portable 386](#compaq-portable-386)
+ [COMPAQ 386/20e](#compaq-38620e)
+ [COMPAQ SLT Series](#compaq-slt-series)
+ COMPAQ SLT/286
+ [COMPAQ LTE Series](#compaq-lte-series)
+ COMPAQ LTE 286
+ COMPAQ LTE 386
+ [COMPAQ SLT Series](#compaq-slt-series) (SLT/286)
+ [COMPAQ LTE Series](#compaq-lte-series) (LTE 286, LTE 386)
It's hard to stop at this point, because COMPAQ did produce other 80386-based systems, like those in the "LTE Lite"
series. But I think I need to stick my original plan and draw a line at the end of the 1980s.
At the moment, only the [COMPAQ DeskPro 386](deskpro386/) is supported, but now that we have ROMs for a few other
COMPAQ machines -- most importantly, their **first** machine, the [COMPAQ Portable](/devices/pc/rom/compaq/bios/portable/) --
more should follow.
Below is a random assortment of information I've gathered about some of the above models, with gaping holes for others.
Currently, the *most* gaping is the [COMPAQ DeskPro 386](#compaq-deskpro-386), because that's the one COMPAQ machine
that PCjs *already* supports. I just need more time to organize and fill in the details.
### Regarding The COMPAQ Name
As best I can tell, COMPAQ preferred to print its company name in all-caps, so that's my practice as well.
However, it seems that sometime between the release of [COMPAQ MS-DOS 3.10](/disks/pc/dos/compaq/3.10/) and
[COMPAQ MS-DOS 3.31](/disks/pc/dos/compaq/3.31/), there may have been a shift in policy. Both products still
called themselves `The COMPAQ Personal Computer MS-DOS`, but in 3.31, the copyright string changed to
`Compaq Computer Corp.`
Their all-caps practice also extended to at least *some* product names (eg, the `COMPAQ DESKPRO`), but I'm not sure
how strict they were, and I'm decidedly less so, which is why I use the name `COMPAQ DeskPro`.
The rest of this page will be used to collect information about the machines listed above.
---
COMPAQ Portable
---
PCjs now has a [ROM Dump](/devices/pc/rom/compaq/bios/portable/).
The PCjs Project now has a [ROM Dump](/devices/pc/rom/compaq/bios/portable/) (REV C).
Reviewed in Byte Magazine, Jan 1983. Reprinted [here](http://blog.modernmechanix.com/byte-reviews-the-compaq-first-pc-clone/).
@ -133,11 +140,11 @@ at a later date.
COMPAQ Portable III
---
The PCjs Project now has a [ROM Dump](/devices/pc/rom/compaq/bios/portable3/) (REV K, 1987-01-29).
Reportedly intended to be an 80386-based machine, the Portable III was first released in 1987 as a 12Mhz
80286-based system.
PCjs also has information about [COMPAQ Portable III ROMs](/devices/pc/rom/compaq/bios/portable3/).
**Model** | **Price** | **CPU** | **Options**
:-------- | :-------- | :---------------- | :----------------------------
| $5000+ | 12Mhz 80286 | 640Kb RAM, 1 FDD, 20-40Mb HDD
@ -177,6 +184,4 @@ Various models, such as the [Model 40](http://www.overclockers.com/compaq-lte-28
### COMPAQ LTE 386
*[@jeffpar](http://twitter.com/jeffpar)*
*February 24, 2016*
[TBD]

View file

@ -1,13 +1,13 @@
---
layout: page
title: Compaq DeskPro 386 Machines
title: COMPAQ DeskPro 386 Machines
permalink: /devices/pc/machine/compaq/deskpro386/
---
Compaq DeskPro 386 Machines
COMPAQ DeskPro 386 Machines
---
* [Compaq DeskPro 386 with 128Kb EGA and 2Mb RAM](ega/2048kb/)
* [Compaq DeskPro 386 with 256Kb EGA and 4Mb RAM](ega/4096kb/)
* [Compaq DeskPro 386 with VGA and 2Mb RAM](vga/2048kb/)
* [Compaq DeskPro 386 with VGA and 4Mb RAM, running Windows 95](vga/4096kb/)
* [COMPAQ DeskPro 386 with 128Kb EGA and 2Mb RAM](ega/2048kb/)
* [COMPAQ DeskPro 386 with 256Kb EGA and 4Mb RAM](ega/4096kb/)
* [COMPAQ DeskPro 386 with VGA and 2Mb RAM](vga/2048kb/)
* [COMPAQ DeskPro 386 with VGA and 4Mb RAM, running Windows 95](vga/4096kb/)

View file

@ -1,6 +1,6 @@
---
layout: page
title: "Compaq DeskPro 386 (2Mb) with EGA Display"
title: "COMPAQ DeskPro 386 (2Mb) with EGA Display"
permalink: /devices/pc/machine/compaq/deskpro386/ega/2048kb/
machines:
- type: pc-dbg

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.20.9/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Compaq DeskPro 386 (16Mhz), 128Kb EGA, 2048Kb RAM</name>
<computer id="deskpro386-ega-2048k" name="Compaq DeskPro 386" buswidth="32"/>
<name pos="center">COMPAQ DeskPro 386 (16Mhz), 128Kb EGA, 2048Kb RAM</name>
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
<cpu id="cpu386" model="80386" autostart="false"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="ROM BIOS memory test has been disabled"/>
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="Compaq memory at 0xFA0000"/>
<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="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm/ega/1984-09-13/ibm-ega.json" notify="videoEGA"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/rom/compaq/bios/deskpro386/1988-01-28/1988-01-28.json"/>

View file

@ -1,6 +1,6 @@
---
layout: page
title: "Compaq DeskPro 386 (4Mb) with EGA Display"
title: "COMPAQ DeskPro 386 (4Mb) with EGA Display"
permalink: /devices/pc/machine/compaq/deskpro386/ega/4096kb/
machines:
- type: pc-dbg

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.20.9/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Compaq DeskPro 386 (16Mhz), 256Kb EGA, 4096Kb RAM</name>
<computer id="deskpro386-ega-2048k" name="Compaq DeskPro 386" buswidth="32"/>
<name pos="center">COMPAQ DeskPro 386 (16Mhz), 256Kb EGA, 4096Kb RAM</name>
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
<cpu id="cpu386" model="80386" autostart="false"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="ROM BIOS memory test has been disabled"/>
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="Compaq memory at 0xFA0000"/>
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="COMPAQ memory at 0xFA0000"/>
<ram id="ramExt" addr="0x100000" size="0x300000" comment="Extended memory at 0x100000"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm/ega/1984-09-13/ibm-ega.json" notify="videoEGA"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/rom/compaq/bios/deskpro386/1988-01-28/1988-01-28.json"/>

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.20.9/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Compaq DeskPro 386 (16Mhz), Compaq VGA, 2048Kb RAM</name>
<computer id="deskpro386-vga-2048k" name="Compaq DeskPro 386" buswidth="32"/>
<name pos="center">COMPAQ DeskPro 386 (16Mhz), COMPAQ VGA, 2048Kb RAM</name>
<computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
<cpu id="cpu386" model="80386" autostart="false"/>
<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="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="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/rom/compaq/bios/deskpro386/1988-01-28/1988-01-28.json"/>

View file

@ -1,6 +1,6 @@
---
layout: page
title: "Compaq DeskPro 386 (2Mb) with VGA Display"
title: "COMPAQ DeskPro 386 (2Mb) with VGA Display"
permalink: /devices/pc/machine/compaq/deskpro386/vga/2048kb/
machines:
- type: pc-dbg

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.20.9/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Compaq DeskPro 386 (16Mhz), IBM VGA, 2048Kb RAM, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-2048k" name="Compaq DeskPro 386" buswidth="32"/>
<name pos="center">COMPAQ DeskPro 386 (16Mhz), IBM VGA, 2048Kb RAM, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
<cpu id="cpu386" model="80386" autostart="false"/>
<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="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="0x6000" file="/devices/pc/video/ibm/vga/1986-10-27/ibm-vga.json" notify="videoVGA[0x378d,0x3f8d]"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/rom/compaq/bios/deskpro386/1988-01-28/1988-01-28.json"/>

View file

@ -1,6 +1,6 @@
---
layout: page
title: "Compaq DeskPro 386 (4Mb) with VGA Display"
title: "COMPAQ DeskPro 386 (4Mb) with VGA Display"
permalink: /devices/pc/machine/compaq/deskpro386/vga/4096kb/
machines:
- type: pc-dbg

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.20.9/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Compaq DeskPro 386 (16Mhz), IBM VGA, 2048Kb RAM, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-4096k" name="Compaq DeskPro 386" buswidth="32" state="/devices/pc/machine/compaq/deskpro386/vga/4096kb/state.json"/>
<name pos="center">COMPAQ DeskPro 386 (16Mhz), IBM VGA, 2048Kb RAM, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-4096k" name="COMPAQ DeskPro 386" buswidth="32" state="/devices/pc/machine/compaq/deskpro386/vga/4096kb/state.json"/>
<cpu id="cpu386" model="80386" autostart="true"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="ROM BIOS memory test has been disabled"/>
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="Compaq memory at 0xFA0000"/>
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="COMPAQ memory at 0xFA0000"/>
<ram id="ramExt" addr="0x100000" size="0x300000" comment="Extended memory at 0x100000"/>
<rom id="romVGA" addr="0xc0000" size="0x6000" file="/devices/pc/video/ibm/vga/1986-10-27/ibm-vga.json" notify="videoVGA[0x378d,0x3f8d]"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/rom/compaq/bios/deskpro386/1988-01-28/1988-01-28.json"/>

View file

@ -1,5 +1,5 @@
;
; ROM BIOS for Compaq DeskPro 386-16
; ROM BIOS for COMPAQ DeskPro 386-16
; Rev J.4, from parts 109592-001 and 109591-001, dated '01/28/88'
; (C)Copyright COMPAQ Computer Corporation 1982,83,84,85,86,87-All rights reserved.
;
@ -42,7 +42,7 @@
; replacing the ROM in the first megabyte with write-protected RAM; the top 64Kb of that
; RAM must first be initialized with the 64Kb at %000F0000 prior to remapping. It's also
; possible to copy external ROMs from %000C0000 through %000EFFFF into the bottom 64Kb of
; that RAM, but this is only done for ROMs known to contain relocatable code; eg, a Compaq
; that RAM, but this is only done for ROMs known to contain relocatable code; eg, a COMPAQ
; Video Graphics Controller (VGC) Board.
;
; Every DeskPro 386 system must have a MINIMUM of 1Mb of RAM, of which either 256Kb,
@ -52,9 +52,9 @@
; is used by the "RAM Relocation" feature. The remaining memory immediately below that
; 128Kb (ie, below %00FE0000) can only be accessed by special system software, such as CEMM.
;
; Compaq refers to that remaining memory as "Compaq Built-in Memory".
; COMPAQ refers to that remaining memory as "Compaq Built-in Memory".
;
; As the Compaq 386/25 TechRef explains:
; As the COMPAQ 386/25 TechRef explains:
;
; A data structure in memory indicates how much of the COMPAQ Built-in Memory (F40000h
; to FE0000h) is [available and] in use. This memory is allocated downward (decreasing
@ -244,7 +244,7 @@ x80b3: xor dx,dx ; 000080B3 33D2 '3.'
;
; Returns ZF set if successful
;
; See Compaq 386/25 TechRef, p.4-98 for details
; See COMPAQ 386/25 TechRef, p.4-98 for details
;
x80e2: push bx ; 000080E2 53 'S'
push cx ; 000080E3 51 'Q'
@ -4803,7 +4803,7 @@ xa9e9: cs rep movsw ; 0000A9E9 F32EA5 '...'
call xc259 ; 0000A9FD E85918 '.Y.'
;
; Set bit 2 (reserved?) and bit 4 (memory size?) of ROM BIOS Video Mode Options byte @40:0087.
; It would appear that Compaq had a different conception of this byte; however, in the case of an
; It would appear that COMPAQ had a different conception of this byte; however, in the case of an
; adapter like the IBM VGA, it doesn't matter, since the IBM VGA ROM will rewrite this byte anyway.
;
or byte [0x87],0x14 ; 0000AA00 800E870014 '.....'
@ -10383,7 +10383,7 @@ xdabb: push bx ; 0000DABB 53 'S'
out 0x84,al ; 0000DAC0 E684 '..'
;
; This is special: move BL into AL, and then move AL back into BL.
; We'll give Compaq the benefit of the doubt and assume this is macro nonsense.
; We'll give COMPAQ the benefit of the doubt and assume this is macro nonsense.
;
mov al,bl ; 0000DAC2 8AC3 '..'
mov bl,al ; 0000DAC4 8AD8 '..'
@ -10454,7 +10454,7 @@ xdb31: pop bx ; 0000DB31 5B '['
;
; We then proceed to test the 128Kb starting at %FE0000 through %FFFFFF (the top of the 16Mb range),
; which is where this ROM (and potentially other ROMs) will be copied and then mapped to %0E0000
; through %0FFFFF. Compaq refers to this as "relocatable RAM".
; through %0FFFFF. COMPAQ refers to this as "relocatable RAM".
;
; On the second call (from xdb16), AH is 0x02 (the first 64Kb block after the first 128Kb), and on
; successful completion of that call, "00768 KB OK" will be displayed, referring to the first 640Kb
@ -10464,7 +10464,7 @@ xdb31: pop bx ; 0000DB31 5B '['
; successfully tests another 1024Kb, a total of "01792 KB OK" will be displayed.
;
; There appears to be a fourth call (from xd82e), where AH is 0xF0 (the first 64Kb of the last 1Mb
; of the first 16Mb); we place no memory there, and Compaq memory maps typically show no memory there,
; of the first 16Mb); we place no memory there, and COMPAQ memory maps typically show no memory there,
; so I'm not sure what that's all about. -JP
;
xdb33: push bx ; 0000DB33 53 'S'
@ -12978,7 +12978,7 @@ xf494: mov al,0x0 ; 0000F494 B000
;
; When we arrive here, the A20 line has been disabled; on most systems, that would
; mean that the ROM's GDT would only be accessible at the "low" ROM address (%0F0730),
; not the "high" address (%FF0730). But fortunately, A20 management on Compaq
; not the "high" address (%FF0730). But fortunately, A20 management on COMPAQ
; DeskPros affects wrap-around only from the 1st to the 2nd megabyte; no other address
; range is affected.
;

View file

@ -1,12 +1,12 @@
---
layout: page
title: Compaq Portable III ROMs
title: COMPAQ Portable III ROMs
permalink: /devices/pc/rom/compaq/bios/portable3/
redirect_from:
- /devices/pc/bios/compaq/portable3/
---
Compaq Portable III ROMs
COMPAQ Portable III ROMs
---
### System ROM Locations

View file

@ -17,6 +17,6 @@ PCjs supports the following IBM PC video adapters:
More detailed information is available for the following IBM-compatible video adapters:
* [ATI VGA](/devices/pc/video/ati/vga/)
* [Compaq EGA](/devices/pc/video/compaq/ega/)
* [Compaq VGA](/devices/pc/video/compaq/vga/)
* [COMPAQ EGA](/devices/pc/video/compaq/ega/)
* [COMPAQ VGA](/devices/pc/video/compaq/vga/)
* [Paradise VGA](/devices/pc/video/paradise/vga/)

View file

@ -1,13 +1,13 @@
---
layout: page
title: "Compaq Enhanced Color Graphics Board (EGA)"
title: "COMPAQ Enhanced Color Graphics Board (EGA)"
permalink: /devices/pc/video/compaq/ega/
---
Compaq Enhanced Color Graphics Board (EGA)
COMPAQ Enhanced Color Graphics Board (EGA)
---
Our Compaq [EGA ROM BIOS](000412-001B/compaq-ega.json) comes from
Our COMPAQ [EGA ROM BIOS](000412-001B/compaq-ega.json) comes from
[bitsavers](http://bitsavers.trailing-edge.com/pdf/compaq/firmware/000412-001B_EGA/).
cd 000412-001B

View file

@ -1,15 +1,15 @@
---
layout: page
title: "Compaq Video Graphics Controller (VGA)"
title: "COMPAQ Video Graphics Controller (VGA)"
permalink: /devices/pc/video/compaq/vga/
---
Compaq Video Graphics Controller (VGA)
COMPAQ Video Graphics Controller (VGA)
---
This is the Compaq Video Graphics Controller Board, one of the earliest VGA boards Compaq released
This is the COMPAQ Video Graphics Controller Board, one of the earliest VGA boards COMPAQ released
for its DeskPro 386 line.
[<img src="http://archive.pcjs.org/devices/pc/video/compaq/vga/109360-001/Compaq_VGA_109360-001-640.jpg" alt="Compaq VGA Board"/>](http://archive.pcjs.org/devices/pc/video/compaq/vga/109360-001/Compaq_VGA_109360-001.jpg)
[<img src="http://archive.pcjs.org/devices/pc/video/compaq/vga/109360-001/Compaq_VGA_109360-001-640.jpg" alt="COMPAQ VGA Board"/>](http://archive.pcjs.org/devices/pc/video/compaq/vga/109360-001/Compaq_VGA_109360-001.jpg)
It was featured in the February 16, 1988 of PC Magazine (p.188). At that time, it retailed for $599, and it was described
as "the sharpest, fastest IBM-standard video board you can slide into your PC." The article goes on to say:
@ -62,7 +62,7 @@ And for those who want a binary file, the FileDump API can be used to recreate b
> [http://localhost:8088/api/v1/dump?file=/devices/pc/video/compaq/vga/109360-001/1988-05-18.json&format=rom](http://localhost:8088/api/v1/dump?file=/devices/pc/video/compaq/vga/109360-001/1988-05-18.json&format=rom)
The Compaq VGA ROM BIOS concludes with the usual copyright string and author initials:
The COMPAQ VGA ROM BIOS concludes with the usual copyright string and author initials:
Copyright COMPAQ Computer Corporation, 1982, 1983, 1984, 1985, 1986, 1987, 1988
RWS*PNA*NPB*DJC*CAB*ALL*

View file

@ -140,6 +140,7 @@
<disk path="/disks/pc/os2/misc/1.0/OS210-88286.json">OS/2 1.0 Debugger</disk>
<disk path="/disks/pc/os2/misc/cpdos/SIZZLE-76818-19870107.json">OS/2 SIZZLE (v7.68.18)</disk>
<disk path="/disks/pc/os2/misc/cpdos/SIZZLE-76818-19870107-DEBUG.json">OS/2 SIZZLE (v7.68.18 DEBUG)</disk>
<disk path="/disks/pc/os2/misc/cruiser/OS2SDK-048014.100.json">OS/2 CRUISER (048014.100)</disk>
<disk path="/disks/pc/windows/1.00/WIN100-DISK1.json">Windows 1.00 (SETUP)</disk>
<disk path="/disks/pc/windows/1.00/WIN100-DISK2.json">Windows 1.00 (BUILD)</disk>
<disk path="/disks/pc/windows/1.00/WIN100-DISK3.json">Windows 1.00 (UTILITY)</disk>

View file

@ -30,7 +30,7 @@ of OS/2 when it was still a work-in-progress. Not all of the disks run properly
The [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pc/os2/misc/football/87058/) contained a prototype version of OS/2
from February 1987 that was designed to test two important new features of the Intel 80386 processor: paging and V86-mode.
This prototype was forked from pre-1.0 OS/2 sources, and the only hardware it supported was the Compaq DeskPro 386-16.
This prototype was forked from pre-1.0 OS/2 sources, and the only hardware it supported was the COMPAQ DeskPro 386-16.
* **OS/2 FOOTBALL Boot Disk (v4.41.00)**

File diff suppressed because one or more lines are too long

View file

@ -32,7 +32,7 @@ However, another underlying goal was to demonstrate to IBM that Microsoft was ah
considerations for OS/2. Up to this point, all OS/2 design and development work had been 16-bit, since the
dominant state-of-the-art Intel CPU at the time was the 80286.
The FOOTBALL prototype was based on pre-1.0 OS/2 sources, and the only hardware it supported was the Compaq DeskPro
The FOOTBALL prototype was based on pre-1.0 OS/2 sources, and the only hardware it supported was the COMPAQ DeskPro
386-16. The source code was later sent to IBM, who in early April 1987 was adapting it to run on the Model 80 PS/2.
After OS/2 1.0 was finished in October 1987, FOOTBALL changes were merged into a fresh set of 1.0 sources, which
@ -47,7 +47,7 @@ We also have an original [FOOTBALL Design Document](#football-design-document) d
Booting FOOTBALL
---
When booting on a [Compaq DeskPro 386-16 with 4Mb of RAM](/devices/pc/machine/compaq/deskpro386/ega/4096kb/),
When booting on a [COMPAQ DeskPro 386-16 with 4Mb of RAM](/devices/pc/machine/compaq/deskpro386/ega/4096kb/),
the following information is output to COM2 by the kernel's built-in debugger:
bx=001d, cx=f905, dx=0700, cs=1770, ds=1b10

View file

@ -20,4 +20,7 @@
<disk id="disk06" size="1228800" chs="80:2:15" img="cpdos/archive/SIZZLE-76818-19870107-DEBUG.img" href="/disks/pc/os2/misc/cpdos/SIZZLE-76818-19870107-DEBUG.json" md5="9c9270b83aea4798f2618d38465f56b8" md5json="bd6baaa820d6ff254f81ec7d7ff07e67">
<name>OS/2 SIZZLE (v7.68.18 DEBUG)</name>
</disk>
<disk id="disk07" size="1228800" chs="80:2:15" img="cruiser/archive/OS2SDK-048014.100.img" href="/disks/pc/os2/misc/cruiser/OS2SDK-048014.100.json" md5="348ee09ced86af5e3211fccff87113c5" md5json="41a64f6ee27fd064c9ae7c04d9eecb88">
<name>OS/2 CRUISER (048014.100)</name>
</disk>
</manifest>

View file

@ -226,7 +226,7 @@ Since the B1 stepping set DL to 0x03 on reset, this would lead one to believe th
for a B0 stepping was 0x02, but according to Turley (see above), the B0 and B1 steppings report the *same*
revision; as noted above, it would be nice to see some independent confirmation.
The 80386 CPU on my Compaq DeskPro 386 "Version 2" System Board is labeled as:
The 80386 CPU on my COMPAQ DeskPro 386 "Version 2" System Board is labeled as:
A80386-16
S40344