Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!wuarchive!psuvax1!swatsun!jackiw From: jackiw@cs.swarthmore.edu (Nick Jackiw) Newsgroups: comp.sys.mac.programmer Subject: Re: More Help with ScrnBase, Please Message-ID: Date: 29 Aug 90 14:42:35 GMT References: <1990Aug29.022048.674@murdoch.acc.Virginia.EDU> Reply-To: jackiw@cs.swarthmore.edu (Nick Jackiw) Distribution: usa Organization: Visual Geometry Project, Swarthmore College, PA Lines: 62 Enough bickering! From "Pascal Procedures: Alternate Video Screen Animation," by Mike Morton (then at Lotus), pp. 242-247, The Complete MacTutor Vol 2: (a) Make sure you don't have the RAM Cache on. The Cache overlaps the alternate vid screen on a plus. (b) You must be prepared to relaunch yourself if launched without the second-screen capacity. In that Finder doesn't launch you with second- screen capacity, this step seems crucial. (c) Do a HideCursor before switching. (d) Switch to the mainscreen before quitting. Condition (b) may be difficult to overcome when running under Lightspeed, because Lightspeed--not your program--is the application. Solution: Build Application and run it from the finder, instead of "testing" in Lightspeed. From the source code he gives in assembly, I gather that the command to show either the default page or the alternate page is a bit- toggle on the VIA. You want Pascal. const ViaBase=$1D4; {Contains the base address of via} type PtrPtr=^ptr; var theViaByte:ptr; begin theViaByte:=PtrPtr(ViaBase)^; theViaByte:=ptr(ord(theViaByte)+$1E00); {Offset to the magic control} {To show the alternate screen, when default screen is showing} theViaByte^:=theViaByte^-64; {BCLR #6,$1E00(VIA)} {To show the default screen, when the alternate is showing} theViaByte^:=theViaByte^+64; {BSET #6,$1E00(VIA)} end; ------ Presumably the reason you can't set the alternate screen up is that Lightspeed wasn't launched with the request to allocate space for it. Whether Lightspeed will continue to work if you *do* launch it with that request is a question perhaps Rich can answer. If not, your only recourse seems to be, as I mentioned above, running your program *outside* of the THINK environment. Disclaimer: This code was composed in vi. I've never touched the alternate video screen. Flamefests, however, grow boring quickly for nonparticipants. -- ------------------------ Nick Jackiw jackiw@cs.swarthmore.edu "We are what we think, Visual Geometry Project jackiw@swarthmr.bitnet having become what we