AppleCommander


    About

AppleCommander is a little project whose main purpose is to provide a
tool to move data between Apple ][ disk images and a native filesystem
('C:\' for Windows, or '/wherever' for Linux and Mac OS X). As with all
good projects, this one is a little out of hand, and it is becoming a
general utility to manipulate Apple ][ emulator images. If you're
thinking this could be useful, read on!

Some secondary (or tertiary, depending on what you are counting)
considerations are to give me a bit of experience using Eclipse.org
<http://www.eclipse.org>'s SWT
<http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/main.html>
(Standard Widget Toolkit) - which is an alternative windowing system to
Sun's AWT or Swing.

If you wish to participate or have ideas, please let us know!

Please click here to visit the AppleCommander project page
<http://sourceforge.net/projects/applecommander/>.
Please click here to download the latest stable release
<http://sourceforge.net/project/showfiles.php?group_id=67414>.
Please click here to download the current release candidate
<http://sites.google.com/site/drjohnbmatthews/applecommander>.


    Capabilities

As stated above, AppleCommander is intended to become a general utility
for disk images. But, where is it now? What are the current capabilites?

AppleCommander is currently able to read and display information about
disk images, export files of various types, create disk images, import
files into disk images, and has a rudimentary compiler. As of *1.3.5*,
AppleCommander incorporates support for cc65 <http://www.cc65.org/> and
an improved command-line <acguide.html>.

Disk image organizations currently supported:

    * Compressed images (*.gz);
    * 140K DOS-ordered images (*.do, *.dsk);
    * 140K ProDOS-ordered images (*.po);
    * 140K Nibble (DOS ordered) images (*.nib);
    * 800K ProDOS-ordered images (*.2mg, *.2img);
    * 32MB ApplePC Hard Disk images (*.hdv).

Disk formats currently supported (ie, operating systems):

    * DOS 3.3 (140K formats only);
    * UniDOS, OzDOS (800K formats only);
    * ProDOS;
    * Apple Pascal (140K and 800K formats);
    * SSI's RDOS (140K formats only);
    * CP/M (probably only 140K formats).

File export filters:

    * Raw disk data (dumps blocks or sectors without regard to file
      length or operating system storage);
    * Binary file (dumps file without any converstion);
    * Hex dump;
    * ASCII file filter;
    * Formatted assembly output;
    * Pascal ".text" files;
    * Applesoft BASIC file filter (file is de-tokenized and written out
      as a text file);
    * Integer BASIC file filter (ditto);
    * Graphic image file filter (supports black and white or color Hires
      images as well as black and white or color Double Hires images as
      well as standard Super Hires, and 3200 color Super Hires);
    * AppleWorks word processor (AWP) file filter (converts to text,
      poor HTML, or Rich-Text Format (RTF));
    * AppleWorks database (ADB) file filter (converts to CSV);
    * AppleWorks spread sheet (ASP) file filter (converts to CSV).

Compile capabilities (BETA):

    * Applesoft BASIC

Viewer capabilities:

    * BASIC programs (Applesoft and Integer BASIC); Applesoft BASIC is
      colored
    * Graphics images (same as supported by the graphics export function)
    * Appleworks (database, spreadsheet, word processor)
    * Text files (plain text, assembly source files, Pascal text files)
    * Hex dump of all the above
    * "Raw" format of all of the above; this includes all data as read
      from disk including length and starting address as well as full
      sectors/blocks


    Issues

Known issues with AppleCommander:

    * If a disk is mostly in a known format, but has bad data and
      what-not, AppleCommander may crash. Technically, the worst culprit
      is a retrieving a non-existant block or track/sector.
    * Various interface improvements.
    * Requirement of a Java JVM as well as SWT for the interface.
    * The Win32 (compiled) version of AppleCommander doesn't interpret
      graphic image colors correctly - however the Java JAR version does.

Please visit the tracker
<http://sourceforge.net/tracker/?group_id=67414> page for an up-to-date
list of issues, submit a new issue, or submit a feature request.


    Future

There is a general list of TODO items which is managed as part of the
CVS archive. Click here
<http://applecommander.cvs.sourceforge.net/applecommander/AppleCommander/TODO?view=log>
to see the current TODO list.

Does the future include you? Anyone is welcome to suggest or contribute!


    Requirements

AppleCommander is written in Java and uses a non-standard Java library,
SWT. Fortunately, none of these will cost anything but download time:

    * *Java* - If you need to install Java, go to the Sun Java
      <http://java.sun.com/j2se/downloads.html> site for J2SE and
      download the latest version (1.4.2 as of June 2004) and install
      it. I develop with 1.4.2_04, and have tested with 1.3.1, so these
      should work along with any future releases.
    * *SWT* - As far as SWT is concerned, I have created a Windows
      archive (1MB) of these files which you can unzip into the same
      directory as the AppleCommander JAR file. The Mac bundle inlcudes
      the SWT files. For the latest release of SWT, visit the Eclipse
      site <http://www.eclipse.org/downloads/>!

Because of the SWT difficulties, I hope to continue compiling
<http://www-106.ibm.com/developerworks/java/library/j-nativegui/> the
application. These will be tagged with a win32 in the filename.


    Download

*Note: Please read the requirements and download Java and the SWT code,
if required first!*

Once you have installed Java and copied SWT into the future
AppleCommander directory, download a copy of AppleCommander from the
download section of the SourceForge site
<http://sourceforge.net/project/showfiles.php?group_id=67414>.

This software is distributed under the GPL
<http://www.opensource.org/licenses/gpl-license.php>.

To start AppleCommander, just double-click on the AppleCommander JAR
file! If you've downloaded the win32 version, double-click on the EXE
file. One Mac, double-click AppleCommander.app; recent libraries are
included.


    Developer Documentation

There is currently minimal documentation available for others interested
in the development, structure, or code of AppleCommander. The source is,
of course, available on SourceForge
<http://sourceforge.net/projects/applecommander/> via CVS
<http://sourceforge.net/cvs/?group_id=67414>. However, extra
documentation is fairly sparse at this time.

For your web-browsing pleasure, the AppleCommander Java Documentation
<javadoc/> has been uploaded, and I will try to keep it up-to-date. (If
not, the code is documented, and you can generate it yourself.)

Additionally, EclipseUML <http://www.eclipseuml.com> has been used to
generate the UML diagrams which have been drawn by hand. These UML
diagrams <uml/index.html> don't cover all of AppleCommander, but they do
give the general structure used by the "storage" package - that is, the
domain in which AppleCommander specializes.


    Historical

Version 	Date 	Description
1.3.5 	01-Jun-2008 	Added support for cc65 and improved support for
Apple UCSD Pascal 800K images and Mac OS X. The summary is available
here <news-20080601.html>.
1.3.4 	31-Mar-2007 	Resolved OS X issues (JMatthews); Pascal 800K format
now supported (JMatthews); Pascal images are now writeable (JMatthews).
The summary is available here <news-20070331.html>.
1.3.3 	18-Jun-2004 	Primarily restructuring, but added a two new file
viewers (Apple Pascal .text files and Assembly source code). The summary
is available here <news-20040618.html>.
1.3.2 	05-Jun-2004 	Added nibble image support, CP/M support, as well as
SHR 3200-color graphics. The summary is available here
<news-20040605.html>.
1.3.1 	12-Dec-2003 	Incorporated John Matthews' command-line version of
AppleCommander ("ac"); added file viewing capabilities. The posting is
here <news-posting-20031212.html>.
1.3.0 	04-Dec-2003 	Very early release of an Applesoft BASIC compiler;
John Matthews' bug fixes have been incorporated; Chris Sebrell's fixes
have been incorporated.
1.2.3 	13-Apr-2003 	Work towards Windows executable (now available!);
posting is here <news-posting-20030413.html>.
1.2.2 	15-Mar-2003 	Bug fixes (primarily ProDOS updates); posting ishere
<news-posting-20030315.html>.
1.2.1 	1-Mar-2003 	Bug fixes; added ASP and ADB exports; posting is here
<news-posting-20030301.html>.
1.2.0 	11-Feb-2003 	The fourth posting for version 1.2.0 announcing
import abilities is here <news-posting-20030211.html>.
1.1.1 	30-Nov-2002 	The third posting for version 1.1.1 announcing the
GPL release of AppleCommander is here <news-posting-20021130.html>.
1.1 	12-Nov-2002 	The second posting for version 1.1 is located here
<news-posting-20021112.html>.
1.0 	28-Oct-2002 	The first news group posting is here
<news-posting-20021028.html> announcing version 1.0.


    Contact

Feel free to drop some email - I don't expect traffic to be very large.
However, because of the ever-present threat of SPAM, I won't create an
email link either (sorry, you gotta type it!):

RobGreene at users dot sourceforge dot net
matthewsj at users dot sourceforge dot net



