PDA

View Full Version : Iomega internal ATAPI drives on XT-IDE



CarlosTex
May 15th, 2016, 04:04 PM
Hey there fellas,

i really like to use Zip drives. I think its a decent method of moving data between an old PC and modern. ZIP media has more than enough available space to move loads of stuff around. It's specially useful when you use an XT-IDE card with an hard drive instead of a CF card.

I use a Parallel port Iomega 250 Zip drive on my 12MHz XT clone, and since my other retro machine also has a Zip drive its very convenient to help move data around. However an internal ATAPI would have a few advantages. First it would eliminate the obvious space an external drive occupies and also no need for an external power supply that also takes space. Third and most important the ATAPI drive is faster.

What we need is someone who can disassemble the Iomega ASPIATAP.SYS driver and make it so that it can talk to the XT-IDE card. I think this would be enough just to make it work via the DOS prompt when using GUEST.EXE with a V20 or PalmZIP for an 8088. Then maybe later if the XT-IDE BIOSes could support them too it would be great! Imagine booting from a ZIP drive on your vintage XT, or even using it as a poor man's hard drive. It would probably still be faster than the old MFM hard drives of the day. :D

My knowledge of assembly is non-existant however. So if anyone is interested it would be deeply appreciated. Just throwing the idea out there. :cool:

pearce_jj
May 15th, 2016, 11:09 PM
I wonder if this uses 8 bit transfers.

Simone2013
May 15th, 2016, 11:31 PM
I also think this will be usefull,
but had tried with a IOMEGA internal IDE (not ATAPI) on XT-IDE with no luck!
I think this was 16-bit only!
maybe with Lo-tech 8-bit IDE Adapter ;)

pearce_jj
May 16th, 2016, 12:17 AM
It should be possible but the driver would need to be recoded to work with the different ports used (SHL 1 and 300h base usually).

CarlosTex
May 16th, 2016, 04:40 AM
It should be possible but the driver would need to be recoded to work with the different ports used (SHL 1 and 300h base usually).

Yes that's what i was hoping to. For someone well versed in assembly to disassemble the ASPIATAP.SYS driver from the Iomega package and make it work with the XT-IDE ports.

Then if later some XT-IDE BIOS support for the ZIP drives would be included that would be pretty awesome too.

Krille
June 1st, 2016, 01:45 PM
It should be possible but the driver would need to be recoded to work with the different ports used (SHL 1 and 300h base usually).

I have spent most of today hacking away at this driver (downloaded from here (http://www.hiren.info/downloads/dos-files)) in an attempt to make it work with XT-CF devices. Note, this won't work with XT-IDE cards, only XT-CF cards. If it works at all, that is. Since I have no way to test it, I would actually be surprised if it does anything useful.

The driver uses 186+ instructions and so it needs at least a V20 or V30 processor. It also contains some 386+ instructions, even CPUID which is a 486/Pentium instruction. It's also written in a HLL (I'm guessing C) because there are some braindead stuff in there that only a compiler would do. Which probably explains why the driver is so large.

Anyway, I've attached a zip file with the original driver, my hack and the disassembly database file (for the free version of IDA) in case someone wants to tinker with it.

31454

pearce_jj
June 2nd, 2016, 12:11 AM
Fantastic Krille! Can you see from the code if it is using 8-bit PIO?

1ST1
June 2nd, 2016, 12:44 AM
I use a Parallel port Iomega 250 Zip drive on my 12MHz XT clone,

How do you use the paralleport ZIP drive on your XT clone? The official DOS driver for IOmega is not working on XT, as far as I know.

Krille
June 2nd, 2016, 02:52 AM
Fantastic Krille! Can you see from the code if it is using 8-bit PIO?

I haven't really analyzed it that much but it might be able to do both 8-bit and 16-bit PIO since 'rep insb', 'rep insw', 'rep outsb' and 'rep outsw' can all be found in the driver.

CarlosTex
June 2nd, 2016, 03:40 AM
How do you use the paralleport ZIP drive on your XT clone? The official DOS driver for IOmega is not working on XT, as far as I know.


AFAIK Iomega drivers need PUSHA, POPA instructions. So it won't work on an 8088/8086. However it will work on a V20/V30.

CarlosTex
June 2nd, 2016, 04:02 AM
Note, this won't work with XT-IDE cards, only XT-CF cards.


Hmmm, so if it works with XT-CF why not XT-IDE? I mean if it works with a Lo-tech Compact Flash adapter i don't see a reason why it wouldn't work with a Lo-tech 8bit IDE adapter. I'm using a Lo-tech 8bit IDE adapter ATM and i'm using a CF card with it. The Lo-tech 8 bit IDE card uses the same ATA register mapping as the Lo-tech XT-CF cards.

Anyway thanks Krille for putting the effort into this! I will test this and get back. It would be really cool if in the future XT-IDE Universal BIOS can detect ATAPI devices.

Krille
June 3rd, 2016, 05:09 AM
Hmmm, so if it works with XT-CF why not XT-IDE? I mean if it works with a Lo-tech Compact Flash adapter i don't see a reason why it wouldn't work with a Lo-tech 8bit IDE adapter. I'm using a Lo-tech 8bit IDE adapter ATM and i'm using a CF card with it. The Lo-tech 8 bit IDE card uses the same ATA register mapping as the Lo-tech XT-CF cards.

There's quite a bit of confusion about this, in part because of the difficulties of coming up with good descriptive names for new boards but also because a lot of people use the XT-IDE name for any and all cards that can provide harddrive-like storage to an XT-class computer.

The definition I'm using is from the point of view of XTIDE Universal BIOS. So with 'XT-IDE' I mean the "original" cards (both revisions 1 and 2) created by Hargle, lynchaj et al on this forum and also the SMT versions from Dangerous Prototypes. The Lo-tech boards are all of the 'XT-CF' class regardless if they actually require CF-media or not.


Anyway thanks Krille for putting the effort into this! I will test this and get back. It would be really cool if in the future XT-IDE Universal BIOS can detect ATAPI devices.

Support for ATAPI devices is on the wishlist but for it to be useful we would need to implement not only ATAPI but also El Torito and/or ARMD. That's a lot of coding. To be honest, it's probably not going to happen.

Chuck(G)
June 3rd, 2016, 07:30 AM
Right now, the best approach is to get an 8-bit SCSI adapter and the SCSI version of your favorite Iomega disk mangler. I've used a Trantor T130B and Zip and Jaz drives on a (v30 equipped) PC XT clone with success. Zip drives in SCSI should still be fairly common, as Apple used quite a few of them on the Performas.

CarlosTex
June 3rd, 2016, 07:52 AM
So with 'XT-IDE' I mean the "original" cards (both revisions 1 and 2) created by Hargle, lynchaj et al on this forum and also the SMT versions from Dangerous Prototypes. The Lo-tech boards are all of the 'XT-CF' class regardless if they actually require CF-media or not.

Awesome thanks! Yes there's generally a lot of confusion with the naming of the various boards available. I have no experience whatsoever outside of the Lo-tech boards, and to be honest i don't think i'll ever need to explore anything outside Lo-tech designs. Personally, i think the CPLD designs are the way of the future. I've been building and selling some Lo-tech designs and some through hole 74 series logic is now at end of life.

Tomorrow i'll have an internal 250 ATAPI Iomega Zip in my hands to test.



Right now, the best approach is to get an 8-bit SCSI adapter and the SCSI version of your favorite Iomega disk mangler. I've used a Trantor T130B and Zip and Jaz drives on a (v30 equipped) PC XT clone with success. Zip drives in SCSI should still be fairly common, as Apple used quite a few of them on the Performas.

I thought about SCSI, but all my other drives are 250MB capable so i would like to keep using 250MB disks. There's no such thing as an internal 250MB SCSI drive.

Chuck(G)
June 3rd, 2016, 09:00 AM
Awesome thanks! Yes there's generally a lot of confusion with the naming of the various boards available. I have no experience whatsoever outside of the Lo-tech boards, and to be honest i don't think i'll ever need to explore anything outside Lo-tech designs. Personally, i think the CPLD designs are the way of the future. I've been building and selling some Lo-tech designs and some through hole 74 series logic is now at end of life.

It's probably accurate to say "5 volt logic is at the end of life". Some 3 volt (including 3.3V and lower) designs claim "5V tolerance", but that's not quite the same as native 5 volt logic. I have no idea how long Atmel intends to keep manufacturing 5V CPLDs, but it's probably accurate to say that the family is sunsetting.

If you can find one of the Winstation gizmos that convert the ZIP 250 ATAPI to SCSI, that might fit the bill for the Iomega 250 internal SCSI deficiency.

CarlosTex
June 3rd, 2016, 10:50 AM
It's probably accurate to say "5 volt logic is at the end of life". Some 3 volt (including 3.3V and lower) designs claim "5V tolerance", but that's not quite the same as native 5 volt logic. I have no idea how long Atmel intends to keep manufacturing 5V CPLDs, but it's probably accurate to say that the family is sunsetting.

CPLD brings the component count to a level that having a voltage regulator to bring 5 volts down from the ISA bus to 3.3V is not going to make much difference as far as price. A small nuisance IMO.



If you can find one of the Winstation gizmos that convert the ZIP 250 ATAPI to SCSI, that might fit the bill for the Iomega 250 internal SCSI deficiency.

Never heard of them. I know of those Acard 2270U SCSI Bridge things, but these cost way too much on eBay. If Krille's driver works then that will be the way to go. Iomega 250 ATAPI's are plentiful and cheap.

Not that this is extraordinary, its just another option to transfer data between an XT and a modern computer, much better than floppies IMO. This is also not something i really need, since i use XT-CF and can do networking, but i'm always looking into ways of pimping my XT clone.

Chuck(G)
June 3rd, 2016, 11:07 AM
https://images-na.ssl-images-amazon.com/images/I/41BMbCoE-nL.jpg

The Winstation thing. The ATAPI driver looks like nothing more than a version of ATASPI. In fact, someone else's ATASPI driver may well be more suited to adaptation than the Iomega thing. You'll still need the ASPI client drivers to make things work.

CarlosTex
June 4th, 2016, 06:20 AM
I tried an ATAPI 250 Iomega today with my Lo-tech 8 bit IDE adapter rev 2. Results:

31513

31514

31515

Bravo Krille! Thank you very much for putting the time and effort into this!

pearce_jj
June 4th, 2016, 08:33 AM
That is awesome! V20 CPU?

CarlosTex
June 4th, 2016, 08:56 AM
That is awesome! V20 CPU?

Yes, like Krille says the driver uses 186 instructions so it won't work on an 8088. This is pretty awesome i agree!

I haven't tried with the Lo-tech Compact Flash adapter rev3 yet, but i'm guessing it works too.

Krille left the disassembled binary in the packed file so if anyone wants to take a look at it to make it work with 8088/8086...

I can also confirm that it is faster than the parallel port version, although even with the 8 bit transfers this was kind of expected.

Theoisle
April 4th, 2017, 04:23 PM
Do you also have the hack that combines the Xt-IDE with the Kiselev multi-floppy fdc 2.2? I have been trying to figure out how to put this combination on the xt-cf card so I can access a 1.44 MB floppy and the native 360 kb floppy on my Compaq portable Plus model 101709.