Re: A83: Re: Ion 1.4 vs Ion 1.6


[Prev][Next][Index][Thread]

Re: A83: Re: Ion 1.4 vs Ion 1.6




That was clever. Anyhow 16k is plenty of space to take care of details.

I got an idea about this.
What if the shell would always write back the program to the end of VAT 
deleting the old one?

This would allow for dynamically resizable programs (self-modifying) and 
self-name-changeable programs if you want to do that.

You would have to have a module fixing the program list in the shell so that 
doesn't change of course.


>From: "Dan Englender" <dan@calc.org>
>Reply-To: assembly-83@lists.ticalc.org
>To: <assembly-83@lists.ticalc.org>
>Subject: Re: A83: Re: Ion 1.4 vs Ion 1.6
>Date: Wed, 3 Jan 2001 19:51:48 -0500
>
>
>I have a feeling I know why this happens to Ion, as we went through the
>dilemma of whether or not to "fix" this in MirageOS (we ended up deciding 
>to
>fix it).
>
>When a program is running, you have to keep track of which program it is
>that's running (so you can relocated it back after it's done).  Chances are
>Ion just stores the VAT location of the program, and assumes that the
>location wont change.  This would work fine, so long as no variables before
>it in the VAT are deleted .
>
>To overcome this problem, MirageOS stores the whole program name while the
>program is running, and then looks up all the data for it again after it's
>finished running.  That way even if the VAT location changes, MirageOS can
>still successfully relocate it back to it's proper position.  This is a
>tradeoff I guess, since if you change the name of the currently running
>program, MirageOS will have problems, but I can't think of a reason why
>you'd want to do that.  (And I think the ability to delete programs is more
>important).
>
>-Dan Englender
>
>----- Original Message -----
> > >
> > >a few days before, someone told us ION uses InsertMem and DeleteMem to
> > > >load
> > >the program --> if that is true, the order in witch programs are 
> >loaded
>to
> > >the calc doesn't mind for ION too
> > >"Sebastiaan Roodenburg" <sebastiaan@rimsystems.nl>
> > >
> >
> > External levels (in the games for instance) can be used without loading
> > order problems, as long as you only read them.
> >
> > But if you try to delete an external program (level or file) within an 
>ION
> > program, loaded after the external one, the ION will crash.
> > Same thing will happen if you store program to flash (on TI-83 Plus)
> > returning it to RAM later and try deleting some "old" external files.
> >
> > ION will not crash if external programs (to be erased) are loaded after
>the
> > program (which deletes them).
> >
> > Don't ask me why this happens.
> >
> > However MirageOS does not have such problems.
> >
> > 
>_________________________________________________________________________
> > Get Your Private, Free E-mail from MSN Hotmail at 
>http://www.hotmail.com.
> >
> >
>
>

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.