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 / Spectrum.lss < prev    next >
Text File  |  2006-03-17  |  11KB  |  280 lines

  1. ; Defaults: 9600,8,N,1
  2. ;
  3. ; Lynx Scoreboard Script Version 2.0
  4. ;
  5. ; Copyright (c) 1995-2004 Lynx System Developers, Inc.
  6. ;
  7. ; Written by Kirk Sigel
  8. ;
  9. ; Notes:
  10. ;  + Empty lines and lines that start with a semicolon are ignored.
  11. ;
  12. ;  + Lines that start with two semicolons indicate a section header.
  13. ;    Sections may be omitted, appear in any order, and occur more than once.
  14. ;    The current section headers and their valid group codes are:
  15. ;      ;;Initialization
  16. ;        \10 \13 \17
  17. ;      ;;TimeRunning
  18. ;      ;;TimeStopped
  19. ;      ;;TimeGun
  20. ;      ;;TimeBreak
  21. ;      ;;TimeUpdate
  22. ;      ;;TimeOfDay
  23. ;        \11 \13 \17
  24. ;      ;;Wind
  25. ;        \12 \13 \17
  26. ;      ;;StartListHeader
  27. ;      ;;StartListTrailer
  28. ;      ;;StartedHeader
  29. ;      ;;StartedTrailer
  30. ;      ;;ResultsHeader
  31. ;      ;;ResultsTrailer
  32. ;        \13 \17
  33. ;      ;;StartList
  34. ;      ;;Started
  35. ;      ;;Results (or ;;Result)
  36. ;        \13 \14 \17
  37. ;      ;;MessageHeader
  38. ;      ;;MessageTrailer
  39. ;        \13 \15 \17
  40. ;      ;;Message
  41. ;        \13 \15 \16 \17
  42. ;    The StartList*, Started*, and Results* sections may have an optional
  43. ;    page number contained in square brackets immediately following the
  44. ;    section name. If more than one page is defined for a section then each
  45. ;    page will be shown, in order, when paging is enabled. Note that page
  46. ;    numbers do not need to be contiguous; they are simply used to establish
  47. ;    the order of pages. If a page number is omitted then a 0 (zero) is
  48. ;    assumed.
  49. ;    Some sections can be omitted and they will "fall back" to other
  50. ;    sections. TimeOfDay falls back to TimeRunning. The StartList* sections
  51. ;    fall back to the Results* sections. The Started* sections fall back
  52. ;    to the StartList* sections (after the StartList* sections have fallen
  53. ;    back to the Results* sections if necessary).
  54. ;
  55. ;  + Format lines must begin with a one byte group code and a one byte
  56. ;    variable code. The special variable code \00 indicates that no variable
  57. ;    is being requested. If a variable is requested it will be inserted where
  58. ;    a '%s' printf style format specifier appears. There can only be one '%s'
  59. ;    specifier in lines requesting a variable and no other printf format
  60. ;    specifiers may appear. Remember, lines requesting a variable are used as
  61. ;    a printf format string and therefore must behave as such. Lines not 
  62. ;    requesting a variable (variable code \00) can do whatever they want as
  63. ;    these lines are not fed to a printf statement.
  64. ;    The current group codes and their variable codes are:
  65. ;      \10  Initialize
  66. ;         \00  No variable
  67. ;      \11  Time
  68. ;         \00  No variable
  69. ;         \01  Formatted time
  70. ;         \02  Binary time in milliseconds (4 byte little endian integer)
  71. ;      \12  Wind
  72. ;         \00  No variable
  73. ;         \01  Formatted wind
  74. ;         \02  Binary wind in hundredths of units (4 byte little endian integer)
  75. ;      \13  Results Header/Trailer
  76. ;         \00  No variable
  77. ;         \01  OFFICIAL/UNOFFICIAL string
  78. ;         \02  Event name
  79. ;         \03  Wind
  80. ;         \04  Event number
  81. ;         \05  Round number
  82. ;         \06  Heat number
  83. ;         \07  AUTO/MANUAL start type
  84. ;         \08  Number of participants
  85. ;      \14  Result
  86. ;         \00  No variable
  87. ;         \01  Place
  88. ;         \02  Lane
  89. ;         \03  Id
  90. ;         \04  Name
  91. ;         \05  Affiliation
  92. ;         \06  Time
  93. ;         \07  Delta Time
  94. ;         \08  Cumulative Split Time
  95. ;         \09  Last Split Time
  96. ;         \0a  Laps To Go
  97. ;         \0b  License
  98. ;         \0c  ReacTime
  99. ;         \0d  Speed
  100. ;         \0e  Pace
  101. ;         \0f  Best Split Time
  102. ;      \15  Message Header/Trailer
  103. ;         \00  No variable
  104. ;      \16  Message
  105. ;         \00  No variable
  106. ;         \01  Text
  107. ;      \17  Break Time
  108. ;         \00  No variable
  109. ;         \nn  Formatted break time nn
  110. ;
  111. ;  + Arbitrary 8 bit values are entered as \hh where h is a lowercase hex
  112. ;    digit. Note that h must be lowercase.
  113. ;
  114. ;  + Format lines can have the following commands embedded in them.
  115. ;    Note that only 10 registers (indexed 0-9) are currently implemented.
  116. ;     \U\hh   Set the 'U' value to hh. It is reset after the next command.
  117. ;     \Ui\hh  Set the 'U' value to register[hh].
  118. ;     \X\hh   Set the 'X' value to hh. It is reset after the next command.
  119. ;     \Xi\hh  Set the 'X' value to register[hh].
  120. ;     \=\hh   register[hh] = {register[U]|X|1}                 (assign)
  121. ;     \*\hh   register[hh] = register[hh] * {register[U]|X|1}  (multiply)
  122. ;     \/\hh   register[hh] = register[hh] / {register[U]|X|1}  (divide)
  123. ;     \#\hh   register[hh] = register[hh] # {register[U]|X|1}  (modulus)
  124. ;     \+\hh   register[hh] = register[hh] + {register[U]|X|1}  (add)
  125. ;     \-\hh   register[hh] = register[hh] - {register[U]|X|1}  (subtract)
  126. ;     \<\hh   register[hh] = register[hh] << {register[U]|X|1} (shift left)
  127. ;     \>\hh   register[hh] = register[hh] >> {register[U]|X|1} (shift right)
  128. ;     \&\hh   register[hh] = register[hh] & {register[U]|X|1}  (bit and)
  129. ;     \|\hh   register[hh] = register[hh] | {register[U]|X|1}  (bit or)
  130. ;     \^\hh   register[hh] = register[hh] ^ {register[U]|X|1}  (bit xor)
  131. ;     \~\hh   register[hh] = ~register[hh]                     (bit invert)
  132. ;     \F\hh   register[hh] = The result of running Function {U|0} on the 
  133. ;             next {X|<eol>} characters.
  134. ;              \U\00  IDS checksum.
  135. ;              \U\01  XOR checksum. register[hh] is used as the seed value.
  136. ;              \U\02  ADD checksum. register[hh] is used as the seed value.
  137. ;              \U\03  CRC-16. register[hh] is used as the seed value
  138. ;                       and register[hh+1] is the polynomial.
  139. ;              \U\04  CRC-32. register[hh] is used as the seed value
  140. ;                       and register[hh+1] is the polynomial.
  141. ;     \O\hh   Output register[hh] as an {X|1} byte value using method {U|0}.
  142. ;              \U\00  Binary little-endian (Intel byte order).
  143. ;              \U\01  Binary big-endian (Motorola byte order).
  144. ;              \U\02  ASCII text right justified space padded.
  145. ;              \U\03  ASCII text right justified zero padded.
  146. ;              \U\04  ASCII text left justified space padded.
  147. ;              \U\05  ASCII text left justified zero padded.
  148. ;     \S\hh   Scan the next {X|1} bytes into register[hh] using method {U|0}.
  149. ;              \U\00  ASCII text base 10.
  150. ;              \U\01  Binary little-endian (Intel byte order).
  151. ;              \U\02  Binary big-endian (Motorola byte order).
  152. ;     \P\hh   Run Procedure hh on the next {X|<eol>} characters.
  153. ;              \P\00  Reverse characters.
  154. ;              \P\01  Convert characters to Colorado Time format. Registeru[1]
  155. ;                       is the current character position on entry and the
  156. ;                       next character position on exit.
  157. ;              \P\02  Convert characters to Daktronics AllSport format.
  158. ;     \B\hh   Delete {register[U]|hh} (to beginning of line if zero) characters 
  159. ;             before the cursor or until the string contains X characters.
  160. ;     \D\hh   Delete {register[U]|hh} (to end of line if zero) characters 
  161. ;             at the cursor or until the string contains X characters.
  162. ;     \I\hh   Insert {register[U]|hh} spaces at the cursor or until the string
  163. ;             contains X characters.
  164. ;     \Ic\hh  Insert {register[U]|hh} {X's|spaces} at the cursor.
  165. ;     \L\hh   Move the cursor {register[U]|hh} positions to the left (to the 
  166. ;             beginning of the line if zero).
  167. ;     \R\hh   Move the cursor {register[U]|hh} positions to the right (to the
  168. ;             end of the line if zero).
  169. ;    Note that numbers 0 thru 9 can be entered directly for single character
  170. ;    embedded commands. For example, '\U\04' is the same as '\U4' and 
  171. ;    '\=\01' is the same as '\=1'.
  172. ;
  173. ;  + Be very careful about whitespace in each format line. Characters other
  174. ;    than '%s' specifiers and embedded commands and values will be sent
  175. ;    exactly as they appear on the line. This means, for instance, that using
  176. ;    tabs to make a line 'look right' in your favorite editor will cause
  177. ;    tabs to be sent to the scoreboard instead of the equivalent number of
  178. ;    spaces (probably not what you wanted).
  179. ;
  180. ; The format lines follow.
  181.  
  182. ;;Initialization
  183. ; This is sent once to initialize the scoreboard.
  184. \10\00\10\00\0a
  185.  
  186. ;;TimeRunning
  187. ; This is sent approximately 10 times per second.
  188. ; Setting register[0] to 1 in a format line will cause that line and
  189. ; subsequent lines to only be sent once per second (when the second's 
  190. ; digit changes) instead of approximately 10 times per second. Setting
  191. ; register[0] to 0 will resume normal operation for remaining lines.
  192. \11\01\10\01%s\0a
  193.  
  194. ;;TimeStopped
  195. ; This is sent when the time is stopped by a beam break.
  196. \11\01\10\02%12.12s\0a
  197.  
  198. ;;TimeGun
  199. ; This is sent when a gun signal is received.
  200. \11\01\10\01%12.12s\0a
  201.  
  202. ;;TimeBreak
  203. ; This is sent when a beam break is received.
  204. \11\01\10\01%12.12s\0a
  205.  
  206. ;;TimeUpdate
  207. ; This is sent approximately 10 times per second.
  208. \11\01\10\01%12.12s\0a
  209.  
  210. ;;TimeOfDay
  211. ; This is sent when the 'Send time of day' option is checked in the
  212. ; Scoreboard pull down menu.
  213. \11\01\=0\10\08%12.12s\B4\0a
  214.  
  215. ;;StartListHeader
  216. ; This is sent once each time the scoreboard is updated with results. It
  217. ; is sent before any result lines are sent.
  218. ; event
  219. \13\04\10\03%s\0a
  220. ; heat
  221. \13\06\10\04%s\0a
  222.  
  223. ;;StartList
  224. ; This is sent once for each result line displayed on the scoreboard.
  225. ; send nothing!
  226. \14\00
  227.  
  228. ;;StartedHeader
  229. ; This is sent once each time the scoreboard is updated with results. It
  230. ; is sent before any result lines are sent.
  231. ; event
  232. \13\04\10\03%s\0a
  233. ; heat
  234. \13\06\10\04%s\0a
  235.  
  236. ;;Started
  237. ; This is sent once for each result line displayed on the scoreboard.
  238. ; Register[0] is initialized with the index of the current result line and
  239. ; will range from 0 through PageSize - 1.
  240. ; send nothing!
  241. \14\00
  242.  
  243. ;;ResultsHeader
  244. ; This is sent once each time the scoreboard is updated with results. It
  245. ; is sent before any result lines are sent.
  246. ; event
  247. \13\04\10\03%s\0a
  248. ; heat
  249. \13\06\10\04%s\0a
  250.  
  251. ;;Results
  252. ; This is sent once for each result line displayed on the scoreboard.
  253. ; Register[0] is initialized with the index of the current result line and
  254. ; will range from 0 through PageSize - 1.
  255. \14\01\10\05%-3.3s\0a
  256. \14\02\10\06%-3.3s\0a
  257. \14\06\10\07%-12.12s\0a
  258.  
  259. ;;ResultsTrailer
  260. ; This is sent once each time the scoreboard is updated with results. It
  261. ; is sent after all result lines are sent.
  262. \13\00
  263.  
  264. ;;MessageHeader
  265. ; This is sent once each time the scoreboard is updated with the message. It
  266. ; is sent before any message lines are sent.
  267. \15\00Message Header\0d\0a
  268.  
  269. ;;Message
  270. ; This is sent once for each message line displayed on the scoreboard.
  271. ; Register[0] is initialized with the index of the current message line and
  272. ; will range from 0 through <number of lines> - 1.
  273. \16\01%s\0d\0a
  274.  
  275. ;;MessageTrailer
  276. ; This is sent once each time the scoreboard is updated with the message. It
  277. ; is sent after all message lines are sent.
  278. \15\00Message Trailer\0d\0a
  279. 
  280.