Compaq Portable - memory utilisation

muzzer

New Member
Jun 19, 2019
15
2
3
Back in the late 80s I had a Compaq Portable (XT compatible?) which I upgraded to the full 640k and added a 32MB Western Digital Hardcard. This worked fine and I had Norton Commander installed and working. Against my better judgement, I scrapped it about 25 years ago but held on to the Hardcard.

About 5 years ago I bought another Compaq Portable, along with a memory expansion board which took it up to 640k, IIRC. However, when I tried to run programs from the Hardcard, it complained about insufficient memory. That included Norton Commander, Norton Utilities and even Sidekick (TSR program).

My own memory(!) is a bit rusty now after all these years but I'm half convinced I may have had some sort of memory manager to maximise the amount of program memory left once the various drivers had loaded. I may be confusing this machine with an IBM AT that I also had at the time, or possibly even some other later machine in that respect.

Do any Compaq Portable users here have any hints about how I should set it up the .bat (and .sys?) file to optimise available program memory? Does any of this make any sense?

I've got a copy of World Golf(?) which I'd like to get onto it. Is there any other way to load programs other than via the 5.25" floppies? Simply writing to a 5.25" isn't simple. I believe W7 still supports these drives but finding a suitable header to connect to is becoming more difficult.

Apologies for being a bit vague
 
May 22, 2019
424
217
43
One way to get files on there is with a Gotek drive. The Gotek devices emulate a floppy drive and let you write disk images from any USB enabled computer.

You can also use a null modem cable and transfer files through Laplink, Norton's Commander, or a terminal program like Telemate.

As to setting up the config files... there's not much you can do with an XT class machine. It's just a matter of cutting out all of the unnecessary stuff and booting as clean as possible. (And avoid DOS 4 or newer... it uses up extra RAM to no good end on an 8088 powered machine.)
 

muzzer

New Member
Jun 19, 2019
15
2
3
Does anyone have a copy of the service manual for the original Compaq Portable? It seems to give info on error codes, DIP switches etc, judging by the video on The 8-Bit Guy's channel.

I powered it up today and it boots from the floppy. The WD hardcard comes up too and I can see all the content there. The main issue is that many of the kbd keys have stopped working (just like in The 8-bit Guy's Pt2 video), so I wasn't able to execute many of the essential commands. I have no "N", so couldn't try to run any of the Norton stuff. The 8-Bit Guy got gifted a load but that seems unlikely to happen for me so I ordered a set from TexElec. That'll take a few days to arrive (I'm in the UK), so meanwhile I'll see about cleaning up the keys....

I used to have a Naksha Mouse that worked with this machine. So, somewhere I have a serial mouse which I'll need to find a driver for. Firstly I'll need a working keyboard.
 

Cyan

New Member
May 23, 2019
3
1
3
There were commercial tools created to do what you describe, a popular one was "Optimize" that came with QEMM by Quarterdeck. Eventually Microsoft released their own with memmaker, which was packaged with MS-DOS 6.22
 

muzzer

New Member
Jun 19, 2019
15
2
3
Yes, I used tools like that back in the day. The issue with the Compaq Portable is that I can't load the drivers in upper / extended memory if there isn't any. Seems lo-tech made a 1MB ISA memory board which would provide the additional 380k or so but I can't see any of those in stock anywhere. Perhaps I will find a clone on ebay etc. Any suggestions?

BTW, I have an "AST Six Pack Plus" board with 384kB but it seems this can only be used below 640kB, ie for boosting a 256kB motherboard up to 640kB. Not much use to me other than for spare 64kb and 256kb chips, as I believe I have the full 640kB already. It has other stuff like parallel and serial ports plus a clock but these don't seem worth the hassle.

I'm now on hold while I await my capacitive pads for the keyboard - can't do much with half the keys out of commission.
 
May 22, 2019
424
217
43
Yeah, this is the problem. The 8086 ISA doesn't support virtual memory or >1MB addressing, and the PC architecture doesn't generally let you use RAM in upper memory as RAM.

There are ways to get memory in that area, but they have to be done as expansion cards, and they have to work around other devices, such as the video controller or the BIOS ROM.

An EMS card (Expanded Memory) is one way to do this. EMS works on a movable window approach; it banks a 64K chunk of EMS memory into a 64K window in upper memory, and by moving that window to different addresses in EMS memory, you can access several megabytes of RAM, even on an 8086 (or 8088. The 8088 is just a crippled 8086 with an 8 bit data bus.)

All of the other methods of moving TSRs and DOS into upper or high memory (high memory or XMS - extended memory) don't work, because the 8086 architecture doesn't support any physical address above 1M.
 

muzzer

New Member
Jun 19, 2019
15
2
3
Today I fitted the replacement foam and foil pads from Texelec to my Portable keyboard. It now works perfectly and the mild retrobriting I did on the keys have freshened them up without making them look silly. Thanks for the guidance, Mr 8-Bit Man!!

It all boots up nicely from the floppy and I can see that I have Norton Commander, Norton Utilities, Word Perfect 5 and Lotus 123 on the HDD which all run. Although there's an autoexec.bat and config.sys in the root of the C: drive, if I try to boot from it (by removing the bootable floppy), it complains that there's no system disk. I seem to have DOS 5 on the C: drive whereas the successful floppy DOS is 3.31. Interestingly, I've not been having any problem with memory space, despite my earlier post...

The C: drive has clearly been resident in a different PC since its original time in the 8086 machine. As well as DOS 5, it had various QEMM386 memory management lines in the config.sys, so I'm guessing a 386 or later. I've created a minimal autoexec.bat and config.sys without any of that stuff in it but no joy. Can the 8086 run DOS 5?

Do I need to set a selector somewhere to get the machine to boot from the C: drive? Does anyone have a copy of the user / service manual for the Compaq Portable? EDIT - I found the service manual out there thanks. But I can't find a schematic anywhere.
 
Last edited:
May 22, 2019
424
217
43
If I recall, the first PCs didn't have the ability to boot from hard drive; that was added to later versions of the PC BIOS. So the original machines need a boot ROM in the hard drive controller itself. Your system can *see* the hard card, which is a good thing, so that means that at least the controller and the controller ROM are working.

Yes, DOS 5 will work on an 8088 computer... actually, 8086/8088 computers worked all the way up to the last version of stand-alone DOS, 6.22.

One possibility is that the partition on the hard drive is not marked as the system partition, or that the drive doesn't have a boot sector or the other boot files (IO.SYS and COMMAND.COM).

The simple way would be to make the hard drive bootable again:

1. Check the jumper on the hard drive controller and make sure it's configured as the first hard drive. (If it doesn't have jumpers, then you can skip that step.)
2. Make a boot floppy with FDISK, FORMAT, and SYS.COM.
3. run FDISK and confirm that the hard drive has a partition marked as active.
4. SYS C:
5. COPY A:COMMAND.COM C:

At that point, the system should boot from the hard drive (if it's going to.)
 
Last edited:

muzzer

New Member
Jun 19, 2019
15
2
3
Thanks, Tom - that's really helpful!

What you say makes a lot of sense. It's something like 30 years since I played with 8086, DOS etc but some of it is coming back. This is a replacement machine for my original Portable, with the Hardcard HDD being the common factor, even though it's been on a journey in the meantime. There's no certainty that this machine is set up to boot from HDD but it's a later (1987) machine so it seems likely.

Running FDISK, SYS and copying COMMAND.COM etc sounds like a good plan. I'll let you know how this works out!

I tried to post some screenshots taken with my iPhone but the files were too big. What's the best way to reduce the size? Other forums seem to be able to do this automatically on the upload, so it's not something I'm practised at.
 
May 22, 2019
424
217
43
I'll see if I can find an image resize app on the App Store. You probably need to just cut it down to around 1 megapixel (1024x1024 or so) before posting.
 

muzzer

New Member
Jun 19, 2019
15
2
3
I tried to get the machine to boot from the Filecard. The jumpers W4 & W8 on the WD1002-27X controller looked as they needed to be changed over to make it a primary drive although it previously worked OK. FDISK reported that there was one active DOS partition (C: ). I ran SYS C: OK and then tried to copy command.com over but it reported that there was insufficient space. I assume it's referring to space within the boot sector or somesuch, as there is 21MB(!!) free on the 30MB drive. Can you suggest what the issue is?

There's always the possibility of a conflict between the Compaq DOS 3.31 on the floppy and the DOS 5 that was on the HDD. I moved the DOS 5 stuff over into a subdirectory and copied the DOS 3.31 to the C: root before running sys and command.com but perhaps I need to reformat the DOS partition with 3.31 and then restore the files?

I'm being careful to avoid accidentally deleting the content on the Filecard (Norton, WP, 123 etc). I now have an XT-IDE ISA controller card which I will attempt to install. Hopefully that will allow me to copy the content over to something more modern for safety. I know I have a load of 5.25" floppies (and software) somewhere but after an hour or two of searching for them I've had to give up looking for now and use a different approach to moving files around.
 
May 22, 2019
424
217
43
Thanks for the update. Keep us posted; I'm curious to find out how the controller works with that machine. I intend to restore my Compaq at some point, although I'll probably do an LCD conversion because I don't really like that CRT.

It's certainly possible there's some weird DOS conflict... the smart money at this point is probably to try to copy the data off that drive. The fun part is going to be "how?" since the usual methods are going to be slow or painful to use.
 
Last edited:

muzzer

New Member
Jun 19, 2019
15
2
3
Any idea what causes the "insufficient space" message when I tried to copy command.com over? I'll have a go at connecting up another drive via the controller card next...
 

muzzer

New Member
Jun 19, 2019
15
2
3
I'll take a look later. Hadn't thought of that.

I have inserted the XT-IDE controller card and it appears at bootup although without anything plugged in, there's no master or slave reported. Encouraging start at least.

112

In terms of plugging something in, the controller has all 40 pins in the header, whereas the ribbon cable I have to hand has pin 20 blocked off as a key. Seems that some applications use this as a 5V feed but it's not essential. Could I snip / bend pin 20 out of the way? Better if I can find a ribbon without pin 20 but I don't have many boxes to look in here. Then presumably I could plug in almost any HDD / FDD / CDROM(?). Obviously I will need to provide a power supply to the drive too.
 
May 22, 2019
424
217
43
Look closely at the key in the plug... it should be a plastic plug in that hole. Just dig that out with a needle or a hobby knife.

And it’s encouraging seeing the boot ROM on the screen. I was worried that the Compaq BIOS might not be invoking the ROM on the IDE card (which is one possible reason the hard card wasn’t booting.)
 

muzzer

New Member
Jun 19, 2019
15
2
3
No, I'd already checked for that. Rummaging around, I found another 3 HDD ribbons - but they were all the same ie pin 20 is moulded solid. I fixed it on my controller board by snipping the pin on the controller connector and pulling it back a few mm. As it's a right angled header, I could always slide it back and solder it later if needed.

Also finally located the box containing all my 5.25" floppies, the serial mouse and some other contemporary stuff. It was literally in the only box I hadn't checked in the entire house, hidden under the stairs. The DOS software includes Microsoft assembler, QuickC, Turbobasic, Supercalc, PSpice, Lotus-123, Procomm, WordPerfect, Laplink, "Galaxy"(WTF???), Prince of Persia, some more Norton stuff and various versions of DOS itself.

I also found a box of old but functional HDDs including several IDE. I have a Conner CFS420A (420MB) and a Quantum Prodrive ELS 85MB which I have configured as slaves, as they were last used in Windows machines so obviously won't boot in this system. I can see those when I connect up to the XT-IDE controller but before I do a low level format etc I'd like to check the content to see if there is anything I need to recover.

If I boot from floppy with both the Filecard AND the XT-IDE controller (ie with 2nd HDD connected), I can see the floppy, Filecard and 2nd HDD drive letters within Norton Commander but it can't read the 2nd HDD. That's a bit of an issue, as I'd like to copy from the Filecard to the HDD. Presumably the WD and XT-IDE controllers don't like to coexist, not surprisingly.

The Filecard has a pair of ribbons plus the 4 pin PSU connector. The ribbons are incompatible with 40 pin ATA system I believe that's the early 8-bit IDE arrangement (XT-IDE?) but it means I can't connect the naked drive to the XT-IDE controller. Pah.

The challenge now is how to access and backup the existing Filecard contents so I can then reformat it. Given that I am unable to make it bootable in its current state, that sounds like the way forward. It feels like the fox-hen-grain challenge (getting them across the river intact, one by one). Perhaps I should look at either fitting the Filecard to another PC or look into one of the serial comms options. I believe the 8-bit controller should work in a 16 bit ISA slot?
 
May 22, 2019
424
217
43
The Filecard has a pair of ribbons plus the 4 pin PSU connector
Yeah, most hard cards were MFM or RLL drives, which use two cables. The larger cable is the control cable, and the skinny cable is the data cable. MFM is a completely different interface than IDE (later called ATA). The MFM controller takes a much more active role in operating the drive, and it contains the host interface circuitry, the BIOS ROM, and the hard drive controller circuitry. As time went on, those functions were moved off of the controller card: the drive BIOS was moved to the computer, and the controller was moved to the drive itself.

I guess my point is that it's going to be unlikely that you'll get the two drive interfaces to work at the same time on the same computer. So you'll have to either back the drive up to floppy or, as you suggested, use some sort of serial or parallel cable to pull the data off to another computer.

One way to do this would be to use that copy of Laplink or Norton's Commander and a serial null modem cable. You can run the program on your Compaq and in DosBox on your Windows PC. That should allow you to transfer the stuff you need to save.

Also, I wouldn't stress over saving programs you can easily replace; assuming your floppies still work, you should be able to simply reload those programs from diskette, and much of the popular stuff from the time period is also available for download. I found Turbo C++, Norton's Commander, MASM, and QuickBASIC (3 different versions, actually) all in about 5 minutes through some web searches.
 

muzzer

New Member
Jun 19, 2019
15
2
3
Yes, good point about replaceable programs. I checked through the contents and there's very little I couldn't simply reinstall. So I've started to reformat the disk and will hopefully end up with a clean, bootable C: drive running DOS 3.31 (OEM Compaq). Then I can reinstall the programs from scratch. I simply want a working example of this machine and contemporary programs, so XT-IDE controllers and additional HDDs aren't really appropriate anyway
 
  • Like
Reactions: TomXP411
May 22, 2019
424
217
43
I gotta say - this makes me a little nostalgic for working on XT class machines.

Code:
DEBUG
G=C800:5
is burned into my brain.