• Please review our updated Terms and Rules here

Modern HDD replacement for laptops without user type support

3lectr1c

Veteran Member
Joined
Nov 28, 2022
Messages
1,053
Location
USA
The original Conner HDD in my Nan Tan FMA8100 luggable/laptop is cactus, don't think I can get it to work. I'd like to replace it with a CF card or something cheap and simple, but the BIOS doesn't support a user type, just the predefined ones. Considering I don't think I can just add in the XTIDE BIOS as it's a laptop, what are my options for replacing the drive? It's IDE.
 
Can't you use a CF-to-IDE or SD-to-IDE adaptor and just specify a geometry smaller than the card-- so call a 512Mb card 100Mb or whatever.

That *should* work, as long as you do the formatting and parititoning on the machine; otherwise anything configured in terms of CHS might be mapped to the wrong sector when you take it to the laptop; this often exposes itself as "starts to boot, then loads garbage after the first sector".

I have seen some machines where the native BIOS got weirded out by the presence of a modern SD-IDE adapter, and just weren't happy without XT-IDE BIOS, but it's definitely a first step to try. (I suspect the issue might have been that a SD card would obviously seek faster than vintage spinning rust, so the onboard diagnostics probably assumed the drive was borked if it didn't see some delay in response)
 
If that works then I'll try it. It has a floppy drive so I should be able to do all the drive setup on the computer itself. Thanks for the help!
 
You can use a software utility such as Ontrack Diskmanager. These programs install themselves at the very beginning of the drive, detect the drive geometry and reprogram the BIOS tables accordingly. I've used Ontrack for years on a Toshiba notebook to use a larger 840 MB drive after the original one had failed. Worked great in MS-DOS, Windows 95, Linux 2.4 and NetBSD 1.5.

There are three small issues:
  • booting directly from floppy is no longer possible, you have to use the tool's mechanism (e.g. "Press SPACE to boot from floppy")
  • the tool may steal a little low memory or may require a driver to improve performance
  • operating systems with their own disk drivers need to understand the new disk layout (Linux removed that support many years ago)
 
How high capacity does that support? I have a drive that a few GB that I could stick right in if that would work.
 
I would say "definitely 2 GB", "most likely 8 GB" and "probably 120 GB". Phils Computer Lab successfully tested EZ-Drive with an 80 GB drive.
 
If you can dump the bios it should be possible to replace the parameters (Cylinders, Heads, Sectors) of an existing supported HDD type with the ones of a new drive or even CF card.

I did it with my Toshiba T3100SX and T5100 but in principle this should be applicable to any situation where you can't input custom parameters from the setup itself (unless the bios enforces in other ways the support for specific HDDs only).

If you provide a dump I can take a look
 
I got the 6GB drive installed, and I set the parameters to a 120something capacity since it was the highest thing the BIOS supports. The drive is detected, fdisk works, and format works. I can copy files to the drive and it will read the directory after a reboot. What it will not do, is read the actual files. It will sit there for a while with no HDD activity, and eventually throw that generic read error “drive not ready” or something to that effect. Any ideas?
 
Did you install Disk Manager or EZ-Drive? This needs to be done before FDISK and FORMAT.
 
Ah. How should I go about that? I’ll go look it up in a bit, perhaps tomorrow.
 
I got EzDrive all set up and it works great! Thanks for the great advice everyone :)
IMG_6085.jpeg
6GB drive in a 1990 luggable laptop, how about that.
 
Here's my rundown with this as I had some mess-around time with these recently and my mind is quite fresh...

1.) Older hard disks 528MB and under should work just fine regardless. However, you will want to look up the jumper settings for those sorts of drives because back then not everyone had the regular Master/Slave/CS settings - a few (like Maxtor) were pretty cryptic once upon a time.

2.) The second older realm of HDDs include the older 2GB and older Caviars and whatnot, that's when we start to see the BIOS limitations. Your laptop would most likely have a bios limitation of 528MB given it's a 286 or 386 machine. For these, to get the full capacity beyond 528, you will need to use a piece of software called a "Dynamic Drive Overlay" - and what this does is allows you to set the BIOS to the maximum allowable capacity/CHS settings (ie 1024cyl, 16hds, 63sect, 65535/0landzone, 1024cyl.), and then when the PC boots, first you'll see a menu/line like "OnTrack Disk Manager v.3.08 (C) 1996 blah blah blah" - the best ones I've used are Maxtor MaxBlast and OnTrack, the latter being the generic one.

3.) Once we start getting beyond 8GB, we start needing to look at using alternate jumper settings sometimes. Sometimes there's an extra jumper that needs set to allow the drive to utilize the full capacity of the drive, or even allows the drive just to WORK on a vintage PC properly. Some Seagate drives have limiting jumpers that limit capacity to 528MB or 1024MB, or 8192MB of drive space. Some drives change the compatibility to talk to ancient ATA/IDE controllers. YMMV.

4.) ATA/100/133 drives - I've had some good luck with these on 486s and later, but on 386s, it's a crapshoot. My Compaq Deskpro 386s/20 really does not like these drives because it takes FOREVER for a DIR or a disk-check operation to take place, especially when using FAT-32. I use these all the time in my Windows 95 and up, and FreeDOS installations on my vintage 486 machines (pretty much all the 486s in the house except my FMA3500C have at least one of these preloaded for it with 95 or FreeDOS).

I see you used 6GB, that's probably the best choice for that kind of laptop. I find the Segate Medalist 8.4GB, 4.3GB, and other drives work the best with the 386 and older stuff. My Deskpro 386 has a 4GB in it now.
 
Good info. I don’t think this would would have even worked with a 500MB drive though since it doesn’t even have a user type field in the BIOS. The highest capacity of the predefined ones was in the 100 megabyte range. Maybe it would have worked at a reduced size though.
I’ve run into no issues so far with the 6GB drive I put in this thing. That EZDrive utility works great. As far as I can tell, this FMA8100 is fully working.
Here’s a startup video:
 
Here's my rundown with this as I had some mess-around time with these recently and my mind is quite fresh...

1.) Older hard disks 528MB and under should work just fine regardless. However, you will want to look up the jumper settings for those sorts of drives because back then not everyone had the regular Master/Slave/CS settings - a few (like Maxtor) were pretty cryptic once upon a time.

2.) The second older realm of HDDs include the older 2GB and older Caviars and whatnot, that's when we start to see the BIOS limitations. Your laptop would most likely have a bios limitation of 528MB given it's a 286 or 386 machine. For these, to get the full capacity beyond 528, you will need to use a piece of software called a "Dynamic Drive Overlay" - and what this does is allows you to set the BIOS to the maximum allowable capacity/CHS settings (ie 1024cyl, 16hds, 63sect, 65535/0landzone, 1024cyl.), and then when the PC boots, first you'll see a menu/line like "OnTrack Disk Manager v.3.08 (C) 1996 blah blah blah" - the best ones I've used are Maxtor MaxBlast and OnTrack, the latter being the generic one.

3.) Once we start getting beyond 8GB, we start needing to look at using alternate jumper settings sometimes. Sometimes there's an extra jumper that needs set to allow the drive to utilize the full capacity of the drive, or even allows the drive just to WORK on a vintage PC properly. Some Seagate drives have limiting jumpers that limit capacity to 528MB or 1024MB, or 8192MB of drive space. Some drives change the compatibility to talk to ancient ATA/IDE controllers. YMMV.

4.) ATA/100/133 drives - I've had some good luck with these on 486s and later, but on 386s, it's a crapshoot. My Compaq Deskpro 386s/20 really does not like these drives because it takes FOREVER for a DIR or a disk-check operation to take place, especially when using FAT-32. I use these all the time in my Windows 95 and up, and FreeDOS installations on my vintage 486 machines (pretty much all the 486s in the house except my FMA3500C have at least one of these preloaded for it with 95 or FreeDOS).

I see you used 6GB, that's probably the best choice for that kind of laptop. I find the Segate Medalist 8.4GB, 4.3GB, and other drives work the best with the 386 and older stuff. My Deskpro 386 has a 4GB in it now.

The really fun machines are the ones that have a user type support, but the genius that wrote the CHS code and auto detection didn't do proper bounds checking on the values. So you got this hidden land mine where if you install a hard drive over a certain size, and the BIOS runs the routine to detect the drive geometry, it immediately starts smashing the stack by the geometry values overwriting bits of memory it was never supposed to. If you're lucky, the machine crashes, if you're not, hilarity ensues with the stack going off into lala land and the machine flipping out.

I had one such machine a number of years ago that would do stack smashing. Most of the time it just locked up or rebooted, but sometimes the screen would turn into LSD land and flash all matters of bright colors, characters and symbols.

There's a second safer iteration of this where the geometry values are bounds checked and just wrap around, so you end up with nonsense drive sizes depending on how many times it wraps around. The larger the drive, the more times the values wrap around, so you could have an 8.4 GB drive show up as something silly like 56 MB. The normal proper behavior is to just count to the maximum supported value and stop, but obviously not every BIOS did this.
 
4.) ATA/100/133 drives - I've had some good luck with these on 486s and later, but on 386s, it's a crapshoot. My Compaq Deskpro 386s/20 really does not like these drives because it takes FOREVER for a DIR or a disk-check operation to take place, especially when using FAT-32.
You are mixing two separate, but unrelated issues here.

Issue one: Later IDE drives (such as ATA-100 / ATA-133) respond faster than old software expects them to, similar to many flash devices (CF cards). This causes issues with 286 / 386 systems. Using the XTIDE Universal BIOS (XUB) instead of the buggy BIOS drivers will fully cure this issue. Some operating systems suffer in the same way and patching/replacing their IDE drivers is necessary.

Issue two: MS-DOS on slow CPUs with large disks is slow calculating the free disk space (first time calling DIR). The obvious fix is to not use huge partitions on such systems. No application suitable for a low-end 386 needs a 40 GB partition.

Also, I'd like to add:
5.) Drives above 120 GB: Classic LBA uses 28-bit addressing and is limited to 2^28 sectors (128 GiB / 137 GB). Trying to access any disk area above that is likely to cause wraparound issues (and data loss) on any BIOS or operating system without the newer LBA-48 support. This includes Drive Overlay solution (Disk Manager, ezDrive, etc), but also modern solutions such as XUB. Treat such drives as 127 GB to be safe.

The really fun machines are the ones that have a user type support, but the genius that wrote the CHS code and auto detection didn't do proper bounds checking on the values. So you got this hidden land mine where if you install a hard drive over a certain size, and the BIOS runs the routine to detect the drive geometry, it immediately starts smashing the stack by the geometry values overwriting bits of memory it was never supposed to.
Many AWARD BIOS versions are known to crash when detecting drives above 32 GB, even when the drive is disabled in the BIOS setup. The only fix is to limit the drive capacity to 32 GB or less. Some drives have jumpers for this; such an artificially limited drive reports its true size in a different way. A Drive Overlay or sufficiently advanced operating system can use such drives at full capacity (after booting).

There's a second safer iteration of this where the geometry values are bounds checked and just wrap around, so you end up with nonsense drive sizes depending on how many times it wraps around.
I have a Pentium system which does this (incidentally, also an AWARD BIOS). It supports both LBA and various CHS translations, so drives below 32 GB work fine. The reported size is completely wrong, though.
 
You are mixing two separate, but unrelated issues here.

Issue one: Later IDE drives (such as ATA-100 / ATA-133) respond faster than old software expects them to, similar to many flash devices (CF cards). This causes issues with 286 / 386 systems. Using the XTIDE Universal BIOS (XUB) instead of the buggy BIOS drivers will fully cure this issue. Some operating systems suffer in the same way and patching/replacing their IDE drivers is necessary.

Issue two: MS-DOS on slow CPUs with large disks is slow calculating the free disk space (first time calling DIR). The obvious fix is to not use huge partitions on such systems. No application suitable for a low-end 386 needs a 40 GB partition.

Also, I'd like to add:
5.) Drives above 120 GB: Classic LBA uses 28-bit addressing and is limited to 2^28 sectors (128 GiB / 137 GB). Trying to access any disk area above that is likely to cause wraparound issues (and data loss) on any BIOS or operating system without the newer LBA-48 support. This includes Drive Overlay solution (Disk Manager, ezDrive, etc), but also modern solutions such as XUB. Treat such drives as 127 GB to be safe.


Many AWARD BIOS versions are known to crash when detecting drives above 32 GB, even when the drive is disabled in the BIOS setup. The only fix is to limit the drive capacity to 32 GB or less. Some drives have jumpers for this; such an artificially limited drive reports its true size in a different way. A Drive Overlay or sufficiently advanced operating system can use such drives at full capacity (after booting).


I have a Pentium system which does this (incidentally, also an AWARD BIOS). It supports both LBA and various CHS translations, so drives below 32 GB work fine. The reported size is completely wrong, though.
Ah yes...I wrote this in a bit of a quickie....so I might have missed it good catch.

Here's some of my experiences for some real life examples.....and maybe why I might have missed some things.

1.) The Drive speed makes sense, I think I forgot a recent experience I had with my Deskpro 386s/20 recently, using a ATA/100-133 drive on it (Western Digital WD800JB - but I was using the regular ATA-100/133 Jumper Settings I might add). That drive took FOREVER to process a DIR command in DOS because of the partition size (4 FAT-32 Partitions around 20GB Each). Part of my thoughts come from a guy on here who used an IBM 386 Portable (luggable, one of the PS/2 ones) with an 80GB and was happy with it. As with all these things, experimenting does not hurt, but YMMV.

2.) I don't think I've used a bigger partition than 32GB on any of these systems, and the one with 32GB partitions is really pushing it but that 486 is a REAL unicorn. The relevant drive info is that I have ONE drive per each channel (DVD-RW uses 2nd Channel as Master) on a PTI-255W Super I/O VESA Local Bus Card - and the drives are swapped in and out using a Lian-Li RH17/RH37 5.25" Mobile Rack. I have 5 drives for it, with the newest setup being a 128GB Intel SATA HDD over a KingWin ADP-06 SATA Adapter, using OnTrack 9 DDO, drive split into 4 32GB Partitions. This setup works amazingly for FreeDOS and is quite snappy, but I also put a lot of weight on it (IE, virtualized ISO files using OMI for a lot of bigger games like The 7th Guest, Under a Killing Moon (4x CD-ROMS), or AD Cop). The slowness on the 386 was a WDJB800 HDD split into 4 20GB Partitions. Honestly, I mostly use the big setups on 486 and later systems that have enough speed to be comfortable. 386s typically just run plain DOS. The 386 now has a 4.3GB Seagate Medalist with Maxblast on it (yes, I cross brand DDO, Maxblast seems to work with a lot of drives and is more friendly on older computers with older IDE setups).

I don't see myself using anything above 128GB - since that's really cheap, and plentiful. I tend to fit the size to the computer. Most of my machines are 486s (486 DX4-100 desktop, 2 NanTan 486s, 2 NEC Versas) and the majority run 2.5" or 3.5" ATA-100/133 drives without issue, split into 4 equal partitions. Most of the time, I stick between 8-80GB in size and use drive C for the O/S (obviously), D for Apps, E for Games, and F for the OS install media at ready, ISOs, Mp3s, whatever else I might want to experiment with, as well as a local driver store for reconfiguration on the fly.

Most of my drives get backed up onto my server at home and I can just drag-n-drop onto any replacement media as/is. Since most of what I'm doing is gaming, most of the BBSes I surf come and go, and the internet remaining accessible to vintage machinery is questionable at best, I don't really worry about loss of savegames/shortcuts/etc. 90% of the time, I open the drives off using a jmicro USB 2.0 to IDE converter on my main Linux boxes in a Win2K virtual machine, and then drag-n-drop the contents back on their partitions, and then use sys c: on the drive via bootdisk post DDO. It's a nice system I have going, almost no reliance on optical or magnetic media other than the drive itself, and reloading a vintage PC to it's default state takes at most about 30 minutes.
 
Back
Top