[SD] Re: Instalation of Shells [83-]


[Index][Thread]

[SD] Re: Instalation of Shells [83-]




The Ion installer doesn't unzip/decompress things as far as I know. It just
contains the code as is and some "installation stuff". What it does it
allocates xxx bytes at the beginning of the user memory ($9327) to hold the
actual shell code. And it creates a little 'hex-assembly' program (only
contains "End:0000:End").

When you execute the bogus assembly program ( "send(9prgm0ION)" ) the Ti83
will allocate enough bytes to execute the program (aka zero bytes) and jump
to the start of that prog ($9327). Such it will 'fall through', since there
is no RET, and execute the Ion shell code.

The drawback of this is that if a program is copied/moved to $9327 but not
back afterwards by another shell, the Ion shell code won't be reached and
your calc will (possibly) crash.

When Ion executes a program Ion itself will be located directly after that
program. So Ion just adds the programsize to the ionlib pointer table and
create a vector-table (JP xx) with that. And you call the vectortable from
your program.

So when you allocate memory ( _insertmem ) directly after your program you
should remember that you will need to update the vector-table also.

> Van: Aaron Fineman <amfineman@earthlink.net>
> 
> I thought that the Ion Installer did more than un-zip programs. Then how
> does the user use special functions (eg: ionLargeSprite).
> -CalcFreak
> 
> ----- Original Message -----
> From: "Henk Poley" <hpoley@dds.nl>
> 
> > Depends on what platform you are talking about, and what you want your
> > shell to able to do. On the Z80 Ti's you make your shell like a 'normal
> > program', there are plenty of examples with source (Ion, Sos, Venus).
But
> > if you want for example let your shell automagicaly startup when the
user
> > presses [2nd][ln], you will need to do some serious hacking (unless of
> > coarse you are the happy owner/programmer of a Ti83+ which has hooks
for
> > such stuff).
> >
> > Henk Poley <><
> >
> > ----- Original Message -----
> > > Van: Aaron Fineman <amfineman@earthlink.net>
> > >
> > > I was wondering, do shells need to install themselves?
> > > -Calc Freak