I recently purchased a Commodore 386SX-LT laptop, an old 80386 laptop with 1.6MB of RAM (640KB base memory + 1MB extended memory) and 60MB hard drive, from eBay for a cheap price just to explore. The laptop is apparently in good condition given its age:
I powered it up and was greeted with several CMOS-related error messages. The computer also failed to boot if I chose to press F1 to ignore the errors and continue:
Most of the error messages did not worry me as the BIOS battery has most likely died resulting in the lost of several system settings. If anything, the 0 Parallel Port(s) indication seemed a bit strange, but nothing to worry about yet at this point. Pressing Ctrl-Alt-Esc and I was able to enter the BIOS menu:
Three options are available on the menu – System Configuration Setup, Fixed Disk Physical Format and Set System Password. Selecting the first menu and I entered the usual BIOS setup screen:
However, strangely, the system stopped responding as soon as I entered this screen. I tried again and the same thing happened, although this time round the setting fields on the screen were empty – only headings (date, time, memory, etc.) were shown. I knew that something was up with this laptop. But exactly what? Although it could be the BIOS battery, it still seemed strange to me as on most computers a dead BIOS battery would probably affect only the real time clock (RTC), but would never hang the system. I decided to open up the laptop for investigation:
The laptop came with an ST908A 60MB Type 50 IDE hard drive, and a 1MB Toshiba RAM module. Two memory slots are available supporting up to 8MB of RAM. The RTC clock uses a standard 3V lithium coin cell battery which has long died, as proven later by my multimeter:
A 1N4148 diode is next to the battery, presumably to help power the RTC from the motherboard voltage rails when the laptop power supply is connected. Playing around with the circuit around the CMOS battery, I noticed that if I tapped on either end the diode, the BIOS screen would become responsive again, and the clock started to run, although for only a few seconds after each tap. I measured the diode on my multimeter and it read open in both directions! Replacing the diode with a new 1N4148 and everything worked properly again – the BIOS setup screen no longer stops responding and the boot up display also shows the correct parallel port count, that is 1 not 0. There are also no longer any BIOS related error messages upon startup:
So apparently the faulty diode prevents power from being supplied to the RTC, and the BIOS setup code hangs when trying to access the non-working RTC. Whoever wrote the BIOS code never catered for the scenario when the RTC would fail!
I then proceeded to remove the old CMOS battery, soldered in a socket that fits nicely with my CR2032 battery to fix the RTC problem permanently. With this, MS-DOS 6.22 Dutch version, boots just fine with the 60MB hard drive:
Once booted into MS-DOS, the BIOS setup program can still be entered by pressing Ctrl-Alt-Esc, although exiting the BIOS would restart the computer regardless of whether any changes have been made. Entering the BIOS when running a non-text-mode application such as Windows will probably not work and may cause the system to stop responding, which requires a reboot.
It is worth mentioning that there are three power-related keys on this laptop, a mechanical power switch, a soft switch with the power icon but serves no purposes when pressed unless the required driver is installed, and another key which launches the BIOS display setup program:
Several options are available for the user to change the power saving mode, default display device (internal display or external VGA port), and color attributes for the LCD panel. Notably, it allows users to customize the percentage used for each of the R/G/B components on the greyscale display, although the default (30% R, 59% G, 11% B) should be sufficient for most usage. Pressing ESC to exit will ask, “Do you want to save CMOS data?”, but choosing either Yes or No will not reboot the computer and simply return to the running program:
Again, I strongly suspect this display setup program would not work if a graphics application such as a game or Windows is running, and will probably just hang the computer upon exit.
Despite the greyscale display, MSD reports the graphics card as VGA Color:
The BIOS setup program on this computer has a menu to perform a physical format of the hard drive, with several low-level options such as interleave:
Amazingly the laptop is still able to boot off the 60MB hard drive even after it has been formatted with the default physical format option. I am not sure why this is the case.
The next task is to upgrade the internal hard drive as 60MB is too small for my experiments. For this, I use a 512MB Transcend CompactFlash card with a cheap CF to IDE adapter. As the BIOS on this laptop does not support custom hard drive types, I resorted to EZ-Drive Dynamic Disk Overlay for this purpose. It installs a custom Int 13h extension that overrides the BIOS and allows proper handling of large hard drives. The setup should work with most DOS and Windows apps that uses the BIOS to access the disk. If you are using Windows 3.1, remember to turn off 32-bit disk access, which may cause issues.
Download the ZIP file for the bootable EZ-Drive floppy disk image here. Write the image to a floppy disk, select a very small hard disk type in BIOS (so that its number of cyliners/heads/sectors is lower than the actual values and the BIOS will not report hard disk error), boot from it and follow the instructions to setup the overlay. The image also contains ANYDRIVE, another simpler disk overlay tool which requires slightly more complicated setup but should also work.
With EZ-Drive installed, EZ-BIOS will be launched at startup, offering the option to press Ctrl to show the hard drive information and select boot device, or just to wait a while to boot from the hard disk:
Take note that if you boot from floppy with EZ-Drive installed, EZ-BIOS will not be loaded and your hard disk will be managed by the native BIOS. You will not be able to access the hard drive (via normal means), which is a protective mechanism by EZ-Drive to prevent data corruption when the BIOS disk manager, which does not support your custom hard drive, is being used. If you use ANYDRIVE, you will still be able to see the hard drive as there is no such protective mechanism, but attempting to access the hard drive may cause data corruption. To avoid this, simply boot from the hard drive first, press CTRL at startup and press A when prompted by EZ-BIOS to boot from the floppy drive.
With the CF card used as the hard drive, I am able to install a complete copy of MS-DOS 6.22 English version, together with the packet driver for the Xircom parallel port network adapter module:
I also successfully installed Windows 3.00a, however attempting to start it in standard mode failed due to low memory:
Something to take note here is that if you see 100% of your extended memory being used despite no applications running, check your SMARTDRV configuration. SMARTDRV defaults to using all available extended memory for disk cache, unless configured otherwise. I wasted one whole afternoon figuring out why.
It should also be noted that Windows will determine the best possible mode (real mode, standard mode, 386 enhanced mode) to start based on the amount of free memory available. If you have marginal amount of free memory, this may cause intermittent startup problems – sometimes Windows can start, sometimes it cannot. To force the startup mode, use /R for real mode, /S for standard mode and /3 for 386 enhanced mode. I used WIN /R and Windows could run properly in real mode:
Take note that running Windows 3.0 in real mode is like running Windows 2.0 – most applications require standard mode and will not work with real mode. I managed to get Microsoft Excel 2.0 and Word for Windows 1.1a to work smoothly (download from WinWorld) but that’s about it. You may be able to get some old Windows 1.0/2.0 apps downloadable from here to run – let me know the results.