From 9f9580f4ca7a977bc8899c5b30ff90608e3f7650 Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Tue, 19 May 2020 18:22:47 +1000 Subject: [PATCH] forgot this --- .../diskbrowser/applefile/PascalArea.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/com/bytezone/diskbrowser/applefile/PascalArea.java diff --git a/src/com/bytezone/diskbrowser/applefile/PascalArea.java b/src/com/bytezone/diskbrowser/applefile/PascalArea.java new file mode 100644 index 0000000..e12915f --- /dev/null +++ b/src/com/bytezone/diskbrowser/applefile/PascalArea.java @@ -0,0 +1,53 @@ +package com.bytezone.diskbrowser.applefile; + +import com.bytezone.diskbrowser.utilities.HexFormatter; + +// -----------------------------------------------------------------------------------// +public class PascalArea extends AbstractFile +// -----------------------------------------------------------------------------------// +{ + int size; + int volumes; + String ppmName; + int start; + int length; + int defaultUnit; + boolean writeProtected; + int oldDriver; + + // ---------------------------------------------------------------------------------// + public PascalArea (String name, byte[] buffer) + // ---------------------------------------------------------------------------------// + { + super (name, buffer); + + size = HexFormatter.unsignedShort (buffer, 0); + volumes = HexFormatter.unsignedShort (buffer, 2); + ppmName = HexFormatter.getPascalString (buffer, 4); + start = HexFormatter.unsignedShort (buffer, 8); + length = HexFormatter.unsignedShort (buffer, 11); + defaultUnit = buffer[13] & 0xFF; + oldDriver = HexFormatter.unsignedShort (buffer, 14); + // writeProtected = buffer[12] != 0; + } + + // ---------------------------------------------------------------------------------// + @Override + public String getText () + // ---------------------------------------------------------------------------------// + { + StringBuilder text = new StringBuilder (getHeader ()); + + text.append (String.format ("Size ............. %04X (%<,d)%n", size)); + text.append (String.format ("Volumes .......... %04X%n", volumes)); + text.append (String.format ("PPM .............. %s%n", ppmName)); + text.append (String.format ("Start ............ %04X (%<,d)%n", start)); + text.append (String.format ("Length ........... %04X (%<,d)%n", length)); + text.append (String.format ("Default Unit ..... %d%n", defaultUnit)); + text.append ( + String.format ("Write Protected .. %s%n", writeProtected ? "True" : "False")); + text.append (String.format ("Old driver ....... %04X (%<,d)%n", oldDriver)); + + return text.toString (); + } +}