6 ms·
This made me curious, why were pc floppy drive controllers unable to read mac formatted disks. my first thought was the variable sectors per cylinder, I mean su
by somat 3y ago
This made me curious, why were pc floppy drive controllers unable to read mac formatted disks. my first thought was the variable sectors per cylinder, I mean sure the OS is not going to like it but what about the the actual capability of the controller. So I found a data sheet for a fairly modern fd controller(the NCT6776F all in one)
Now I am not super sure, however if I am reading the data sheet correctly it looks like you could, if you were insane enough to spend the time on a lowlevel custom driver, format each track with a different number of sectors.
my next thought was the variable speed, this might be it, the pc floppy controller has no command to change drive speed, but I was not convinced, it may not be as efficient, but I could think of no reason it could not read still read the tracks at a fixed speed.
But I think the real reason a pc controller could not read apple floppies was that the on disk magnetic layout was GCR and the pc controller only understands MFM and FM, which ties into and changed my mind about the drive speed. if not designed for it the controller would not be happy about different sized magnetic zones.
https://media.digikey.com/pdf/Data%20Sheets/Nuvoton%20PDFs/NCT6776F,D.pdf https://media.digikey.com/pdf/Data%20Sheets/Nuvoton%20PDFs/N...
https://en.wikipedia.org/wiki/List_of_floppy_disk_formats https://en.wikipedia.org/wiki/List_of_floppy_disk_formats
As a fun tangent I learned there are commands in the controller for a tape drive . I have never seen(or even heard of) a tape drive on a floppy port, how common was it to have one?
- rasz 3y agoFor variable number of sectors per cylinder you either need control over bitrate or motor speed.
- somat 3y agoNot an expert, I just read the datasheet but the format command takes The number of data bytes written in a sector Sectors per Cylinder Gap Length Data Pattern Then while the command is executing it takes(or might give... I am not real clear on this part) Cylinder Number Head Number Record The number of data bytes written in a sector So the hacker in me says why cant you say you want to format the disk then only format one cylinder. then do it again with another cylinder but this time with a different number of sectors. Reading and writing such a franken disk is left as an exercise for the reader. Honestly the whole exercise might be a fun weekend messing with assembly trying to see what contortions you could get the disk controller to do. It also sounds like a huge pain, I think I would want some sort of low level "stub" os, that does nothing bet gets the system initialized in a known state. then you could proceed to engage in severe sadomasochism, locking up your system in strange and mysterious ways.
- rasz 3y agoThis will just make gaps between sectors bigger, lowering capacity given standard bitrate and rotation speed. The point of zone bit recording (ZBR) / zoned constant linear velocity (ZCLV) is to pack mode data on the outside (longer) cylinders. Doing some back of napkin calculations the most Outer track has circumference of ~27 cm while inner is ~18cm long. Outer track should be able to fit 1.5 x magnetic flips while staying in spec. If you want even more data you go GCR all the way to RLL encoding. Fantastic dev blog documenting implementation of 3.5 Inch HD (2.7)RLL Floppy Controller for use in MEGA65 project: https://c65gs.blogspot.com/2022/01/more-work-on-hd-floppies-rll-encoding.html https://c65gs.blogspot.com/2022/01/more-work-on-hd-floppies-... Over 3MB out of standard 1.44MB drive/floppy by combining both zone recording and RLL.