Difference between revisions of "NorthStar 10-sector formats"

From DiscFerret
Jump to: navigation, search
(Created page with "Category:Disc formats")
 
Line 1: Line 1:
 
[[Category:Disc formats]]
 
[[Category:Disc formats]]
 +
 +
== Description and common features ==
 +
 +
10-sector hard-sectored formats used by NorthStar NSDOS and CP/M systems (e.g. NorthStar Horizon and NorthStar Advantage).
 +
 +
Two variants are known:
 +
* Single Density (FM)
 +
* Double Density (MFM)
 +
 +
Both formats have 35 tracks, and 10 hardware-defined sectors.
 +
 +
Things still unknown:
 +
* Bit order of data -- is it LSB first, or MSB first?
 +
* Byte order of data -- little or big endian? Does this matter?
 +
*
 +
 +
== Single-density format ==
 +
 +
References: [http://www.hartetechnologies.com/manuals/Northstar/North%20Star%20MDS-A-D%20Double%20Density%20Manual.pdf NorthStar MDS-A-D Manual] (p. 33)
 +
 +
=== Encoding method ===
 +
Frequency Modulation. Two transitions per bit-cell, one clock (always present), one data (present if data bit is a '1', otherwise skipped). Data rate unknown.
 +
 +
=== Track format ===
 +
Each track consists of ten sectors, whose position is specified by hardware (hard-sector index pulses). The NorthStar hardware triggers off of the leading edge of an index pulse, then waits for 96 microseconds to pass before enabling the read/write circuitry (this is the '''post index gap''').
 +
 +
Each sector contains, in order:
 +
* 16 bytes, zeroes. These allow the PLO to synchronise itself to the incoming data stream
 +
* 1 byte synchronisation character. Always 0xFB.
 +
* 256 bytes of data (payload)
 +
* 1 byte check character
 +
 +
==== Check character computation ====
 +
From the NorthStar MDS-A-D Manual:
 +
The check character is computed iteratively by setting it to zero and then exclusive ORing each successive data byte value with the current value of the check character and left cycling the result.
 +
 +
 +
== Double-density format ==
 +
References: [http://www.hartetechnologies.com/manuals/Northstar/North%20Star%20MDS-A-D%20Double%20Density%20Manual.pdf NorthStar MDS-A-D Manual] (p. 33)
 +
 +
=== Encoding method ===
 +
Modified Frequency Modulation. Two transitions per bit-cell, one clock (only present if the previous and current data bits are both zero), one data (present if data bit is a '1', otherwise skipped). Data rate unknown.
 +
 +
=== Track format ===
 +
Each track consists of ten sectors, whose position is specified by hardware (hard-sector index pulses). The NorthStar hardware triggers off of the leading edge of an index pulse, then waits for 96 microseconds to pass before enabling the read/write circuitry (this is the '''post index gap''').
 +
 +
Each sector contains, in order:
 +
* 32 bytes, zeroes. These allow the PLO to synchronise itself to the incoming data stream
 +
* 2 synchronisation bytes. Always 0xFB.
 +
* 256 bytes of data (payload)
 +
* 1 byte check character
 +
 +
The check character is computed as per the Single-Density NorthStar format.

Revision as of 14:04, 1 March 2011


Description and common features

10-sector hard-sectored formats used by NorthStar NSDOS and CP/M systems (e.g. NorthStar Horizon and NorthStar Advantage).

Two variants are known:

  • Single Density (FM)
  • Double Density (MFM)

Both formats have 35 tracks, and 10 hardware-defined sectors.

Things still unknown:

  • Bit order of data -- is it LSB first, or MSB first?
  • Byte order of data -- little or big endian? Does this matter?

Single-density format

References: NorthStar MDS-A-D Manual (p. 33)

Encoding method

Frequency Modulation. Two transitions per bit-cell, one clock (always present), one data (present if data bit is a '1', otherwise skipped). Data rate unknown.

Track format

Each track consists of ten sectors, whose position is specified by hardware (hard-sector index pulses). The NorthStar hardware triggers off of the leading edge of an index pulse, then waits for 96 microseconds to pass before enabling the read/write circuitry (this is the post index gap).

Each sector contains, in order:

  • 16 bytes, zeroes. These allow the PLO to synchronise itself to the incoming data stream
  • 1 byte synchronisation character. Always 0xFB.
  • 256 bytes of data (payload)
  • 1 byte check character

Check character computation

From the NorthStar MDS-A-D Manual:

The check character is computed iteratively by setting it to zero and then exclusive ORing each successive data byte value with the current value of the check character and left cycling the result.


Double-density format

References: NorthStar MDS-A-D Manual (p. 33)

Encoding method

Modified Frequency Modulation. Two transitions per bit-cell, one clock (only present if the previous and current data bits are both zero), one data (present if data bit is a '1', otherwise skipped). Data rate unknown.

Track format

Each track consists of ten sectors, whose position is specified by hardware (hard-sector index pulses). The NorthStar hardware triggers off of the leading edge of an index pulse, then waits for 96 microseconds to pass before enabling the read/write circuitry (this is the post index gap).

Each sector contains, in order:

  • 32 bytes, zeroes. These allow the PLO to synchronise itself to the incoming data stream
  • 2 synchronisation bytes. Always 0xFB.
  • 256 bytes of data (payload)
  • 1 byte check character

The check character is computed as per the Single-Density NorthStar format.