home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / hard_prj / flop14st / hdflop.3 < prev    next >
Text File  |  1993-07-01  |  4KB  |  95 lines

  1. Atari ST High Density disk drives - Part 1
  2.  
  3. Date: 11 Feb 90 09:55:00 GMT
  4. From:
  5.  cs.utexas.edu!usc!snorkelwacker!ira.uka.de!smurf!gopnbg!tmpmbx!einoed!hase_1!ha
  6.  se@tut.cis.ohio-state.edu  (Hartmut Semken)
  7. Subject: Floppy drive 1.44 meg woes!
  8. Message-ID: <418@hase_1.UUCP>
  9.  
  10. clf3678@ultb.isc.rit.edu (C.L. Freemesser) writes:
  11.  
  12. >>  I'm haveing a few problems hooking up my 1.44 meg teac. I was wondering
  13. > From what I know, you can't use HD on the ST.  The controller chip
  14. >can't handle it.  Just be glad it works in 720k mode.  :~)
  15.  
  16. Well, you can, if you hack the hardware.
  17.  
  18. Here we go again:
  19.  
  20. The trick is to double the clock frequency of the controller chip, so it
  21. will talk twice as fast to the drive: the bit stream has "high-density"
  22. format.
  23. A clock of 16 MHz is well behind specification (the WD1772 is rated to
  24. run at up to 10 MHz), but it will work most of the time.
  25.  
  26. The hack consists of two parts: hardware and software and works with
  27. high density drives only!
  28. Now: the hardware.
  29.  
  30. The clock pin of the WD1772 is pin 18. It is normally hooked to the 8
  31. MHz clock.
  32. Cut this pin and connect it to the output of a simple circurit. feed the
  33. two inputs of this simple circurit with 8 MHz and 16 MHz clocks (16 MHz
  34. can be get at SHIFTER pin 39).
  35. The "simple circurit" mentioned above could be a simple, manual switch.
  36. Now You are able to select two clock frequencies and therfore two
  37. "modes" for the controller chip: double density and high density.
  38.  
  39. The simple circurit could also be a multiplexer (74LS157, I think)
  40. controlled by the "I detected a HD-disk in me"-output of the floppy
  41. drive (the TEAC FD 235 HFN provides this outout on pin 2 if a jumper is
  42. set; the 235 HFN has a second jumper that enables internal detection of
  43. HD disks: this must be set, too).
  44. With the MUX, a disk inserted will select the appropriate mode of
  45. operation automatically.
  46.  
  47. Do not worry about two drives in different modes: when copying from one
  48. drive to the other, the clock rate will be switched once to twice a
  49. second. This will not trouble the controller (remember the clock to be
  50. in the range of Megahertz...).
  51. If you want to connect one HD drive and one DD drive, you'll need two
  52. more TTL gates (one 74LS00 will do) to make sure, the controller is in
  53. DD mode for the DD only drive: invert the HD-detected-output (it is LOW
  54. for DD before, HIGH for DD behind the inverter) and feed it into a NAND
  55. together with drive select for the DD drive. Let a HIGH output of the
  56. NAND select DD-clock (8 MHz). Now "not-HD-detected OR DD-drive-select"
  57. will select DD mode, right?
  58.  
  59. With two HD drives, there is no problem at all :-)
  60.  
  61. Now for the software:
  62.  
  63. The controller uses its clock as base for all timings.
  64. The pulse width and time between pulses for the step line are controller
  65. controlled.
  66. To make it short: with the doubled clock the controller will try to make
  67. the head step twice as fast: he will send a step pulse every 1.5
  68. milliseconds if set to 3 milliseconds (which is TOS standard).
  69. Just set the step rate to 6 milliseconds to make the controller step 3
  70. milliseconds in HD mode (well, the 6 milliseconds steps in DD mode will
  71. slow down floppy operation a bit, but not that much. Not stepping,
  72. reading and writing takes the time!).
  73.  
  74. How to set the step rate?
  75. Well, there is a documented TOS variable for the step rate at 0x440
  76. called seekrate.
  77. The step rate in this variable will be used by the BIOS after a call of
  78. the routine, pointed to by "hdv_init" (the hdv_init routine seems to
  79. initialize the BIOS parameter blocks for the floppies). The pointer to
  80. hdv_init can be found at 0x46A (this is a supported TOS variable, too).
  81. Look at the MWC-Assembler source below.
  82.  
  83. The second thing is to get a formatter that will format 18 sectors per
  84. track. HYPERFORMAT by Claus Brodt is such a thing, but a simple
  85. formatter hacked from the example in the Mark Williams C Lexicon did the
  86. same. It's included below.
  87.  
  88.  
  89. For help try to write to hase@hase_1.mbx.sub.org, but it'll probably
  90. bounce; our mail service is fading fast...
  91. I'll try to reply to anything, I finally get.
  92.  
  93. hase
  94.  
  95. ə