CAUTION: This information refers to an earlier version of the file format (version 1.2).
The variable table (VARS) consists of a number of contiguous definitions (VARs), each of which contains all the information about a specific user-defined variable: there are no default variables in this table.
The location (relative to the file) and number of elements in the program variable table are specified in the following fields, respectively, depending on where used
•by the HEADER.VARSOFF and HEADER.VARSSIZE fields if used in the file header (HEADER);
•by the fields STRUCT.VARSOFF and STRUCT.VARSCNT if used in user structure definition (STRUCT);
•by the LIVECMD.VARSOFF and LIVECMD.VARSCNT fields if used in live command definition (LIVECMD).
Variable definition
A variable (VAR) consists of the following information:
Name |
Offset |
Type |
Description |
---|---|---|---|
VARID |
+0 |
U32 |
Variable ID (0 if variable in user structure definition) Note: only values 0x00010000-0xFFFFFE; value 0xFFFFFF is a special meaning ID; values 0x000001-0x0000FFFF are reserved for default variables. |
TYPEID |
+4 |
U32 |
Variable type ID Note: This can be a default or user-defined type. |
STATUS |
+8 |
U16 |
(reserved, runtime use) |
FLAGS |
+10 |
U16 |
Variable settings: 0x0001 Uncompressed TEXT field (NCF0). 0x0002 Uncompressed BITTEXT field (NCF1). |
NAME |
+12 |
U32 |
Offset variable name (relative to strings). |
TEXT |
+16 |
U32 |
Offset variable description (relative to compressed strings, or strings if NCF0). |
BITTEXT |
+20 |
U32 |
Offset variable bit descriptions, i.e., sequence of strings related to each individual bit separated by the ascii character 0xFF (related to compressed strings, or strings if NCF0). |
ARRAY0 |
+24 |
U32 |
No. of indexes 1st level (0=No array) (#1) or index 0 for Alias. |
ARRAY1 |
+28 |
U32 |
No. of indexes 2nd level (0=No array) (#1) or index 1 for Alias. |
ARRAY2 |
+32 |
U32 |
No. of indexes 3rd level (0=No array) (#1) or index 2 for Alias. |
ALIASID |
+36 |
U16 |
Alias type ID |
ALIASBIT |
+38 |
U16 |
No. of bits per alias (depends on the type of alias ID) |
SIZE |
+40 |
U32 |
Size of variable. If Alias, the size is 0. |
EXTRA |
+44 |
U32 |
Offset extra information (0=none) (relative to file). |
(#1) Although ARRAYn fields are 32bit, in the current version of SW the maximum index however should only be considered 16bit (i.e. maximum index 0xFFFF).