A82: Notes on starting shells


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

A82: Notes on starting shells




Sometime ago i wrote on this list that i new of other ways of starting a
shell than the one used i Ash and Oshell, and that i would send my notes
on this to anyone who wanted them. Someone did ask for them, and since i
had allready typed them on the computer i thought i might as well send
them here.

So below is my personal notes on this matter, some of this material has
been included in the released docs, but not all of it. Remember this is my
personal notes, and they might not be very easy to read.

If anyone finds out more about this subject i would love to hear about it.

Dines

NOTES --------------------------------------------------------------------
(Copy of the letter i send o the guy who asked for it)


It seems like i have lost one page of the notes, but you can get the rest. 

Below is a list of the functions used to handle inputs in varous places on
the TI82.

Homescreen 3411B
Prg1 3411B
PrgName 64031
PrgEdit 64169
YVar Edit 668CB
Window 56959
Tabelset 34656
Graph/Trace 4462E
Table 558?? (E2..FF)
Link 273A7
Mode 56A58
Error 472?? (E2..FF)

8121 holds a special code which can be used to determine the current used
function.

40 homescreen
48 programname
47 programedit ()
46 mode
45 graph
4B table
49 window
4C tableset
4A yvar-input
41 link
52 error

Special input handler like function on the ti82

0462 	- Call function at (8116) and (8118) 
046D 	- Call function at (8116) page (8120) 
0473 	- Call function at (8118) page (8120) 
04B4 	- Call function at (811A) page (8120) 
04B9 	- Call function at (811E) page (8120) 
04CA 	- Call function at (811C) page (8120) 
04DC 	- Call function at (8114) page (8120) 

The first list is only made for the std input handler (8114)(8120), and
not
for all the input handler like functions.

All this information was found using a small interrupt driven debugger
program written by me (based on code by Mattias). It has not been released
since it is incombatible with all shells, gives output in wierd formats,
and cause the calc to crash once in a while.

So to find the other ways of starting a shell, you have to find the use of
the different input handler like functions when the calc is performing
different functions.  When this is done analyzing the variable used, will
show wether or not the appropiate pointer can the changed to the desierd
value at that point. For finding out when this have to be done the first
table should come in handy, while the second table is good for determining
when the input handler is changed.

I found a some mnore possible ways of starting a shell, but as i wrote i
have lost one piece of paper with my notes one. Anyway this information
should be useful to get started (if you are able to understand it).

Let me give you an exampel of how a shell could be started and how this
could be found out from the above information.

If you look at the first table you will see that y-var edit has its own
input handler, ket use that one. It is called by the keyboard handler
(KEY_HAND) every time a key is pressed. So what we need to do know is
alter
the pointer for our needs. This could be done by moving Y1 to the system
part of the ram. When this is done, entering the correct string as Y1 and
then pressing a key would start a shell. This is not very useful bacause
every time Y1 was used for something else the calc would crash.

By doing things like this and examining the different functions you should
be able to find other ways of starting a shell. Hopefully these will be
more useful than the one discreibed above.

I do not know wether you are able to follow all this, i have been working
on the inner working of the ti82 system for some time know, so it is hard
for me to say. (Before this i was doing the samething with the ti85).

If you have any problems feel free to write to me, and iwould love to hear
of any progress you might make.

Dines
_______________________________________

Dines Justesen
Email: dines@post1.com or
       c958362@student.dtu.dk
WWW  : http://www.gbar.dtu.dk/~c958362/
_______________________________________


Follow-Ups: References: