====== 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 **** or **** 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'': **N**o 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 '' '' 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