summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/atarisio/999-atarisio.rules.in1
-rw-r--r--system/atarisio/README32
-rw-r--r--system/atarisio/README.Slackware49
-rw-r--r--system/atarisio/atarisio.SlackBuild87
-rw-r--r--system/atarisio/atarisio.info8
-rw-r--r--system/atarisio/doinst.sh13
-rw-r--r--system/atarisio/man/adir.155
-rw-r--r--system/atarisio/man/ataricom.141
-rw-r--r--system/atarisio/man/atariserver.1230
-rw-r--r--system/atarisio/man/atarixfer.152
-rw-r--r--system/atarisio/man/atpdump.118
-rw-r--r--system/atarisio/man/atr2atp.119
-rw-r--r--system/atarisio/man/casinfo.124
-rw-r--r--system/atarisio/man/dir2atr.1150
-rw-r--r--system/atarisio/slack-desc19
15 files changed, 798 insertions, 0 deletions
diff --git a/system/atarisio/999-atarisio.rules.in b/system/atarisio/999-atarisio.rules.in
new file mode 100644
index 0000000000..fe39ef930e
--- /dev/null
+++ b/system/atarisio/999-atarisio.rules.in
@@ -0,0 +1 @@
+KERNEL=="atarisio*", MODE="0660", GROUP="@GROUP@"
diff --git a/system/atarisio/README b/system/atarisio/README
new file mode 100644
index 0000000000..61deb9faed
--- /dev/null
+++ b/system/atarisio/README
@@ -0,0 +1,32 @@
+atarisio (disk emulator for use with Atari 8-bit computer and SIO2PC)
+
+AtariSIO allows a Linux system to act as one or more disk drives,
+a printer, and/or a cassette drive for an Atari 8-bit (400/800/XL/XE)
+computer, using an SIO2PC cable.
+
+Even without SIO2PC or a real Atari, this package includes some utilities
+that are useful for manipulating and examining Atari disk, tape, and
+executable images.
+
+A real 16550A UART (or close derivative) is required. In particular,
+atarisio does NOT work with USB to RS232 adaptors.
+
+========================================================================
+= READ README.Slackware about the SETUID and GROUP variables =
+= before building the package! =
+========================================================================
+
+Before you can run atariserver or atarixfer, you will need the atarisio
+kernel module loaded. If you're dedicating a serial port for use with
+atariserver, you can add the following line to /etc/rc.d/rc.modules or
+rc.local (as you prefer):
+
+/sbin/modprobe atarisio port=/dev/ttyS0
+
+(Replace ttyS0 if you're using a different serial port, of course)
+
+If you need to use your serial port for other purposes, it's a little
+less cut-and-dried. You will have to either manually modprobe and rmmod
+the module as needed, or write yourself a script to do the job (possibly
+also starting up agetty when the module is unloaded, or SLIP mode if
+you're using FujiChat on your Atari, etc etc).
diff --git a/system/atarisio/README.Slackware b/system/atarisio/README.Slackware
new file mode 100644
index 0000000000..4cda49fe00
--- /dev/null
+++ b/system/atarisio/README.Slackware
@@ -0,0 +1,49 @@
+Before you can run atariserver or atarixfer, you will need the atarisio
+kernel module loaded. If you're dedicating a serial port for use with
+atariserver, you can add the following line to /etc/rc.d/rc.modules or
+rc.local (as you prefer):
+
+/sbin/modprobe atarisio port=/dev/ttyS0
+
+(Replace ttyS0 if you're using a different serial port, of course)
+
+If you need to use your serial port for other purposes, it's a little
+less cut-and-dried. You will have to either manually modprobe and rmmod
+the module as needed, or write yourself a script to do the job (possibly
+also starting up agetty when the module is unloaded, or SLIP mode if
+you're using FujiChat on your Atari, etc etc).
+
+#### READ THIS! ####
+
+# By default, atariserver and atarixfer are installed setuid root,
+# group owner "users". This is done for two reasons: (a) so the programs
+# can access the /dev/atarisio* devices, and (b) so they can set POSIX
+# realtime scheduling mode, which prevents timing issues that can cause
+# SIO frames to be retransmitted or (on a loaded system) dropped.
+
+# If run setuid root, atariserver and atarixfer will drop their root
+# privileges after setting realtime mode and opening the device.
+# There are no currently known exploits against atarisio, but the code
+# hasn't exactly been audited by the NSA either.
+
+# You have several options here:
+
+# 1. The default. Simply run this script. On a single-user system, this
+# is reasonable, though it's the least secure. atariserver and atarixfer
+# will be setuid root, and runnable by anyone in the users group.
+
+# 2. Run atariserver and atarixfer setuid root, but restrict access to
+# some group other than "users". To do this, run the script as:
+# SETUID=yes GROUP=wheel ./atarisio.SlackBuild
+# (replace "wheel" with any other group, as you prefer).
+# This option is more secure than option 1 and outperforms option 3.
+
+# 3. Run atariserver and atarixfer as a normal user. This can cause
+# performance problems, but on most setups it works OK. To do this,
+# run the script as:
+# SETUID=no ./atarisio.SlackBuild
+# This should be more secure than 1 or 2.
+
+# 4. Same as 3, but extra paranoid: use a group other than "users" (I like
+# "wheel"), and be very picky about who you add to the group.
+# SETUID=no GROUP=wheel ./atarisio.SlackBuild
diff --git a/system/atarisio/atarisio.SlackBuild b/system/atarisio/atarisio.SlackBuild
new file mode 100644
index 0000000000..9d96a861c6
--- /dev/null
+++ b/system/atarisio/atarisio.SlackBuild
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+# Slackware build script for atarisio
+
+# Written by B. Watson (yalhcru@gmail.com)
+# Modified by the SlackBuilds.org project.
+
+PRGNAM=atarisio
+VERSION=20080714
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+KERNEL=${KERNEL:-$(uname -r)}
+KERNELPATH=${KERNELPATH:-/lib/modules/$KERNEL/build}
+PKG_VERS=${VERSION}_$(echo $KERNEL | tr - _)
+
+SRCVER=${SRCVER:-080714}
+
+SETUID=${SETUID:-yes}
+GROUP=${GROUP:-users}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
+chown -R root:root .
+chmod -R a-s,u+w,go+r-w .
+
+sed -i "s/^\\(C.*FLAGS *= *\\)-g/\1$SLKCFLAGS/" Makefile
+
+make
+mkdir -p $PKG/usr/{include,bin} $PKG/lib/modules/$KERNEL/misc
+make install INST_DIR=$PKG/usr MDIR=$PKG/lib/modules/$KERNEL/misc
+
+# Hias forgot to add a couple of useful tools to his "make install" rule:
+cp tools/{ataricom,atpdump,atr2atp,casinfo} $PKG/usr/bin
+
+strip $PKG/usr/bin/*
+chown -R root:root $PKG/usr/bin
+
+if [ "$SETUID" = "yes" ]; then
+ chown root:$GROUP $PKG/usr/bin/{atariserver,atarixfer}
+ chmod 4710 $PKG/usr/bin/{atariserver,atarixfer}
+else
+ chmod 0755 $PKG/usr/bin/{atariserver,atarixfer}
+fi
+
+
+# Doing it this way allows this script to work on 12.0 and 12.1 also.
+mkdir -p $PKG/etc/udev/rules.d
+sed 's/@GROUP@/'$GROUP'/g' < $CWD/999-$PRGNAM.rules.in > $PKG/etc/udev/rules.d/999-$PRGNAM.rules
+
+mkdir -p $PKG/usr/man/man1
+( cd $CWD/man
+ for i in *.1; do
+ gzip -9c $i > $PKG/usr/man/man1/$i.gz
+ done
+)
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$PKG_VERS
+cp $CWD/README.Slackware README LICENSE Changelog $PKG/usr/doc/$PRGNAM-$PKG_VERS
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$PKG_VERS/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERS-$ARCH-$BUILD$TAG.tgz
diff --git a/system/atarisio/atarisio.info b/system/atarisio/atarisio.info
new file mode 100644
index 0000000000..5d11206990
--- /dev/null
+++ b/system/atarisio/atarisio.info
@@ -0,0 +1,8 @@
+PRGNAM="atarisio"
+VERSION="20080714"
+HOMEPAGE="http://www.horus.com/~hias/atari/"
+DOWNLOAD="http://www.horus.com/~hias/atari/atarisio/atarisio-080714.tar.gz"
+MD5SUM="b2005038734f48a843796a75c57df528"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="dsomero"
diff --git a/system/atarisio/doinst.sh b/system/atarisio/doinst.sh
new file mode 100644
index 0000000000..df3b7f1024
--- /dev/null
+++ b/system/atarisio/doinst.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+chroot . /sbin/depmod -a
+
+# Ensure that udevd knows what's up with the atarisio device(s)...
+# Redirect stderr to /dev/null to avoid Slack 12.2 warning:
+# Older (Slack 12.0/12.1) udevadm doesn't recognize the new form
+# (--reload-rules is an error). For now, I want the package to
+# work on at least 12.1 and 12.2.
+
+if [ -x sbin/udevadm ]; then
+ sbin/udevadm control --reload_rules 2>/dev/null
+fi
diff --git a/system/atarisio/man/adir.1 b/system/atarisio/man/adir.1
new file mode 100644
index 0000000000..9dbb2286d9
--- /dev/null
+++ b/system/atarisio/man/adir.1
@@ -0,0 +1,55 @@
+.TH ADIR "1" "April 2007" "adir (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH NAME
+adir \- print the directory of an Atari DOS floppy disk image
+
+.SH SYNOPSIS
+.B adir
+[\fB\-\fR\fI<columns>\fR] [\fB\-r\fR] [\fB\-t\fR] \fIimage-filename\fR [\fI...\fR]
+
+.SH DESCRIPTION
+adir prints the directory of one or more DOS 2.x or MyDOS floppy images
+(ATR, XFD, or DCM (DiskComm) format). Output resembles the output of the Atari DOS
+\fBA\fR command. Single, enhanced 1050, double, and high-capacity
+(hard disk) images are supported.
+
+.SH OPTIONS
+.TP
+\fB\-\fR\fI<columns>\fR
+Number of columns for output format. Default is \fB\-4\fR. This option is
+ignored if \fB\-r\fR is given.
+.TP
+\fB\-r\fR
+Raw format: list the contents of all directory entries that have been used,
+including those containing deleted files. Output consists of 6 columns:
+.sp 1
+.PD 0
+.RS
+.IP "File number"
+.IP "Status flags (in hex)"
+.IP "File name (8 characters)"
+.IP "File extension (3 characters)"
+.IP "Starting sector"
+.IP "File size in sectors"
+.RE
+.PD 1
+.
+.TP
+\fB-t\fR
+Recursively print directory tree of image. Only useful for MyDOS-formatted
+disk images.
+.TP
+\fIimage-filename\fR [\fI...\fR]
+One or more Atari DOS or MyDOS-compatible disk image files
+(ATR, XFD, or DCM format). SpartaDOS-formatted images are \fBnot\fR supported.
+
+.SH
+AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+
+.SH
+SEE ALSO
+\&\fIatariserver\fR\|(1), \&\fIatarixfer\fR\|(1), \&\fIdir2atr\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/man/ataricom.1 b/system/atarisio/man/ataricom.1
new file mode 100644
index 0000000000..45a4a98604
--- /dev/null
+++ b/system/atarisio/man/ataricom.1
@@ -0,0 +1,41 @@
+.TH ATARICOM "1" "April 2009" "ataricom (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH NAME
+ataricom \- utility for manipulating Atari 8\-bit executable files
+.SH SYNOPSIS
+ataricom [\fIoptions\fR]... file [outfile]
+.SH DESCRIPTION
+ataricom performs various useful operations on Atari 8\-bit executable
+files. These files are also known as binary load files, or COM, BIN, XEX, OBJ, OBX, et al. These
+are only names; there is only one Atari 8\-bit executable file format.
+.SH OPTIONS
+.TP
+\fB\-c\fR address
+create COM file from raw data file
+.TP
+\fB\-r\fR address
+add RUN block with specified address at end of file
+.TP
+\fB\-i\fR address
+add INIT block with specified address at end of file
+.TP
+\fB\-b\fR start[\-end]
+only process specified blocks
+.TP
+\fB\-x\fR start[\-end]
+exclude specified blocks
+.TP
+\fB\-m\fR start\-end
+merge specified blocks
+.HP
+\fB\-s\fR block,adr... split block at given addresses
+.TP
+\fB\-n\fR
+write raw data blocks (no COM headers)
+.SH AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+.SH SEE ALSO
+\&\fIatariserver\fR\|(1), \&\fIdir2atr\fR\|(1), \&\fIadir\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/man/atariserver.1 b/system/atarisio/man/atariserver.1
new file mode 100644
index 0000000000..6226bb55c7
--- /dev/null
+++ b/system/atarisio/man/atariserver.1
@@ -0,0 +1,230 @@
+.TH ATARISERVER "1" "April 2007" "atariserver (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH
+NAME
+\fBatariserver\fR \- SIO server (peripheral emulator) for Atari 8\-bit computers, for use with an SIO2PC cable
+
+.SH
+SYNOPSIS
+.B atariserver
+[\fB\-h\fR]
+[\fB\-f\fR \fIdevice\fR]
+[\fB\-c\fR]
+[\fB\-C\fR]
+[\fB\-m\fR]
+[\fB\-o\fR \fIfile\fR]
+[\fB\-p\fR]
+[\fB\-s\fR]
+[\fB\-S\fR]
+[\fB\-X\fR]
+[\fB\-t\fR]
+[\fB\-<1-8>\fR]
+[\fB\-V\fR \fIdensity\fR \fIdir\fR]
+[\fB\-P\fR \fIconv\fR \fIpath\fR]
+[\fBfilename\fR]
+[\fI...\fR]
+
+.SH
+DESCRIPTION
+\fBatariserver\fR emulates Atari 8\-bit peripherals using the \fBSIO\fR
+protocol, including disk drives, printers, and cassette tape decks.
+
+This manual page only documents the command\-line options to
+\fBatariserver\fR. For more information, including a description of
+the user interface and the command set
+for remote command support, see the \fBREADME\fR
+file for AtariSIO, possibly located in /usr/doc/atarisio or
+/usr/share/doc/atarisio.
+
+.SH
+OPTIONS
+Most options can be set from within \fBatariserver\fR's curses\-based
+user interface while the program is running.
+.TP
+\fB\-h\fR
+Displays command line help message
+.TP
+\fB-f\fR \fIdevice\fR
+Sets the AtariSIO device. This option is only needed if you
+configured the kernel driver to support more than one interface.
+.IP
+\fINote:\fR this must be the very first command line option, otherwise
+it will be ignored!
+.IP
+Without this option, \fBatariserver\fR will check if the environment
+variable \fBATARISERVER_DEVICE\fR is set. If not, the default device
+\fB/dev/atarisio0\fR will be used.
+
+.TP
+\fB\-c\fR
+Tells AtariSIO that your Atari is connected via an alternative
+SIO2PC cable. The standard SIO2PC cable uses the RI pin for
+command line input. Some Windows SIO emulators use a slightly
+modified SIO2PC cable, using DSR instead of RI. If you are not
+sure what kind of SIO2PC cable you have, just try starting
+atariserver with and without the \fB\-c\fR switch and test if your
+Atari can boot from atariserver.
+.IP
+\fINote:\fR there's no performance benefit using the DSR line instead
+of the RI line; both cables work identically with AtariSIO.
+
+.TP
+\fB\-C\fR
+Similar to \fB\-c\fR except that the CTS pin is used. This is
+quite useful for testing purposes: connect two PCs with a
+nullmodem\-cable, start \fBatariserver\fR with \fB\-C\fR on one machine
+and \fBatarixfer\fR with \fB\-p\fR on the other.
+
+.TP
+\fB\-m\fR
+Monochrome mode: disable colors, even if your terminal
+reports color support.
+
+.TP
+\fB\-o\fR \fIfile\fR
+Set trace file: all output displayed in the log window will
+also be saved to the specified file.
+
+.TP
+\fB\-p\fR
+Loads the next image with "write protect" enabled. This
+option is only valid for the next image; if you want to load
+multiple write protected images, you have to specify this
+options before each filename.
+
+.TP
+\fB\-s\fR
+Disables high speed (57600 bit/sec) SIO support. It sets
+the baudrate to fixed 19200 bit/sec and also disables several
+special commands like "get ultraspeed byte" or "flush disk"
+that are only supported by high-speed drives like the
+1050 speedy. Read the list of SIO commands at the end of the
+README for more details.
+
+.TP
+\fB\-S\fR
+High speed (57600 bit/sec) mode with pauses between bytes.
+This is needed for some high speed SIO routines which are too
+slow to handle sustained 57600 bit/sec transfers. The effective
+speed will be approx. 48000 bit/sec.
+
+.TP
+\fB\-X\fR
+Enable XF551 compatibility mode. In XF551 mode \fBatariserver\fR
+reacts to commands with the 7th bit set and automatically
+switches to 38400 bit/sec transfer mode. Additionally, the
+GetStatus command sets both bit 7 and 6 in case of an QD
+(double sided, double density, 1440 sectors) disk, just like
+the XF551.
+
+.TP
+\fB\-t\fR
+Increases the trace level. You may use this option up to
+three times if you want more output.
+
+.TP
+\fB\-1\fR \fIthrough\fR \fB\-8\fR
+Set the drive number for the next image file. The default is 1 for the
+first image, and is incremented for each subsequent image. See \fBNOTES\fR
+below for an example.
+
+.TP
+\fB\-V\fR \fIdensity\fR \fIdir\fR
+Create virtual device of given density, using files from directory \fIdir\fR.
+\fIdensity\fR is one of:
+.IP
+\fBs\fR (single density, 720 sectors),
+.IP
+\fBd\fR (double density, 720 sectors),
+.IP
+\fBe\fR (1050 "enhanced" density, 1040 sectors),
+.IP
+\fInumber\fR\fBs\fR (single density, \fInumber\fR sectors, e.g. \fB1440s\fR),
+.IP
+\fInumber\fR\fBd\fR (double density, \fInumber\fR sectors, e.g. \fB1440d\fR),
+.IP
+\fBS\fR (single density, the number of sectors needed to store all files is automatically calculated)
+.IP
+\fBD\fR (double density, like \fBS\fR)
+.TP
+\fB\-P\fR \fIconv\fR \fIpath\fR
+Install printer handler.
+.IP
+\fIconv\fR is EOL conversion: \fBr\fR=raw(no conversion), \fBl\fR=LF (UN*X), \fBc\fR=CR+LF (DOS/Windows)
+.IP
+\fIpath\fR is either a filename or \fI|print-command\fR, eg \fB|lpr\fR
+.IP
+\fINote:\fR Most shells require you to quote \fIpath\fR if it contains a pipe (|) character. To use the standard unix print service, use: \fB-P l "|lpr"\fR
+
+.TP
+\fIfilename\fR
+One or more image files, which should be either ATR or XFD format Atari
+8\-bit disk images. Image filenames may be interleaved with \fB\-[1\-8]\fR
+and/or \fB-p\fR options. Images may be in any Atari\-compatible DOS or
+boot disk format; \fBatariserver\fR simply serves them to the Atari,
+without interpreting the contents.
+
+.SH
+NOTES
+To load several images you could start atariserver with
+the following options (for example):
+
+.br
+atariserver dos.atr -3 -p data1.atr -V d filedir
+.br
+
+This will load dos.atr into D1:, data1.atr into D3: and create
+a virtual drive in double density (720 sectors) out of the
+directory filedir. Furthermore, D1: and D4: will be writable,
+whereas D3: will be write protected.
+
+If you set the environment variable ATRPATH, \fBatariserver\fR will look
+for image files in the specified (colon separated) directories
+if the image can't be found in the current working directory.
+ATRPATH works both on the command line and in the user interface.
+For example:
+
+export ATRPATH=/home/atari/dos:/data/xl/magazines
+
+or (for csh users):
+setenv ATRPATH /home/atari/dos:/data/xl/magazines
+
+.SH
+KERNEL SUPPORT
+
+\fBatariserver\fR requires the \fBatarisio\fR kernel module (driver) to
+be loaded. If you receive an "error opening /dev/atarisio0" message,
+try loading the module (as \fBroot\fR):
+
+.br
+/sbin/modprobe atarisio port=/dev/ttyS0
+.PP
+Replace ttyS0 with whichever serial port has the SIO2PC cable attached.
+If the module refuses to load, you may have to "modprobe 8250" first.
+
+.SH
+SUPPORTED HARDWARE
+
+\fBatariserver\fR works with most common one-chip RS232 (serial port)
+SIO2PC designs, including the AtariMax "smart" SIO2PC by Steven Tucker,
+and designs based on the 1489/14C89 and Max232/233 chips.
+.PP
+The USB SIO2PC (sometimes incorrectly called SIO2USB) from AtariMax is
+\fBNOT\fR supported, though support is planned for future versions
+of AtariSIO/atariserver.
+.PP
+The old two-chip SIO2PC interface (with a MAX232 and an LS368)
+is NOT supported, and probably never will be.
+.PP
+All Atari 8\-bit computers (400/800, XL, and XE series) are supported.
+
+.SH
+AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+
+.SH
+SEE ALSO
+\&\fIatarixfer\fR\|(1), \&\fIdir2atr\fR\|(1), \&\fIadir\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/man/atarixfer.1 b/system/atarisio/man/atarixfer.1
new file mode 100644
index 0000000000..61e13bd4da
--- /dev/null
+++ b/system/atarisio/man/atarixfer.1
@@ -0,0 +1,52 @@
+.TH ATARIXFER "1" "April 2007" "atarixfer (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH NAME
+\fBatarixfer\fR \- read or write from an Atari disk drive, via 1050-2-PC or APE ProSystem cable
+
+.SH SYNOPSIS
+.B atarixfer
+[\fB\-f\fR \fIdevice\fR] [\fB\-p\fR] [\fB\-r\fR \fIimagefile\fR] [\fB\-w\fR \fIimagefile\fR] [\fB\-d\fR] [\fB\-\fR<\fIdrive\fR>]
+
+.SH DESCRIPTION
+\fBatarixfer\fR can either write a disk image file to a real Atari disk drive,
+or read a disk from an Atari drive and write its contents to an image file.
+A 1050-2-PC or APE ProSystem cable is required.
+.PP
+\fBatarixfer\fR only supports whole-disk transfers, to or from a
+disk image file. Reading/writing single files or individual sectors
+is not possible.
+
+.SH OPTIONS
+.TP
+\fB-f\fR \fIdevice\fR
+Use alternative AtariSIO device (default: \fI/dev/atarisio0\fR)
+.TP
+\fB-p\fR
+Use APE ProSystem cable (default: 1050-2-PC cable)
+.TP
+\fB-r\fR \fIimagefile\fR
+Read from Atari disk and create an image of its contents. The type of
+image to create is decided by looking at the filename, which should end
+in \fI.atr\fR, \fI.xfd\fR, or \fI.dcm\fR (case-insensitive). If the
+filename doesn't match any of these, ATR image format is assumed.
+.TP
+\fB-r\fR \fIimagefile\fR
+Write a disk image to the drive.
+.TP
+\fB-d\fR
+Enable debugging output.
+.TP
+[\fB\-\fR<\fIdrive\fR>]
+Use drive number (1..8). Default is \fB-1\fR. The drive number must
+match the drive number switches on the Atari drive.
+
+.SH
+AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+
+.SH
+SEE ALSO
+\&\fIatariserver\fR\|(1), \&\fIdir2atr\fR\|(1), \&\fIadir\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/man/atpdump.1 b/system/atarisio/man/atpdump.1
new file mode 100644
index 0000000000..e993fad673
--- /dev/null
+++ b/system/atarisio/man/atpdump.1
@@ -0,0 +1,18 @@
+.TH ATPDUMP "1" "April 2009" "atpdump (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH NAME
+atpdump \- Display the structure of an ATP format Atari 8\-bit disk image.
+.SH SYNOPSIS
+atpdump [file]
+.SH DESCRIPTION
+The ATP format is intended as an open source replacement for the proprietary
+APE PRO and VAPI formats. Currently, ATP is very limited in its capabilities.
+atpdump is primarily useful for testing, and for development of the ATP
+format itself.
+.SH AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+.SH SEE ALSO
+\&\fIatariserver\fR\|(1), \&\fIdir2atr\fR\|(1), \&\fIadir\fR\|(1), \&\fIatr2atp\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/man/atr2atp.1 b/system/atarisio/man/atr2atp.1
new file mode 100644
index 0000000000..57d0d9090a
--- /dev/null
+++ b/system/atarisio/man/atr2atp.1
@@ -0,0 +1,19 @@
+.TH ATR2ATP "1" "April 2009" "atr2atp (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH NAME
+atr2atp \- converts a ATR\-format Atari 8\-bit disk image to the experimental
+ATP format supported by atariserver.
+.SH SYNOPSIS
+atr2atp [input-file] [output-file]
+.SH DESCRIPTION
+The ATP format is intended as an open source replacement for the proprietary
+APE PRO and VAPI formats. Currently, ATP is very limited in its capabilities.
+atr2atp is primarily useful for testing, and for development of the ATP
+format itself.
+.SH AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+.SH SEE ALSO
+\&\fIatariserver\fR\|(1), \&\fIdir2atr\fR\|(1), \&\fIadir\fR\|(1), \&\fIatpdump\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/man/casinfo.1 b/system/atarisio/man/casinfo.1
new file mode 100644
index 0000000000..73ec5de856
--- /dev/null
+++ b/system/atarisio/man/casinfo.1
@@ -0,0 +1,24 @@
+.TH CASINFO "1" "April 2009" "casinfo (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH NAME
+casinfo \- Get information on an Atari 8\-bit cassette image file
+.SH SYNOPSIS
+casinfo file [file] ...
+.SH DESCRIPTION
+For each valid cassette image (CAS file) on the command line, casinfo
+will display the description (if any), the number of parts (aka load
+stages), the number of blocks, and the block header information for
+each block in the file.
+.PP
+casinfo takes no options.
+.PP
+For a complete specification of the CAS file format, see the documentation
+for \fBcas2wav\fR, \fBwav2cas\fR, and/or \fBcassio\fR, all available
+at a web browser near you...
+.SH AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+.SH SEE ALSO
+\&\fIatariserver\fR\|(1), \&\fIdir2atr\fR\|(1), \&\fIadir\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/man/dir2atr.1 b/system/atarisio/man/dir2atr.1
new file mode 100644
index 0000000000..b4e352cedc
--- /dev/null
+++ b/system/atarisio/man/dir2atr.1
@@ -0,0 +1,150 @@
+.TH DIR2ATR "1" "April 2007" "dir2atr (atarisio 0.30)" "HiassofT Atari 8-bit Tools"
+.SH NAME
+dir2atr \- create an Atari disk image from a directory of files
+
+.SH SYNOPSIS
+.B dir2atr
+[\fB\-d\fR] [\fB\-m\fR] [\fB\-p\fR] [\fB\-b\fR \fIDOS\fR] [\fBsectors\fR] \fIimage\-filename\fR \fIdirectory\fR
+
+.SH DESCRIPTION
+\fBdir2atr\fR creates an Atari DOS 2.x or MyDOS compatible disk image,
+containing the files from \fIdirectory\fR (or a blank disk, if the
+supplied \fIdirectory\fR does not exist). Despite the name, dir2atr is
+capable of creating ATR, XFD, or DCM format images.
+
+.SH OPTIONS
+.TP
+\fB\-d\fR
+Create double\-density (256 bytes/sector) disk image. Without this option,
+the default is to create a single\-density (128 bytes/sector) image.
+.TP
+\fB\-m\fR
+Use MyDOS format (VTOC; see \fB\-b\fR for boot sector type). Without this
+option, \fBdir2atr\fR may still create a MyDOS format image: If the
+number of sectors is not supplied, or if using double density (\fB\-d\fR),
+or if the number of sectors supplied in single density mode is anything
+other than 720 or 1040, then MyDOS format will be used.
+.sp
+.RS
+Another way of saying this is that DOS 2.x format will only be used if the
+number of sectors is supplied, and if it is equal to either 720 (DOS 2.0
+format) or 1040 (DOS 2.5 enhanced density format).
+.sp
+SpartaDOS\-formatted images are \fBnot\fR supported.
+.RE
+.TP
+\fB\-p\fR
+Create \fBPICONAME.TXT\fR file in disk image, containing long filename
+information (will be used by MyPicoDOS when displaying filenames).
+.TP
+\fB\-b\fR \fIDOS\fR
+Create bootable disk for specified DOS. The directory must already
+contain the \fBDOS.SYS\fR or equivalent for the specified DOS, unless
+creating a MyPicoDOS image (in which case, \fBPICODOS.SYS\fR will be
+created and added to the image).
+.sp
+Supported DOS choices (case\-insensitive):
+.br
+Dos20, Dos25, MyDos453, TurboDos21, TurboDos21HS, MyPicoDos403, MyPicoDos403HS
+.TP
+\fBsectors\fR
+Number of sectors in the created image. Standard floppy\-sized images
+generally contain 720 sectors (single\- or double\-density, 90K or 180K
+capacity) or 1040 sectors (1050/DOS 2.5 enhanced density, 127K capacity).
+.sp
+Some Atari drives and DOSes support larger floppy disks (e.g. 1440
+double\-density sectors for a DS/DD XF551 disk, 360K capacity; or
+2880 DD sectors for a PC-style 720K floppy drive).
+.sp
+Hard disk images may contain up to 65535 double\-density sectors. This
+limitation is imposed by the ATR file format (16 megabytes is pretty
+big for an 8-bit Atari disk, though). Most Atari DOSes won't support
+physical disk partitions bigger than this, anyway. Theoretically,
+the XFD "format" could be of unlimited size (since it's just a raw
+dump of the sectors, with no structure), but \fBdir2atr\fR imposes
+the same size limit for XFD as for ATR.
+.sp
+Actually, the distinction between "hard disk" and "floppy disk" images
+doesn't really exist in the ATR file format: any image that fits on
+an actual floppy disk (one that's actually supported by an actual
+Atari DOS) is by definition a floppy image, and anything
+larger than that must be considered a hard disk image.
+.sp
+If \fBsectors\fR is omitted, \fBdir2atr\fR will create a MyDOS\-format
+image with as many sectors as needed to contain the all the files
+in \fIdirectory\fR, unless this is less than 720 sectors (in which
+case, a 720\-sector image is created, with some free sectors).
+.sp
+If \fBsectors\fR is given, it must be between 720 and 65535. No
+Atari\-compatible disk may contain fewer than 720 sectors. When
+creating a DCM (DiskComm) image, the only supported image sizes
+are 90K (720 single\-density sectors), 127K (1040 single\-density
+sectors, aka 1050 enhanced density), and 180K (720 double\-density
+sectors).
+.sp
+If you specify a number of sectors too small for the files in
+\fIdirectory\fR, you will get an error message, but the image will
+still be created. It will contain whatever files were copied before
+running out of space (which might be none, if the first file is too
+big to fit).
+.TP
+\fIimage\-filename\fR
+Disk image file to create. The image type is determined by the
+filename "extension", which should be \fI.atr\fR, \fI.xfd\fR, or \fI.dcm\fR.
+The extension is treated case\-insensitively, and the default image type
+is ATR if the extension is missing or not recognized.
+.TP
+\fIdirectory\fR
+Directory of files to be copied to the image. The files are copied in
+case-sensitive alphabetical order. \fIdirectory\fR may contain
+subdirectories, which will be skipped if creating a DOS 2.x image, or
+included (recursively) as MyDOS subdirectories if creating a MyDOS image.
+While the image is being created, each filename in \fIdirectory\fR is
+printed to standard error output after it's copied.
+.sp
+\fBNOTE:\fR Empty subdirectories will \fBnot\fR be copied to the image.
+.sp
+Atari DOS and MyDOS (and any other compatible DOS for the Atari) suffer
+from a limit of 64 files per directory. For Atari DOS, this means 64
+files per disk, since subdirectories are not supported. For MyDOS,
+it means 64 files/subdirectories per directory. In either case,
+\fBdir2atr\fR will copy the first 64 files in the directory or
+subdirectory, then issue a warning to let you know that it had to
+skip the rest of the files.
+.sp
+To create a blank disk, you may create and use an empty directory. A
+blank disk is also created if the specified \fIdirectory\fR is not
+a directory (e.g. if it's a regular file), or if it does not exist
+at all! No error messages are given for non\-directories or non\-existent
+files. This is probably not the author's original intent, but it can
+be considered useful behaviour (except when it's confusing: if you make
+a typo in the \fIdirectory\fR, you'll end up with a blank image instead
+of the expected error message. The careful user will notice that no
+"Added file" messages get printed in this case).
+.sp
+Although Atari DOS and MyDOS only support uppercase "8.3" names,
+filenames within \fIdirectory\fR are not required to conform to this
+limitation. \fBdir2atr\fR will transform the filenames so that they
+match the Atari limitations, although care should be taken to avoid
+filenames within \fIdirectory\fR that differ only in case (e.g.
+\fBFOO\fR and \fBfoo\fR). If this happens, some of the resulting Atari
+filenames will contain spaces, which is incompatible with most
+(all?) Atari DOSes. Also, \fBdir2atr\fR will allow filenames inside
+the image to start with a digit, which is incompatible with most Atari
+DOSes as well.
+.sp
+If the \fB\-p\fR option is used, the filenames will still be transformed
+as necessary, but the original filenames will be recorded in the
+\fBPICONAME.TXT\fR file. If creating a MyPicoDOS image, the MyPicoDOS
+menu will actually display the full, original filenames.
+.SH
+AUTHOR
+Matthias Reichl <\fBhias@horus.com\fR>
+.PP
+Man page by B. Watson <\fBurchlay@urchlay.com\fB>
+
+.SH
+SEE ALSO
+\&\fIatariserver\fR\|(1), \&\fIatarixfer\fR\|(1), \&\fIadir\fR\|(1).
+.PP
+AtariSIO home page: \fBhttp://www.horus.com/~hias/atari/\fR
diff --git a/system/atarisio/slack-desc b/system/atarisio/slack-desc
new file mode 100644
index 0000000000..c7077bd711
--- /dev/null
+++ b/system/atarisio/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+atarisio: atarisio (disk emulator for use with Atari 8-bit computer and SIO2PC)
+atarisio:
+atarisio: AtariSIO allows a Linux system to act as one or more disk drives,
+atarisio: a printer, and/or a cassette drive for an Atari 8-bit (400/800/XL/XE)
+atarisio: computer, using an SIO2PC cable.
+atarisio:
+atarisio: Even without SIO2PC or a real Atari, this package includes some
+atarisio: utilities that are useful for manipulating and examining Atari disk,
+atarisio: tape, and executable images.
+atarisio:
+atarisio: