Package: amitools
amitools - various AmigaOS tools for other platformswritten by Christian Vogelgsangchris@vogelgsang.orgunder the GNU Public License V2Introductionamitoolsis a collection of Python 3 tools that I've written to work withAmiga OSbinaries and files on macOS and all other *nix-like platforms
supporting Python. Windows might work as
well, but is heavily untested. However, patches are welcome.I focus with my tools on classic Amiga setups, i.e. a 680x0 based system with
Amiga OS 1.x - 3.x running on it. However, this is an open project, so you can
provide other Amiga support, too.The tools are mostly developer-oriented, so a background in Amiga programming
will be very helpful.PrerequisitesPython >=3.7pip3Optional Packageslhafile - FS Edition: required to use.lhafile scannercython: (version >=0.29) required to rebuild the native moduleInstallationStable/Release Versionpip3installamitoolsNote:on Linux/macOS may usesudoto install for all usersrequires a host C compiler to compile the extension.the version may be a bit outdated. If you need recent changes use the
current version.Current Version from GitHubEnsure you have Cython installed:pip3installcythonThen installamitoolsdirectly from the git repository:pip3install-Ugit+https://github.com/cnvogelg/amitools.gitNote:This will install the latest version found in the github repository.You find the latest features but it may also be unstable from time to time.Repeat this command to update to the latest version.DevelopersFollow this route if you want to hack around with the amitools codebaseClone the Git repo:amitools@gitEnsure you have Cython installed:pip3installcythonEnter the directory of the cloned repo and install via pip:pip3install-U-e.This installamitoolsin your current Python environment but takes the
source files still from this repository. So you can change the code there
and directly test the tools.ContentsThe new Documentation ofamitoolsis hosted onreadthedocsToolsvamosV)irtual AM)iga OSvamos allows you to run command line (CLI) Amiga programs on your host
Mac or PC. vamos is an API level Amiga OS Emulator that replaces exec
and dos calls with its own implementation and maps all file access to
your local file system.xdftoolCreate and modify ADF or HDF disk image files.xdfscanScan directory trees for ADF or HDF disk image files and verify the contents.rdbtoolCreate or modify disk images with Rigid Disk Block (RDB)romtoolA tool to inspect, dissect, and build Amiga Kickstart ROM images to be
used with emulators, run with soft kickers or burned into flash ROMs.hunktoolThe hunktool uses amitools' hunk library to load a hunk-based amiga
binary. Currently, its main purpose is to display the contents of the
files in various formats.You can load hunk-based binaries, libraries, and object files. Even
overlayed binary files are supported.typetoolThis little tool is a companion for vamos. It allows you to dump and get
further information on the API C structure of AmigaOS used in vamos.fdtoolThis tool reads the fd (function description) files Commodore supplied for
all of their libraries and dumps their contents in different formats
including a code structure used in vamos.You can query functions and find their jump table offset.Python LibrariesHunk libraryamitools.binfmt.hunkThis library allows to read Amiga OS loadSeg()able binaries and represent
them in a python structure. You could query all items found there,
retrieve the code, data, and bss segments and even relocate them to target
addressesELF libraryamitools.binfmt.elfThis library allows to read a subset of the ELF format mainly used in
AROS m68k..fd File Parseramitools.fdParse function descriptions shipped by Commodore to describe the Amiga APIsOFS and FFS File System Toolsamitools.fsCreate or modify Amiga's OFS and FFS file system structuresFile Scannersamitools.scanI've written some scanners that walk through file trees and retrieve the
file data for further processing. I support file trees on the file system,
in lha archives or in adf/hdf disk images