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 Precedence: bulk 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 Merton College, Oxford