About driver SW influence in work with ACSI port

News,announcements,programming,fixes,game patches & discussions.

Moderator: troed

Post Reply
Trusted Guru
Trusted Guru
Posts: 558
Joined: Tue Nov 28, 2017 1:32 pm

About driver SW influence in work with ACSI port

Post by Petari » Wed Jul 25, 2018 9:28 am

Since I got during last years number of questions and even some conclusions of people using my driver SW - freeware and commercial versions, I need to explain here some basic and relevant things.
ACSI port - it is DMA port in other words. You know, where Satandisk, UltraSatan and similar goes. Or earlier some ICD adapter with SCSI hard drive. Or Atari Megadrive.
DMA means "direct memory access" - and in it lies biggest part of explanation. Basically, it means that data from/to storage media - what can be floppy disk too transfers without using CPU for it. DMA chip is what performs most of job (aided with MMU, Glue - just to be precise) . So, driver SW only sets parameters - like address of sector(s) and count of them for transfer, then gives command to start it. During that CPU does nothing - well except waiting that transfer finishes - what checks simply on MFP chip port. From explained is clear that if there is some error during sector transfer - like bytes # 499 and 500 match not original - then it is certainly HW error . Others match, so it can not be error in calculating sector (on disk) address .

I got during night this: " ... software. No idea of the exact cause but it seems to be very much sensitive to different card specs."
It was after txt. that one SD card works not with my driver SW while works with Hddriver (Seimet), and with some other card is opposite. That's just shallow conclusion, and I'm sure that they did not make some extensive testing - especially with writing. Because certainly those cards would have problems with any driver SW. And I did not say that cards are actual problem. In concrete case, and since it is STE - yes - 'bad DMA chip' case is possible. Or low quality Satandisk (someone again produces it) .

Even worse was something from couple months ago - man, who claims that is electronic engineer, and experienced with computers said that because errors happen always at same position of sector and mostly same bits are wrong (attached some pics where it is shown) that it is bug in my driver SW .
Then I explained him something like did at start of this topic. Need to say that I did not get any response from that mail ?

So, why errors usually happen at same pos. ? In case of same data. That would need some serious testings with logic analyzer. But surely is related with way how DMA chip works. There is handshaking protocol - when peripheral - so disk, SD card with adapter is ready for next byte transfer is gives DMAREQ signal, DMA chip will give ACK signal when is ready (what is normally in less than 1 microSec) and then 1 byte is transferred. And so on. If there is too much noise on lines, whole process can get confused, timings shifted, and DMA may read 8-bit data in wrong moment, what causes errors, of course.
If you read this carefully, may see that driver SW really can not do anything against such errors.
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

User avatar
Site Admin
Site Admin
Posts: 5697
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK

Re: About driver SW influence in work with ACSI port

Post by exxos » Wed Jul 25, 2018 12:47 pm

Pretty bad engineer who think software can cause random bit errors. Some think they are electronics engineers as they can swap PCI cards in PC etc and think they are expert in all. Such people need to spend 10+ years in electronics workshop debugging 100's of motherboards , PSU's audio gear ect and repair down to discrete level. I saw in recent years "engineers" rarely get past "board swapping" these days, sad truth.

In fact we had similar problem (or at least I did) with our CF interface, you wrote special software and saw constant error on byte 500 or something like that. Of course can be bad sector on CF card, but mostly just fluke random noise somewhere, very difficult to trace such faults. But I find new problems with DMA circuit often so all good info to learn.

There more work I do on ST's the more problems I find with signals. I honestly don't know how ST ever worked with the amount of problems I have found over the years. Of course "experts" never agree with that statement as ST being reliable machine for 30 years "never had any problems" etc etc and yet everyone know "DMA" issues from 30 years ago, so saying ST is reliable and never have faults is just pure ignorance.

Jookie hard drive test program was written to help me with diagnostics as well. Really good to test proper DMA operation. But of course save desktop.inf and instant corruption.. ok. ok, I wont go into that all again :)
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Post Reply