home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.msdos.programmer
- Path: sparky!uunet!mcsun!sunic!ugle.unit.no!nuug!nntp.nta.no!hal.nta.no!hlj
- From: hlj@hal.nta.no (Harald Ljoen FBA)
- Subject: Re: 8237A DMA Chip on the PC
- Message-ID: <1992Jul22.093502.23979@nntp.nta.no>
- Keywords: 8237A DMA Chip on the PC
- Sender: news@nntp.nta.no
- Nntp-Posting-Host: rimne.nta.no
- Reply-To: hlj@hal.nta.no
- Organization: Norwegian Telecom Research
- References: <tfiske.711742881@qualcom> <1992Jul22.015106.230532@cs.cmu.edu>
- Date: Wed, 22 Jul 92 09:35:02 GMT
- Lines: 22
-
- In article <1992Jul22.015106.230532@cs.cmu.edu>, ralf+@cs.cmu.edu (Ralf Brown) writes:
- >In article <tfiske.711742881@qualcom> tfiske@qualcom.qualcomm.com (T.J. Fiske) writes:
- >}The 8237A DMA chip on the PC:
- >}on the AT and higher models, there are 8 dma channels.
- >}I need to program channel 5, since I need to do 16 bit
- >}dma transfers. Anyways, to progam the target address
- >}correctly, it needs a "page" address at port 0x8b.
- >}What is this page address, and how can I do an address
- >
- >The high eight bits of the 24-bit linear address, which you compute as
- > ((long)segment)<<4 + offset
- >
- >(of course, this computation applies only in real mode)
-
- For 16 bit channels, the page registers contain bits 17 - 23 (the upper *7*
- bits of the 24-bit linear address). The 8237 address registers are programmed
- with address bits 1-16, while bit 0 is forced to 0 since 16-bit DMA
- transfers are always to even addresses. This scheme also has the implication
- that the page size is 128 kbytes, as opposed to 64 kbytes for 8-bit transfers.
-
- --
- ***** hlj@hal.nta.no (Harald Ljo"en) expressing his private opinions ******
-