home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / linux / extra / docs / maillist / text / archive.96 / text1922.txt < prev    next >
Encoding:
PGP Message  |  1996-07-25  |  5.6 KB  |  112 lines

  1. -----BEGIN PGP SIGNED MESSAGE-----
  2.  
  3. In article <DozB2p.DLx@statcan.ca> royfran@statcan.ca (Francois Roy) writes:
  4. > Rob Heath (rheath@cix.compulink.co.uk) wrote:
  5. > : is there any program out there that will read 800k mac floppy disks?
  6. > As far as I know, there isn't.  From what I've heard, the 800k floppys
  7. > are written with a different speed of rotation depending on whether you
  8. > are writing on the outer or the inner tracks.  The drives on PCs all
  9. > operate at a constant rotational speed.
  10.  
  11. It is a common trick (used by harddrive manufacturers) to increase the
  12. data density on the outer tracks, but I do not know whether the Mac
  13. actually makes use of this for its 800k floppy disks.
  14.  
  15. But the main problem with trying to use 800k floppy disks on a PC is
  16. different from that (I try to explain just the basic concepts; if you
  17. do not like the simplifications that I make, either get hold of good
  18. documentation on these topics or ask me and I will try to look it up):
  19.  
  20. The data on each track of a the floppy disk is basically a cyclical
  21. stream of "one" and "zero" bits. There is no way, that the hardware
  22. could tell where the data starts and where it ends. Thus this
  23. information needs to be somehow encoded into the data stream; a very
  24. simplistic approach could work like this:
  25.  
  26.  1) expand every byte ( = 8 bits) of data to be 9 bits long
  27.  2) for regular user-supplied data, that is to be stored on the disk,
  28.     set the 9th bit to "one"
  29.  3) for synchronisation information, set the 9th bit to "zero"
  30.  4) mark the beginning of each data block, that contains just
  31.     synchronisation data, but nine consecutive "zero" bits.
  32.  
  33. This way we would waste a little more than 11% of disk capacity, but
  34. we could now tell where to start looking for data. Unfortunately, this
  35. will fail if the user data contains long blocks of 0xFF bytes (all
  36. bits set). Small deviations in rotational velocity would cause us to
  37. get out of phase and we would then read bogus data.
  38.  
  39. Therefore, encoding mechanisms have been designed which guarantee,
  40. that there will be no more than a certain amount of consecutive bits
  41. with the same value. This enables us to obtain clock information and
  42. re-synchronize on the data stream while reading the data. Besides, it
  43. offers a new improved technique for marking the beginning of
  44. synchronisation information. Now, there are sequences of bits, that
  45. are definitly "illegal" with regard to our encoding scheme; these
  46. sequences are used to mark "out-of-band" data.
  47.  
  48. As computer technology improved, different encoding schemes were used;
  49. some of the more important schemes where named FM, GCR, MFM, and
  50. RLL. In early days, the computer's CPU would actively do the
  51. encoding/decoding. Thus it did not really matter, if a new encoding
  52. scheme was developed; as long as the CPU was sufficiently fast, all
  53. you had to do was upgrading your software. This was the case for the
  54. Commodore C64 and for the Apple II. Later, some dedicated hardware was
  55. designed that assisted the CPU while still retaining flexibility and
  56. allowing for different encoding schemes. As far as I can tell this is
  57. the case with the Commodore Amiga and the Apple MacIntosh. At about
  58. the same time, MFM encoding became very popular and developed into the
  59. dominating encoding scheme. Thus chip designers, developed a "floppy
  60. disk controller" that would do *all* of the encoding/decoding. This is
  61. what is done in current PC's.
  62.  
  63. The PC has always used MFM encoding (even though RLL encoding would
  64. bring a 50% improvement in data capacity), but the data density has
  65. increased considerably from single sided, 40 tracks, 9 sectors (this
  66. gives 180kB) to double sided, 80 tracks, 18 sectors (this gives 1.44
  67. MB). I believe there have been some other formats that stored even
  68. less data and there also is a format that stores 2.88 MB (while using
  69. 36 sectors), but I think these have never been really popular.
  70.  
  71. The Apple MacIntosh used to have its own proprietary format. I do not
  72. know much about the encoding scheme other than one reference that I
  73. found; it states something about "6-out-of-2" coding. Back in the
  74. days, when "double density" disks (720kB) where popular, the Apple
  75. MacIntosh had the advantage of storing about 10% more data (800kB) on
  76. the same medium. But when "high density" disks (1.44MB) became
  77. commonly available, Apple had to decide whether they wanted to come up
  78. with an improved proprietary format or if they would go with the
  79. "industry standard". Fortunately, they decided for the latter. This
  80. has the disadvantage of storing less data than is physically possible
  81. (I believe, advanced encoding schemes can store at least up to 1.8MB
  82. user data on a regular "high density" disk), but finally there is just
  83. one standardized format, which allows for easy exchange of media.
  84.  
  85. Computers such as the Commodore Amiga or the Apple MacIntosh still
  86. have the ability of handling arbitrary encoding schemes, if the CPU is
  87. programmed to recognize this format, but the PC never had this
  88. ability. There are tricks that can be used in order to force the
  89. "floppy controller" into accessing the raw data stream, but this is
  90. usually very unreliable and you will never read the same data
  91. twice. Thus, with sophisticated software it might just be possible to
  92. make the PC read 800kB floppy disks, but I would not trust it to
  93. reliably write these disks.
  94.  
  95. I hope, I cleared up some of the confusion,
  96.  
  97.  
  98. Markus
  99.  
  100. -----BEGIN PGP SIGNATURE-----
  101. Version: 2.6.2
  102. Comment: Processed by Mailcrypt 3.3, an Emacs/PGP interface
  103.  
  104. iQCVAgUBMV+X7xqJqDLErwMxAQFzPgP/YifZAIPZJl5pA7tatIW8rB/rfEx4VhMz
  105. 6D7u+oQPpTUswmqmbgyFe9Y6JsfKNvzryqt+WCb1Sqeh06bXi57GcB5sLAM8PfRk
  106. 6Cu6HtVzgAXKEraCOOGNjod/ApO8vLAal02nAWivwjMCjq8KiWdMgCjp2EtJj710
  107. vf9terdgnTM=
  108. =V7ai
  109. -----END PGP SIGNATURE-----
  110.  
  111.