Skip to content
LuigiBlood edited this page Aug 1, 2019 · 9 revisions

Basics

The formatting process of leowrite (via DD64.DRV) uses LBA 4 which contains the initial disk formatting info without game specific information such as Disk Region, Disk Type, IPL Load Address and Block Amount, and LBA boundaries (if retail disk).

Process

  • Load LBA 4 into the buffer and add the game specific info to all 85 sectors:
    • Sector size 0xE8 for retail disks, sector size 0xC0 for development disks
    • Offset 0x00 [32bit]: Disk Region (Retail Disk only)
      • E848D316 for Japanese Disk, 2263EE56 for US Disk
    • Offset 0x05 [08bit]: Disk Type + Format Type (from offset 0x04, which is always the value 0x10)
    • Offset 0x06 [16bit]: IPL Load LBA 0 Block Amount
    • Offset 0x1C [32bit]: IPL Load RAM Address
    • Offset 0xE0 [16bit]: ROM Area LBA End (Retail Disk only)
    • Offset 0xE2 [16bit]: RAM Area LBA Start (Retail Disk only)
    • Offset 0xE4 [16bit]: RAM Area LBA End (Retail Disk only)
  • Write the updated system data buffer into these LBAs:
    • Retail Disk - LBA 0, 1, 8, 9
    • Development Disk - LBA 2, 3, 10, 11
  • Write the Disk ID data to all 85 sectors (size 0xE8) in LBAs 14 & 15.