Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!unmvax!gatech!bbn!bbn.com!tchu From: tchu@bbn.com (Tom Chu) Newsgroups: comp.sys.ibm.pc Subject: Re: Need info on 16-bit DMA for AT Keywords: 8237-5, AT Bus Message-ID: <37068@bbn.COM> Date: 10 Mar 89 13:16:53 GMT References: <1901@randvax.UUCP> Sender: news@bbn.COM Reply-To: tchu@BBN.COM (Tom Chu) Organization: Bolt Beranek and Newman Inc., Cambridge MA Lines: 38 In article <1901@randvax.UUCP> edhall@randvax.UUCP (Ed Hall) writes: >I'm developing (for my own education) an AT interface card using >DMA for data transfers. I know how to do this for PC's, and by >extention, how to do 8-bit DMA interfaces for the AT. But what >is different about the 16-bit channels on the AT? > >For instance, I know that the second DMA controller (channels 5 through >7) control address lines A1-A16, thus covering a 128K window of two-byte >words. Other than this, what is different about 16-bit DMA? Is the MEM >CS16 signal asserted by the AT during DMA reads? Writes? How about I/O >CS16? What is the layout of the channel 5-7 page registers? > >I've got piles of documentation but nothing answers these particular >questions. Help me graduate from 8 to 16 bits! Answers or pointers >to documentation are both appreciated. > > -Ed Hall > edhall@rand.org > uunet!sdcrdcf!randvax!edhall Unless you want to do things very slowly do not use DMA !! The DMA on the PC-AT is very slow. In fact the only device that I know of that uses DMA is the floppy controller. The DMA circuitry of the PC-AT is running at 5 MHZ (I think, but it has been awhile since I looked at a PC-AT). Hard disks on the PC-AT use MOVE strings, software to move data to and from the hard disk. I/O_CS_16, MEM_CS_16 are signals controlled by peripheral boards to indicate that the current I/O more Memory access is a 16 bit access. The 80286 has to types of address space, a memory and an I/O space. In real mode the 80286 has an address capability of 1 megabyte and an I/O address space of 64K. Accessing memory basically uses MOVE instructions and I/O accesses require INPUT and OUTPUT instructions. So in conclusion, don't use the DMA !! DMA Performance on the AT really bites the big one !!! T. Chu