{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python", "Topic :: System :: Emulators" ], "description": "# amitools - various AmigaOS tools for other platforms\n\n- written by Christian Vogelgsang \n- under the GNU Public License V2\n\n## Introduction\n\n`amitools` is a collection of Python (currently version **2.x only for now**)\ntools that I've written to work with *Amiga OS* binaries and files on Mac OS X\nand all other *nix-like platforms supporting 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 ```2.7.x```\n- pip\n\n### Optional Packages\n\n- [lhafile - FS Edition][1]: required to use ```.lha``` file scanner\n- [cython][7]: (version >= **0.25**) required to rebuild the native module\n\n### Install pip\n\nFirst make sure to have the Python package installer ```pip```:\n\n#### macOS\n\nOn macOS you have multiple ways of installing ```pip```:\n\n#### System Python\n\n```bash\nsudo easy_install pip\n```\n\n#### MacPorts Package Manager\n\nOn macOS using [MacPorts][2] package manager (Tool is called ```pip-2.7``` here):\n\n```bash\nsudo port install py27-pip\n```\n\n#### Homebrew Package Manager\n\nWith the [Homebrew][3] package manager (```pip``` is included in the ```python``` package):\n\n```bash\nbrew install python\n```\n\n#### Linux/Ubuntu\n\nOn Linux Ubuntu use the provided packages ```python-pip```\n\n```bash\nsudo apt-get install python-pip\n```\n\n#### Centos\n\nTo get pip run:\n\n```bash\ncurl \"https://bootstrap.pypa.io/get-pip.py\" -o \"get-pip.py\"\npython get-pip.py\n```\n\n#### Windows with Visual Studio\n\n- Install the latest native Windows Python 2.7.x from [python.org][6]\n- There is a special Edition for Visual Studio available that allows\n to compile Python 2.7 modules: Install [VCPython2.7][5]\n- Open the Command Shell of the Compiler and run\n\n```bash\ncd C:\\Python27\\Scripts\npip install amitools\n```\n\n#### Windows with MSYS2\n\n- (I use the mingw gcc compiler here to build the extension)\n- On Windows with [MSYS2][4] (use x86_64 version if possible):\n - Install with exe installer\n - Initial update is done with: (Open shell first)\n\n```bash\npacman -Sy\npacman --needed -S bash pacman msys2-runtime\n```\n\n- Now close shell and re-open a new dev shell (```MinGW-w64 Win64 Shell```)\n\n```bash\npacman -Su\npacman -S mingw-w64-x86_64-python2-pip mingw-w64-x86_64-gcc git make\n```\n\n[1]: https://github.com/FrodeSolheim/lhafile\n[2]: https://www.macports.org\n[3]: https://brew.sh\n[4]: https://github.com/msys2/msys2/wiki\n[5]: https://www.microsoft.com/en-gb/download/details.aspx?id=44266\n[6]: https://www.python.org\n[7]: https://cython.org\n\n## Installation\n\n### The Easy Way for Users\n\n```bash\npip install amitools\n```\n\nNote:\n\n- on Linux/macOS may use ``sudo`` to install for all users\n- requires a host C compiler to compile the extension.\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 to have Cython (version >= **0.25**) installed:\n\n```bash\nsudo pip install cython\n```\n\nYou have multiple variants to install the tools with Python's `setuptools`:\n\n- **Global Install** is available for all users of your system and needs root privileges\n\n```bash\nsudo python setup.py install\n```\n\n- **User Install** is available for your user only but does not require special privileges\n\n```bash\npython setup.py install --user\n```\n\n- **Developer Setup** only links this code into your installation and allows\n you to change/develop the code and test it immediately. (I prefer user install here)\n\n```bash\npython setup.py develop --user\n```\n\n- **Run In Place** allows you to run the binaries directly from the `bin` directory\n without any installation. You need `make` only to build the native library\n of vamos:\n\n```bash\npython setup.py build_ext -i\n```\n\nor if you have installed `GNU make` simply use:\n\n```bash\nmake\n```\n\n## Contents\n\nThe new Documentation of `amitools` is hosted on [readthedocs][1]\n\n### Tools\n\n- [vamos](doc/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- [xdftool][2]\n\n Create and modify ADF or HDF disk image files.\n\n- [xdfscan][3]\n\n Scan directory trees for ADF or HDF disk image files and verify the contents.\n\n- [rdbtool][4]\n\n Create or modify disk images with Rigid Disk Block (RDB)\n\n- [romtool][5]\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 supporte.\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[1]: https://amitools.readthedocs.io/\n[2]: https://amitools.readthedocs.io/en/latest/tools/xdftool.html\n[3]: https://amitools.readthedocs.io/en/latest/tools/xdfscan.html\n[4]: https://amitools.readthedocs.io/en/latest/tools/rdbtool.html\n[5]: 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", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/cnvogelg/amitools", "keywords": "", "license": "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "maintainer": "Christian Vogelgsang", "maintainer_email": "chris@vogelgsang.org", "name": "amitools", "package_url": "https://pypi.org/project/amitools/", "platform": "", "project_url": "https://pypi.org/project/amitools/", "project_urls": { "Homepage": "http://github.com/cnvogelg/amitools" }, "release_url": "https://pypi.org/project/amitools/0.2.0/", "requires_dist": null, "requires_python": "~=2.7", "summary": "A package to support development with classic Amiga m68k systems", "version": "0.2.0" }, "last_serial": 5458281, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "55552f2885390b39eb07a055c8a0fa31", "sha256": "09a1f65b159043a08d34f3ccd57e8851849605a17648703c0f83649c751defd4" }, "downloads": -1, "filename": "amitools-0.1.0.tar.gz", "has_sig": false, "md5_digest": "55552f2885390b39eb07a055c8a0fa31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 478293, "upload_time": "2017-08-03T18:29:55", "url": "https://files.pythonhosted.org/packages/3b/f5/c486d4c4540e1f01fb1dd93c372fbd2c110b06207cdd3868fa64a9022f23/amitools-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6b2df097f87d2f899675edc1e8fc1403", "sha256": "2774593b391ad56bdcb66f7d744a3ef6b1e45add8b50d5951ad9f6fdda4e96de" }, "downloads": -1, "filename": "amitools-0.2.0.zip", "has_sig": false, "md5_digest": "6b2df097f87d2f899675edc1e8fc1403", "packagetype": "sdist", "python_version": "source", "requires_python": "~=2.7", "size": 895666, "upload_time": "2019-06-27T18:39:12", "url": "https://files.pythonhosted.org/packages/ed/9e/57df8246280a9bd310a1705d76ba421f83620a0bd01c025fce4c947c39fc/amitools-0.2.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6b2df097f87d2f899675edc1e8fc1403", "sha256": "2774593b391ad56bdcb66f7d744a3ef6b1e45add8b50d5951ad9f6fdda4e96de" }, "downloads": -1, "filename": "amitools-0.2.0.zip", "has_sig": false, "md5_digest": "6b2df097f87d2f899675edc1e8fc1403", "packagetype": "sdist", "python_version": "source", "requires_python": "~=2.7", "size": 895666, "upload_time": "2019-06-27T18:39:12", "url": "https://files.pythonhosted.org/packages/ed/9e/57df8246280a9bd310a1705d76ba421f83620a0bd01c025fce4c947c39fc/amitools-0.2.0.zip" } ] }