Skip to content
LuigiBlood edited this page Jul 31, 2016 · 1 revision

THIS PAGE IS FULL OF SHIT, WILL BE REDONE

Disk Format

A disk contains 2 heads (top and bottom), each 8 different zones:

  • Head 0: Zone 0 to 7
  • Head 1: Zone 1 to 8

Those are physical zones, read from the periphery to the center of the disk.

Each zone has a specific number of tracks depending on the head, which each contains 2 blocks:

  • Head 0
  • Zone 0: 146 tracks, 292 blocks total (including System Area)
  • Zone 1: 146 tracks, 292 blocks total
  • Zone 2: 137 tracks, 274 blocks total
  • Zone 3: 137 tracks, 274 blocks total
  • Zone 4: 137 tracks, 274 blocks total
  • Zone 5: 137 tracks, 274 blocks total
  • Zone 6: 137 tracks, 274 blocks total
  • Zone 7: 102 tracks, 204 blocks total
  • Head 1
  • Zone 1: 146 tracks, 292 blocks total
  • Zone 2: 146 tracks, 292 blocks total
  • Zone 3: 137 tracks, 274 blocks total
  • Zone 4: 137 tracks, 274 blocks total
  • Zone 5: 137 tracks, 274 blocks total
  • Zone 6: 137 tracks, 274 blocks total
  • Zone 7: 137 tracks, 274 blocks total
  • Zone 8: 102 tracks, 204 blocks total

A total of 2158 (0x86E) tracks, for a total of 4316 (0x10DC) blocks.

Sector Size

  • Zone 0: 232 bytes
  • Zone 1: 216 bytes (-16)
  • Zone 2: 208 bytes (- 8)
  • Zone 3: 192 bytes (-16)
  • Zone 4: 176 bytes (-16)
  • Zone 5: 160 bytes (-16)
  • Zone 6: 144 bytes (-16)
  • Zone 7: 128 bytes (-16)
  • Zone 8: 112 bytes (-16)

You can also add up 7 bytes of C1 correction data, which is automatically done by the 64DD hardware, unlike C2 correction which needs to be done by the N64 software.

The number of sectors in each block is constant:

  • 85 User Sectors
  • 4 C2 Correction Sectors
  • 1 Gap Sector

Brings us to a total of 90 sectors..

Block Size (User Data only)

  • Zone 0: 19720 bytes
  • Zone 1: 18360 bytes
  • Zone 2: 17680 bytes
  • Zone 3: 16320 bytes
  • Zone 4: 14960 bytes
  • Zone 5: 13600 bytes
  • Zone 6: 12240 bytes
  • Zone 7: 10880 bytes
  • Zone 8: 9520 bytes

Total Disk Size (User Data only)

Total Disk Size including System Data: 64931840 bytes (0x3DEC800).

Disk Areas and Types

The disk is made of 2 different areas:

  • ROM Area
  • System Data: Actually hidden by the SDK for access, it contains TOC, Disk ID and other things.
  • User Data (ROM): Contains generic data. Cannot be rewritten on a retail disk.
  • RAM Area
  • User Data (RAM): Contains generic saved data.

Both ROM and RAM areas have different sizes, depending on the Disk Types, which tells which zones are ROM/RAM:

  • Type 0: ROM Zone 02 - RAM Zone 38
  • Type 1: ROM Zone 03 - RAM Zone 48
  • Type 2: ROM Zone 04 - RAM Zone 58
  • Type 3: ROM Zone 05 - RAM Zone 68
  • Type 4: ROM Zone 06 - RAM Zone 78
  • Type 5: ROM Zone 0~7 - RAM Zone 8
  • Type 6: ROM Zone 0~8 (ROM ONLY)

Disk Access via 64DD library software

Disk Zone Order

Keep in mind that the 64DD library reads the ROM AREA FIRST no matter what.
Let me take an exemple from which order zones are read from Disk Type 0:

  • ROM area
  • Head 0, Zone 0
  • Head 0, Zone 1
  • Head 0, Zone 2
  • Head 1, Zone 2
  • Head 1, Zone 1
  • RAM area
  • Head 0, Zone 3
  • Head 0, Zone 4
  • Head 0, Zone 5
  • Head 0, Zone 6
  • Head 0, Zone 7
  • Head 1, Zone 8
  • Head 1, Zone 7
  • Head 1, Zone 6
  • Head 1, Zone 5
  • Head 1, Zone 4
  • Head 1, Zone 3

We know that Type 0 has ROM area using Zones 0-2. On Head 0 it reads from the periphery to the center, while on Head 1 it's the opposite, so it's incrementing on Head 0 and decrementing once on Head 1.

LBA addressing

(To be rewritten later)

Clone this wiki locally