Schrödingers Laptop

I got my first notebook in the late 90s. A second hand Digital HiNote P60 with a 486 SX33 processor, 4MB RAM, 170MB HDD and a 640x480 Grayscale screen. It cost 500 Austrian Schillings which is, taking inflation into account, around 60 Euros today. I got it at the "Erste Wiener Computerbörse". If you read this blog and lived in Vienna in the 90s you surely remember this weird store with the even weirder owner ... The store doesn't exist anymore but Mr. Mercedes' website is still up.
Being a second hand device, the battery was dead, meaning it had to be plugged in all the time, but that didn't matter too much.
It only ran DOS and windows 3.1 because of the RAM limit. Once I tried putting Windows 95 on it but it was unbearably slow. (I recently read on Raymond Chens blog that the clock in Windows 95 wasn't displaying seconds because that would have meant that extra memory would have needed to be swapped in all the time and not just every minute when the clock changes... Just to get an idea of how tight the memory was)

I fondly remember writing Basic and C code on that thing - and going over to a friend's place across the street with a nullmodem cable and playing Doom II on it.... Those were the days...

But over time more stuff started breaking.

The floppy drive:
I was checking the content of old floppies when I got to one with a jammed unlocking mechanism. Taking it out destroyed the read head :( - didn't know where to get a replacement so I took it out. So I've lost the floppy drive. From that point on I had to transfer files via serial or parallel cable. Parallel cables are much faster than floppies anyway, so no biggie.

The backlight:
I don't know whether the tube or inverter broke, but suddenly it stopped working. I disassembled the thing trying to figure out how the backlight works, tried fitting some LEDs inside instead (hey, LED backlit screen! I was ahead of my time! ;)). Finally I settled for a cold fluorescent tube from the electronics store Conrad which fit in exactly. The inverter also fit in the place previously occupied by the floppy drive and I just wired it directly to the power socket which ran on 12V. There went my last chance to use a battery...

The trackball:
It suddenly didn't work anymore. So I took it out. Oh well, with DOS I didn't really need a mouse anyway. And I could always plug in a serial mouse if I wanted to. For example when running Windows 3.1, Ulsop or even ILAS ;)

The hard disk:
Click, click, click - not the sound you want to from a hard drive. So without hard or floppy drive there was no way for me to boot the system - except - for the PCMCIA slot.
This was already in the early naughties and "larger" compact flash cards just have become more affordable. So I bought a 128MB card (slightly smaller than the harddisk) and a CF-PCMCIA Adapter. Those adapters contain no active electronics as CF cards speak a variety of protocols, among them PCMCIA and ATA (IDE). The BIOS detected the card just fine and tried to boot from it, but the DOS bootloader failed to read the system files and crashed. I tried various versions of MS-DOS, FreeDOS and other DOSes, I tried Minix 2, nothing worked. Everything would get stuck at some point.
Eventually I tried DS-OS (see below) and that worked just fine. Unfortunately there isn't a lot of stuff you can do with DS-OS but now I knew that my setup could theoretically work. For a while I was thinking about building up a toolchain with C compiler to actually get stuff done using DS-OS - maybe slip in a DOS compatibility layer at one point ... But that would have taken way too long. I really only had to figure out what DS-OS did differently to all other systems. Some skimming through the very well documented source code led me to a conclusion: Single sector reads.
The BIOS could read the CF card, but only if you requested only single sectors. Requesting multiple sectors would just return garbage. Now, how to force DOS to only read things one sector at a time? The problems start right with the bootloader before the DOS kernel even loads. So I needed to sneak something in before that. Hmm... What sort of software typically does that - loading before the system starts and doing stuff in the background with the disk...? Right, a bootsector virus! So I downloaded the source code of the infamous Michael Angelo virus (which once devastated my 386's disk...) and started modifying it.
First I took out all the destructive stuff and put in some code which split up all BIOS calls to do only single sector reads and writes. But for some reason DOS wasn't really satisified with this. So instead I tried emulating a floppy disk, and, sure enough - DOS booted of the simulated floppy. Yay!
Now how to get to the rest of the card? First I modified the code to simulate a second floppy drive and started working on emulating access to the remaining capacity as a harddisk. This finally worked and I had my laptop fixed again. But it always had to boot off the virtual floppy.
Over the years I must have lost the sourcecode for this :( - If I find it again I will upload it here. Or grab a copy of the MBR and try to disassamble if it you really want to.

Even though I had a better desktop and notebook available I still enjoyed working with that ancient machine for a long time. At one time I even gavre it a (bad) paint job because the gray looked so ugly. Eventually however the notebook got stored away because I stopped using it. I just tried to switch it on after many years of it collecting dust and the screen just stayed dark. So I think we can answer the question: Dead.

More about DS-OS:
DS-OS is a simple open-source operating system completely written in A86 assembler by David Sicilia. For a while there was nothing to be found on the net about it but he recently re-uploaded his old website about it.
Back then I really enjoyed reading through the sourcecode and learned a lot from it. In order to keep it simple, DS-OS uses it's own filesystem which is incompatible to anything else. To help me work around that I wrote a tool to copy files onto and from DS-FS formatted floppies. You can download it here, including the source code - no warranty, use at your own risk! The tool was developed in Delphi for Windows 9x so it might not run on modern systems, but they don't have floppy drives anyway. Maybe get out your old Windows 98 machine if you have one or spin up a VM.


PS: I'll try to revive the notebook if I have some time, maybe it's just something with the power supply. Will it become a Zombie at that point? ;)

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Please enter the following digits: six four zero zero nine