Name | amitools JSON |
Version |
0.8.0
JSON |
| download |
home_page | |
Summary | A package to support development with classic Amiga m68k systems |
upload_time | 2024-03-05 11:33:11 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.7 |
license | GPL-v2 |
keywords |
amigaos
vamos
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# amitools - various AmigaOS tools for other platforms
- written by Christian Vogelgsang <chris@vogelgsang.org>
- under the GNU Public License V2
## Introduction
`amitools` is a collection of Python 3 tools that I've written to work with
*Amiga OS* binaries 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.
## Prerequisites
- Python >= ```3.7```
- [pip3][1]
### Optional Packages
- [lhafile - FS Edition][2]: required to use ```.lha``` file scanner
- [machine68k][3]: required to run `vamos`
[1]: https://pip.pypa.io/en/stable/installation/
[2]: https://github.com/FrodeSolheim/python-lhafile
[3]: https://github.com/cnvogelg/machine68k/
## Installation
### Stable/Release Version
If you only need the tools without `vamos` then you can install the pure
Python version:
```bash
pip3 install amitools
```
If you want to run `vamos` then you need the CPU emulator from the `machine68k`
package and you can install this dependency with:
```bash
pip3 install 'amitools[vamos]'
```
Note:
- on Linux/macOS may use ``sudo`` to install for all users
- the version may be a bit outdated. If you need recent changes use the
current version.
### Current Version from GitHub
If you wan to run `vamos` then first install the CPU emulator `machine68k`:
```bash
pip3 install -U git+https://github.com/cnvogelg/machine68k.git
```
Then install `amitools` directly from the git repository:
```bash
pip3 install -U git+https://github.com/cnvogelg/amitools.git
```
Note:
- 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.
### Developers
- Follow this route if you want to hack around with the amitools codebase
- Clone the Git repo: [amitools@git](https://github.com/cnvogelg/amitools)
- Ensure you have Cython and `machine68k` installed:
```bash
pip3 install cython machine68k
```
- Enter the directory of the cloned repo and install via pip:
```bash
pip3 install -U -e .
```
This install `amitools` in 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.
## Contents
The new Documentation of `amitools` is hosted on [readthedocs][4]
### Tools
- [vamos](docs/vamos.md) **V)irtual AM)iga OS**
vamos 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.
Note: `vamos` requires the package `machine68k` installed first!
- [xdftool][5]
Create and modify ADF or HDF disk image files.
- [xdfscan][6]
Scan directory trees for ADF or HDF disk image files and verify the contents.
- [rdbtool][7]
Create or modify disk images with Rigid Disk Block (RDB)
- [romtool][8]
A tool to inspect, dissect, and build Amiga Kickstart ROM images to be
used with emulators, run with soft kickers or burned into flash ROMs.
- hunktool
The 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.
- typetool
This 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.
- fdtool
This 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.
[4]: https://amitools.readthedocs.io/
[5]: https://amitools.readthedocs.io/en/latest/tools/xdftool.html
[6]: https://amitools.readthedocs.io/en/latest/tools/xdfscan.html
[7]: https://amitools.readthedocs.io/en/latest/tools/rdbtool.html
[8]: https://amitools.readthedocs.io/en/latest/tools/romtool.html
### Python Libraries
- Hunk library ```amitools.binfmt.hunk```
This 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
addresses
- ELF library ```amitools.binfmt.elf```
This library allows to read a subset of the ELF format mainly used in
AROS m68k.
- .fd File Parser ```amitools.fd```
Parse function descriptions shipped by Commodore to describe the Amiga APIs
- OFS and FFS File System Tools ```amitools.fs```
Create or modify Amiga's OFS and FFS file system structures
- File Scanners ```amitools.scan```
I'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
Raw data
{
"_id": null,
"home_page": "",
"name": "amitools",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "AmigaOS,vamos",
"author": "",
"author_email": "Christian Vogelgsang <chris@vogelgsang.org>",
"download_url": "https://files.pythonhosted.org/packages/14/a0/2068efdc40c2c6e51dc47a44f845156cbf3b2f06c5473a0a6869ee601658/amitools-0.8.0.tar.gz",
"platform": null,
"description": "# amitools - various AmigaOS tools for other platforms\n\n- written by Christian Vogelgsang <chris@vogelgsang.org>\n- under the GNU Public License V2\n\n## Introduction\n\n`amitools` is a collection of Python 3 tools that I've written to work with\n*Amiga OS* binaries and files on macOS and all other *nix-like platforms\nsupporting Python. Windows might work as\nwell, but is heavily untested. However, patches are welcome.\n\nI focus with my tools on classic Amiga setups, i.e. a 680x0 based system with\nAmiga OS 1.x - 3.x running on it. However, this is an open project, so you can\nprovide other Amiga support, too.\n\nThe tools are mostly developer-oriented, so a background in Amiga programming\nwill be very helpful.\n\n## Prerequisites\n\n- Python >= ```3.7```\n- [pip3][1]\n\n### Optional Packages\n\n- [lhafile - FS Edition][2]: required to use ```.lha``` file scanner\n- [machine68k][3]: required to run `vamos`\n\n[1]: https://pip.pypa.io/en/stable/installation/\n[2]: https://github.com/FrodeSolheim/python-lhafile\n[3]: https://github.com/cnvogelg/machine68k/\n\n## Installation\n\n### Stable/Release Version\n\nIf you only need the tools without `vamos` then you can install the pure\nPython version:\n\n```bash\npip3 install amitools\n```\n\nIf you want to run `vamos` then you need the CPU emulator from the `machine68k`\npackage and you can install this dependency with:\n\n```bash\npip3 install 'amitools[vamos]'\n```\n\nNote:\n\n- on Linux/macOS may use ``sudo`` to install for all users\n- the version may be a bit outdated. If you need recent changes use the\n current version.\n\n### Current Version from GitHub\n\nIf you wan to run `vamos` then first install the CPU emulator `machine68k`:\n\n```bash\npip3 install -U git+https://github.com/cnvogelg/machine68k.git\n```\n\nThen install `amitools` directly from the git repository:\n\n```bash\npip3 install -U git+https://github.com/cnvogelg/amitools.git\n```\n\nNote:\n\n- This will install the latest version found in the github repository.\n- You find the latest features but it may also be unstable from time to time.\n- Repeat this command to update to the latest version.\n\n### Developers\n\n- Follow this route if you want to hack around with the amitools codebase\n- Clone the Git repo: [amitools@git](https://github.com/cnvogelg/amitools)\n- Ensure you have Cython and `machine68k` installed:\n\n```bash\npip3 install cython machine68k\n```\n\n- Enter the directory of the cloned repo and install via pip:\n\n```bash\npip3 install -U -e .\n```\n\nThis install `amitools` in your current Python environment but takes the\nsource files still from this repository. So you can change the code there\nand directly test the tools.\n\n## Contents\n\nThe new Documentation of `amitools` is hosted on [readthedocs][4]\n\n### Tools\n\n- [vamos](docs/vamos.md) **V)irtual AM)iga OS**\n\n vamos allows you to run command line (CLI) Amiga programs on your host\n Mac or PC. vamos is an API level Amiga OS Emulator that replaces exec\n and dos calls with its own implementation and maps all file access to\n your local file system.\n\n Note: `vamos` requires the package `machine68k` installed first!\n\n- [xdftool][5]\n\n Create and modify ADF or HDF disk image files.\n\n- [xdfscan][6]\n\n Scan directory trees for ADF or HDF disk image files and verify the contents.\n\n- [rdbtool][7]\n\n Create or modify disk images with Rigid Disk Block (RDB)\n\n- [romtool][8]\n\n A tool to inspect, dissect, and build Amiga Kickstart ROM images to be\n used with emulators, run with soft kickers or burned into flash ROMs.\n\n- hunktool\n\n The hunktool uses amitools' hunk library to load a hunk-based amiga\n binary. Currently, its main purpose is to display the contents of the\n files in various formats.\n\n You can load hunk-based binaries, libraries, and object files. Even\n overlayed binary files are supported.\n\n- typetool\n\n This little tool is a companion for vamos. It allows you to dump and get\n further information on the API C structure of AmigaOS used in vamos.\n\n- fdtool\n\n This tool reads the fd (function description) files Commodore supplied for\n all of their libraries and dumps their contents in different formats\n including a code structure used in vamos.\n\n You can query functions and find their jump table offset.\n\n[4]: https://amitools.readthedocs.io/\n[5]: https://amitools.readthedocs.io/en/latest/tools/xdftool.html\n[6]: https://amitools.readthedocs.io/en/latest/tools/xdfscan.html\n[7]: https://amitools.readthedocs.io/en/latest/tools/rdbtool.html\n[8]: https://amitools.readthedocs.io/en/latest/tools/romtool.html\n\n### Python Libraries\n\n- Hunk library ```amitools.binfmt.hunk```\n\n This library allows to read Amiga OS loadSeg()able binaries and represent\n them in a python structure. You could query all items found there,\n retrieve the code, data, and bss segments and even relocate them to target\n addresses\n\n- ELF library ```amitools.binfmt.elf```\n\n This library allows to read a subset of the ELF format mainly used in\n AROS m68k.\n\n- .fd File Parser ```amitools.fd```\n\n Parse function descriptions shipped by Commodore to describe the Amiga APIs\n\n- OFS and FFS File System Tools ```amitools.fs```\n\n Create or modify Amiga's OFS and FFS file system structures\n\n- File Scanners ```amitools.scan```\n\n I've written some scanners that walk through file trees and retrieve the\n file data for further processing. I support file trees on the file system,\n in lha archives or in adf/hdf disk images\n",
"bugtrack_url": null,
"license": "GPL-v2",
"summary": "A package to support development with classic Amiga m68k systems",
"version": "0.8.0",
"project_urls": null,
"split_keywords": [
"amigaos",
"vamos"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "14a02068efdc40c2c6e51dc47a44f845156cbf3b2f06c5473a0a6869ee601658",
"md5": "528053e82e857e10e0f28c6953cecb6f",
"sha256": "3ddf1e145ae28990fa59d4e27728d877446cfc45b02c4807ddad31dcdb6bc4b7"
},
"downloads": -1,
"filename": "amitools-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "528053e82e857e10e0f28c6953cecb6f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 3282022,
"upload_time": "2024-03-05T11:33:11",
"upload_time_iso_8601": "2024-03-05T11:33:11.072071Z",
"url": "https://files.pythonhosted.org/packages/14/a0/2068efdc40c2c6e51dc47a44f845156cbf3b2f06c5473a0a6869ee601658/amitools-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-05 11:33:11",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "amitools"
}