Thanks...got over that hurdle now on to the next one lol, I get a lots of switches i can use but have no idea where to start
Usage: C:\Python27\UEF2ROM.py [-f <file indices>]
[(-m [-M <custom routine oph file> <custom routine label>]
[-I <custom routine oph file> <custom routine label>])
| ([-p] [-t] [-T] [-w <workspace>] [-l])]
[-s] [-b [-a] [-r|-x] [-B <boot file>]] [-c <load addresses>]
[-P <bank info address> <ROM index>]
<UEF file> <ROM file> [<ROM file>]
The file indices can be given as a colon-separated list and can include
hyphen-separated ranges of indices. Additionally, a special value of 's' can
be used to indicate the end of a ROM, so that files following this will be
added to a new ROM.
The first ROM image can be specified to be a minimal ROM with the -m option.
Otherwise, it will contain code to use a persistent ROM pointer.
The second ROM image will always be minimal, but can be specified to use a
persistent ROM pointer if the -p option is given and the first ROM is not a
If a minimal ROM image is not used, the -t option can be used to specify
that code to override *TAPE calls should be used. Additionally, the -T option
can be used to add code to trap filing system checks and always report that
the cassette filing system is in use.
The workspace for the ROM can be given as a hexadecimal value with the -w option
and specifies the address in memory where the persistent ROM pointer will be
stored; also the code and old BYTEV vector address for *TAPE interception (if
used) and the code and old ARGSV vector address is filing system checks are
intercepted. The workspace defaults to a00.
If you specify a pair of addresses separated by a colon (e.g, d3f:ef97) then the
second address will be used for the BYTEV vector address.
The -l option determines whether the first ROM will be read again after the
second ROM has been accessed. By default, the first ROM will not be readable
to ensure that files on the second ROM following a split file can be read.
If the -s option is specified, files may be split between ROMs.
If the -b option is specified, the first ROM will be run when selected.
Additionally, if the -a option is given, the ROM will be made auto-bootable.
If the -B option is also specified, the PAGE for subsequent BASIC programs
can be specified as a hexadecimal number.
The -r option is used to specify that the first file must be executed with *RUN.
The -x option indicates that *EXEC is used to execute the first file.
The -c option is used to indicate that files should be compressed, and is used
to supply information about the location in memory where they should be
decompressed. This is followed by colon-separated lists of load addresses,
themselves separated using slashes.
The -P option causes code to be included that writes to the paging register
at 0xfc00. The code reads from the bank info address specified to obtain a base
page number and adds the specified ROM index (base 10) to it in order to swap
in the ROM from the resulting bank number.
The -M option allows a custom piece of code to be used to respond to the star
command that is otherwise not used for minimal ROMs.
The -I option is like the -M option except that the custom code is not
as a star command and will be run before any other initialisation
code that may also be inserted into the ROM by other options.