meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
adv:hardsectorconf [2022/06/07 05:34] – diskblitz | adv:hardsectorconf [2023/06/12 13:11] (current) – Add sectorVerify david-schmidt | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Adding Support for a Hard Sectored Disk Format ====== | ====== Adding Support for a Hard Sectored Disk Format ====== | ||
+ | As of Applesauce 1.66, it is possible for users to be able to add their own format definitions to be used by Applesauce. When you add a format, it will automatically be recognized everywhere in the client software such as the Disk Analyzer and Fast Imager. In order to add new formats, there is an Applesauce directory in your Documents folder. Within this folder there is a Formats one that contains the file '' | ||
+ | |||
+ | Creating a format definition is a highly technical process and if you are not very familiar with how disks are structured, this will likely seem a daunting task. | ||
The hard sector configuration files are text files in JSON format. The root object of the JSON should be an array. A single file can have as may format descriptions as desired. | The hard sector configuration files are text files in JSON format. The root object of the JSON should be an array. A single file can have as may format descriptions as desired. | ||
Line 10: | Line 13: | ||
=== name === | === name === | ||
String - // | String - // | ||
- | This is a descriptive name of the format. It is only used for informational purposes. | + | This is a descriptive name of the format. It must be unique, but otherwise |
- | ex: ''" | + | ex: ''" |
=== settings === | === settings === | ||
Line 20: | Line 23: | ||
ex: ''" | ex: ''" | ||
+ | === fastname === | ||
+ | String - // | ||
+ | This is used by the Fast Imager when displaying the name of this format. | ||
+ | |||
+ | ex: ''" | ||
=== export === | === export === | ||
Line 26: | Line 34: | ||
ex: ''" | ex: ''" | ||
+ | |||
+ | === enabled === | ||
+ | [Boolean] - // | ||
+ | Set to '' | ||
+ | |||
+ | ex: ''" | ||
Line 148: | Line 162: | ||
ex: ''" | ex: ''" | ||
+ | |||
+ | === addrMarkerBitMask === | ||
+ | String - // | ||
+ | Address field marker bit mask to apply - value in hex. | ||
+ | |||
+ | ex: ''" | ||
=== addrFieldSize === | === addrFieldSize === | ||
Line 166: | Line 186: | ||
|16add|16-bit add| | |16add|16-bit add| | ||
|12adc|16-bit add with carry| | |12adc|16-bit add with carry| | ||
- | |crc16|IBM 3740 16-bit | + | |crc16|16-bit |
ex: ''" | ex: ''" | ||
- | === dataCksumIndex | + | === addrCksumIndex |
Int - // | Int - // | ||
Byte index of the start of the stored checksum relative to the address marker (0 = address marker). | Byte index of the start of the stored checksum relative to the address marker (0 = address marker). | ||
- | ex: ''" | + | ex: ''" |
=== addrCksumByteSize === | === addrCksumByteSize === | ||
Line 202: | Line 222: | ||
Byte index of the last byte of the address field that needs to be checksummed, | Byte index of the last byte of the address field that needs to be checksummed, | ||
- | ex: ''" | + | ex: ''" |
=== addrCksumInit === | === addrCksumInit === | ||
Line 215: | Line 235: | ||
ex: ''" | ex: ''" | ||
+ | |||
+ | === addrCksumPoly === | ||
+ | Int\\ | ||
+ | A 32-bit value that is the polynomial to be used for CRC checksums. If no value is provided, then it defaults to '' | ||
+ | |||
+ | ex: ''" | ||
+ | |||
+ | === addrCksumRefIn === | ||
+ | Boolean\\ | ||
+ | If '' | ||
+ | |||
+ | ex: ''" | ||
+ | |||
+ | === addrCksumRefOut === | ||
+ | Boolean\\ | ||
+ | If '' | ||
+ | |||
+ | ex: ''" | ||
=== addrEpilog === | === addrEpilog === | ||
Line 279: | Line 317: | ||
=== trackVerify === | === trackVerify === | ||
Boolean - //Only used if trackDerived is " | Boolean - //Only used if trackDerived is " | ||
- | Set to true if you would like to validate that the track number matches the physical track number. If no value is provided, then it defaults to '' | + | Set to '' |
ex: ''" | ex: ''" | ||
Line 327: | Line 365: | ||
ex: ''" | ex: ''" | ||
+ | |||
+ | === sectorVerify === | ||
+ | Boolean - //Only used if sectorDerived is " | ||
+ | Set to '' | ||
+ | |||
+ | ex: ''" | ||
---- | ---- | ||
Line 342: | Line 386: | ||
ex: ''" | ex: ''" | ||
+ | |||
+ | === dataMarkerBitMask === | ||
+ | String - // | ||
+ | Data field marker bit mask to apply - value in hex. The length of the bit mask should equal the length of the marker. | ||
+ | |||
+ | ex: ''" | ||
=== dataStartIndex === | === dataStartIndex === | ||
Line 366: | Line 416: | ||
|16add|16-bit add| | |16add|16-bit add| | ||
|12adc|16-bit add with carry| | |12adc|16-bit add with carry| | ||
- | |crc16|IBM 3740 16-bit | + | |crc16|16-bit |
ex: ''" | ex: ''" | ||
Line 415: | Line 465: | ||
ex: ''" | ex: ''" | ||
+ | |||
+ | === dataCksumPoly === | ||
+ | Int\\ | ||
+ | A 32-bit value that is the polynomial to be used for CRC checksums. If no value is provided, then it defaults to '' | ||
+ | |||
+ | ex: ''" | ||
+ | |||
+ | === dataCksumRefIn === | ||
+ | Boolean\\ | ||
+ | If '' | ||
+ | |||
+ | ex: ''" | ||
+ | |||
+ | === dataCksumRefOut === | ||
+ | Boolean\\ | ||
+ | If '' | ||
+ | |||
+ | ex: ''" | ||
=== dataEpilog === | === dataEpilog === |