This is a quick & dirty Linux/UNIX port of Ken Siders' old Atr Utils package for MS-DOS. The original MS-DOS sources can be found in the file atrsrc.zip, or you can download them from archive.org's copy of Ken's old page: http://web.archive.org/web/20080430184935/http://atari.ksiders.tzo.com/a8emulators.html Sadly, Ken Siders is no longer with us. This collection is provided as-is, by me, B. Watson . The original documentation can be found in atr.txt. The utilities are: atrdir - Get a directory of an ATR image atrextr - Extract files from an ATR image to the current directory makeatr - Make a bootable "K-file" disk from an Atari executable sortatr - Sort the directory of an ATR image in alphabetical order unmakatr - Reverse of makeatr: extracts the Atari exe from a K-file disk All utilities work only with AtariDOS 2.x or MyDOS compatible images. SpartaDOS, AtariDOS 3/4, DOS XE, and other non-MyDOS-compatible formats are not supported. Atari DOS 2.5 images are only partially supported. All utilities have been tested on Linux (with gcc-3.4.4) and Solaris 2.6 (with gcc-2.95.3). They produce identical output on both platforms. However, Solaris 2.6 doesn't support gzipped man pages, so you have to install with "make install GZIP_MAN=n". I've written rudimentary man pages for the utilities. Any errors in the man pages are my own fault. I've made a few changes to the library (atr.c). Some are bugfixes, some are feature enhancements, and a few are just to make the utilities behave more like UNIX utilities are expected to behave. - AtariDirectory() (used by atrdir) now partly supports DOS 2.5 extended files (using sectors > 720). They are listed (with "<"), but their size is not (shows up as "??"). (The original DOS version was "blind" to files like these, like DOS 2.0S is). - AtariDirectory(): Also, MyDOS directories are now listed (with ":"), though their size is listed as "??". - AtariDirectory(): Stop listing files after the first unused entry, as Atari DOSes do. For normal disks, this really wasn't a problem, but e.g. the HomeSoft games disks store file data in the higher-numbered (unused) directory sectors, cause atrdir to print garbage to the terminal. - PatternMatch() (used by atrdir and atrextr) now always matches all files, if the wildcard pattern is "*" or "*.*". Also, wildcard patterns are now case-insensitive. - SortAtariDir() (used by sortatr) now correctly fills unused characters in the filename with spaces, as Atari DOSes do. Previously, they were filled with nulls (Atari heart character). - ExtractAtariFile() (used by atrextr) no longer includes a trailing dot in the extracted filename, if the file in the image has no 3-character extender. - ExtractAtariFile(): extract path now may be up to 4096 bytes, and UNIX-style / is used for delimiter instead of DOS \ - atrextr: file argument is now optional (defaults to *.* if missing or blank). - atrextr: added optional dir argument. Files will be extracted to this directory (which will be created if necessary). - all utilities: exit status is now 0 for success, non-zero for any error. - atr.c (all utilities): Added support for detecting endianness and swapping bytes in start sector and sector count, if needed. Atari and PC are both little-endian platforms, so the DOS sources didn't need to support big-endian platforms. Tested on Solaris 2.6 on Sparc hardware (big-endian).