From 760ea2246ed23e5b5ec99685b411fdc636e27feb Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Tue, 23 Jun 2020 16:07:11 +1000 Subject: [PATCH] added SHR --- src/com/bytezone/diskbrowser/applefile/ExoBuffer.java | 2 +- src/com/bytezone/diskbrowser/prodos/FileEntry.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/com/bytezone/diskbrowser/applefile/ExoBuffer.java b/src/com/bytezone/diskbrowser/applefile/ExoBuffer.java index 5e1cae1..fb4eedc 100644 --- a/src/com/bytezone/diskbrowser/applefile/ExoBuffer.java +++ b/src/com/bytezone/diskbrowser/applefile/ExoBuffer.java @@ -19,7 +19,7 @@ public class ExoBuffer private static int PFLAG_BITS_ALIGN_START = (1 << PBIT_BITS_ALIGN_START); private static int PFLAG_4_OFFSET_TABLES = (1 << PBIT_4_OFFSET_TABLES); - byte[] outBuffer = new byte[16384]; + byte[] outBuffer = new byte[50000]; // ---------------------------------------------------------------------------------// public ExoBuffer (byte[] inBuffer) diff --git a/src/com/bytezone/diskbrowser/prodos/FileEntry.java b/src/com/bytezone/diskbrowser/prodos/FileEntry.java index 34c9bf1..89cfa13 100755 --- a/src/com/bytezone/diskbrowser/prodos/FileEntry.java +++ b/src/com/bytezone/diskbrowser/prodos/FileEntry.java @@ -330,6 +330,12 @@ class FileEntry extends CatalogEntry implements ProdosConstants else file = new AssemblerProgram (name, exactBuffer, auxType); } + else if (auxType == 0x1FF8 && HiResImage.isExo (exactBuffer)) + { + ExoBuffer exoBuffer = new ExoBuffer (exactBuffer); + byte[] outBuffer = exoBuffer.getExpandedBuffer (); + file = new SHRPictureFile2 (name, outBuffer, FILE_TYPE_PIC, 0x2000, 0x8000); + } else if (oneOf (endOfFile, 0x1FF8, 0x1FFF, 0x2000, 0x4000) && oneOf (auxType, 0x1FFF, 0x2000, 0x4000, 0x6000)) file = new OriginalHiResImage (name, exactBuffer, auxType);