csuwr@warwick.ac.uk (Derek Hunter) (03/07/91)
How does !Largeness work? I've been trying to write something like this, but got stopped at the concept stage when I decided that the only way of trapping Wimp_CreateWindow was by trapping SWIV which would slow the computer down something horrible. Acorn, /why/ didn't you provide a WIMPV? Surely it wouldn't have been /that/ hard, and it would presumably allow more than just a larger virtual desktop to be inserted (Just what it /would/ have allowed is obviously something that some inventive soul would have to work out). Is it possible to have a module which claims to /be/ the Wimp module, but really just sends modified SWIs to the original? (Is this what the WimpUtils hack does?) Could you provide a WIMPV in RISC OS 3, along with any other vectors people are liable to want to trap (suggestions anyone?)? - Derek Hunter
bdb@cl.cam.ac.uk (Brian Brunswick) (03/07/91)
In article <K_D&8Q&@warwick.ac.uk> csuwr@warwick.ac.uk (Derek Hunter) writes: >How does !Largeness work? I've been trying to write something like this, > but got stopped at the concept stage when I decided that the only way of > trapping Wimp_CreateWindow was by trapping SWIV which would slow the computer > down something horrible. > > [ moan about acorn deleted, though I agree ] > >Is it possible to have a module which claims to /be/ the Wimp module, but > really just sends modified SWIs to the original? (Is this what the WimpUtils > hack does?) > As the writer I suppose I should explain - I did supply source, but its not really commented. Your suggestion is exactly what I do. The Largeness patch module claims the same SWI chunk as the Wimp, and then looks up the Wimps module base address and passes calls on. It has to duplicate the SWI name tables. This is definately not supported, but seems to be about the least cludgy way of doing the job. Of course its not chainable. If only acorn had put a bit more design into a few crucial bits, we wouldn't be in the mess we are today. Even the mac had a couple of calls right from the beginning to patch trap vectors - Thats all that would be needed. Brian.Brunswick@uk.ac.cam.cl Disclaimer. Short sig rules!