Date: Sun, 28 May 1995 18:56:54 +0300 From: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) To: smr AT cs DOT murdoch DOT edu DOT au Subject: Re: DJGPP crashes Cc: djgpp AT sun DOT soe DOT clarkson DOT edu > GO32=2rm 2r1 > > gcc hello.c > > Unsupported INT 0x06 > Invalid Opcode at eip=bcc7 I'm now quite sure that the first line above is the culprit of all your problems. (I'm not 100% sure because I don't have access to a system with EGA and a monochrome monitor, but I'm close to 100%.) First, the ``2rm'' parameter is for systems with TWO monitors, where you want to redirect your stderr to the (second) monochrome monitor when debugging programs which grab the screen (like graphics, or programs which write all over the screen like Info). AFAIK, it isn't required at all if you only have a single monitor, be it monochrome or otherwise. If you put ``2rm'' into GO32 variable, as far as I could see from the go32 sources, it will assume without checking that you indeed have a second monitor and will write to the B000 segment. I suspect that in your case, the video buffer is at B800, so you are really writing to the great void... Second, even if you had two monitors, you should do it thusly: set go32=2rm 1r2 i.e., redirect stderr (stream 2) to monochrome monitor, then redirect stdout (stream 1) to the same place stderr is redirected. The way you did it, stderr gets redirected to two different places: the monochrome monitor and the device where stdout goes. So much for the theory. As for practice, I put ``2rm 2r1'' into my GO32 variable and immediately got ``Exception #6'' exactly as you did. (In my case, the QEMM memory manager catched this before go32 has a chance to see it, but you work with no memory manager installed, so I think this is as close as I can get.) Bottom line: remove that ``2rm 2r1'' from your GO32 variable and try again. I think you'll never miss it: go32 detects what your video mode is at start-up and sets up screen address appropriately. If not, then try playing with the ``mono'' parameter. It is explained in the FAQ list.