DOS Days

Reviving a Chips & Technologies 386 Motherboard - Part 2

In part 1 we familiarised ourselves with this interesting 80386 motherboard. In Part 2 let's get it powered up with the minimal number of components (CPU, memory, video card and keyboard), and get it booting to a command prompt.

 

POWER ON

Initial power on is a success! This is a great start:

The top 3 lines are from the ROM BIOS of my Cirrus Logic CL-GD510/520 SVGA card. At the bottom we see that the BIOS is dated 3rd March 1989 (..-030389-..). The '1158' is the AMI manufacturer code, which tells us this motherboard is from Hi-Com Industrial Co. The 'EC&T' stands for 'Enhanced Chips & Technologies', which is the successor to their earlier NEAT chipset.

Judging from the initial boot-up screen (see below), the memory is actually interpreted by the chipset as four banks (0, 1, 2 and 3), but the chipset groups it into two banks, entitled "Bank 0/1" and "Bank 2/3". As you can see, out of the box it's detected that I have bank 0 populated with 1 MB DRAMs and bank 1 empty. Bank 0 is running with zero wait states.


The initial boot-up screen providing a summary of the configuration

OK, let's hit <ESC> and dig around in the 386 BIOS.

The Basic Setup screen will look familiar to most of you, albeit in black & white!
This screen allowed me to choose a date beyond 2000.

 

This part of the "Easy" setup displays 3 sections:

(1) At the top, what memory has been detected in each bank (either 256 Kbit DRAMs or 1 Mbit DRAMs) and allows us to choose from either 1 or 0 wait states for the memory. You cannot have different banks operating at different wait states.

(2) In the middle, the clocks used for the CPU, AT bus and DMA controller.

(3) At the bottom, main BIOS and video BIOS shadow RAM options, and memory interleave enabled/disabled.

Here's the "Advanced" setup screen, which is a little daunting but gives the most control over options. On the left are the names of 3 of the chipset chips: 82C206 is the Integrated Peripheral Controller, 82C301 is the CPU/Bus Controller, and 82C302 is the Page/Interleave Memory Controller. The registers within those chips are then shown, e.g. 01H for chip 82C206, and to the right are each of y the bits that can be set according to the instructions on the right. This chipset goes one step better than the NEAT chipset on my Octek DCS-286 board where you really needed the chipset's datasheet to know what each bit on each register was actually for! Here they provided a description of each bit into the BIOS code - very nice!

 

HARD DISK

Because of the age of this motherboard, its BIOS doesn't support large hard disks so I'll be using a Compact Flash-to-IDE adapter in this PC in place of a hard disk. Let's remind ourselves of the limits...

  • The BIOS supports hard disk Types 1-47 where 1-46 are unchangeable figures for the number of cylinders, heads and sectors per track (sometimes called CHS or physical geometry). Type 47 allows us to set our own, but only up to 1024 sectors per track.
  • DOS 6.22 which uses the FAT16 file system can only "see" up to 8.5 GB total, and each partition cannot exceed 2 GB, so an 8 GB card would need to be split into four 2 GB partitions, or simply keep some of it unallocated.

I want to keep this fairly authentic size-wise, so having a total "hard disk" capacity of 128 MB sounds about right for a 1989 PC (a typical hard disk on a 386 computer was between 40 and 120 MB). It's not possible to buy brand new CF cards below around 1 GB anymore, so I have sourced one off EBay - it's a Lexar 128 MB card:

I initially tested this card using a USB Multi Card Reader on a modern PC, and it detected the drive without issue. I then moved onto my main retro PC (a Pentium-75, MSI 5124 mobo with AMI WinBIOS), and booted from an MS-DOS boot floppy. I ran FDISK.EXE to confirm its details:

then I ran SYS C: to transfer the system files from the floppy onto the Lexar.

OK, the card should now be ready to boot from on the 386...

Umm, no. Unfortunately, whilst this CF card successfully boots on my main retro computer, it hangs on startup after the memory test on this 386 motherboard. I tried swapping out the Promise IDE Caching Controller card for a simpler IDE interface card (a Goldstar Prime 2C), and even a third (a Goldstar Prime 2). Sadly nothing would get this Compact Flash card to boot. In the case of the second and third IDE cards, it got a little further: it cleared the screen and displayed the system configuration box, the activity LED on the CF-to-IDE adapter lit up and stayed that way for about a minute before going out. After a further 2 minutes or so, it displayed:

 

OK, I've given up on this card - I'm not sure what the cause is (probably stored in its bus interface chip its flags are set as removable, not fixed) - it appears in FDISK so the system believes it's a fixed disk (not removable), and it's configured in the BIOS with the correctly detected 984 cylinders, 8 heads and 32 sectors per track (these details were taken from my main retro PC's WinBIOS that has an "auto-detect" IDE feature).

Time to move on to another Compact Flash card - a SanDisk 128 MB:

Once again, I started the process by putting the card into a modern PC via a CF card USB reader - it successfully detected the drive, which is formatted with the FAT file system and is 128 MB in size, just like the Lexar. I then moved it to my main Pentium retro PC and told its WinBIOS to auto-detect the drive, just like I'd done with the Lexar. This one is a tad smaller, with 980 cylinders, 8 heads and 32 sectors per track.

After booting from a floppy on my Pentium retro PC and again running SYS C: to transfer the OS files to the card, it should have then been ready to boot from any PC. I inserted the card into the card reader attached to the 386, went into the BIOS and configured it as a "Type 47" hard disk with the details gleaned from the auto-detect:

and started it up....

Well Hoorah! We have a bootable CF card!

I still don't understand what the difference is between the Lexar and the Sandisk. They are both 'seen' by FDISK which will abort if no 'fixed disks' are detected (neither did). If I was to guess I'd say it is about the onboard chip in the CF cards and the fact that their firmware is reporting the Lexar as 'removable' and the Sandisk as 'fixed' - I reckon FDISK is not reading this - it's just looking for an active partition in the Master Boot Record on the drive, but somehow the boot process of the 386 BIOS likes the Sandisk but not the Lexar.

Here's a list of all the cards I've tried and my results using the above approach:

CF Cards that Work as Fixed Disk CF Cards that Don't
SanDisk 128 MB Lexar Media 8x 128 MB
SanDisk 64 MB Calumet ProSpec Series UDMA 305x 1 GB
Kingston Elite Pro 133x 8 GB*  

*This card is in use on my Pentium retro PC which detects partitions up to 4 GB in size, unlike the 386 board being tested here.

Part 3