www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/07/13/09:03:36

From: mert0407 AT sable DOT ox DOT ac DOT uk (George Foot)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Memory address.
Date: 9 Jul 1997 22:24:17 GMT
Organization: Oxford University, England
Message-ID: <5q132h$83q@news.ox.ac.uk>
References: <33C3A110 DOT 97EF31F1 AT sercomtel DOT com DOT br>
NNTP-Posting-Host: sable.ox.ac.uk
Lines: 29
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Alessandro Moure (moure AT sercomtel DOT com DOT br) wrote:
:         When I call the int86 function, the TSR copy the data from the
: board's buffer to the address D000:0000, D000:0001, etc. When I was
: using Borland C (16 bits), no problem. But now with djgpp and protected
: memory mode I just don't know if it is possible to get the data, or even
: if the TSR is transfering the data to somewhere in the memory...
:         What should I do?

First see the FAQ, section 18, particularly 18.2, 18.4, perhaps 18.9,
and perhaps 18.12. Then if you are still confused, ask about whatever is
confusing you. It is not possible to solve your problem without knowing
what the TSR requires you to do, and what exactly is not working for you.

That said, I think you want to do the following:

1) Allocate some DOS memory (__dpmi_allocate_dos_memory)
2) Move some data to that block (dosmemput)
3) Set up some registers to pass to an interrupt (use the __dpmi_regs type)
4) Call an interrupt (__dpmi_int)
5) Get data back from the DOS memory block (dosmemget)
6) Deallocate it when you've finished with it (__dpmi_free_dos_memory)

Reading the FAQ sections mentioned above and the info pages on the
functions I mentioned should help you make a start; ask again if it still
doesn't work. 

-- 
George Foot <mert0407 AT sable DOT ox DOT ac DOT uk>
Merton College, Oxford

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019