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

  1. ; Defaults: 9600,8,N,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. ; Set Pixel makes frame #1 active
  104. \00\01\87\40\01\01\02\0d\00\01\01\4e\7f\36\06\1f\25\5e\39\d3\3e\01\03\32\d7\04
  105. ; Configure sign size
  106. \00\01\82\40\08\24\L0\F0\R0\X2\O0\04
  107. ; Reset sign
  108. ;\00\01\80\40\L0\F0\R0\X2\O0\04
  109. ; Configure pixel size
  110. ;\00\01\83\40\01\L0\F0\R0\X2\O0\04
  111. ; Clear frame data
  112. ;\00\01\81\40\00\L0\F0\R0\X2\O0\04
  113. ; Reverse clear display
  114. ;\00\01\85\40\01\00\ff\01\L0\F0\R0\X2\O0\04
  115. ; Clear display
  116. \00\01\84\40\01\00\ff\01\L0\F0\R0\X2\O0\04
  117.  
  118. ;;TimeRunning
  119. ; This is sent approximately 10 times per second.
  120. ; Line codes:
  121. ;  \00  No variable
  122. ;  \01  Time
  123. ; Setting register[0] to 1 in a format line will cause that line and
  124. ; subsequent lines to only be sent once per second (when the second's 
  125. ; digit changes) instead of approximately 10 times per second. Setting
  126. ; register[0] to 0 will resume normal operation for remaining lines.
  127. \01\01\89\40\01\00\ff\01\02\02\00\00\00\00\30\08\00%12.12s\B1\03\L\0c\D3\L0\F0\R0\X2\O0\04
  128.  
  129. ;;TimeStopped
  130. ; This is sent when the time is stopped by a beam break.
  131. ; Line codes are identical to the TimeRunning line codes.
  132. \01\01\89\40\01\00\ff\01\02\02\00\00\00\00\30\08\00%12.12s\B1\03\L\0c\D3\L0\F0\R0\X2\O0\04
  133.  
  134. ;;TimeOfDay
  135. \01\=0\01\89\40\01\00\ff\01\02\02\00\00\00\00\30\08\00   %12.12s\B1\B3\03\L\0c\D3\L0\F0\R0\X2\O0\04
  136.  
  137. ;;ResultsHeader
  138. ; This is sent once each time the scoreboard is updated with results. It
  139. ; is sent before any result lines are sent.
  140. ; Line codes:
  141. ;  \00  No variable
  142. ;  \01  OFFICIAL/UNOFFICIAL string
  143. ;  \02  Event name
  144. ;  \03  Wind
  145. ;  \04  Event number
  146. ;  \05  Round number
  147. ;  \06  Heat number
  148. ;  \07  AUTO/MANUAL start type
  149. ;  \08  Number of participants
  150. ;
  151. ; Blank screen
  152. \00\01\84\40\01\00\ff\01\L0\F0\R0\X2\O0\04
  153. ; Event name (width 20)
  154. \02\01\89\40\01\00\ff\01\02\02\00\00\00\00\78\14\00%-20.20s\03\L0\F0\R0\X2\O0\04
  155.  
  156. ;;ResultsTrailer
  157. ; This is sent once each time the scoreboard is updated with results. It
  158. ; is sent after all result lines are sent.
  159. ; Line codes are identical to the ResultsHeader line codes.
  160.  
  161.  
  162. ;;Result
  163. ; This is sent once for each result line displayed on the scoreboard.
  164. ; Line codes:
  165. ;  \00  No variable
  166. ;  \01  Place
  167. ;  \02  Lane
  168. ;  \03  Id
  169. ;  \04  Name
  170. ;  \05  Affiliation
  171. ;  \06  Time
  172. ; Register[0] is initialized with the index of the current result line and
  173. ; will range from 0 through <SCBPageSize-1>.
  174. ;
  175. ; These are for single line displays
  176. ;\01\01\89\40\01\00\ff\01\02\02\00\00\00\00\04\01\00%1.1s\03\L0\F0\R0\X2\O0\04
  177. ;\02\01\89\40\01\00\ff\01\02\02\00\00\08\00\0b\01\00%1.1s\03\L0\F0\R0\X2\O0\04
  178. ;\06\01\89\40\01\00\ff\01\02\02\00\00\0f\00\36\05\00%12.12s\B1\03\L\0c\D6\L0\F0\R0\X2\O0\04
  179. ;
  180. ; These are for multi line displays
  181. ; Register[0] is the row. (multiply by font height and add header line height)
  182. \00\X8\*0\X8\+0
  183. ; Register[1] is the current column. Each line should leave this register
  184. ;   pointing where the next field should start (including a space).
  185. ; Register[2] is the font number. (make this constant centrally located)
  186. ; Register[3] is the font width. (make this constant centrally located)
  187. \00\X0\=1\X2\=2\X6\=3
  188. ; Note that I use register[9] for an intermediate value when calculating
  189. ; the next column value and to temporarily hold the crc value.
  190. ; Place (width 2)
  191. \01\01\89\40\01\00\ff\01\02\O2\00\O0\O1\U3\=9\X3\*9\U9\+1\O0\O1\02\00%2.2s\03\L0\F9\R0\X2\O9\04
  192. ; Lane (width 2) notice it is the same as Place except for variable code
  193. \02\01\89\40\01\00\ff\01\02\O2\00\O0\O1\U3\=9\X3\*9\U9\+1\O0\O1\02\00%2.2s\03\L0\F9\R0\X2\O9\04
  194. ; Name (width 5)
  195. \04\01\89\40\01\00\ff\01\02\O2\00\O0\O1\U3\=9\X6\*9\U9\+1\O0\O1\05\00%-5.5s\03\L0\F9\R0\X2\O9\04
  196. ; Time (width 8)
  197. \06\01\89\40\01\00\ff\01\02\O2\00\O0\O1\U3\=9\X9\*9\U9\+1\O0\O1\08\00%12.12s\B1\03\L\0c\D3\L0\F9\R0\X2\O9\04
  198.