No Subject


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

No Subject



I have a few questions/observations regarding the inner workings of 
OShell (2.5), the assembly language shell for the TI-82.  As far as I 
understand it, the TI-BASIC program SHELL exploits some kind of bug in 
the TI-82 by first storing E17 in the variable Q.  What happens next is 
a little confusing (the first of many things).  The program then exits 
with a 'Stop' command.  What does happen, however, is that after ENTER 
is pressed, (which would presumably re-run SHELL), the program OShell82 
is run instead.  If OShell82 isn't present, SHELL simply reruns.  
Interestingly enough, no 'Done.' is displayed after SHELL runs, which is 
another small but interesting thing.  There isn't anything intrinsic 
about SHELL which performs the magic of getting OShell82 to run, because 
you can write a program called anything in TI-BASIC on your calculator 
which invokes OShell82 by using the same code as SHELL.  Now, OShell82 
is described in the VAT as starting at 8D24, which is the start of user 
memory (and not where programs normally reside).  This must play an 
important role in running OShell.  I guess Q also resides at the start 
of user memory, am I right?  So by assigning E17 to Q, you somehow allow 
OShell82 to execute?  Is that it?  My final, and most important 
question, is: Could I write a shell in assembly and then use PRGM82.EXE 
to turn it into an 82 executable, relocate it to 8D24 by editing an 
backup file and use a similar proceedure to run it?

Cheers,
Dominic Cooney, coonsta@hotmail.com
"YOU'LL PAY TO KNOW WHAT YOU _REALLY_ THINK!" -J.R. 'BOB' DOBBS

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com