From f9dcbdd176785dfc9d49f3113ec6110199e9a246 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Fri, 10 May 2024 17:24:40 -0400 Subject: import ken siders atr utilities. --- ksiders/README.txt | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 ksiders/README.txt (limited to 'ksiders/README.txt') diff --git a/ksiders/README.txt b/ksiders/README.txt new file mode 100644 index 0000000..b6c5934 --- /dev/null +++ b/ksiders/README.txt @@ -0,0 +1,77 @@ + +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 Ken's page: + http://atari.ksiders.tzo.com/a8emulators.html + +Please do NOT contact Ken Siders about bugs or issues with these ported +and modified versions of his utilities. They are provided as-is, by me, +B. Watson (urchlay at urchlay dot com). + +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). -- cgit v1.2.3