User Tools

Site Tools


command_line

Command Line

The 10LC compiler executable contains the all of the functionality of the compiler itself as well as its other utility features. The feature/operation selected is done via command line parameters.

There are four modes that the executable can operate in:

  • Compiler mode
  • Serial Transfer Mode (Transmit)
  • Serial Transfer Mode (Receive)
  • Signature Calculation

Selection of a particular mode of operation is done via the first command line parameter passed to the executable. If you launch the executable with no command line parameters, it will show the supported parameters:

ERROR(S):
  No verb selected.

  Signature    Calculate signatures for files
  Compile      Compile a 10LC file
  Transmit     Transmit a compiled file (hexfile) to a connected 9010A
  Receive      Receive data from a connected 9010A
  help         Display more information on a specific command.
  version      Display version information.

More information on supported modes (“verbs”) can be shown by running the executable with the help verb followed by one of the supported verbs. For example, launching the executable with the help compile command line parameters will show the following:

  -v, --Verbosity        (Default: Warning) Compiler verbosity (message level)
  -n, --NoColor          (Default: false) No color - do not colorize console output
  -o, --Options          (Default: None) Compiler options
  -w, --DisableWarnings  (Default: None) Disable specified warnings (message numbers)
  -f, --Files            Required - 10LC files to compile
  --help                 Display this help screen.
  --version              Display version information.

Compile Mode

Compile mode is specified by passing “compile” as the first command line parameter. After that, the following switches are supported:

Short Form Long Form Description
-V --Verbosity Sets the verbosity of the compiler. Supported verbosity values are Debug, Verbose, Info, Warning, and Error. The default verbosity setting is Warning.
-N --NoColor Disables the coloring of console output. By default, console output is colored according to the severity of the output (i.e. errors in red, warnings in yellow, etc.)
-O --Options Sets one or more compiler options. Supported options are listed below.
-W --DisableWarnings Sets one or more warnings that are to be disabled (suppressed).
-F --File Indicates the files (one or more) that are to be compiled
Compiler Options
Option Description
WarningsAreErrors Treats all warnings as errors and stops compilation when the first warning is emitted
NoPreDefines Does not define the legacy Aliases for registers (BITMASK, ROMSIG, etc.)
IgnoreMissingPrograms Normally, if a file references a problem that is not found at the end of compilation, an error is emitted. This option causes that situation to be ignored.
UseNumericProgramNames By default, all Program names are treated as symbolic identifiers. This causes numeric Program names to be converted to numeric program numbers and not be auto-numbered.
DisableOptimizations This option disables all optimizations
EnableIntrinsicCommands This option enables the new intrinsic statements supported by 10LC. When this option is enabled, program 99 is reserved and used for the implementation of intrinsic statements.
DebugStep This option causes generation of a special program (program 98) and inserts calls to this program between lines of code. The program shows the program line number and waits for you to press <Enter/Yes> or <Clear/No> and stores the result in Register E. Better to use Compiler Directives for this option so it can be turned on and off selectively.

For example, to compile a 10C file at C:\TenLCStuff\Script.s with no options and verbosity set to Verbose:

Fluke10LCCompiler Compile -vVerbose -o None --file C:\TenLCStuff\Script.s

Transmit Mode

Serial Transmit mode is specified by passing “transmit” as the first command line parameter. After that, the following switches are supported:

Short Form Long Form Description
-V --Verbosity Sets the verbosity of the compiler. Supported verbosity values are Debug, Verbose, Info, Warning, and Error. The default verbosity setting is Warning.
-P --Port Specifies the name of the serial port to use (e.g. COM1, COM2, etc.)
-B --Baud Sets the baud rate to use (max should be 9600)
-S --Settings Specifies advanced COM port settings (described below)
-F --File Indicates the file that should be sent

Advanced Settings are a 3 character string used to configure the parity, data bits and stop bits for the serial port. Normally, these settings will not have to be changed, but you never know. The first character configures the Parity, the second configures the number of Data Bits, and the last configures the number of Stop Bits.

The following values are supported for Parity:

  • N - None
  • E - Even
  • O - Odd
  • M - Mark
  • S - Space

The number of allowed Data Bits are 5, 6, 7 and 8.

The following values are supported for Stop Bits:

  • N - None
  • 1 - One
  • 2 - Two
  • 1.5 - 1.5

The default value for this setting is N81: No Parity, 8 data bits, 1 stop bit.

For example, to transmit a compiled MREC file located at C:\TenLCStuff\Script.mrec using serial port COM3, baud rate of 9600, using the default serial configuration of N81:

Fluke10LCCompiler Transmit --port COM3 -b9600 -f C:\TenLCStuff\Script.mrec

Receive Mode

Serial Receive mode is specified by passing “receive” as the first command line parameter. After that, the following switches are supported:

Short Form Long Form Description
-V --Verbosity Sets the verbosity of the compiler. Supported verbosity values are Debug, Verbose, Info, Warning, and Error. The default verbosity setting is Warning.
-P --Port Specifies the name of the serial port to use (e.g. COM1, COM2, etc.)
-B --Baud Sets the baud rate to use (max should be 9600)
-S --Settings Specifies advanced COM port settings (described below)
-F --File Indicates the file that should be used to store the received data, or “-- -” to indicate the received data should be output to the console
-R --Raw Indicates that the data being received should not be processed as MRec (this option cannot be used with the Decode option below)
-D --Decode Indicates that the MRec data being received should be further processed and decoded into human readable format (I plan to turn this feature into a decompiler that produces round-trippable code)

By default, MRec data is expected to be received from the 9010A. This is the data format that is sent when you use the <AUX/IF> <WRITE> combination on the 9010A. When MRec data is being sent, the data can be verified via the checksum values in the data records being sent, and the end of the transmission can be detected.

If you are receiving text data, like if you are just listing programs or address space information, using the raw option allows this data to be received normally and not undergo the additional processing that happens with MRec data.

For example, to receive a complete data dump from a 9010A connected to using serial port COM3, baud rate of 9600, using the default serial configuration of N81 and dumping the received data to the console:

Receive --port COM3 -b9600 -f -- -

Signature Calculation Mode

Signature Calculation mode calculates 9010A signature values that can be used with the ROM Test to verify the integrity of ROM data that is present on a UUT. Signature Calculation mode is specified by passing “signature” as the first command line parameter. After that, the following switches are supported:

Short Form Long Form Description
-M --Minimal Specifies minimal output
-C --CSV Specifies CSV output
-F --File Indicates the files that should be processed

This feature is able to reach into ZIP files and perform the calculations on them as well.

For example, to calculate the signatures for all files contained in a ZIP file located at C:\TenLCStuff\MyGamesRoms.zip:

Fluke10LCCompiler Signature -f C:\TenLCStuff\MyGamesRoms.zip
command_line.txt · Last modified: 2020/04/12 11:54 by jtwine