| 1 | EXTERN #DISP /SYSTEM PAGE 0,NEEDED TO\r |
| 2 | /PUT CLOCK STATUS ON PG0\r |
| 3 | /(CSTAT) FOR USE BY GEN\r |
| 4 | /USER CLOCK SERVICE ROUTS\r |
| 5 | EXTERN #T812 /RTS CPTYP\r |
| 6 | EXTERN ONQI /INTERRUPT QUEUER\r |
| 7 | CLZE=6130 /CLOCK IOTS\r |
| 8 | CLSK=6131\r |
| 9 | CLLR=6132 /ALSO CLOE\r |
| 10 | CLAB=6133\r |
| 11 | CLEN=6134\r |
| 12 | CLSA=6135\r |
| 13 | CSTAT=157 /IDOCLK PUTS CLSA BITS\r |
| 14 | /IN HERE\r |
| 15 | \f BASE FTMP0\r |
| 16 | INDEX FCNWD\r |
| 17 | FIELD1 SYNC\r |
| 18 | JSA SETUP /HERE TO READ A STRIG\r |
| 19 | /INITIALIZE ARGS\r |
| 20 | TRAP4 DOSYNC /FCNWD (XR) HOLDS STRIG\r |
| 21 | /TO READ\r |
| 22 | XTA FCNWD /=ANS=0,1\r |
| 23 | FSTA% FTMP1 /GIVE ANS TO CALLER\r |
| 24 | JA GOBAK\r |
| 25 | FTMP0, F 0.0 /BASE PAGE\r |
| 26 | FTMP1, F 0.0\r |
| 27 | RPTR, 27;ADDR RTBL /PTR TO RATE TBL, ALSO\r |
| 28 | /USED TO FLT OVRCNT (NOTE\r |
| 29 | /THAT THE EXPONENT=27)\r |
| 30 | MINRAT, F .02 /MIN ALLOWABLE RATE\r |
| 31 | TOVR, F 0.0\r |
| 32 | NAME, TEXT +CLOCK +\r |
| 33 | ORG 10*3+FTMP0\r |
| 34 | FNOP\r |
| 35 | JA NAME+3\r |
| 36 | 0\r |
| 37 | GOBAK, JA .\r |
| 38 | RTBL, F 16.0 /CONSTANT USED TO CHK FOR\r |
| 39 | /EXT CLK BIT IN FCNWD\r |
| 40 | /THIS CONST MUST BE NE 0\r |
| 41 | MAXRAT,\r |
| 42 | F4096, F 4096.0 /USED TO GET OVRFLO COUNT\r |
| 43 | F 100000.0 /FASTEST RATE IN HERTZ\r |
| 44 | F 10000.0 /NEXT FASTEST RATE\r |
| 45 | F 1000.0\r |
| 46 | F 100.0 /SLOWEST RATE\r |
| 47 | F 1.0 /USED BY TIME FOR EXT CLK\r |
| 48 | \f BASE 0\r |
| 49 | \r |
| 50 | SETUP, 0;0 /HERE TO INIT ALL FPP SUBS\r |
| 51 | STARTD\r |
| 52 | FLDA 30 /PICK UP RTN TO CALLER\r |
| 53 | FSTA GOBAK\r |
| 54 | FLDA 0 /GET PTR TO CALLERS ARGS\r |
| 55 | SETX FCNWD /CLOCK XR AND BASE\r |
| 56 | SETB FTMP0\r |
| 57 | BASE FTMP0\r |
| 58 | FSTA FTMP1\r |
| 59 | FLDA% FTMP1,P1\r |
| 60 | FSTA FTMP0 /PTR TO 1ST ARG\r |
| 61 | FLDA% FTMP1,P2\r |
| 62 | FSTA FTMP1 /PTR TO 2ND ARG\r |
| 63 | FLDA #T812 /TELLS PDP8,PDP12\r |
| 64 | ATX CPTYP /0=8=DK8ES,1=12=KW12A\r |
| 65 | STARTF\r |
| 66 | FLDA% FTMP0 /=1ST ARG\r |
| 67 | ATX FCNWD /ALWAYS IN FCNWD\r |
| 68 | JA SETUP\r |
| 69 | \f ENTRY CLOCK\r |
| 70 | CLOCK, JSA SETUP /HERE FOR CLOCK START\r |
| 71 | FLDA% FTMP0\r |
| 72 | FSUB RTBL /FCNWD IS IN FAC,IF GE 16\r |
| 73 | JGE ITSEXT /(RTBL=16.0) THEN USER IS\r |
| 74 | /REQUESTING AN EXTERNAL\r |
| 75 | /CLOCK I.E. B8 OF FCNWD\r |
| 76 | /IS SET.\r |
| 77 | FLDA% FTMP1 /=REQUESTED RATE IN HERTZ\r |
| 78 | FSUB MINRAT /.LE. MINUMUM RATE\r |
| 79 | JLE GOTR-2 /MEANS STOP CLOCK.\r |
| 80 | FADD MINRAT\r |
| 81 | FSUB MAXRAT /CHK FOR TOO FAST\r |
| 82 | JGT GOTR-2\r |
| 83 | LDX -4,OVRFLO /THERE ARE 4 BASIC RATES\r |
| 84 | LDX 1,RATE /=INDEX INTO RTBL; UPON\r |
| 85 | /TRAP(CLOCK) RATE=(0,\r |
| 86 | /2,3,4,5,6) 0=STOP,\r |
| 87 | /6=EXTERNAL\r |
| 88 | /2-5=PROGRAMMABLE RATES\r |
| 89 | LOP0, FLDA% RPTR,RATE+\r |
| 90 | /GET NEXT SLOWEST RATE\r |
| 91 | FDIV% FTMP1 /=REQUESTED RATE IN HZ.\r |
| 92 | /FAC=OVRFLO COUNT;\r |
| 93 | FSUB F4096 /MUST BE MODULO 12 BITS.\r |
| 94 | JLE GOTR /FOUND IT\r |
| 95 | JXN LOP0,OVRFLO+\r |
| 96 | LDX 0,RATE /RATE IS TOO SLOW, STOP\r |
| 97 | /CLOCK.\r |
| 98 | GOTR, FADD F4096 /RESTORE\r |
| 99 | FSTA TOVR\r |
| 100 | ATX OVRFLO /OVER FLOW COUNT\r |
| 101 | TRAP4 SETCLK /GO START CLOCK\r |
| 102 | JA GOBAK /RTN TO CALLER\r |
| 103 | ITSEXT, LDX 6,RATE /=RATE FOR EXT CLK\r |
| 104 | FLDA% FTMP1 /REQUESTED RATE IS\r |
| 105 | /INTERPRETED AS OVRFLO\r |
| 106 | JA GOTR+1 /WHEN RATE IS EXTERNAL\r |
| 107 | \f/MAGIC TABLE USED BY SETCLK TO SET CLOCK ENABLE\r |
| 108 | /BITS. EVEN NUMBERED ENTRIES ARE FOR THE DK8ES;\r |
| 109 | /ODD NUMBERED ONES ARE FOR THE KW12A.\r |
| 110 | \r |
| 111 | CLKTBL, 0675 /"STANDARD" DK BITS\r |
| 112 | 300 /STND KW BITS\r |
| 113 | 1 /DK STRIG1 BIT\r |
| 114 | 60 /KW STRIG1 BITS\r |
| 115 | 2 /DK S2\r |
| 116 | 14 /KW S2\r |
| 117 | 4 /S3\r |
| 118 | P3, 3 /S3\r |
| 119 | 40 /DK ADC ON OVR BIT\r |
| 120 | 400 /KW ADC ON OVR BIT\r |
| 121 | \r |
| 122 | /IF NOT NEXT PAGE DO ORG\r |
| 123 | IFNEG .-200 < ORG .-SYNC&7600+200+SYNC >\r |
| 124 | \fSETCLK, 0 /TRAP HERE TO START CLK\r |
| 125 | /THIS ROUT HANDLES BOTH\r |
| 126 | /DK8ES AND KW12A.\r |
| 127 | CLLR /STOP KW AND SET MODE 0;\r |
| 128 | /NOP FOR DK.\r |
| 129 | CLEN /CLR KW12 ENABLE OR\r |
| 130 | /READ DK ENABLE.\r |
| 131 | CLA\r |
| 132 | TAD P7540 /TOGGLE KW MODE 0 TO 1 TO\r |
| 133 | CLLR /CLR CLK COUNTER, OR SET\r |
| 134 | /DK ENABLE BITS, RATE FOR\r |
| 135 | CLA CMA /BOTH NOW=7=STOP.\r |
| 136 | CLZE /CLR ALL DK ENABLE BITS,\r |
| 137 | CLSA /CLR STATUS OF BOTH, ALL \r |
| 138 | CLA /IS NOW CLEAR.\r |
| 139 | TAD FCNTBL+1 /SET PTR TO CLKTBL FOR\r |
| 140 | /SETTING OF ENABLE REGS.\r |
| 141 | TAD CPTYP /=0 IF PDP8 =1 IF PDP12\r |
| 142 | DCA FCNPTR /TBL ENTRIES ALTERNATE\r |
| 143 | /FOR 8 AND 12. CPTYP SETS\r |
| 144 | /PTR TO 1ST 8 OR 1ST 12\r |
| 145 | /ENTRY\r |
| 146 | TAD IDOCLK /(AC=JMP AROUND). THE\r |
| 147 | /FOLLOWING IS ONCE ONLY\r |
| 148 | /CODE. THESE LOCS ARE\r |
| 149 | /SUBSEQUENTLY USED AS\r |
| 150 | /OPERANDS\r |
| 151 | DCA .-1\r |
| 152 | /THE TAG "ISVBIT" MUST BE\r |
| 153 | /IN FRONT OF THE STRIG\r |
| 154 | /FLAGS (STFLG) TO COVER\r |
| 155 | /THE ILLEGAL CASE OF\r |
| 156 | /STRIG 0 IN A FORT CALL\r |
| 157 | /TO SYNC.\r |
| 158 | ISVBIT, TAD CPTYP /(AC=0,1) MAKE THE INST\r |
| 159 | /RAR CLL (FOR DK) OR THE\r |
| 160 | /INST RTR CLL FOR IDOCLK;\r |
| 161 | STFLG, RAL CLL /BECAUSE STATUS BITS FOR\r |
| 162 | TAD RARCLL /STRIGS DIFFER ON DK,KW.\r |
| 163 | DCA LOP2+1 /SEE SUB IDOCLK.\r |
| 164 | /THE ABOVE 3 LOCS ARE\r |
| 165 | /SCHMITT TRIGGER FLAGS.\r |
| 166 | /THE ORDER IS S1,S2,S3\r |
| 167 | /FOR PDP8 AND S3,S2,S1\r |
| 168 | /FOR PDP12. THE MAIN\r |
| 169 | /REASON FOR REVERSING\r |
| 170 | /THE ORDER IS BECAUSE\r |
| 171 | /ENGINEERS NEVER CONSULT\r |
| 172 | /PROGRAMMERS WHEN THEY\r |
| 173 | /ARE BUILDING NEW \r |
| 174 | /HARDWARE (CHK THE STATUS\r |
| 175 | /BITS FOR DK AND KW).\r |
| 176 | JMS% KONQI+1 /PUT CLOCK ON THE\r |
| 177 | ITMP0, CLSK /INTERRUPT QUE\r |
| 178 | /VIA ONQI.\r |
| 179 | CLENAB, ADDR IDOCLK /THIS LOC WILL HOLD THE\r |
| 180 | /ENABLE BITS FOR DK,KW\r |
| 181 | AROUND, TAD RATE /(AC=0,2,3,4,5,6) RATE IS\r |
| 182 | /SET BY FPP\r |
| 183 | RTR CLL /START TO POSITION RATE\r |
| 184 | RAR /BITS. B3-B5 FOR DK\r |
| 185 | /B0-B2 FOR KW\r |
| 186 | TAD CPTYP /(THIS IS TRICKY) NEED\r |
| 187 | RAR /CPTYP IN LNK BECAUSE\r |
| 188 | /POSITION OF RATE BITS\r |
| 189 | /DIFFER FOR DK KW.\r |
| 190 | TAD% FCNPTR /AC="STANDARD"\r |
| 191 | /ENABLE BITS FOR DK,KW.\r |
| 192 | SZL /IF ITS A KW THE RATE AND\r |
| 193 | /AND STND BITS ARE ALREADY\r |
| 194 | /POSITIONED AS FOLLOWS:\r |
| 195 | /RRR011000000\r |
| 196 | /B0-B3 AND B5 WILL GO TO\r |
| 197 | /KW CONTROL. B4,B5 WILL\r |
| 198 | /GO TO ENABLE. B3 IS ADC\r |
| 199 | /ON OVRFLO AND MAY BE SET\r |
| 200 | /BELOW. B5 ON CONTROL IS\r |
| 201 | /MODE 1. B4 AND B5 ON\r |
| 202 | /ENABLE ARE BUFF PRESET TO\r |
| 203 | /CLOCK COUNTER AND INTRUPT\r |
| 204 | /ON OVRFLO RESPECTIVELY.\r |
| 205 | JMP NOBIT-1 /ITS KW GO PUT IN CLENAB.\r |
| 206 | RTR /ITS DK; POSITION RATE TO\r |
| 207 | RAR /B3-B5. NOTE THAT THE LNK\r |
| 208 | /(CPTYP=0) IS BEING USED.\r |
| 209 | CMA /NOTE ALSO THAT THE RATE\r |
| 210 | /AND STND BITS ARE THE 1S\r |
| 211 | /COMP. OF WHAT THEY SHOULD\r |
| 212 | /BE, IE CPTYP=LNK=0\r |
| 213 | /BECOMES\r |
| 214 | /B2=1 OF ENABLE=BUFF\r |
| 215 | /PRESET TO CLK CNTR ON\r |
| 216 | /OVERFLO. LOOK AT THE RATE\r |
| 217 | /BITS IN THE HANDBOOK FOR\r |
| 218 | /BOTH DK,KW. R2,R5\r |
| 219 | /FOR DK IS 100HZ, 100KHZ\r |
| 220 | /RESPECTIVELY. R2,R5 FOR\r |
| 221 | /KW IS 100KHZ,100HZ.\r |
| 222 | /1S COMP.OF 2=5 ETC.\r |
| 223 | /SMARTEN UP STEVE!\r |
| 224 | /THE FINAL VALUE OF THE\r |
| 225 | /STND DK ENABLE BITS (1ST\r |
| 226 | /ENTRY IN CLKTBL) IS LEFT\r |
| 227 | /AS AN EXERCISE FOR THE\r |
| 228 | /PROGRAMMER.\r |
| 229 | JMP NOBIT-1 /GO PUT IN CLENAB\r |
| 230 | LOP1, RAR CLL /ROT 1 FCN BIT INTO LNK.\r |
| 231 | /B7=EXT CLK AND IS\r |
| 232 | /IGNORED HERE. B8=ADC ON\r |
| 233 | /OVRFLO, B9-B11 ARE STRIG3\r |
| 234 | /-STRIG1 RESP. BX=1=ENABLE\r |
| 235 | /FCN. 0=DISABLE\r |
| 236 | DCA FCNWD /PUT IT BACK (FCNWD IS\r |
| 237 | /SET BY FPP)\r |
| 238 | SNL /ENABLE FCN ?\r |
| 239 | JMP NOBIT /NO\r |
| 240 | TAD% FCNPTR /GET BITS FROM THE MAGIC\r |
| 241 | TAD CLENAB /TABLE.\r |
| 242 | DCA CLENAB /UPDATE ENABLE WORD.\r |
| 243 | NOBIT, ISZ FCNPTR /ADV TO NEXT\r |
| 244 | ISZ FCNPTR /TBL ENTRY.\r |
| 245 | TAD FCNWD /WHEN FCNWD GOES TO 0\r |
| 246 | AND P17 /WE ARE ALL DONE.\r |
| 247 | /THE "AND" IS DONE TO\r |
| 248 | /PROTECT AGAINST A BAD\r |
| 249 | /ARG FROM THE FORT CALL.\r |
| 250 | /IN A FRIENDLY ENIVORN,\r |
| 251 | /ITS NOT NECESSARY.\r |
| 252 | /NEVER TRUST A FORTRAN\r |
| 253 | /"PROGRAMMER".\r |
| 254 | P7540, SMA SZA /SMA IS SUPERFLOUS TO\r |
| 255 | /THE ROUT; BUT IT\r |
| 256 | /CREATES A NICE CONST.\r |
| 257 | JMP LOP1 /MORE TO DO\r |
| 258 | DCA STFLG /CLR THE SCHMITT\r |
| 259 | DCA STFLG+1 /TRIGGER FLAGS.\r |
| 260 | \f DCA STFLG+2\r |
| 261 | TAD OVRFLO /SET BUFF PRESET\r |
| 262 | CIA /(FPP SET THIS ARG)\r |
| 263 | CLAB\r |
| 264 | CLA\r |
| 265 | TAD CLENAB /THIS IS FOR KW ONLY.\r |
| 266 | AND P377 /AC=3XX. 3= OR BUFF PRE\r |
| 267 | /INTO CLK CNTR AND ENAB\r |
| 268 | /INT ON OVRFLO.\r |
| 269 | /XX ARE THE STRIGS.\r |
| 270 | CLEN /SET KW ENABLE OR\r |
| 271 | CLA /READ DK ENABLE.\r |
| 272 | DCA OVRCNT+1 /CLR NUM OF CLK OVRFLOS\r |
| 273 | DCA OVRCNT /SINCE TIME 0.\r |
| 274 | TAD CPTYP /NEED TYPE IN ORDER TO\r |
| 275 | RARCLL, RAR CLL /ISOLATE CONTROL\r |
| 276 | TAD CLENAB /BITS FOR\r |
| 277 | SZL /KW ?\r |
| 278 | AND P7540 /YES, B0-B2 IS RATE,\r |
| 279 | /B3 IS ADC, B5 IS BUFF\r |
| 280 | /PRE TO CLK CNTR ON\r |
| 281 | /OVRFLO, B6 IS MOX NIX.\r |
| 282 | /IF DK ALL BITS MAY HAVE\r |
| 283 | /MEANING\r |
| 284 | CLLR /START THE CLOCK\r |
| 285 | CLA\r |
| 286 | CIF CDF\r |
| 287 | JMP% SETCLK /RTN TO RTS\r |
| 288 | \fDOSYNC, 0 /HERE TO DISPOSITION A\r |
| 289 | /A SCHMITT TRIGGER.\r |
| 290 | TAD CPTYP /DK AND KW FLAGS ARE IN\r |
| 291 | RAR CLL /REVERSE ORDER. IF DK\r |
| 292 | /ARG IS OK; IF KW THEN\r |
| 293 | /MUST SET 1=3, 2=2, 3=1\r |
| 294 | /TO GET INDEX TO\r |
| 295 | /CORRECT FLAG.\r |
| 296 | TAD FCNWD /=REQUESTED STRIG=1,2,3\r |
| 297 | /(SET BY FPP)\r |
| 298 | SZL /DK ?\r |
| 299 | CIA /NO KW\r |
| 300 | AND P3 /IE 1 GOES TO -1 GOES\r |
| 301 | /TO 3 ETC. "AND" ALSO\r |
| 302 | /INSURES RANGE IS 0-3.\r |
| 303 | /IF ARG IS 0 RESULT IS\r |
| 304 | /ALWAYS 0.\r |
| 305 | TAD KSTFLG+1 /GET PTR TO FLAG\r |
| 306 | DCA SETCLK\r |
| 307 | TAD% SETCLK /FLAG=0 IF TRIG HAS NOT\r |
| 308 | /TRIPPED SINCE THE LAST\r |
| 309 | /CALL TO SYNC; =1\r |
| 310 | /OTHERWISE IE RTN 0=FALSE\r |
| 311 | DCA FCNWD /,1=TRUE (FPP WILL PICK\r |
| 312 | / UP FCNWD)\r |
| 313 | DCA% SETCLK /CLR FLAG ANYWAY\r |
| 314 | CIF CDF\r |
| 315 | JMP% DOSYNC /RTN TO RTS\r |
| 316 | \fIDOCLK, JMP AROUND /HERE ON CLOCK INTERRUPT\r |
| 317 | /(JMP AROUND IS A ONCE\r |
| 318 | /ONLY CONSTANT).\r |
| 319 | TAD KSTFLG+1 /SET PTR TO STRIG FLAGS.\r |
| 320 | DCA ITMP0\r |
| 321 | CLSA /GET CLOCK BITS.\r |
| 322 | DCAZ CSTAT /SAVE THEM FOR SOME\r |
| 323 | TADZ CSTAT /BODY ELSE.\r |
| 324 | SPA /OVER FLOW ?\r |
| 325 | ISZ OVRCNT+1 /YES BUMP LO ORD CNTR\r |
| 326 | SKP\r |
| 327 | ISZ OVRCNT /BUMP HI ORD\r |
| 328 | JMP DOTRIG /(HI ORD ISZ SKP IS\r |
| 329 | /HARMLESS)\r |
| 330 | LOP2, ISZ ITMP0 /ADV STRIG FLAG PTR.\r |
| 331 | RAR CLL /(OR RTR CLL IF KW)\r |
| 332 | /IE PUT STRIG BIT IN LNK.\r |
| 333 | /IF DK THE ORDER OF\r |
| 334 | /INTERROGATION IS S1,S2,S3\r |
| 335 | /IF KW THE ORDER IS S3,\r |
| 336 | /S2,S1. THE STATUS BITS\r |
| 337 | /FOR DK ARE ADJACENT IE\r |
| 338 | / B9(S3),B10(S2),B11(S1)\r |
| 339 | /FOR KW ITS EVERY OTHER,\r |
| 340 | /B6(S1),B8(S2),B10(S3).\r |
| 341 | DCA ISVBIT /SAVE WHATS LEFT.\r |
| 342 | RAL /COPY LNK INTO FLAG IF=1\r |
| 343 | SZA /IE DONT CLR FLAG WHEN\r |
| 344 | DCA% ITMP0 /ITS SET.\r |
| 345 | TAD ISVBIT\r |
| 346 | DOTRIG, AND P377 /THE "AND" INSURES THAT\r |
| 347 | /THE HI ORD BITS ARE\r |
| 348 | /CLRED SO THAT ISVBIT\r |
| 349 | /GOES TO 0 WHEN ALL\r |
| 350 | /STRIGS HAVE BEEN\r |
| 351 | /DISPOSITIONED. IE\r |
| 352 | /CLR OVRFLO BIT FOR DK,KW\r |
| 353 | /AND CLR PRE-EVENT BIT\r |
| 354 | /ON KW IF IT IS SET\r |
| 355 | SZA /DONE ?\r |
| 356 | JMP LOP2 /NO\r |
| 357 | TAD #CLINT /CALL USER EXTENDED\r |
| 358 | SZA CLA /CLOCK ROUT ?\r |
| 359 | JMS% #CLINT+1 /YES\r |
| 360 | JMP% IDOCLK /RTN TO IHANDL\r |
| 361 | \fFCNPTR,\r |
| 362 | OVRCNT,\r |
| 363 | KONQI, ADDR ONQI\r |
| 364 | P17, 17\r |
| 365 | P377, 377\r |
| 366 | FCNWD, 0 /FPP XRS\r |
| 367 | CPTYP, 0\r |
| 368 | RATE, 0\r |
| 369 | P1, 1\r |
| 370 | P2, 2\r |
| 371 | OVRFLO,\r |
| 372 | FCNTBL, ADDR CLKTBL\r |
| 373 | KSTFLG, ADDR STFLG-1\r |
| 374 | ENTRY #CLINT\r |
| 375 | #CLINT, 0;0\r |
| 376 | ENTRY TIME /FIGURE WHAT TIME IT IS\r |
| 377 | TIME, JSA SETUP\r |
| 378 | FLDA RPTR /=27;X;X IS USED TO FLOAT\r |
| 379 | STARTD\r |
| 380 | FLDA# OVRCNT /NUM OF CLK OVRFLOS SINCE\r |
| 381 | STARTF /TIME 0\r |
| 382 | FNORM\r |
| 383 | FMUL TOVR /=NUM OF BASIC TICKS PER\r |
| 384 | /CLOCK OVER FLOW.\r |
| 385 | /FAC=NUM OF TICKS SINCE\r |
| 386 | /TIME 0.\r |
| 387 | FDIV% RPTR,RATE /DIV BY BASIC RATE IN HZ\r |
| 388 | /OR 1 IF EXTERNAL CLK.\r |
| 389 | FSTA% FTMP0 /GIVE ANS TO CALLER, ALSO\r |
| 390 | /LEAVE ANS IN FAC IN\r |
| 391 | /CASE TIME WAS A FCN\r |
| 392 | /CALL. ANS=ELAPSED TIME IN\r |
| 393 | /SECONDS SINCE TIME 0 OR\r |
| 394 | /NUM OF EXTERNAL UNIT\r |
| 395 | JA GOBAK /TICKS\r |
| 396 | \f\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 |