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 >
Wrap
Text File
|
2004-03-29
|
11KB
|
256 lines
; Lynx Scoreboard Script
;
; Copyright (c) 1995-1997 Lynx System Developers, Inc.
;
; Written by Kirk Sigel
;
; script for micrograph board, last edited 11/28/01 by Todd Chamoy
;
; Notes:
; + Empty lines and lines that start with a semicolon are ignored.
; + Lines that start with two semicolons indicate a section header.
; They must be one of the following:
; ;;Initialization
; ;;TimeRunning
; ;;TimeStopped
; ;;TimeGun
; ;;TimeBreak
; ;;TimeUpdate
; ;;Wind
; ;;TimeOfDay
; ;;ResultsHeader
; ;;ResultsTrailer
; ;;Result
; ;;StartListHeader
; ;;StartListTrailer
; ;;StartList
; ;;MessageHeader
; ;;MessageTrailer
; ;;Message
; Sections may be omitted, appear in any order, and occur more than once.
; + 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.
; \Ui\hh Set the 'U' value to register[hh].
; \X\hh Set the 'X' value to hh. It is reset after the next command.
; \Xi\hh Set the 'X' value to register[hh].
; \=\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.
; \U\01 XOR checksum. register[hh] is used as the seed value.
; \U\02 ADD checksum. register[hh] is used as the seed value.
; \U\03 CRC-16. register[hh] is used as the seed value
; and register[hh+1] is the polynomial.
; \U\04 CRC-32. register[hh] is used as the seed value
; and register[hh+1] is the polynomial.
; \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.
; \U\01 Binary little-endian (Intel byte order).
; \U\02 Binary big-endian (Motorola byte order).
; \P\hh Run Procedure hh on the next {X|<eol>} characters.
; \P\00 Reverse characters.
; \P\01 Convert characters to Colorado Time format. Register[1]
; is the current character position on entry and the
; next character position on exit.
; \P\02 Convert characters to Daktronics AllSport format.
; \B\hh Delete {register[U]|hh} (to beginning of line if zero) characters
; before the cursor or until the string contains X characters.
; \D\hh Delete {register[U]|hh} (to end of line if zero) characters
; at the cursor or until the string contains X characters.
; \I\hh Insert {register[U]|hh} spaces at the cursor or until the string
; contains X characters.
; \Ic\hh Insert {register[U]|hh} {X's|spaces} at the cursor.
; \L\hh Move the cursor {register[U]|hh} positions to the left (to the
; beginning of the line if zero).
; \R\hh Move the cursor {register[U]|hh} positions to the right (to the
; end of the line if 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
; This is sent once to initialize the scoreboard.
; Line codes:
; \00 No variable
\00\X0\=2\1b r\03\L0\U2\F2\R0\X\7f\&2\U0\O2
;;TimeRunning
; This is sent approximately 10 times per second.
; Line codes:
; \00 No variable
; \01 Formatted time
; \02 Binary time in milliseconds (as a 4 byte little endian integer)
; 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.
;
; MMSS__ (big fat numbers)
;\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
; mm:ss___ (half-size numbers)
\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
; clear all of 2nd line
\01\=0\X0\=2\1b@S\00\00\0c\00\00\05 \03\L0\U2\F2\R0\X\7f\&2\U0\O2
;;TimeStopped
; This is sent when the time is stopped by a beam break.
; Line codes are identical to the TimeRunning line codes.
;
; MMSSDD (big fat numbers)
;\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
; mm:ss.dd
\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
; clear all of 2nd line
\01\=0\X0\=2\1b@S\00\00\0c\00\00\05 \03\L0\U2\F2\R0\X\7f\&2\U0\O2
;;TimeGun
; This is sent when a gun signal is received.
; Line codes are identical to the TimeRunning line codes.
;\01\0d\0aGun time : %12.12s\0d\0a
;;TimeBreak
; This is sent when a beam break is recieved.
; Line codes are identical to the TimeRunning line codes.
;\01\0d\0aBreak time : %12.12s\0d\0a
;;TimeUpdate
; This is sent approximately 10 times per second.
; Line codes are identical to the TimeRunning line codes.
;\01\0dUpdate time : %12.12s
;;Wind
; This is sent in the time stream when a wind reading is received.
; Line codes:
; \00 No variable
; \01 Formatted wind (same format as ResultsHeader wind)
; \02 Binary wind in hundredths of units (as a 4 byte little endian integer)
;\01\0d\0aWind : %12.12s\0d\0a
;;TimeOfDay
; This is sent when the 'Send time of day' option is checked in the
; Scoreboard pull down menu.
; Line codes are identical to the TimeRunning line codes.
;
; HHMMSS (big fat numbers)
;\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
; hh:mm:ss (half-size numbers)
\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
; clear all of 2nd line
\01\=0\X0\=2\1b@S\00\00\0c\00\00\05 \03\L0\U2\F2\R0\X\7f\&2\U0\O2
;;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
\00\X0\=2\1b r\03\L0\U2\F2\R0\X\7f\&2\U0\O2
;;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
; This is sent once for each result line displayed on the scoreboard.
; Line codes:
; \00 No variable
; \01 Place
; \02 Lane
; \03 Id
; \04 Name
; \05 Affiliation
; \06 Time
; \07 Delta Time
; \08 Cumulative Split Time
; \09 Last Split Time
; \0a Laps To Go
; \0b License
; \0c ReacTime
; \0d Speed
; \0e Pace
; Register[0] is initialized with the index of the current result line and
; will range from 0 through PageSize - 1.
;
; static string line 1 start
\00\X0\=2\1b@S\00\00\00\00\00\02\L0\U2\F2\R0
\01%-2.2s \L0\U2\F2\R0
\02%-2.2s \L0\U2\F2\R0
\04%-8.8s\L0\U2\F2\R0
; line 1 end
\00\03\L0\U2\F2\R0\X\7f\&2\U0\O2
; static string line 2 start
\00\X0\=2\1b@S\00\00\0c\00\00\02\L0\U2\F2\R0
\06%12.12s\L0\U2\F2\R0
; line 2 end
\00 \03\L0\U2\F2\R0\X\7f\&2\U0\O2
;;MessageHeader
; This is sent once each time the scoreboard is updated with the message. It
; is sent before any message lines are sent.
; Line codes:
; \00 No variable
\00\X0\=2\1b r\03\L0\U2\F2\R0\X\7f\&2\U0\O2
;;MessageTrailer
; This is sent once each time the scoreboard is updated with the message. It
; is sent after all message lines are sent.
; Line codes are identical to the MessageHeader line codes.
;;Message
; This is sent once for each message line displayed on the scoreboard.
; Line codes:
; \00 No variable
; \01 Text
; Register[0] is initialized with the index of the current message line and
; will range from 0 through <number of lines> - 1.
\00\X\0c\*0
\01\X0\=2\1b@S\00\00\O0\00\00\02%s\03\L0\U2\F2\R0\X\7f\&2\U0\O2