Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!cam-cl!news From: bdb@cl.cam.ac.uk (Brian Brunswick) Newsgroups: comp.sys.acorn Subject: Re: !Largeness and WimpV (was Re: two new utilities on info server) Message-ID: <1991Mar7.143057.24267@cl.cam.ac.uk> Date: 7 Mar 91 14:30:57 GMT References: <1991Feb22.131230.1013@newcastle.ac.uk> <1991Feb26.101937.12286@abekrd.co.uk> <4610@syma.sussex.ac.uk> Reply-To: bdb@cl.cam.ac.uk (Brian Brunswick) Organization: U of Cambridge Comp Lab, UK Lines: 31 In article 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!