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