• Please review our updated Terms and Rules here

8-Bit IDE Controller

nice PCB

nice PCB

Checking back in on the progress, and that board looks awesome!



Originally Posted by hargle
>here's some interesting news:
>
>I received Bob Watts' Acculogic card in the mail the other day, and
>tonight I took the ROM off and put our EEPROM on it, and well, it
>just worked!
>All I had to do was change the base address of where our BIOS is
>looking for the code. (it will auto-detect eventually)

So conversely if you set the XT IDE board at 0x360, does the Acculogic ROM work in our board?
 
I've got 10 PCBs, and I ordered enough ICs to build up 3 cards. I have enough other parts (sockets, brackets, caps, resistors, etc) to build all 10 cards.

The bracket won't fit on this revision of the PCB. We kinda knew that going in that there would be at least 1 spin of the board, so that's ok.

Some of the ICs are in flux right now, between standard and fast parts which is why I only bought enough of a mix to build 3 cards. (plus we have parts from the 2 wire wrap cards we could scrounge up)
I just didn't want to buy 10 sets of ICs until I really know the hardware is more stable than what I've seen on the wire wrap card. the PCBs should eliminate a lot of variables on the hardware side.

Once we get a good mix of ICs and everything seems like it's pretty solid, I'll order enough parts to complete the rest of the boards and those will then get sent out to testers.

Then we'll do the big one and bang out 100 cards.

Gotta say this is pretty darn cool to see an idea turn into a green PCB.
 
PCBs are in!

They look great, even fit into an ISA slot! :)

I think these things will be really easy to build up, with probably the most intensive soldering part being the 40 pin connector.

Fantastic job andrew!

Looks super!!! :):):):)
 
So conversely if you set the XT IDE board at 0x360, does the Acculogic ROM work in our board?

I haven't tried it, but I'm not sure it will work. the acculogic has another IO port used at base+0eh which it is using for an alternate status register (I believe) and a way to drive reset to the HDD. Since we don't have that address decoding on our card, I suspect it'll simply hang waiting for the status to change.

Of course, since I have a working disassembly of that very option rom, I could always remove those bits and see what comes up next! (I'll do this when I get my PCB built up)
 
Mighty fine work, Jeff and Andrew.

Couldn't have done it better myself.

I'm going to search around for those plastic clips that some boards used to have that went on the top back of the PCB and screwed down to the backplane.

I have a card with one of those on it and, if I can find it, it may have a traceable number on it.
 
I just thought of something crazy...

How much video (8088 Corruption format) can you possibly get into 2Gb?

After a quick calculation, I figured you can catually fit just above 7 hours of 30 fps video with 22KHz sampled sound!

Equation:
Code:
(2gb * 1024mb/gb * 1024kb/mb * 1024b/kb) [B]/[/B] ((2kb/frame * 1024b/kb + (22kb/sec * 1024b/kb)/(30 frame/sec)) * 30 frame/sec * 60 sec/min * 60 min/hour)
whitch simplifies to:
Code:
  256^2
----------  Hours  =  7.1 Hours
41 * 15^2

How long time would it take to convert a full-motion 2-hour film into 8088 Corruption format? :D
 
heh! that would be hilarious to have like "the matrix" on your 8088.

at the moment, I don't think the card is fast enough to sustain the transfer rate required. I'm not even using IRQs yet. There's a lot of optimizations to be done, but I think without DMA, there's little chance it can keep up with the demand. I dunno.
 
heh! that would be hilarious to have like "the matrix" on your 8088.

at the moment, I don't think the card is fast enough to sustain the transfer rate required. I'm not even using IRQs yet. There's a lot of optimizations to be done, but I think without DMA, there's little chance it can keep up with the demand. I dunno.

As long as it can handle at least 82Kb/s, it should be all right... What is the actual transfer capabilities of the card?
 
As long as it can handle at least 82Kb/s, it should be all right... What is the actual transfer capabilities of the card?

Hi! Given the current developmental state of the XT-IDE board, I think Hargle is right in saying he doesn't know. Any answer now is rather meaningless since the BIOS and hardware are in flux. I wouldn't worry about performance until the basic functionality is fully wrung out and there is a stable hardware baseline to work with. These initial round of testing boards are not the final configuration but should give us a good idea.

Probably a realistic projection of what sort of performance is possible after a lot of development would be to extrapolate based on the Acculogic IDE card. Both XT-IDE and the Acculogic use similar design concepts so it is probably reasonable to expect similar performance.

I can tell you the prototype board I have is not very fast but I can't say what the actual transfer rate as I haven't tested it. However, I did get my XT-IDE test station built last night. A big Thanks! to DreadStorm for selling me some XT parts to make it happen.

Thanks and have a nice day!

Andrew Lynch
 
Hi! Given the current developmental state of the XT-IDE board, I think Hargle is right in saying he doesn't know. Any answer now is rather meaningless since the BIOS and hardware are in flux. I wouldn't worry about performance until the basic functionality is fully wrung out and there is a stable hardware baseline to work with. These initial round of testing boards are not the final configuration but should give us a good idea.

Probably a realistic projection of what sort of performance is possible after a lot of development would be to extrapolate based on the Acculogic IDE card. Both XT-IDE and the Acculogic use similar design concepts so it is probably reasonable to expect similar performance.

I can tell you the prototype board I have is not very fast but I can't say what the actual transfer rate as I haven't tested it. However, I did get my XT-IDE test station built last night. A big Thanks! to DreadStorm for selling me some XT parts to make it happen.

Thanks and have a nice day!

Andrew Lynch

the framerate can be reduced, and you will still be able to get decent ressults with a video of 12fps. That's only 46Kb/s.
 
As long as it can handle at least 82Kb/s, it should be all right... What is the actual transfer capabilities of the card?
yeah, I don't know yet.

1) The one program I tried to do xfer rates, coretest, fails to run with my BIOS.
I don't understand why, as all the INT13 routines are returning results back as they should. I suspect coretest may be doing stuff like looking at all the various status bytes stuck in the bios data area, and there may be something wrong there. I'm really only working with 40:75 (drive count) and 40:74 (last operation status).

I do want to get this to work someday.

If there are other benchmarking programs that work on XTs, I'd gladly run them to find out what our current xfer speeds are. Suggestions?

2) there are zero optimizations in the BIOS at this time. My goal was stability and reliability, then we'll switch to getting the performance up. There's lots of fun stuff we can do there to get performance up, and I'd love to start benchmarking to see how things do improve as we move along. I have a list of optimizations that I've thought of so far, and I'd like to implement each one individually and see how the performance changes.

I'm extremely curious to know what kind of improvement we're going to get between now and the end.
 
minor success...

I built up 2 protocards and tried one of them out. No sparks or smoke, that's a good start.

Can't get the eeprom to decode. I used the one off my wire wrap card and nothing is showing up at d000 segment like it used to.

The IO space is looking as it should, I think. without a ROM, I really don't have a lot of tools to test it out properly, but I did issue an Identify Device out to a drive and saw data that looked reasonable. This test process is exposing some pretty big holes in the test process that I should write some software for.

Not too bad overall though.

The first card took me about 1:45 to assemble. My second card took about 1:00, so it's not too difficult for a novice solderer like myself to put these things together. Took another 20+ minutes to get all the chips inserted.
 

Attachments

  • xtideprotos.jpg
    xtideprotos.jpg
    91.6 KB · Views: 1
Have you looked elsewhere?
yeah, I thought of that too.
I started to poke around, but ran out of time and wanted to post my progress before heading off to bed. testing in debug on an XT was painful, but I saw that the D000 segment was full of E7's and it appeared to bleed into other segments as well. This card is the only option ROM I have in the machine, but it really looked like I was trashing the bus.

I then moved over to the 486 so I could test IO functionality easier, verified that worked, then also saw the same E7's on the 486. It's not writable memory either.

Tonight should be a lot more debugging time. I'll populate the other card and see if it's the same story, and only start to panic at that point.

stay tuned...
 
yeah, I thought of that too.
I started to poke around, but ran out of time and wanted to post my progress before heading off to bed. testing in debug on an XT was painful, but I saw that the D000 segment was full of E7's and it appeared to bleed into other segments as well. This card is the only option ROM I have in the machine, but it really looked like I was trashing the bus.

I then moved over to the 486 so I could test IO functionality easier, verified that worked, then also saw the same E7's on the 486. It's not writable memory either.

Tonight should be a lot more debugging time. I'll populate the other card and see if it's the same story, and only start to panic at that point.

stay tuned...

Sounds like either a short or some miss-placed trace(s). Where is the schematics?
 

I found the complete old schematics of the card there, but the new schematics doesn't got the EEPROM logic included. Try to check the Ohm value between the /WE of the ROM Socket and the /MEMW of the ISA conector. Also try to manually drive some of the lines with a 5v source and Ground, and see if the signals get through (make sure to supply VCC and GND to the main power lines too).

I don't know how much you know about hardware, but the way I would have done testing is to manually set up a condition and seen if the rigth signals got through.
 
Hi Hargle! Thanks! The XT-IDE you sent arrived today and all is well. I put it together and it worked the first try. If anything works better than the prototype board does so that's good news.

If your ROM is not showing up did you install J1? J1 is the ROM ENABLE option jumper. If you don't have a 2 pin jumper and a jumper block just make an old school wire jumper.

I'll update the schematics and PCB layout on the wiki. Be sure to look inside the ZIP file for the latest on this version of the XT-IDE board. There will be an update once this test shakes out all the bugs and I position the bracket.

Thanks and have a nice day!

Andrew Lynch

PS, I uploaded some pictures to the wiki for your viewing pleasure. There is one picture of the completed prototype and four pictures of various stages of the boot process. The new board boots straight into Win98 command prompt no problems.

PPS, actually this is goodness. I can see one thing already that needs to be fixed in the production PCB; the position of the indicator LED is just not right. It seemed just fine when I was designing it but in reality it is just plain bad as its buried under the IDE cable. Oh well, I am glad its a prototype.

PPPS, if your board is not working then lets exchange boards. You are the BIOS writer and need the board more than I do. Now the prototype is out I am basically just another tester. I'll send you mine and you send me yours and I'll fix it. By the way, my EPROM burner does not support the SEEQ 28C64 chip so maybe that's the problem. The design was done with the ATMEL 28C64X datasheet in hand so maybe there is an incompatibility with the SEEQ part.

PPPPS, never mind. I just used my other EPROM programmer and it programmed the SEEQ 28C64 no problem. I stuffed into my wire wrap prototype and it works just like the ATMEL 28C64X. Everything boots and it works fine. I am packaging my board and sending it to your address.
 
Last edited:
my second card worked!

I appreciate the offer andrew, but keep your card. I need to learn how to debug these things if I'm going to build any more of them, and now I have one that works. I'm using the original atmel rom on it, but at least I'm up and running!!

It appears to me that I don't have any issues with timings either. The wire-wrap card seems like it lost some data on ctrl-alt-del vs. a power up condition, but this proto card seems to be working perfectly. That's with a sample size of 1 hard drive though, but it was traditionally one that caused me problems.

So, I'm going to burn through a bunch of different drives now and play some IC swapping to come up with a decent parts list. That'll be this weeks work.

yay!

edit: just flashed the seeq eeprom with software. (sorry per, I haven't tried your latest effort yet, but I will)
Edit2: I've now tried 3 of my most troublesome drives: 2 seagates and a maxtor, and all three of them were rock solid through warm and cold starts. I think we have a winner.

Wow, I have so much more testing and exploring that I want to do now, too bad it's time to quit for the night. argh!
 
Last edited:
PPS, actually this is goodness. I can see one thing already that needs to be fixed in the production PCB; the position of the indicator LED is just not right. It seemed just fine when I was designing it but in reality it is just plain bad as its buried under the IDE cable. Oh well, I am glad its a prototype.

Great work!

Another thing I would like to be added is a "Dissable Writes" jumper that simply applies +5v on the /WE line of the EEPROM when jumpered. There is several 8Kb * 8 EEPROMS that doesn't support data-protection (in fact, the only one I know of is the Atmel AT28C64B, not the AT28C64X).

I'll get my XT on friday.
 
Back
Top