Re: A86: Asm Questions that have been building up :)


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

Re: A86: Asm Questions that have been building up :)




> How come the [on] key cant break out of an asm program? Is functionality
> like that possible?

I think that Rascall uses an error handler.  All you have to do is install the
handler at some point in your code and then catch the error with special code
somewhere in your program.

> For example, what is the APD? Does this involve the calc going into low
> power mode? Does this also involve get_key or whatever, where a keypress is
> received in low power mode?

The APD is the automatic power down.  It has a timer and a subtimer that counts
down, shutting off the calc when it reaches zero.  The special thing about the
APD, though, is that when you turn the calc back on, it preserves the calc
state.

> What is this (sqrt)Key thing I have been hearing about? If it has something
> to do with the square root key, how does this involve locking the memory or
> a fake memory reset?

The [sqrt] programs are just like the interrupt, but rather than being called
200 times a second, they are called in special circumstances (if the programs
exist).  For example, the [sqrt]KEY program is called after every keypress is
read and before the keypress is recognized.  This makes it possible to fool the
calc into thinking that a key which was pressed, really wasn't and vice versa.
These programs have a name that begins with an unexceptable character so that
they won't be picked up by the OS.I haven't had any luck with any other [sqrt]
programs, except for [sqrt]PARSE ...  uh, well, I can get it to do something!

> How are you guys so successful with disassembly? Are
> there any tricks to this skill of reverse engineering? I am still amazed
> Zshell was even made! and even the menus look fairly complicated, yet
> someone out there managed to figure them out.. Damn

I was able to figure the menus out by looking at patterns in stbeta's menus.

> What exactly is a token?

A token is the machine understandable part of a word or a symbol that has some
special ascribed meaning.  Each programing language has a unique set of tokens.
"Line(" or "+" has a special TI-BASIC value associated with it, as you saw with
Dan Elbe's partial list of 86 tokens; we refer to the token with these commands
(functions).  The tokenizer breaks up the commands into hex values so that the
parser can make out which code should be executed.  (I think--the parser and the
tokenizer might be the same thing.)The 86 allows for user tokens (through
assembly) and though I'm not sure of the hex equivalents,  I do know that each
one is two bytes: the first byte is the asap and the second byte is the is the
token number of the asap (defined by whoever created it).  Since there are three
asap's for tokens, you could conceivably add 3 * 256 user functions to your
calc.


References: