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