2020-04-12 02:22:08 +00:00
|
|
|
package com.bytezone.diskbrowser.disk;
|
|
|
|
|
2020-06-26 03:29:46 +00:00
|
|
|
import com.bytezone.diskbrowser.utilities.Utility;
|
2020-04-12 02:22:08 +00:00
|
|
|
|
|
|
|
// http://apple2.org.za/gswv/a2zine/Docs/DiskImage_2MG_Info.txt
|
|
|
|
// -----------------------------------------------------------------------------------//
|
|
|
|
public class Prefix2mg
|
|
|
|
// -----------------------------------------------------------------------------------//
|
|
|
|
{
|
|
|
|
String prefix;
|
|
|
|
String creator;
|
|
|
|
int headerSize;
|
|
|
|
int version;
|
|
|
|
byte format;
|
|
|
|
int diskData;
|
|
|
|
int blocks;
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------//
|
|
|
|
public Prefix2mg (byte[] buffer)
|
|
|
|
// ---------------------------------------------------------------------------------//
|
|
|
|
{
|
|
|
|
prefix = new String (buffer, 0, 4);
|
|
|
|
creator = new String (buffer, 4, 4);
|
|
|
|
headerSize = Utility.getWord (buffer, 8);
|
|
|
|
version = Utility.getWord (buffer, 10);
|
|
|
|
format = buffer[12];
|
|
|
|
|
|
|
|
diskData = Utility.getLong (buffer, 28);
|
2020-06-26 03:29:46 +00:00
|
|
|
blocks = Utility.intValue (buffer[20], buffer[21]); // 1600
|
2020-04-12 02:22:08 +00:00
|
|
|
|
|
|
|
// see /Asimov disks/images/gs/os/prodos16/ProDOS 16v1_3.2mg
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------//
|
|
|
|
@Override
|
|
|
|
public String toString ()
|
|
|
|
// ---------------------------------------------------------------------------------//
|
|
|
|
{
|
|
|
|
StringBuilder text = new StringBuilder ();
|
|
|
|
|
|
|
|
text.append (String.format ("Prefix : %s%n", prefix));
|
|
|
|
text.append (String.format ("Creator : %s%n", creator));
|
|
|
|
text.append (String.format ("Header : %d%n", headerSize));
|
|
|
|
text.append (String.format ("Version : %d%n", version));
|
|
|
|
text.append (String.format ("Format : %02X%n", format));
|
|
|
|
|
|
|
|
text.append (String.format ("Data size : %08X (%<,d)%n", diskData));
|
|
|
|
text.append (String.format ("Blocks : %,d%n", blocks));
|
|
|
|
|
|
|
|
return text.toString ();
|
|
|
|
}
|
|
|
|
}
|