[A82] Re: porting iondetect to the ti82
[Prev][Next][Index][Thread]
[A82] Re: porting iondetect to the ti82
> Where is ptemp? Currently I'm guessing it's at 8D10, but I see the same
> values at 8D12 and 8D14 as well. That's probably the wrong address
> anyway, so where is ptemp?
> Where is progptr?
As TI has not released much information about the TI82 lots of what is
documentde on the TI83 is not documented on the Ti82. Most what is
documented uses names from the TI85, but when the TI83 name has been known
this has been used. There are several pointer to the VAT and the function
of some of the them is not known.
The VAT starts at FE6E with variables that are not programs, after that the
VAT for the programs is located and ends at (8D18). The TIOS stores temp
data of some sort between (8D18) and (8D10). (8D12) point to the last byte
of free mem.
So ptemp is probably 8D18, OPS is 8D10, and FPS is 8D12. (IIRC when you run
an assembler program on the TI82 the operator stackis empty so (8D10)
=(8D18), but that could be wrong).
The programs I have seen search the whole VAT when they start looking for a
program, so I am not sure where progptr is. Based on where the other
pointers are located 8D14 or 8D16 would be natural choices, but when the
other three pointers are initialized these two are not changed, so it seems
inlikely. The ROM includes a function to locate programs (not other vars)
and I do remember ti using a special pointer.
> Is the structure of the symbol table any different on the TI82?
>From 82-var.txt:
On the TI82 the VAT has been split into three different parts, which uses
different formats for storing data. The top most part holds all types of
variables except programs. The next part holds information on programs. The
last part holds ?ANS?. As on the TI85 all data in the VAT is stored
backwards.
The format of the top most part is shown below.
+------+------+------+--------+--------+------+
| Type | Adr1 | Adr2 | Token1 | Token2 | Zero |
+------+------+------+--------+--------+------+
The type byte holds the type of veriable discreibed. Adr1 and Adr2 holds
the
adress of the first byte of data (including the length). Token1 and Token2
holds the variables token. The last byte is almost always zero, but not
always. The function of the last byte is not known.
The next part of the Vat uses the format shown below.
+------+------+------+---------+---------+
| Type | Adr1 | Adr2 | NLength | Name . .|
+------+------+------+---------+---------+
As before Type hols the type of variable and Adr1 and Adr2 holds the
address.
Nlength holds the length of the name in bytes. After that comes the name.
The 4 MSB of the types (for both kinds of VAT) is sometimes used to store
data, which means that they are not allways zero. Therefore these bits
should
be masked out befor the type is used. When these functions are used for Y-
Vars
they are are used to tell what kind of graphs they affect (see the tokens
section for details). This makes it easier to use the "smart" graph
function.
--
Dines Justesen
References: