VOGONS


First post, by shadmere

User metadata
Rank Newbie
Rank
Newbie

I know I'm posting a lot. I can't seem to move two steps forward without hitting my head against a wall.

Trying to put together a 486.

So my 30 year old spinning hard drive didn't work. I figured that would probably be the case. It claimed to exist, and could be formatted, but when I tried to install DOS I would get occasional errors about how a file couldn't be written, press enter to continue. Then it would write a few more files before giving another write error, before finally hanging around 44%.

But fine. So I ordered an IDE to CF adapter and a 4 gb CF card.

I start it up, open BIOS, and tell it to auto-detect hard drives. It gives me several options: LBA, Normal mode, Large mode. Normal mode claims 504 megabytes; the other two claim 0 megabytes.

Okay, fine. Apparently my BIOS doesn't support large drives. I figure I'll just roll with it. I choose normal mode.

I use a boot disk and run clearhdd.exe on it. Then I use fdisk to create a primary DOS partition and set it to active. Then I format it. All this works okay.

Then I try to install DOS. I get the same types of write errors that I got with the old hard drive. It makes it through the installation (after I hit enter to continue past several write errors), but then gives a final error writing command.com.

Rebooting, I find that drive C isn't even formatted anymore. fdisk doesn't even see a partition.

I go back into BIOS and auto-detect hard drives again. This time LBA mode is the only mode offered, and it lists something like 1000 megabytes of space. I choose it and exit.

Same process with clearhdd.exe, fdisk, format. This time, fdisk creates a full gigabyte partition. Exact same issue when I try to install DOS.

Oddly, it's the exact same files each time that fail to write. format.com, help.hlp, mstools.dll, and then at the end, command.com. I find images for the DOS disks in case mine aren't good and try again. Exact same error.

I reseat everything and try again. This time in BIOS, auto-detect offers me both Normal and Large modes, with Normal claiming a size of 504 megabytes and Large claiming about 1800 megabytes. I choose Large, since it's the only one I haven't tried yet.

Clearhdd.exe, fdisk (creates a gigabyte partition), and format. Exact same issue, down to the files that fail, when I install DOS.

I dig around and find a 1 GB Compact Flash card that I've had for awhile. I try it. It was immediately detected in the BIOS with auto-detect and I was offered Normal, Large, and LBA. Normal offered 504 mb, Large and LBA offered the exact same amount, like 1022 I think.

Same process. Much slower to format (45x instead of 133x), but it formats. This time, the setup program in DOS goes smoothly and I'm extremely excited. Except at the end, it gives me a failure writing command.com, and upon reboot, the disk is no longer formatted and no longer had a partition that fdisk would recognize.

During all this, I would occasionally copy files from my boot disk to the "hard drive" after formatting it, just to test it. With the new 4 GB CompactFlash card, I could never get anything to run. The files would show up on C:\ with "dir", but if I tried to run anything, the system would hang. With the older, slower 1 GB CompactFlash card, I could run the programs. I ran edit.exe and saved a text file successfully. It survived a reboot, even. Hopeful, I tried installing DOS again, but again got a failure at the last moment, and the partitions on C:\ were wiped again.

This was all using a VLB I/O card. I tried everything again using an ISA I/O card but that works much worse. Auto-detect will offer only Normal mode, and claims that the new 4GB card is only 45 megabytes. It claims the older card is 220 or so megabytes. No matter what I choose in this setup, though, I cannot even set a partition. Fdisk claims to set up the partition, but upon reboot, there is no longer one on the drive. This happens with both CompactFlash cards.

So only the VLB I/O card comes close to working, but it definitely doesn't actually work.

Is this something that a new I/O card might fix, or is this a problem with my BIOS? I guess I'm just asking for any suggestions for things to further test or try.

I'm entirely fine with only being able to use 500 megabytes of space. I mean more would have been better, but honestly I just want some kind of fixed disk that I can install DOS on.

Thanks.

Reply 1 of 44, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

My main lead is to look in your BIOS for any multi-sector transfer options and disable them. For example, I've shown the advanced peripherals screen from my Award BIOS and it calls it "HDD Block Mode." Try disabling that as I believe some CF cards don't support it. Can you post your screen and see if there are any other settings to look into.

On the standard CMOS screen, how do the cyls/heads/sector numbers change as you flip between normal, large, and LBA? If you set it to Normal, does it use 1024 cylinders, 16 heads, and 63 sectors? If not, try setting it to normal and manually changing to those values. Go through standard CMOS setup not auto detection to do this. The screen attached is for my Super Socket 7 board with a (spinning) 8.4GB drive but it's the same idea.

My next idea is to boot from a set of Linux boot floppy disks - such as those from the "SmallLinux" project on sourceforge, and poke around, if you have a linux background.

Attachments

  • out2.jpg
    Filename
    out2.jpg
    File size
    403.41 KiB
    Views
    2592 views
    File license
    Public domain
  • out1.jpg
    Filename
    out1.jpg
    File size
    287.25 KiB
    Views
    2592 views
    File license
    Public domain

Reply 4 of 44, by digistorm

User metadata
Rank Member
Rank
Member

I experienced with my 486 board that the BIOS is just dumb and seems to overflow in multiple locations considering IDE detection and storing of BIOS parameters. Some variables overflow at 2047, some at 1023… it may well be that the BIOS just doesn’t like drives larger than 504 or 1023 MB or 2047 (that is with mine).
Anyway, if your BIOS or FDISK from DOS does not report the correct size, you may assume that it is not using or detecting the drive correctly and it will eventually fail. Sometimes you can use the first or the first few sectors of the disk, but eventually you cross a translation error in the BIOS and it will write the wrong location on the drive and corrupt it. It would be better to first solve the detection problem before trying to install an OS.

Reply 5 of 44, by shadmere

User metadata
Rank Newbie
Rank
Newbie

Thanks for the replies!

jakethompson1 wrote on 2020-08-10, 05:30:

My main lead is to look in your BIOS for any multi-sector transfer options and disable them. For example, I've shown the advanced peripherals screen from my Award BIOS and it calls it "HDD Block Mode." Try disabling that as I believe some CF cards don't support it. Can you post your screen and see if there are any other settings to look into.

On the standard CMOS screen, how do the cyls/heads/sector numbers change as you flip between normal, large, and LBA? If you set it to Normal, does it use 1024 cylinders, 16 heads, and 63 sectors? If not, try setting it to normal and manually changing to those values. Go through standard CMOS setup not auto detection to do this. The screen attached is for my Super Socket 7 board with a (spinning) 8.4GB drive but it's the same idea.

Alright, I've posted screens from my BIOS. Today, with the VLB I/O controller, I am getting pretty consistent results from the auto-detect.

Normal mode: Size: 1895, cyls: 7769, Head: 16, Section: 63
LBA mode: Size: 1895, cyls: 971, Head: 128, Section: 63
Large mode: Size: 1895, cyls: 3884, Head: 32, Section: 63

IDE block mode is turned off.

I attached shots of every BIOS screen just in case there's a setting somewhere I wouldn't have thought to try.

Doornkaat wrote on 2020-08-10, 07:05:

I'd try swapping the IDE cable first if you haven't done so already.

I have another IDE cable on order now. Should be here next week. Dramatic sigh and all that. I actually have a nice new one I bought for this project, but it has a missing pin that is part of the keying, I guess, and neither of my I/O boards are missing that pin, so I can't use it. Didn't notice that when ordering.

jmarsh wrote on 2020-08-10, 06:13:

If the BIOS can't even manage consistent auto-identify results the controller is trash.

I was thinking that. I tried a second I/O board and it gave me consistent results but even worse ones. (Identified everything as 45 mb, for one thing.)

Maybe I'll just buy another one. Of course now I half expect that it'll turn out that everything else was fine, but the motherboard was screwed up in a way that caused this. Heh.

digistorm wrote on 2020-08-10, 07:54:

I experienced with my 486 board that the BIOS is just dumb and seems to overflow in multiple locations considering IDE detection and storing of BIOS parameters. Some variables overflow at 2047, some at 1023… it may well be that the BIOS just doesn’t like drives larger than 504 or 1023 MB or 2047 (that is with mine).
Anyway, if your BIOS or FDISK from DOS does not report the correct size, you may assume that it is not using or detecting the drive correctly and it will eventually fail. Sometimes you can use the first or the first few sectors of the disk, but eventually you cross a translation error in the BIOS and it will write the wrong location on the drive and corrupt it. It would be better to first solve the detection problem before trying to install an OS.

Yeah, that makes sense. I was hoping that the first couple of failed detects were just an issue with the auto-detect, and that once the settings were right, they would stick and work. Ah well.

Attachments

  • Auto-detect.jpg
    Filename
    Auto-detect.jpg
    File size
    1.78 MiB
    Views
    2519 views
    File license
    Fair use/fair dealing exception
  • CMOS Setup.jpg
    Filename
    CMOS Setup.jpg
    File size
    1.67 MiB
    Views
    2519 views
    File license
    Fair use/fair dealing exception
  • BIOS Features.jpg
    Filename
    BIOS Features.jpg
    File size
    1.75 MiB
    Views
    2519 views
    File license
    Fair use/fair dealing exception
  • Chipset Features.jpg
    Filename
    Chipset Features.jpg
    File size
    1.93 MiB
    Views
    2519 views
    File license
    Fair use/fair dealing exception
  • Power Management.jpg
    Filename
    Power Management.jpg
    File size
    1.62 MiB
    Views
    2519 views
    File license
    Fair use/fair dealing exception

Reply 6 of 44, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
shadmere wrote on 2020-08-10, 22:13:
Alright, I've posted screens from my BIOS. Today, with the VLB I/O controller, I am getting pretty consistent results from the […]
Show full quote

Alright, I've posted screens from my BIOS. Today, with the VLB I/O controller, I am getting pretty consistent results from the auto-detect.

Normal mode: Size: 1895, cyls: 7769, Head: 16, Section: 63
LBA mode: Size: 1895, cyls: 971, Head: 128, Section: 63
Large mode: Size: 1895, cyls: 3884, Head: 32, Section: 63

OK, I'm wondering what would happen if you set it to NORMAL mode and then manually override to 1024 cylinders and wiping before installing again.
Also, don't think this should strictly be necessary, but run fdisk /mbr before creating your partition and installing DOS.
I don't see why this should be happening, but if worst comes to worst I bet XT-IDE BIOS or overlay software could get it working.

Reply 8 of 44, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
digistorm wrote on 2020-08-10, 07:54:

I experienced with my 486 board that the BIOS is just dumb and seems to overflow in multiple locations considering IDE detection and storing of BIOS parameters. Some variables overflow at 2047, some at 1023… it may well be that the BIOS just doesn’t like drives larger than 504 or 1023 MB or 2047 (that is with mine).
Anyway, if your BIOS or FDISK from DOS does not report the correct size, you may assume that it is not using or detecting the drive correctly and it will eventually fail. Sometimes you can use the first or the first few sectors of the disk, but eventually you cross a translation error in the BIOS and it will write the wrong location on the drive and corrupt it. It would be better to first solve the detection problem before trying to install an OS.

You're onto something. Take 7769 cylinders * 16 heads. That's 124,304 or 0x1e590 in hex. Chop off the 1 to get 0xe590 to account for 16-bit overflow. Multiply that by 63 sectors and 512 bytes/sectors and you get 1,895,620,608 bytes. This could mean any kind of translation results in scribbling randomly over the drive, though I wonder why Normal mode didn't work. I also wonder why the 1GB flash drive doesn't work either. OP, if 1024,16,63 settings don't get you a working dos install, it would be useful to know the autodetected numbers for the 1GB drive too.

Reply 9 of 44, by shadmere

User metadata
Rank Newbie
Rank
Newbie

Overlay software? I saw this, is that what you're talking about?

How does that work? I mean, doesn't the software have to run first? How could I install DOS to the drive if I have to install the software for the drive to be stable? (I'm must thinking about it wrong, but it seemed like the computer would have to load the software before it would be able to see the drive. Which would make it hard to boot from. But I admit that since two people just recommended that, I know that I'm missing something.)

I am also curious about what you mean by XTIDE BIOS. I've seen those cards, but saw that they weren't great for something past maybe 286 level because they were only 8-bit or something. Oh wait, I do remember seeing a thread somewhere, weeks ago, where someone recommended someone use the XTIDE BIOS on an ethernet card or something? Honestly I don't understand that at all. I'm totally up for trying it, but I'd need more information about how to do that and what that would actually be doing, hah.

Thanks for all this information.

Reply 10 of 44, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

If you can get it to work at 1024/16/63, you could either settle for 504MB, or install overlay software. With overlay software, you boot from a boot disk before installing DOS, that partitions the drive for you and installs a special boot sector that, from then on, replaces the BIOS's INT13H routines at every boot with its own that access the hardware directly. If you use overlay software it's important that you change the BIOS boot order to C,A,SCSI because booting directly to a floppy won't install that INT13H handler. The overlay software will give you its own prompt if you want to boot from a floppy.

With XTIDE you would only be using the BIOS, not the entire XT-IDE card, and would keep using your existing IDE connectors. It also replaces your INT13H handler, but earlier in the boot process. You set all IDE drives in the BIOS to not installed, and the XTIDE BIOS gives you a different button to push to get into its own BIOS Setup to configure drives. It's like having a SCSI card.

Also, hopefully it isn't too obvious, but have you already made sure you have the latest Award BIOS available for this motherboard?

Reply 11 of 44, by shadmere

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on 2020-08-10, 22:36:

You're onto something. Take 7769 cylinders * 16 heads. That's 124,304 or 0x1e590 in hex. Chop off the 1 to get 0xe590 to account for 16-bit overflow. Multiply that by 63 sectors and 512 bytes/sectors and you get 1,895,620,608 bytes. This could mean any kind of translation results in scribbling randomly over the drive, though I wonder why Normal mode didn't work. I also wonder why the 1GB flash drive doesn't work either. OP, if 1024,16,63 settings don't get you a working dos install, it would be useful to know the autodetected numbers for the 1GB drive too.

Okay, with the 1 GB card I got a nonsense result, so I turned it off and on again and got a more reasonable result.

Attachments

  • First detect.jpg
    Filename
    First detect.jpg
    File size
    1.98 MiB
    Views
    2497 views
    File license
    Fair use/fair dealing exception
  • Second detect.jpg
    Filename
    Second detect.jpg
    File size
    1.46 MiB
    Views
    2497 views
    File license
    Fair use/fair dealing exception

Reply 12 of 44, by shadmere

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on 2020-08-10, 22:55:

If you can get it to work at 1024/16/63, you could either settle for 504MB, or install overlay software. With overlay software, you boot from a boot disk before installing DOS, that partitions the drive for you and installs a special boot sector that, from then on, replaces the BIOS's INT13H routines at every boot with its own that access the hardware directly. If you use overlay software it's important that you change the BIOS boot order to C,A,SCSI because booting directly to a floppy won't install that INT13H handler. The overlay software will give you its own prompt if you want to boot from a floppy.

With XTIDE you would only be using the BIOS, not the entire XT-IDE card, and would keep using your existing IDE connectors. It also replaces your INT13H handler, but earlier in the boot process. You set all IDE drives in the BIOS to not installed, and the XTIDE BIOS gives you a different button to push to get into its own BIOS Setup to configure drives. It's like having a SCSI card.

Also, hopefully it isn't too obvious, but have you already made sure you have the latest Award BIOS available for this motherboard?

That's really intriguing. I'll mess around with that some after dinner tonight, hopefully.

So, maybe embarrassing, but I'm straight up kind of afraid about flashing the BIOS. Worried that I'll be wrong when trying to figure out what BIOS should actually be used, and since I'm a little afraid of "What if it's the I/O card that's not working?" flashing from a floppy is scary. Though it is true that so far the floppies haven't given me trouble. I know this is an Opti-895 1442G .

Reply 13 of 44, by shadmere

User metadata
Rank Newbie
Rank
Newbie

Well huh.

EZDrive detects no IDE hard drives.

Same result on both the 4 GB and 1 GB CF cards.

I tried both setting it to "User," 1023 cyls, 16 heads, and 63 sectors and also setting it to Type 9. Neither setting worked.

Huh.

I'm going to laugh if this all just works when I get another IDE cable.

Attachments

  • 2020-08-10 18.34.49.jpg
    Filename
    2020-08-10 18.34.49.jpg
    File size
    1.62 MiB
    Views
    2482 views
    File license
    Fair use/fair dealing exception

Reply 14 of 44, by aha2940

User metadata
Rank Member
Rank
Member
shadmere wrote on 2020-08-10, 23:36:
Well huh. […]
Show full quote

Well huh.

EZDrive detects no IDE hard drives.

Same result on both the 4 GB and 1 GB CF cards.

I tried both setting it to "User," 1023 cyls, 16 heads, and 63 sectors and also setting it to Type 9. Neither setting worked.

Huh.

I'm going to laugh if this all just works when I get another IDE cable.

I had kind of similar issues with a pentium PC (see my thread here: 10GB drive + Award BIOS problems) and in the end I used ontrack disk manager to make it work. I tried several other approaches too with varying degrees of success, so you may want to read the whole thread.

Last edited by aha2940 on 2020-08-11, 02:10. Edited 1 time in total.

Reply 15 of 44, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi. Maybe useful.:
Re: 386 hard disk and scandisk errors
Browsing a harddisk under DOS without using BIOS routines (INT13H)
Re: Unable to see more than 2GB of my HDD

DOS5/6 use normal int13h function to determine capacity.
Unfortunately, the function register in questin can only hold a 10-Bit value with most BIOSes (that was the original spec).
BIOSes with 12-Bit values existed (use 2 extra bits of DH register; 4095 max value), but theoretically caused compatiblity issues, so they limited int13h call to 10-Bit again. With Extended int13h available, this was not seen a loss apparently.

It's FDISK is limited, too (uses classic int13h, func. 8).
It can handle a total value of 1023, but only uses 1022, due to thinking 1023 is being a diagnostics cylinder..

Moral of the story:
The BIOS is dumb because it tries to be smart.
DOS 4/5/6 and friends can be hac... patched to determine capacity with int41/46, but it is barely worth it nowadays. We can use FreeDOS, DOS 7.x, IBM DOS 2k etc. alternatively... 🙂

Edit : Edited a several times. Posting with a smartphone is awefulsome.

Reply 16 of 44, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
shadmere wrote on 2020-08-10, 23:36:
Well huh. […]
Show full quote

Well huh.

EZDrive detects no IDE hard drives.

Same result on both the 4 GB and 1 GB CF cards.

I tried both setting it to "User," 1023 cyls, 16 heads, and 63 sectors and also setting it to Type 9. Neither setting worked.

Huh.

I'm going to laugh if this all just works when I get another IDE cable.

Don't use the WDC branded version. Use the full version from Ontrack. Can be DL'd here: https://www.philscomputerlab.com/ontrack-disk-manager.html

Reply 17 of 44, by Doornkaat

User metadata
Rank l33t
Rank
l33t
shadmere wrote on 2020-08-10, 22:13:

I have another IDE cable on order now. Should be here next week. Dramatic sigh and all that. I actually have a nice new one I bought for this project, but it has a missing pin that is part of the keying, I guess, and neither of my I/O boards are missing that pin, so I can't use it. Didn't notice that when ordering.

You can use a fine drill to remove the blockage on the connector. Or just bend a paperclip and heat it up with a lighter to melt the plastic blocking the hole.

Reply 18 of 44, by shadmere

User metadata
Rank Newbie
Rank
Newbie
kingcake wrote on 2020-08-11, 01:38:

Don't use the WDC branded version. Use the full version from Ontrack. Can be DL'd here: https://www.philscomputerlab.com/ontrack-disk-manager.html

That came closer to working! It detected the drive, set up two 2 gb partitions, and explained that it would boot through the manager from now on so the partitions could be detected. Told me to reset the computer and . . . hangs while it tries to boot.

Doornkaat wrote on 2020-08-11, 03:49:

You can use a fine drill to remove the blockage on the connector. Or just bend a paperclip and heat it up with a lighter to melt the plastic blocking the hole.

I'll do the paperclip thing tonight. Didn't realize it was that simple. Thanks!