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!
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).
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
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
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.
The computer is a plain Amiga 3000@25.
(to be continued)
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!
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).
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
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
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.
The computer is a plain Amiga 3000@25.
(to be continued)
Last edited: