Re: A86: File List


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

Re: A86: File List




Well, first read this about the VAT, it was written by Jim Alverson. 
Then you just step through each variable entry and store the info
somewhere.  If you're looking for a specific variable, use the _FINDSYM
routines (or the equivalent rst instruction).
---
Andy Johnson
"Change is inevitable...
     except from vending machines"


---Begin Quote---
I a couple hours studying the VAT(It's part of the 7th RAM page). The way
I see it is that it starts at the end of the PAGE ($BFFF) and works
backwards. Right now I know how to change the name(if it's the same
length) and a couple other things. Starting from $BFFF on page 7 in RAM,
you have a varible identifier. The first varible is always xStat in the
VAT. xStat is a List so it's Varible identifier is 04. Before I go any
farther I'll give you the whole list of varible identifiers:

OBJECT TYPE VALUE OBJECT TYPE
----------------- -----------
00 REAL
01 COMPLEX
02 VECTOR - REAL
03 VECTOR -COMPLEX
04 LIST - REAL
05 LIST - COMPLEX
06 MATRIX - REAL
07 MATRIX - COMPLEX
08 CONSTANT - REAL
09 CONSTANT - COMPLEX
0A EQUATION
0B system use
0C STRING
0D GRAPH DATABASE - STANDARD
0E GRAPH DATABASE - POLAR
0F GRAPH DATABASE - PARAMETRIC
10 GRAPH DATABASE - DIFFERENTIAL EQUATION
11 PICTURE
12 PROGRAM
13 CONVERSION
14 system use
15 system use
16 system use
17 system use
18 system use
19 system use
1A system use
1B system use
1C system use
1D system use
1E system use
1F system use

Long list eh?

Anyway, that's just to identify which type of varible it is(ie. 04 would
be a list). Directly after that is a 3 byte absolute address(almost
positive, just trust me) starting at $BFFC and going to $BFFE. There is a
ram call to convert into a 16bit address in case you want to know where
the varible is stored. The next byte is at $BFFB.. I have been told that
it is for linking equations to varibles. I'm not sure how it works but it
will be 00 if it's not linked to any equation. After that, at $BFFA is
the length of the name of the varible. It is 05 for xStat. Following that
is the name starting at $BFF9. It's in a reverse order though. $BFF9 is
'x', $BFF8 is 'S', $BFF7 is 't', $BFF6 is 'a', and $BFF5 is 't'. So if
you read the vat entry for xStat starting from $BFF5, it would read:

HEX ASCII
74 t (The name backwards)
61 a
74 t
53 S
78 x
05 (symbol) (Length of name)
00 (null) (Linking value)
01 (first byte of absolute addr)
40 (second byte)
00 (third byte)
04 (type of var. -list-)

I've probably confused you all by now.. but it's not very hard.. The next
entry starts at $BFF4, one byte before the end of xStat's entry. Each
entry is one after another. I'm not really sure which way you are
supposed to read it but it makes some sense to read it from the back to
front. Post anymore questions and I'll probably be able to answer. You'll
probably need questions because I'm not very good at explaining.. hehe :)
Hope some of this helps. And get a memory edit/viewer so you can see what
I'm showing here.
---End Quote---

On Fri, 13 Feb 1998 18:01:26 -0700 Klukan <renegade@bmt.net> writes:
>
>Could someone tell me where I can find some source code that will find 
>a
>list of variables?  I have looked at the SQRXZ source and found the
>sections that deal with this, but the comments are pretty sparse and I
>do not know enough ASM to figure it all out.  I would appreciate any
>help you can give me.
>
>-Jeremy
>
>

_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]


References: