From d9950b4f606e3de178a79cd030ad516efbd68344 Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Sun, 22 Jul 2018 21:31:07 +1000 Subject: [PATCH] tidying --- .../diskbrowser/disk/DiskFactory.java | 32 +++++++++---------- .../diskbrowser/prodos/ProdosDisk.java | 4 +++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/com/bytezone/diskbrowser/disk/DiskFactory.java b/src/com/bytezone/diskbrowser/disk/DiskFactory.java index 786e20a..e35ba2f 100755 --- a/src/com/bytezone/diskbrowser/disk/DiskFactory.java +++ b/src/com/bytezone/diskbrowser/disk/DiskFactory.java @@ -227,15 +227,27 @@ public class DiskFactory } } + if (suffix.equals ("woz")) + { + WozDisk wozDisk = new WozDisk (file); + AppleDisk appleDisk256 = new AppleDisk (wozDisk, 35, 16); + disk = checkDos (appleDisk256); + if (disk == null) + disk = checkProdos (new AppleDisk (wozDisk, 35, 8)); + if (disk == null) + disk = new DataDisk (appleDisk256); + return disk; + } + if (suffix.equals ("v2d")) { - if (debug) - System.out.println (" ** v2d **"); - V2dDisk v2dDisk = new V2dDisk (file); - disk = checkDos (new AppleDisk (v2dDisk, 35, 16)); + AppleDisk appleDisk256 = new AppleDisk (v2dDisk, 35, 16); + disk = checkDos (appleDisk256); if (disk == null) disk = checkProdos (new AppleDisk (v2dDisk, 35, 8)); + if (disk == null) + disk = new DataDisk (appleDisk256); return disk; } @@ -250,18 +262,6 @@ public class DiskFactory return null; } - if (suffix.equals ("woz")) - { - WozDisk wozDisk = new WozDisk (file); - AppleDisk appleDisk256 = new AppleDisk (wozDisk, 35, 16); - disk = checkDos (appleDisk256); - if (disk == null) - disk = checkProdos (new AppleDisk (wozDisk, 35, 8)); - if (disk == null) - disk = new DataDisk (appleDisk256); - return disk; - } - long length = file.length (); if (length == 116480) // 13 sector disk diff --git a/src/com/bytezone/diskbrowser/prodos/ProdosDisk.java b/src/com/bytezone/diskbrowser/prodos/ProdosDisk.java index eb649ea..08ad9df 100755 --- a/src/com/bytezone/diskbrowser/prodos/ProdosDisk.java +++ b/src/com/bytezone/diskbrowser/prodos/ProdosDisk.java @@ -58,6 +58,7 @@ public class ProdosDisk extends AbstractFormattedDisk DefaultMutableTreeNode root = getCatalogTreeRoot (); DefaultMutableTreeNode volumeNode = new DefaultMutableTreeNode ("empty volume node"); root.add (volumeNode); + processDirectoryBlock (2, null, volumeNode); makeNodeVisible (volumeNode.getFirstLeaf ()); @@ -93,6 +94,8 @@ public class ProdosDisk extends AbstractFormattedDisk if (storageType == 0) // deleted or unused continue; + System.out.println ("here"); + byte[] entry = new byte[ProdosConstants.ENTRY_SIZE]; System.arraycopy (sectorBuffer, ptr, entry, 0, ProdosConstants.ENTRY_SIZE); @@ -191,6 +194,7 @@ public class ProdosDisk extends AbstractFormattedDisk // check entry length and entries per block if (buffer[0x23] != 0x27 || buffer[0x24] != 0x0D) return false; + int bitMapBlock = HexFormatter.intValue (buffer[0x27], buffer[0x28]); if (bitMapBlock != 6) return false;