• Please review our updated Terms and Rules here

SD->IDE adapter difficulties on a 386SX

Hak Foo

Experienced Member
Joined
Jul 18, 2021
Messages
215
I've been using a SD-IDE adapter with an XT-IDE card on an 8088-class machine with excellent results. I have a 32Gb card, the XT-IDE seemed to expose 8Gb of it to the host, and then I formatted a few partitions adding up to like 500Mb on it because directory listings take too long otherwise. :)

(The reason I'm not using a CF-IDE adapter is because I had heard claims that there are a lot of "not quite compliant" CF cards, that don't behave right when put in the simple bus adaptors, but the SD-IDE adaptors actually do the compatibility stuff in the adaptor, and are supposedly less finicky).

I bought another similar adapter for my Magnavox Headstart/SX 386SX-16. I didn't want to put any more mileage on the ancient Seagate ST351A/X drive, and figured it would be nice to go beyond 40Mb. I'm not sure if the brand name matters, because they all appear to be the same basic design sold under a hundred names. It shows an identification string of "FC-1307 SD to CF adaptor v1.4".

It's been an absolute fiasco.

The BIOS is unusual for a 386; you can specify manual geometries up to 1024-255-63 (8Gb!), but I've tried using that, 1024-16-63, and even Type 16 (the same as the geometry of the ST351A/X, when I tried putting an image of the drive on the SD card).

I'm usually able to mount and read/write to the drive, but with some caveats:
* Booting never seems to work. Sometimes it will start to hand off, and then eventually report "missing operating system". The furthest I was able to get was a combination of "Install FreeDOS, then run FDISK /MBR from a Win98SE boot disc", which would start loading FreeDOS, get to where it announced there was one partition starting at 0-1-1, then hit an invalid opcode error and demand I tell it where the command interpreter was (which it then rejected).
* Some installers would suddenly start announcing "Not ready" when trying to read drive C. (This seemed to happen with both FreeDOS and PC-MOS, and possibly when fiddling with the Win98SE boot disc trying to manually partition and format it.

So I figured there must be some sort of unresolvable geometry mismatch going on. Probably trying to read off a part of the disc that doesn't exist. I figured I'd try WHATIDE https://archive.org/details/whatide to let the adaptor tell me what geometry it's advertising, so I could align the BIOS to match.

On the 4Gb card I wanted to use, it reports 24190-16-63. That's something like 14Gb! A 128Mb card gave figures that added up to like 1.2Gb. The 32Gb card I was using in the XT-IDE reports 46245-16-63, which is about 24Gb.

Yeah, that does seem like it could be an issue.

As a last-ditch experiment, I pulled the XT-IDE card out of my 8088 and put it in the 386SX, then disabled onboard IDE. This detected the adapter just fine, and booted off the known-good card. That seems to suggest that the adapter works at least *that much* and there's more of a clash with the onboard IDE and/or BIOS. (The BIOS is labelled "Philips v2.62")

I don't see this as a permanent fix, because I want the XT-IDE back for the 8088, and it seems both hacky and likely sub-performant to be using it on a system with native, 16-bit IDE available.

However, I'm a bit alarmed by the behaviour of WHATIDE. I'm assuming that's just passing a raw "identify" command to the drive, so even if the BIOS has an unconventional idea of how to map a large drive, it should be returning a total count of sectors that adds up to roughly the size of the underlying disc. If it was just one card returning zany geometry, I could get another, it seems like it's broken across multiple scenarios.
 
I've been using a SD-IDE adapter with an XT-IDE card on an 8088-class machine with excellent results. I have a 32Gb card, the XT-IDE seemed to expose 8Gb of it to the host, and then I formatted a few partitions adding up to like 500Mb on it because directory listings take too long otherwise. :)
The reason you can't use more than 8 GB is most likely because of limitations in your version of DOS.
As a last-ditch experiment, I pulled the XT-IDE card out of my 8088 and put it in the 386SX, then disabled onboard IDE. This detected the adapter just fine, and booted off the known-good card. That seems to suggest that the adapter works at least *that much* and there's more of a clash with the onboard IDE and/or BIOS. (The BIOS is labelled "Philips v2.62")

I don't see this as a permanent fix, because I want the XT-IDE back for the 8088, and it seems both hacky and likely sub-performant to be using it on a system with native, 16-bit IDE available.
Yeah, I would blame the system BIOS. Seems like the obvious solution is to install XUB in the machine.
 
I have SD adapters 44 pin and 40 pin but mine are the 'Sintechi' type, Just wondering what does 'Biosdrvs.com' report though i agree with Krille, Probably the system bios and/or the adapter firmware.
 
Yeah, the 386 build of the XUB seems to be what I need. It detects the drive fine even on the mainboard's IDE socket*

(* you have to mark the IDE feature as enabled in the BIOS, even though you declare no drives, I guess to coax the underlying super-I/O chip to life. Even though you say there are no drives attached, the mainboard BIOS still insists on trying to probe *something* and ending with an "Internal hard disc: not ready" POST error you have to acknowledge to boot).


So now I have a 16MHz 386SX with a slightly overkill video choice (WD90C30, 512k), several gigabytes of flash storage, and the ONE 8Mb 72-pin SIMM with parity I could find in my parts box. (all the others are non-parity, which work but ALSO produce a POST code) Should be fun for FreeGEOS.

I guess I'll have to grab a cheap NIC with a ROM socket because I want the XT-IDE card for other purposes.
 
Back
Top