Pasti file Reader-Writer  1.0
Pasti files
Public Member Functions | Public Attributes | List of all members
Pasti.SectorDesc Class Reference

Pasti File Sector Descriptor More...

Public Member Functions

override string ToString ()
 Override ToString() to display Pasti Sector descriptor information More...
 

Public Attributes

uint dataOffset
 Offset of sector data inside the track record More...
 
ushort bitPosition
 This field store the position in number of bits of this sector address block from the index More...
 
ushort readTime
 This field contains either zero or the read time for the sector data block. More...
 
IDField id = new IDField()
 Address field of sector (refer to the Address structure) More...
 
byte fdcFlags
 This field contains a mixture of the FDC status, as it would have been read by the WD1772, and other flags used to interpret the track record content. More...
 
byte reserved
 Reserved (should be 0x00) More...
 
const byte REC_TYPE = 0x20
 Record Type (1 = deleted data) More...
 
const byte SECT_RNF = 0x10
 RNF or Seek error More...
 
const byte CRC_ERR = 0x08
 CRC Error (in Data if RNF=0 else in ID) More...
 
const byte FUZZY_BITS = 0x80
 Sector has Fuzzy Bits More...
 
const byte BIT_WIDTH = 0x01
 Sector has bit width variation More...
 

Detailed Description

Pasti File Sector Descriptor

Following the Track descriptor we find an optional set of records used to provide additional information about all the sectors of a track. These descriptors are only present if bit 0 of the track descriptor TrackFlags is set. The number of sector descriptors is equal to the sectorCount field in the track descriptor. Each Sector Descriptor is 16 bytes long. There is one sector image info structure for each sector found in the track.

Definition at line 173 of file PastiStruct.cs.

Member Function Documentation

override string Pasti.SectorDesc.ToString ( )
inline

Override ToString() to display Pasti Sector descriptor information

Returns
The string

Definition at line 233 of file PastiStruct.cs.

Member Data Documentation

const byte Pasti.SectorDesc.BIT_WIDTH = 0x01

Sector has bit width variation

Definition at line 227 of file PastiStruct.cs.

ushort Pasti.SectorDesc.bitPosition

This field store the position in number of bits of this sector address block from the index

If you multiply this value by 4 you will get roughly the time it takes in micro-sec to reach the sector address block.

Definition at line 182 of file PastiStruct.cs.

const byte Pasti.SectorDesc.CRC_ERR = 0x08

CRC Error (in Data if RNF=0 else in ID)

Definition at line 221 of file PastiStruct.cs.

uint Pasti.SectorDesc.dataOffset

Offset of sector data inside the track record

The Track Data record is located just after the optional Sector descriptor and Fuzzy Mask record. Therefore we have sector_data_position = track_data_position + dataOffset. This can point either inside a Track image or to a sector image.

Definition at line 179 of file PastiStruct.cs.

byte Pasti.SectorDesc.fdcFlags

This field contains a mixture of the FDC status, as it would have been read by the WD1772, and other flags used to interpret the track record content.

  • Bit 7: When set the sector contains fuzzy bits described by a Fuzzy Mask record.
  • Bit 6: not used
  • Bit 5: FDC Record Type (1 = deleted data, 0 = normal data)
  • Bit 4: FDC RNF (record not found). When set the sector contains only an address block but no associated data block. In that case there is no data information associated to this descriptor.
  • Bit 3: FDC CRC error. If RNF=0 it indicates a CRC error in the data field if RNF=1 it indicates a CRC error in address field.
  • Bit 1-2: not used
  • Bit 0: Intra-sector bit width variation. This flag is used to indicate a protection based on bit width variation inside a sector. Currently the only known protection of this type is Macrodos/Speedlock
    • If the revision number of the File descriptor is 0 the macrodos/speedlock protection is assumed. In that case an internal table needs to be used to simulate the Macrodos/Speedlock bit width variation.
    • If the revision number in the File descriptor is 2 the track record contains an extra Timing record following the Track Data record. This allow a more precise description of the bit width variations and is therefore more open if in the future another kind of intra-sector bit width variation protection is discovered.

Definition at line 211 of file PastiStruct.cs.

const byte Pasti.SectorDesc.FUZZY_BITS = 0x80

Sector has Fuzzy Bits

Definition at line 225 of file PastiStruct.cs.

IDField Pasti.SectorDesc.id = new IDField()

Address field of sector (refer to the Address structure)

Definition at line 191 of file PastiStruct.cs.

ushort Pasti.SectorDesc.readTime

This field contains either zero or the read time for the sector data block.

  • If the value measured by the imaging tool is within 2% of the standard sector read time (16384 us = 512 * 32 micro-sec) the value written is 0 to indicate a sector with "standard" timing.
  • Otherwise the measured value in micro-sec is directly stored.

Definition at line 189 of file PastiStruct.cs.

const byte Pasti.SectorDesc.REC_TYPE = 0x20

Record Type (1 = deleted data)

Definition at line 217 of file PastiStruct.cs.

byte Pasti.SectorDesc.reserved

Reserved (should be 0x00)

Definition at line 213 of file PastiStruct.cs.

const byte Pasti.SectorDesc.SECT_RNF = 0x10

RNF or Seek error

Definition at line 219 of file PastiStruct.cs.


The documentation for this class was generated from the following file: