X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: "Charles Sandmann" Newsgroups: comp.os.msdos.djgpp Subject: Re: Critical Error Interrupt Help Date: Mon, 3 Dec 2001 16:21:47 Organization: Aspen Technology, Inc. Lines: 23 Message-ID: <3c0ba69b.sandmann@clio.rice.edu> References: <271DBBEEA095D511B80D009027DE7D670DD129 AT mcoexc01 DOT mlm DOT maxtor DOT com> NNTP-Posting-Host: dcloan.hou.aspentech.com X-Trace: selma.aspentech.com 1007419258 28510 10.32.115.107 (3 Dec 2001 22:40:58 GMT) X-Complaints-To: postmaster AT aspentech DOT com NNTP-Posting-Date: 3 Dec 2001 22:40:58 GMT X-NewsEditor: ED-1.5.8 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > We are porting an existing DOS/Windows app that traps the critical error > interrupt so that we can display a controlled message in our own message > window. We would like to reproduce the error in the DJGPP version to look > and feel the same to the customer. I hate it when people try and use features I didn't implement. The bad news is CWSDPMI doesn't support the protected mode interrupt 24 directly but with extra code you can do it the hard way. > The app is completely locked into memory (we have to do physical DMA/UDMA > transfers, and we are only using CWSDPMI), so we are able to write the > handler in C/C++. > The handler is called correctly, however, I do not seem to be able to pass > data in or out of the handler. I don't understand how the handler can be called; CWSDPMI sets up a RM Int 24 handler which always fails (al=3). Maybe I'm forgetting something I did really tricky ... Since this isn't supported in CWSDPMI, the suggestion was always for the user to create a RMCB for real mode int 24. But you must never "abort" since this would exit the application without cleaning up the DPMI.