Updating info a bit, removing obviously out-dated and confusing info.
This commit is contained in:
parent
4541f38eb1
commit
93e7607541
10
CONTRIB
10
CONTRIB
|
@ -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
|
|
@ -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
|
18
DEVELOPER.md
18
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`
|
||||
|
||||
|
|
2
HEADER
2
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
|
||||
|
|
|
@ -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.
|
||||
|
8
TODO
8
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.
|
||||
|
|
|
@ -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
|
|
@ -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 directory>
|
||||
$ ./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 ***
|
|
@ -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
|
||||
|
|
@ -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 "**********************************************"
|
|
@ -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 <<EOF
|
||||
package org.eclipse.swt.internal.image;
|
||||
public class SWTImageLoaders
|
||||
{
|
||||
static
|
||||
{
|
||||
GIFFileFormat x = new GIFFileFormat();
|
||||
PNGFileFormat y = new PNGFileFormat();
|
||||
JPEGFileFormat z = new JPEGFileFormat();
|
||||
WinBMPFileFormat q = new WinBMPFileFormat();
|
||||
WinICOFileFormat p = new WinICOFileFormat();
|
||||
}
|
||||
}
|
||||
EOF
|
||||
gcj -fjni -g0 -c --classpath=swt.jar SWTImageLoaders.java
|
||||
|
||||
###############################################################################################
|
||||
# Compile everything else...
|
||||
#
|
||||
SWT_SOURCE=$(find . -name "*.java" -not -name "StyledText.java" -print | sed 's/^\.\///')
|
||||
|
||||
for i in $SWT_SOURCE
|
||||
do
|
||||
OBJ_FILE=$(echo $i | sed 's/\//_/g' | sed 's/\.java$/\.o/')
|
||||
echo Compiling $i to $OBJ_FILE
|
||||
gcj -fjni -g0 -c -o $OBJ_FILE $i
|
||||
done
|
||||
|
||||
gcj -c --resource=org.eclipse.swt.internal.SWTMessages \
|
||||
-o SWTMessages.o org/eclipse/swt/internal/SWTMessages.properties
|
||||
|
||||
###############################################################################################
|
||||
# Link it all and clean up.
|
||||
#
|
||||
echo Creating libswt.a
|
||||
ar -rcs libswt.a *.o
|
||||
ranlib libswt.a
|
||||
|
||||
echo Cleaning up
|
||||
rm -f *.o
|
||||
|
||||
echo Done.
|
|
@ -1,24 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script will build a static library of the SWT code. The shared object (*.so)
|
||||
# files from the Eclipse distribution are still required, however.
|
||||
|
||||
# Note that there will likely be modifications required to the given Eclipse code.
|
||||
|
||||
DIR=$(pwd)
|
||||
CLASSPATH="$DIR/swt.jar:$DIR/swt-pi.jar"
|
||||
FLAGS="-O3"
|
||||
mkdir obj
|
||||
cd obj
|
||||
rm *.o
|
||||
find ../org -name "*.java" -exec gcj --classpath=$CLASSPATH $FLAGS -c {} \;
|
||||
for FILE in Callback.java OS.java
|
||||
do
|
||||
find ../org -name "$FILE" -exec gcj --classpath=$CLASSPATH \
|
||||
$FLAGS -fjni -c {} \;
|
||||
done
|
||||
|
||||
cd $DIR
|
||||
rm swt.a
|
||||
ar r swt.a obj/*.o
|
||||
|
Loading…
Reference in New Issue