diff --git a/.gitignore b/.gitignore index 0b6ea29..6fe9cfa 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ TestImage.* .settings/org.eclipse.jdt.core.prefs build/ACBuild.properties build/AppleCommander.preferences +*.o +*.lst diff --git a/build/AppleCommander-boot.s b/build/AppleCommander-boot.s index 015d0bb..a769ebf 100644 --- a/build/AppleCommander-boot.s +++ b/build/AppleCommander-boot.s @@ -10,10 +10,13 @@ ; 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: ; .../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 .macro asc Arg @@ -76,7 +79,7 @@ YOFFSET = 13 ; ; Added a little chicanery for the Apple /// to branch around ; 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 SEC @@ -140,25 +143,24 @@ WAIT: ; Rotate the screen (isn't that retro)! ; SETUP: - LDX #19 + LDX #19 ROTATE: - TXA - JSR CALCADDR - LDY #0 - LDA (ADDR),Y - PHA + TXA + JSR CALCADDR + LDY #39 + LDA (ADDR),Y + PHA SHIFT: - INY - LDA (ADDR),Y - DEY - STA (ADDR),Y - INY - CPY #39 - BNE SHIFT - PLA - STA (ADDR),Y - DEX - BPL ROTATE + DEY + LDA (ADDR),Y + INY + STA (ADDR),Y + DEY + BNE SHIFT + PLA + STA (ADDR),Y + DEX + BPL ROTATE ; ; Introduce a pause between rotations. ; @@ -198,7 +200,7 @@ DATA2: ; MESSAGE: asccr "APPLECOMMANDER CREATED THIS DISK" - asccr "VISIT APPLECOMMANDER.SF.NET" + asccr "VISIT APPLECOMMANDER.GITHUB.IO" .byte $8d asc "INSERT ANOTHER DISK AND PRESS ANY KEY" .byte $00 diff --git a/src/com/webcodepro/applecommander/storage/AppleCommander-boot.dump b/src/com/webcodepro/applecommander/storage/AppleCommander-boot.dump index 0e6b496..207616c 100644 Binary files a/src/com/webcodepro/applecommander/storage/AppleCommander-boot.dump and b/src/com/webcodepro/applecommander/storage/AppleCommander-boot.dump differ diff --git a/src/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java b/src/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java index 540c15b..224643f 100644 --- a/src/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java +++ b/src/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java @@ -49,8 +49,7 @@ public abstract class AppleImage { public static AppleImage create(int width, int height) { String[] classes = { "ImageIoImage", "SunJpegImage", "SwtImage" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - Class constructorArgType = AppleImage.class; - Class[] constructorArgClasses = new Class[] { AppleImage.class }; + Class[] constructorArgClasses = new Class[] { int.class, int.class }; Object[] constructorArgs = new Object[] { new Integer(width), new Integer(height) }; for (int i=0; i appleImageClass = Class.forName( "com.webcodepro.applecommander.storage.filters.imagehandlers." //$NON-NLS-1$ + classes[i]); - Constructor constructor = - constructorArgType.getConstructor(constructorArgClasses); + Constructor constructor = + appleImageClass.getConstructor(constructorArgClasses); + AppleImage appleImage = (AppleImage) constructor.newInstance(constructorArgs); return appleImage;