Re: LZ-Adv: ZShell for TI-82 -- Ideas..
[Prev][Next][Index][Thread]
On 24 Oct 96 at 13:22, Jason C. Wenger wrote:
> >Yeah sure, that would have been much more user-friendly. But this was
> >just thought as an experiment to see if it worked. Also, it is meant to
> >work on a TI-82 and I don't know what TI-82 variables are named like,
> >maybe just A,B,C,D etc like on the TI-81?
> >
> >I think the best way would be to just use this method to install an
> >interrupt on the calc. This interrupt could then check to see if
> >ON+enter is pressed and then call the shell program (which is stored
> >in a normal variable). The variable with the modified pointer could
> >then be deleted in order to prevent accidental crashing. Of course,
> >there would have to be function in the shell to make such a variable
> >again in case you want to copy to another calculator.
>
> My point was the if this works, now we have a way to call ZShell programs
> from a TI-BASIC program. Good idea using the interrupt routine instead
> of the keypress routine. Couldn't you use the exact same method described
> for the keypress routine and just change the addresses to point to the
> interrupt routine? You know, store the int. sub. address in A, so that
> every time there's an interrupt, the program calls the interrupt routine,
> and when we change A to point to our code, it'll call the interrupt, and
> then call ZShell?
Such a program already exists. It's called Ulterior Motive, made by
Jiankang Xu. It installs an interrupt routine that lets you run asm
programs from TI-basic programs.
> The interupt routine happens very regularly, doesn't it? if not, there
> has to be some other routine that happens regularly. What about maybe a
> screen refresh routine, or maybe the code that checks too see if a key
> has been pressed? (not the keypress routine, but the thing that shecks
> for keypresses and calls te keypress routine if there is one)
Yup, the interrupt routine happens ~ 200 times / second.
> BTW, I'm almost positive that the -82 has A-Z and theta for variables.
> What about using a PIC variable? you could use the first couple of bytes
> for the pointer, and the rest of the space for the ASM code. But how
> could you edit the pointer? Maybe recall the PIC and edit it with DRAW
> commands, then store it again? Sure, it's cumbersome, but at least you
> can keep one of your 27 real variables. Can the -82 store strings? how
> about using one of those in the same way? You could edit the pointer
> using SUB() comands, or something like that. Maybe string concatenation
> would work? ("AB" + "CD" = "ABCD" using AB as the new pointer, and CD as
> the asm code?)
My original idea actually was to use pic variables and recall, edit and
save them. That didn't work however, probably because TI-85 writes a
FC03 in the beginning of every pic variable, (03FCh = 1008d = n:o of
bytes in a pic var.) , and it's impossible to put any asm code at 03FC.
Reals are more flexible in this aspect.
Strings would have been the best alternative, but I don't think there
are strings on the TI-82. I'll have to get myself a TI-82 so I can do
some research..
Mattias
<pre>
--
Mattias Lindqvist
d96mli@efd.lth.se
www.efd.lth.se/~d96mli
</pre>
References: