[comp.os.msdos.programmer] DMA Hardware I/O Port Command DOC Needed

cliffhanger@cup.portal.com (Cliff C Heyer) (03/19/91)

Needed: DMA Hardware I/O Port Command Documentation.

I've written an MS-D0S program that uses a data disk (a disk with
no file structure on it that is written with bytes direct to the
AT task registers). I want to add DMA so the software can be doing
other things rather than polling I/0 ports to transfer words.

I need documentation about how to use the DMA controller. I have a list 
of the ports from the Phoenix BIOS book, but it has no info on the commands.
I suppose I could disassemble my BIOS (which I have ended up doing 
in the past after failing to find documentation).

This documentation should have the ports and the commands to put in the
ports to make it work, as well as the interrupts used by the DMA chip
to communicate DMA completion.

I did a computer search on it and came up with a Dr Dobbs article Jan
1990. I don't know if this is worth heading to the library.

Please mail, I'll post.
Thanx, Cliff.

rcollins@altos86.Altos.COM (Robert Collins) (03/21/91)

>
>I need documentation about how to use the DMA controller. I have a list 

Try reading the manual!

Intel:  "Peripheral Components"  P/N 296467.
DMA controller = 8237

-- 
"Worship the Lord your God, and serve him only."  Mat. 4:10
Robert Collins                 UUCP:  ...!sun!altos86!rcollins
HOME:  (408) 225-8002
WORK:  (408) 432-6200 x4356

mjh@cs.vu.nl (Maarten J Huisjes) (03/22/91)

rcollins@altos86.Altos.COM (Robert Collins) writes:

} >
} >I need documentation about how to use the DMA controller. I have a list 

} Try reading the manual!

} Intel:  "Peripheral Components"  P/N 296467.
} DMA controller = 8237

O please All Mighty Owner of All Manuals. Please be so kind to waist your
time on posting the relevant part of the BIG Intel bible to us, instead of
telling us we have to buy a multi volume, many $$ book.

[Sorry just had a nasty day]

Anyway if you could, I/We would appreciated any info.
--
Maarten Huisjes.	mjh@cs.vu.nl (192.31.231.42)
			(..!uunet.uu.net!cs.vu.nl!mjh)

markh@csd4.csd.uwm.edu (Mark William Hopkins) (03/29/91)

In article <40302@cup.portal.com> cliffhanger@cup.portal.com (Cliff C Heyer) writes:
>Needed: DMA Hardware I/O Port Command Documentation.

You had to ask... :)

>I need documentation about how to use the DMA controller. I have a list 
>of the ports from the Phoenix BIOS book, but it has no info on the commands.
>
>This documentation should have the ports and the commands to put in the
>ports to make it work, as well as the interrupts used by the DMA chip
>to communicate DMA completion.

This documentation can be found in the book called: IBM Microcomputers
A Programmer's Handbook, written by Julio Sanchez, and Maria Canton.

It describes all the desired things your want for DMA hardware for the
PC, XT, AT, and PS/2 microchannel systems.

The DMA controller is an Intel 8237 or compatible, so reading the Intel
source on the chip will help too.  But it obviously won't tell you hardware-
determined DMA assignments in the various IBM's (such that DMA channel 0 is
used for memory refresh in the XT and PC).