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 >
Wrap
Text File
|
2004-07-28
|
8KB
|
175 lines
; Lynx Scoreboard Script (IMHOF.LSS)
;
; Copyright (c) 1995 Lynx System Developers, Inc.
;
; Ingo G÷ppert Imhof-Timing
; IMHOF scoreboard
;
; Notes:
; + Empty lines and lines that start with a semicolon are ignored. Lines
; cannot be longer than 255 characters.
; + Lines that start with two semicolons indicate a section header.
; They must be one of the following:
; ;;Initialization
; ;;TimeRunning
; ;;TimeStopped
; ;;ResultsHeader
; ;;ResultsTrailer
; ;;Result
; Sections may be omitted, appear in any order, and occur more than once.
; Each section can contain a maximum of 20 lines.
; + Format lines must begin with a value indicating which variable
; they want to access. The special code \00 indicates that no variable
; is being requested. If a variable is requested it will be inserted where
; a '%s' printf style format specifier appears. There can only be one '%s'
; specifier in lines requesting a variable and no other printf format
; specifiers may appear. Remember, lines requesting a variable are used as
; a printf format string and therefore must behave as such. Lines not
; requesting variables (code \00) can do whatever they want as these
; lines are not fed to a printf statement.
; + Arbitrary 8 bit values are entered as \hh where h is a lowercase hex
; digit. Note that h must be lowercase.
; + Format lines can have the following commands embedded in them.
; Note that only 10 registers (indexed 0-9) are currently implemented.
; \U\hh Set the 'U' value to hh. It is reset after the next command.
; \X\hh Set the 'X' value to hh. It is reset after the next command.
; \=\hh register[hh] = {register[U]|X|1} (assign)
; \*\hh register[hh] = register[hh] * {register[U]|X|1} (multiply)
; \/\hh register[hh] = register[hh] / {register[U]|X|1} (divide)
; \#\hh register[hh] = register[hh] # {register[U]|X|1} (modulus)
; \+\hh register[hh] = register[hh] + {register[U]|X|1} (add)
; \-\hh register[hh] = register[hh] - {register[U]|X|1} (subtract)
; \<\hh register[hh] = register[hh] << {register[U]|X|1} (shift left)
; \>\hh register[hh] = register[hh] >> {register[U]|X|1} (shift right)
; \&\hh register[hh] = register[hh] & {register[U]|X|1} (bit and)
; \|\hh register[hh] = register[hh] | {register[U]|X|1} (bit or)
; \^\hh register[hh] = register[hh] ^ {register[U]|X|1} (bit xor)
; \~\hh register[hh] = ~register[hh] (bit invert)
; \F\hh register[hh] = The result of running Function {U|0} on the
; next {X|<eol>} characters.
; \U\00 IDS checksum.
; \O\hh Output register[hh] as an {X|1} byte value using method {U|0}.
; \U\00 Binary little-endian (Intel byte order).
; \U\01 Binary big-endian (Motorola byte order).
; \U\02 ASCII text right justified space padded.
; \U\03 ASCII text right justified zero padded.
; \U\04 ASCII text left justified space padded.
; \U\05 ASCII text left justified zero padded.
; \S\hh Scan the next {X|1} bytes into register[hh] using method {U|0}.
; \U\00 ASCII text base 10.
; \P\hh Run Procedure \hh on the next {X|<eol>} characters.
; \P\00 Reverse characters.
; \P\01 Convert characters to Colorado Time format.
; \B\hh Delete \hh (to beginning of line if \hh is zero) characters
; before the cursor or until the string contains U characters.
; \D\hh Delete \hh (to end of line if \hh is zero) characters
; at the cursor or until the string contains U characters.
; \I\hh Insert \hh spaces at the cursor or until the string
; contains U characters.
; \L\hh Move the cursor \hh positions to the left (to the beginning
; of the line if \hh is zero).
; \R\hh Move the cursor \hh positions to the right (to the end
; of the line if \hh iz zero).
; Note that numbers 0 thru 9 can be entered directly for single character
; embedded commands. For example, '\U\04' is the same as '\U4' and
; '\=\01' is the same as '\=1'.
; + Be very careful about whitespace in each format line. Characters other
; than '%s' specifiers and embedded commands and values will be sent
; exactly as they appear on the line. This means, for instance, that using
; tabs to make a line 'look right' in you favorite editor will cause
; tabs to be sent to the scoreboard instead of the equivalent number of
; spaces (probably not what you wanted).
;
; The format lines follow.
;;Initialization
; Rⁿchsetzen/l÷schen der Anzeige
; Line codes:
; \00 No variable
; put in the required reset/clear command here!!!!!!!!!!!!!!!!!
\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
;;TimeRunning
; = laufende Zeit: This is sent approximately 10 times per second.
; Line codes:
; \00 No variable
; \01 Time
; Setting register[0] to 1 in a format line will cause that line and
; subsequent lines to only be sent once per second (when the second's
; digit changes) instead of approximately 10 times per second. Setting
; register[0] to 0 will resume normal operation for remaining lines.
; Adresse Zeit
\00\ff
\01\=0%12.12s\B4\L2\B1\L2\B1\R0 \0a
; Andere Anzeige blank anzeigen
\00\fd\20\20\20\20\20\20\0a
;;TimeStopped
; = Anzeige nach einem Stopimpuls der Lichtschranke
; Line codes are identical to the TimeRunning line codes.
; Adresse Zeit
\00\ff
\01\=0%12.12s\B1\L2\B1\L2\B1\L2\B1\R0\0a
;;TimeOfDay
; = Tageszeit
; Adresse Zeit
\00\ff
\01\=0%12.12s\B4\L2\B1\L2\B1\R0\0a
; Andere Anzeige blank anzeigen
\00\fd\20\20\20\20\20\20\0a
;;ResultsHeader
; This is sent once each time the scoreboard is updated with results. It
; is sent before any result lines are sent.
; Line codes:
; \00 No variable
; \01 OFFICIAL/UNOFFICIAL string
; \02 Event name
; \03 Wind
; \04 Event number
; \05 Round number
; \06 Heat number
; \07 AUTO/MANUAL start type
; \08 Number of participants
;;ResultsTrailer
; This is sent once each time the scoreboard is updated with results. It
; is sent after all result lines are sent.
; Line codes are identical to the ResultsHeader line codes.
;;Result
; Ergebnisausgabe: This is sent once for each result line displayed on the scoreboard.
; Line codes:
; \00 No variable
; \01 Platzausgabe
; \02 Lane = Bahnausgabe
; \03 Id = Startnummernausgabe
; \04 Namensaugabe
; \05 Affiliation
; \06 Time = Zeitausgabe
; Register[0] is initialized with the index of the current result line and
; will range from 0 through <SCBPageSize-1>.
; Erzeugung der Adresse fⁿr mehrzeilige Anzeigen (zur Zeit auskommentiert und fest
; auf FF = Zeit und FD = Platz und Startnummer gesetzt)
;Register 4 und 3 rⁿcksetzen
; \00\X\00\=4\X\00\=3
; Register 3 und 4 mit aktuellem Platz laden 3 = Einer, 4 = Zehner, Platz nicht ausgeben
; \01%2.2s\L1\S3\L1\S4\R0\B2
; Zehner-Stelle mit 0a hex multiplizieren, Einer-Stelle zu Basisanzeigenadresse f0 hex addieren,
; Zehner- und Einer-Stelle addieren
; \00\X\0a\*4\X\f0\+3\U4\+3
; Ergebnis ausgeben = Anzeigenzeile wird ensprechend der Plazierung adressiert
; \00\U0\O3
; Adresse fⁿr Platz+Startnummer
\00\fd
; Ausgabe Platz, (Bahn), Startnummer
\01%2.2s
;\02%2.2s
\03%4.4s\0a
;\04%6.6s
; Adresse fⁿr Zeit
\00\ff
; Ausgabe Zeit
\06%12.12s\B1\L2\B1\L2\B1\L2\B4\R0\0a