Compaq LTE Elite 4/50E: Difference between revisions
(→PPP) |
|||
Line 127: | Line 127: | ||
* [http://www.vgmpf.com/Wiki/index.php/AdLib_Juke_Box AdLib Jukebox] and [http://www.vgmpf.com/Wiki/index.php/AdLib_Visual_Composer AdLib Visual Composer] | * [http://www.vgmpf.com/Wiki/index.php/AdLib_Juke_Box AdLib Jukebox] and [http://www.vgmpf.com/Wiki/index.php/AdLib_Visual_Composer AdLib Visual Composer] | ||
== | == PPPoS == | ||
I have only had PPPoS really working between Trumpet and Linux yet so far. This works very well (including the expected slowness!) so I am pretty sure trumpets implementation is okay. | I have only had PPPoS really working between Trumpet and Linux yet so far. This works very well (including the expected slowness!) so I am pretty sure trumpets implementation is okay. |
Revision as of 01:23, 25 March 2018
Project Compaq LTE 4/50E | |
---|---|
I found a 1994 laptop, what can it still do? | |
Status | In progress |
Contact | Peetz0r |
Last Update | 2018-03-25 |
I found this old laptop and I'm figuring out what to do with it. Fun fact: this laptop is almost exactly as old 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).
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 a "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. I haven't had much luck with the CVX4 yet. Needs more testing...
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.
I installed Trumpet Winsock as my TCP/IP stack. It has a PPP-over-Serial implementation which works even without faking modem AT commands on the other end of the line. I have also installed these programs:
- Internet Explorer 3
- Netscape Navigator 3
- Opera Browser 3.62
- DOOM (demo version)
- Wolfenstein 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
PPPoS
I have only had PPPoS really working between Trumpet and Linux yet so far. This works very well (including the expected slowness!) so I am pretty sure trumpets implementation is okay.
stty -F /dev/ttyUSB0 115200; and sudo pppd /dev/ttyUSB0 defaultroute mtu 576 10.42.11.11:10.42.11.12 login proxyarp nodetach local
That is all you need on linux devices. Make sure you set Trumpet to use 115200 baud and it should work.
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.
I might try to use a {GL-iNet} instead of an Badge, since this already runs linux. But that sounds "too easy", I'm not giving up on the Badge yet.
Web Browsers
Be aware that running these old browsers on the modern web is... painful. Many websites use (or even force) https (which is a good thing!) and almost none of them have SSLv2.0 or SSLv3.0 still enabled (this is also a good thing!). But these very old browsers support nothing else. TLS 1.0? Nope. TLS 1.1 or 1.2? Never. TLS 1.3? What are you even talking about!
Then there is the next issue: Javascript. These browsers all support it... somewhat. But the huge amount of scripting that you can find on almost any website these days is enough to make these browsers crash all the time. Disabling JS might be a reasonable thing to do.
Running almost any newer browser is impossible with only 8MB of ram.
But a limited amount of stuff still works. Even Google Search seems to make an exception to it's rules. And the internal variant of our webcams works. Netscape 3 even has MJPEG support. For a few seconds, the it crashes. Presumably because it is out of memory.