home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.msdos.programmer
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!mips!pacbell.com!network.ucsd.edu!qualcom.qualcomm.com!qualcom!tfiske
- From: tfiske@qualcom.qualcomm.com (T.J. Fiske)
- Subject: 8237A DMA Chip on the PC
- Message-ID: <tfiske.711742881@qualcom>
- Keywords: 8237A DMA Chip on the PC
- Sender: news@qualcomm.com
- Nntp-Posting-Host: qualcom.qualcomm.com
- Organization: Qualcomm, Inc., San Diego, CA
- Date: Tue, 21 Jul 1992 18:21:21 GMT
- Lines: 32
-
- I am posting this for a friend please send E-mail to him at....
- calvin@mpl.UCSD.EDU (Calvin Ly)
-
- The question is:
-
- 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
- translation to obtain this page number from
- a data pointer. The data pointer's memory space is allocated
- using the "halloc()" under Microsoft C 5.1 which returns a
- 32 bit address. And how can at obtain the base address from
- this data pointer to send to port 0xc6.
-
- i.e.
- unsigned short huge * dmaptr;
- dmatrp = (unsigned short huge *) halloc( 8196L, 2);
-
- Thanks for the help,
-
- -- T.J. Fiske
-
- ------------------------------
- QUALCOMM, Inc.
- Room A-230 E-Mail: tfiske@qualcomm.com
- 10555 Sorrento Valley Rd. Phone: (619) 587-1121 x5763
- San Diego, CA 92121-1617
-
-