home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / dos / extra / docs / maillist / text / archive.96 / text3970.txt < prev    next >
Encoding:
Text File  |  1996-07-25  |  5.9 KB  |  118 lines

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