Digifusion FVRT100/145/150/200 Tweaking
!! WARNING !!
All files and advice on this site are provided in
but you use them at your own risk.
Nothing provided here comes with any warranty or guarantee.
ST20 Disassembler and Patch Development Utility
st20dis - disassemble SGS-Thomson ST20 C2/C4 machine code.
st20dis [options] <source filename>
st20dis is a command-line disassembler for the
SGS-Thomson ST20 C2/C4 instruction set
which includes additional functions to assist with development of patches
to existing binaries.
Add a brief expanded mnemonic for each opcode to the output.
For example this will append
load local pointer
Add an expanded mnemonic after each opcode and a more verbose
description. For example this will append
load local pointer - A = &workspace[n], B=A, C=B
Briefer output. Don't print address offsets or byte values alongside
the labels and opcodes.
Break the sub-routine at
offset. This effectively
disables the sub-routine by making it return as soon as it is
called. This can be used to help determine what a sub-routine
actually does. The value is interpreted as hex.
Enable debugging (of
without an argument level 1 is selected.
Perform object detection only then exit. For testing.
End disassembly at
offset or after
bytes. Both values are interpreted as hex.
Produce HTML output and place the output files in the named directory.
The directory will be created if it does not exist.
Start disassembly at
offset. The value is interpreted
Disassemble subroutine containing
offset. The value
is interpreted as hex.
Write output to
file (defaults to screen)
Force disassembly offset to
Change the byte at
-P <patch filet>
to disassembling. This option may be used multiple times.
Apply a DigiFusion patch file (.fpt) to the binary.
Supress output of padding bytes used to force 32-bit alignment.
Output all references instead of just the first 16.
Send the final firmware image over a serial device using XMODEM
Modify the input file with the results of patch operations.
Include in the output the bytes which have been detected as part
of an identifiable object (e.g. an M2V frame). The bytes are
displayed as a hexadecimal dump.
ADDRESS MAP FILES
An address map file is a normal text file which contains one of more lines,
each of which is in one of the following formats:
Specify the disassembly offset to use.
object:<offset>:<length>:<3 character tag>
Define a range of bytes as a binary object which should not be
disassembled. used for non-code sections which are not automatically
Define a range of bytes to be a string. Used for strings
which are not automatically detected.
Name a memory location. Usually a subroutine entry point.
loc line can be optionally followed by a block of text
indented with tabs which is included in the disassembly output above the
referenced subroutine. This can be used to include function headers or
other comments in the disassembly.
Treat a section of memory as a binary sequence and show
a hex dump instead of attempting to disassemble.