mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
4.8 KiB
113 lines
4.8 KiB
Usage:
|
|
hex2bin <options> [<flags> <filename.hex> | <filename.s19/M>]+
|
|
bin2hex <options> <flags> <filename.bin>
|
|
|
|
Options:
|
|
-g -- Use Intel seGmented addressing in hex files for
|
|
ROMs between 64k and 1M in size. Normally, linear
|
|
addressing is used for ROMs bigger than 64k. For
|
|
ROMs larger than 1M, this switch has no effect,
|
|
since only linear addressing is possible.
|
|
|
|
-o <output filename> -- default is 'out.bin' or 'out.hex'
|
|
No suffix is added to the filename, so the full
|
|
file name must be specified.
|
|
|
|
-p <pad byte> -- default is 0xFF, which is the erased
|
|
value for most ROM's. Pad bytes are not explicitly
|
|
written out when 'bin2hex' is used. This reduces
|
|
the size of sparse ROM images.
|
|
|
|
-R <ROM size> -- may be any value. Normally this will be
|
|
specified as '128k' or 0x10000. The suffixes 'k'
|
|
and 'M' are recognized. The default value is 64k
|
|
for 'hex2bin' and 1M for 'bin2hex'.
|
|
|
|
-v [<verbosity level>] -- used primarily for debugging. A
|
|
verbosity level of 3 will print each line as it is
|
|
processed.
|
|
|
|
Options are global, and may be specified anywhere on the command
|
|
line. Only 'flags', below, are position sensitive. Flags must
|
|
be specified immediately before the file name they are to affect.
|
|
They do not affect more that a single file. They reset to their
|
|
default values before the next input file, scanning left to
|
|
right, is processed.
|
|
|
|
Flags:
|
|
Flag values apply only to the following file, and are reset
|
|
to the default values before the next file is processed. The
|
|
source and destination flags allow code to be relocated
|
|
within the ROM so that code may be loaded at a different
|
|
location than where it will ultimately be run.
|
|
|
|
-d <destination address in output file> -- default is 0.
|
|
data will only be loaded between the limits of
|
|
the -d <dest> address and the -D <limit> address
|
|
minus 1.
|
|
|
|
-D <destination limit in output file> -- default is 16M. No data
|
|
will be loaded at or above this address.
|
|
|
|
-s <source address in input file> -- default is 0. Hex input
|
|
is only processed if it falls at addresses in the
|
|
.hex input file between the -s <srs> address and the
|
|
-S <limit> address minus 1. Likewise, Bin input
|
|
is only processed if it falls between similar limits
|
|
in the input ROM image.
|
|
|
|
-S <source limit in hex file> -- default is 16M. No input
|
|
data at or above this address will be processed.
|
|
|
|
Suffix:
|
|
For HEX to BIN conversions, a suffix may be appended to an
|
|
input filename to indicate that it is in Motorola S-record
|
|
format instead of Intel hex format.
|
|
|
|
<filename.ext>/M -- there may be no space between the file-
|
|
name and the /M suffix. The foregoing file is a
|
|
Motorola S-record (S19) file, not an Intel hex file.
|
|
|
|
Numeric values on the command line may be specified in any C-like
|
|
syntax: 0x0000 is hexadecimal, 1234 is decimal, and 0177 is
|
|
octal. In addition the suffixes 'k' for kilo- and 'M' for mega-
|
|
cause the preceding values to be multiplied by 1024 or 1048576,
|
|
respectively.
|
|
|
|
Examples:
|
|
hex2bin -p 0xFF -R32k cpm22.hex -o cpmtest.bin
|
|
hex2bin -o cpmtest.bin cpm22.hex -R 0x8000 -p255
|
|
|
|
The preceding two lines have identical effects in all
|
|
respects.
|
|
|
|
hex2bin -R 1M -s 0xd000 -d 0x0800 -D0x2800 image.hex \
|
|
pagezero.hex -oROMIMAGE.bin
|
|
|
|
The above line loads the 'pagezero.hex' file at the exact
|
|
addresses specified in the file; however, the 'image.hex' file
|
|
is assembled at 0xD000, must run at 0xD000, but is loaded
|
|
between 0x800 <= addr < 0x2800. It is presumed that the
|
|
code will be relocated to the correct address before it is
|
|
executed.
|
|
|
|
hex2bin -R16K tutor.S68/M -o tutor.bin
|
|
|
|
The above line converts the Mororola SREC file 'tutor.S68'
|
|
to a flat 16K binary file named 'tutor.bin'.
|
|
|
|
bin2hex -R128k romimage.bin -o image.hex
|
|
|
|
Simple conversion from a BIN file to a HEX file. The ROM
|
|
data is limited to 128k.
|
|
|
|
bin2hex -s 0x1000 -S 0x2000 -d 0x21000 romimage.bin \
|
|
-o Relocated.hex
|
|
|
|
Extract from a ROM image file all of the data between 0x1000
|
|
and 0x1FFF, inclusive, and write to an Intel hex file for
|
|
re-loading two 64k segments higher in a future ROM.
|
|
|
|
|
|
(end)
|
|
|