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

31 lines
948 B
Java
Raw Normal View History

2018-08-17 01:20:00 +00:00
package com.bytezone.diskbrowser.nib;
2018-08-11 00:07:50 +00:00
public abstract class DiskReader
{
static final int BLOCK_SIZE = 256;
static final byte[] dataPrologue = { (byte) 0xD5, (byte) 0xAA, (byte) 0xAD };
2018-08-11 04:12:21 +00:00
final int sectorsPerTrack;
2018-08-11 00:07:50 +00:00
// ---------------------------------------------------------------------------------//
// constructor
// ---------------------------------------------------------------------------------//
DiskReader (int sectorsPerTrack)
{
this.sectorsPerTrack = sectorsPerTrack;
}
// ---------------------------------------------------------------------------------//
// abstract functions
// ---------------------------------------------------------------------------------//
2018-08-13 09:17:05 +00:00
abstract byte[] decodeSector (byte[] buffer) throws DiskNibbleException;
2018-08-11 00:07:50 +00:00
abstract byte[] encodeSector (byte[] buffer);
2018-08-13 09:17:05 +00:00
abstract void storeBuffer (RawDiskSector diskSector, byte[] diskBuffer);
2018-08-11 00:07:50 +00:00
abstract int expectedDataSize ();
}