summaryrefslogtreecommitdiffstats
path: root/development/dis6502/dis6502.1
diff options
context:
space:
mode:
author B. Watson2017-09-09 00:21:10 +0200
committer David Spencer2017-09-09 00:21:10 +0200
commita9efa8d56900615c922e3bca818dbb64a040f503 (patch)
treea3bac0d1cab098eed0b5c5dd6ec0e53d135fc06d /development/dis6502/dis6502.1
parent8c4baf35c6da5ce67be3866d5044a51a9474877b (diff)
downloadslackbuilds-a9efa8d56900615c922e3bca818dbb64a040f503.tar.gz
development/dis6502: Added (flow-tracing disassembler for 6502).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
Diffstat (limited to 'development/dis6502/dis6502.1')
-rw-r--r--development/dis6502/dis6502.1176
1 files changed, 176 insertions, 0 deletions
diff --git a/development/dis6502/dis6502.1 b/development/dis6502/dis6502.1
new file mode 100644
index 0000000000..458f8fd383
--- /dev/null
+++ b/development/dis6502/dis6502.1
@@ -0,0 +1,176 @@
+.\" Man page generated from reStructuredText.
+.
+.TH DIS6502 1 "2017-09-08" "0.12" "SlackBuilds.org"
+.SH NAME
+dis6502 \- Disassemble 6502 object code
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for dis6502(1) man page. Convert with:
+.
+.\" rst2man.py dis6502.rst > dis6502.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.sp
+dis6502 [\fI\-b\fP | \fI\-l\fP | \fI\-c\fP | \fI\-r <address>\fP] [\fI\-a\fP] [\fI\-p <pfile>\fP] [\fI\-v <address>\fP] [\fI\-7\fP] \fIfile\fP
+.SH DESCRIPTION
+.sp
+Dis6502 disassembles 6502 binary files. Binary formats understood include
+Atari binary files (L menu command) and boot files. Equate and control
+files can be included via the option to name well known locations and to
+control the disassembly process. The output includes a cross reference.
+.sp
+The disassembly process is a two pass operation: First the program flow
+is traced starting with the init and run parameters in the file headers.
+The dump routine then prints out the information.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-r\fP \fI<address\fP>
+\fIfile\fP is raw binary, located at \fI<address>\fP\&.
+.TP
+.B \fB\-b\fP
+\fIfile\fP is an Atari boot image (disk or cassette). Note that neither .ATR
+nor .CAS images are supported: the file must be a raw image with no header
+information. For disks, this is called an XFD file.
+.TP
+.B \fB\-l\fP
+\fIfile\fP is an Atari load file (aka XEX).
+.TP
+.B \fB\-c\fP
+\fIfile\fP is a Commodore 64 executable.
+.TP
+.B \fB\-a\fP
+Generate assembly output. Suppresses the addresses and object
+code normally printed on each line of output, and omits the
+cross\-reference section from the end of the output.
+.TP
+.B \fB\-p\fP \fI<pfile>\fP
+Use predefinition file. See \fBFILE FORMAT\fP for the predef file format.
+Up to 10 \fB\-p\fP options may be included.
+.TP
+.B \fB\-v\fP \fI<address>\fP
+Alternate vector address (normally \fB$FFFA\fP). This option only has
+any effect with raw binaries (\fB\-r\fP option).
+.TP
+.B \fB\-7\fP
+Mask character data to 7\-bit.
+.UNINDENT
+.SH FILES
+.sp
+\fB/usr/share/dis6502/atari8.predef\fP
+.sp
+\fB/usr/share/dis6502/c64.predef\fP
+.sp
+Predefinition files for Atari 8\-bit and Commodore 64, containing the usual
+system equates.
+.SH FILE FORMAT
+.sp
+Lines in a predefinition file consist of:
+.sp
+\fBlabel\fP .eq \fIaddress\fP
+.sp
+\fBlabel\fP .equ \fIaddress\fP
+.INDENT 0.0
+.INDENT 3.5
+Defines a label. The \fB\&.eq\fP and \fB\&.equ\fP forms are equivalent.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\&.jtab2\fP \fIlowaddr,hiaddr,count\fP
+.INDENT 0.0
+.INDENT 3.5
+Defines a table of \fIcount\fP pointers, split into low and
+high byte tables. In assembly code, such a table might look like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+; func1, func2, func3 are addresses.
+table_lo: .byte <func1, <func2, <func3
+table_hi: .byte >func1, >func2, >func3
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+To disassemble these, assuming the address of \fItable_lo\fP is \fB$1000\fP,
+use:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&.jtab2 $1000,$1003,3
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+\fB\&.rtstab\fP \fIlowaddr\fP,*hiaddr*,*count*
+.INDENT 0.0
+.INDENT 3.5
+Like \fB\&.jtab2\fP, but each entry contains the target address minus one, for use with RTS.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\&.trace\fP \fIaddress\fP
+.INDENT 0.0
+.INDENT 3.5
+Causes the trace process to continue at \fIaddress\fP\&.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\&.stop\fP \fIaddress\fP
+.INDENT 0.0
+.INDENT 3.5
+Causes the trace process to stop at \fIaddress\fP\&.
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+.sp
+dis6502 is distributed under the terms of the Free Software Foundation\(aqs
+General Public License, Version 2. See the file
+/usr/doc/dis6502\-0.12/COPYING for license information.
+.SH AUTHORS
+.sp
+dis6502 was written by Robert Bond, Udi Finkelstein, and Eric Smith.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+dis(1), da65(1)
+.sp
+The dis6502 homepage: \fI\%http://www.brouhaha.com/~eric/software/dis6502/\fP
+.\" Generated by docutils manpage writer.
+.