mirror of
https://github.com/InvisibleUp/uvmac.git
synced 2024-11-22 07:31:19 +00:00
1 line
7.1 KiB
HTML
1 line
7.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
|
|
<head>
|
|
<title> FDisasm (Alpha) </title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="canonical" href="index.html">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div>
|
|
|
|
<i> <a href="https://www.gryphel.com/index.html">www.gryphel.com</a>/c/<a href="../../../index.html">minivmac</a>/<a href="../../index.html">extras</a>/<a href="../index.html">fdisasm</a>/a
|
|
- <a href="https://www.gryphel.com/c/c/feedback.html">feedback</a> </i>
|
|
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<h2 align=center>
|
|
FDisasm (Alpha)
|
|
</h2>
|
|
|
|
<hr>
|
|
|
|
<p> Download </p>
|
|
<blockquote>
|
|
|
|
<p>
|
|
<a href="https://www.gryphel.com/d/minivmac/extras/fdisasm/a/fdisasm200105.zip">fdisasm200105.zip</a>
|
|
(<a href="https://www.gryphel.com/d/minivmac/extras/fdisasm/a/fdisasm200105.inf.txt">info</a>)
|
|
a zipped hfs disk image and checksum file.
|
|
The disk image can be mounted with Mini vMac.
|
|
Includes source code.
|
|
</p>
|
|
|
|
<p>
|
|
<a href="https://www.gryphel.com/d/minivmac/extras/fdisasm/a/fdplusv3-191208.zip">fdplusv3-191208.zip</a>
|
|
(<a href="https://www.gryphel.com/d/minivmac/extras/fdisasm/a/fdplusv3-191208.inf.txt">info</a>)
|
|
a disk image containing all the formatting information needed
|
|
to disassemble a Macintosh Plus ROM image
|
|
(version 3, final - checksum 4D1F8172).
|
|
</p>
|
|
|
|
<p>
|
|
<a href="roms.html">ROM Formatting Information</a> -
|
|
more images to disassemble other Macintosh ROMs.
|
|
</p>
|
|
|
|
</blockquote>
|
|
|
|
<p>
|
|
FDisasm is a formatting disassembler for Motorola 680x0 code.
|
|
It makes it possible to distribute the means to create an
|
|
annotated disassembly of copyrighted code (such as Macintosh
|
|
ROM images), without distributing that code or files derived from it.
|
|
</p>
|
|
|
|
<p>
|
|
To use FDisasm to disassemble the Macintosh Plus ROM, launch
|
|
Mini vMac and boot from a disk image containing
|
|
a system folder. Mount the fdplusv3-191208 disk image, and import
|
|
a copy of the Macintosh Plus ROM onto it. (Such as by using
|
|
<a href="../../importfl/index.html">ImportFl</a>.) Mount the
|
|
fdisasm200105 disk image, copy the FDisasm application
|
|
to the fdplus disk image, and then eject the fdisasm
|
|
image. Rename the ROM image
|
|
to “bin”, and then launch the FDisasm application. The
|
|
program displays a progress indicator, and quits when
|
|
it is finished. (It could take five minutes at 1x speed,
|
|
so set speed to “all out”. At “all out” speed it
|
|
takes under 10 seconds to finish on my Mac Mini.) When the program
|
|
finishes, the output is in a file named “listing”.
|
|
</p>
|
|
|
|
<p>
|
|
This listing file is over 2 megabytes. The program
|
|
MPW Shell 3.2.3 works in Mini vMac and can work with such
|
|
large text files. But probably almost nobody else has an
|
|
old copy of MPW. (The final version of MPW still available
|
|
for free download requires a Mac II or later.) Instead
|
|
you can export the listing file to the host computer
|
|
(such as by using <a href="../../exportfl/index.html">ExportFl</a>),
|
|
and find some program there that can view it. (For
|
|
OS X, TextWrangler would work, for example.)
|
|
</p>
|
|
|
|
<p>
|
|
<b>Warning</b> : Not enough people are paying
|
|
enough attention to FDisasm (especially me) for
|
|
it to be relied upon. If you notice something
|
|
odd in the output, double check it, and if
|
|
it is wrong, please report it to
|
|
<a href="https://www.gryphel.com/c/feedback.html">me</a>.
|
|
</p>
|
|
|
|
<p>
|
|
This listing file is derived (in terms of copyright
|
|
law) from the Macintosh Plus ROM, and so may not be
|
|
redistributed.
|
|
</p>
|
|
|
|
<p>
|
|
To disassemble the Macintosh 128/512 ROM, follow the above
|
|
instructions, except use the fdmac128-0.3.0 disk image, and
|
|
of course use a ROM image from a Macintosh 128 or 512.
|
|
And similarly for the Macintosh SE, Macintosh
|
|
II, and PowerBook 100 ROMs.
|
|
</p>
|
|
|
|
<p>
|
|
Here are some details about the formatting information
|
|
files used by FDisasm:
|
|
</p>
|
|
|
|
<p>
|
|
The only file required by FDisasm is “bin”. But if this is
|
|
all it finds, it will just create a hexadecimal dump of
|
|
the file. To disassemble code, it needs to know where
|
|
the code is. It looks for a file named “bin_map” for
|
|
this information. It also looks for a file named “bin_names”
|
|
for names of locations within “bin”, and for a file
|
|
named “abs_names” for names of absolute memory locations,
|
|
and for a file named “trap_names” for names of A-line
|
|
instructions. A file named “format” can give additional
|
|
formatting information, and comments to include in the listing.
|
|
</p>
|
|
|
|
<p>
|
|
The
|
|
<a href="../../findcode/index.html">FindCode</a>
|
|
tool can help to create the files “bin_map” and
|
|
“bin_names”.
|
|
</p>
|
|
|
|
<p>
|
|
The
|
|
<a href="../../findres/index.html">FindRes</a>
|
|
tool will create
|
|
an initial “format” file for Macintosh resources, and
|
|
also “bin_map” and a set of entry points to feed
|
|
to FindCode.
|
|
</p>
|
|
|
|
<p>
|
|
Besides ROM images, FDisasm can also disassemble
|
|
Macintosh 680x0 applications. But the code and other
|
|
resources are located in the “resource fork” of such
|
|
appplications, while FDisasm only operates
|
|
on the “data fork” of the file “bin”.
|
|
The <a href="../../getrsfrk/index.html">GetRsFrk</a> tool gets
|
|
the resource fork of a file you select, and saves
|
|
it into the data fork of “bin”.
|
|
An alternative is
|
|
<a href="../../aspack/index.html">asPack</a>,
|
|
which also saves the data fork and the meta data into “bin”,
|
|
in AppleSingle format.
|
|
</p>
|
|
|
|
<p>
|
|
FDisasm has some compile time options. The default values are
|
|
defined in “source/CNFGDLFT.i”, and these defaults
|
|
can be changed in “source/CONFIGUR.i”. For example,
|
|
the following variation outputs address and hex
|
|
fields, resulting in output that is not suitable for passing to an
|
|
assembler, but is more useful when working on the format file.
|
|
</p>
|
|
|
|
<p> Download </p>
|
|
<blockquote>
|
|
|
|
<p>
|
|
<a href="https://www.gryphel.com/d/minivmac/extras/fdisasm/a/fdis0003-200105.zip">fdis0003-200105.zip</a>
|
|
(<a href="https://www.gryphel.com/d/minivmac/extras/fdisasm/a/fdis0003-200105.inf.txt">info</a>)
|
|
variation of FDisasm.
|
|
</p>
|
|
|
|
</blockquote>
|
|
|
|
<p>
|
|
The software that has become FDisasm, FindCode, and
|
|
FindRes was my first serious programming
|
|
project, started in 1985 in Basic, and later converted
|
|
to Pascal, and now converted to C when I got back to
|
|
it recently. I wonder if 23 years to first
|
|
public release is any kind of record.
|
|
</p>
|
|
|
|
<p> See the
|
|
<a href="../../../appc/index.html">Compiling</a>
|
|
page for instructions on compiling FDisasm from the source code. </p>
|
|
|
|
<p> You can redistribute FDisasm and/or modify it under the terms
|
|
of version 2 of the GNU General Public License as published by
|
|
the Free Software Foundation. See the included file COPYING. </p>
|
|
|
|
<p> FDisasm is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
license for more details. </p>
|
|
|
|
<hr>
|
|
|
|
<div>
|
|
|
|
<i> <a href="https://www.gryphel.com/index.html">www.gryphel.com</a>/c/<a href="../../../index.html">minivmac</a>/<a href="../../index.html">extras</a>/<a href="../index.html">fdisasm</a>/a
|
|
- <a href="https://www.gryphel.com/c/feedback.html">feedback</a> </i>
|
|
<br>
|
|
copyright (c) 2020 Paul C. Pratt - last update 1/5/2020
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|