com.webcodepro.applecommander.storage.os.dos33
Class OzDosFormatDisk

java.lang.Object
  extended by com.webcodepro.applecommander.storage.Disk
      extended by com.webcodepro.applecommander.storage.FormattedDisk
          extended by com.webcodepro.applecommander.storage.os.dos33.DosFormatDisk
              extended by com.webcodepro.applecommander.storage.os.dos33.OzDosFormatDisk
All Implemented Interfaces:
DirectoryEntry

public class OzDosFormatDisk
extends DosFormatDisk

Manages a disk that is in OzDOS format. This is basically DOS 3.3 except that the disk has two volumes of each 400K. Logical disk one takes the first part of the block (bytes $000-$0FF) while the second logical disk takes the second part of a block (bytes $100-$1FF).
Created on Dec 16, 2002.

Author:
Rob Greene

Nested Class Summary
 
Nested classes/interfaces inherited from class com.webcodepro.applecommander.storage.FormattedDisk
FormattedDisk.DiskInformation, FormattedDisk.DiskUsage, FormattedDisk.FileColumnHeader
 
Nested classes/interfaces inherited from class com.webcodepro.applecommander.storage.Disk
Disk.FilenameFilter
 
Field Summary
static int OZDOS_DISK_1
          Use this indicator to work with logical disk #1.
static int OZDOS_DISK_2
          Use this indicator to work with logical disk #2.
 
Fields inherited from class com.webcodepro.applecommander.storage.os.dos33.DosFormatDisk
CATALOG_TRACK, SECTOR_LOCATION_INDEX, TRACK_LOCATION_INDEX, TRACK_SECTOR_PAIRS, VTOC_SECTOR
 
Fields inherited from class com.webcodepro.applecommander.storage.FormattedDisk
FILE_DISPLAY_DETAIL, FILE_DISPLAY_NATIVE, FILE_DISPLAY_STANDARD
 
Fields inherited from class com.webcodepro.applecommander.storage.Disk
APPLE_10MB_HARDDISK, APPLE_140KB_DISK, APPLE_140KB_NIBBLE_DISK, APPLE_20MB_HARDDISK, APPLE_32MB_HARDDISK, APPLE_5MB_HARDDISK, APPLE_800KB_2IMG_DISK, APPLE_800KB_DISK, BLOCK_SIZE, DOS33_SECTORS_ON_140KB_DISK, PRODOS_BLOCKS_ON_140KB_DISK, SECTOR_SIZE
 
Constructor Summary
OzDosFormatDisk(java.lang.String filename, ImageOrder imageOrder, int logicalOffset)
          Constructor for OzDosFormatDisk.
 
Method Summary
static DosFormatDisk[] create(java.lang.String filename, ImageOrder imageOrder)
          Create a OzDosFormatDisk.
 void format()
          Format the disk as OzDOS.
protected  int getBlockNumber(int track, int sector)
          Compute the block number.
 java.lang.String getDiskName()
          Answer with the name of this disk.
 int getLogicalDiskNumber()
          Returns the logical disk number.
 byte[] readSector(int track, int sector)
          Retrieve the specified sector.
 void writeSector(int track, int sector, byte[] bytes)
          Write the specified sector.
 
Methods inherited from class com.webcodepro.applecommander.storage.os.dos33.DosFormatDisk
canCreateDirectories, canCreateFile, canDeleteFile, canHaveDirectories, canReadFileData, canWriteFileData, changeImageOrder, checkRange, createDirectory, createFile, format, freeSectors, getBitmapDimensions, getBitmapLabels, getBitmapLength, getDiskInformation, getDiskUsage, getFileColumnHeaders, getFileData, getFiles, getFiletypes, getFormat, getFreeMapBit, getFreeMapByte, getFreeSectors, getFreeSpace, getSectors, getSuggestedFilename, getSuggestedFiletype, getTotalSectors, getTracks, getUsedSectors, getUsedSpace, isSectorFree, isSectorUsed, needsAddress, readVtoc, setFileData, setFileData, setSectorFree, setSectorUsed, supportsDeletedFiles, supportsDiskMap, writeVtoc
 
Methods inherited from class com.webcodepro.applecommander.storage.FormattedDisk
getFile, getFile, getFormattedDisk, resizeDiskImage, writeBootCode
 
Methods inherited from class com.webcodepro.applecommander.storage.Disk
getDiskImageManager, getFilename, getFilenameFilters, getFormattedDisks, getImageOrder, getPhysicalSize, hasChanged, is140KbDisk, is2ImgOrder, is800KbDisk, isCompressed, isCpmFormat, isDosFormat, isDosOrder, isNewImage, isNibbleOrder, isOzDosFormat, isPascalFormat, isProdosFormat, isProdosOrder, isRdosFormat, isUniDosFormat, readBlock, resizeDiskImage, save, saveAs, setFilename, setImageOrder, writeBlock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OZDOS_DISK_1

public static final int OZDOS_DISK_1
Use this indicator to work with logical disk #1. It is essentially the offset into the block.

See Also:
Constant Field Values

OZDOS_DISK_2

public static final int OZDOS_DISK_2
Use this indicator to work with logical disk #2. It is essentially the offset into the block.

See Also:
Constant Field Values
Constructor Detail

OzDosFormatDisk

public OzDosFormatDisk(java.lang.String filename,
                       ImageOrder imageOrder,
                       int logicalOffset)
Constructor for OzDosFormatDisk.

Method Detail

create

public static DosFormatDisk[] create(java.lang.String filename,
                                     ImageOrder imageOrder)
Create a OzDosFormatDisk.


getDiskName

public java.lang.String getDiskName()
Answer with the name of this disk.

Overrides:
getDiskName in class DosFormatDisk
See Also:
FormattedDisk.getDiskName()

getLogicalDiskNumber

public int getLogicalDiskNumber()
Returns the logical disk number. This can be used to identify between disks when a format supports multiple logical volumes.

Overrides:
getLogicalDiskNumber in class DosFormatDisk

format

public void format()
Format the disk as OzDOS.

Overrides:
format in class DosFormatDisk
See Also:
FormattedDisk.format()

readSector

public byte[] readSector(int track,
                         int sector)
                  throws java.lang.IllegalArgumentException
Retrieve the specified sector.

Overrides:
readSector in class Disk
Throws:
java.lang.IllegalArgumentException

writeSector

public void writeSector(int track,
                        int sector,
                        byte[] bytes)
                 throws java.lang.IllegalArgumentException
Write the specified sector.

Overrides:
writeSector in class Disk
Throws:
java.lang.IllegalArgumentException

getBlockNumber

protected int getBlockNumber(int track,
                             int sector)
Compute the block number.