diff --git a/src/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java b/src/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java index 18fa173..6836165 100644 --- a/src/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java +++ b/src/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java @@ -29,6 +29,7 @@ import com.webcodepro.applecommander.storage.FileEntry; import com.webcodepro.applecommander.storage.FileFilter; import com.webcodepro.applecommander.storage.FormattedDisk; import com.webcodepro.applecommander.storage.filters.ApplesoftFileFilter; +import com.webcodepro.applecommander.storage.filters.AssemblySourceFileFilter; import com.webcodepro.applecommander.storage.filters.BinaryFileFilter; import com.webcodepro.applecommander.storage.filters.GraphicsFileFilter; import com.webcodepro.applecommander.storage.filters.IntegerBasicFileFilter; @@ -388,6 +389,8 @@ public class DosFileEntry implements FileEntry { return new ApplesoftFileFilter(); } else if (isIntegerBasicFile()) { return new IntegerBasicFileFilter(); + } else if (isAssemblySourceFile()) { + return new AssemblySourceFileFilter(); } else if (isTextFile()) { return new TextFileFilter(); } else if (isBinaryFile()) { @@ -406,6 +409,16 @@ public class DosFileEntry implements FileEntry { } return new BinaryFileFilter(); } + + /** + * Determine if this is an assembly source code file. + */ + public boolean isAssemblySourceFile() { + boolean rightFiletype = isTextFile() || isBinaryFile(); + if (rightFiletype && getFilename().endsWith(".S")) return true; + if (rightFiletype && getFilename().startsWith("T.")) return true; + return false; + } /** * Determine if this is a text file. diff --git a/src/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java b/src/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java index 68cfd0b..bf65f7d 100644 --- a/src/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java +++ b/src/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java @@ -33,6 +33,7 @@ import com.webcodepro.applecommander.storage.filters.AppleWorksDataBaseFileFilte import com.webcodepro.applecommander.storage.filters.AppleWorksSpreadSheetFileFilter; import com.webcodepro.applecommander.storage.filters.AppleWorksWordProcessorFileFilter; import com.webcodepro.applecommander.storage.filters.ApplesoftFileFilter; +import com.webcodepro.applecommander.storage.filters.AssemblySourceFileFilter; import com.webcodepro.applecommander.storage.filters.BinaryFileFilter; import com.webcodepro.applecommander.storage.filters.GraphicsFileFilter; import com.webcodepro.applecommander.storage.filters.IntegerBasicFileFilter; @@ -456,6 +457,10 @@ public class ProdosFileEntry extends ProdosCommonEntry implements FileEntry { switch (filetype) { case 0x04: // TXT + if (getFilename().endsWith(".S")) { + return new AssemblySourceFileFilter(); + } + return new TextFileFilter(); case 0xb0: // SRC return new TextFileFilter(); case 0x19: // ADB