Re: A85: My problem with libraries


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

Re: A85: My problem with libraries



mozart@technologist.com wrote:
> 
> Ben Shakal wrote:
> >
> > mozart@technologist.com wrote:
> > >
> > > 82nd Deer wrote:
> > > > You could make a 100-200 byte shell that would simply let you input the
> > > > name of the program to run.
> > >
> > > You could save even more space by just having the user recall the
> > > variable (in the homescreen), then check if Ans was an ASM string, and
> > > (if so), run it.  Anybody want a 200 Byte OS?
> >
> > Actually, I'm afraid this wouldn't be that useful, because when you
> > recall something (into Ans), the calc makes a copy of it.  So you will
> > always need to have at least as much free mem as the size of the prog,
> > space which could have just as easily been filled with a bigger shell.
> > Wait a minute... you could do something like that, have  a shell with no
> > UI, and have a string, say RunThis or something, and you store the name
> > of the prog you want to run into that string, then start the shell (from
> > the custom menu as usual).  It could just go look for that string, then
> > check what is in it, then run that prog, if it exists.  So maybe you
> > could still do a 200 byte OS! :)
> > --
> > Ben Shakal
> 
> Actually, I had a better idea shortly after I wrote that message...
> (Sorry, I know that this would be more appropriate to the Shell
> Developers list, but nothing seems to get done there):
> 
> Have the user type in the name of the program in the TI-OS homescreen in
> the Upper Left corner, then run the shell... The shell reads that info,
> and
> searches for that string (using the rst rom functions..).  If such a
> program exists, then it runs it... Little bit larger, but...

Oh, wow, thats an excellent idea!  That would take less code than
anything else, because it could just check copy it byte by byte into the
search buffer, then call RST 20, or whatever it is, to find the string,
then run it!  The only real volume of code would be for ZShell
compatibility, but that is basically just a lookup table anyway...  I
just had a though.  This is probably actually a regression in shell
design. :)  I bet ZShell 1.0 was something like this. :)  Oh, by the
way, it wouldn't have to be the upper left corner, because you could
just read the current cursor row from that place in mem ($800C or $800D,
I believe).

-- 
Ben Shakal
shakalb98@jhs.net
Quote of the Month:
"Common sense is the collection of prejudices acquired by age 18."
                                                - Albert Einstein


References: