SKOOL2BIN.PY(1)

NAME
skool2bin.py - convert a skool file into a binary (raw memory) file

SYNOPSIS

skool2bin.py [options] file.skool [file.bin]

DESCRIPTION

skool2bin.py converts a skool file into a binary (raw memory) file. 'file.skool' may be a regular file, or '-' for standard input. If 'file.bin' is not given, it defaults to the name of the input file with '.skool' replaced by '.bin'. 'file.bin' may be a regular file, or '-' for standard output.

OPTIONS

-B, --banks
    Process @bank directives and write RAM banks 0-7 to a 128K file.

-b, --bfix
    Apply @ofix and @bfix directives.

-d, --data
    Process @defb, @defs and @defw directives.

-E, --end ADDR
    Stop converting at this address. ADDR must be a decimal number, or a hexadecimal number prefixed by '0x'.

-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.

-i, --isub
    Apply @isub directives.

-o, --ofix
    Apply @ofix directives.

-r, --rsub
    Apply @isub, @ssub and @rsub directives (implies --ofix).

-R, --rfix
    Apply @ofix, @bfix and @rfix directives (implies --rsub).

--show-config
    Show configuration parameter values.

-s, --ssub
    Apply @isub and @ssub directives.

-S, --start ADDR
    Start converting at this address. ADDR must be a decimal number, or a hexadecimal number prefixed by '0x'.

-v, --verbose
    Show info on each converted instruction.

-V, --version
    Show the SkoolKit version number and exit.

-w, --no-warnings
    Suppress warnings.

CONFIGURATION

skool2bin.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:

Banks
    Process @bank directives and write RAM banks 0-7 to a 128K file (1), or don't (0, the default).

Data
    Process @defb, @defs and @defw directives (1), or don't (0, the default).

PadLeft
    Address at which to start padding the output on the left with zeroes. The default value is 65536, which produces no padding.

PadRight
    Address at which to stop padding the output on the right with zeroes. The default value is 0, which produces no padding.

Verbose
    Show info on each converted instruction (1), or don't (0, the default).

Warnings
    Show warnings (1, the default), or suppress them (0).

    Configuration parameters must appear in a [skool2bin] section. For example, to make skool2bin.py suppress warnings (without having to use the -w option on the command line), add the following section to skoolkit.ini:

        [skool2bin]
        Warnings=0

    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 binary file named game.bin:
    skool2bin.py game.skool

2.  Apply @isub and @ofix directives in game.skool and convert it into a binary file named game-io.bin:
    skool2bin.py -io game.skool game-io.bin

AUTHOR
Richard Dymond

COPYRIGHT
2026, Richard Dymond