wallman@yale.UUCP (11/26/87)
Moshe Braner's answer about interrupt redirection has reminded me of one of my big unsolved problems. The task was to create a little resident gadget that fooled well- behaved programs into thinking they were running in Hi-Res. I tried to patch into the XBIOS trap (successfully) intercept only Getrez() calls, passing by the rest to the OS (successfully) and returning a value to the calling procedure (successfully). Then I tried calling a form_alert() from within the TRAP (unsuccessfully). The problem here was that AES needs to be called from usermode (*). I set up a rather elaborate scheme that involved using a free TRAP and a handsomely sized user-stack. Finally I got it to work ONCE. The alert popped up, I could choose a resolution and the appropriate value was returned. But only ONCE, the next time it crashed. I don't know why... It sounds like a stack overflow but I allocated 4K and that sounds like plenty, especially for a small form_alert. Has anyone done something similiar ? Or can someone give a possible explanations why it doesn't/ can't /never will work ? Thanks very much in advance... Footnote : (*) Strangely enough all the stuff written in assembler such as XBIOS & BIOS are usually uncomplicated and relatively bug free, whereas the stuff written in C like AES and VDI (I don't know about GEMDOS but I fear the worST) is either buggy or sloppily written and even worse incomplete. :-| <<<<wallman-george@yale.uucp>>>>> <.......................IIII, ..< <......III, ..........IXI, .....< <.....IXIIXI, ......IXI,, ......< <....IXI,,IXI, ...IXI,, ........< <...IXI,, .IXI, IXXI,, .........< <..IXXI,, ..IXXXXXI,, ..........< <.IXXI,, ....IXXXI,, ...........< <IXXXI,, .....III,, ............< <<<<<<<<<wallman@yalecs>>>>>>>>> wallman@yale WALLMANN@CTSTATEU.BITNET