Compaq Portable 386

2024-08-10 | [retrocomputing]

This is one of those neat computers which has an orange gas plasma display, which is pretty cool. It's the only 386 era machine I have, and besides that, it's a little bit custom compared to a standard PC. Here's a few notes about getting it working:

BIOS settings and battery

This unit does not have a bios setting utility built in to the rom, it uses one you run from within DOS. So, you need to make sure:

I could not find a 1.2 Mb image of the diagnostic disk, so I made my own (ImageDisk format. I'm not sure if it works with FlashFloppy but it should be convertible to a format that can by the HxC Utility). If you boot this and run SETUP, it will take you into the bios program where you can set things up. The SETUP I found will also run from within DOS 6.22 - not all ones I tired would do that (the machine originally shipped with I think DOS 3)

Hard disks

It uses IDE hard drives, supposedly one of the earliest to do so. It can support two of them in Master / Slave configurations, but you have to select from only a short list of types which were available at the time.

Original Conner drive

Both of my units came with a seemingly working Conner CP-341 drive, which is about 40 MiB capacity. These are pretty interesting, apparently they have a diagnostic RS232 port which you can connect to and make it do stuff (I didn't look at this yet). Apart from that, and the fact that they are "the first IDE drives", I didn't find any other useful information (no manuals). So I didn't know how to adjust the drive so it could work with a CF card as a second drive.

I did find a sheet for a probably similar drive, the CP-342, which has this note:

**********************************************************************
                      G   E   N   E   R   A   L
**********************************************************************
CONNER    CP-342 + WD

 Jumper Setting
 ==============
                             J8
                            +5-3-1+ +-----+ +-----+
 Master                     |X * *| |* X *| |* X X|
 E6-E7 Closed               |X * *| |* X *| |* X X|WD DRIVE
                            +6-4-2+ +-----+ +-----+
 Single                      Master  Slave   Slave
 E5-E7 Closed

 Slave
 E6 Closed

 Installation with a WD93024A/95024A/93028AD/93048AD!
 WD drive must be configured as SLAVE!
 Conner drive must be configured as MASTER!

On my drive, I found that these jumper settings did seem to be correct. I also found that, working with a Compact Flash, the Conner drive also did need to be jumpered into Slave for it to work. It seems that it will not work as a Master.

Compact Flash

Well yes, you can use a Compact Flash Card instead, since it sill uses (effectively) an IDE interface. It's not a free for all; for example, I don't think you can use one with a capacity bigger than 2Gb. You also have to use special software to get it to use disk sizes which are not included in the BIOS. This page has some more details on that.

I may not have read the instructions, but it seems that the Ontrack drive overlay is supposed to work by first installing it on your drive, then installing the OS on it like any other drive.

Drive Types in the Bios

Per Retropaq.com, these are the 47 types of drives you can pick from, arranged by capacity:

Size MiB    BIOS #  Cyli  Head  Sectors Write   Landing
                    nder  s             Precomp Zone
10.16       1       306   4     17      128     305
20.32       16      612   4     17      0       612
20.42       2       615   4     17      128     638
20.439      44      805   2     26      -1      805
28.928      6       697   5     17      128     696
30.029      30      615   4     25      128     615
30.422      20      733   5     17      256     732
30.63       3       615   6     17      128     615
30.68       7       462   8     17      256     511
32.539      14      980   4     17      128     980
38.391      8       925   5     17      128     924
40.093      22      805   6     17      -1      805
40.641      13      612   8     17      256     611
40.674      10      980   5     17      -1      980
40.674      17      980   5     17      128     980
40.879      43      805   4     26      -1      805
42.591      21      733   7     17      256     732
46.816      5       940   6     17      512     939
48.111      18      966   6     17      128     966
53.748      11      925   7     17      128     924
58.96       47      966   5     25      128     966
60.059      31      615   8     25      128     615
61.318      29      805   6     26      -1      805
61.359      23      924   8     17      -1      924
67.934      19      1023  8     17      -1      1023
68          4       1024  8     17      512     1023
69.104      12      925   9     17      128     924
72.316      46      748   6     33      -1      748
80.186      27      966   10    17      -1      966
80.186      37      966   5     34      -1      966
96.422      45      748   8     33      -1      748
99.344      28      748   16    17      -1      748
99.344      33      748   8     34      -1      748
99.426      32      905   9     25      128     905
112.061     9       900   15    17      -1      899
112.26      24      966   14    17      -1      966
112.26      34      966   7     34      -1      966
118.884     26      1023  14    17      -1      1023
128.297     25      966   16    17      -1      966
128.297     35      966   8     34      -1      966
144.334     36      966   9     34      -1      966
181.323     39      1023  11    33      -1      1023
247.258     41      1023  15    33      -1      1023
254.751     40      1023  15    34      -1      1023
300.727     38      611   16    63      -1      611
503.508     42      1023  16    63      -1      1023
?           15      reserved            

*Size calculated by # cylinders * # heads * # sectors * 512 bytes/sector

Type 23 seems to work perfectly with my 64 Mb Compact compact flash (from an old Cisco router), though it leaves a couple Mb unallocated. 64Mb does feel a bit small, but it's contemporary with the machine's age.

How you do this is: connect the compact flash, select number in BIOS, go into DOS, FDISK and make the partition (it will select the maximum size equal to what it says in the above table), FORMAT it, and it will work (and can also be removed and read in a modern machine). Heads/Cylinders/Sectors don't seem to concern the CF cards.

Also, once you have a working CF card, you can make an image of it with dd and make backups.

my other CF attempts

For what it's worth, I tried all of this and it did not work:

Custom mount

I wanted to keep the original Conner drive too since it makes a cool old hard drive sound, and it still works. The original 3.5" drive is mounted in an adapter which fits it to the 5.25" bay (and with rubber mounts no less, even though the Conner drive already has some in the drive). My solution was to push the 3.5 drive further into the machine to make room for a little shelf on which to also mount one of the CF-IDE adapters that I have acquired a pile of. Mine are a bit unusual because they are meant to fit into a 3.5 drive bay instead of the usual ones that fit into the PC rear IO card area.

I started with a 3D printed mount for the drive, then I installed the CF holder and assembled the machine, and used some calipers to figure out a faceplate. It's unlikely that you will have the same CF adapter, but maybe these CAD files will be a good starting point. The drive holder is modeled solid, but when I printed it, I turned off the top and bottom layers so it would be hollow and lighter weight, and have some air flow.

Working with real CF cards in an emulator

I have never used QEMU before, but this command worked for running with the CF card on a modern machine. The emulator could even boot from it:

qemu-system-i386 -drive file=/dev/sda,format=raw -fda somefloppydiskimage.img -boot menu=on

and then to change floppy images CTRL+ALT+2 and change floppy0 someotherfloppyimage.img at the prompt, and CTRL+ALT+1 to go back to the emulator screen. I found it will also not boot directly from the floppy image, and you have to use the on-screen boot menu to select that. My CF card appeared as /dev/sda in my linux system.

You can't do everything with this setup - I tired running Windows 3.11 after it had already been set up for the plasma display driver, and it crashed back to the DOS prompt. However, I was able to install Dos just fine, and it's a lot quicker than writing floppy images to disk (especially since I don't have any other machines that use 1.2M disks)

Installing Windows 3.11

I stumbled across this error when I tired installing Windows the first couple times, but this was alleviated by just following the instructions. The only thing I changed was dumping all the files from the Windows for Workgroups 3.11 disks into a single folder, and dumping the plasma screen drivers right in there with them. You still need to add the plasma = line to the setup.inf file like so:

[display]
;profile = driver, Description of driver, resolution,286gr,logo code, VDD, 386grabber, ega.sys, logo data, optional work section

plasma = 2:plasma.drv, "Compaq Portable Plasma", "100,96,96", 2:cga.2gr, 2:cgalogo.lgo, 2:vddcga.386, 2:plasma.3gr,, 2:cgalogo.rle

Repairing the Gas Plasma Display

I actually have a couple of these machines. I used a combination of parts to build my first one, and I had enough parts to build a second one, minus a working screen. But I had 2 partially working screens. One screen clearly had a driver IC problem, so I felt it was worth swapping some drivers from the heavily burned-in screen to see if it would fix it. It did.

These screens are Matsushita (aka Panasonic) part number MD400F640PD5

Parts I scavenged from the parts screen are: SN751518 - PNP Open Collector outputs, used for Column driver, and SN751506 - Open Drain JFET outputs, used for Row driver

comments | Alnwlsn 2024