mirror of
https://github.com/fadden/6502bench.git
synced 2024-12-02 13:51:36 +00:00
8d291ba21e
The Absolute Indirect and Absolute Indirect Long addressing modes (e.g. "JMP (addr)" and "JMP [addr]") are 16-bit values in bank 0. The code analyzer was placing them in the program bank, which meant the wrong symbol was being used. Also, tweak some docs.
124 lines
5.1 KiB
HTML
124 lines
5.1 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<head>
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<link href="main.css" rel="stylesheet" type="text/css" />
|
|
<title>Tools - 6502bench SourceGen</title>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="content">
|
|
<h1>6502bench SourceGen: Tools</h1>
|
|
|
|
<h2><a name="instruction-chart">Instruction Chart</a></h2>
|
|
|
|
<p>This opens a window with a summary of all 256 opcodes. The CPU can
|
|
be chosen from the pop-up list at the bottom. Undocumented opcodes for
|
|
6502/65C02 are shown in italics, and can be excluded from the list
|
|
by unchecking the box at the bottom.</p>
|
|
<p>The status flags affected by each instruction reflect their behavior
|
|
on the 65816. The only significant difference between 65816 and
|
|
6502/65C02 is the way the BRK instruction affects the D and B/X flags.</p>
|
|
|
|
|
|
<h2><a name="ascii-chart">ASCII Chart</a></h2>
|
|
|
|
<p>This opens a window with the ASCII character set. Each character is
|
|
displayed next to its numeric value in decimal and hexadecimal. The
|
|
pop-up list at the bottom allows you to flip between standard and "high"
|
|
ASCII.</p>
|
|
|
|
|
|
<h2><a name="hexdump">Hex Dump Viewer</a></h2>
|
|
|
|
<p>You can use this to view the contents of the project data file
|
|
by double-clicking the "bytes" column, or with Actions > Show Hex Dump.
|
|
The viewer is displayed in a "modeless" dialog that does not
|
|
prevent you from continuing to work with the project. If you
|
|
double-click a different line in the project, the viewer will automatically
|
|
highlight those bytes.</p>
|
|
|
|
<p>You can also use this to view the contents of arbitrary files by
|
|
using Tools > Hex Dump. There is no fixed limit on the number of
|
|
viewers you can have open simultaneously. (Be aware that the viewer
|
|
currently loads the entire file into memory, and you will run out of room
|
|
eventually. Not coincidentally, the viewer has a size limit of 16MiB
|
|
per file.)</p>
|
|
|
|
<p>You can select lines with the mouse as you would in any other list
|
|
view. Ctrl+A selects all lines. Ctrl+C copies the selected lines to
|
|
the system clipboard.</p>
|
|
|
|
<p>The "character conversion" selector allows you to choose how the
|
|
bytes are converted to characters for the Text column. Choose from
|
|
the usual set of encodings.</p>
|
|
|
|
<p>If "ASCII-only dump" is not checked, non-printable bytes are shown in
|
|
the ASCII dump as a middle dot ('·'). If the box is checked,
|
|
non-printable bytes are represented by a period ('.') instead. The
|
|
use of non-ASCII characters makes the dump unambiguous when unprintable
|
|
characters are mixed with periods, but the lines may be unsuitable for
|
|
pasting in some forums.</p>
|
|
|
|
<p>If "always on top" is checked, the window will stay above all other
|
|
windows that don't also declare that they should always be on top. By
|
|
default this box is checked when displaying project data, and not checked for
|
|
external files.</p>
|
|
|
|
|
|
<h2><a name="file-concat">File Concatenator</a></h2>
|
|
|
|
<p>The File Concatenator combines multiple files into a single file.
|
|
Select the files to add, arrange them in the proper order, then hit
|
|
"Save". CRC-32 values are shown for reference.</p>
|
|
|
|
|
|
<h2><a name="file-slicer">File Slicer</a></h2>
|
|
|
|
<p>The File Slicer allows you to "slice" a piece out of a file, saving
|
|
it to a new file. Specify the start and length in decimal or hex. If
|
|
you leave a field blank, they will default to offset 0 and the remaining
|
|
length of the file, respectively.</p>
|
|
<p>The hex dumps show the area just before and after the chunk to be
|
|
sliced, allowing you to confirm the placement.</p>
|
|
|
|
|
|
<h2><a name="omf-converter">OMF Converter</a></h2>
|
|
|
|
<p>This tool allows you to view Apple IIgs Object Module Format (OMF)
|
|
executables, and convert them for disassembly.</p>
|
|
|
|
<p>OMF executables have multiple segments with relocatable code. References
|
|
to addresses aren't filled in until the program is loaded into memory,
|
|
which makes it difficult to disassemble the file. The conversion tool
|
|
loads the OMF file in roughly the same way the GS/OS System Loader would,
|
|
placing each segment at the start of a bank unless otherwise directed.
|
|
The loaded image is saved to a new file, and a SourceGen project file is
|
|
created with some basic attributes filled in.</p>
|
|
|
|
<p>Only "Load" files (S16, PIF, TOL, etc) may be converted. Compiler object
|
|
files and libraries contain unresolved references and are not supported.</p>
|
|
|
|
<p>The binary generated by the tool is not in OMF format and will not
|
|
execute on an Apple IIgs. To be functional, the sources must be
|
|
assembled by a program capable of generating OMF output, such as Merlin.</p>
|
|
|
|
<p>The relocation dictionaries from the executable are included in the
|
|
project file, and can be used to guide the disassembler's analysis. The
|
|
"use reloc data" setting in the project properties controls this feature.</p>
|
|
|
|
<p>A full explanation of the structure of OMF is beyond the scope of this
|
|
manual. For more information on OMF, see Appendix F of the GS/OS Reference
|
|
Manual.</p>
|
|
|
|
</div>
|
|
|
|
<div id="footer">
|
|
<p><a href="index.html">Back to index</a></p>
|
|
</div>
|
|
</body>
|
|
<!-- Copyright 2018 faddenSoft -->
|
|
</html>
|