diff --git a/README.md b/README.md index 35658cb..e55d1d8 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Java runs on Windows, MacOS and Linux. ![Graphics](resources/graphics.png?raw=true "Graphics") #### Applesoft Formatting and Analysis Applesoft programs are displayed in a modern, easily-readable format. A comprehensive cross-listing of variables, strings, calls and jumps is available. Easily find duplicate variable names. -For the truly retro look, programs can be displayed in the original 40-column line wrap mode. +For the truly retro look, programs can be displayed in the [original 40-column line wrap](resources/basic.md) mode. ![Applesoft](resources/basic.png?raw=true "Applesoft") #### Pascal code ![Pascal](resources/pascal.png?raw=true "Pascal") diff --git a/resources/basic.md b/resources/basic.md new file mode 100644 index 0000000..19da3b0 --- /dev/null +++ b/resources/basic.md @@ -0,0 +1,8 @@ +###Applesoft program listing +Programs can be displayed in a variety of formats. +-Original but ugly +![Original](resources/basic1.png?raw=true "Truly awful") +-Some improvements +![Better](resources/basic2.png?raw=true "Better") +-Split lines +![Best](resources/basic3.png?raw=true "Best") \ No newline at end of file diff --git a/resources/basic1.png b/resources/basic1.png new file mode 100644 index 0000000..1a9383f Binary files /dev/null and b/resources/basic1.png differ diff --git a/resources/basic2.png b/resources/basic2.png new file mode 100644 index 0000000..91d2337 Binary files /dev/null and b/resources/basic2.png differ diff --git a/resources/basic3.png b/resources/basic3.png new file mode 100644 index 0000000..916eff9 Binary files /dev/null and b/resources/basic3.png differ diff --git a/src/com/bytezone/diskbrowser/disk/DiskFactory.java b/src/com/bytezone/diskbrowser/disk/DiskFactory.java index 313785d..13a7b8d 100755 --- a/src/com/bytezone/diskbrowser/disk/DiskFactory.java +++ b/src/com/bytezone/diskbrowser/disk/DiskFactory.java @@ -1,5 +1,6 @@ package com.bytezone.diskbrowser.disk; +import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -23,6 +24,7 @@ import com.bytezone.diskbrowser.nufx.NuFX; import com.bytezone.diskbrowser.pascal.PascalDisk; import com.bytezone.diskbrowser.prodos.ProdosDisk; import com.bytezone.diskbrowser.utilities.FileFormatException; +import com.bytezone.diskbrowser.utilities.HexFormatter; import com.bytezone.diskbrowser.utilities.Utility; import com.bytezone.diskbrowser.wizardry.Wizardry4BootDisk; import com.bytezone.diskbrowser.wizardry.WizardryScenarioDisk; @@ -209,6 +211,14 @@ public class DiskFactory return null; } } + else if ("bsq".equals (suffix)) + { + if (debug) + System.out.println (" ** bsq **"); + byte[] prefix = getPrefix (file); + System.out.println (HexFormatter.format (prefix)); + String key = "FiLeStArTfIlEsTaRt"; + } FormattedDisk disk = null; FormattedDisk disk2 = null; @@ -932,4 +942,22 @@ public class DiskFactory return null; } + + // ---------------------------------------------------------------------------------// + private static byte[] getPrefix (File file) + // ---------------------------------------------------------------------------------// + { + byte[] buffer = new byte[1024]; + try (BufferedInputStream bis = new BufferedInputStream (new FileInputStream (file))) + { + bis.read (buffer); + } + catch (IOException e) + { + e.printStackTrace (); + System.exit (1); + } + + return buffer; + } } \ No newline at end of file diff --git a/src/com/bytezone/diskbrowser/gui/DiskLayoutPanel.java b/src/com/bytezone/diskbrowser/gui/DiskLayoutPanel.java index 39a1057..14706ea 100644 --- a/src/com/bytezone/diskbrowser/gui/DiskLayoutPanel.java +++ b/src/com/bytezone/diskbrowser/gui/DiskLayoutPanel.java @@ -263,7 +263,7 @@ class DiskLayoutPanel extends JPanel implements DiskSelectionListener, private void checkCorrectDisk (FormattedDisk newDisk) { if (newDisk instanceof HybridDisk) - newDisk = ((HybridDisk) newDisk).getCurrentDisk (); // never set to a Dual-dos disk + newDisk = ((HybridDisk) newDisk).getCurrentDisk (); // never set to a hybrid disk if (newDisk != diskLayoutImage.getDisk ()) { LayoutDetails layout = new LayoutDetails (newDisk); diff --git a/src/com/bytezone/diskbrowser/nufx/compression.txt b/src/com/bytezone/diskbrowser/nufx/compression.txt index 949756a..2275823 100644 --- a/src/com/bytezone/diskbrowser/nufx/compression.txt +++ b/src/com/bytezone/diskbrowser/nufx/compression.txt @@ -24,4 +24,8 @@ StuffIt from America Online . . | .SIT | U | Macintosh Zoo . . . . . . . . . . . . . . | .ZOO | U | IBM PC, Amiga, Atari ST, | | | Unix systems ARC . . . . . . . . . . . . . . | .ARC | U | IBM PC, Amiga, Atari ST -Compress . . . . . . . . . . . | .Z | U | Unix Systems \ No newline at end of file +Compress . . . . . . . . . . . | .Z | U | Unix Systems + + +see also: +http://fileformats.archiveteam.org/wiki/Squeeze \ No newline at end of file