[fdutils] Need help with weird floppy issue

Alain Knaff alain at knaff.lu
Wed Mar 8 00:57:03 CET 2006


Donnie Barnes wrote:
> It's been reported that the floppy drive on the Sega machine *is* a standard
> PC drive,

Well, a large part of the "intelligence" is actually not in the drive 
itself, but in the floppy disk controller (FDC).

For instance, if the FDC sends at a slightly faster data rate, this 
would have the same effect as a drive rotating slightly slower: an 
increase in capacity. Moreover, the FDC could allow the host computer a 
finer control over sector placement.



I've been experimenting on my PC ("standard" drive and "standard" 
FDC...), but so far couldn't manage to get this format on disk. However, 
due to manufacturing tolerances, my drive runs slightly fast (... having 
only 12464 bytes per track, rather than 12500). So, it's quite possible 
that the failure to obtain such a format was due to the drive.

The most "promising" format seems to be the following:
"Small" sectors of 256 data bytes + 62 header + 42 fmt_gap = 360 bytes 
total.

Sector of 8192 = 23 small sectors (gap=26)
           1024 =  3 small sectors (gap=-6)
            512 = end of track (takes up whatever space is left)
            256 =  1 small sector (gap=42)

The -6 gap of the 1024 byte sector does not seem to cause any problems 
(following sectors stay accessible), at least when not changing drives. 
Any smaller than that (such as -9) will break.

However, writing to the 512 byte sector (the wrap-around sector) makes 
the next one (256, really the first sector on the track) unusable, 
presumably due to my drive's excessively small overall capacity. On a 
different drive, this format may work.

I'll try at my PC at work tomorrow, whether that one will have more 
capacity.

To format it, use the following commands (example on track 0, head 0):


fdrawcmd format 0 1  34 41  0            <track

fdrawcmd  write  0  0 0 1 6   1   0   0  <sect.8192
fdrawcmd  write  0  0 0 2 3   2   0   0  <sect.1024
fdrawcmd  write  0  0 0 3 3   3   0   0  <sect.1024
fdrawcmd  write  0  0 0 4 3   4   0   0  <sect.1024
fdrawcmd  write  0  0 0 5 2   5   0   0  <sect.512
fdrawcmd  write  0  0 0 6 1   6   0   0  <sect.256

Attached are the "track" sector map, and the genTrack.pl script that 
generated it (called as ./genTrack.pl 56 360)


> but I can't confirm that personally.  It is well known that using
> an actual Sega machine is the only way to copy a disk, too.

IMHO, it's *formatting* the disk that's difficult. Writing to an already 
formatted disk should have a rather high chance of success. Especially 
if the Sega does indeed have a custom FDC, and the sectors are evenly 
spread out (on a PC, the sectors can't be evenly spread out because the 
"small-sector" hack doesn't allow to do this...)

Regards,

Alain
-------------- next part --------------
A non-text attachment was scrubbed...
Name: findMini.pl
Type: application/x-perl
Size: 893 bytes
Desc: not available
URL: <http://lll.lu/pipermail/fdutils/attachments/20060308/406af64e/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: genTrack.pl
Type: application/x-perl
Size: 854 bytes
Desc: not available
URL: <http://lll.lu/pipermail/fdutils/attachments/20060308/406af64e/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: track
Type: application/octet-stream
Size: 136 bytes
Desc: not available
URL: <http://lll.lu/pipermail/fdutils/attachments/20060308/406af64e/attachment.obj>
-------------- next part --------------
_______________________________________________
fdutils mailing list
fdutils at tux.org
http://www.tux.org/mailman/listinfo/fdutils


More information about the Fdutils mailing list