• Please review our updated Terms and Rules here

8-Bit IDE Controller

Hi! I need a list of the latest discoveries on the prototype for the respin. What I have so far is:

1. mounting holes for the bracket
2. move the indicator LED
3. write enable jumper for the EEPROM

There was an other list of items for the respin earlier in this thread which I've already implemented so these are the new and/or remaining issues.

As for the new prototype PCB, I've noticed it seems a bit more responsive than the wire wrap prototype as well. I can't prove it but the new prototype just seems "crisper" and things are moving more quickly. That's not unusual though, I've often noticed that I can get prototypes to work but when moved to a PCB the design just seems to respond better and more reliably.

It may be partially just a perception but there is probably some truth to it. The PCB has much shorter leads and more direct traces that are probably lower impedance. I suspect the wire wrap prototypes add in a bunch of noise due to RLC effects of all the wires. That Hargle noticed that some drives now perform better than before seems pretty compelling that something has changed for the better. That's good.

So things are moving along in a positive direction. I have only one remaining question though... what happened to the first PCB prototype? What I'd do is print off the schematic and PCB layout from the wiki and use the VOM to do a connection by connection wring out, marking each connection as you go. Also, use a bright light and a magnifying glass to inspect each of the solder joints for misses, cold solders, bridges, etc. Go over the board again and remelt all the joints with your soldering iron to wipe out any cold joints and remove any excess solder. Check each IC for bent or wrapped under pins in the socket.

You can also use the VOM to find hidden bridges by inspecting continuity between pins and comparing to the schematic. Failing all of those, leave the working prototype PCB board alone and get some more ICs and do a chip swap to isolate the broken part. If the ROM still does not appear in the memory map, the problem has to be in or near U9, U10, RR2, or SW2 since it is basically a separate subsystem.

If you've got a logic probe check to see if U9 is generating the chip select pulse when you access the ROM in the memory. That'd be U9 pin 19 or U10 pin 20. You can always send it to me and I'll beat on it for while but you're right that you're going to need to debug these things when the project moves to a production phase as issues found in assembly is normal.

Thanks and have a nice day!

Andrew Lynch
 
Hi! I need a list of the latest discoveries on the prototype for the respin. What I have so far is:

1. mounting holes for the bracket
2. move the indicator LED
3. write enable jumper for the EEPROM

There was an other list of items for the respin earlier in this thread which I've already implemented so these are the new and/or remaining issues.

As for the new prototype PCB, I've noticed it seems a bit more responsive than the wire wrap prototype as well. I can't prove it but the new prototype just seems "crisper" and things are moving more quickly. That's not unusual though, I've often noticed that I can get prototypes to work but when moved to a PCB the design just seems to respond better and more reliably.

It may be partially just a perception but there is probably some truth to it. The PCB has much shorter leads and more direct traces that are probably lower impedance. I suspect the wire wrap prototypes add in a bunch of noise due to RLC effects of all the wires. That Hargle noticed that some drives now perform better than before seems pretty compelling that something has changed for the better. That's good.

So things are moving along in a positive direction. I have only one remaining question though... what happened to the first PCB prototype? What I'd do is print off the schematic and PCB layout from the wiki and use the VOM to do a connection by connection wring out, marking each connection as you go. Also, use a bright light and a magnifying glass to inspect each of the solder joints for misses, cold solders, bridges, etc. Go over the board again and remelt all the joints with your soldering iron to wipe out any cold joints and remove any excess solder. Check each IC for bent or wrapped under pins in the socket.

You can also use the VOM to find hidden bridges by inspecting continuity between pins and comparing to the schematic. Failing all of those, leave the working prototype PCB board alone and get some more ICs and do a chip swap to isolate the broken part. If the ROM still does not appear in the memory map, the problem has to be in or near U9, U10, RR2, or SW2 since it is basically a separate subsystem.

If you've got a logic probe check to see if U9 is generating the chip select pulse when you access the ROM in the memory. That'd be U9 pin 19 or U10 pin 20. You can always send it to me and I'll beat on it for while but you're right that you're going to need to debug these things when the project moves to a production phase as issues found in assembly is normal.

Thanks and have a nice day!

Andrew Lynch

Awesome stuff you got there. The card itself looks awsome too!

I might try to write a Diagnostic tool that just does a set of standard Int 13h calls and reports/checks what's returned.

I feel like i'm kindof done with the flasher since I don't want to tweak it for optimal write speeds for every single EEPROM in the world. Both the EEPROMS you have been reffering to so far should work with fast-write mode.

Below is the current beta. See the Wiki about how to use it, or just use "/?". It should be WAY easier than taking the EEPROM into an EEPROM burner and then taking it back to the IDE-card.
 

Attachments

  • FLASHBeta.zip
    2.4 KB · Views: 1
Hi! I need a list of the latest discoveries on the prototype for the respin. What I have so far is:

1. mounting holes for the bracket
2. move the indicator LED
3. write enable jumper for the EEPROM

An external LED jumper/connection would be nice. I could see people wanting to string an LED over to a faceplate in a drive bay.

As for holes for the bracket, mouser doesn't have enough brackets to do a run of 100 parts. (although they may be able to if I order them now and they can backorder them by the time the next batch arrives)
I'm thinking that you might want to put a small series of holes along the side of the PCB so that other brackets with different mounting holes could be scrounged up and used, just in case. I checked the mouser bracket against the few that I had from other plug-in cards and the mounting holes were in different locations on each. If you have any other brackets, go ahead and make holes so those would fit too.

Can we save some $$ if we remove some of the gold teeth? I count at least a dozen on the B side of the card that aren't connected to anything. I think if we wanted to try for a DMA solution someday, we could use these first protocards and dead bug the hardware on to prove it out.

For silkscreen changes, it would be great to have some documentation along the bottom edge of the ISA slot, where it currently says "BUS1".
Something for the jumper settings at a minimum (not the dipswitches, I think that'll be too hard), and maybe even "XT-IDE www.vintage-computer.com" along the bottom would look good.

I'd also like to see a marking for pin 1 on the IDE connector. I should probably look into getting keyed connectors too, instead of just flat headers.


Should we document these changes in the wiki? I'd hate to lose a good idea here because it's buried in the thread.
 
[snip]
Below is the current beta. See the Wiki about how to use it, or just use "/?". It should be WAY easier than taking the EEPROM into an EEPROM burner and then taking it back to the IDE-card.

Hi Per! Thanks! Excellent work! I agree, swapping chips in and out of a PCB is a bad idea if its more than a couple of times. In circuit reprogramming is very good.

Thanks and have a nice day!

Andrew Lynch
 
An external LED jumper/connection would be nice. I could see people wanting to string an LED over to a faceplate in a drive bay.

Hi! Thanks! Yes, I think this is in there already.

As for holes for the bracket, mouser doesn't have enough brackets to do a run of 100 parts. (although they may be able to if I order them now and they can backorder them by the time the next batch arrives)
I'm thinking that you might want to put a small series of holes along the side of the PCB so that other brackets with different mounting holes could be scrounged up and used, just in case. I checked the mouser bracket against the few that I had from other plug-in cards and the mounting holes were in different locations on each. If you have any other brackets, go ahead and make holes so those would fit too.

I can put in multiple holes but they need to be for a specific bracket so I can get the exact locations. The prototype board has a set of holes on it. Tonight I will see if the bracket fits on it and if so, I'll replicate the prototype boards bracket mounting holes.

Can we save some $$ if we remove some of the gold teeth? I count at least a dozen on the B side of the card that aren't connected to anything. I think if we wanted to try for a DMA solution someday, we could use these first protocards and dead bug the hardware on to prove it out.

Possibly eliminating gold teeth may save a little bit but not very much. Removing teeth has to be done carefully as you never know when they'll be needed for some unforeseen modification. I suspect on the production PCB there will be fewer unallocated teeth since I added the flexibility for different interrupts. Let me look into this. If its just a small number of teeth its probably not worth it.

For silkscreen changes, it would be great to have some documentation along the bottom edge of the ISA slot, where it currently says "BUS1".
Something for the jumper settings at a minimum (not the dipswitches, I think that'll be too hard), and maybe even "XT-IDE www.vintage-computer.com" along the bottom would look good.

I'd also like to see a marking for pin 1 on the IDE connector. I should probably look into getting keyed connectors too, instead of just flat headers.

Agree. The silkscreen needs some TLC to make it more obvious.

Thanks and have a nice day!

Andrew Lynch

Should we document these changes in the wiki? I'd hate to lose a good idea here because it's buried in the thread.
 
Hi Hargle! OK, I added the write enable jumper to the design.

Worked a bit on the bracket and discovered that bracket is not going to work. I installed my board in the test station and also the bracket. I used a pin to scratch through where the screws would go. Try installing it yourself and see if you can duplicate my results.

It turns out the bracket's holes need to be deeper and higher on the board. This bracket places its lowest hole almost directly in the lower right hand corner of the board. The holes would be centered 5/32" left of right hand edge and the lower hole would only be centered 1/8" above the bottom edge and the higher hole 2 3/8" . The bracket appears to need a 1/8" diameter hole so you can see that leaves almost no margin (~1/16") of PCB material for strength. The bracket would surely break off in normal use.

I'll search around at Mouser to see if they have a different part we can use. However, the more I think about it, I like the idea that Richard brought up about using one of those single hole plastic brackets.

Thanks and have a nice day!

Andrew Lynch
 
yep. I see exactly what you mean:
bracket.jpg

I assume an extra route of PCB to dangle down lower than the connector would cost extra bucks due to the additional cutting the PCB folks would need to do?
What a bummer.


Let's go find those plastic bits. that's our only hope.

The acculogic card has one. It's got a part number that says "63-000332-B" patent number 4745524

http://www.google.com/patents?vid=USPAT4745524

I don't have time to search much, but maybe that'll give us some leads. If we can find them, they're probably cheaper than the $1.89 per metal bracket from mouser!

Edit1: Per, your latest flash utility works great.
Andrew: here's the latest version of the bios: http://www.waste.org/~winkles/xt-ide_003.zip

Edit2: Just finished going through the LS vs. F parts, and none of them seem to matter to the functionality of the card. I swapped out the 245, 32, 04, and 573s and with all F parts at the moment, the card is still working great.

Price wise, the 245F is cheaper than the 74ls245 by about 20 cents each when ordering 100 pieces.
The F32 is more expensive than the LS by 3 cents.
The F04 is the same price
The 573s are significantly cheaper in the F series. The F's are .12 each at 100, where the 74ls573 are a whopping 1.95 each at 100!!

So, my suggested parts list is:

1 * 74LS138 - No substitutions available (0.29 each)
1 * 74LS04 or 74F04 (0.25 each)
1 * 74LS32 (0.22 each)
3 * 74F573 (0.12 each)
2 * 74LS688 - No substitutions available (0.85 each)
1 * 75F245 (0.25 each)
1 * 28C64 eeprom - no substitions (3.25 each)
2 * dipswitch (0.59 each)
2 * sip resistor packs (0.49 each)
1 * 40 pin connector (0.55 each)

So the main components total cost is ~$9 when we buy 100.
Add in the other bits and pieces: LEDs, resistors, caps, sockets, etc for another buck or so, and I think we'll just scoot under $10 for components. If those bracket bits don't break the bank, we're still looking really good for a sub $50 card!

It's too bad those damn eeproms are so expensive. the SOIC's are 1/3 the price.
 
Last edited:
yep. I see exactly what you mean:
bracket.jpg

I assume an extra route of PCB to dangle down lower than the connector would cost extra bucks due to the additional cutting the PCB folks would need to do?
What a bummer.

Hi! Yes, I can adjust the outline of the PCB by adding 25 mils to the righthand side and making a little bump out for the lower hole. However, you are right that any adjustments to the PCB outline will increase area and drive costs up. Maybe not by much but some. Also any bump out on the PCB outline protruding down runs the risk of interference with motherboard parts. I don't see it as much of risk but some.

Let's go find those plastic bits. that's our only hope.

The acculogic card has one. It's got a part number that says "63-000332-B" patent number 4745524

http://www.google.com/patents?vid=USPAT4745524

After reviewing this patent there is no doubt in my mind that this is the way to go assuming we can find these plastic or metal clips. They would be ideal for this application. Leave the blank ISA filler bracket in place and drop the board in on top. That is very slick and a great idea. Depending on what we find it may not require any holes at all or maybe just one. I will dig through my ISA boards and see if I can find any part numbers. A quick search didn't reveal any though.

I don't have time to search much, but maybe that'll give us some leads. If we can find them, they're probably cheaper than the $1.89 per metal bracket from mouser!

Edit1: Per, your latest flash utility works great.
Andrew: here's the latest version of the bios: http://www.waste.org/~winkles/xt-ide_003.zip

Edit2: Just finished going through the LS vs. F parts, and none of them seem to matter to the functionality of the card. I swapped out the 245, 32, 04, and 573s and with all F parts at the moment, the card is still working great.

Price wise, the 245F is cheaper than the 74ls245 by about 20 cents each when ordering 100 pieces.
The F32 is more expensive than the LS by 3 cents.
The F04 is the same price
The 573s are significantly cheaper in the F series. The F's are .12 each at 100, where the 74ls573 are a whopping 1.95 each at 100!!

So, my suggested parts list is:

1 * 74LS138 - No substitutions available (0.29 each)
1 * 74LS04 or 74F04 (0.25 each)
1 * 74LS32 (0.22 each)
3 * 74F573 (0.12 each)
2 * 74LS688 - No substitutions available (0.85 each)
1 * 75F245 (0.25 each)
1 * 28C64 eeprom - no substitions (3.25 each)
2 * dipswitch (0.59 each)
2 * sip resistor packs (0.49 each)
1 * 40 pin connector (0.55 each)

Where are you ordering these parts again? Jameco? You can probably substitute 74LS688 with 74HCT688 and those may be cheaper. Also use 27C64 EPROMs and that would be cheaper but not field reprogrammable. Lack of reprogrammability is probably a deal breaker though.

So the main components total cost is ~$9 when we buy 100.
Add in the other bits and pieces: LEDs, resistors, caps, sockets, etc for another buck or so, and I think we'll just scoot under $10 for components. If those bracket bits don't break the bank, we're still looking really good for a sub $50 card!

It's too bad those damn eeproms are so expensive. the SOIC's are 1/3 the price.


SOICs are cheaper but require surface mount techniques to install. That drives assembly labor up and also most hobbyists are not going to touch it. What about PLCC?

Thanks and have a nice day!

Andrew Lynch
 
Why not leave the card without mounting holes - then the user provide their own bracket and can drill holes in suitable places.

I've got loads of old/broken cards I can rob the brackets from. Just a thought :)
 
Why not leave the card without mounting holes - then the user provide their own bracket and can drill holes in suitable places.

I've got loads of old/broken cards I can rob the brackets from. Just a thought :)

Yep, I agree with this too. Just push all the traces over 1/2" or so and just leave that edge of the card blank. Users can provide their own bracket and drill their own holes if needed. Especially if we can't find the little tab thingies.
 
You can probably substitute 74LS688 with 74HCT688 and those may be cheaper. Also use 27C64 EPROMs and that would be cheaper but not field reprogrammable. Lack of reprogrammability is probably a deal breaker though.

The 74HCT688's are $0.28 compared to 0.85, so that just saved us over a buck. Nice! I'll order some HCT688's in my next batch and see if those impact performance any.

yeah, gotta have field programmabilty on the eeprom. it's just too cool to do without, and with open source, people are certainly going to want to experiment.
 
I lack skills to contribute to this topic but I'm following it with amazement - its like a McGyver episode to me..unbelievable.

Can't believe its already going so far that the main problem to discuss is the bracket :D

I'd be happy to apply my regularly applied fixing solution if it can't be solved:
t_straaltapezilver.jpg


You guys are amazing!
 
Yep, I agree with this too. Just push all the traces over 1/2" or so and just leave that edge of the card blank. Users can provide their own bracket and drill their own holes if needed. Especially if we can't find the little tab thingies.

Hi! I think this is the best idea yet by far. Reuse scrap brackets and let the builders use their own (or not). Making a 1/2" trace exclusion zone on the PCB will give the autorouter fits but I can live with that. This is a very appealing solution to me.

To be fair, KiCAD is an EDA tool and not really a CAD program. It does PCB layout well but has fairly crude facilities for the mechanical aspects. It is somewhat ironic that the humble bracket has turned out to be the most complex part of the hardware design yet. :-/

Thanks and have a nice day!

Andrew Lynch
 
The 74HCT688's are $0.28 compared to 0.85, so that just saved us over a buck. Nice! I'll order some HCT688's in my next batch and see if those impact performance any.

yeah, gotta have field programmabilty on the eeprom. it's just too cool to do without, and with open source, people are certainly going to want to experiment.

Hi Hargle! Thanks! Substituting 74HCTxxx for 74LSxxx is probably OK to do in general and could be applied to other parts too. Those parts which require sufficient drive capability such as the 74F573s which interface to the IDE device directly probably should remain 74Fxxx parts. The rest could be mixed 74LS, 74F, or 74HCT depending on what's available and the best deal.

I encourage everyone do start their own parts list for the XT-IDE and see who can get the best deal for the parts. Do multiple lists at multiple vendors. If several people can identify some savings it could dramatically reduce the overall cost.

Thanks and have a nice day!

Andrew Lynch
 
Hi! Another thought on brackets... I could just place a couple of holes on the PCB and we could use a couple of these so builders could make their own bracket fairly easily. Just drill a couple holes into a blank bracket and fasten to the card with two 4/40 machine screws.

Blank brackets are really inexpensive and the right angle mounting brackets are pretty cheap too.

Thanks and have a nice day!

Andrew Lynch
 
anyway, would the XTIDE project support CD-ROM drives or no?
yes. eventually anyway.

it'll require a driver to be written though, and that's a lot of work. I haven't found any open source CD-ROM drivers to start with, so the whole thing would need to be written from scratch. I suspect it could easily take a few months of work.

I don't see any hardware limitations that would keep CDs from working, but I haven't explored it too much yet. At the moment, all that the BIOS does is ID them during POST.
 
[snip]

I don't see any hardware limitations that would keep CDs from working, but I haven't explored it too much yet. At the moment, all that the BIOS does is ID them during POST.

Hi! There is an N8VEM builder who is working on ATAPI drivers for the Disk IO board. Apparently he has some of the ATAPI drivers for a Zip drive working to some degree. Check on the N8VEM mailing list for Dan Werner's recent posts. You may want to contact him in case there is some possibility for shared code between N8VEM and this project.

Thanks and have a nice day!

Andrew Lynch
 
Would be cool if we could make a hardcard out of one (basically mount a HD on the end with some metal brackets). yea, I know thats not going to happen.
 
Would be cool if we could make a hardcard out of one (basically mount a HD on the end with some metal brackets). yea, I know thats not going to happen.
There's nothing stopping you from mounting an IDE->CF adapter on it though.
Totally lightweight and could be ziptied on to the card with little or no effort.
 
Back
Top