home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.ibm.pc.hardware
- Path: sparky!uunet!darwin.sura.net!convex!news.utdallas.edu!corpgate!bnrgate!nrcnet0!cunews!torn!csd.unb.ca!morgan.ucs.mun.ca!nstn.ns.ca!cs.dal.ca!hazen
- From: hazen@cs.dal.ca (Dave Hazen)
- Subject: DMA programming on generic xt/at
- Message-ID: <Bs40vz.Cpy@cs.dal.ca>
- Sender: usenet@cs.dal.ca (USENET News)
- Nntp-Posting-Host: cs.dal.ca
- Organization: Math, Stats & CS, Dalhousie University, Halifax, NS, Canada
- References: <1992Jul28.144851.9569@cs.utwente.nl>
- Date: Tue, 28 Jul 1992 17:35:58 GMT
- Lines: 41
-
-
-
- Summary of findings in attempting to program DMA chan 1 on generic
- xt/at (Mesa 6c23 16 MHz '286 with an 8 bit bus):
-
- 1. High nibble (bits 16-19) of address are read from a dma page register
- located at io locations 0x81-0x83. Due to some inverted logic, the
- register allocations are:
- dma channel 3 = 0x81
- dma channel 2 = 0x82
- dma chans 1 & 0 =0x83.
- (I sorted this out from the circuit diagrams and BIOS listing in an
- IBM-XT manual)
-
- 2. To avoid contention over the upper nibble register, it is necessary
- to disable dma channel 0 (refresh) when using channel 1 otherwise the
- refresh system will change the upper nibble register when you least expect
- it. (Remember to re-enable it afterwards)
-
- 3. Because the dma chip (8237) has only 16 bits of address on board,
- crossing a 64k boundary is tricky. (it is an absolute address, not segment:
- offset type). Either avoid it or try to catch the dma controller when
- the address register rolls over and adjust the upper nibble register
- accordingly. (I chose to avoid it)
-
- 4. There are hints in my chips and technologies literature that their chip
- sets feature an upper nibble register large enough to handle the entire
- address space of the processor (5 to 8 bits for at's) I have no proof one
- way or another.
-
- dave
-
-
-
-
-
- --
- Dave Hazen BitNet: hazen@open.dal.ca
- Dept. of Oceanography Telemail: dalhousie.ocean
- Dalhousie University Voice: (902) 494-3396
- Halifax, NS CANADA B3H 4J1 FAX: (902) 494-3877
-