[comp.sys.ibm.pc] AMD 8237 feature

eli@spdcc.COM (Steve Elias) (12/04/89)

In article <28150@amdcad.AMD.COM> phil@diablo.AMD.COM (Phil Ngai) writes:
>The real story (although I am not an official spokesman) is that AMD
>did the first generation of the DMA controller and licensed the design
>to Intel who modified it a little and documented the enhancement. Boca
>Raton designed to the Intel data sheet and didn't check to see if it
>was downward compatible with AMD's design. It wasn't but until
>Fastback came along there was no software which exposed the problem.

	believe me, some of us were working on software back then
	that did expose the problem in a big way.  not an easy bug
	to find.  we couldn't afford an in circuit emulator for 8088,
	even if there was around that worked...

>Since then AMD has incorporated the Intel enhancement in their chips
>(it is a very simple change) and most motherboard makers use circuits
>which are compatible with both generations of DMA controllers. 

	what is the motherboard patch which precludes this bug?

>AT&T Unix System V.4: Berkeley Unix for 386 PCs!

	yeah!

	
-- 


-- Steve Elias ; eli@spdcc.com ; 6179325598 ; 5086717556 ; { *disclaimer(); }
                

phil@diablo.amd.com (Phil Ngai) (12/05/89)

In article <782@ursa-major.SPDCC.COM> eli@ursa-major.spdcc.COM (Steve Elias) writes:
|	believe me, some of us were working on software back then
|	that did expose the problem in a big way.  not an easy bug
|	to find.  we couldn't afford an in circuit emulator for 8088,
|	even if there was around that worked...

Sorry to hear that. I meant there wasn't any piece of software which
was popular enough to force all the clone makers to wake up and handle
the problem. 

|	what is the motherboard patch which precludes this bug?

As I understand it (I haven't actually done this) the problem is that
the Read and Write lines on the old 8237 were not gated with the CS
line. There is a recovery time on either or both of the read and write
lines and a read or write which are too close together can violate
this recovery time EVEN when not addressed to the 8237.  The solution
is to use two AND gates to condition the read and write lines going
into the 8237 so that they only go active if CS is also active. 

As a user, I think I'd just swap the 8237 for a newer one. They
can't be very expensive.
--
Phil Ngai, phil@diablo.amd.com		{uunet,decwrl,ucbvax}!amdcad!phil
AT&T Unix System V.4: Berkeley Unix for 386 PCs!