diff --git a/CONTRIB b/CONTRIB deleted file mode 100644 index 43df5c0..0000000 --- a/CONTRIB +++ /dev/null @@ -1,10 +0,0 @@ -AppleCommander - An Apple ][ image utility. -Copyright (C) 2002-2007 by Robert Greene and others -robgreene at users.sourceforge.net - -Code contributed from: -* John B. Matthews M.D. - - many bug fixes -* Chris Sebrell -* Hans Otten - - information regarding Pascal text file format diff --git a/CONTRIB.txt b/CONTRIB.txt new file mode 100644 index 0000000..f45778b --- /dev/null +++ b/CONTRIB.txt @@ -0,0 +1,17 @@ +AppleCommander - An Apple ][ image utility. +Copyright (c) 2002-2018 by Robert Greene and others +robgreene at users.sourceforge.net (should still be functional) + +Note that user history was lost in the transition from CVS at SourceForge to Git at GitHub. +Entirely my fault. :-/ + +Code contributed from: +* John B. Matthews M.D. + - many bug fixes, enhancements, and brought us the `ac` goodness! +* Chris Sebrell +* Hans Otten + - information regarding Pascal text file format +* David Schmidt +* iKarith +* Lisias + - Infinite loop detection diff --git a/DEVELOPER.md b/DEVELOPER.md index 4b8d512..becbd7f 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -2,6 +2,8 @@ AppleCommander has switched to using [Gradle](https://gradle.org/) for build and build dependencies. +There is still a bunch of ANT related build information around. They no longer apply and "should" get cleaned up over time. + ## Tests > Note that test currently fail due to dependencies on disk images not present in the repository. @@ -21,9 +23,17 @@ BUILD SUCCESSFUL in 2s This will create the `build` directory and populate with an uber-jar. -To launch AppleCommander, use the following: +To run the command-line version of AppleCommander, use the following: +* All platforms: + `java -jar AppleCommander-ac-VERSION.jar` + +To launch the GUI version of AppleCommander, use the following: + +* Linux: + `java -jar AppleCommander-linux64-gtk-VERSION.jar` +* Windows: + `java -jar AppleCommander-win64-VERSION.jar` * Mac OS X: - `java -XstartOnFirstThread -jar build/libs/AppleCommander.jar` - -The build is currently only setup for Mac OS X. + `java -XstartOnFirstThread -jar build/libs/AppleCommander-macosx-VERSION.jar` + diff --git a/HEADER b/HEADER index 40a77da..6d88402 100644 --- a/HEADER +++ b/HEADER @@ -2,7 +2,7 @@ Attach the following comment to the header of all source files. /* * AppleCommander - An Apple ][ image utility. - * Copyright (C) 2002-2007 by Robert Greene and others + * Copyright (C) 2002-2018 by Robert Greene and others * robgreene at users.sourceforge.net * * This program is free software; you can redistribute it and/or modify it diff --git a/README.md b/README.md new file mode 100644 index 0000000..468eb46 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Overview + +Contributions welcome! + +Please see [AppleCommander site](https://applecommander.github.io) for more details. + +[Developer information](DEVELOPER.md) has some details useful if you wish to update AppleCommander. + +Some information is still out of date on the AppleCommander site... +* Obviously, we have moved to Github. :-) +* Binaries are in the release tab. +* Mac OS X users may want to visit [lifepillar's homebrew tap](https://github.com/lifepillar/homebrew-appleii) for retro goodness. +* Libary releases to the Maven repository are currently manual and may be a bit delayed. + \ No newline at end of file diff --git a/TODO b/TODO index f322d69..2e59470 100644 --- a/TODO +++ b/TODO @@ -2,17 +2,14 @@ THINGS TO DO ============ This is the internal list of items that need to be done. --- 1.3.5 -- +-- 1.4.0 -- * Migration to GitHub * Update SWT libraries --- FUTURE --- -o Add binaries to repository to simplify AC development and builds o Create subdirectories as appropriate (ProDOS). o Create reusable show dialog messages (they're scattered all over right now) to clean up code a bit. -? Compile of BASIC programs -? Enhance the BASIC compiler with a few more commands... o Improve file preview for Integer BASIC files. o Improve file preview for AppleWorks Word Processor files (make implementation generic to a Word Processor, if possible). @@ -26,9 +23,6 @@ o Change layout of DiskExplorer window to not be tabbed. Information could/shou o Add RDOS writing capability. o Add CP/M writing capability. o Add drag-and-drop capability. -o Provide a Swing GUI so people are not "limited" to SWT. This may be tossed; although - it may side-step the MAC OS X issue with SWT not behaving properly. (Alright, with - AppleCommander not behaving correctly. Just wish I knew what the problem was!!) o Add more information to About box including GPL, TODO, VERSIONS, etc. o Change disk format. o Sector/Block editor. diff --git a/ant-build/README-Windows.txt b/ant-build/README-Windows.txt deleted file mode 100644 index 78e846d..0000000 --- a/ant-build/README-Windows.txt +++ /dev/null @@ -1,9 +0,0 @@ -This zip file contains all the required files for AppleCommander. - -Just unzip to a directory and double-click on AppleCommander.exe! - -This has been tested only on Windows XP but should run on Windows 98, -Windows NT, Windows 2000, and Windows XP. - -Have fun! --RobGreene at users.sourceforge.net \ No newline at end of file diff --git a/ant-build/README-linux-gtk b/ant-build/README-linux-gtk deleted file mode 100644 index b68d627..0000000 --- a/ant-build/README-linux-gtk +++ /dev/null @@ -1,63 +0,0 @@ -If you install libswt-gtk using the distribution's package manager, -launch AppleCommander using a script such as this: - -#!/bin/sh -java -Djava.library.path=/usr/lib/jni \ - -cp /usr/lib/java/swt-gtk-3.5.1.jar:AppleCommander-1.3.5.11.jar \ - com.webcodepro.applecommander.ui.AppleCommander -swt - -This is a highly experimental Linux GTK compile of AppleCommander. This version does -not require Java nor does it require the SWT distribution - it is compiled into a -native Linux executable. - -To launch AppleCommander: - $ cd - $ ./applecommander.sh - -Let me know if this works for you. - -Thanks! -RobGreene at users.sourceforge.net - -Items of note: - -1. The graphics libraries that AppleCommander use are either in a Sun JVM or - in JDK 1.4.x - neither of which GCJ supports. All graphics options are - disabled (if they aren't, they certainly won't do anything). Yes, - GraphicsFileFilter.java was hacked to bits for this part. - -2. The libraries that GCJ requires are listed here. My Linux/Unix is rusty - enough that I have no clue if they are standard or not: - $ ldd AppleCommander - libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40023000) - libgcj.so.3 => /usr/lib/libgcj.so.3 (0x4002c000) - libm.so.6 => /lib/i686/libm.so.6 (0x40612000) - libz.so.1 => /usr/lib/libz.so.1 (0x40634000) - libdl.so.2 => /lib/libdl.so.2 (0x40642000) - libc.so.6 => /lib/i686/libc.so.6 (0x42000000) - libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40645000) - /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) - -3. I do not have the full GTK development environment. Thus, the two *.so - libraries that are distributed and the need to launch AppleCommander from - applecommander.sh to setup LD_LIBRARY_PATH. - -4. For those interested, I have build files (not Makefiles) that will be - posted in the build subdirectory of the AppleCommander source files on - SourceForge.net. Note that the copy of SWT source that I obtained from - eclipse.org had pieces that would not compile - - * org.eclipse.swt.custom.DisplayRenderer.java - Added the following explicit import: - import org.eclipse.swt.custom.StyledText.LineCache; - Not sure - this may be a GCJ issue. - * org.eclipse.swt.custom.TableCursor.java - Changed "void traverse(...)" to "boolean traverse(...)" and added - returns to return the same value as "event.doit". This is because - the method that is over-ridden returns a boolean - so this class - could/should never have compiled before, right? - * org.eclipse.swt.internal.gtk.GtkSelectionData.java - * org.eclipse.swt.internal.gtk.GtkTargetEntry.java - Both of these classes were "mangled". I basically had to replace/fix - the newline character through the file. - -*** END *** diff --git a/ant-build/build-applecommander-linux-gtk b/ant-build/build-applecommander-linux-gtk deleted file mode 100644 index 9b572c9..0000000 --- a/ant-build/build-applecommander-linux-gtk +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -# This script will build the AppleCommander executable. Make sure that the -# SWT library (swt.a) is available - see build-swt-linux-gtk if this needs -# to be built. - -# The SWT jar files are required as well as the AppleCommander jar file. -# Additionally, the SWT *.so files will be required to run AppleCommander. -# Last but not least, the image files are required by AppleCommander and -# are expected to be in the same directory as Java would expect them to -# be in - but you can remove all the other class or java files. - -DIR=$(pwd) -CLASSPATH="$DIR/swt.jar:$DIR/swt-pi.jar:$DIR/AppleCommander-1.1.1b.jar" -FLAGS="-O3" -mkdir obj -cd obj -rm *.o -find ../com -name "*.java" -exec gcj --classpath=$CLASSPATH $FLAGS -c {} \; - -cd $DIR -rm applecommander.a -ar r applecommander.a obj/*.o - -gcj $FLAGS --main=com.webcodepro.applecommander.ui.AppleCommander \ - -o AppleCommander applecommander.a swt.a - diff --git a/ant-build/build-applecommander-mingw b/ant-build/build-applecommander-mingw deleted file mode 100644 index b01880c..0000000 --- a/ant-build/build-applecommander-mingw +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh - -exec >$0.log 2>&1 - -APPLECOMMANDER_FILES=$(cd com; \ - find . -name "*.java" -not -name "*Test.java" -not -name "ImageIoImage.java" \ - -not -name "SunJpegImage.java" -print | - sed 's#^\./#com/#') - -OPTS="-static -O3 --no-bounds-checking -funroll-loops -finline-functions \ - -fkeep-inline-functions -malign-double" - -echo "**********************************************" -echo "** COMPILING **" -echo "**********************************************" -echo - -for i in $APPLECOMMANDER_FILES -do - OBJ_FILE=$(echo $i | sed 's/\//_/g' | sed 's/\.java$/\.o/') - echo Compiling $i to $OBJ_FILE - gcj --classpath="AppleCommander.jar" $OPTS -g0 -c -o $OBJ_FILE $i -done - -echo "**********************************************" -echo "** RESOURCES **" -echo "**********************************************" -echo -for i in $(ls com/webcodepro/applecommander/ui/images/*.gif \ - com/webcodepro/applecommander/storage/*.dump \ - com/webcodepro/applecommander/storage/os/prodos/*.properties) -do - FILENAME=$(basename $i) - OBJ=$FILENAME.o - echo Compiling resource $i - gcj -c --resource=$i -o $OBJ $i -done - -echo "**********************************************" -echo "** BUILD EXE **" -echo "**********************************************" -echo -gcj -s -fjni -mwindows --classpath="AppleCommander.jar" $OPTS \ - --main=com.webcodepro.applecommander.ui.AppleCommander \ - -o AppleCommander *.o - -echo "**********************************************" -echo "** CLEAN **" -echo "**********************************************" -echo -rm *.o - -echo "**********************************************" -echo "** STRIPPING EXE **" -echo "**********************************************" -echo -strip -x AppleCommander.exe -o AppleCommander-strip.exe - -# Only run UPX if it is on the command path: -UPX=$(type -p upx) -if [ "$UPX" ] && [ -x $UPX ] -then - echo "**********************************************" - echo "** PACKING EXE WITH UPX **" - echo "** (will need to choose the smallest exe..) **" - echo "**********************************************" - echo - upx --best --crp-ms=999999 --nrv2b -o AppleCommander-strip-nrv2b.exe AppleCommander-strip.exe - upx --best --crp-ms=999999 --nrv2d -o AppleCommander-strip-nrv2d.exe AppleCommander-strip.exe - upx --best --crp-ms=999999 -o AppleCommander-strip-upxbest.exe AppleCommander-strip.exe - upx -o AppleCommander-strip-upxdefault.exe AppleCommander-strip.exe -fi - -echo "**********************************************" -echo "** DONE!! **" -echo "**********************************************" diff --git a/ant-build/build-swt-from-java-source b/ant-build/build-swt-from-java-source deleted file mode 100644 index 0022845..0000000 --- a/ant-build/build-swt-from-java-source +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -############################################################################################### -# Note: It is expected that the source tree has been unzipped. -# Note: swt.jar is required for the build. It also must be unzipped for the properties file. - -############################################################################################### -# StyledText somehow confuses GCJ. According to the message discussion, moving -# StyledText.java out of the build path fixes everything. -# http://gcc.gnu.org/ml/java/2003-04/msg00270.html -# This copies StyledText out and compiles it independantly. -# -echo Performing special compile for StyledText.java ... -cp org/eclipse/swt/custom/StyledText.java StyledText.java -gcj -fjni -g0 -c --classpath=swt.jar StyledText.java - -############################################################################################### -# We need to ensure the image-related stuff gets loaded. -# -echo >SWTImageLoaders.java <