home *** CD-ROM | disk | FTP | other *** search
/ boe.pres.k12.wv.us / boe.pres.k12.wv.us.zip / boe.pres.k12.wv.us / Utilities / Finishlynx / FinishLynx-8.00.exe / DakMDP.lss < prev    next >
Text File  |  2008-12-31  |  28KB  |  871 lines

  1. ; Defaults: 19200,8,N,1
  2. ;
  3. ; Lynx Scoreboard Script
  4. ;
  5. ; Copyright (c) 1995-2002 Lynx System Developers, Inc.
  6. ;
  7. ; Written by Kirk Sigel
  8. ;
  9. ; multidrop protocol for Daktronics TI-2020, TI-2021, TI-2022(wind gauge), TR-3101 display (and others)
  10. ; written by Todd Chamoy, modified by Jason Warne
  11. ; last modified 23 December, 2008
  12. ; turned 8th segment on in all digits
  13. ; to turn the 8th segment off, replace all occurrences of
  14. ; \bf\86\db\cf\e6\ed\fd\87\ff\e7 with \3f\06\5b\4f\66\6d\7d\07\7f\67
  15. ; Note: script will not work properly with time precision set to 1/10000
  16. ;
  17. ; Notes:
  18. ;  + Empty lines and lines that start with a semicolon are ignored.
  19. ;  + Lines that start with two semicolons indicate a section header.
  20. ;    They must be one of the following:
  21. ;      ;;Initialization
  22. ;      ;;TimeRunning
  23. ;      ;;TimeStopped
  24. ;      ;;TimeGun
  25. ;      ;;TimeBreak
  26. ;      ;;TimeUpdate
  27. ;      ;;Wind
  28. ;      ;;TimeOfDay
  29. ;      ;;ResultsHeader
  30. ;      ;;ResultsTrailer
  31. ;      ;;Result
  32. ;      ;;StartListHeader
  33. ;      ;;StartListTrailer
  34. ;      ;;StartList
  35. ;      ;;MessageHeader
  36. ;      ;;MessageTrailer
  37. ;      ;;Message
  38. ;    Sections may be omitted, appear in any order, and occur more than once.
  39. ;  + Format lines must begin with a value indicating which variable
  40. ;    they want to access. The special code \00 indicates that no variable
  41. ;    is being requested. If a variable is requested it will be inserted where
  42. ;    a '%s' printf style format specifier appears. There can only be one '%s'
  43. ;    specifier in lines requesting a variable and no other printf format
  44. ;    specifiers may appear. Remember, lines requesting a variable are used as
  45. ;    a printf format string and therefore must behave as such. Lines not 
  46. ;    requesting variables (code \00) can do whatever they want as these 
  47. ;    lines are not fed to a printf statement.
  48. ;  + Arbitrary 8 bit values are entered as \hh where h is a lowercase hex
  49. ;    digit. Note that h must be lowercase.
  50. ;  + Format lines can have the following commands embedded in them.
  51. ;    Note that only 10 registers (indexed 0-9) are currently implemented.
  52. ;     \U\hh   Set the 'U' value to hh. It is reset after the next command.
  53. ;     \Ui\hh  Set the 'U' value to register[hh].
  54. ;     \X\hh   Set the 'X' value to hh. It is reset after the next command.
  55. ;     \Xi\hh  Set the 'X' value to register[hh].
  56. ;     \=\hh   register[hh] = {register[U]|X|1}                 (assign)
  57. ;     \*\hh   register[hh] = register[hh] * {register[U]|X|1}  (multiply)
  58. ;     \/\hh   register[hh] = register[hh] / {register[U]|X|1}  (divide)
  59. ;     \#\hh   register[hh] = register[hh] # {register[U]|X|1}  (modulus)
  60. ;     \+\hh   register[hh] = register[hh] + {register[U]|X|1}  (add)
  61. ;     \-\hh   register[hh] = register[hh] - {register[U]|X|1}  (subtract)
  62. ;     \<\hh   register[hh] = register[hh] << {register[U]|X|1} (shift left)
  63. ;     \>\hh   register[hh] = register[hh] >> {register[U]|X|1} (shift right)
  64. ;     \&\hh   register[hh] = register[hh] & {register[U]|X|1}  (bit and)
  65. ;     \|\hh   register[hh] = register[hh] | {register[U]|X|1}  (bit or)
  66. ;     \^\hh   register[hh] = register[hh] ^ {register[U]|X|1}  (bit xor)
  67. ;     \~\hh   register[hh] = ~register[hh]                     (bit invert)
  68. ;     \F\hh   register[hh] = The result of running Function {U|0} on the 
  69. ;             next {X|<eol>} characters.
  70. ;              \U\00  IDS checksum.
  71. ;              \U\01  XOR checksum. register[hh] is used as the seed value.
  72. ;              \U\02  ADD checksum. register[hh] is used as the seed value.
  73. ;              \U\03  CRC-16. register[hh] is used as the seed value
  74. ;                       and register[hh+1] is the polynomial.
  75. ;              \U\04  CRC-32. register[hh] is used as the seed value
  76. ;                       and register[hh+1] is the polynomial.
  77. ;     \O\hh   Output register[hh] as an {X|1} byte value using method {U|0}.
  78. ;              \U\00  Binary little-endian (Intel byte order).
  79. ;              \U\01  Binary big-endian (Motorola byte order).
  80. ;              \U\02  ASCII text right justified space padded.
  81. ;              \U\03  ASCII text right justified zero padded.
  82. ;              \U\04  ASCII text left justified space padded.
  83. ;              \U\05  ASCII text left justified zero padded.
  84. ;     \S\hh   Scan the next {X|1} bytes into register[hh] using method {U|0}.
  85. ;              \U\00  ASCII text base 10.
  86. ;              \U\01  Binary little-endian (Intel byte order).
  87. ;              \U\02  Binary big-endian (Motorola byte order).
  88. ;     \P\hh   Run Procedure hh on the next {X|<eol>} characters.
  89. ;              \P\00  Reverse characters.
  90. ;              \P\01  Convert characters to Colorado Time format. Register[1]
  91. ;                       is the current character position on entry and the
  92. ;                       next character position on exit.
  93. ;              \P\02  Convert characters to Daktronics AllSport format.
  94. ;     \B\hh   Delete {register[U]|hh} (to beginning of line if zero) characters 
  95. ;             before the cursor or until the string contains X characters.
  96. ;     \D\hh   Delete {register[U]|hh} (to end of line if zero) characters 
  97. ;             at the cursor or until the string contains X characters.
  98. ;     \I\hh   Insert {register[U]|hh} spaces at the cursor or until the string
  99. ;             contains X characters.
  100. ;     \Ic\hh  Insert {register[U]|hh} {X's|spaces} at the cursor.
  101. ;     \L\hh   Move the cursor {register[U]|hh} positions to the left (to the 
  102. ;             beginning of the line if zero).
  103. ;     \R\hh   Move the cursor {register[U]|hh} positions to the right (to the
  104. ;             end of the line if zero).
  105. ;    Note that numbers 0 thru 9 can be entered directly for single character
  106. ;    embedded commands. For example, '\U\04' is the same as '\U4' and 
  107. ;    '\=\01' is the same as '\=1'.
  108. ;  + Be very careful about whitespace in each format line. Characters other
  109. ;    than '%s' specifiers and embedded commands and values will be sent
  110. ;    exactly as they appear on the line. This means, for instance, that using
  111. ;    tabs to make a line 'look right' in you favorite editor will cause
  112. ;    tabs to be sent to the scoreboard instead of the equivalent number of
  113. ;    spaces (probably not what you wanted).
  114. ;
  115. ; The format lines follow.
  116.  
  117. ;;Initialization
  118. ; for TI-2020 and TI-2021 address 22
  119. ; This is sent once to initialize the scoreboard.
  120. ; Line codes:
  121. ;  \00 No variable
  122. ;CLEAR THE BOARD
  123.  
  124. ;HEADER
  125. ;initialize register 2 to 0 (for checksum)
  126. \00\X0\=2
  127. ;sync byte 1
  128. \00\55\L1\U1\S3\U3\-2
  129. ;sync byte 2
  130. \00\aa\L1\U1\S3\U3\-2
  131. ;address
  132. \00\16\L1\U1\S3\U3\-2
  133. ;count (1 command byte + 7 digits + punctuation)
  134. \00\09\L1\U1\S3\U3\-2
  135. ;tag/command byte
  136. \00\O1\L1\U1\S3\U3\-2
  137. ;checksum 1
  138. \00\O2
  139.  
  140. ;DATA
  141. ;initialize register 2 to 0 (for checksum)
  142. \00\X0\=2
  143. ;control byte
  144. \00\22\L0\U1\S3\U3\-2
  145. ;8 blank bytes
  146. \00\00\00\00\00\00\00\00\00
  147. ;checksum 2
  148. \00\O2
  149. ;increment tag nibble
  150. \00\X\10\+1
  151.  
  152. ;;Initialization
  153. ; for TR-3101 address 40
  154. ; This is sent once to initialize the scoreboard.
  155. ; Line codes:
  156. ;  \00 No variable
  157. ;CLEAR THE BOARD
  158.  
  159. ;HEADER
  160. ;initialize register 2 to 0 (for checksum)
  161. \00\X0\=2
  162. ;sync byte 1
  163. \00\55\L1\U1\S3\U3\-2
  164. ;sync byte 2
  165. \00\aa\L1\U1\S3\U3\-2
  166. ;address
  167. \00\28\L1\U1\S3\U3\-2
  168. ;count (1 command byte + 16 digits)
  169. \00\11\L1\U1\S3\U3\-2
  170. ;tag/command byte
  171. \00\O1\L1\U1\S3\U3\-2
  172. ;checksum 1
  173. \00\O2
  174.  
  175. ;DATA
  176. ;initialize register 2 to 0 (for checksum)
  177. \00\X0\=2
  178. ;control byte
  179. \00\22\L0\U1\S3\U3\-2
  180. ;16 blank bytes
  181. \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00
  182. ;checksum 2
  183. \00\O2
  184. ;increment tag nibble
  185. \00\X\10\+1
  186.  
  187. ;;Initialization
  188. ; for TI-2022 address 01
  189. ; This is sent once to initialize the scoreboard.
  190. ; Line codes:
  191. ;  \00 No variable
  192. ;CLEAR THE BOARD
  193. ;HEADER
  194. ;initialize register 2 to 0 (for checksum)
  195. \00\X0\=2
  196. ;sync byte 1
  197. \00\55\L1\U1\S3\U3\-2
  198. ;sync byte 2
  199. \00\aa\L1\U1\S3\U3\-2
  200. ;address
  201. \00\01\L1\U1\S3\U3\-2
  202. ;count (command byte + 4 digits)
  203. \00\05\L1\U1\S3\U3\-2
  204. ;tag/command byte
  205. \00\U1\=3\X\f0\&3\X4\|3\O3\L1\U1\S3\U3\-2
  206. ;checksum 1
  207. \00\O2
  208.  
  209. ;DATA
  210. ;initialize register 2 to 0 (for checksum)
  211. \00\X0\=2
  212. ;control byte
  213. \00\22\L0\U1\S3\U3\-2
  214. ;4 blank digits
  215. \00\00\00\00\00
  216. ;checksum 2
  217. \00\O2
  218. ;increment tag nibble
  219. \00\X\10\+1
  220.  
  221. ;;TimeRunning
  222. ; for TI-2020 or TI-2021 address 22
  223. ; This is sent approximately 10 times per second.
  224. ; Line codes:
  225. ;  \00  No variable
  226. ;  \01  Formatted time
  227. ;  \02  Binary time in milliseconds (as a 4 byte little endian integer)
  228. ; Setting register[0] to 1 in a format line will cause that line and
  229. ; subsequent lines to only be sent once per second (when the second's 
  230. ; digit changes) instead of approximately 10 times per second. Setting
  231. ; register[0] to 0 will resume normal operation for remaining lines.
  232.  
  233. ;HEADER
  234. ;initialize register 2 to 0 (for checksum)
  235. \00\X0\=2
  236. ;sync byte 1
  237. \00\55\L1\U1\S3\U3\-2
  238. ;sync byte 2
  239. \00\aa\L1\U1\S3\U3\-2
  240. ;address
  241. \00\16\L1\U1\S3\U3\-2
  242. ;count (1 command byte + 7 digits + punctuation)
  243. \00\09\L1\U1\S3\U3\-2
  244. ;tag/command byte
  245. \00\O1\L1\U1\S3\U3\-2
  246. ;checksum 1
  247. \00\O2
  248.  
  249. ;DATA
  250. ;initialize register 2 to 0 (for checksum)
  251. \00\X0\=2
  252. ;control byte
  253. \00\22\L0\U1\S3\U3\-2
  254. ;Hh:Mm:Ss.abc
  255. ;M
  256. \01%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  257. ;m
  258. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  259. ;S
  260. \01%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  261. ;s
  262. \01%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  263. ;a
  264. \01%12.12s\X\0a\=4\L0\D9\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  265. ;6th byte is blank (no hundredths)
  266. \00\00
  267. ;7th byte is h
  268. \01%12.12s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  269. ;8th byte is punctuation (_. if m is blank, :. otherwise)
  270. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \45\45\45\45\45\45\45\45\45\45\40\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  271. ;checksum 2
  272. \00\O2
  273. ;increment tag nibble
  274. \00\X\10\+1
  275.  
  276. ;;TimeRunning
  277. ; for TR-3101 address 40
  278. ; This is sent approximately 10 times per second.
  279. ; Line codes:
  280. ;  \00  No variable
  281. ;  \01  Formatted time
  282. ;  \02  Binary time in milliseconds (as a 4 byte little endian integer)
  283. ; Setting register[0] to 1 in a format line will cause that line and
  284. ; subsequent lines to only be sent once per second (when the second's 
  285. ; digit changes) instead of approximately 10 times per second. Setting
  286. ; register[0] to 0 will resume normal operation for remaining lines.
  287.  
  288. ;HEADER
  289. ;initialize register 2 to 0 (for checksum)
  290. \00\X0\=2
  291. ;sync byte 1
  292. \00\55\L1\U1\S3\U3\-2
  293. ;sync byte 2
  294. \00\aa\L1\U1\S3\U3\-2
  295. ;address
  296. \00\28\L1\U1\S3\U3\-2
  297. ;count (1 command byte + 16 digits)
  298. \00\11\L1\U1\S3\U3\-2
  299. ;tag/command byte
  300. \00\O1\L1\U1\S3\U3\-2
  301. ;checksum 1
  302. \00\O2
  303.  
  304. ;DATA
  305. ;initialize register 2 to 0 (for checksum)
  306. \00\X0\=2
  307. ;control byte
  308. \00\22\L0\U1\S3\U3\-2
  309. ;1st byte is place x hundreds digit
  310. \00\00\L0\U1\S3\U3\-2
  311. ;2nd byte is place x ones digit
  312. \00\00\L0\U1\S3\U3\-2
  313. ;Hh:Mm:Ss.abc
  314. ;M
  315. \01%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  316. ;m
  317. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  318. ;S
  319. \01%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  320. ;s
  321. \01%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  322. ;a
  323. \01%12.12s\X\0a\=4\L0\D9\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  324. ;8th byte is blank (no hundredths)
  325. \00\00
  326. ;9th byte is blank 
  327. \00\00\L0\U1\S3\U3\-2
  328. ;10th byte is blank 
  329. \00\00\L0\U1\S3\U3\-2
  330. ;11th byte is blank
  331. \00\00\L0\U1\S3\U3\-2
  332. ;12th byte is blank
  333. \00\00\L0\U1\S3\U3\-2
  334. ;13th byte is blank
  335. \00\00\L0\U1\S3\U3\-2
  336. ;14th byte is blank
  337. \00\00\L0\U1\S3\U3\-2
  338. ;15th byte is blank
  339. \00\00\L0\U1\S3\U3\-2
  340. ;16th byte is place x tens digit
  341. \00\00\L0\U1\S3\U3\-2
  342. ;checksum 2
  343. \00\O2
  344. ;increment tag nibble
  345. \00\X\10\+1
  346.  
  347. ;;TimeStopped
  348. ; for TI-2020 or TI-2021 address 22
  349. ; This is sent when the time is stopped by a beam break.
  350. ; Line codes are identical to the TimeRunning line codes.
  351.  
  352. ;HEADER
  353. ;initialize register 2 to 0 (for checksum)
  354. \00\X0\=2
  355. ;sync byte 1
  356. \00\55\L1\U1\S3\U3\-2
  357. ;sync byte 2
  358. \00\aa\L1\U1\S3\U3\-2
  359. ;address
  360. \00\16\L1\U1\S3\U3\-2
  361. ;count (1 command byte + 7 digits + punctuation)
  362. \00\09\L1\U1\S3\U3\-2
  363. ;tag/command byte
  364. \00\O1\L1\U1\S3\U3\-2
  365. ;checksum 1
  366. \00\O2
  367.  
  368. ;DATA
  369. ;initialize register 2 to 0 (for checksum)
  370. \00\X0\=2
  371. ;control byte
  372. \00\22\L0\U1\S3\U3\-2
  373. ;Hh:Mm:Ss.abc
  374. ;M
  375. \01%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  376. ;m
  377. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  378. ;S
  379. \01%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  380. ;s
  381. \01%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  382. ;a
  383. \01%12.12s\X\0a\=4\L0\D9\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  384. ;b
  385. \01%12.12s\X\0a\=4\L0\D\0a\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  386. ;7th byte is h
  387. \01%12.12s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  388. ;8th byte is punctuation (_. if m is blank, :. otherwise)
  389. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \45\45\45\45\45\45\45\45\45\45\40\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  390. ;checksum 2
  391. \00\O2
  392. ;increment tag nibble
  393. \00\X\10\+1
  394.  
  395. ;;TimeStopped
  396. ; for TR-3101 address 40
  397. ; This is sent when the time is stopped by a beam break.
  398. ; Line codes are identical to the TimeRunning line codes.
  399.  
  400. ;HEADER
  401. ;initialize register 2 to 0 (for checksum)
  402. \00\X0\=2
  403. ;sync byte 1
  404. \00\55\L1\U1\S3\U3\-2
  405. ;sync byte 2
  406. \00\aa\L1\U1\S3\U3\-2
  407. ;address
  408. \00\28\L1\U1\S3\U3\-2
  409. ;count (1 command byte + 16 digits)
  410. \00\11\L1\U1\S3\U3\-2
  411. ;tag/command byte
  412. \00\O1\L1\U1\S3\U3\-2
  413. ;checksum 1
  414. \00\O2
  415.  
  416. ;DATA
  417. ;initialize register 2 to 0 (for checksum)
  418. \00\X0\=2
  419. ;control byte
  420. \00\22\L0\U1\S3\U3\-2
  421. ;1st byte is place x hundreds digit
  422. \00\00\L0\U1\S3\U3\-2
  423. ;2nd byte is place x ones digit
  424. \00\00\L0\U1\S3\U3\-2
  425. ;Hh:Mm:Ss.abc
  426. ;M
  427. \01%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  428. ;m
  429. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  430. ;S
  431. \01%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  432. ;s
  433. \01%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  434. ;a
  435. \01%12.12s\X\0a\=4\L0\D9\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  436. ;b
  437. \01%12.12s\X\0a\=4\L0\D\0a\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  438. ;9th byte is blank 
  439. \00\00\L0\U1\S3\U3\-2
  440. ;10th byte is blank 
  441. \00\00\L0\U1\S3\U3\-2
  442. ;11th byte is blank
  443. \00\00\L0\U1\S3\U3\-2
  444. ;12th byte is blank
  445. \00\00\L0\U1\S3\U3\-2
  446. ;13th byte is blank
  447. \00\00\L0\U1\S3\U3\-2
  448. ;14th byte is blank
  449. \00\00\L0\U1\S3\U3\-2
  450. ;15th byte is blank
  451. \00\00\L0\U1\S3\U3\-2
  452. ;16th byte is place x tens digit
  453. \00\00\L0\U1\S3\U3\-2
  454. ;checksum 2
  455. \00\O2
  456. ;increment tag nibble
  457. \00\X\10\+1
  458.  
  459.  
  460. ;;TimeOfDay
  461. ; Time of Day for TI-2020 or TI-2021 address 22
  462. ; This is sent when the 'Send time of day' option is checked in the
  463. ; Scoreboard pull down menu.
  464. ; Line codes are identical to the TimeRunning line codes.
  465. ;
  466. ;
  467. ;HEADER
  468. ;initialize register 2 to 0 (for checksum)
  469. \00\X0\=2
  470. ;sync byte 1
  471. \00\55\L1\U1\S3\U3\-2
  472. ;sync byte 2
  473. \00\aa\L1\U1\S3\U3\-2
  474. ;address
  475. \00\16\L1\U1\S3\U3\-2
  476. ;count (1 command byte + 7 digits + punctuation)
  477. \00\09\L1\U1\S3\U3\-2
  478. ;tag/command byte
  479. \00\O1\L1\U1\S3\U3\-2
  480. ;checksum 1
  481. \00\O2
  482.  
  483. ;DATA
  484. ;initialize register 2 to 0 (for checksum)
  485. \00\X0\=2
  486. ;control byte
  487. \00\22\L0\U1\S3\U3\-2
  488. ;time field is Hh:Mm:Ss.abc
  489. ;H
  490. \01%12.12s\X\0a\=4\L0\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  491. ;h
  492. \01%12.12s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  493. ;M
  494. \01%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  495. ;m
  496. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  497. ;S
  498. \01%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  499. ;s
  500. \01%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  501. ;7th byte is blank (attempt)
  502. \00\00\L0\U1\S3\U3\-2
  503. ;8th byte is punctuation (always :: for T.o.D.)
  504. \00\55\L0\U1\S3\U3\-2
  505.  
  506. ;checksum 2
  507. \00\O2
  508. ;increment tag nibble
  509. \00\X\10\+1
  510.  
  511. ;;TimeOfDay
  512. ; for TR-3101 address 40;;TimeOfDay for TR-3101 address 40
  513. ; This is sent when the 'Send time of day' option is checked in the
  514. ; Scoreboard pull down menu.
  515. ; Line codes are identical to the TimeRunning line codes.
  516. ;
  517. ;
  518. ;HEADER
  519. ;initialize register 2 to 0 (for checksum)
  520. \00\X0\=2
  521. ;sync byte 1
  522. \00\55\L1\U1\S3\U3\-2
  523. ;sync byte 2
  524. \00\aa\L1\U1\S3\U3\-2
  525. ;address
  526. \00\28\L1\U1\S3\U3\-2
  527. ;count (1 command byte + 16 digits)
  528. \00\11\L1\U1\S3\U3\-2
  529. ;tag/command byte
  530. \00\O1\L1\U1\S3\U3\-2
  531. ;checksum 1
  532. \00\O2
  533.  
  534. ;DATA
  535. ;initialize register 2 to 0 (for checksum)
  536. \00\X0\=2
  537. ;control byte
  538. \00\22\L0\U1\S3\U3\-2
  539. ;1st byte is place x hundreds digit
  540. \00\00\L0\U1\S3\U3\-2
  541. ;2nd byte is place x ones digit
  542. \00\00\L0\U1\S3\U3\-2
  543. ;time field is Hh:Mm:Ss.abc
  544. ;H
  545. \01%12.12s\X\0a\=4\L0\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  546. ;h
  547. \01%12.12s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  548. ;M
  549. \01%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  550. ;m
  551. \01%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  552. ;S
  553. \01%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  554. ;s
  555. \01%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  556. ;9th byte is blank 
  557. \00\00\L0\U1\S3\U3\-2
  558. ;10th byte is blank 
  559. \00\00\L0\U1\S3\U3\-2
  560. ;11th byte is blank
  561. \00\00\L0\U1\S3\U3\-2
  562. ;12th byte is blank
  563. \00\00\L0\U1\S3\U3\-2
  564. ;13th byte is blank
  565. \00\00\L0\U1\S3\U3\-2
  566. ;14th byte is blank
  567. \00\00\L0\U1\S3\U3\-2
  568. ;15th byte is blank
  569. \00\00\L0\U1\S3\U3\-2
  570. ;16th byte is place x tens digit
  571. \00\00\L0\U1\S3\U3\-2
  572. ;checksum 2
  573. \00\O2
  574. ;increment tag nibble
  575. \00\X\10\+1
  576.  
  577. ;;ResultsHeader
  578. ; for TI-2020 or TI-2021 address 22
  579. ; This is sent once each time the scoreboard is updated with results. It
  580. ; is sent before any result lines are sent.
  581. ; Line codes:
  582. ;  \00  No variable
  583. ;  \01  OFFICIAL/UNOFFICIAL string
  584. ;  \02  Event name
  585. ;  \03  Wind
  586. ;  \04  Event number
  587. ;  \05  Round number
  588. ;  \06  Heat number
  589. ;  \07  AUTO/MANUAL start type
  590. ;  \08  Number of participants
  591. ;
  592. ;HEADER
  593. ;initialize register 2 to 0 (for checksum)
  594. \00\X0\=2
  595. ;sync byte 1
  596. \00\55\L1\U1\S3\U3\-2
  597. ;sync byte 2
  598. \00\aa\L1\U1\S3\U3\-2
  599. ;address
  600. \00\01\L1\U1\S3\U3\-2
  601. ;count (command byte + 4 digits)
  602. \00\05\L1\U1\S3\U3\-2
  603. ;tag/command byte
  604. \00\U1\=3\X\f0\&3\X4\|3\O3\L1\U1\S3\U3\-2
  605. ;checksum 1
  606. \00\O2
  607. ;DATA
  608. ;initialize register 2 to 0 (for checksum)
  609. \00\X0\=2
  610. ;control byte
  611. \00\22\L0\U1\S3\U3\-2
  612. ;wind field is sw[w].t uuuuu (sign, whole, [possible whole], tenth, space, units)
  613. ;s (- is shown, otherwise blank)
  614. \03%5.5s\X0\=4\L0\U1\S4\D0\X\2d\^4\+4\00\40\L0\U4\R0\B1\L0\U1\S3\U3\-2
  615. ;w
  616. \03%5.5s\X\0a\=4\L0\D1\S4\D0\+4 \3f\06\5b\4f\66\6d\7d\07\7f\67\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  617. ;[w] or t (store value in register[3] but don't output it yet)
  618. \03%5.5s\X\0a\=4\L0\D2\S4\D1\S4\D0\+4 \3f\06\5b\4f\66\6d\7d\07\7f\67\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\D0
  619. ;punctuation (store value in register[4] but don't output it yet)
  620. \03%5.5s\X0\=4\L0\D2\U1\S4\D0\X\2e\^4\+4\00\80\L0\U4\R0\B1\L0\U1\S4\D0
  621. ; combine ([w] or t) and punctuation and output it
  622. \00\U4\|3\O3\U3\-2
  623. ;t or blank
  624. \03%5.5s\X\0a\=4\L0\D4\S4\D0\+4 \3f\06\5b\4f\66\6d\7d\07\7f\67\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  625. ;checksum 2
  626. \00\O2
  627. ;increment tag nibble
  628. \00\X\10\+1
  629.  
  630. ;;Result
  631. ; for TI-2020 or TI-2021 address 22
  632. ; This is sent once for each result line displayed on the scoreboard.
  633. ; Line codes:
  634. ;  \00  No variable
  635. ;  \01  Place
  636. ;  \02  Lane
  637. ;  \03  Id
  638. ;  \04  Name
  639. ;  \05  Affiliation
  640. ;  \06  Time
  641. ;  \07  Delta Time
  642. ;  \08  Cumulative Split Time
  643. ;  \09  Last Split Time
  644. ;  \0a  Laps To Go
  645. ;  \0b  License
  646. ;  \0c  ReacTime
  647. ;  \0d  Speed
  648. ;  \0e  Pace
  649. ; Register[0] is initialized with the index of the current result line and
  650. ; will range from 0 through PageSize - 1.
  651. ;
  652. ;HEADER
  653. ;initialize register 2 to 0 (for checksum)
  654. \00\X0\=2
  655. ;sync byte 1
  656. \00\55\L1\U1\S3\U3\-2
  657. ;sync byte 2
  658. \00\aa\L1\U1\S3\U3\-2
  659. ;address
  660. \00\16\L1\U1\S3\U3\-2
  661. ;count (1 command byte + 7 digits + punctuation)
  662. \00\09\L1\U1\S3\U3\-2
  663. ;tag/command byte
  664. \00\O1\L1\U1\S3\U3\-2
  665. ;checksum 1
  666. \00\O2
  667.  
  668. ;DATA
  669. ;initialize register 2 to 0 (for checksum)
  670. \00\X0\=2
  671. ;control byte
  672. \00\22\L0\U1\S3\U3\-2
  673. ;Hh:Mm:Ss.abc
  674. ;M
  675. \06%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  676. ;m
  677. \06%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  678. ;S
  679. \06%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  680. ;s
  681. \06%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  682. ;a
  683. \06%12.12s\X\0a\=4\L0\D9\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  684. ;b
  685. \06%12.12s\X\0a\=4\L0\D\0a\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  686. ;7th byte can be place, lane, or blank (uncomment the one you want)
  687. \01%1.1s\X\0a\=4\L0\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  688. ;\02%1.1s\X\0a\=4\L0\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  689. ;\00\00
  690. ;8th byte is punctuation (_. if m is blank, :. otherwise)
  691. \06%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \45\45\45\45\45\45\45\45\45\45\40\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  692. ;checksum 2
  693. \00\O2
  694. ;increment tag nibble
  695. \00\X\10\+1
  696.  
  697. ;;Result
  698. ; for TR-3101 address 40
  699. ; This is sent once for each result line displayed on the scoreboard.
  700. ; Line codes:
  701. ;  \00  No variable
  702. ;  \01  Place
  703. ;  \02  Lane
  704. ;  \03  Id
  705. ;  \04  Name
  706. ;  \05  Affiliation
  707. ;  \06  Time
  708. ;  \07  Delta Time
  709. ;  \08  Cumulative Split Time
  710. ;  \09  Last Split Time
  711. ;  \0a  Laps To Go
  712. ;  \0b  License
  713. ;  \0c  ReacTime
  714. ;  \0d  Speed
  715. ;  \0e  Pace
  716. ; Register[0] is initialized with the index of the current result line and
  717. ; will range from 0 through PageSize - 1.
  718. ;
  719. ;HEADER
  720. ;initialize register 2 to 0 (for checksum)
  721. \00\X0\=2
  722. ;sync byte 1
  723. \00\55\L1\U1\S3\U3\-2
  724. ;sync byte 2
  725. \00\aa\L1\U1\S3\U3\-2
  726. ;address
  727. \00\28\L1\U1\S3\U3\-2
  728. ;count (1 command byte + 16 digits)
  729. \00\11\L1\U1\S3\U3\-2
  730. ;tag/command byte
  731. \00\O1\L1\U1\S3\U3\-2
  732. ;checksum 1
  733. \00\O2
  734.  
  735. ;DATA
  736. ;initialize register 2 to 0 (for checksum)
  737. \00\X0\=2
  738. ;control byte
  739. \00\22\L0\U1\S3\U3\-2
  740. ;Place x 100
  741. \01%4.4s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  742. ;Place x 1
  743. \01%3.3s\X\0a\=4\L0\D2\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  744. ;Hh:Mm:Ss.abc
  745. ;M
  746. \06%12.12s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  747. ;m
  748. \06%12.12s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  749. ;S
  750. \06%12.12s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  751. ;s
  752. \06%12.12s\X\0a\=4\L0\D7\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  753. ;a
  754. \06%12.12s\X\0a\=4\L0\D9\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  755. ;b
  756. \06%12.12s\X\0a\=4\L0\D\0a\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  757. ;9th byte is blank 
  758. \00\00\L0\U1\S3\U3\-2
  759. ;10th byte is blank 
  760. \00\00\L0\U1\S3\U3\-2
  761. ;11th byte is blank
  762. \00\00\L0\U1\S3\U3\-2
  763. ;12th byte is blank
  764. \00\00\L0\U1\S3\U3\-2
  765. ;13th byte is blank
  766. \00\00\L0\U1\S3\U3\-2
  767. ;14th byte is blank
  768. \00\00\L0\U1\S3\U3\-2
  769. ;15th byte is blank
  770. \00\00\L0\U1\S3\U3\-2
  771. ;16th byte can be place, lane, or blank (uncomment the one you want)
  772. \01%3.3s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  773. ;\02%1.1s\X\0a\=4\L0\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  774. ;\00\00
  775. ;checksum 2
  776. \00\O2
  777. ;increment tag nibble
  778. \00\X\10\+1
  779.  
  780. ;;Message
  781. ; for TI-2020 or TI-2021 address 22
  782. ; This is sent once for each message line displayed on the scoreboard.
  783. ; Line codes:
  784. ;  \00  No variable
  785. ;  \01  Text
  786. ; Register[0] is initialized with the index of the current message line and
  787. ; will range from 0 through <number of lines> - 1.
  788.  
  789. ;HEADER
  790. ;initialize register 2 to 0 (for checksum)
  791. \00\X0\=2
  792. ;sync byte 1
  793. \00\55\L1\U1\S3\U3\-2
  794. ;sync byte 2
  795. \00\aa\L1\U1\S3\U3\-2
  796. ;address
  797. \00\16\L1\U1\S3\U3\-2
  798. ;count (1 command byte + 7 digits + punctuation)
  799. \00\09\L1\U1\S3\U3\-2
  800. ;tag/command byte
  801. \00\O1\L1\U1\S3\U3\-2
  802. ;checksum 1
  803. \00\O2
  804.  
  805. ;DATA
  806. ;initialize register 2 to 0 (for checksum)
  807. \00\X0\=2
  808. ;control byte
  809. \00\22\L0\U1\S3\U3\-2
  810.  
  811. \01%7.7s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  812. \01%7.7s\X\0a\=4\L0\D2\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  813. \01%7.7s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  814. \01%7.7s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  815. \01%7.7s\X\0a\=4\L0\D5\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  816. \01%7.7s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  817. \01%7.7s\X\0a\=4\L0\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  818. ;no punctuation (8th byte)
  819. \00\00
  820.  
  821. ;checksum 2
  822. \00\O2
  823. ;increment tag nibble
  824. \00\X\10\+1
  825.  
  826. ;;Message
  827. ; for TR-3101 address 40
  828. ; This is sent once for each message line displayed on the scoreboard.
  829. ; Line codes:
  830. ;  \00  No variable
  831. ;  \01  Text
  832. ; Register[0] is initialized with the index of the current message line and
  833. ; will range from 0 through <number of lines> - 1.
  834.  
  835. ;HEADER
  836. ;initialize register 2 to 0 (for checksum)
  837. \00\X0\=2
  838. ;sync byte 1
  839. \00\55\L1\U1\S3\U3\-2
  840. ;sync byte 2
  841. \00\aa\L1\U1\S3\U3\-2
  842. ;address
  843. \00\28\L1\U1\S3\U3\-2
  844. ;count (1 command byte + 7 digits + punctuation)
  845. \00\09\L1\U1\S3\U3\-2
  846. ;tag/command byte
  847. \00\O1\L1\U1\S3\U3\-2
  848. ;checksum 1
  849. \00\O2
  850.  
  851. ;DATA
  852. ;initialize register 2 to 0 (for checksum)
  853. \00\X0\=2
  854. ;control byte
  855. \00\22\L0\U1\S3\U3\-2
  856.  
  857. \01%7.7s\X\0a\=4\L0\D1\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  858. \01%7.7s\X\0a\=4\L0\D2\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  859. \01%7.7s\X\0a\=4\L0\D3\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  860. \01%7.7s\X\0a\=4\L0\D4\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  861. \01%7.7s\X\0a\=4\L0\D5\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  862. \01%7.7s\X\0a\=4\L0\D6\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  863. \01%7.7s\X\0a\=4\L0\S4\D0\+4 \bf\86\db\cf\e6\ed\fd\87\ff\e7\00\L0\U4\R0\B0\R1\D0\L0\U1\S3\U3\-2
  864. ;no punctuation (8th byte)
  865. \00\00
  866.  
  867. ;checksum 2
  868. \00\O2
  869. ;increment tag nibble
  870. \00\X\10\+1
  871.