Compaq LTE Elite 4/50E
Project Compaq LTE Elite 4/50E | |
---|---|
I found a 1994 laptop, what can it still do? | |
Status | In progress |
Contact | Peetz0r |
Last Update | 2018-04-02 |
I found this old laptop and I'm figuring out what to do with it. Fun fact: this laptop is almost exactly as old as I am.
First impression
Status when I found it
It had the (presumably) original harddrive still present and working (after 23 years!). On it was Windows 3.x with lots of Compaq bloatware and personal data of the previous owner. I decided top keep this as-is, because the original software/drivers/etc is hard to find/replace but I did not peek around very much because of privacy reasons. The battery was very much dead, the floppy drive did not work, and the bottom RAM cover was missing, but it did work just fine.
A service manual was easy to find online: Media:Compaq LTE Elite service manual.pdf (2.6 MB, 387 pages).
This web page was much harder to find: http://tuxmobil.org/compaq_lte475cx_en.html
Also hard to find is that the memory modules might also be available as "Kingston KTC-ELITE" instead of their Compaq partnumbers.
Specs
- 486 DX2 50 MHz
- 8 MB ram (4MB onboard + 4MB on a proprietary expansion card)
- 250 MB harddisk
- 9,5" 640x480 monochrome TFT display
- 2-button PS/2 trackball
- PC speaker
- 2 empty PCMCIA slots
- 3,5" floppy drive (broken)
- 12V 2Ah NiMH battery (dead)
- no real soundcard
- no network hardware of any kind
Storage
The first thing I did was take out the original harddrive and go replace it with something else. I went to Aliexpress and got myself a IDE-CF adapter and a 2GB CF card. It could not boot from the card. I borrowed some more cards from another Revspacer and found out that cards up to 1GB work but larger cards do not. But since the original disk was 250 MB, I decided that 256MB would be enough. I ordered an "industrial" 256MB card and it has been working just fine so far. The original harddrive sits in a aluminium caddy, which is easily removable. That's great, since this is the only way to move files from/to this machine I'll have to use this rather often.
Floppy drive
The floppy drive does not work. It does make some noises but the disk never spins. The rubber belt inside was very much disintegrating, but replacing the belt did not result in a working drive yet. But even if it did, I have no other devices anywhere with a floppy drive anyway. WONTFIX. By the way, the drive is a Citizen W1D.
Display
The monochrome screen is surprisingly good. The contrast is great, the resolution is... Very Good Anyway. The lack of subpixels makes it look very sharp. And there is no ghosting at all. I have seen early 90's laptops before where you could draw shapes by moving the mouse. Not this one. There is only one thing missing: color. But it's okay, there is a VGA port on the back, and there is plenty of color in there.
Sound
There is only a PC speaker inside. But it's a very loud one. Fortunately we get to change the volume trough Fn keys. It even has a graphical overlay on top of textmode MS-DOS, without any drivers!
Modding!
BadgeBay™
Since the battery is completely dead, I removed it. We now have space to fit stuff in. This space is just wide enough to fit a SHA2017 Badge inside. No joke, it fits like a glove! Well, after some creative OpenSCAD and 3d-printing work that is. I printed many failed attempts in red PETG and just as it was about to run out I did my final print. So I inserted the green PETG in the bowden extruder while the red filament was still in the tube. They print at the same settings anyway, but the layer effect turned out very nice, by accident.
Serial port
I also ordered a bunch of MAX232 boards and I had some CH340 ttl-serial-usb lying around. So I took one of both and connected them to my modern linux laptop at first. I could get a serial console, run ssh, and even revbank inside the Windows 3.1 Terminal app.
So I now needed a way to connect the Badge sitting in the battery bay to the serial port on the back of the laptop. Complete disassembly was required. I decided to make a second serial port parallel to the first port. This breaks when you connect devices to both ports, so don't do that then!. At first I connected it directly to a MAX232 board, but than I decided to make it removable, just like the original battery. So I yanked a DE9 port from an old desktop board from the e-waste pile and soldered it in parallel to the rear port on a short ribbon cable, snipped away some plastic, added some padding and hotglue. We now have a internal DE9 serial port inside the battery bay BadgeBay™!
During the disassembly process the fan connector broke off. But that's okay as you'll read in the next section.
+5V hackery
Up to this part, the Badge and the MAX232 were powered from an external USB supply (mostly my modern laptop since I was flashing/debugging the Badge all the time anyway). But this wouldn't be good enough for a permanent setup. So I needed a way to connect Ground and +5V from the laptop to the badge. Ground was already present in the DE9 connector, so we are already halfway! But that's not enough. I needed a way to connect one extra pin reliably while keeping the carefully constructed hotpluggable toolless BadgeBay™ system intact. So i snipped one of the retaining screw thingies seperate from the shielding, connected a red wire, and then I hotglued a metal spring to the inside of the laptop. I soldered a red wire to the spring as well. I lined the spring up with the DE9 retaining screw.
Back to the broken fan connector. I spliced the wires from there and from the spring (and later another wire for the OPL2LPT) together and connected those to the pads behind the fan connector. We now have a BadgeBay™ +5V rail!
At this point the BadgeBay™ hardware was more or less working. A few weeks later I ordered my soundcards. The CVX4 does not need any external power, but the OPL2LPT does. It has a mini-usb connector to power it from a nearby USB port, which this laptop lacks. Powering it from any external source works fine but is clunky. The OPL2LPT kit already has pads for a DIY power header. Since the ground was already connected trough the pins in the port and/or shielding, I again only needed to worry about the +5V. So I added another red wire to my already existing splice near the fan connector and made this one long enough to reach all the way from there to the left side of the laptop, trough the PCMCIA cover, around the back, and into the OPL2LPT +5V header. But when nut in use, this cable hides neatly begine the PCMCIA door.
See also this video of the mechanism in action.
Parallel port soundcards
I did buy two different parallel port soundcards: a OPL2LPT (AdLib clone) and a CVX4 (Covox Speech Thing clone).
OPL2LPT
This is basically an AdLib re-implementation, together with an TSR "driver" that redirects data from the AdLib DMA address to the ParPort DMA address. Here is a YouTube video demonstrating how that looks. Fun fact, that laptop in that video is the high-end model of the same series as this one!
The OPL2LPT works perfectly fine, but the volume knob on the side was interfering with the PS/2 port. So I used grey ribbon cable and hotglue to change it and make it point upwards instead.
CVX4
This is basically a Covox Speech Thing clone, but less ugly. The output is a pure line leven signal. It won't drive headphones and really needs an amplifier. But it works. There are even Windows 3.11 drivers for it.
SBEMU and TEMU are old 1990's era drivers to partially emulate Sound Blaster or Tandy sound on the Covox Speech Thing. This depends on QEMM and does not work with EMM386. I haven't tried with QEMM yet.
New Battery?
It might be possible to build a new rechargable battery for this machine. If I decide to use something more compact than the badge (like, any normal esp32 or esp8266 module, or a GL-iNet with the case stripped off), that would leave room for at least 3 or possibly 6 18650 Ni-MH Li-Ion cells. The original battery had a capacity of 24 Wh in 10 cells. 3 modern cells would already be more.
Connecting it to the original connector would be... interesting, since it would probably try to charge it at a unsuitable voltage. So it might be smart to protect the pack output to let it only discharge trough the old connector, and to create a seperate charger/BMS with a seperate, new, charge port. This could be micro-usb on the front.
This is all highly hypothetical at this point. I might very well decide that I'll just keep plugging it in every time.
Software
The manual lists this as being preinstalled:
- MS-DOS and Microsoft Windows
- TabWorks utility (alternative to Program Manager)
- Computer Setup, Computer Checkup, Power Management, and Security Management utilities
- Automatic PCMCIA configuration utilities for MS-DOS and Windows
- Windows-based online documentation
- Plug and Play BIOS
- MS-DOS- and Windows-based shutdown capability (for closing out applications and turning off computer)
- Microsoft Video for Windows Runtime Version
- Adaptec 6360 SCSI drivers
- Universal Netware Client for simplified setup of a Netware network
- Intel Ethernet drivers and TI Token Ring drivers for networks other than Netware
- Western Digital WIN graphics drivers
- Logitech Trackball drivers
This is a rather long list. My clean install of Dos 6.22 and Windows 3.11 (NOT for workgroups!) does not seem to miss any drivers. I don't know about power management, but the original battery is dead, disassembled, and recycled. And everything else seems to just work.
DOS 6.22
- 4DOS 8.00 (command.com replacement from FreeDOS with features such as tab completion)
- Arachne 1.97 (A graphical web browser which is almost a complete desktop environment)
- DilloDOS 3.02b (A port from Dillo for DOS. More info. Too bad it doesn't work yet.)
- DOOM (demo version)
- Wolfenstein 3D (demo version)
- Duke Nukem 3D (demo version)
- Transport Tycoon Deluxe (demo version)
- Pinball Fantasies (archive.org version, because of silly manual lookup copy protection. It's 2018 damnit!)
- AdLib Jukebox and AdLib Visual Composer
Windows 3.11
- Internet Explorer 3.0.1152
- Netscape Navigator 3.04
- Opera Browser 3.62
- mIRC 5.91
- WinZip 5.0
- WinSpeed 1.0 (just a silly benchmark to compare between this laptop, QEMU and DosBox)
BasicLinux 3.50
This is a linux distro from 2007 with a 2.2 kernel. It claims to require only 3MB ram but this is a lie: it kernel panicks when I try to boot it with only 4 MB present. It does not boot in QEMU or DosBox but it works and after some fiddling around even X works. For some reason only when I output to an external monitor only while running startx but after starting X it displays fine on either or both screens...?
Just like Windows 3.11, it boots from DOS, so I can now make a DOS startup menu and make this a triple boot system! I also resized the filesystem from the default 20MB to 64MB.
This was also the easiest OS to make PPP work. It's just plain pppd after all :)
PPPoS and SHA2017 badge
I have three different PPP clients on the laptop right now. DOSPPP and Trumpet Winsock and pppd on BasicLinux. All of them work with pppd in OpenWRT on the GL-iNet, after much fiddling around with settings and scripts everywhere. But there is one problem. The GL.iNet is way too powerful with 8x more RAM and CPU clockspeed. It's just... wrong. So I decided to try the SHA2017 as my PPP-UART device.
But this is a lot harder on the Badge. The Badge ESP-IDF runs has LwIP onboard. LwIP has some code from an old pppd inside somewhere. Parts of this code are available in the LwIP on the Badge, but some parts are not. I needed to hardcode the ip addresses in the code somewhere to make it possible to configure IP's in the tunnel. But the equivalents of the proxyarp and defaultroute options are broken.
I can ping from Trumpet to the Badge, and from the Badge to the rest of the network, but not all the way in one go. ARP proxying is really needed. But it's unavailable in the code right here and in other places.