• Please review our updated Terms and Rules here

8-Bit IDE Controller

Just curious, how will this controller transfer data? My electronics-fu is very weak. PIO, or DMA, or RAM window? (I vote for DMA from port-to-RAM, that is the fastest obviously)

DMA would rock. i hate RAM window stuff. my old 3com 3c503 actually has jumpers to shared memory address settings, and also a jumper position to disable it. it is noticeably slower when using shared RAM on an 8088.
 
A scan isn't going to do it.

Scanners have almost zero "depth of field" and, although we'd get the chip numbers on one side nice and clear and the same with the solder points on the other side, the chip height may make the traces blurry.

The second problem would be that the light source would show the traces from one side on the other where there was no thick solder mask.

A shadow-mask would be ideal, a schematic would be optimum, an actual card to "ring out" would be good too, but, if worse comes to worse, a super-high res picture of both sides of the board is workable.

When I reverse engineered the buffered interface cable for the TRS-80 Model I expansion interface, I used an ohmmeter to trace each connection from one side of the board to the other.

that makes sense...
I remember talking to some of my old timer co-workers and they used to photocopy boards that they wanted to clone. Figured we'd do the same thing, just a bit more 21st century.

So, we're at a bit of a standstill until one of the owners of these cards is able to get us some info on them. If anyone wants to mail me one of the cards so I can spend some quality time with a multimeter on it, that would be even better. (PM me) I'll pay for shipping each way and have it returned to you within 2 weeks.
 
Just curious, how will this controller transfer data? My electronics-fu is very weak. PIO, or DMA, or RAM window? (I vote for DMA from port-to-RAM, that is the fastest obviously)

At a minimum, PIO. Transferring data from a hard drive using PIO is literally a "rep insw" instruction. I honestly don't know how the hardware handles 16bits of data coming in to an 8bit bus, whether it's a matter of reading 2 ports or 2x reading a single port. (this is why I need a BIOS dump to start digging out how it's done on these cards). I suspect these little hardware hurdles may stop DMA from working properly, and there are probably DMA issues on the PC/XT that I don't even know about; I'm pretty DMA dumb, especially on anything earlier than a pentium.
 
I have an Acculogic sIDE card... but I believe that it is the 8-bit version, rather than 16-bit one, so I've never had success in using it. I'm in the UK, but I'd be happy to send it to you if nobody closer comes up trumps :)
http://th99.dyndns.org/c/A-B/20002.htm

Thanks for the offer!

[a possible question for mbbrutman:]
Wouldn't it be possible to know if it's an 8 or 16bit version by moving the hard drive onto a 16bit controller and examining the 1st sector? If you only see 1/2 the data, then we know it's only an 8bit card and essentially only using 1/2 of the drive?
 
At a minimum, PIO. Transferring data from a hard drive using PIO is literally a "rep insw" instruction.

Right, except that 808x doesn't support REP INSW. That was 80286 and later. So it looks like DMA for you, my friend!

Either that, or memory on the adapter that can be REP MOVSW to host memory, but that would require a ton of CPU involvement. There's a reason DMA was included on the original PC (it's the fastest way to do things).
 
Thanks for the offer!

[a possible question for mbbrutman:]
Wouldn't it be possible to know if it's an 8 or 16bit version by moving the hard drive onto a 16bit controller and examining the 1st sector? If you only see 1/2 the data, then we know it's only an 8bit card and essentially only using 1/2 of the drive?

You're confusing a few things here: 8-bit ISA cards and 8-bit XT-IDE interfaces. Not the same thing. And no, that idea wouldn't work :)
 
Yes, sorry, I didn't explain too well!

The Acculogic sIDE-1 card I have is 8-bit ISA, but it will only work with 8-bit (XT) IDE drives (and a few limited sizes at that).

Its sister card - the Acculogic sIDE-1/16 is similar, but also works with 16-bit (AT) IDE drives!

Unfortunately, the 20MB XT IDE drive it came with is dead... so I'm unable to test :(

Data sheets below.

Acculogic sIDE-1: http://th99.dyndns.org/c/A-B/20002.htm

Acculogic sIDE-1/16: http://th99.dyndns.org/c/A-B/20003.htm
 
Last edited:
Right, except that 808x doesn't support REP INSW. That was 80286 and later. So it looks like DMA for you, my friend!

That's fine. I was merely describing how PIO data transfers are done-if there's no rep insw, we simply do an "in al, dx" and loop it. I too would prefer DMA, but we've got I/O latching trickery to deal with which might break our DMA transfer, depending on how it's done. Either way, I'd no plans on changing what's already done in the option rom that the card is already using. I don't want to change the hardware that much-I just want to duplicate an old card, then just upgrade the BIOS a little bit to support enhanced int 13 support.
 
Drives: 8 bit vs. 16 bit

Any recent IDE drive is going to implement 16 bit transfers. I'm not sure if the 8 bit transfer mode is required. There is a 'set features' command that is used to enable or disable 8 bit mode. If the mode is not supported you probably get a bad return code.


Bus interfaces: 8 bit vs. 16 bit

We're clearly 8 bits here.

Like I said in the previous post, we just have to assume that drives are doing 16 bit transfers. So the IDE card has to do a 16 bit transfer and buffer both incoming bytes when talking to the drive. The first read gets the low byte, and the second read is 'faked' and actually moves the buffered byte so that it can be read by the 8 bit bus.

I'm not a EE, but I'm close. And we're not breaking new ground here - there are a lot of people who have done IDE interfaces for 8 bit machines. We have the potential to do this.


Hargle - you are local to me. This might make more sense over a beer or 3.
 
Drives: 8 bit vs. 16 bit
Hargle - you are local to me. This might make more sense over a beer or 3.
I think everything makes more sense after 3 beers! :)

I never turn down an offer for a drink; I'll PM you next week-this week is crazy.

I don't suppose you've got one of these magical cards in your collection?
 
No, but I've got a bit of experience reverse engineering cards and disassembling things. Living with a PCjr makes it kind of a necessity. This isn't the first time I've looked at the IDE interface with lust in my eyes ...

If anybody has a card that they can loan me, I'd be happy to safeguard it and help with the recreation. I'm also local to Hargle, so that is convenient.

Btw, the scanner trick for cards can work for reading components. I've made some fairly decent scans of cards, some of which are on my PCjr web site. One still needs to use a meter to find the point to point connections. But knowing what the discrete components are is a big part of the problem. After one knows what to use and what functions it serves, the point to point connections become much easier.

At worst case a reasonable digital camera with a macro mode can do good work.


Mike
 
Yes, of course knowing what the components are comes in marginally helpful. :)

A net list (point to point to point) would suffice to do the board layout.

Now, the big question is, do we have to modify the design to get around an existing copyright?

On the buffered interface card I did, I used connectors that had two rows of 20 connectors instead of the original 4 rows of 10 for the in and out cables which change the entire layout while preserving the electronic functionality.

We don't want to get our asses sued off down the road.
 
I don't know if I want to 'clone' the board pin for pin. I think I'm more in the 'reverse engineer' camp.

The copyright issue is real, but it's going to be hard to get somebody interested in suing us unless we are making a serious profit. This is a dead product ... It will be less of a problem if we take the time to understand how the design works and do our own design. It will also be easier to enhance and debug.
 
ok, back from my busy week, and it's time to continue pushing on this subject.


kb2syd,

Can I bribe you to photograph and/or scan your sIDE-16 card, and dump the option ROM and post all the stuff for us? I've got co-workers who are layout/schematic specialists and are soon to be somewhat bored because we've just sent off our latest circuit board and there's nothing coming down the pipe for them to do.

I think they'd be really happy to have something quirky like this to work on.
 
I will buy!!

I will buy!!

I am unable to contribute hardware or firmware but would definitely buy one or even two cards if your thoughts on price are shown to be true. Currently using two RLL drives in a Tandy 1000SX but one has failed for some reason (still spins up and unparks the heads but the controller card no longer recognizes it, not even for a low level format using the controller low level format routine in the firmware at C800. I can get a "new" 40-60MB drive for <$100 but would much rather go to something newer even if a new IDE drive were mostly unused due to firmware/bios/int 13/OS limitations.

Additional thoughts.
I assume current IDE drives are 16-bit interface??? So if card does 16 bit then any current ide drive should work-just set up a partition, or two, or more, of <504MB each. One could use a modern computer to do it then install the drive in the old computer and the computer should be able to see all those partitions-oh the possibilities

Don't forget there are several size barriers, bios, int 13, OS etc. One could install a driver such as Disk Manager but those are always more trouble than benefit.

Besides jumpers to control where option rom goes in upper memory, also need IRQ setting. At least some cards (RLL or MFM) from that era had option for IRQ 5 vs. 2. I assume an IDE card would also. I personally need IRQ 2 which is different than the std XT of IRQ 5.

If the experts out there are able to pull this off, even in kit form, for the pricing being talked about this would be a real benefit to the vintage hobbyists out there.

Greg Lentz-Waiting anxiously for more news.
 
I assume current IDE drives are 16-bit interface???
yes. your typical, modern off the shelf IDE drive is (at a minumum) 16bit.
My plan is to use old 10Gig drives from Xbox 1's, of which I have a half dozen of.

Don't forget there are several size barriers, bios, int 13, OS etc. One could install a driver such as Disk Manager but those are always more trouble than benefit.
The BIOS/int 13 size barriers will be eliminated by the option rom, at least up to 8.4gig anyway, and I think 8.4gig on a PC/XT is plenty of space. :)
Disk manager software is basically an INT 13 add-on/enhancement, so we might as well just do that same thing inside the option rom and make it cleaner for everyone. You're still limited to whatever O/S limits there are, but that's your own fault. ;)

Besides jumpers to control where option rom goes in upper memory, also need IRQ setting. At least some cards (RLL or MFM) from that era had option for IRQ 5 vs. 2. I assume an IDE card would also. I personally need IRQ 2 which is different than the std XT of IRQ 5.

If we end up effectively cloning the sIDE-16 card, we'll have IRQ 2 and 5 at a minimum. Not sure what would be required to allow for additional IRQs to be available, but we'll look into it.

If the experts out there are able to pull this off, even in kit form, for the pricing being talked about this would be a real benefit to the vintage hobbyists out there.

I agree-I think this project is certainly within our collective skill set, and I'd really like to see it created as a VC project and sold at cost to other VC members. (I'd even like to see the VC website silkscreened onto the card itself to make it "ours" for example)

My current plan of attack is to get all the info from the sIDE-16, and see if we can still get the same/equivalent parts available as modern surface mount parts. We then disassemble the BIOS, use 90% of what's there already, add enhancements to INT 13 to allow 8.4G, and make any other minor adjustments such as adding additional IRQs and selectable I/O addresses and get them built. It's still cloning the basic functionality, but with our own enhancements.

I'd also be perfectly happy filling and shipping orders for the finished cards/kits, and depending on the complexity of the finished product, could be convinced to solder them up for people too. We can do this.
 
Wow

Wow

I'm not the only crazy one still alive looking for old computer stuff to fiddle with? This is cool. This forum is one of the best forums google has brought to my attention.

Oh yeah and as for this card being discussed, I'll buy one maybe two. Great idea, I can put some of those junky hard drives <--what the wife calls to them- to good use! And the two Tandy 1000s in storage will be happy again. I actually found some V20 chips for sale too.

Anyway, have a nice day!
 
Back
Top