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 >
Wrap
Text File
|
2002-01-04
|
9KB
|
198 lines
; Defaults: 9600,8,N,1
;
; Lynx Scoreboard Script
;
; Copyright (c) 1995-1997 Lynx System Developers, Inc.
;
; Written by Kirk Sigel
;
; 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
; 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.
; \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
;
; Set Pixel makes frame #1 active
\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
; Configure sign size
\00\01\82\40\08\24\L0\F0\R0\X2\O0\04
; Reset sign
;\00\01\80\40\L0\F0\R0\X2\O0\04
; Configure pixel size
;\00\01\83\40\01\L0\F0\R0\X2\O0\04
; Clear frame data
;\00\01\81\40\00\L0\F0\R0\X2\O0\04
; Reverse clear display
;\00\01\85\40\01\00\ff\01\L0\F0\R0\X2\O0\04
; Clear display
\00\01\84\40\01\00\ff\01\L0\F0\R0\X2\O0\04
;;TimeRunning
; 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.
\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
;;TimeStopped
; This is sent when the time is stopped by a beam break.
; Line codes are identical to the TimeRunning line codes.
\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
;;TimeOfDay
\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
;;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
;
; Blank screen
\00\01\84\40\01\00\ff\01\L0\F0\R0\X2\O0\04
; Event name (width 20)
\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
;;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
; Register[0] is initialized with the index of the current result line and
; will range from 0 through <SCBPageSize-1>.
;
; These are for single line displays
;\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
;\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
;\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
;
; These are for multi line displays
; Register[0] is the row. (multiply by font height and add header line height)
\00\X8\*0\X8\+0
; Register[1] is the current column. Each line should leave this register
; pointing where the next field should start (including a space).
; Register[2] is the font number. (make this constant centrally located)
; Register[3] is the font width. (make this constant centrally located)
\00\X0\=1\X2\=2\X6\=3
; Note that I use register[9] for an intermediate value when calculating
; the next column value and to temporarily hold the crc value.
; Place (width 2)
\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
; Lane (width 2) notice it is the same as Place except for variable code
\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
; Name (width 5)
\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
; Time (width 8)
\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