Record Class DiskMarker

java.lang.Object
java.lang.Record
org.applecommander.device.nibble.DiskMarker

public record DiskMarker(int sectorsOnTrack, NibbleDiskCodec codec, int[] addressProlog, int[] addressEpilog, int[] dataProlog, int[] dataEpilog) extends Record
A disk marker is just the prolog and epilog bytes for the address field and data field. It also serves as the keeper of expected sectors and codec.
  • Constructor Details

    • DiskMarker

      public DiskMarker(int sectorsOnTrack, NibbleDiskCodec codec, int[] addressProlog, int[] addressEpilog, int[] dataProlog, int[] dataEpilog)
      Creates an instance of a DiskMarker record class.
      Parameters:
      sectorsOnTrack - the value for the sectorsOnTrack record component
      codec - the value for the codec record component
      addressProlog - the value for the addressProlog record component
      addressEpilog - the value for the addressEpilog record component
      dataProlog - the value for the dataProlog record component
      dataEpilog - the value for the dataEpilog record component
  • Method Details

    • disk525sector16

      public static DiskMarker disk525sector16()
    • disk525sector13

      public static DiskMarker disk525sector13()
    • build

      public static DiskMarker.Builder build(int sectorsOnTrack)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • sectorsOnTrack

      public int sectorsOnTrack()
      Returns the value of the sectorsOnTrack record component.
      Returns:
      the value of the sectorsOnTrack record component
    • codec

      public NibbleDiskCodec codec()
      Returns the value of the codec record component.
      Returns:
      the value of the codec record component
    • addressProlog

      public int[] addressProlog()
      Returns the value of the addressProlog record component.
      Returns:
      the value of the addressProlog record component
    • addressEpilog

      public int[] addressEpilog()
      Returns the value of the addressEpilog record component.
      Returns:
      the value of the addressEpilog record component
    • dataProlog

      public int[] dataProlog()
      Returns the value of the dataProlog record component.
      Returns:
      the value of the dataProlog record component
    • dataEpilog

      public int[] dataEpilog()
      Returns the value of the dataEpilog record component.
      Returns:
      the value of the dataEpilog record component