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

@ -1,182 +0,0 @@
---
layout: post
title: "COMPAQ Revisited"
date: 2016-02-24 14:00:00
permalink: /blog/2016/02/24/
---
I finally obtained a [ROM Dump](/devices/pc/rom/compaq/bios/portable/) from COMPAQ's first machine,
the [COMPAQ Portable](#compaq-portable).
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:
+ [COMPAQ Portable](#compaq-portable)
+ [COMPAQ [Portable] Plus](#compaq-portable-plus-aka-compaq-plus)
+ [COMPAQ DeskPro](#compaq-deskpro)
+ [COMPAQ DeskPro 286](#compaq-deskpro-286)
+ [COMPAQ Portable 286](#compaq-portable-286)
+ [COMPAQ Portable II](#compaq-portable-ii)
+ [COMPAQ DeskPro 386](#compaq-deskpro-386)
+ [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
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.
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.
---
COMPAQ Portable
---
PCjs now has a [ROM Dump](/devices/pc/rom/compaq/bios/portable/).
Reviewed in Byte Magazine, Jan 1983. Reprinted [here](http://blog.modernmechanix.com/byte-reviews-the-compaq-first-pc-clone/).
Also see [Wikipedia](https://en.wikipedia.org/wiki/Compaq_Portable).
COMPAQ Portable Plus (aka COMPAQ Plus)
---
Reviewed in Byte Magazine, Jul 1984, pp. 247-251: "The Compaq Plus".
COMPAQ DeskPro
---
Introduced June 28, 1984. Reviewed in Byte Magazine, May 1985, pp. 260-267. For use with MS-DOS 2.11.
**Model** | **Price** | **CPU** | **Options**
:-------- | :-------- | :---------------- | :------------------------------------------
Model 1 | $2495 | 4.77-7.14Mhz 8086 | 128Kb RAM, 1 FDD
Model 2 | $2995 | 4.77-7.14Mhz 8086 | 256Kb RAM, 2 FDD
Model 3 | $4995 | 4.77-7.14Mhz 8086 | 256Kb RAM, 1 FDD, 10Mb HDD
Model 4 | $7195 | 4.77-7.14Mhz 8086 | 640Kb RAM, 1 FDD, 10Mb HDD, 10Mb Tape Drive
| | |
COMPAQ DeskPro 286
---
Released in 1985 at the same time as the [COMPAQ Portable 286](#compaq-portable-286).
Reviewed in [InfoWorld](https://books.google.com/books?id=2i4EAAAAMBAJ&lpg=PA15&dq=infoworld%20compaq%20deskpro%201985&pg=PA15#v=onepage&q&f=false),
May 20, 1985: "Compaq Edges Past AT Speed and Memory: New Products Use Intel 80286 Processor For 30 Percent Speed Boost".
Updated to 12Mhz in 1987.
From [InfoWorld](https://books.google.com/books?id=yzAEAAAAMBAJ&lpg=PA56&ots=jBzxR3wcps&dq=%22compaq%20deskpro%20286%22&pg=PA56#v=onepage&q&f=false),
June 1987: "Compaq Brings 12-Mhz Machine to 286 Market"
COMPAQ Portable 286
---
Introduced in 1985.
**Model** | **Price** | **CPU** | **Options**
:-------- | :-------- | :---------------- | :----------------------------------------------------
| | 8Mhz 80286 | Up to 2.6Mb RAM, 1.2Mb FDD, 20Mb HDD, 10Mb Tape Drive
| | |
See this [COMPAQ Advertisement](http://www.computerhistory.org/revolution/mobile-computing/18/343/1658).
On July 8, 1985, the [Los Angeles Times](http://articles.latimes.com/1985-07-08/business/fi-9857_1_hard-disk-drive)
reported:
>It's not cheap and it's not for everyone. Equipped as described, the portable lists for $10,378 and contains
about $3,000 worth of extra RAM memory that cannot be utilized by any application software programs now on the market.
(It can be used to simulate a disk drive to speed up programs, however.)
>A standard Compaq Deskpro 286 with 512 kilobytes of RAM memory, a 30-megabyte hard disk and a monitor is priced
at $6,254, compared to IBM's similarly equipped enhanced PC AT that offers only a 20-megabyte hard disk. The Portable
286 with 512K of memory and 20-megabyte hard disk lists for $6,299.
COMPAQ Portable II
---
The COMPAQ Portable II ("slimmed-down version of the Portable 286", as described in Byte Magazine, Oct 1986) was
released on February 20, 1986. For use with MS-DOS 3.10.
**Model** | **Price** | **CPU** | **Options**
:-------- | :-------- | :---------------- | :------------------------------------------
Model 1 | $3499 | 6-8Mhz 80286 | 256Kb RAM, 1 FDD
Model 2 | $3599 | 6-8Mhz 80286 | 256Kb RAM, 2 FDD
Model 3 | $4799 | 6-8Mhz 80286 | 640Kb RAM, 1 FDD, 10Mb HDD
Model 4 | $4999 | 6-8Mhz 80286 | 640Kb RAM, 1 FDD, 20Mb HDD
| | |
Also see [Wikipedia](https://en.wikipedia.org/wiki/Compaq_Portable_II).
COMPAQ DeskPro 386
---
Released in late 1986.
PCjs has detailed information about the [DeskPro 386 ROMs](/devices/pc/rom/compaq/bios/deskpro386/) and system boards.
I also have the hard-to-find **COMPAQ Technical Reference Guide** for the DeskPro 386/25 (Vol. 1), which I'll post
at a later date.
COMPAQ Portable III
---
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
| | |
COMPAQ Portable 386
---
[TBD]
COMPAQ 386/20e
---
Released in late 1988. For use with MS-DOS 3.31.
COMPAQ SLT Series
---
From [Wikipedia](https://en.wikipedia.org/wiki/History_of_laptops#Compaq_SLT.2F286): "The COMPAQ SLT/286 debuted
in October 1988, being the first battery-powered laptop to support an internal hard disk drive and a VGA compatible
LCD screen. It weighed 14 lbs."
COMPAQ LTE Series
---
First model in 1989.
Also see [Wikipedia](https://en.wikipedia.org/wiki/Compaq_LTE).
### COMPAQ LTE 286
Various models, such as the [Model 40](http://www.overclockers.com/compaq-lte-286-model-40/).
### COMPAQ LTE 386
*[@jeffpar](http://twitter.com/jeffpar)*
*February 24, 2016*

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*