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 / uGraph.lss < prev    next >
Text File  |  2004-03-29  |  11KB  |  256 lines

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