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

Hello,

many thanks to all!

Any interest on my sales threads (like ZIP2SIMM product) can help to complete this project!

Cheers
Stefano
 
...A world premiere here on Amibay! Enjoy...

DCP_8792.jpg
 
Excellent!
Am i seeing duck!?!?! :blink:
I have one request: please mark Front & Back of the Amiga on the silkscreen in future revisions, it appears, some users inserting cards wrong way around wich causes terrible fire! One user has burnt brand new Accelerator card by plugging it wrong side in...
Otherwise i am very excited to test this card in work!
 
Nice work. I'm sorry to say that I no longer have an A4000 so I cannot volunteer as a tester, but this is starting to look like a proper product. I like the duck BTW.
 
Nice work. I'm sorry to say that I no longer have an A4000 so I cannot volunteer as a tester, but this is starting to look like a proper product. I like the duck BTW.

Hello,

the motive of the second prototype was a Crocodile, because i have in mind this animal from a while; then i have exchanged for a duck that is common in my area.

Now i have developed and enhanced the device driver and more cards can be used in an Amiga...Look
 

Attachments

  • screen23.jpg
    screen23.jpg
    94.9 KB · Views: 5
  • screen23_b.jpg
    screen23_b.jpg
    101.5 KB · Views: 4
  • screen24.jpg
    screen24.jpg
    92.6 KB · Views: 5
  • screen25.jpg
    screen25.jpg
    95.8 KB · Views: 5
  • screen25_b.jpg
    screen25_b.jpg
    102.7 KB · Views: 6
  • screen26.jpg
    screen26.jpg
    91.6 KB · Views: 3
Last edited:
Hello,

first of all, i am very sorry about my poor English!
I will try to explain what i have done. So, about this card: the system can now accept four of this IDE boards and, in some situations, the device driver replies how if all the cards are acting as a single SCSI chain. Look at the pictures, what the tool 'FindDevice', from the package IDEFix (i have the original disc of CacheCDFS, the version before IDEFix97'), show from the two cards tested right now! And look for the picture with the program HDInstTools (the only tool that i have found, for OS 3.1, that show correctly the size of the partitions on disk larger then 4GB.)! The good thing of a card without ROM like this (so, not capable of autobooting) is just that: the device driver, at binding time, configures the cards and, just because the card is like something virgin without driver, ide.device transforms the board in a part of a more complex system (like a SCSI chain, in this case).
Now look for the pictures with three CF installed, in a configuration already seen on the posts above; and then, more interesting, look at the partitioning of a large disk.
This HardDisk has a size of about 150GB, beyond the standard ATA addressing mode named LBA28. To do so, the device driver activates the new LBA48 mode and uses the new commands to read/write from/into the disk. This device driver can addressing sectors untill 2TB, but larger discs will be recognized and used without a problem, with respect of the limit of 2TB.
Now look at something very interesting for an Amiga user: how to partition this disk. I have done a test and used three different type of FileSystems, all stored inside the disc, into the RDB. The first partition, inside the first 2GB, is formatted with the old FastFileSystem, that has this limitations: partitions not bigger then 2GB and disc not bigger then 4GB, because this FileSystem can address sectors only inside 32bit of an address value (the new version of this FileSystem has not this limitation and uses, if supported by the device driver, TD64, NSD but i am not sure about this last, and scsi-direct). The second partition is formatted with PFS2, that i have bought in year 1998: it work ok and, to address sectors beyond the four gigabytes, it uses the TD64 commands, supported by this device driver (even NSD is supported by this device driver). Then follows a bigger partition, about 8GB, even formatted with PFS2 and it run ok! Then follows an even bigger PFS2 partition, but it fails! Seems to be to big to be supported by PFS2 (It is not a failure of this device driver).
Now the most big one! A 100GB partition (nice isn't?) formatted with PDS3, the scsi-direct version of PFS3 (aio, found on Aminet): it work ok! Wow! ...but even PDS3 has a limit on the size of a partition!
And now the last one, at the end of the disc, beyond the LBA28 addressing capabilities; it is a PDS3 partition and work ok!
That is all!
I have turned an IDE card into a SCSI-like one; i have partitioned and succesfully used a 150GB SATA disk; burned a CD into a modern DVD and installed a partition from a IOmega ZIP disc; and do not forget the CompactFlash cards that, all the three models in my hands, was correctly installed...is that enough for a modern IDE card? Ah! Remember the automatic selection of the PIO timing (between 0 and 1)!

So now, buy four of this cards; made the right setup of eight devices and show your Amiga with this 'Fake SCSI Chain Made With IDE Devices', to your colleagues and they will scream loud

- OH NO! ONLY AMIGA MAKES IT POSSIBLE...EVEN TODAY, IN YEAR 2019!!!! -

Cheers
Stefano
 

Attachments

  • screen27.jpg
    screen27.jpg
    98.1 KB · Views: 1
  • screen28.jpg
    screen28.jpg
    109.5 KB · Views: 1
  • screen29.jpg
    screen29.jpg
    108.5 KB · Views: 2
  • screen30.jpg
    screen30.jpg
    108.2 KB · Views: 1
  • screen31.jpg
    screen31.jpg
    106 KB · Views: 1
  • screen32.jpg
    screen32.jpg
    107.3 KB · Views: 2
  • screen33.jpg
    screen33.jpg
    106 KB · Views: 2
  • screen34.jpg
    screen34.jpg
    106.5 KB · Views: 1
  • screen37.jpg
    screen37.jpg
    125.9 KB · Views: 2
  • screen38.jpg
    screen38.jpg
    107.9 KB · Views: 2
Last edited:
Hello,

here the picture of the two cards used for the test...

DCP_8839.jpg screen22.jpg

There is another benefit to have up to four cards configured by only one device driver. If two devices, on two different cards (by the way i have named this IDE@ZII), are working very close, with just one software driver for all of this cards, there is not task switching, so there is not intervention of exec: the arbitration of the two working devices is made inside the device driver (ide.device). Another benefit is that: just because this card uses interrupt (INT2 on Amiga), there is only one Interrupt Server, even if the cards are four! This improve the performance of the machine! The Interrupt Server is coded in Assembler, it has very few lines of code and, thanks to the very clever organization of the structures IO_DEVICE and IO_UNIT (filled out with most vital information), the server itself needs just a couple of lines of code to discover from where the Interrupt come!

Now, it is important to show here your interest in this project!

Cheers
Stefano
 
Hello,

here the pictures of some test with different drives against the same machine: an A4000D with 68030/25MHz and his IDE port, with attached an ST HardDisk (maybe capable of PIO1). My machine is a plain Amiga 3000D with 68030/25MHz and some FastRam (no Static Column), and this card with attached...

sspeedCF.jpg
...a Compact Flash...

sspeedMaxtorPFS0.jpg
...a Maxtor HardDisk of about 2GBytes and his partition formatted with PFS...

sspeedMaxtorPDS3.jpg
...and the same disk tested with a partition formatted with PDS3...

sspeedWDCPDS3.jpg
...a SATA disk (WDC) with his partition formatted with PDS3...

sspeedST3145.jpg
...a very old ST drive (older then the one in the compared machine), capable only of PIO0....

sspeedZIP100.jpg
...and another PIO0 device: a IOmegaZIP100...

Cheers
Stefano
 
So, i have now tested this card on a A3640 CPU board, and it work flawelessy, the software too; anyway it is slower compared to the 68030 on board! Is it normal? This cpu card has not fast ram and, in the original state, it is a bit slower because the wait state present on his architecture. Can this be the answer to the bad performance compared to the cpu on the motherboard of my Amiga 3000? Is it for all the ZorroII cards on a system with A3640?
I have checked the code an watched with a scope to discover where the issue, but i haven't found any clue, even something related to the cache! The loops in assembler are all ok for 040/060 cpu!
Now i have to say something about what came to my eyes, measured with the scope: compared to the 68030, the card is called even later (imagine a loop done by the FileSystem to read a block of a disc atteched to this card); in other words, the space between two calls to the card (/Slave active), is even longer on the A3640 and, after that, on a loop made with this instruction

move.w (Ax),(Ay)+

there Ax is charged with an ZorroII address and Ay is charged with an address on the fast ram of the local slot, on the A3640 happens that: after eight calls, the next is longer, and this delays the time to complete the action.
Watch the picture

SysInfo_disk_040.jpg

on a 68030 the value reported for the same disc, is about 1.5 MB/Sec.

Someone can confirm that all of this is the consequence of the wait state present on the A3640 cpu board?

Thanks in advance!
 
I've only read the last post (and the note to come here from the AutoConfig thread), but the A3640, natively, has slower motherboard access times, to the tune of about 2 wait states, in original logic form.

The updated GALs (2) from SpeedGeek are recommended to put in place, and the state machine access to the motherboard improves to (IIRC) about as efficient as the 68030. I believe EAB has the original thread with the released GAL code from him. There are people here on Amibay that sell (or have sold) the programmed parts for those which don't have the means.
 
I have upgraded the A3640 with the MOD that cut wait states during operation of the A3640 on the data bus.
Here the new values of the same disk pictured above (still the 030 is faster and reach without any problems, values other the 1.5 MB/s)

SysInfo_disk_040_nowait.jpg

The improvement is just to consider!

Other disks reach the value of 1.4 MB/s; maybe the ram of my A3000D is slow (it can't any burst mode), or some instruction on the code of the device driver, slow down the 040/060 during operations on the bus, but not the 030!

Cheers
 
"Disk not validated" might be a problem...

Hello,

ok but this was not the issue; i have tried many times even with the disk validated, with same values... and true improvement with the card with the MOD done.
The disk was not validated because i have a messy situation; so not caused directly or indirectly by this test/configuration!

Thanks, i appreciate a lot your replies!
 
...Thanks, i appreciate a lot your replies!

Ehm! I have confused user name, i suppose! I was thinking the user from USA and not Australia. Anyway thanks!

About 'disk not validated', this is AmigaDOS matter; i suppose, sysinfo take care of AmigaDOS just to recognize partitions, then it does raw read on disk, sector by sector, without care about what filesystems (AmigaDOS) tells. Anyway look for the pictures of 'SysSpeed' and not 'SysInfo' to see improvement of performances of the card before and after this MOD.

Cheers
Stefano
 
Hello,

thanks to some users, i have found and solved two 'Big Bug' on the device driver of this card.
This bugs was not related to the I/O, so if the user has installed a DOS partition, no errors are caused by this bugs (and, no errors are to happen at all, during I/O!!).
Bugs was related to the initialization process that happens during boot-time.
One bug was a not so well interpretation of Time-out (because this card uses timers, allocated during autoconfig-time), that is much important expecially during diagnostic. At diagnostic, if all is ok, a configuration with a single unit (master) or with two units (master/slave), if all is ok, report the same code! Later, into my code, event like time-out, made clearly the real configuration!
The second bug was a confused loop in assembler code, that miss the allocation of the second timer for the slave device. If the allocation of a timer fails, the code uses a raw routine to calculate time. Seems that this routine is inside limits for some devices and not good for the others.
In other words, because this bugs, some configurations with two devices fails.
This two bugs was solved with a couple of lines of code.
I please the owners of this card, to contact me, to have the new version of this device driver ('ide.device').

Cheers
Stefano
 

Attachments

  • WDC_DVD_FindDevice.jpg
    WDC_DVD_FindDevice.jpg
    14.9 KB · Views: 2
Last edited:
Hello,

in the meantime, waiting to sell this card, i wish to notice you that i have found a new small bug on the device driver of this card, even not related to I/O, that is safe.
This bug is a misusage of some functions of the expansion library. The old code uses functions mint for debugging purpose and the new 3.1.4 can be indigest about this thing. Now the code use properly functions to discover hardware to configure.
At this point i need to say that to buy original ROM is more then worthly, because only AutoConfig is a great piece of code...

Cheers
Stefano
 
Hello,

i am now on a problem with my card and an A2000 with TerribleFire and a GVP scsi controller; sadly no scope to measure because the computer is not mine. Anyway i suppose a timing problem, if it can be, that a timing, well suited for the FatBuster on A3000/A4000 machines, fails on a computer with true 68000 cpu and related bus, like A2000 does (and i suppose, TF is doing a job like 68000, in some points).
Now, the question is that, my card pass configuration and the devices attached on it (IDE) become almost active under Workbench, if not, there is a problem on the data bus. Just to be short, a nibble of a word is almost ever masked as $F (i suppose like in high impedance): the result is that, the software to install partitions on disk, i.e. if the disk is an harddisk or cf, during the read of the first sector, looking for rdb, reach the byte sequences 'RxSK' or 'RxSx' and so one; some times it happens like 'xDSK' and so one. If corrupted is the first nibble of the most important byte of a word, it happens ever in this way; if the corrupted nibble is the first of the less important byte, it goes on so .
Just because, things happen so fast in a computer that the result can be the same for different things, maybe someone can point me to the right direction, about this issue.

I repeat, on my A3000 (withou or with A3640, without or with MOD that cut wait-states), i can use one or many of my card at the same time and, just because i do not have any other Zorro card to test with, i can use even a prototype, that is sllight dfifferent in some points, without any problem; so in other words, what i have wrote on the other posts is true!

Any advice is welcome!
 
Last edited:
No replies? Anyway i am tried to use only chip ram, and see what happen (if it is a question related fast ram on the cpu card).

I will update this post with new infos as quick as possible.

Cheers
Stefano
 
Last edited:
Hello,

i have arranged a special version of the device driver of my card, plus a special version of the tools to set up the devices attached on it: this special version uses only chip ram, and seems that all is now ok (no chunck of memory corruppted or masked).
Now, i am very happy to talk with someone that knows in the deep the TF turbo card, or the designers itself, just to understand the nature of this problem.
A step forward is just to know if someone has an A2000 with TF and a Zorro card not DMA; all in a working state (a card like a gfx card or an I/O card is ok).

Thanks in advance!
 
Last edited:
Back
Top Bottom