From c682b5a81d9599e139605c447d87a04f2c1b6d31 Mon Sep 17 00:00:00 2001 From: Robert Greene Date: Sun, 21 Dec 2003 06:15:31 +0000 Subject: [PATCH] Added detection of SHR 3200 mode. --- .../applecommander/storage/ProdosFileEntry.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/com/webcodepro/applecommander/storage/ProdosFileEntry.java b/src/com/webcodepro/applecommander/storage/ProdosFileEntry.java index f395623..8dbb379 100644 --- a/src/com/webcodepro/applecommander/storage/ProdosFileEntry.java +++ b/src/com/webcodepro/applecommander/storage/ProdosFileEntry.java @@ -442,13 +442,21 @@ public class ProdosFileEntry extends ProdosCommonEntry implements FileEntry { } else if ("PNT".equals(getFiletype())) { if (getAuxiliaryType() == 0x0001) { GraphicsFileFilter filter = new GraphicsFileFilter(); - filter.setMode(GraphicsFileFilter.MODE_SHR); + filter.setMode(GraphicsFileFilter.MODE_SHR_16); return filter; } } else if ("PIC".equals(getFiletype())) { - if (getAuxiliaryType() == 0x0000) { + int auxType = getAuxiliaryType(); + int fileSize = getSize(); + // AUX TYPE $0002 is sometimes mislabeled and should be $0000 + // the OR attempts to identify these + if (auxType == 0x0000 || (auxType == 0x0002 && fileSize == 32768) ) { GraphicsFileFilter filter = new GraphicsFileFilter(); - filter.setMode(GraphicsFileFilter.MODE_SHR); + filter.setMode(GraphicsFileFilter.MODE_SHR_16); + return filter; + } else if (auxType == 0x0002 && fileSize == 38400) { + GraphicsFileFilter filter = new GraphicsFileFilter(); + filter.setMode(GraphicsFileFilter.MODE_SHR_3200); return filter; } } else if ("BIN".equals(getFiletype())) {