Jump to content

64DD IPLROM (J) stuff


Twili
 Share

Recommended Posts

I read some interesting(?) stuff recently. This is to do with the structure of a 64DD disk. Data is stored on both sides, or "heads," head 0 and head 1. The heads are divided into 8 "zones," 0-7 on head 0 (top) and 1-8 on head 1 (bottom). The zones are then divided into tracks (one complete circle around the disk). Half of a track is an LBA (Logical Block Address). LBA's have a fixed length in bytes depending on the zone:

 

Zone 0: 19,720

Zone 1: 18,360

Zone 2: 17,680

Zone 3: 16,320

Zone 4: 14,960

Zone 5: 13,600

Zone 6: 12,240

Zone 7: 10,880

Zone 8: 9,520

 

The total capacity of a zone is its LBA size times the number of tracks times two. Here's the number of tracks on head 0 in each zone:

 

Zone 0: 134

Zone 1: 146

Zone 2: 137

Zone 3: 137

Zone 4: 137

Zone 5: 137

Zone 6: 137

Zone 7: 102

 

And head 1:

 

Zone 1: 146

Zone 2: 146

Zone 3: 137

Zone 4: 137

Zone 5: 137

Zone 6: 137

Zone 7: 137

Zone 8: 102

 

There are 2,146 usable tracks (4,292 LBA's), but also 25 LBA's containing system information, making the actual total 4,317. These LBA's distinguish a retail disk (gray) from a development disk (blue). Credit to Kammedo on the 25 extra LBA's.

 

I memorized all of this and may add in additional information (examples on the calculations) later.

Link to comment
Share on other sites

By the way, what this is is not a DD expansion running - it is the "Error ROM" that every DD disk has at 0x0 which the IPL loads if no cartridge is inserted. You can do it yourself if you stick a 0x1000 byte 6102 ROM header on the F-Zero X expansion and set the entry point (address 8 in the ROM header) to 0x80000400.

 

Twili, if you want to know more about the DD, talk to 'jrra' on irc.efnet.org. He has even implemented some DD features (specifically, DD registers and time) in mupen64plus, and he has lots of information to share with you. He knows the whole LBA thing inside out.

Link to comment
Share on other sites

I downloaded that prototype of Dezaemon DD. It's exactly 64,458,560 bytes (61.47 MB) in size, which is the space taken up by the 4,292 usable LBA's. Now I'm confused, though, because the F-Zero Expansion Kit is 67,108,864 bytes (64 MB) in size. I located the precise offsets of two textures in the F-Zero disk for fun:

 

Posted Image

0x1B120

 

Posted Image

0xA9E830

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.