some spo decoding progress (?)
[pspp] / spo-notes
1 Exactly one NavRoot is always present
2
3 Exactly one NavHead is present except for .spo files that are (mostly)
4 empty, which have none
5
6 The Nav* strings only appear once per file, as:
7 ffff 0000 xxyy string
8 Sometimes there is zero spacing between these.
9
10    1456  01 00 00 00 00 00 00 00 03 80 00 00 00 00 00 00-00 00 00 00 05 80 01 02 28 05 00 01    03 4c 6f 67-               07 80 00 02 00 00........................(....Log......
11       3  01 00 00 00 01 00 00 00 03 80 00 00 00 00 00 00-00 00 00 00 05 80 01 02 28 05 00 01    03 4c 6f 67-               07 80 00 02 00 00........................(....Log......
12      13     00 00 00 00 00 00 00 03 80 00 00 00 00 00 00 00-00 00 00 05 80 01 02 28 05 00 00 00 08 53 50 53-53 20 4c 6f 67 07.......................(.....SPSS Log.
13      13     00 00 00 00 00 00 00 03 80 00 00 00 00 00 00 00-00 00 00 07 80 01 02 28 05 00 00 00 08 53 50 53-53 20 4c 6f 67 09.......................(.....SPSS Log.
14      13  01 00 00 00 00 00 00 00 03 80 00 00 00 00 00 00-00 00 00 00 05 80 01 02 28 05 00 01    08 53 50 53-53 20 4c 6f 67 07........................(....SPSS Log.
15 notea.spo/Contents
16
17 00000000  02 00 00 00 00 
18                          14 53 50  53 53 20 4f 75 74 70 75  |......SPSS Outpu|
19 00000010  74 20 44 6f 63 75 6d 65  6e 74 
20                                          00 00 00 00 ff ff  |t Document......|
21 00000020  00 00 
22                 07 00 4e 61 76 48  65 61 64 02 
23                                                00 00 00 00  |....NavHead.....|
24 00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
25 00000040  00 00 00 00 01 00 00 00  
26                                    00 00 00 00 ff ff 00 00  |................|
27 00000050  0d 00 44 73 70 53 69 6d  70 6c 65 54 65 78 74 
28                                                         00  |..DspSimpleText.|
29 00000060  00 00 00 00 00 
30                          00 00 00  00 ff ff 00 00 
31                                                   09 00 44  |...............D|
32 00000070  73 70 53 74 72 69 6e 67  
33                                    01 02 28 05 00 01 
34                                                      0b 46  |spString..(....F|
35 00000090  4e 61 76 54 72 65 65 56  69 65 77 49 74 65 6d 
36                                                         00  |NavTreeViewItem.|
37 000000a0  00 00 00 00 02 00 01 00  00 00 00 00 00 00 00 00  |................|
38 000000b0  01 00 00 00 00 00 
39                             0b 46  72 65 71 75 65 6e 63 69  |.......Frequenci|
40 000000c0  65 73 
41                 00 00 00 18 00 00  00 d8 ff ff ff de ff ff  |es..............|
42 000000d0  ff 18 00 00 00 d8 ff ff  ff 28 00 00 00 28 00 00  |.........(...(..|
43 000000e0  00 18 04 00 00 46 1e 00  00 00 00 35 e8 00 34 21  |.....F.....5..4!|
44 000000f0  00 00 f8 2a 00 00 01 00  0f 00 01 00 f6 04 00 00  |...*............|
45 00000100  f6 04 00 00 f6 04 00 00  f6 04 00 00 00 00 f0 00  |................|
46 00000110  00 00 69 32 01 00 
47                             0b 28  43 6f 6e 74 69 6e 75 65  |..i2...(Continue|
48 00000120  64 29 
49                 00 
50                    b4 00 00 00 7b  5c 72 74 66 31 5c 61 6e  |d).....{\rtf1\an|
51 00000130  73 69 5c 61 6e 73 69 63  70 67 31 32 35 32 5c 64  |si\ansicpg1252\d|
52 00000140  65 66 66 30 5c 64 65 66  6c 61 6e 67 31 30 33 33  |eff0\deflang1033|
53 00000150  7b 5c 66 6f 6e 74 74 62  6c 7b 5c 66 30 5c 66 73  |{\fonttbl{\f0\fs|
54 00000160  77 69 73 73 5c 66 70 72  71 32 5c 66 63 68 61 72  |wiss\fprq2\fchar|
55 00000170  73 65 74 30 20 41 72 69  61 6c 3b 7d 7d 0d 0a 7b  |set0 Arial;}}..{|
56 00000180  5c 63 6f 6c 6f 72 74 62  6c 20 3b 5c 72 65 64 30  |\colortbl ;\red0|
57 00000190  5c 67 72 65 65 6e 30 5c  62 6c 75 65 30 3b 7d 0d  |\green0\blue0;}.|
58 000001a0  0a 5c 76 69 65 77 6b 69  6e 64 34 5c 75 63 31 5c  |.\viewkind4\uc1\|
59 000001b0  70 61 72 64 5c 71 63 5c  63 66 31 5c 66 30 5c 66  |pard\qc\cf1\f0\f|
60 000001c0  73 32 30 20 26 5b 50 61  67 65 54 69 74 6c 65 5d  |s20 &[PageTitle]|
61 000001d0  0d 0a 5c 70 61 72 20 7d  0d 0a 
62                                          
63                                          00 00
64                                                
65                                                b4 00 00 00  |..\par }........|
66 000001e0  7b 5c 72 74 66 31 5c 61  6e 73 69 5c 61 6e 73 69  |{\rtf1\ansi\ansi|
67 000001f0  63 70 67 31 32 35 32 5c  64 65 66 66 30 5c 64 65  |cpg1252\deff0\de|
68 00000200  66 6c 61 6e 67 31 30 33  33 7b 5c 66 6f 6e 74 74  |flang1033{\fontt|
69 00000210  62 6c 7b 5c 66 30 5c 66  73 77 69 73 73 5c 66 70  |bl{\f0\fswiss\fp|
70 00000220  72 71 32 5c 66 63 68 61  72 73 65 74 30 20 41 72  |rq2\fcharset0 Ar|
71 00000230  69 61 6c 3b 7d 7d 0d 0a  7b 5c 63 6f 6c 6f 72 74  |ial;}}..{\colort|
72 00000240  62 6c 20 3b 5c 72 65 64  30 5c 67 72 65 65 6e 30  |bl ;\red0\green0|
73 00000250  5c 62 6c 75 65 30 3b 7d  0d 0a 5c 76 69 65 77 6b  |\blue0;}..\viewk|
74 00000260  69 6e 64 34 5c 75 63 31  5c 70 61 72 64 5c 71 72  |ind4\uc1\pard\qr|
75 00000270  5c 63 66 31 5c 66 30 5c  66 73 32 30 20 50 61 67  |\cf1\f0\fs20 Pag|
76 00000280  65 20 26 5b 50 61 67 65  5d 0d 0a 5c 70 61 72 20  |e &[Page]..\par |
77 00000290  7d 0d 0a 
78                    
79                    00 00 14 00 ff  ff 00 00 
80                                             
81                                             07 00 4e 61 76  |}............Nav|
82 000002a0  52 6f 6f 74 
83                       
84                       02 00 00 00  00 00 00 00 00 00 00 00  |Root............|
85 000002b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
86 000002c0  00 00 00 00 00 03 80 00  00 00 00 00 00 00 00 00  |................|
87 000002d0  00 05 80 01 02 28 00 00  01 
88                                       
89                                       06 4f 75 74 70 75 74  |.....(....Output|
90 000002e0  07 80 00 00 00 00 00 0a  00 01 00 00 00 00 00 00  |................|
91 000002f0  00 00 00 01 00 00 00 
92                                00  00 00 00 ff ff 00 00 
93                                                         06  |................|
94 00000300  00 4e 61 76 4c 6f 67 
95                                02  00 00 00 00 00 00 00 00  |.NavLog.........|
96 00000310  18 00 00 00 d8 ff ff ff  b3 02 00 00 45 f9 ff ff  |............E...|
97 00000320  01 00 00 00 00 00 00 00  03 80 00 00 00 00 00 00  |................|
98 00000330  00 00 00 00 05 80 01 02  28 05 00 01 
99                                                
100                                                03 4c 6f 67  |........(....Log|
101 00000340  07 80 00 02 00 00 00 
102                                0f  00 01 00 ff ff 00 00 
103                                                         0a  |................|
104 00000350  00 4e 61 76 4f 6c 65 49  74 65 6d 
105                                             
106                                             00 01 00 00 01  |.NavOleItem.....|
107 00000360  00 00 00 01 00 00 00 00  00 01 00 00 00 00 00 00  |................|
108 00000370  00 00 00 00 01 00 00 00  00 00 00 01 01 f3 ff ff  |................|
109 00000380  ff 00 00 00 00 00 00 00  00 00 00 00 00 90 01 00  |................|
110 00000390  00 00 00 00 00 00 00 00  
111                                    
112                                    31 43 6f 75 72 69 65 72  |........1Courier|
113 000003a0  20 4e 65 77 00 72 00 20  00 4e 00 65 00 77 00 00  | New.r. .N.e.w..|
114 000003b0  00 00 00 00 00 00 00 00  00 50 00 00 00 00 00 00  |.........P......|
115 000003c0  00 00 00 00 00 01 00 00  00 
116                                       df 14 00 00 7b 5c 72  |.............{\r|
117 000003d0  74 66 31 5c 61 6e 73 69  5c 61 6e 73 69 63 70 67  |tf1\ansi\ansicpg|
118 000003e0  31 32 35 32 5c 64 65 66  66 30 5c 64 65 66 6c 61  |1252\deff0\defla|
119 000003f0  6e 67 31 30 33 33 7b 5c  66 6f 6e 74 74 62 6c 7b  |ng1033{\fonttbl{|
120 00000400  5c 66 30 5c 66 6d 6f 64  65 72 6e 5c 66 70 72 71  |\f0\fmodern\fprq|
121 00000410  31 5c 66 63 68 61 72 73  65 74 30 20 43 6f 75 72  |1\fcharset0 Cour|
122 ...
123 000018a0  20 0d 0a 5c 70 61 72 20  7d 0d 0a 
124                                             
125                                             00 00 0e 80 02  | ..\par }.......|
126 000018b0  00 00 00 00 00 00 00 00  18 00 00 00 23 f9 ff ff  |............#...|
127 000018c0  b3 02 00 00 53 f1 ff ff  01 00 00 00 00 00 00 00  |....S...........|
128 000018d0  03 80 00 00 00 00 00 00  00 00 00 00 05 80 01 02  |................|
129 000018e0  28 05 00 01 
130                       
131                       03 4c 6f 67
132                                    
133                                    07 80 00 02 00 00 00 15  |(....Log........|
134 000018f0  00 01 00 13 80 00 01 00  00 02 00 00 00 01 00 00  |................|
135 00001900  00 00 00 01 00 00 00 00  00 00 00 00 00 00 01 00  |................|
136 00001910  00 00 00 00 00 01 01 0a  00 00 00 00 00 00 00 00  |................|
137 00001920  00 00 00 00 00 00 00 90  01 00 00 00 00 00 00 00  |................|
138 00001930  00 00 
139                 
140                 31 43 6f 75 72 69  65 72 20 4e 65 77 00 72  |..1Courier New.r|
141 00001940  00 20 00 4e 00 65 00 77  00 00 00 00 00 00 00 00  |. .N.e.w........|
142 00001950  00 00 00 50 00 00 00 00  00 00 00 00 00 00 00 01  |...P............|
143 00001960  00 00 00 
144                    
145                    69 2b 00 00 7b  5c 72 74 66 31 5c 61 6e  |...i+..{\rtf1\an|
146 00001970  73 69 5c 61 6e 73 69 63  70 67 31 32 35 32 5c 64  |si\ansicpg1252\d|
147 00001980  65 66 66 30 5c 64 65 66  6c 61 6e 67 31 30 33 33  |eff0\deflang1033|
148 00001990  7b 5c 66 6f 6e 74 74 62  6c 7b 5c 66 30 5c 66 6d  |{\fonttbl{\f0\fm|
149 000019a0  6f 64 65 72 6e 5c 66 70  72 71 31 5c 66 63 68 61  |odern\fprq1\fcha|
150 000019b0  72 73 65 74 30 20 43 6f  75 72 69 65 72 20 4e 65  |rset0 Courier Ne|
151 ...
152 000044c0  63 75 74 65 2e 0d 0a 5c  70 61 72 20 7d 0d 0a 
153                                                         
154                                                         00  |cute...\par }...|
155 000044d0  00 0e 80 02 00 00 00 00  00 00 00 00 18 00 00 00  |................|
156 000044e0  31 f1 ff ff b3 02 00 00  ee f0 ff ff 01 00 00 00  |1...............|
157 000044f0  00 00 00 00 03 80 00 00  00 00 00 00 00 00 00 00  |................|
158 00004500  05 80 01 02 28 05 00 01  
159                                    
160                                    03 4c 6f 67 07 80 00 02  |....(....Log....|
161 00004510  00 00 00 1a 00 01 00 00  00 00 00 00 00 00 00 01  |................|
162 00004520  00 00 00 00 00 00 01 01  0a 00 00 00 00 00 00 00  |................|
163 00004530  00 00 00 00 00 00 00 00  90 01 00 00 00 00 00 00  |................|
164 00004540  00 00 00 
165                    
166                    31 43 6f 75 72  69 65 72 20 4e 65 77 00  |...1Courier New.|
167 00004550  72 00 20 00 4e 00 65 00  77 00 00 00 00 00 00 00  |r. .N.e.w.......|
168 00004560  00 00 00 00 50 00 00 00  00 00 00 00 00 00 00 00  |....P...........|
169 00004570  01 00 00 00 
170                       
171                       3c 01 00 00  7b 5c 72 74 66 31 5c 61  |....<...{\rtf1\a|
172 ...
173 000046b0  7d 0d 0a 
174                    
175                    00 00 02 00 ff  ff 00 00 
176                                             
177                                             08 00 4e 61 76  |}............Nav|
178 000046c0  54 69 74 6c 65 
179                          
180                          02 00 00  00 00 00 00 00 00 18 00  |Title...........|
181 000046d0  00 00 cc f0 ff ff 00 04  00 00 b5 f0 ff ff 02 00  |................|
182 000046e0  00 00 01 00 00 00 03 80  00 00 00 00 00 00 00 00  |................|
183 000046f0  00 00 05 80 01 02 28 00  00 01 
184                                          
185                                          05 54 69 74 6c 65  |......(....Title|
186 00004700  07 80 00 08 00 00 00 1f  00 01 00 00 00 00 00 00  |................|
187 00004710  00 00 00 01 00 00 00 00  00 
188                                       
189                                       0b 46 72 65 71 75 65  |..........Freque|
190 00004720  6e 63 69 65 73 
191                          
192                          01 01 ed  ff ff ff 00 00 00 00 00  |ncies...........|
193 00004730  00 00 00 00 00 00 00 bc  02 00 00 00 00 00 00 00  |................|
194 00004740  00 00 
195                 
196                 22 41 72 69 61 6c  00 61 00 6c 00 00 00 00  |.."Arial.a.l....|
197 00004750  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
198 00004760  00 00 00 50 00 
199                          
200                          00 00 00  00 00 00 00 00 00 00 01  |...P............|
201 00004770  00 00 00 
202                    
203                    b2 00 00 00 7b  5c 72 74 66 31 5c 61 6e  |.......{\rtf1\an|
204 00004780  73 69 5c 61 6e 73 69 63  70 67 31 32 35 32 5c 64  |si\ansicpg1252\d|
205 00004790  65 66 66 30 5c 64 65 66  6c 61 6e 67 31 30 33 33  |eff0\deflang1033|
206 000047a0  7b 5c 66 6f 6e 74 74 62  6c 7b 5c 66 30 5c 66 73  |{\fonttbl{\f0\fs|
207 000047b0  77 69 73 73 5c 66 70 72  71 32 5c 66 63 68 61 72  |wiss\fprq2\fchar|
208 000047c0  73 65 74 30 20 41 72 69  61 6c 3b 7d 7d 0d 0a 7b  |set0 Arial;}}..{|
209 000047d0  5c 63 6f 6c 6f 72 74 62  6c 20 3b 5c 72 65 64 30  |\colortbl ;\red0|
210 000047e0  5c 67 72 65 65 6e 30 5c  62 6c 75 65 30 3b 7d 0d  |\green0\blue0;}.|
211 000047f0  0a 5c 76 69 65 77 6b 69  6e 64 34 5c 75 63 31 5c  |.\viewkind4\uc1\|
212 00004800  70 61 72 64 5c 63 66 31  5c 62 5c 66 30 5c 66 73  |pard\cf1\b\f0\fs|
213 00004810  32 38 20 46 72 65 71 75  65 6e 63 69 65 73 0d 0a  |28 Frequencies..|
214 00004820  5c 70 61 72 20 7d 0d 0a  
215                                    
216                                    00 00 ff ff 00 00 
217                                                      
218                                                      07 00  |\par }..........|
219 00004830  4e 61 76 4e 6f 74 65 
220                                
221                                02  00 00 00 00 00 00 00 00  |NavNote.........|
222 00004840  18 00 00 00 d8 ff ff ff  00 02 00 00 59 fe ff ff  |............Y...|
223 00004850  02 00 00 00 01 00 00 00  03 80 00 00 00 00 00 00  |................|
224 00004860  00 00 00 00 05 80 01 02  28 05 00 01 
225                                                
226                                                05 4e 6f 74  |........(....Not|
227 00004870  65 73 
228                 
229                 07 80 00 07 00 00  00 24 00 01 00 00 00 01  |es.......$......|
230 00004880  00 00 00 00 00 01 00 00  00 00 00 
231                                             
232                                             0b 46 72 65 71  |............Freq|
233 00004890  75 65 6e 63 69 65 73 
234                                01  ff ff 00 00 
235                                                11 00 50 54  |uencies.......PT|
236 000048a0  50 69 76 6f 74 43 6f 6e  74 72 6f 6c 6c 65 72 
237                                                         
238                                                         02  |PivotController.|
239 000048b0  29 20 69 31 38 28 66 38  64 00 00 00 64 00 00 00  |) i18(f8d...d...|
240 000048c0  64 00 00 00 64 00 00 00  ff ff 00 00 
241                                                0b 00 50 56  |d...d.........PV|
242 000048d0  50 69 76 6f 74 56 69 65  77 
243                                       04 00 00 00 00 ff ff  |PivotView.......|
244 000048e0  00 00 
245                 0c 00 50 4d 50 69  76 6f 74 4d 6f 64 65 6c  |....PMPivotModel|
246 000048f0  03 ff ff 00 00 
247                          15 00 4e  44 69 6d 65 6e 73 69 6f  |.......NDimensio|
248 00004900  6e 61 6c 5f 5f 44 73 70  43 65 6c 6c 
249                                                00 01 00 00  |nal__DspCell....|
250 00004910  00 ff ff 00 00 
251                          11 00 49  6e 64 65 78 65 64 43 6f  |.......IndexedCo|
252 00004920  6c 6c 65 63 74 69 6f 6e  
253                                    00 0d 00 00 00 01 00 ff  |llection........|
254 00004930  ff 00 00 
255                    07 00 44 73 70  43 65 6c 6c 
256                                                00 03 80 00  |.....DspCell....|
257 00004940  00 00 00 00 00 00 00 00  00 05 80 01 02 28 05 00  |.............(..|
258 00004950  01 
259              
260              12 32 38 20 53 65 70  20 30 37 20 31 33 3a 32  |..28 Sep 07 13:2|
261 00004960  38 3a 34 32 32 
262                          
263                          80 00 03  80 00 00 00 00 00 00 00  |8:422...........|
264 00004970  00 00 00 05 80 01 02 28  05 00 01 01 20 00 00 32  |.......(.... ..2|
265 00004980  80 00 03 80 00 00 00 00  00 00 00 00 00 00 05 80  |................|
266 00004990  01 02 28 05 00 01 
267                             
268                             06 3c  6e 6f 6e 65 3e 
269                                                   32 80 00  |..(....<none>2..|
270 000049a0  03 80 00 00 00 00 00 00  00 00 00 00 05 80 01 02  |................|
271 000049b0  28 05 00 
272                    01 06 3c 6e 6f  6e 65 3e 
273                                             32 80 00 03 80  |(....<none>2....|
274 000049c0  00 00 00 00 00 00 00 00  00 00 05 80 01 02 28 05  |..............(.|
275 000049d0  00 01 
276                 06 3c 6e 6f 6e 65  3e 
277                                       32 80 00 03 80 00 00  |...<none>2......|
278 000049e0  00 00 00 00 00 00 00 00  ff ff 00 00 
279                                                09 00 44 73  |..............Ds|
280 000049f0  70 4e 75 6d 62 65 72 
281                                01  00 28 05 80 02 00 00 00  |pNumber..(......|
282 00004a00  00 00 80 52 40 02 37 34  32 80 00 03 80 00 00 00  |...R@.742.......|
283 00004a10  00 00 00 00 00 00 00 05  80 01 02 28 05 00 01 33  |...........(...3|
284 00004a20  55 73 65 72 2d 64 65 66  69 6e 65 64 20 6d 69 73  |User-defined mis|
285
286 ----------------------------------------------------------------------
287
288 Output1.spo:
289
290 1f33  28 80 00 03 80 00 00 00 00 00 00 00 00 00 00 3d 80 F40.0(01 00 28) 05 80 02 30000.0
291 @
292 1f52 "30000"
293
294 2103  28 80 00 03 80 00 00 00 00 00 00 00 00 00 00 3d 80 F40.1(01 01 28) 05 80 02 66.7
295 2122 "66.7"
296
297 each cell has the form (where [01] is the number of decimals):
298 28 80 00 03 80 00 00 00 00 00 00 00 00 00 00 3d 80 01 0[01] 28 05 80 02 then a double then the string
299 each column(?) is preceded by 
300 11 80 00 0[345] 00 00 00 01 00
301
302 starting around 1c85
303
304 16#2134 == 8500
305 16#2af8 == 11000