Merge branch 'master' into linux

This commit is contained in:
T. Joseph Carter 2017-11-15 18:25:23 -08:00
commit 234f1485f2
4 changed files with 28 additions and 24 deletions

2
.gitignore vendored
View File

@ -16,3 +16,5 @@ TestImage.*
.settings/org.eclipse.jdt.core.prefs .settings/org.eclipse.jdt.core.prefs
build/ACBuild.properties build/ACBuild.properties
build/AppleCommander.preferences build/AppleCommander.preferences
*.o
*.lst

View File

@ -10,10 +10,13 @@
; Assemble this code with the cc65 toolchain: ; Assemble this code with the cc65 toolchain:
; ;
; cl65 AppleCommander-boot.s -t none --start-addr $0800 ; cl65 -t none --start-addr 0x0800 -l AppleCommander-boot.lst AppleCommander-boot.s
; then copy resulting AppleCommander-boot to: ; then copy resulting AppleCommander-boot to:
; .../src/com/webcodepro/applecommander/storage/AppleCommander-boot.dump ; .../src/com/webcodepro/applecommander/storage/AppleCommander-boot.dump
; ;
; Note that this command will hexdump a useful format for pasting and testing...
; hexdump -e '"08%02.2_ax:" 16/1 "%02x " "\n"' AppleCommander-boot
;
; Define as ASCII string with no attributes ; Define as ASCII string with no attributes
.macro asc Arg .macro asc Arg
@ -76,7 +79,7 @@ YOFFSET = 13
; ;
; Added a little chicanery for the Apple /// to branch around ; Added a little chicanery for the Apple /// to branch around
; since it starts executing at the zeroeth byte, not the first. ; since it starts executing at the zeroeth byte, not the first.
; This has the effect of setting carry based on machine type. ; This has the effect of setting carry based on machine type.
; ;
.byte $01 .byte $01
SEC SEC
@ -140,25 +143,24 @@ WAIT:
; Rotate the screen (isn't that retro)! ; Rotate the screen (isn't that retro)!
; ;
SETUP: SETUP:
LDX #19 LDX #19
ROTATE: ROTATE:
TXA TXA
JSR CALCADDR JSR CALCADDR
LDY #0 LDY #39
LDA (ADDR),Y LDA (ADDR),Y
PHA PHA
SHIFT: SHIFT:
INY DEY
LDA (ADDR),Y LDA (ADDR),Y
DEY INY
STA (ADDR),Y STA (ADDR),Y
INY DEY
CPY #39 BNE SHIFT
BNE SHIFT PLA
PLA STA (ADDR),Y
STA (ADDR),Y DEX
DEX BPL ROTATE
BPL ROTATE
; ;
; Introduce a pause between rotations. ; Introduce a pause between rotations.
; ;
@ -198,7 +200,7 @@ DATA2:
; ;
MESSAGE: MESSAGE:
asccr "APPLECOMMANDER CREATED THIS DISK" asccr "APPLECOMMANDER CREATED THIS DISK"
asccr "VISIT APPLECOMMANDER.SF.NET" asccr "VISIT APPLECOMMANDER.GITHUB.IO"
.byte $8d .byte $8d
asc "INSERT ANOTHER DISK AND PRESS ANY KEY" asc "INSERT ANOTHER DISK AND PRESS ANY KEY"
.byte $00 .byte $00

View File

@ -49,8 +49,7 @@ public abstract class AppleImage {
public static AppleImage create(int width, int height) { public static AppleImage create(int width, int height) {
String[] classes = { String[] classes = {
"ImageIoImage", "SunJpegImage", "SwtImage" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ "ImageIoImage", "SunJpegImage", "SwtImage" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Class<?> constructorArgType = AppleImage.class; Class[] constructorArgClasses = new Class[] { int.class, int.class };
Class<?>[] constructorArgClasses = new Class[] { AppleImage.class };
Object[] constructorArgs = new Object[] { Object[] constructorArgs = new Object[] {
new Integer(width), new Integer(height) }; new Integer(width), new Integer(height) };
for (int i=0; i<classes.length; i++) { for (int i=0; i<classes.length; i++) {
@ -58,8 +57,9 @@ public abstract class AppleImage {
Class<?> appleImageClass = Class.forName( Class<?> appleImageClass = Class.forName(
"com.webcodepro.applecommander.storage.filters.imagehandlers." //$NON-NLS-1$ "com.webcodepro.applecommander.storage.filters.imagehandlers." //$NON-NLS-1$
+ classes[i]); + classes[i]);
Constructor constructor = Constructor<?> constructor =
constructorArgType.getConstructor(constructorArgClasses); appleImageClass.getConstructor(constructorArgClasses);
AppleImage appleImage = (AppleImage) AppleImage appleImage = (AppleImage)
constructor.newInstance(constructorArgs); constructor.newInstance(constructorArgs);
return appleImage; return appleImage;