ADTPro Credits

ADTPro's client side borrows heavily from the original Apple Disk Transfer (ADT) base code from version 1.23. The original ADT was written by Paul Guertin. ADT is currently maintained here: http://adt.berlios.de/

The server side was very much a direct translation from the ADTWin's C++ server code to Java. The Win32 GUI code was written by Sean Gugler. The ADTWin project is hosted here: http://www.apple2.org.za/gswv/a2zine/Sel/ADTWin.html

The ability to read and analyze tracks at the nibble level was generously donated by Gerard Putter from his Virtual ][ project http://www.virtualii.com. This makes it possible to archive some lightly copy-protected disks and put them in .nib format, removing the need to run the likes of SST to generate the image.

The routine to read a Disk II device much faster than ProDOS comes from Jean-Marc Boutillon (Deckard) and his FASTDSK program: http://boutillon.free.fr/Underground/Docs/Fastdsk/Fastdsk_en.html. I dumbed-down the display from Deckard's pretty Locksmith-styled sector-by-sector status, but added slot independence. I also borrowed config file loading and saving from the FASTDSK package, and added config file creation as well.

The routine to decide what kind of block device a particular slot/drive combination contains was generously donated by Mark Percival. It originates from his DiskMaker 8 program: http://www.markpercival.net/DM8/

The disk abstraction layer of ADTPro's server software was borrowed from the AppleCommander project: http://applecommander.sourceforge.net/

I augmented AppleCommander's understanding of disk formats, byte ordering, etc. with concepts and code from the CiderPress project: http://ciderpress.sourceforge.net/

The serial communications layer conceps of ADTPro's server software were borrowed from the jSyncManager project: http://jsyncmanager.sourceforge.net/

The Java serial communications subsystem of ADTPro's server software is produced by the rxtx organization: http://www.rxtx.org/.

ProDOS assembly programming particulars were divined from the Beneath ProDOS book by Don Worth and Pieter Lechner, published by Quality Software in 1984.

The Pascal entry point serial communications code was contributed by Joseph Oswald. It was originally used to support the IIgs at 19,200 baud, but is now being used to support the Laser 128's serial port (and anything else that can communicate using Pascal entry points in slot 2).

The code to interface directly with the IIgs' Serial Communications Controller chip was borrowed partially from the "Warp Six BBS" code: http://www.apple2.org.za/gswv/a2zine/Utils/Z8530_SCCsamples_info.txt. Note that the current code is not nearly as nice to the system as the BBS code is. It will break AppleTalk if it's running.

The IP stack is taken from MagerValp's tight and fast ip65 project code at http://www.paradroid.net/ip65/. It was ported to the Apple II by Glenn Jones (http://a2retrosystems.com/). It turns out that the ip65's checksum algorithm is faulty, so not being smart enough to debug it myself, I simply transplanted the one from the Contiki project (http://www.sics.se/contiki/).

I learned a good deal about Java sound capture and playback from Gamelan in an introductory article here: http://www.developer.com/java/other/article.php/1565671. I found some very helpful audio code from the JBother project: http://www.jbother.org/api/src-html/com/valhalla/jbother/sound/SoundPlayer.html. The audio code in ADTPro is a particularly undisciplined extension of these two sources.

The ProDOS format code was lifted from the Hyper-FORMAT utility, which was in public domain circulation in the mid '80s-'90s. I had to enhance it to be able to format large media and to get rid of a few bugs based on 140k diskette assumptions. Hyper-FORMAT was originally written by Jerry Hewett and enhanced by Gary Desrochers. Their licensing terms dictated that they be credited for their work. Their original notice remains in the source code.

Thanks to the Maven project for web page generation.

ADT Lineage

Rich Williamson (glitch at eskimo dot com) released SENDDISK on April 9, 1993. His Apple-side program read an entire disk with DOS' RWTS (Read Write Track Sector) routine, and transmitted the data through an Apple Super Serial Card in slot 1. His PC-side program listened to COM1 for such a data stream, and stored it in a .DSK file, in the format expected by the Apple II emulator "apl2em".

Paul Guerton (pg at sff dot net) released Apple Disk Transfer (ADT) on December 4th, 1995, and updated it July 14, 1999. Starting with SENDDISK, Paul added a nice screen layout, configuration menus, error recovery, data stream compression, and the capability to receive .DSK images from the PC and write them back to an Apple II floppy disk.

Paul Schlyter (pausch at saaf dot se) released ADTcc on June 13, 2000. He modified ADT's Apple-side program to work with the older Apple Communications Card and compatibles.

Sean Gugler (gugler-sean at cs dot yale dot edu) released ADT Win32 Edition on December 1, 2000. He replaced the older PC-side DOS program with a Windows 32-bit API program of otherwise identical functionality. That brought ADT into the world of background multi-tasking, long file names, and support for Windows NT and its progeny.

David Schmidt (david__schmidt at users dot sourceforge dot net) released the first prototypical version of ADTPro on June 21, 2006. Starting with the ADT base, he rewrote the client to run under ProDOS. This allowed the ability to transfer floppy disk, hard disk and ram disk images of arbitrary length. While he was at it, he rewrote the C++ server code in Java to extend the server's reach beyond PC DOS and Windows. It grew in functionality over the next year to the final release version 1.0.0 on June 21, 2007.