Date: Wed, 14 Dec 1994 17:45:17 -0500 (EST) From: john miller To: djgpp AT sun DOT soe DOT clarkson DOT edu Cc: john hoeschele Subject: Calling 16 bit functions We are trying to read data from a linear camera and store the results in computer memory. The library that has been provided only works with 16 bit compilers which means that only the first 640K of memory can be used. The images, of course, can be much larger. One possible solution is to have 16 bit code read the camera data and store one line in the lower 640 K of memory and then have a gcc program copy that data into extended memory. The basic scheme would be to: 1. Load the 16 bit program first. 2. Have the 16 bit program load the gcc program using a system call and pass it the addresses of the buffer and the function to read in one line of data. 3. The gcc program calls the 16 bit function and transfers the memory to its own memory until all scan lines have been read in. 4. The gcc program writes out the image data and terminates. 5. The 16 bit program terminates. This should be simpler than writing a TSR and using an interrupt. However, there are two questions that I have: 1. Can I use the dpmi...fcall function to call the 16 bit function 2. I can access the dos memory with the 800... prefix easily. Is there a dpmi call to do the same thing? Thanks in advance for any help. John Miller