[comp.binaries.ibm.pc.d] Using the DMA Controller in PCs and ATs.

rmpinchback@crocus.waterloo.edu (Reid M. Pinchback) (08/09/88)

.
.
    I'm looking for source code or a reasonably detailed explanation of
how to use the DMA controller in my AT clone (or any other PC-type machine)
to do block moves of data.  I understand that the chip has four channels,
0 and 2 being used for refresh and disk transfers.  I don't have any of
those handy-dandy IBM Tech Ref manuals or Intel manuals, so if anybody
out there knows how to do this, could you either (a) send me a sample
of assembler that does this kind of block data move; or (b) post it to
the net so everybody could play with it.

     Thanks in advance,


          Reid


replies(usenet,R) :- usenet_addresses(R).
replies(bitnet,R) :- bitnet_addresses(R).

usenet_addresses("dahlia.waterloo.edu").
usenet_addresses("watmum.waterloo.edu").

bitnet_addresses("RMPINCHB@WATDCS.BITNET"). % WATDCS.NETNORTH for dumb mailers
bitnet_addresses("RMPINCHB@WATER.BITNET").  % WATER.NETNORTH   "    "     "
 

eli@spdcc.COM (Steve Elias) (08/09/88)

beware:  8237s manufactured by AMD under license from Intel have
problems.  chips marked with a date code "82" or "83" are likely
to be bad.  the problem only shows up when the PC tries to use more
than one DMA channel at a time.

stevew@nsc.nsc.com (Steve Wilson) (08/11/88)

In article <1626@spdcc.COM> eli@spdcc.COM (Steve Elias) writes:
>beware:  8237s manufactured by AMD under license from Intel have
>problems.  chips marked with a date code "82" or "83" are likely
>to be bad.  the problem only shows up when the PC tries to use more
>than one DMA channel at a time.

You may be correct about the problem with AMD 8237's and you 
may be correct about the date codes, etc.  HOWEVER, as I recall
the DMA controller in question was originally called the 9517 and
was designed by AMD.  It latter got picked up and 2nd source by
Intel. At least 4 years ago when I used the device in a design
I consulted the AMD data book and found the device listed as an
8237 AND under the 9517 in a different section of the manual.

Steve Wilson
National Semiconductor

[The opinions stated above are mine not those of my employer]

philip@amdcad.AMD.COM (Philip Freidin) (08/12/88)

In article <5552@nsc.nsc.com] stevew@nsc.UUCP (Steve Wilson) writes:
]In article <1626@spdcc.COM] eli@spdcc.COM (Steve Elias) writes:
]]beware:  8237s manufactured by AMD under license from Intel have
]]problems.  chips marked with a date code "82" or "83" are likely
]]to be bad.  the problem only shows up when the PC tries to use more
]]than one DMA channel at a time.
]
]You may be correct about the problem with AMD 8237's and you 
]may be correct about the date codes, etc.  HOWEVER, as I recall
]the DMA controller in question was originally called the 9517 and
]was designed by AMD.  It latter got picked up and 2nd source by
]Intel. At least 4 years ago when I used the device in a design
]I consulted the AMD data book and found the device listed as an
]8237 AND under the 9517 in a different section of the manual.
]
]Steve Wilson
]National Semiconductor
]
][The opinions stated above are mine not those of my employer]

Steve is correct in identifying the reality of who copied who.

The original DMA controler is the AMD9517. 
Intel second sourced it (under licence) and renumbered it 8237
	(Intel rarely gives credit for other companies designs,
	 but their use of 8237 was I believe part of the agreement,
	 so there you are)
As the 8237 started to appear on lots of partlist for production
machines, (i.e. IBM-PC) AMD started to use Intel's number, so as not to
lose business on their own part.

All the AMD parts have always worked according to specification.
The IBM-PC design violated some of the specifications of the AMD part,
and it just happens that the Intel part is less (maybe not at all)
supseptible(sp?) to this error. AMD has since changed both parts so
that the error in the IBM design does not cause errors. I believe that
the above mentioned date codes are correct.


Philip Freidin @ AMD SUNYVALE on {favorite path!amdcad!philip)
Section Manager of Product Planning for Microprogrammable Processors
(you know.... all that 2900 stuff...)
"We Plan Products; not lunches" (a quote from a group that has been standing
				 around for an hour trying to decide where
				 to go for lunch)