ATRCopy
Utilities to list files on and extract files from Atari 8-bit emulator disk images. Eventually, I hope to add support for these images to pyfilesystem.
Prerequisites
Starting with ATRcopy 2.0, numpy is required.
References
Supported Disk Image Formats
XFD: XFormer images, basically raw disk dumps
ATR: Nick Kennedy’s disk image format; includes 16 byte header
Supported Filesystem Formats
XEX format: Atari executable files
Atari DOS in single, enhanced, and double density
KBoot format: a single executable file packaged up into a bootable disk image
Example Usage
To extract all non SYS files while converting to lower case, use:
$ python atrcopy.py /tmp/GAMES1.ATR -x -l -n GAMES1.ATR File #0 : *DOS SYS 039 : skipping system file dos.sys File #1 : *MINER2 138 : copying to miner2 File #2 : *DEFENDER 132 : copying to defender File #3 : *CENTIPEDE 045 : copying to centiped.e File #4 : *GALAXIAN 066 : copying to galaxian File #5 : *AUTORUN SYS 005 : skipping system file autorun.sys File #6 : *DIGDUG 133 : copying to digdug File #7 : *ANTEATER 066 : copying to anteater File #8 : *ASTEROIDS 066 : copying to asteroid.s
Example on Mac OS X
OS X supplies python with the operating system so you shouldn’t need to install a framework version from python.org.
To prevent overwriting important system files, it’s best to create a working folder: a new empty folder somewhere and do all your testing in that folder. For this example, create a folder called atrtest in your Documents folder. Put a few disk images in this directory to use for testing.
Download or copy the file atrcopy.py and put it the Documents/atrtest folder.
Since this is a command line programe, you must start a Terminal by double clicking on Terminal.app in the Applications/Utilities folder in the Finder. When Terminal opens, it will put you in your home folder automatically. Go to the atrtest folder by typing:
cd Documents/atrtest
You should see the file atrcopy.py as well as the other ATR images you placed in this directory by using the command:
ls -l
For example, you might see:
mac:~/Documents/atrtest $ ls -l -rw-r--r-- 1 rob staff 92176 May 18 21:57 GAMES1.ATR -rwxr-xr-x 1 rob staff 8154 May 18 22:36 atrcopy.py
Now, run the program by typing python atrcopy.py YOURFILE.ATR and you should see the contents of the ATR image in the familiar Atari DOS format:
mac:~/Documents/atrtest $ python atrcopy.py GAMES1.ATR GAMES1.ATR File #0 : *DOS SYS 039 File #1 : *MINER2 138 File #2 : *DEFENDER 132 File #3 : *CENTIPEDE 045 File #4 : *GALAXIAN 066 File #5 : *AUTORUN SYS 005 File #6 : *DIGDUG 133 File #7 : *ANTEATER 066 File #8 : *ASTEROIDS 066
Without any additional arguments, it will not extract files. To actually pull the files out of the ATR image, you need to specify the -x command line argument:
mac:~/Documents/atrtest $ python atrcopy.py -x GAMES1.ATR GAMES1.ATR File #0 : *DOS SYS 039 : copying to DOS.SYS File #1 : *MINER2 138 : copying to MINER2 File #2 : *DEFENDER 132 : copying to DEFENDER File #3 : *CENTIPEDE 045 : copying to CENTIPED.E File #4 : *GALAXIAN 066 : copying to GALAXIAN File #5 : *AUTORUN SYS 005 : copying to AUTORUN.SYS File #6 : *DIGDUG 133 : copying to DIGDUG File #7 : *ANTEATER 066 : copying to ANTEATER File #8 : *ASTEROIDS 066 : copying to ASTEROID.S
There are other flags, like the -l flag to covert to lower case, and the --xex flag to add the .XEX extension to the filename, and -n to skip DOS files. So a full example might be:
mac:~/Documents/atrtest $ python atrcopy.py -n -l -x --xex GAMES1.ATR GAMES1.ATR File #0 : *DOS SYS 039 : skipping system file dos.sys File #1 : *MINER2 138 : copying to miner2.xex File #2 : *DEFENDER 132 : copying to defender.xex File #3 : *CENTIPEDE 045 : copying to centipede.xex File #4 : *GALAXIAN 066 : copying to galaxian.xex File #5 : *AUTORUN SYS 005 : skipping system file autorun.sys File #6 : *DIGDUG 133 : copying to digdug.xex File #7 : *ANTEATER 066 : copying to anteater.xex File #8 : *ASTEROIDS 066 : copying to asteroids.xex
Command Line Arguments
The available command line arguments are summarized using the standard -- help argument:
$ python atrcopy.py --help
usage: atrcopy.py [-h] [-v] [-l] [--dry-run] [-n] [-x] [--xex] ATR [ATR ...]
Extract images off ATR or XFD format disks
positional arguments:
ATR a disk image file [or a list of them]
optional arguments:
-h, --help show this help message and exit
-v, --verbose
-l, --lower convert filenames to lower case
--dry-run don't extract, just show what would have been extracted
-n, --no-sys only extract things that look like games (no DOS or .SYS
files)
-x, --extract extract files
--xex add .xex extension
-f, --force force operation on disk images that have bad directory
entries or look like boot disks
Metadata
Release files for atrcopy 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| atrcopy-2.1.0.tar.gz | 18.5 kB | Details |
Release files / atrcopy-2.1.0.tar.gz
| Download URL | atrcopy-2.1.0.tar.gz |
|---|---|
| Size | 18.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28c93987162e0ab62b0c2bf93fdc69ba6a27a8ad28db5e957ad1b395a6476493
|
|
BLAKE2b-256 checksum How to use checksums |
9ed4d163ddde0f0737702b4112c54be0b893db2cd08e4f312c5c9bc0761edb6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |