significant progess on SPOs
[pspp] / spo-notes
index b8099132f93d82235f1335a79a0a921974691310..25d124a71a7e8ccd9f5c4eb697afed689b918efd 100644 (file)
--- a/spo-notes
+++ b/spo-notes
@@ -25,6 +25,27 @@ and the DspString case:
        01 02 28 (00|05) 00 (00|01)
        often followed by a string
 
+DspString is the label of the object that is currently selected.
+
+The currently selected object is always the first in the file
+regardless of the output hierarchy and order
+
+The entire rec:NavPivot contents, minus the final 00 byte, appear
+later in the file to identify the selected object.  However, the
+initial 02 02*8 can disappear into a "float 0.0" if there's a leading
+80.
+
+Each object has a small negative number, e.g. 0xfffffe91 == -390.
+
+Objects:
+  NavRoot: root output object
+  NavLog: log object
+  NavHead: heading with subobjects
+    NavTreeViewItem: assocated with NavHead somehow
+  NavTitle: title within a heading
+  NavNote: notes table
+  NavPivot: table
+
 The start of the file might be a version number
 
 x and y are either 0 or 2-3 byte values, e.g. 0x670b or 0x3b989.
@@ -159,5 +180,154 @@ ffff 0000 "DspNumber"
 
 NavTitle  02 00 00 00 00 00 00 00 00 18 00 00 00 03 .. .. .. 00 04 00 00 .. .. ff ff 02 00 00 00 01 00 00
 
-80 01 02 28 05 00 01 ff
-80 01 02 28 05 00 01
+80 02 <double>
+80 01 02 28 05 00 01 <len1> <string>
+80 01 02 28 05 00 01 ff <len2> <string>
+80 01 03 28 05 80 02 <double> 
+
+80 00 03
+80 00 00 00 00 00 00 00 00 00 00 ..
+80 01 .. .. .. ..
+
+DspNumber:
+       01 <decimals> <width> <type>
+
+NDimensional__DspCell:
+       00 int32[ndims]
+
+IndexedCollection: 7+(9*ndims) bytes
+       00 0e 00 00 00 01 00
+
+       00 22 00 00 00 01 00
+  11 80 00 08 00 00 00 01 00
+
+       00 5c 00 00 00 01 00
+  13 80 00 5c 00 00 00 01 00
+  13 80 00 05 00 00 00 01 00
+
+       00 01 00 00 00 01 00
+  11 80 00 02 00 00 00 01 00
+  11 80 00 03 00 00 00 01 00
+  11 80 00 03 00 00 00 01 00
+
+           ^^ number of categories
+
+----------------------------------------------------------------------
+ab1.dump
+
+3 dimensions, 92x92x5:
+    NDimensional__DspCell  00 03 00 00 00
+
+    IndexedCollection  00 5c 00 00 00 01 00 13 80 00 5c 00 00 00 01 00 13 80 00 05 00 00 00 01 00
+
+The cells are in order last dimension changes most quickly.
+
+----------------------------------------------------------------------
+
+ZMAW_zaj3.dump
+
+4-dimensions, 1x2x3x3, 18 cells
+
+16 80 -> next 4th dim
+11 80 00 03 00 00 00 01 00 -> increment another dim
+
+----------------------------------------------------------------------
+
+rec:PMModelItemInfo
+ .. .. .. .. .. .. .. .. .. .. .. .. ..                            cell F40.2 "Contents"
+ 07 .. .. .. 55 80 .. 57 80 .. .. .. .. .. .. .. .. .. 07 .. 74 0e cell F40.2   "Output Created"
+ .. .. .. .. 55 80 .. 57 80 .. 01 .. .. .. .. .. .. .. 08 .. 74 0e cell F40.2   "Comments"
+ .. .. .. .. 55 80 .. 57 80 .. .. .. .. .. .. .. .. .. .. .. .. .. cell F40.2   "Input"
+ 06 .. .. .. 55 80 .. 57 80 .. 02 .. .. .. .. .. .. .. 0a .. 74 0e cell F40.2     "Data"
+ .. .. .. .. 55 80 .. 57 80 .. 03 .. .. .. .. .. .. .. .. .. .. .. cell F40.2     "Active Dataset"
+ .. .. .. .. 55 80 .. 57 80 .. 04 .. .. .. .. .. .. .. 0e .. 74 0e cell F40.2     "Filter"
+ .. .. .. .. 55 80 .. 57 80 .. 05 .. .. .. .. .. .. .. 11 .. 74 0e cell F40.2     "Weight"
+ .. .. .. .. 55 80 .. 57 80 .. 06 .. .. .. .. .. .. .. 12 .. 74 0e cell F40.2     "Split File"
+ .. .. .. .. 55 80 .. 57 80 .. 07 .. .. .. .. .. .. .. 13 .. 74 0e cell F40.2     "N of Rows in Working Data File"
+ .. .. .. .. 55 80 .. 57 80 .. .. .. .. .. .. .. .. .. .. .. .. .. cell F40.2   "Missing Value Handling"
+ 02 .. .. .. 55 80 .. 57 80 .. 08 .. .. .. .. .. .. .. .. .. .. .. cell F40.2     "Definition of Missing"
+ .. .. .. .. 55 80 .. 57 80 .. 09 .. .. .. .. .. .. .. .. .. .. .. cell F40.2     "Cases Used"
+ .. .. .. .. 55 80 .. 57 80 .. 0a .. .. .. .. .. .. .. 17 .. 74 0e cell F40.2   "Weight Handling"
+ .. .. .. .. 55 80 .. 57 80 .. 0b .. .. .. .. .. .. .. 18 .. 74 0e cell F40.2   "Syntax"
+ .. .. .. .. 55 80 .. 57 80 .. .. .. .. .. .. .. .. .. .. .. .. .. cell F40.2   "Resources"
+ 03 .. .. .. 55 80 .. 57 80 .. 0c .. .. .. .. .. .. .. 1b .. 74 0e cell F40.2     "Elapsed Time"
+ .. .. .. .. 55 80 .. 57 80 .. 0d .. .. .. .. .. .. .. .. .. .. .. cell F40.2     "Maximum Memory Required"
+ .. .. .. .. 55 80 .. 57 80 .. 0e .. .. .. .. .. .. .. .. .. .. .. cell F40.2     "Processor Time"
+
+rec:PMModelItemInfo
+                            .. .. .. .. .. 01 .. .. .. ff ff ff ff cell F40.2       "score"
+ 01 .. .. .. 86 80 .. 88 80 .. .. .. .. .. .. .. .. .. f4 0e 74 0e cell F40.2         "Valid"
+ 09 .. .. .. 86 80 .. 88 80 .. .. .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "17..."
+ .. .. .. .. 86 80 .. 88 80 .. 01 .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "22..."
+ .. .. .. .. 86 80 .. 88 80 .. 02 .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "26..."
+ .. .. .. .. 86 80 .. 88 80 .. 03 .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "29..."
+ .. .. .. .. 86 80 .. 88 80 .. 04 .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "33..."
+ .. .. .. .. 86 80 .. 88 80 .. 05 .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "37..."
+ .. .. .. .. 86 80 .. 88 80 .. 06 .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "40..."
+ .. .. .. .. 86 80 .. 88 80 .. 07 .. .. .. .. .. .. .. ff ff ff ff cell F40.2 xxx19     "48..."
+ .. .. .. .. 86 80 .. 88 80 .. 08 .. .. .. .. .. .. .. f2 0e 74 0e cell F40.2         "Total"
+ .. .. .. .. .. .. .. .. .. .. 09 .. .. .. 01 .. 90 .. 94 .. 98 .. 9c .. a0 .. a4 .. a8 .. ac .. b0 .. .. 09 .. .. .. .. .. .. .. .. .. 01 .. .. .. 02 .. .. .. 03 .. .. .. 04 .. .. .. 05 .. .. .. 06 .. .. .. 07 .. .. .. 08 .. ..
+ .. 84 80 .. 86 80 .. 88 80 .. .. .. .. .. 01 .. .. .. eb 0e 74 0e cell F40.2       "Statistics"
+ 04 .. .. .. 86 80 .. 88 80 .. .. .. .. .. .. .. .. .. dc 0e 74 0e cell F40.2         "Frequency"
+ .. .. .. .. 86 80 .. 88 80 .. 01 .. .. .. .. .. .. .. e6 0e 74 0e cell F40.2         "Percent"
+ .. .. .. .. 86 80 .. 88 80 .. 02 .. .. .. .. .. .. .. f5 0e 74 0e cell F40.2         "Valid Percent"
+ .. .. .. .. 86 80 .. 88 80 .. 03 .. .. .. .. .. .. .. da 0e 74 0e cell F40.2         "Cumulative Percent"
+ .. .. .. .. .. .. .. .. .. .. 04 .. .. .. 01 .. b9 .. bd .. c1 .. c5 .. .. 04 .. .. .. .. .. .. .. .. .. 01 .. .. .. 02 .. .. .. 03 .. .. .. .. .. .. .. .. 01 .. .. 11 .. .. .. .. .. .. .. .. .. 4b .. .. .. .. .. .. .. .. .. .. ..
+
+rec:PMModelItemInfo
+                            .. .. .. .. .. 01 .. .. .. 91 1a 74 0e cell F40.2 "Statistics"
+ 05 .. .. .. ff 7f 69 78 02 80 .. ff 7f 6b 78 02 80 .. .. .. .. .. .. .. .. .. 98 1a 74 0e cell F40.2   "Pearson Correlation"
+ .. .. .. .. ff 7f 69 78 02 80 .. ff 7f 6b 78 02 80 .. 01 .. .. .. .. .. .. .. 99 1a 74 0e cell F40.2   "Sig. (2-tailed)"
+ .. .. .. .. ff 7f 69 78 02 80 .. ff 7f 6b 78 02 80 .. 02 .. .. .. .. .. .. .. 96 1a 74 0e cell F40.2   "Sum of Squares and Cross-products"
+ .. .. .. .. ff 7f 69 78 02 80 .. ff 7f 6b 78 02 80 .. 03 .. .. .. .. .. .. .. 97 1a 74 0e cell F40.2   "Covariance"
+ .. .. .. .. ff 7f 69 78 02 80 .. ff 7f 6b 78 02 80 .. 04 .. .. .. .. .. .. .. 94 1a 74 0e cell F40.2   "N"
+ .. .. .. .. .. .. .. .. .. .. 05 .. .. .. 01 .. ff 7f 6f 78 02 .. ff 7f 73 78 02 .. ff 7f 77 78 02 .. ff 7f 7b 78 02 .. ff 7f 7f 78 02 .. .. 05 .. .. .. .. .. .. .. .. .. 01 .. .. .. 02 .. .. .. 03 .. .. .. 04 .. .. .. ff 7f 67 78 02 80 .. ff 7f 69 78 02 80 .. ff 7f 6b 78 02 80 .. .. .. .. .. 01 .. .. .. 90 1a 74 0e ..................ox....sx....wx....{x.....x...............................gx.....ix.....kx.............t.
+
+
+ff is a way to say that there's a 4-byte number instead of 1-byte?
+
+
+01 01 ed ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 bc 02 00 00 00 00 00 00 00 00 00 22 41 72 69 61 6c 00 61 00 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
+07 80 00 02 00 00 00 0a 00 01 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00
+01 01 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 01 00 00 00 00 00 00 00 00 00 22 43 6f 75 72 69 65 72 20 4e 65 77 00 72 00 20 00 4e 00 65 00 77 00 00 00 00 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
+07 80 00 00 00 00 00 0f 00 01 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00
+00
+
+
+ .. .. .. .. .. .. a9 80 .. 01 .. .. .. .. .. ff ff ff .. .. .. ab 80 .. 01 .. .. .. c8 .. 78 .. 78 .. 14 .. 14 .. .. .. 01 .. f3 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22
+ .. .. .. .. .. .. a9 80 .. 01 .. .. .. .. .. ff ff ff .. .. .. ab 80 .. 01 .. .. .. c8 .. 78 .. a0 .. 14 .. 14 .. .. .. 01 .. ef ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22
+ .. .. .. .. .. .. a9 80 .. 01 .. .. .. .. .. ff ff ff .. .. .. ab 80 .. 01 .. .. .. c8 .. 78 .. a0 .. 14 .. 14 .. .. .. 01 .. f2 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. bc 02 .. .. 01 .. .. .. .. .. .. 12
+ .. .. .. .. .. .. a9 80 .. 01 .. .. .. .. .. ff ff ff .. .. .. ab 80 .. 01 .. .. .. c8 .. 78 .. a0 .. 14 .. 14 .. .. .. 01 .. f2 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22
+ 80 .. 80 .. .. .. a9 80 .. 01 .. .. .. .. .. ff ff ff .. .. .. ab 80 .. 01 .. .. .. c8 .. 78 .. a0 .. 14 .. 14 .. .. .. 01 .. f3 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22
+
+
+
+record type 02
+==============
+
+02 int16*4 int32*4
+
+
+
+rec:NavLog
+
+02 .. .. .. .. .. .. .. ..
+18 .. .. .. .. .. .. .. b3 02 .. .. 30 f8 ff ff 01 .. .. .. 01 .. .. cell F40.2 "LogA" 07 80 .. 02 .. .. .. 0f .. 01 .. .. .. .. .. .. .. .. .. 01 .. .. .. .. .. .. 01 01 f5 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22 41 72 69 61 6c .. .. .. .. .. .. .. .. .. .. .. .. .. .. rtf .. 0e float 0.......
+18 .. .. .. 0e f8 ff ff b3 02 .. .. 3e f0 ff ff 01 .. .. .. 01 .. .. cell F40.2 "LogB" 07 80 .. 02 .. .. .. 13 .. 01 .. .. .. .. .. .. .. .. .. 01 .. .. .. .. .. .. 01 01 f5 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22 41 72 69 61 6c .. .. .. .. .. .. .. .. .. .. .. .. .. .. rtf .. 0e float 0.......
+18 .. .. .. 1c f0 ff ff 5f 02 .. .. 4c e8 ff ff 01 .. .. .. 01 .. .. cell F40.2 "LogC" 07 80 .. 02 .. .. .. 17 .. 01 .. .. .. .. .. .. .. .. .. 01 .. .. .. .. .. .. 01 01 f5 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22 41 72 69 61 6c .. .. .. .. .. .. .. .. .. .. .. .. .. .. rtf .. 0e float 0.......
+18 .. .. .. 2a e8 ff ff 5f 02 .. .. 5a e0 ff ff 01 .. .. .. 01 .. .. cell F40.2 "LogD" 07 80 .. 02 .. .. .. 1b .. 01 .. .. .. .. .. .. .. .. .. 01 .. .. .. .. .. .. 01 01 f5 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22 41 72 69 61 6c .. .. .. .. .. .. .. .. .. .. .. .. .. .. rtf .. 0e float 0.......
+18 .. .. .. 38 e0 ff ff 5f 02 .. .. 68 d8 ff ff 01 .. .. .. 01 .. .. cell F40.2 "LogE" 07 80 .. 02 .. .. .. 1f .. 01 .. .. .. .. .. .. .. .. .. 01 .. .. .. .. .. .. 01 01 f5 ff ff ff .. .. .. .. .. .. .. .. .. .. .. .. 90 01 .. .. .. .. .. .. .. .. .. 22 41 72 69 61 6c .. .. .. .. .. .. .. .. .. .. .. .. .. .. rtf .. 02 .. 02 .. .. ..
+
+
+NavTreeViewItem:
+
+last bit is the number of children plus one, e.g. here it has 0x12+1
+children:
+
+rec:NavTreeViewItem       .. .. .. .. .. 02 .. 01 .. .. .. .. .. .. .. .. .. 01 .. .. .. .. .. .. .. .. .. 18 .. .. .. .. .. .. .. de ff ff ff 18 .. .. .. .. .. .. .. 28 .. .. .. 28 .. .. .. cb 02 .. .. f0 86 .. .. .. .. .. .. .. f8 2a .. .. 34 21 .. .. 01 .. 0f .. 02 .. f6 04 .. .. f6 04 .. .. f6 04 .. .. f6 04 .. .. .. .. f0 .. .. .. 7c 02 01 .. ...............................................(...(.................*..4!..............................|...
+"(Continued)"
+ 01 01 .. .. ..
+rtf
+ 01 01 .. .. ..
+rtf
+ .. 13 ..