VOGONS


First post, by serialShinobi

User metadata
Rank Newbie
Rank
Newbie

Hello. I want to thank the people here for offering me advise about building a machine with DOS 6/Win 311.

I have been struggling with understanding ways to get CHS addressing working on two of my PCs.

I am realizing that the problem is in configuration schemes that existed before the 1996 BIOS Boot specification.

You had to know the CHS values of your disk, but just scrounging up this information from common sources was thwarted by hard drive auto detection.

So here I could use some advice because although I own an Ultra ATA 33 interface that auto configures CHS values; I want to configure CHS values manually on the behalf of BIOS.

I also have an interface with out an option ROM BIOS chip. It is non-PnP and PCI local bus. It permits auto detect of disks by BIOS but the CHS values that they detect are not usable for booting.

Any ideas on what to do if you want to dicern the correct CHS addressing for booting an early 90s PC?

Reply 1 of 15, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

Hello

Respectfully I believe you are overthinking this. There should not be a situation where the CHS values reported by the drive in the IDENTIFY DEVICE command are incorrect. If they don't work, it's either a bug in the BIOS or something other than LBA-compatible translation being used in the BIOS.

On the other thread I asked if you could check MSD, but let's try something else. On your hardware 486 can you run the autodetect feature in your BIOS and then show us the C/H/S values that display after autodetection, as well as which translation mode you have picked? Also, by knowing which BIOS it is, we may know of any bugs that affect its translation.

You asked about debug. If you do have a DOS boot disk with debug on it, and can boot with the HDD attached and configured in the BIOS, you can run dump the FDPT. First, run d 0:104 L 4 which will give you four bytes of output which are a far pointer to the FDPT, on my machine 3D 00 0B 02. You need to flip the byte order and then dump 0x10 bytes of output at that location, in my case d 020B:003D L 10 (values will be different on your machine!). Then you (we) can use the Phoenix EDD doc you posted to interpret the values in the FDPT that might shed light on how your BIOS is translating. You can also do this debug from inside your VM, which might explain what translation it is using and why it breaks.

Reply 3 of 15, by serialShinobi

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on 2023-06-03, 05:07:

On the other thread I asked if you could check MSD, but let's try something else. On your hardware 486 can you run the autodetect feature in your BIOS and then show us the C/H/S values that display after autodetection, as well as which translation mode you have picked? Also, by knowing which BIOS it is...

Boot screen shows following info about my BIOS:

6/5/97 SiS 501-503-2A5IAS21C-00

Award modular BIOS 4.51G

33A2-D1

Hard Disk is Conner CFS425a with Cyls. 839 Hds. 16 Sect. 62 (according to computer hope website). It is an ATA-1 425 MB disk.

Interface is a PCI Local Bus interface with two channels. It has legacy mode and local bus mode. I configure local bus mode.

Detect IDE is used to fill in CHS values for the boot drive information under "General" in CMOS setup.

The Conner disk is on the first channel of IDE interface :

Size 426 Cyls. 839 Hds. 16 Sec62

MODE

CHS values remain for two attempts to boot, 1st in normal mode and next in auto mode.

Result

Does not boot.

MODE

LBA values differ.

Size 425 Cyls. 412 Hds. 32 Sec. 63

Result is the same problem.

Side idea - I tried installing the Conner on the *second* channel for the PCI Local Bus disk interface.

I then installed my promise Ultra ATA 33 along with the PCI local bus card.

The Conner as said is on second channel of local bus PCI card and I have a very bootable CF card with grub installed.

Result

The boot process hangs early during memory test

Reply 4 of 15, by ediflorianUS

User metadata
Rank Member
Rank
Member

Can't you just use a random selection from bios (aka 40-500mb) than use Ontrack overlay app to partition the disk? it worked fine on Toshiba 80286 or my 80486.... (using 4.3 gb's drive , can go up to 120gb) -overlay app works similar to vista+ ms os's , bypassing the bios drive settings & setting up everything on the drive itself.. *there are many versions , best to try with last and go backwards if not complying with your requests.

As for not booting in OS , most of times turn's out it's ram... so check , clean and mount properly all modules.

My 80486-S i66 Project

Reply 5 of 15, by serialShinobi

User metadata
Rank Newbie
Rank
Newbie

Would be glad to try OnTrack. I'll work on it soon.

ediflorianUS wrote on 2023-06-03, 17:51:

Can't you just use a random selection from bios (aka 40-500mb) than use Ontrack overlay app to partition the disk? it worked fine on Toshiba 80286 or my 80486.... (using 4.3 gb's drive , can go up to 120gb) -overlay app works similar to vista+ ms os's , bypassing the bios drive settings & setting up everything on the drive itself.. *there are many versions , best to try with last and go backwards if not complying with your requests.

As for not booting in OS , most of times turn's out it's ram... so check , clean and mount properly all modules.

Reply 6 of 15, by kixs

User metadata
Rank l33t
Rank
l33t

BIOS in 1997 should auto-detect the HDD just fine.

What is your problem? HDD not booting? But is it configured? DOS installed, active partition set and so on...

You should make a bootable floppy. Boot from it and see if the HDD is recognised in DOS (c:\) or via FDISK.

Requests here!

Reply 7 of 15, by TheMobRules

User metadata
Rank Oldbie
Rank
Oldbie
jakethompson1 wrote on 2023-06-03, 05:07:

There should not be a situation where the CHS values reported by the drive in the IDENTIFY DEVICE command are incorrect. If they don't work, it's either a bug in the BIOS or something other than LBA-compatible translation being used in the BIOS.

Yes, there are some cases and it's not a fault of the BIOS or controller. Some older hard drives, such as the Conner CP3000 and similar respond to auto-detection with the actual geometry of the drive instead of the CHS params intended by the manufacturer. For that reason I had to set it to manual CHS in the XTIDE Universal BIOS as the autodetected values just didn't work.

Reply 8 of 15, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

Your drive isn't big enough to need translation. Also, it's weird that it is 62 sectors per track instead of 63.

Reply 9 of 15, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
TheMobRules wrote on 2023-06-03, 18:40:
jakethompson1 wrote on 2023-06-03, 05:07:

There should not be a situation where the CHS values reported by the drive in the IDENTIFY DEVICE command are incorrect. If they don't work, it's either a bug in the BIOS or something other than LBA-compatible translation being used in the BIOS.

Yes, there are some cases and it's not a fault of the BIOS or controller. Some older hard drives, such as the Conner CP3000 and similar respond to auto-detection with the actual geometry of the drive instead of the CHS params intended by the manufacturer. For that reason I had to set it to manual CHS in the XTIDE Universal BIOS as the autodetected values just didn't work.

Interesting, arguably a bug in the drive; I don't think the OP had thought it through this far though 😁

Reply 10 of 15, by serialShinobi

User metadata
Rank Newbie
Rank
Newbie
kixs wrote on 2023-06-03, 18:36:

BIOS in 1997 should auto-detect the HDD just fine.

What is your problem? HDD not booting? But is it configured? DOS installed, active partition set and so on...

You should make a bootable floppy. Boot from it and see if the HDD is recognised in DOS (c:\) or via FDISK.

Thanks. Yes during the time when I have gotten my CF card with grub to boot a DOS floppy image, I can see my old Conner hard drive is partitioned and formatted. Will even boot if I put it in my plug'nplay computer.

But the motherboard I'm having a problem with treats most drives as unbootable. It once booted without any trouble when I had a hard drive with DOS installed that came from a American Megatrends 486 motherboard - before it suddenly died and I got the board that doesn't boot.

Problem I'm having is I need to know how to deal with BIOS that configures a disk improperly.

Reply 11 of 15, by kixs

User metadata
Rank l33t
Rank
l33t

If the onboard IDE works fine and the problem is auto-detect. You can manually set the drive with CHS parameters.

If the HDD was setup in another computer and the CHS parameters were different it's a possibility it won't boot in another computer.

If the onboard IDE seems suspicious, you can disable the onboard IDE first and use ISA or PCI IDE controller card. If the controller card doesn't have it's own BIOS, then you set it up in computer BIOS - like with onboard controller.

Try setting the HDD on this computer like it's new. Delete all partitions and make new one(s). Format. Transfer system (SYS C:) Set active partition with FDISK and in the end do: FDISK /MBR. This should set it up correctly on this computer.

Requests here!

Reply 12 of 15, by serialShinobi

User metadata
Rank Newbie
Rank
Newbie
ediflorianUS wrote on 2023-06-03, 17:51:

Can't you just use a random selection from bios (aka 40-500mb) than use Ontrack overlay app to partition the disk? it worked fine on Toshiba 80286 or my 80486.... (using 4.3 gb's drive , can go up to 120gb) -overlay app works similar to vista+ ms os's , bypassing the bios drive settings & setting up everything on the drive itself.. *there are many versions , best to try with last and go backwards if not complying with your requests.

As for not booting in OS , most of times turn's out it's ram... so check , clean and mount properly all modules.

Hi. I tried the Ontrack program shortly after you mentioned it. I know why I am having difficulty now. But back a few days ago when I used Ontrack my BIOS just located OnTrack's boot loader and issued a friendly message to press any key to reboot. Most of my problem booting has come from making it all the way to the moment a loader program takes over and starts loading itself into memory. That includes OnTrack, MSDOS, and Grub. But I hope to try Ontrack at some point. For now it wasn't able to begin loading up during boot.

Reply 13 of 15, by serialShinobi

User metadata
Rank Newbie
Rank
Newbie

Hello all. I found out that the problem was my external cache. Once I disabled it in BIOS my computer was able to book to MSDOS. I did eventually discover that CHS from the BIOS autodetect was accurate. The hardware had the correct range of addresses to locate the sectors it needs to boot up. Once a loader, say IO.SYS or GRLDR (Grub Loader) needed to dive into the rest of the task of loading the OS execution could not continue because external cache was detected. The cache needs replacement ICs and would just cause the system to halt when activated in CMOS setup.

Reply 14 of 15, by ediflorianUS

User metadata
Rank Member
Rank
Member
serialShinobi wrote on 2023-06-06, 12:26:

Hello all. I found out that the problem was my external cache. Once I disabled it in BIOS my computer was able to book to MSDOS. I did eventually discover that CHS from the BIOS autodetect was accurate. The hardware had the correct range of addresses to locate the sectors it needs to boot up. Once a loader, say IO.SYS or GRLDR (Grub Loader) needed to dive into the rest of the task of loading the OS execution could not continue because external cache was detected. The cache needs replacement ICs and would just cause the system to halt when activated in CMOS setup.

Now you tell us , I had similar problems with 486 , disabled evrything booted up to finish win95 installation and then activated most of stuff in bios, except for a chache. the overlay app that was on drive : (bios is set to a max value don't remember 500 mb? someting bios won't go past that with onboard controller anwayz).

BTW I don't know why 4.3 gb drives where so popular , but I have only a handfull of drives under 4.3 , and maybe one 8-9gb range , rest are all 20-40-60-80-120-160-500 gb's...

(I mounted a Seagate on the T3100e old toshiba was not happy with this WD43 , but 486 was verry happy after I set-it-up on usb/external rack on newer system).

My 80486-S i66 Project

Reply 15 of 15, by serialShinobi

User metadata
Rank Newbie
Rank
Newbie

I plan to replace the cache ICs. I also have CHS to the tee. It's very basic. But complicated if you take addressing for granted and assume the most good has been done for you. I really need to consult some programming references (which I have in a crate right now) on INT13h. That would have eliminated my uncertainty.

Then having a tool. Make sure you get the tools. I will look into that program by WD that shows information like CHS.