[comp.sys.atari.st] AES in interrupts

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