diff --git a/src/com/bytezone/diskbrowser/applefile/CPMTextFile.java b/src/com/bytezone/diskbrowser/applefile/CPMTextFile.java index 6c87f4c..18e9c92 100644 --- a/src/com/bytezone/diskbrowser/applefile/CPMTextFile.java +++ b/src/com/bytezone/diskbrowser/applefile/CPMTextFile.java @@ -35,7 +35,7 @@ public class CPMTextFile extends AbstractFile int max = buffer.length - 1; while (ptr < max && buffer[ptr] != 0x0D && buffer[ptr + 1] != 0x0A) - line.append ((char) buffer[ptr++]); + line.append ((char) (buffer[ptr++] & 0x7F)); return line.toString (); } diff --git a/src/com/bytezone/diskbrowser/cpm/DirectoryEntry.java b/src/com/bytezone/diskbrowser/cpm/DirectoryEntry.java index b610b74..b5ed6d8 100644 --- a/src/com/bytezone/diskbrowser/cpm/DirectoryEntry.java +++ b/src/com/bytezone/diskbrowser/cpm/DirectoryEntry.java @@ -162,7 +162,15 @@ public class DirectoryEntry implements AppleFileSource byte[] exactBuffer = new byte[len]; System.arraycopy (buffer, 0, exactBuffer, 0, len); - if ("ASM".equals (type)) + int max = Math.min (256, exactBuffer.length); + int count = 0; + for (int i = 1; i < max; i++) + { + if (exactBuffer[i - 1] == 0x0D && exactBuffer[i] == 0x0A) + ++count; + } + + if ("ASM".equals (type) || "DOC".equals (type) || "TXT".equals (type) || count > 0) appleFile = new CPMTextFile (name, exactBuffer); else appleFile = new DefaultAppleFile (name, exactBuffer, "CPM File : " + type); diff --git a/src/com/bytezone/diskbrowser/disk/AppleDisk.java b/src/com/bytezone/diskbrowser/disk/AppleDisk.java index e454d98..8b009c9 100755 --- a/src/com/bytezone/diskbrowser/disk/AppleDisk.java +++ b/src/com/bytezone/diskbrowser/disk/AppleDisk.java @@ -146,11 +146,11 @@ public class AppleDisk implements Disk System.out.println (); } - if (sectorSize != 256 && sectorSize != 512) - { - System.out.println ("Invalid sector size : " + sectorSize); - new Exception ().printStackTrace (); - } + // if (sectorSize != 256 && sectorSize != 512) + // { + // System.out.println ("Invalid sector size : " + sectorSize); + // new Exception ().printStackTrace (); + // } if (sectorSize != 256 && sectorSize != 512) throw new FileFormatException ("Invalid sector size : " + sectorSize);