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 / Imhof.lss < prev    next >
Text File  |  2004-07-28  |  8KB  |  175 lines

  1. ; Lynx Scoreboard Script (IMHOF.LSS)
  2. ;
  3. ; Copyright (c) 1995 Lynx System Developers, Inc.
  4. ;
  5. ; Ingo G÷ppert  Imhof-Timing
  6. ; IMHOF scoreboard
  7. ;
  8. ; Notes:
  9. ;  + Empty lines and lines that start with a semicolon are ignored. Lines
  10. ;    cannot be longer than 255 characters.
  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. ;      ;;ResultsHeader
  17. ;      ;;ResultsTrailer
  18. ;      ;;Result
  19. ;    Sections may be omitted, appear in any order, and occur more than once.
  20. ;    Each section can contain a maximum of 20 lines.
  21. ;  + Format lines must begin with a value indicating which variable
  22. ;    they want to access. The special code \00 indicates that no variable
  23. ;    is being requested. If a variable is requested it will be inserted where
  24. ;    a '%s' printf style format specifier appears. There can only be one '%s'
  25. ;    specifier in lines requesting a variable and no other printf format
  26. ;    specifiers may appear. Remember, lines requesting a variable are used as
  27. ;    a printf format string and therefore must behave as such. Lines not 
  28. ;    requesting variables (code \00) can do whatever they want as these 
  29. ;    lines are not fed to a printf statement.
  30. ;  + Arbitrary 8 bit values are entered as \hh where h is a lowercase hex
  31. ;    digit. Note that h must be lowercase.
  32. ;  + Format lines can have the following commands embedded in them.
  33. ;    Note that only 10 registers (indexed 0-9) are currently implemented.
  34. ;     \U\hh   Set the 'U' value to hh. It is reset after the next command.
  35. ;     \X\hh   Set the 'X' value to hh. It is reset after the next command.
  36. ;     \=\hh   register[hh] = {register[U]|X|1}                 (assign)
  37. ;     \*\hh   register[hh] = register[hh] * {register[U]|X|1}  (multiply)
  38. ;     \/\hh   register[hh] = register[hh] / {register[U]|X|1}  (divide)
  39. ;     \#\hh   register[hh] = register[hh] # {register[U]|X|1}  (modulus)
  40. ;     \+\hh   register[hh] = register[hh] + {register[U]|X|1}  (add)
  41. ;     \-\hh   register[hh] = register[hh] - {register[U]|X|1}  (subtract)
  42. ;     \<\hh   register[hh] = register[hh] << {register[U]|X|1} (shift left)
  43. ;     \>\hh   register[hh] = register[hh] >> {register[U]|X|1} (shift right)
  44. ;     \&\hh   register[hh] = register[hh] & {register[U]|X|1}  (bit and)
  45. ;     \|\hh   register[hh] = register[hh] | {register[U]|X|1}  (bit or)
  46. ;     \^\hh   register[hh] = register[hh] ^ {register[U]|X|1}  (bit xor)
  47. ;     \~\hh   register[hh] = ~register[hh]                     (bit invert)
  48. ;     \F\hh   register[hh] = The result of running Function {U|0} on the 
  49. ;             next {X|<eol>} characters.
  50. ;              \U\00  IDS checksum.
  51. ;     \O\hh   Output register[hh] as an {X|1} byte value using method {U|0}.
  52. ;              \U\00  Binary little-endian (Intel byte order).
  53. ;              \U\01  Binary big-endian (Motorola byte order).
  54. ;              \U\02  ASCII text right justified space padded.
  55. ;              \U\03  ASCII text right justified zero padded.
  56. ;              \U\04  ASCII text left justified space padded.
  57. ;              \U\05  ASCII text left justified zero padded.
  58. ;     \S\hh   Scan the next {X|1} bytes into register[hh] using method {U|0}.
  59. ;              \U\00  ASCII text base 10.
  60. ;     \P\hh   Run Procedure \hh on the next {X|<eol>} characters.
  61. ;              \P\00  Reverse characters.
  62. ;              \P\01  Convert characters to Colorado Time format.
  63. ;     \B\hh   Delete \hh (to beginning of line if \hh is zero) characters 
  64. ;             before the cursor or until the string contains U characters.
  65. ;     \D\hh   Delete \hh (to end of line if \hh is zero) characters 
  66. ;             at the cursor or until the string contains U characters.
  67. ;     \I\hh   Insert \hh spaces at the cursor or until the string
  68. ;             contains U characters.
  69. ;     \L\hh   Move the cursor \hh positions to the left (to the beginning
  70. ;             of the line if \hh is zero).
  71. ;     \R\hh   Move the cursor \hh positions to the right (to the end
  72. ;             of the line if \hh iz zero).
  73. ;    Note that numbers 0 thru 9 can be entered directly for single character
  74. ;    embedded commands. For example, '\U\04' is the same as '\U4' and 
  75. ;    '\=\01' is the same as '\=1'.
  76. ;  + Be very careful about whitespace in each format line. Characters other
  77. ;    than '%s' specifiers and embedded commands and values will be sent
  78. ;    exactly as they appear on the line. This means, for instance, that using
  79. ;    tabs to make a line 'look right' in you favorite editor will cause
  80. ;    tabs to be sent to the scoreboard instead of the equivalent number of
  81. ;    spaces (probably not what you wanted).
  82. ;
  83. ; The format lines follow.
  84.  
  85. ;;Initialization
  86. ; Rⁿchsetzen/l÷schen der Anzeige
  87. ; Line codes:
  88. ;  \00 No variable
  89. ; put in the required reset/clear command here!!!!!!!!!!!!!!!!!
  90. \00\f0\0a\f1\0a\f2\0a\f3\0a\f4\0a\f5\0a\f6\0a\f7\0a\f8\0a\f8\0a\f9\0a\fa\0a\fb\0a\fc\0a\fd\0a\fe\0a\ff\0a\0a
  91.  
  92. ;;TimeRunning
  93. ; = laufende Zeit: This is sent approximately 10 times per second.
  94. ; Line codes:
  95. ;  \00  No variable
  96. ;  \01  Time
  97. ; Setting register[0] to 1 in a format line will cause that line and
  98. ; subsequent lines to only be sent once per second (when the second's 
  99. ; digit changes) instead of approximately 10 times per second. Setting
  100. ; register[0] to 0 will resume normal operation for remaining lines.
  101. ; Adresse Zeit
  102. \00\ff
  103. \01\=0%12.12s\B4\L2\B1\L2\B1\R0  \0a
  104. ; Andere Anzeige blank anzeigen
  105. \00\fd\20\20\20\20\20\20\0a
  106.  
  107. ;;TimeStopped
  108. ; = Anzeige nach einem Stopimpuls der Lichtschranke
  109. ; Line codes are identical to the TimeRunning line codes.
  110. ; Adresse Zeit
  111. \00\ff
  112. \01\=0%12.12s\B1\L2\B1\L2\B1\L2\B1\R0\0a
  113.  
  114. ;;TimeOfDay
  115. ; = Tageszeit
  116. ; Adresse Zeit
  117. \00\ff
  118. \01\=0%12.12s\B4\L2\B1\L2\B1\R0\0a
  119. ; Andere Anzeige blank anzeigen
  120. \00\fd\20\20\20\20\20\20\0a
  121.  
  122. ;;ResultsHeader
  123. ; This is sent once each time the scoreboard is updated with results. It
  124. ; is sent before any result lines are sent.
  125. ; Line codes:
  126. ;  \00  No variable
  127. ;  \01  OFFICIAL/UNOFFICIAL string
  128. ;  \02  Event name
  129. ;  \03  Wind
  130. ;  \04  Event number
  131. ;  \05  Round number
  132. ;  \06  Heat number
  133. ;  \07  AUTO/MANUAL start type
  134. ;  \08  Number of participants
  135.  
  136. ;;ResultsTrailer
  137. ; This is sent once each time the scoreboard is updated with results. It
  138. ; is sent after all result lines are sent.
  139. ; Line codes are identical to the ResultsHeader line codes.
  140.  
  141. ;;Result
  142. ; Ergebnisausgabe: This is sent once for each result line displayed on the scoreboard.
  143. ; Line codes:
  144. ;  \00  No variable
  145. ;  \01  Platzausgabe
  146. ;  \02  Lane = Bahnausgabe
  147. ;  \03  Id = Startnummernausgabe
  148. ;  \04  Namensaugabe
  149. ;  \05  Affiliation
  150. ;  \06  Time = Zeitausgabe
  151. ; Register[0] is initialized with the index of the current result line and
  152. ; will range from 0 through <SCBPageSize-1>.
  153. ; Erzeugung der Adresse fⁿr mehrzeilige Anzeigen (zur Zeit auskommentiert und fest
  154. ; auf FF = Zeit und FD = Platz und Startnummer gesetzt)
  155. ;Register 4 und 3 rⁿcksetzen
  156. ; \00\X\00\=4\X\00\=3
  157. ; Register 3 und 4 mit aktuellem Platz laden 3 = Einer, 4 = Zehner, Platz nicht ausgeben
  158. ; \01%2.2s\L1\S3\L1\S4\R0\B2
  159. ; Zehner-Stelle mit 0a hex multiplizieren, Einer-Stelle zu Basisanzeigenadresse f0 hex addieren,
  160. ; Zehner- und Einer-Stelle addieren
  161. ; \00\X\0a\*4\X\f0\+3\U4\+3
  162. ; Ergebnis ausgeben = Anzeigenzeile wird ensprechend der Plazierung adressiert
  163. ; \00\U0\O3
  164. ; Adresse fⁿr Platz+Startnummer
  165. \00\fd
  166. ; Ausgabe Platz, (Bahn), Startnummer
  167. \01%2.2s
  168. ;\02%2.2s
  169. \03%4.4s\0a
  170. ;\04%6.6s
  171. ; Adresse fⁿr Zeit
  172. \00\ff
  173. ; Ausgabe Zeit
  174. \06%12.12s\B1\L2\B1\L2\B1\L2\B4\R0\0a
  175.