A new IDE card is born! Read this thread and have fun!

vibros

New member
Joined
Sep 28, 2009
Posts
2,067
Country
Italy
Region
Emilia-Romagna
Hello,

i have developed, entirely from zero (as hardware and software), an IDE card for the ZorroII bus of the Amiga computer. To make the story short, i had an idea to build a PIO1 capable card, because boring (and you can't imagine how much) to see the same performance on about 90% of all the existent IDE cards for Amiga (i mean ZorroII cards, that, by the way, are old in hardware and software). So i have thought something like a PIO0/PIO1 card with two different timing, automatically switchable (possible with a combination of resources hardware and software). Technically, this card is a PIC (Plug In Card) that work on the zorro bus as Slave, so i think, it is the simplest card possible; it uses the INTerrupt2 line; it has a status register plus the specific IDE registers and Autoconfig registers, and respect all the rules (it is not an hack!): autoconfig, system software of the host computer and IDE specs. (x3T9.2 and succ.) and it try to complain the SCSI specs. (T10 and blah blah blah)...and no software to configure the card is needed! All happens automatically!
Here you can see the pictures of the three prototype that i have build...enjoy with this pictures!

DCP_7826.jpg

The first prototype come to the light early 2016: it was a test for the Autoconfig protocol and to debug some code to generate the chip select signals and the read/write master latch signals. It has worked at the first shot, but later i have discovered that the new address assigned to the card by the system, was not properly saved into the card itself...so a new equation on the logic was added and the card has worked properly! (the odd form of the card come from the fact that this was the only 'two side' copper clad that i had at home, luckly, great enough to cover the width of the Zorro slot).

DCP_7821.jpg DCP_7822.jpg DCP_7824.jpg

Two months later come to the light the second prototype, born to run with two IDE devices (master and slave), but...i am a novice and with this prototype i have missed a very important thing: to make usable the address space that every card need and the system gently made available for every card! So, some wires was added and, at the end of the develop task, it look so messy

DCP_8587.JPG

The card is fully working (thanks to the great work made to do the device driver, debugged many times and capable of TD64 and NSD, a full support of ATAPI devices, reached with a complex code, capable to dispatch many SCSI command, if not all, in a very transparent way and, just because we speak about Amiga, some emulation to convert SCSI commands for ATA devices into exec commands and viceversa, exec commands into SCSI commands for ATAPI devices) supports two devices (master and slave), and has a solid device driver based on the code of 'sample device' from Commodore, found on the developer CD of Amiga Technology (code expanded and with a much more complex arbitration, because of the two devices that can access the code at the same time and other issues).

The third prototype is the result of all the improvements made on the second card, plus a slight different chose of the components, to make easy planning a final project printable with machinery.
Here the pictures

DCP_8581.JPG DCP_8583.JPG

Now look at the following pictures: there is a little tool developed with the card, that show some info of the devices attached to the card (i.e. a modern harddisk and an old one). Watch carefully the pictures and tell me your opinion. Consider that: about ProfessionalFileSystem, the two versions, PFS and PDS, work with this card, because of the emulation (PDS is the direct scsi version of PFS, if i am right), but PDS is about 10-15% slower...because the emulation! The same partition with PFS is faster.

screen2.jpg screen3.jpg

The computer is a plain Amiga 3000@25.

(to be continued)
 
Last edited:
Wow that is impressive ! Well done on a great achievement!

What are you planning on doing with your design? I would love a Zorro II IDE solution for my A2000 to allow cheap use of CF cards etc
 
Hello,

so my planning is to test it on another machine, like an A4000 and then try to make an action like 'to print ten parts and try to sell it'; but the first thing is to be sure that all is fine with this card: other test are needed at the moment, but ...believe in me...it is nice to use it!
I have thought as first step, to put a limited version of the device driver on Aminet, with some info like how to organize the address space; the target is to help an enthusiast, capable to build hardware, to have ready a software driver (for someone can be easy to build cards, but a problem to code software).

About this thread, the nice point was that: the first pictures with sysinfo show two very different harddisk, one old and the other more modern, attached as Master and Slave; they give a very different result in speed, because the automatic selection of the PIO mode made by the card!

Cheers
Stefano
 
:) Impressive work.

Would be nice to have a card like this in my A2000A machine.

Cheers
Tommy
 
The pictures under the ---updated---- are not shown.

Hello, 2nd part...

...and sysinfo

screen5.jpg screen4.jpg

Another tool developed for this card is capable to mount all the partitions found into the running devices (presumabily Hardisk, but a freak guy can print a CD with a disk image and try to mount it... 8-o ) :the presence of a structure like RDB is mandatory, otherwise the program does nothing!
Here with two Compact Flash card

screen6.jpg screen7.jpg screen8.jpg
screen9.jpg screen10.jpg

Now an ATAPI device...

screen11.jpg screen12.jpg screen13.jpg

Cheers
Stefano

- - - Updated - - -

:) Impressive work.

Would be nice to have a card like this in my A2000A machine.

Cheers
Tommy

Hello,

the device driver for this card need at least a 68020 processor, so the Amiga 2000 need a cpu card; and this IDE card has no autoboot, so the Amiga need to be equipped with a SCSI card.

Regards
Stefano

- - - Updated - - -

:) Impressive work.

Would be nice to have a card like this in my A2000A machine.

Cheers
Tommy

Hello,

the device driver for this card need at least a 68020 processor, so the Amiga 2000 need a cpu card; and this IDE card has no autoboot, so the Amiga need to be equipped with a SCSI card.

Regards
Stefano
 
Last edited:
Hello,

i am waiting to test a sata drive and another ATAPI machine like a ZIP drive or something like a tape streamer; i will post results here.

Cheers
Stefano

Some pictures of the card in action...

DCP_8591.jpg DCP_8596.jpg DCP_8598.jpg
 
please excuse my noob questions:
this card is autobooting, right? what kind of boot rom is it using to boot? (where can i read more about it?)
Is ide buffered? I see that IDE ribbon is pretty long, so it needs to be buffered...
what advantages give this card in compare with AT BUS 2008 (clone)?

thank You vibros! Great work!
 
please excuse my noob questions:
this card is autobooting, right? what kind of boot rom is it using to boot? (where can i read more about it?)
Is ide buffered? I see that IDE ribbon is pretty long, so it needs to be buffered...
what advantages give this card in compare with AT BUS 2008 (clone)?

thank You vibros! Great work!

Hello,

this card has not autoboot because i am not experienced in ROM and in programming ROM (and to wrote the code to put into a ROM take time).
This card try to be a good solution to drive IDE devices and it has all the needed to do a good job. In my third prototype the buffers are on the underside!
About the benefit of this card respect other solutions, i cant say nothing, because this card was born to cover my own request (to have a PIO1 card and a modern device driver): i do not know others cards, i have never owned ZorroII IDE cards, just a '4IDE' adapter for the A1200...But i understand your questions!

About the test of this card, today i have attached a SATA drive with a cheap adapter found on Ebay.

screen14.jpg DCP_8600.jpg

The addressing mode 'LBA48' needs to be activated, so i will check the code of the device driver as soon as possible: the capacity of the drive reported by my tool is stuck on the max address reached without LBA48 (with 28 bit addressing mode). And there is two odd things that i need to check! Wy the PIO mode selected for the drive is 0 and not 1 and, my poor mistake, the capacity reported by my tools is wrong! I have calculated as 1Kbyte is 1000 bytes and not 1024 bytes! It will be corrected soon.

Cheers
Stefano
 
Last edited:
Hello,

now the sata drive is well inserted into the system, but i am not so happy about the speed of the disc; maybe i will try to improve it...
The code of this device driver can manage size of the disc until 2 TeraBytes: larger HardDisk will be forced automatically to avoid addressing outside this limit.

Cheers
Stefano

screen15.jpg screen16.jpg

It seems that HDToolBox recognizes, despite the big size of the disk, a disc addressed in 28bit mode (RDB report this size and not the true size, see the picture above that show two different values).
Here the tool in action...

screen17.jpg screen18.jpg

...and a different view of the card...

DCP_8586.jpg
 
Last edited:
...a IOmega ZIP (IDE version)

screen19.jpg screen20.jpg

Now the fourth prototype

DCP_8647.jpg DCP_8648.jpg

it is very similar to the third one, but it has a slight difference on the use of some lines accessing the Zorro bus. Both cards are compliants with the protocol and all the specifications made by Commodore for this series of computer. The fourth prototype seems to be more compatible in some situations that can happens with an Amiga 2000; it need test to confirm this thing.

Cheers
Stefano
 
Hello,

i am very happy because i have burned a CD, using MakeCD (the public beta) and isocd, from Commodore, to make an iso image file. The device driver seems to be ok and it will deserves to be tagged as version 1.0!! But even this CD is special because into it i have engraved forever some of my drawings and sources...
This device driver is almost complete for MM devices and cartridges with magnetic disc, but in theory many others ATAPI devices can be used safely. ATA devices was never a problem but the removable ability of a compact flash card is not possible on a two-devices channel like this (card + device driver), especially if the CF is master: if you remove it, the device driver get confused by some replies that will be pure (in hexadecimal) $FFFF.

Cheers
 

Attachments

  • pioneer.jpg
    pioneer.jpg
    110.2 KB · Views: 3
  • makeCD1.jpg
    makeCD1.jpg
    108.2 KB · Views: 1
  • makeCD2.jpg
    makeCD2.jpg
    106.3 KB · Views: 1
Last edited:
Hello,

wish you become betatester for this project? If yes, you need to own at least an A2000 with 68020 cpu and at least a Zorro card like a graphic card installed, to do serious test; a second machine like an A4000 is very good, to do further test on both computers.

I have planned to print this card with machinery (just a couple of boards, to see how it work), so, i will do comunication here when a card is finished and ready to be delivered, with the software, that is complete.

Best wishes
Stefano
 
Hello,
im very interested to become a beta tester, do own both A2000 & A4000 Amigas, also own several accelerator cards with 020 and 030 CPU's,
Have also graphic card PCB here, just need to assemble it. So yeah, can do a lot of tests..
Kind regards,

Viktor
 
Hello,

so, when a couple of cards are ready, i will post here more info! Many thanks for your reply!

Cheers
Stefano
 
Thank You Stefano, will be happy to hear back from You!
meanwhile got Subway USB, so will be also possible to test Your card with copying from/to USB devices..
 
Back
Top Bottom