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