mirror of
https://github.com/fadden/6502bench.git
synced 2025-01-19 08:29:48 +00:00
Minor documentation update
This commit is contained in:
parent
bdad8501f0
commit
55359d423a
@ -92,11 +92,11 @@ specific system.</p>
|
||||
<p>The tutorial is divided into four broad sections:</p>
|
||||
<ul>
|
||||
<li><a href="about-disasm.html">About Disassembly</a>: start here if you're
|
||||
unclear how "disassembling" works. Or is.</li>
|
||||
unclear how "disassembling" works. Or what it is.</li>
|
||||
<li><a href="using-sourcegen.html">Using SourceGen</a>: start here if you're
|
||||
familiar with disassembly. This shows how to create a project, move around in
|
||||
the file, make edits, and generate assembly source.</li>
|
||||
<li><a href="deeper-subjects.html">Deeper Subjects</a>: some less-common
|
||||
<li><a href="digging-deeper.html">Digging Deeper</a>: some less-common
|
||||
situations you may run into are discussed, along with some advanced features.</li>
|
||||
<li><a href="advanced-topics.html">Advanced Topics</a>: a quick look at
|
||||
some optional but very handy features.</li>
|
||||
|
@ -94,21 +94,26 @@ suggestions to help you on your way.</p>
|
||||
conventions, like whether to use MixedCase or underscore_separated
|
||||
or SCREAMING_CAPS for labels.</li>
|
||||
<li>Use the program thoroughly. Understand all of what it does.</li>
|
||||
<li>Begin each project by separating code from data. Identify external
|
||||
<li>Remember that SourceGen works by tracing through code from marked
|
||||
start points, rather than treating everything as code and requiring you
|
||||
to mark all the data items.
|
||||
Begin each project by finding the code. Identify external
|
||||
entry points, format tables of addresses, and find JSRs that are
|
||||
followed by inline data. Write an extension script to handle the
|
||||
followed by inline data. Use an extension script to handle the
|
||||
inlines so you won't keep tripping over them. If parts of the program
|
||||
are relocated to a different address, set the appropriate address
|
||||
overrides. Progress will be easier once you get code, data, and junk
|
||||
identified and arranged in memory.
|
||||
overrides.</li>
|
||||
<ul>
|
||||
<li>Code start tags are rarely needed, and code end tags are almost never
|
||||
needed. You shouldn't have to spend a lot of time manually tagging things.
|
||||
If a piece of code isn't being found, it's usually best to figure out why
|
||||
the code that calls it isn't being found, instead of trying to tag it and
|
||||
forge ahead. It might be dead code that's never called, or it might be
|
||||
called from a table that you can format to add code entry tags for
|
||||
multiple addresses with a single operation.</li>
|
||||
<li>Code start tags are rarely needed, and code end tags are almost
|
||||
never needed. You shouldn't have to spend a lot of time manually
|
||||
tagging things. If a piece of code isn't being found, it's usually
|
||||
best to figure out why the code that calls it isn't being found,
|
||||
instead of trying to tag it and forge ahead from that point. It might
|
||||
be dead code that's never called, or it might be called from a table
|
||||
that you can format to add code entry tags for multiple addresses with
|
||||
a single operation. Taking the time to find the table and format it
|
||||
is faster than hand-formatting dozens of little handlers, and it's
|
||||
something you'll need to do eventually anyway.</li>
|
||||
</ul></li>
|
||||
<li>Start with easily identifiable pieces. If a chunk of code is reading
|
||||
from the keyboard, you can make reasonable guesses about the purpose of
|
||||
|
@ -85,14 +85,31 @@
|
||||
|
||||
<h2>Using SourceGen</h2>
|
||||
|
||||
<div class="grid-container">
|
||||
<div class="grid-item-text">
|
||||
<p>Many disassemblers take a very simple approach: they dump
|
||||
the entire binary as if it were an instruction stream. It's then
|
||||
left to the human to carve away the data sections. SourceGen
|
||||
comes at the problem from a different angle, and assumes
|
||||
everything is data until proven otherwise. The human need only
|
||||
identify where code areas start. The computer will trace through
|
||||
code automatically, following branches and subroutine calls, and
|
||||
whatever isn't traced is either data storage or junk (dead code,
|
||||
alignment padding, etc).</p>
|
||||
<p>The difference in approach can be confusing at first for people
|
||||
accustomed to other software. Code tracing tends to produce better
|
||||
results more quickly, however, because much of the tedium is handled
|
||||
by the software.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr style="width:80%;"/>
|
||||
|
||||
<div class="grid-container">
|
||||
<div class="grid-item-text">
|
||||
<p>This first section covers the basics of working with SourceGen: how to
|
||||
move around, make edits, generate code, and so on.
|
||||
SourceGen has some unusual features, so it's worth reading through this
|
||||
even if you've used other disassemblers.</p>
|
||||
|
||||
<p>You can't do anything useful until you open an existing project or
|
||||
You can't do anything useful until you open an existing project or
|
||||
create a new one, so we'll start there.</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -106,7 +123,8 @@
|
||||
No part of the data file is included in the project file, so you need
|
||||
to keep both files in the same place.
|
||||
If the program you're disassembling was split into more than one data
|
||||
file, you'll need a separate project file for each.</p>
|
||||
file, you'll need a separate project file for each (or combine them into
|
||||
a single file with the concatenation tool).</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -134,8 +152,8 @@
|
||||
of the primary CPU varieties (6502, 65C02, W65C02, and 65816). If
|
||||
you're unsure, just take your best guess. It's easy to change things after the
|
||||
project has been started.</p>
|
||||
<p>The area on the right side of the window has a list of the files, scripts,
|
||||
and optional features that will be enabled for the
|
||||
<p>The area on the right side of the window has a list of the symbol
|
||||
files, scripts, and optional features that will be enabled for the
|
||||
selected system. The various items here will be explained in more
|
||||
detail later on.</p>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user