Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!cmcl2!yale!wallman
From: wallman@yale.UUCP
Newsgroups: comp.sys.atari.st
Subject: AES in interrupts (was RE: ?strange bug) help wanted
Message-ID: <19536@yale-celray.yale.UUCP>
Date: Wed, 25-Nov-87 21:46:16 EST
Article-I.D.: yale-cel.19536
Posted: Wed Nov 25 21:46:16 1987
Date-Received: Sun, 29-Nov-87 12:21:48 EST
Sender: root@yale.UUCP
Reply-To: wallman@koala.UUCP (Natuerlich!)
Organization: Yale University Computer Science Dept, New Haven CT
Lines: 43

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. :-|
     
        <<<>>>>
        <.......................IIII, ..<
        <......III, ..........IXI, .....< 
        <.....IXIIXI, ......IXI,, ......<
        <....IXI,,IXI, ...IXI,, ........<
        <...IXI,, .IXI, IXXI,, .........<
        <..IXXI,, ..IXXXXXI,, ..........< 
        <.IXXI,, ....IXXXI,, ...........< 
        >>>>>>>>
      wallman@yale   WALLMANN@CTSTATEU.BITNET