Path: utzoo!attcan!uunet!husc6!cmcl2!nrl-cmf!ames!pasteur!ucbvax!decwrl!labrea!polya!rwilson
From: rwilson@polya.Stanford.EDU (Randy Wilson)
Newsgroups: comp.sys.mac
Subject: Re: ***WARNING*** don't use Continuum with disk chache on!!
Message-ID: <3562@polya.Stanford.EDU>
Date: 10 Aug 88 23:19:22 GMT
References: <878@taux01.UUCP> <863@psu-cs.UUCP> <56@taux02.UUCP>
Reply-To: rwilson@polya.Stanford.EDU (Randy Wilson)
Organization: Stanford University
Lines: 50

In article <56@taux02.UUCP> taux01@cyosta@nsc.UUCP ( Yossie Silverman ) writes:
>                 My mac worked fine after I played continuum but it died
>within hours, I have 2M.  I am convinced by comments made both by the author
>and others that the problem is that Continuum is writting on memory it
>shouldn't be writting on.  Maybe I was just unlucky to have it write on the
>diskcache, maybe you will be unlucky like that.  I would prefer to wait for
>the autor to claim that his program DOES NOT write on said memory before I
>tried it again (after a full backup, of course).  

Continuum DOES write to the second screen buffer, which according to Apple
is included in "memory it shouldn't be writing on".  I have stated this
several times.  For that reason it is usually (see below) incompatible
with the RamCache, ramdisks, many INITs, Macsbug, and System 6.0, among 
other programs that make use of high memory.

>						   The author admited that
>he hadn't figured out how to check for high memory being in use, that to me
>is very suspicious.  

I don't think I wrote that I didn't know how to check.  Comparing BufPtr to
the end of the 2nd screen buffer is easy and works well.

As stated above, Continuum is incompatible with anything that uses the 
second screen buffer memory.  However, it works fine with these if the
second buffer is reserved using an INIT that basically just moves BufPtr
below the 2nd screen.  There is an INIT on sumex that does just that, it was
posted to the net some time ago, and I can post it again if necessary.  As
long as it is run before anything else using the 2nd buffer, Continuum
works great, and I've been using it this way the whole time I've been
developing it.  The problem is that if I check for whether the 2nd buffer is
being used, no one can use a reserve-2nd INIT with it, while if I don't
check, some people will undoubtedly lose some data through crashes.  I
chose the latter, and I now know it was a mistake.  To compound the problem,
I didn't emphasize the incompatibility strongly enough in the original
posting, and I didn't include a warning in the notes that accompanied the
program.

I now realize, however, that I could have had it both ways by warning the
user that the second screen was in use and recommending that they exit,
but allowing them the ability to continue.  This will be included in a 
future bug-fix release.

In the meantime, I'm sorry for any damage my program may have caused, use
it with INITs at your own risk, and DO NOT USE IT WITH THE RAMCACHE ON on a
Mac+ or SE.

>Yossie Silverman

Randy Wilson
rwilson@polya.stanford.edu