• Please review our updated Terms and Rules here

IDE CD driver for IBM AT (5170)

prime

Experienced Member
Joined
Sep 20, 2009
Messages
153
Location
Coventry, UK
Hi,

I'm trying to get an IDE CDROM working on my 5170, all the IDECD drivers I have tried so far either hang or complain that they need a 386 or above :(

I'd preferably like one that would support working on the 3rd or 4th interfaces but anything that works would be a bonus.

I suppose my other option would be to drop my SBPro or AWE-32 in there and use the SB cdrom.

Cheers.

Phill.
 
Interesting question. I have some old IDE drivers around, but as afaik IDE CD-roms came long after AT's, no idea if that would work.

I can see if I can round them up when I'm back home.
 
FWIW, the XTIDE will eventually (hopefully!) support CD-ROM. That means I will be writing my own, open source CD-ROM driver that will be 8088 friendly.

It's a big job, but winter is coming on strong (it's snowing here already) so I will have some hours to kill. Wanna help?
 
This is an area where I've been confused before. "Back in the day", there used to be talk of "IDE" and "ATAPI" as if they were two separate things; then somewhere around the Pentium-ish era, "ATAPI IDE" became a thing. In my experience, 386s and under generally cannot support a CD-ROM connected to their onboard IDE. Why, I don't know. You connect the drive, and the driver fails to load. There must be some middle point where it fails. Maybe it has to do with the BIOS behind the IDE? It doesn't know what a CD-ROM is and marks it invalid? This would be another reason why a lot of sound cards carried "ATAPI" ports that would support any otherwise IDE CD-ROM. It's a vague point I'm hoping someone could elaborate on the specifics at some point... well, heck, why can't XT-IDE support CD-ROMs yet? What's the deficiency? Because it's probably the same thing. :)
 
This is an area where I've been confused before. "Back in the day", there used to be talk of "IDE" and "ATAPI" as if they were two separate things; then somewhere around the Pentium-ish era, "ATAPI IDE" became a thing. In my experience, 386s and under generally cannot support a CD-ROM connected to their onboard IDE. Why, I don't know. You connect the drive, and the driver fails to load. There must be some middle point where it fails. Maybe it has to do with the BIOS behind the IDE? It doesn't know what a CD-ROM is and marks it invalid? This would be another reason why a lot of sound cards carried "ATAPI" ports that would support any otherwise IDE CD-ROM. It's a vague point I'm hoping someone could elaborate on the specifics at some point... well, heck, why can't XT-IDE support CD-ROMs yet? What's the deficiency? Because it's probably the same thing. :)

ATAPI placed something derived from SCSI over the stock ATA/IDE interface to handle all the CD-ROMs and other removable devices. Some IDE adapters can be upgraded through a BIOS to handle ATAPI; others can't. IDE manufacturers had a bad habit of using undefined pins in propietary fashions which created problems when the next standard defined those pins. ATAPI started about 1996 but it didn't become close to universal until several years later.

Of course, I had a 1997 Pentium II which supported ATAPI CD-ROMs and DVDs perfectly but will not support any IDE hard disks. IDE was fun, in all the wrong ways.
 
The XT-IDE card (both hardware and BIOS) is currently actively being developed from scratch by some pretty smart and creative fellow forum members.

So isn't it safe to assume that (even though ATAPI is currently not yet supported) they are already being careful not to make any design decisions that would result in ATAPI compatibility issues later?

Could any of the XT-IDE developers who happen to be following this thread elaborate on this?
 
I remember trying to hook up a CD-ROM to a 286 though IDE... never worked.
The only way I could get a CD working on my 386 back then was to connect it through the SCSI connector on the sound card. (I had one of those Media Vision Jazz cards with built-in scsi)
 
So isn't it safe to assume that (even though ATAPI is currently not yet supported) they are already being careful not to make any design decisions that would result in ATAPI compatibility issues later?

I can't speak for any hardware things, like pins being used for CD but not for hard drives, and vice versa, but from what little research I've done in the matter is that ATAPI commands are sent out to the device using a slightly modified version of how hard drives send and receive commands. (ATAPI stands for ATA Packet Interface) and that packet interface is all software based.

Since there is no native BIOS support, ie, INT 13h, for CD based devices, you need a driver. Since our hardware is sitting on an 8bit bus, a stock "oakcdrom.sys" driver won't work, because it doesn't know how to talk to our hardware. Throw in an 8088 CPU, and there's no chance that any of the ATAPI drivers out there will work on our machines.

That's about all I've got. Before we go into production on XTIDE for real, I need to quickly write some code up to send a command with the packet interface, and read some raw data off the CD. If I develop something on a known good IDE controller and then try it out on the XTIDE and it works, then there is no reason we can't develop a full on driver for XTIDE, and then tweak it ever so slightly to be useful on a real 16bit controller, so you could then use it on an AT class machine. If it doesn't work, then we need to investigate why/what hardware changes would be required to make it go, and if they are worth our time to implement.

I just need a few solid days to dive in and work on it. I may need to break up with my g/f to make sure this happens. ;) Hope you guys appreciate it!
 
I just need a few solid days to dive in and work on it. I may need to break up with my g/f to make sure this happens. ;) Hope you guys appreciate it!

"He said he was dumping me for another woman...said her name was 'Atapi'. Oh well, he always did have an eye for the exotic types..."
 
This driver worked for my 286-12 clone computer. It's called UNIIDE.ZIP I am using a generic
IDE controller with a winbond chip and an LG cdrom drive attached as
slave drive. It is in a ZIP archive and just search for UNIIDE.ZIP this
is the file you want. Oh you will have to provide your own copy of MSCDEX.EXE.

Hope this helps out.
 
Hi Hargle! One of the N8VEM builders recently added ATAPI support to the N8VEM DiskIO CBIOS. Now the N8VEM can boot from ROM, floppy drives, IDE drives, and ATAPI drives. For sure the ATAPI ZIP drives are working since he boots with those all the time.

The ATAPI DiskIO CBIOS may be a useful source of information for you even if it is written for a Z80. The logic will be similar due to inherent design similarities between the N8VEM DiskIO board and the XT-IDE. You are welcome to use the well documented CBIOS code.

My understanding of ATAPI is that it is a protocol (SCSI like) over the IDE hardware. Basically it uses a packet format over the IDE interface. You would have to read the source code for more details though.

Thanks and have a nice day!

Andrew Lynch
 
yeah, I'm in the 80% range that ATAPI support on our XTIDE card is possible.

My only concern is that we have not mapped the alternate status+control registers in the hardware, and I'm not quite certain that those won't be required to do ATAPI work. I've got some C source code that I'm trying to follow and convert into x86 asm for the driver. really all I want to do right now is just write a program to simply read a sector off the drive to prove that it's possible, then that would get wrapped into a driver eventually. Once we prove it's possible to do it, then we can know the hardware is good enough and do a full production run...
 
Back
Top