VOGONS


First post, by uniracers

User metadata
Rank Newbie
Rank
Newbie

I am trying to get a Compact Flash IDE interface working on my Dell 316SX. I first tried with a 512 MB CF card. Was able to use fdisk to create the partition, and then format the CF card and copy the system files. After doing this, I was able to use "dir" to display the directory of files on the CF card. However, attempting to run command.com for example from the CF card resulted in a "Not ready reading drive c" error. Thinking maybe the size of the CF card was an issue, I also tried a 256 MB CF card, but got the same result. I also tried a different CF IDE interface, but again was not able to run anything from the CF card.

The cards I am using just say "Extreme CompactFlash Industrial UDMA". I tried the first CF card adapter (which is the kind that plugs directly into the IDE port) with the 512 MB on my Athlon XP computer, and it seemed to work fine. I was even able to boot from the CF card.

Does anyone have any suggestions on what to try? I know I could try another CF card, but I don't want to spend money blindly trying to find one that works.

Reply 1 of 11, by Horun

User metadata
Rank l33t++
Rank
l33t++

wow a 6 or 8Mhz 386 ? ok kidding aside... I think you are in for an uphill battle with that Dell and a 512MB CF unless you use an XT-IDE bios. In 1988 biggest IDE drives were barely 40Mb iirc
How are you setting the C/H/S in that Dell ?

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 2 of 11, by elszgensa

User metadata
Rank Member
Rank
Member

Interesting failure mode. Have you tried rebooting after creating some files, then listing them? Since the directory contents might be coming from cache instead of the card. That'd at least confirm things are properly broken, instead of only kinda-sorta...

Though, that still wouldn't explain fdisk being able to create a partition table...

Reply 3 of 11, by Jo22

User metadata
Rank l33t++
Rank
l33t++
uniracers wrote on 2024-02-11, 00:01:

Does anyone have any suggestions on what to try? I know I could try another CF card, but I don't want to spend money blindly trying to find one that works.

Hi there, yes I do. 🙂

Please try XTIDE BIOS, as an ROM on an ethernet card.

You can even use the floppy version for a test.
XUBDisk - floppy disk XTIDE Universal BIOS booter

The PC seems to be using Phoenix BIOS from the 80s, which has old HDD routines.

Just like with my Schneider Tower AT, which had a Schneider BIOS (based on Phoenix BIOS).

These old routines seem to have several issues with HDDs introduced after ATA-2 specification.

- Here's an article about the Windows 3.1 FastDisk driver, which also has trouble with it.
It gives an insight about the compatibility issues.
https://www.os2museum.com/wp/how-to-please-wdctrl/

I think it's because the BIOS isn't even IDE aware yet,
but merely uses the old WD1003 command set for MFM/RLL controllers (ST506/ST412 HDDs).

In my case, it was even worse.
Selecting a HDD type and adding a CF or DOM caused the BIOS to hang.
With using XTIDE Universal BIOS, the issue went away. It wasn't a hardware issue.

Here's a working copy of XTIDE Universal BIOS:
Re: IDE disk-on-module + 386

Good luck. 🙂

Edit:

Though, that still wouldn't explain fdisk being able to create a partition table...

I think that's because FDISK uses different BIOS function calls to access the HDD.
Or it reads the registers in a different way, to determine the drive capacity.
In comparison to MS-DOS itself, I mean.

There's a bit more information on it in the docs for the MS-DOS 5 HDD patch.
The file is available here: Re: Browsing a harddisk under DOS without using BIOS routines (INT13H)

Last edited by Jo22 on 2024-02-11, 08:00. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 11, by uniracers

User metadata
Rank Newbie
Rank
Newbie

Thanks to all for the replies.

Horun wrote on 2024-02-11, 03:21:

wow a 6 or 8Mhz 386 ? ok kidding aside... I think you are in for an uphill battle with that Dell and a 512MB CF unless you use an XT-IDE bios. In 1988 biggest IDE drives were barely 40Mb iirc
How are you setting the C/H/S in that Dell ?

For the 256 MB card, I'm using 502 cylinders, 16 heads, and 63 sectors. This is what is reported by IDEINFO.

elszgensa wrote on 2024-02-11, 05:39:

Interesting failure mode. Have you tried rebooting after creating some files, then listing them? Since the directory contents might be coming from cache instead of the card. That'd at least confirm things are properly broken, instead of only kinda-sorta...

Though, that still wouldn't explain fdisk being able to create a partition table...

After a reboot, listing the directory still works.

Jo22 wrote on 2024-02-11, 07:45:
Hi there, yes I do. 🙂 […]
Show full quote

Hi there, yes I do. 🙂

Please try XTIDE BIOS, as an ROM on an ethernet card.

You can even use the floppy version for a test.
XUBDisk - floppy disk XTIDE Universal BIOS booter

The PC seems to be using Phoenix BIOS from the 80s, which has old HDD routines.

Just like with my Schneider Tower AT, which had a Schneider BIOS (based on Phoenix BIOS).

These old routines seem to have several issues with HDDs introduced after ATA-2 specification.

- Here's an article about the Windows 3.1 FastDisk driver, which also has trouble with it.
It gives an insight about the compatibility issues.
https://www.os2museum.com/wp/how-to-please-wdctrl/

I think it's because the BIOS isn't even IDE aware yet,
but merely uses the old WD1003 command set for MFM/RLL controllers (ST506/ST412 HDDs).

In my case, it was even worse.
Selecting a HDD type and adding a CF or DOM caused the BIOS to hang.
With using XTIDE Universal BIOS, the issue went away. It wasn't a hardware issue.

Here's a working copy of XTIDE Universal BIOS:
Re: IDE disk-on-module + 386

Good luck. 🙂

Edit:

Though, that still wouldn't explain fdisk being able to create a partition table...

I think that's because FDISK uses different BIOS function calls to access the HDD.
Or it reads the registers in a different way, to determine the drive capacity.
In comparison to MS-DOS itself, I mean.

There's a bit more information on it in the docs for the MS-DOS 5 HDD patch.
The file is available here: Re: Browsing a harddisk under DOS without using BIOS routines (INT13H)

Yes. it displays as "Phoenix 80386 ROM BIOS PLUS Version 1.10 A06". I will give this XUBDisk floppy booter a try when I get a chance.

wierd_w wrote on 2024-02-11, 07:54:

Also note that not all CF modules support 8bit mode!

What would be in 8bit mode, the XTIDE bios?

Reply 8 of 11, by wierd_w

User metadata
Rank Member
Rank
Member

Yeah, I remember reading that as well.

'Losing half the word' was what it sounded like, and I immediately thought '8bit mode on CF that doesnt support it', but 'losing half the word due to mishandled IRQ' also fits.

Reply 9 of 11, by douglar

User metadata
Rank Oldbie
Rank
Oldbie
jakethompson1 wrote on 2024-02-11, 17:20:

This sounds like the bug in early AT BIOSes where IRQs get missed when reading multiple sectors because reading the status register (which clears pending IRQs) occurs at the wrong time

Would Xtide Universal Bios fix that too?

Reply 10 of 11, by uniracers

User metadata
Rank Newbie
Rank
Newbie

Good news. Using XUBDisk, I was able to successfully boot from the Compact Flash card.

I wrote the XUBDisk image to a 1.44 mb floppy, and booted from that. As it was booting, I pressed the A key so that it would then boot from the floppy, and swapped the XUBDisk with my disk that has the MS-DOS files on it. I then went through the fdisk and format procedure, wrote a few files to the CF card, and confirmed that I was able to read them. Then, I tried letting it boot from the CF card, and it worked!

My next step will be to do some research on setting up the XTIDE bios on an ethernet card.

As far as whether the IDE controller is 8 bit or 16 bit, I'm not sure, but it is integrated into the motherboard.

Thanks @Jo22 for the suggestion and to everyone that responded.

Reply 11 of 11, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
douglar wrote on 2024-02-11, 18:44:
jakethompson1 wrote on 2024-02-11, 17:20:

This sounds like the bug in early AT BIOSes where IRQs get missed when reading multiple sectors because reading the status register (which clears pending IRQs) occurs at the wrong time

Would Xtide Universal Bios fix that too?

yes