Interface DiskFactory

All Known Implementing Classes:
CpmDiskFactory, DosDiskFactory, GutenbergDiskFactory, NakedosDiskFactory, PascalDiskFactory, ProdosDiskFactory, RdosDiskFactory

public interface DiskFactory
The DiskFactory inspects a given Source to see if it matches filesystem structure(s). Invoke via Disks.inspect(Source) which will return a Context. The Context _can be empty_. If this is the case, devices can be created via the DiskFactory.Context.blockDevice() and DiskFactory.Context.trackSectorDevice() builders.
The builders follow the observation about what each filesystem currently uses:
OS         13-sector  16-sector   800K    HDV
=========  =========  ==========  ======  ========
CP/M       -          CP/M        -       -
DOS        Physical   DOS         Pascal  -
Gutenberg  -          DOS         -       -
NakeDOS    -          Physical    -       -
Pascal     -          Pascal      Pascal  -
ProDOS     -          Pascal      Pascal  Pascal
RDOS       Physical   DOS         -       -
  • 13-sector disks are only track/sector devices. (And RDOS has a unique mapping to 256 byte blocks).
  • 16-sector disks have a variety of sector mappings. It can also double as a "standard" 512 byte block, as well as a unique CP/M 1024 block device.
  • 800K disks are only standard 512 byte block (Prodos or Pascal). OzDOS and UniDOS do have unique mappings to track and sector, but logically, they are block devices.
  • Anything else (larger than 800K) are "hard-disk" images and only blocks.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void