skool2ctl.py

SYNOPSIS

skool2ctl.py [options] FILE

DESCRIPTION

skool2ctl.py converts a skool file into a control file. The control file is written to stdout. When FILE is ‘-‘, skool2ctl.py reads from standard input.

OPTIONS

-b, --preserve-base

Preserve the base of decimal and hexadecimal values in instruction operands and DEFB, DEFM, DEFS and DEFW statements. (By default, only binary values and character values are preserved.)

-E, –end ADDR

Stop converting at this address. ADDR must be a decimal number, or a hexadecimal number prefixed by ‘0x’.

-h, --hex

Write addresses in upper case hexadecimal format.

-I, –ini param=value

Set the value of a configuration parameter (see CONFIGURATION), overriding any value found in skoolkit.ini. This option may be used multiple times.

-k, --keep-lines

Preserve line breaks in comments.

-l, --hex-lower

Write addresses in lower case hexadecimal format.

--show-config

Show configuration parameter values.

-S, –start ADDR

Start converting at this address. ADDR must be a decimal number, or a hexadecimal number prefixed by ‘0x’.

-V, --version

Show the SkoolKit version number and exit.

-w, –write X

Write only these elements, where X is one or more of:


a = ASM directives
b = block types and addresses
t = block titles
d = block descriptions
r = registers
m = mid-block comments and block start/end comments
s = sub-block types and addresses
c = instruction-level comments

The default is to write all of these elements.

CONFIGURATION

skool2ctl.py will read configuration from a file named skoolkit.ini in the current working directory or in ~/.skoolkit, if present. The recognised configuration parameters are:

Hex

Write addresses in decimal (0, the default), lower case hexadecimal (1), or upper case hexadecimal (2).

KeepLines

Preserve line breaks in comments (1), or don’t (0, the default).

PreserveBase

Preserve the base of decimal and hexadecimal values in instruction operands and DEFB/DEFM/DEFS/DEFW statements (1), or don’t (0, the default).

Configuration parameters must appear in a [skool2ctl] section. For example, to make skool2ctl.py write upper case hexadecimal addresses by default (without having to use the -h option on the command line), add the following section to skoolkit.ini:

[skool2ctl]
Hex=2

Configuration parameters may also be set on the command line by using the --ini option. Parameter values set this way will override any found in skoolkit.ini.

EXAMPLES

  1. Convert game.skool into a control file named game.ctl:


    skool2ctl.py game.skool > game.ctl
  2. Convert game.skool into a control file containing only block types, addresses and titles:


    skool2ctl.py -w bt game.skool > game.ctl