Date: Thu, 27 Oct 1994 09:46:20 -0700 From: William Dere To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Please, can someone help with async driver under Windows 3.1? Folks, I'm new to using the PC as a development host, and I'm trying to use djgpp and go32 to develop an application for a DOS box under Windows 3.1. I'm having problems trying to use the asynchronous serial port driver in a DOS box under Windows 3.1. In djgpp, under the contrib/async subdirectory there is a test program gtest and source for the serial driver, which can run using the DOS extender go32. Under plain old DOS, I have no problems installing the TSR asyntsr.com and then running the test. The test allows one to send I/O in or out of COM1 or COM2 depending on parameters passed to the test program. However, under Windows 3.1 in a DOS box, when I try to run the same program, I get a general protection fault: exception 13 (0xd) occurred, error code = 0x80000000 This exception occurs in the program getivec() called by async_init(). It occurs at the line: a = (ASYNC_STRUCT *) (0xe0000000 + peek (0, which*4+2)*16 + peek (0,which*4)); Which is looking at a location in high RAM (0xe0000000+) for the structure. I guess that under Windows, addresses are virutally mapped, so that the access creates an execption, while under DOS, the address is accessible and the program runs. Does someone have experience in porting this driver over to a DOS box running under windows? Can someone give me some advice as how to solve this problem, or point me to a good reference which can give me a handle on what's really going on here? Thanks a million, Will Dere will AT wrs DOT com 510-814-2089