• Please review our updated Terms and Rules here

TRUE IDE 8-bit XT (XTA) Hard Disk Replacement

Simone2013

Experienced Member
Joined
Aug 21, 2013
Messages
120
Location
Ravenna (Italy)
For those interested in it, i have finally managed to replace an old 8-bit IDE interface with a CompactFlash driven by a “XT-IDE Universal BIOS” inserted in it's original BIOS. The trick is forcing the CF in 8bit mode and using the existing (but sligtly modified) XTA 40 pin connector.

The machine is an Olivetti PC1 HD (a NEC V20 pc). It's very compact and have an internal power sopply plus RBG video out.

The mod can be useful for every configuration that have internal XTA interface (i.e. Tandy 1000 models (1000RL, RLX, TL/2 and TL/3)). Because in not an Industry Standard (like AT-IDE) pinout may differ from mine. XTIDE Universal Bios made the difference overpassing original BIOS routine (you must have a free ROM space). The advantage is no ISA slot wasting (in effect the olivetti PC1 has NO internal ISA slot) and also a REAL QUIET, fast, compact, fanless PC clone.

I have made a guide for the mod at my facebook page:
http://www.facebook.com/OlivettiProdestPC1

if you want to see it in action:
http://youtu.be/KDL7-1kHT8Y?list=UUpKuGqbcjU5y9ZF2Q9bBNYw

Any suggestion/feedback will be appreciated. thank you.
 
I read your thread title and I said to myself 'surely not", but then I noticed that in the body of your message you stated that the XT-IDE universal bios was being used.

What brought up my objection was that the XTA software interface is very different from the IDE. But I see that you've solved that one with a new BIOS.
 
Yes, a new bios and a couple of lines that was lacking. Instead of removing existing XTA bios software, i ADDED the XT-IDE Universal BIOS! The advantage was that it support already 8 bit operations. That is very similar to XTA lines but I/O ports has very different use.
It's very fast for an XT, because I used 80186 instruction set! And the entire thing is surely very quiet!
 
Another place for your modification might be the IBM PS/2 Model 25 and 30, which uses a very similar interface:

http://ps-2.kev009.com/ohlandl/misc/IBM_IDE.html

That proprietary 8-bit IDE interface is also used by the original 286-based IBM PS/1 (Model 2011), as well as the PS/2 Model 30-286.

Why they thought it was a good idea to put a slow 8-bit hard drive interface with a 3:1 interleave into 286 systems that were fully capable of supporting a 16-bit interface with 1:1 interleave, I'll never know...

Edit: And also the Sega TeraDrive, a 286 PC combined with Sega MegaDrive/Genesis game console hardware, developed by IBM:

 
Why they thought it was a good idea to put a slow 8-bit hard drive interface with a 3:1 interleave into 286 systems that were fully capable of supporting a 16-bit interface with 1:1 interleave, I'll never know...
Like with CPU and RAM Silicon, not all manufactured media lives up to expectations. Intel will cripple half a quad and sell it as a duo, or disable half a 486DX because one side is bad and sell it as a 486SX or 487, or how they will manufacture a slew of chips, test them until they break, and rate their speed based on when they break.

Hell, just look at what Woz did with "incomplete" shugart floppy drives.

I'm willing to bet IBM and/or their OEM's had a bunch of parts lying around that couldn't keep up with the higher interleave, data-rate, or some other bit of tech in the product.

So... destroy it, leave it gathering dust, or put it into a low-end system? Which of those at least has a CHANCE of making money? Or at least, if not making money then not losing as much money.

... at least if I were to take a guess, I'd say that's what was going on there.
 
That proprietary 8-bit IDE interface is also used by the original 286-based IBM PS/1 (Model 2011), as well as the PS/2 Model 30-286.

Why they thought it was a good idea to put a slow 8-bit hard drive interface with a 3:1 interleave into 286 systems that were fully capable of supporting a 16-bit interface with 1:1 interleave, I'll never know...

Edit: And also the Sega TeraDrive, a 286 PC combined with Sega MegaDrive/Genesis game console hardware, developed by IBM

I tried some years ago the same approach explained by Simone2013 in the PS/1 2011, but it didn't work. It seems that there are some kind of control port that blocks standard I/O operations in the hard disk interface. The hard disk port is located at 0x320, but sending INs and OUTs from debug don't make the /CS signal active.
 
Like with CPU and RAM Silicon, not all manufactured media lives up to expectations. Intel will cripple half a quad and sell it as a duo, or disable half a 486DX because one side is bad and sell it as a 486SX or 487, or how they will manufacture a slew of chips, test them until they break, and rate their speed based on when they break.
A 467 was complete 486DX with an extra pin which disabled the 486SX IIRC. https://books.google.co.nz/books?id...w&ved=0CFIQ6AEwCQ#v=onepage&q=487 cpu&f=false
 
...The trick is forcing the CF in 8bit mode and using the existing (but sligtly modified) XTA 40 pin connector...

Ok, I have a question. How does one force a CF into 8 bit mode? And is this something a machine expecting a WD1000-style register set such as the TRS-80's could use to good effect?
 
Hi to all!

@ Chuck(G): This is True with IBM P/S model that have an IDE 40 Pin attachment, and also simpler because we have the Address Bit 2 (mine don't!) :) You're right, the XTA protocol is very different from ATA so I had to integrate the XT-IDE BIOS

@archeocomp: I didn't replace original BIOS, but i added “XT-IDE Universal BIOS” in a free rom space (then ok, i forced original bios to scan the ROM for it). In my case I had 32k free bios space (@F000) and the commodore have 32k BIOS so it's possible to add then 16k “XT-IDE Universal BIOS” to that space

@ vwestlife: is less useful if you have an "edge" connector (i.e. ISA like) because you must create an adapter (not simple, i think)

@ nestor: in my research i find a similar problem to yours, nothing appear to react to I/O. CF register show Always the same value and i was thinking like you had. In the End I find that the RESET line was inverted. Cutting it (pin 1) I "activated" the I/O!

@lowen: The CF is forced in 8 bit by the famous “XT-IDE Universal BIOS” that I mentioned. I have also managed it to 8 bit in the past by the right sequence of command to IDE (it's called -set feature-)

Happy modding to ALL! :cool:
 
Last edited:
Hey, can you explain a couple of things about the wires cut/spliced in the IDE cable? Which signal is pin 27 on the PC1? I was looking at info on the IDE-XT interface and what I've found says it's DACK3 on IBM controllers, but you have it routed to CS1 on the Compact Flash side, so I'm trying to understand what's going on there. Additionally, what is the purpose of bending out the pin on the '2P20' chip? Is there a buffered A2 line coming from the CPU under there? And why does the 2P20 pin need to be tied 'LOW'?

Also, did you modify the XT-IDE BIOS, or did you use the stock bios? If you modified it, what changes did you make?

I'm just trying to understand this fully because I think it might be a useful mod on the CompuAdd machine I recently got, but since the circuits aren't exactly the same I need to understand why you're making the changes you made so I can apply it to the circuits I do have.
 
Last edited:
Okay, on my own machine I found where chip select for the IDE drive comes out of a PAL and gets ORed with A2 (or -A2, depending on whether you have the jumper set for the first or second drive). Now I guess I need to figure out during which addresses that PAL output is actually active (and should be active LOW if I traced everything out correctly) to see which addresses I'd need to set the XT-IDE BIOS to check and if I need to add/change any address decode logic other than routing an A2 signal to the connector.

EDIT: Progress on mine. I figured out where most of the PAL's inputs were coming from and popped it into a breadboard for some testing. The output I mentioned gets set LOW at 0x320-0x327 if the controller is set for the primary address (actually responding to both primary and secondary address locations). The output goes LOW from ONLY 0x324-0x327 if the controller is set for the secondary address. In primary mode, I could use this outright for the CS1FX line, but I'd need to add my own circuit to decode CS3FX.

EDIT 2: Eh, I've decided I don't want to mod this motherboard quite that extensively when I still have the option of buying/building an XT-IDE card which would be a plug-in solution. If that PAL had ended up decoding to 0x320-0x32F instead of what it did, I might feel more encouraged to complete the mod since I could take the signal from there and OR it with A3 and -A3 to get CS1FX and CS3FX. As it stands now, it decodes to CS1FX all on its own, but I'd have to add in my own 0x3F8-0x3FF decoding for CS3FX. And all that modding would NOT be easily undone.

EDIT 3: And now I'm considering ordering an XT bus prototype board to put the address decode logic on and sort of make a hybrid XT-CF. That might be more doable for me than either other solution. Just get the signals I need for the chip selects off the XT bus along with A2 and splice them into the IDE cable. That would be completely removable (only permanently attached at the cable), and would probably cost slightly less than putting together one of the standalone boards. I can either duplicate the address decode logic on Lo-Tech's ISA-CF card or possibly re-work it to work with chips I already have. But I guess I need to take a look at how the data lines on my board are buffered first, now that I think about it. If the buffer is shut off during transfers to other addresses, it might not be such a good idea to try to keep using the on-board connector.
 
Last edited:
I stumbled across this Tandy 1000TL/2 on eBay and was intrigued that someone had attached a modern Fujitsu ATA drive to its onboard IDE-XT interface. Did they actually get it to work? There's no way to tell, because the seller doesn't have a compatible monitor to test it with:

http://www.ebay.com/itm/221437381160

14n38rq.jpg
 
I stumbled across this Tandy 1000TL/2 on eBay and was intrigued that someone had attached a modern Fujitsu ATA drive to its onboard IDE-XT interface. Did they actually get it to work? There's no way to tell, because the seller doesn't have a compatible monitor to test it with:

http://www.ebay.com/itm/221437381160



14n38rq.jpg

Hey, that one nice clean machine. If I didn't already have a boat load of Tandy stuff I'd jump on it.
 
We don't know the model number of the hard drive in question, so it may be a low capacity XT-IDE compatible drive.

...except for the fact that Fujitsu didn't make any. :) The only known IDE-XT drives with a standard 40-pin connector were made by Seagate, Western Digital, and Miniscribe.

Here is a 20 GB Fujitsu ATA drive that looks identical to the one in that TL/2:

2uxv5ah.jpg
 
ESDI commands got lost after about the 1GB generation, so XT support on a modern drive is even less likely.
TL/2 only has an 8 bit data bus, so I can't imagine it doing 16 bit AT transfers.

Would love to be wrong, but I'd bet my hat that someone just shoved it in there to see if they could get it work after the original died.
 
Back
Top