Monday, 19 June 2017

The "BAD DMA" - The Myth , The Legend, The lies.

The "Bad DMA" has been circulating around the Internet since the dawn of time.  Where the -38 is apparently the route of all evil and every STE that has one will have hard drive problems.  Well, that may be so, but the chip is far from faulty as many sites lead you into falsely believing.

I personally have spent near on 25 years debugging and fault finding equipment, not just Atari ST's. I can tell you that you should be reading my current research into the issues, not grandma's good old tech doc's from the 1950's.  If you happen to stumble on such a site, I urge you to not go there again and burn it into the eternal fires of hell for all eternity.

For those who are not technically minded, or just too darn lazy to read my research on it, let me explain it as simply as possible.  Designing a motherboard working in MHz ranges is very difficult.  Atari could only do so much with a 2 layer PCB and regardless of how well routed it may or may not be, there is going to be issues with noise on signals.  This is a very common problem in all electronics equipment.

Unfortunately the DMA chip is about as far away from the CPU as it could get. This means the noise on the address and databus is rather bad.  So our poor old DMA chip sees signals which are not really there and basically goes a bit mental.

Take an easy analogy of this. Take a bumpy road with a F1 car which has very little suspension. You are going to feel every little bump in the road.  Now go on the same road in an off-roader which has huge shock-absorbers and you will never feel the bumps at all.  So are we going to blame the F1 car or the bumpy road or the off-roader for being awesome in covering up the bumpy road?  Not easy is it! This is exactly the same with the DMA revision numbers.

Some DMA chips react to the bumpy roads more than others. So while we can blame the F1 car for being the worst car in the world.. well, its actually the road to blame.  Simply changing the car isn't really fixing the problem, just "bypassing it".  This is known by electronics engineers as a total bodge.

But "it works" I hear you cry... yes it does, for now.. a bodge is still a bodge regardless if it works or not.  An expensive bodge at that I might add with replacement DMA chips being hard to find costing £40+.  Of course swapping the -38 with another -38 will likely work as well.  Just grab one from an STF and you may find that works.  But there really isn't any point in changing the DMA unless it is actually faulty, in which case , screwing around trying to fix your hard drive problems likely blew it up.  In which case this article won't help you in the slightest :)

We can however try something simple which research by my readers has had very good results. This is simply change the CPU to a 68HC000 type.  This reduces the current pulled by the CPU and reduces all this "road noise" and increases stability a great deal.  Oh how simple awesome and easy that was!

But I hear you cry "It still hasn't solved my problem".. Well, I never said it would.  I said it solves this particular issue. I mean if your hard drive is faulty causing data corruption (it happens!) then changing the CPU and/or DMA isn't going to do a darn thing is it.

Even so, we can't blame every data corruption on a "bad DMA" as there can be multiple causes and all need to be ruled out.  Swapping the CPU is a very easy cheap fix to try and I would personally change the CPU regardless if you have "DMA issues" or not.

One thing which is still WIP, is that STE's with Motorola CPU's are likely to have "DMA issues". Whereas machines with a SGS / ST CPU may not.  I only have a limited number of STE's here, but that so far seems to be the pattern!

DMA research page.


Please considering buying the CPU from my store. As said in another post, while things might be cheaper "elsewhere", such places/people are not investing huge amounts of time into Atari ST projects.


  1. DMAs or alignment of the planets who knows :)

    1. Sounds about right.

      One chap I am talking to seems to have issues with the 001 DMA aka "good DMA". Alas my prediction came true :P

      Did do a video of it failing on a STE I had.