mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-12-01 09:50:32 +00:00
show NuFX contents on disk file display
This commit is contained in:
parent
768111571e
commit
269a1bbd83
@ -18,6 +18,7 @@ import com.bytezone.diskbrowser.nib.NibFile;
|
|||||||
import com.bytezone.diskbrowser.nib.V2dFile;
|
import com.bytezone.diskbrowser.nib.V2dFile;
|
||||||
import com.bytezone.diskbrowser.nib.WozFile;
|
import com.bytezone.diskbrowser.nib.WozFile;
|
||||||
import com.bytezone.diskbrowser.utilities.FileFormatException;
|
import com.bytezone.diskbrowser.utilities.FileFormatException;
|
||||||
|
import com.bytezone.diskbrowser.utilities.NuFX;
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------------//
|
// -----------------------------------------------------------------------------------//
|
||||||
public class AppleDisk implements Disk
|
public class AppleDisk implements Disk
|
||||||
@ -37,6 +38,7 @@ public class AppleDisk implements Disk
|
|||||||
|
|
||||||
private final int trackSize; // 4096
|
private final int trackSize; // 4096
|
||||||
public int sectorSize; // 256 or 512
|
public int sectorSize; // 256 or 512
|
||||||
|
private NuFX nuFX;
|
||||||
|
|
||||||
private int interleave = 0;
|
private int interleave = 0;
|
||||||
private static int[][] interleaveSector = //
|
private static int[][] interleaveSector = //
|
||||||
@ -232,6 +234,15 @@ public class AppleDisk implements Disk
|
|||||||
checkSectorsForData ();
|
checkSectorsForData ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------//
|
||||||
|
public AppleDisk (File file, int tracks, int sectors, NuFX nufx)
|
||||||
|
throws FileFormatException
|
||||||
|
// ---------------------------------------------------------------------------------//
|
||||||
|
{
|
||||||
|
this (file, tracks, sectors);
|
||||||
|
this.nuFX = nufx;
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
public AppleDisk (V2dFile disk, int tracks, int sectors)
|
public AppleDisk (V2dFile disk, int tracks, int sectors)
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
@ -731,6 +742,12 @@ public class AppleDisk implements Disk
|
|||||||
text.append (wozFile);
|
text.append (wozFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (nuFX != null)
|
||||||
|
{
|
||||||
|
text.append ("\n\n");
|
||||||
|
text.append (nuFX);
|
||||||
|
}
|
||||||
|
|
||||||
return text.toString ();
|
return text.toString ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +61,6 @@ public class DefaultDataSource implements DataSource
|
|||||||
public JComponent getComponent ()
|
public JComponent getComponent ()
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
{
|
{
|
||||||
System.out.println ("In DefaultDataSource.getComponent()");
|
|
||||||
JPanel panel = new JPanel ();
|
JPanel panel = new JPanel ();
|
||||||
return panel;
|
return panel;
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,8 @@ public class DiskFactory
|
|||||||
private static final int DISK_143K = 143360;
|
private static final int DISK_143K = 143360;
|
||||||
private static final int DISK_116K = 116480;
|
private static final int DISK_116K = 116480;
|
||||||
|
|
||||||
|
private static NuFX nuFX;
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
private DiskFactory ()
|
private DiskFactory ()
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
@ -143,7 +145,7 @@ public class DiskFactory
|
|||||||
System.out.println (" ** sdk/shk/bxy **");
|
System.out.println (" ** sdk/shk/bxy **");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
NuFX nuFX = new NuFX (file.toPath ());
|
nuFX = new NuFX (file.toPath ());
|
||||||
if (nuFX.getTotalDisks () == 0 && nuFX.getTotalFiles () == 0)
|
if (nuFX.getTotalDisks () == 0 && nuFX.getTotalFiles () == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
@ -364,7 +366,12 @@ public class DiskFactory
|
|||||||
}
|
}
|
||||||
|
|
||||||
AppleDisk appleDisk256 = new AppleDisk (file, 35, 16);
|
AppleDisk appleDisk256 = new AppleDisk (file, 35, 16);
|
||||||
AppleDisk appleDisk512 = new AppleDisk (file, 35, 8);
|
AppleDisk appleDisk512;
|
||||||
|
|
||||||
|
if (nuFX == null)
|
||||||
|
appleDisk512 = new AppleDisk (file, 35, 8);
|
||||||
|
else
|
||||||
|
appleDisk512 = new AppleDisk (file, 35, 8, nuFX);
|
||||||
|
|
||||||
if (true)
|
if (true)
|
||||||
{
|
{
|
||||||
@ -634,7 +641,12 @@ public class DiskFactory
|
|||||||
{
|
{
|
||||||
System.out.println ("*** extended ***"); // System Addons.hdv
|
System.out.println ("*** extended ***"); // System Addons.hdv
|
||||||
}
|
}
|
||||||
AppleDisk disk = new AppleDisk (file, tracks, 8);
|
AppleDisk disk;
|
||||||
|
if (nuFX == null)
|
||||||
|
disk = new AppleDisk (file, tracks, 8);
|
||||||
|
else
|
||||||
|
disk = new AppleDisk (file, tracks, 8, nuFX);
|
||||||
|
|
||||||
if (ProdosDisk.isCorrectFormat (disk))
|
if (ProdosDisk.isCorrectFormat (disk))
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
|
@ -78,37 +78,6 @@ public class NuFX
|
|||||||
if (record.hasDisk ())
|
if (record.hasDisk ())
|
||||||
++totalDisks;
|
++totalDisks;
|
||||||
}
|
}
|
||||||
|
|
||||||
// printSummary ();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
|
||||||
void printSummary ()
|
|
||||||
// ---------------------------------------------------------------------------------//
|
|
||||||
{
|
|
||||||
System.out.printf (" %s Created:%s Mod:%s Recs:%5d%n%n",
|
|
||||||
volumeName.getFileName (), masterHeader.getCreated2 (),
|
|
||||||
masterHeader.getModified2 (), masterHeader.getTotalRecords ());
|
|
||||||
System.out.println (" Name Type Auxtyp Archived"
|
|
||||||
+ " Fmat Size Un-Length");
|
|
||||||
System.out.println (UNDERLINE);
|
|
||||||
|
|
||||||
int totalUncompressedSize = 0;
|
|
||||||
int totalCompressedSize = 0;
|
|
||||||
|
|
||||||
for (Record record : records)
|
|
||||||
{
|
|
||||||
System.out.println (record.getLine ());
|
|
||||||
totalUncompressedSize += record.getUncompressedSize ();
|
|
||||||
totalCompressedSize += record.getCompressedSize ();
|
|
||||||
}
|
|
||||||
System.out.println (UNDERLINE);
|
|
||||||
|
|
||||||
float pct = 0;
|
|
||||||
if (totalUncompressedSize > 0)
|
|
||||||
pct = totalCompressedSize * 100 / totalUncompressedSize;
|
|
||||||
System.out.printf (" Uncomp:%7d Comp:%7d %%of orig:%3.0f%%%n%n",
|
|
||||||
totalUncompressedSize, totalCompressedSize, pct);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
@ -274,12 +243,35 @@ public class NuFX
|
|||||||
public String toString ()
|
public String toString ()
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
{
|
{
|
||||||
for (Record record : records)
|
StringBuilder text = new StringBuilder ();
|
||||||
for (Thread thread : record.threads)
|
|
||||||
if (thread.hasDisk ())
|
|
||||||
return thread.toString ();
|
|
||||||
|
|
||||||
return "no disk";
|
text.append (String.format (" %s Created:%s Mod:%s Recs:%5d%n%n",
|
||||||
|
volumeName.getFileName (), masterHeader.getCreated2 (),
|
||||||
|
masterHeader.getModified2 (), masterHeader.getTotalRecords ()));
|
||||||
|
|
||||||
|
text.append (" Name Type Auxtyp Archived"
|
||||||
|
+ " Fmat Size Un-Length\n");
|
||||||
|
|
||||||
|
text.append (String.format ("%s%n", UNDERLINE));
|
||||||
|
|
||||||
|
int totalUncompressedSize = 0;
|
||||||
|
int totalCompressedSize = 0;
|
||||||
|
|
||||||
|
for (Record record : records)
|
||||||
|
{
|
||||||
|
text.append (String.format ("%s%n", record.getLine ()));
|
||||||
|
totalUncompressedSize += record.getUncompressedSize ();
|
||||||
|
totalCompressedSize += record.getCompressedSize ();
|
||||||
|
}
|
||||||
|
text.append (String.format ("%s%n", UNDERLINE));
|
||||||
|
|
||||||
|
float pct = 0;
|
||||||
|
if (totalUncompressedSize > 0)
|
||||||
|
pct = totalCompressedSize * 100 / totalUncompressedSize;
|
||||||
|
text.append (String.format (" Uncomp:%7d Comp:%7d %%of orig:%3.0f%%%n%n",
|
||||||
|
totalUncompressedSize, totalCompressedSize, pct));
|
||||||
|
|
||||||
|
return text.toString ();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
@ -343,9 +335,6 @@ public class NuFX
|
|||||||
private String getVolumeName ()
|
private String getVolumeName ()
|
||||||
// -------------------------------------------------------------------------------//
|
// -------------------------------------------------------------------------------//
|
||||||
{
|
{
|
||||||
// if (true)
|
|
||||||
// return volumeName;
|
|
||||||
|
|
||||||
if (rootContainsFiles)
|
if (rootContainsFiles)
|
||||||
return volumeName;
|
return volumeName;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user