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 / Colorado.lss < prev    next >
Text File  |  2002-01-04  |  9KB  |  234 lines

  1. ; Defaults: 9600,8,E,1
  2. ;
  3. ; Lynx Scoreboard Script
  4. ;
  5. ; Copyright (c) 1995-1997 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. ;  + 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. ;    Sections may be omitted, appear in any order, and occur more than once.
  25. ;  + Format lines must begin with a value indicating which variable
  26. ;    they want to access. The special code \00 indicates that no variable
  27. ;    is being requested. If a variable is requested it will be inserted where
  28. ;    a '%s' printf style format specifier appears. There can only be one '%s'
  29. ;    specifier in lines requesting a variable and no other printf format
  30. ;    specifiers may appear. Remember, lines requesting a variable are used as
  31. ;    a printf format string and therefore must behave as such. Lines not 
  32. ;    requesting variables (code \00) can do whatever they want as these 
  33. ;    lines are not fed to a printf statement.
  34. ;  + Arbitrary 8 bit values are entered as \hh where h is a lowercase hex
  35. ;    digit. Note that h must be lowercase.
  36. ;  + Format lines can have the following commands embedded in them.
  37. ;    Note that only 10 registers (indexed 0-9) are currently implemented.
  38. ;     \U\hh   Set the 'U' value to hh. It is reset after the next command.
  39. ;     \Ui\hh  Set the 'U' value to register[hh].
  40. ;     \X\hh   Set the 'X' value to hh. It is reset after the next command.
  41. ;     \Xi\hh  Set the 'X' value to register[hh].
  42. ;     \=\hh   register[hh] = {register[U]|X|1}                 (assign)
  43. ;     \*\hh   register[hh] = register[hh] * {register[U]|X|1}  (multiply)
  44. ;     \/\hh   register[hh] = register[hh] / {register[U]|X|1}  (divide)
  45. ;     \#\hh   register[hh] = register[hh] # {register[U]|X|1}  (modulus)
  46. ;     \+\hh   register[hh] = register[hh] + {register[U]|X|1}  (add)
  47. ;     \-\hh   register[hh] = register[hh] - {register[U]|X|1}  (subtract)
  48. ;     \<\hh   register[hh] = register[hh] << {register[U]|X|1} (shift left)
  49. ;     \>\hh   register[hh] = register[hh] >> {register[U]|X|1} (shift right)
  50. ;     \&\hh   register[hh] = register[hh] & {register[U]|X|1}  (bit and)
  51. ;     \|\hh   register[hh] = register[hh] | {register[U]|X|1}  (bit or)
  52. ;     \^\hh   register[hh] = register[hh] ^ {register[U]|X|1}  (bit xor)
  53. ;     \~\hh   register[hh] = ~register[hh]                     (bit invert)
  54. ;     \F\hh   register[hh] = The result of running Function {U|0} on the 
  55. ;             next {X|<eol>} characters.
  56. ;              \U\00  IDS checksum.
  57. ;              \U\01  XOR checksum. register[hh] is used as the seed value.
  58. ;     \O\hh   Output register[hh] as an {X|1} byte value using method {U|0}.
  59. ;              \U\00  Binary little-endian (Intel byte order).
  60. ;              \U\01  Binary big-endian (Motorola byte order).
  61. ;              \U\02  ASCII text right justified space padded.
  62. ;              \U\03  ASCII text right justified zero padded.
  63. ;              \U\04  ASCII text left justified space padded.
  64. ;              \U\05  ASCII text left justified zero padded.
  65. ;     \S\hh   Scan the next {X|1} bytes into register[hh] using method {U|0}.
  66. ;              \U\00  ASCII text base 10.
  67. ;              \U\01  Binary little-endian (Intel byte order).
  68. ;              \U\02  Binary big-endian (Motorola byte order).
  69. ;     \P\hh   Run Procedure hh on the next {X|<eol>} characters.
  70. ;              \P\00  Reverse characters.
  71. ;              \P\01  Convert characters to Colorado Time format. Register[1]
  72. ;                       is the current character position on entry and the
  73. ;                       next character position on exit.
  74. ;              \P\02  Convert characters to Daktronics AllSport format.
  75. ;     \B\hh   Delete {register[U]|hh} (to beginning of line if zero) characters 
  76. ;             before the cursor or until the string contains X characters.
  77. ;     \D\hh   Delete {register[U]|hh} (to end of line if zero) characters 
  78. ;             at the cursor or until the string contains X characters.
  79. ;     \I\hh   Insert {register[U]|hh} spaces at the cursor or until the string
  80. ;             contains X characters.
  81. ;     \Ic\hh  Insert {register[U]|hh} {X's|spaces} at the cursor.
  82. ;     \L\hh   Move the cursor {register[U]|hh} positions to the left (to the 
  83. ;             beginning of the line if zero).
  84. ;     \R\hh   Move the cursor {register[U]|hh} positions to the right (to the
  85. ;             end of the line if zero).
  86. ;    Note that numbers 0 thru 9 can be entered directly for single character
  87. ;    embedded commands. For example, '\U\04' is the same as '\U4' and 
  88. ;    '\=\01' is the same as '\=1'.
  89. ;  + Be very careful about whitespace in each format line. Characters other
  90. ;    than '%s' specifiers and embedded commands and values will be sent
  91. ;    exactly as they appear on the line. This means, for instance, that using
  92. ;    tabs to make a line 'look right' in you favorite editor will cause
  93. ;    tabs to be sent to the scoreboard instead of the equivalent number of
  94. ;    spaces (probably not what you wanted).
  95. ;
  96. ; The format lines follow.
  97.  
  98. ;;Initialization
  99. ; This is sent once to initialize the scoreboard.
  100. ; Line codes:
  101. ;  \00 No variable
  102. ;
  103. ; Register[9] holds the module number; multi-module displays must be numbered
  104. ; sequentially.
  105. \00\X\0f\=9
  106. ; Get the two address bytes ready for the data line. Register[7] holds
  107. ; the control data address and register[8] holds the digit data address.
  108. ; r[8] = r[9]; 
  109. ; r[8] = ~r[8]; 
  110. ; r[8] &= 0x1f; 
  111. ; r[8] <<= 1; 
  112. ; r[8] |= 0x80; 
  113. ; r[7] = r[8]; 
  114. ; r[7] |= 1;
  115. \00\U9\=8\~8\X\1f\&8\<8\X\80\|8\U8\=7\|7
  116. ; init
  117. \00\O7\0f\1f\2f\3f\4f\5d\6f\7f\O8\00\10\20\30\4e\5d\6c\7b
  118.  
  119. ;;TimeRunning
  120. ; This is sent approximately 10 times per second.
  121. ; Line codes:
  122. ;  \00  No variable
  123. ;  \01  Time
  124. ; Setting register[0] to 1 in a format line will cause that line and
  125. ; subsequent lines to only be sent once per second (when the second's 
  126. ; digit changes) instead of approximately 10 times per second. Setting
  127. ; register[0] to 0 will resume normal operation for remaining lines.
  128. ;
  129. ; Get the two address bytes ready for the data line. Register[7] holds
  130. ; the control data address and register[8] holds the digit data address.
  131. ; Initialize r[1] for P1.
  132. ; r[8] = r[9]; 
  133. ; r[8] = ~r[8]; 
  134. ; r[8] &= 0x1f; 
  135. ; r[8] <<= 1; 
  136. ; r[8] |= 0x80; 
  137. ; r[7] = r[8]; 
  138. ; r[7] |= 1;
  139. ; r[1] = 0;
  140. \00\U9\=8\~8\X\1f\&8\<8\X\80\|8\U8\=7\|7\X0\=1
  141. ; data
  142. \01\=0\O7\0f\1f\2f\3f\4f\5d\6f\7f\O8%12.12s\B4  \L4\B1\L2\B3  \L2\X8\P1
  143.  
  144. ;;TimeStopped
  145. ; This is sent when the time is stopped by a beam break.
  146. ; Line codes are identical to the TimeRunning line codes.
  147. ;
  148. ; Get the two address bytes ready for the data line. Register[7] holds
  149. ; the control data address and register[8] holds the digit data address.
  150. ; Initialize r[1] for P1.
  151. ; r[8] = r[9]; 
  152. ; r[8] = ~r[8]; 
  153. ; r[8] &= 0x1f; 
  154. ; r[8] <<= 1; 
  155. ; r[8] |= 0x80; 
  156. ; r[7] = r[8]; 
  157. ; r[7] |= 1;
  158. ; r[1] = 0;
  159. \00\U9\=8\~8\X\1f\&8\<8\X\80\|8\U8\=7\|7\X0\=1
  160. ; data
  161. \01\O7\0f\1f\2f\3f\4f\5d\6f\7f\O8%12.12s\B1\L2\B1\L2\B1\L2\B3  \L2\X8\P1
  162.  
  163. ;;TimeOfDay
  164. ; Get the two address bytes ready for the data line. Register[7] holds
  165. ; the control data address and register[8] holds the digit data address.
  166. ; Initialize r[1] for P1.
  167. ; r[8] = r[9]; 
  168. ; r[8] = ~r[8]; 
  169. ; r[8] &= 0x1f; 
  170. ; r[8] <<= 1; 
  171. ; r[8] |= 0x80; 
  172. ; r[7] = r[8]; 
  173. ; r[7] |= 1;
  174. ; r[1] = 0;
  175. \00\U9\=8\~8\X\1f\&8\<8\X\80\|8\U8\=7\|7\X0\=1
  176. ; data
  177. \01\=0\O7\0f\1f\2f\3f\4f\5d\6f\7f\O8%12.12s\B1\B2\B1\L2\B1\L2\B1\L2  \L2\X8\P1
  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.  
  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.  
  200. ;;Result
  201. ; This is sent once for each result line displayed on the scoreboard.
  202. ; Line codes:
  203. ;  \00  No variable
  204. ;  \01  Place
  205. ;  \02  Lane
  206. ;  \03  Id
  207. ;  \04  Name
  208. ;  \05  Affiliation
  209. ;  \06  Time
  210. ; Register[0] is initialized with the index of the current result line and
  211. ; will range from 0 through <SCBPageSize-1>.
  212. ;
  213. ; Get the two address bytes ready for the data line. Register[7] holds
  214. ; the control data address and register[8] holds the digit data address.
  215. ; Initialize r[1] for P1.
  216. ; r[8] = r[9]; 
  217. ; r[8] += r[0];
  218. ; r[8] = ~r[8]; 
  219. ; r[8] &= 0x1f; 
  220. ; r[8] <<= 1; 
  221. ; r[8] |= 0x80; 
  222. ; r[7] = r[8]; 
  223. ; r[7] |= 1;
  224. ; r[1] = 0;
  225. \00\U9\=8\U0\+8\~8\X\1f\&8\<8\X\80\|8\U8\=7\|7\X0\=1
  226. ; data
  227. \00\O7\0f\1f\2f\3f\4f\5d\6f\7f\O8
  228. ; Place
  229. \01%1.1s\L1\P1
  230. ; Lane
  231. \02%1.1s\L1\P1
  232. ; Time
  233. \06%12.12s\B1\L2\B1\L2\B1\L2\B3\X6\P1
  234.