dmolony-DiskBrowser/src/com/bytezone/diskbrowser/nib/NibFile.java

65 lines
1.5 KiB
Java

package com.bytezone.diskbrowser.nib;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class NibFile
{
// private final Nibblizer nibbler;
public final File file;
int tracks;
int actualTracks;
final byte[] diskBuffer = new byte[4096 * 35];
// .nib files are 232,960 bytes
// 6,656 bytes x 35 tracks (0x1A00)
// add 'nib' to Utility.suffixes to allow nib files to be selected
public NibFile (File file)
{
this.file = file;
byte[] trackBuffer = new byte[6656];
// nibbler = new Nibblizer (file);
try
{
BufferedInputStream in = new BufferedInputStream (new FileInputStream (file));
byte[] test = { (byte) 0xD5, (byte) 0xAA, (byte) 0xB5 };
for (int i = 0; i < 35; i++)
{
in.read (trackBuffer);
int offset = 0;
while (true)
{
offset = Nibblizer.findBytes (trackBuffer, offset, test);
if (offset < 0)
break;
System.out.printf ("found at %04X%n", offset);
++offset;
}
break; // just examine the first track
}
in.close ();
}
catch (IOException e)
{
e.printStackTrace ();
}
}
// ---------------------------------------------------------------------------------//
// getDiskBuffer
// ---------------------------------------------------------------------------------//
public byte[] getDiskBuffer ()
{
return diskBuffer;
}
}