1997-1998 Martin Graiter
(Very small revisions by Vezz)
So you want to use 1.44Mb floppies and your old 720Kb floppies
as well ? No problem ! Here's a one-chip solution that takes care
of things for you ! Before you start you should consider the
following :
If you don't feel confident with an Ohm-meter and a soldering
iron or if you're not familiar with schematics, then don't attempt
this project. There is * no * shame in not being skilled with
everything on earth. I also sell ready-built DD-HD circuits, built
and tested to function. Maybe you should rather buy one and then
only solder 5 wires instead of going through all the moments of
measuring, soldering and fault-searching ?
This modification is of course unnecessary for the MegaSTE/TT,
and Falcon, because they can already deal with HD floppies "from
factory". In order to use HD floppies you MUST have a 1.44MB
(sometimes referred to as 2Mb) diskdrive. The old SF314 won't do
the job. Teac's FD235HF-drives are suitable, as is Sony's model
MPF520-1. There are other drives too, but I can't name them all
here.
If the diskdrive outputs a High Density Detect (HDD) signal on
pin 2 of it's bus, then it's suitable ! This signal has so far (in
my experience) always been positive logic (active high). Means
that when you have a DD disk in the drive, the output on pin 2
will be LOW (0V). When an HD disk is inserted the signal will
shift to HIGH (+5V).
You also have to have a suitable Floppy Disk Controller (FDC)
chip in your machine. If your chip has the marking "WD1772 02-02"
it is OK. Also if the marking is "Atari XXXXXX (lots of numbers)"
it will work. But if your chip says "VLSI" or "WD1772 00-00" it
will most likely * NOT * function. In that case I suggest you swap
with someone, or buy another FDC. Additionally you need a program
that will change the step-rate to 6ms (milliseconds), Fastcopy,
Bootsie, Flopcontrol are such programs, but there are others too.
I patched my TOS 2.06 so that the default step-rate is 6ms instead
of 3ms. No program needed after that.
And finally you need HD disks. PLEASE don't use your old 720Kb
disks for this ! Some people have drilled holes in their DD disks
as to fool the diskdrive to format them at 1.44Mb. BUT this is an
extremely bad idea!!! You'll be sorry you did it, I promise ! And
don't go the other way either! I don't want to go into discussions
on why or what happens, but you'll regret this too ! Disks are
cheap, just buy a pack (or loan one from your buddy).
And now some theory :
The WD1772 chip is designed to work at 8MHz, but thanks to the
good quality of the chips produced this can be greatly overdriven.
Most WD1772:s will happily hop along at 16MHz, and even at 32MHz !
In order to run 1.44Mb disks we will overclock the WD1772 to
double speed, 16MHz. Since we're interested in using the old 720Kb
disks as well, we'll want to switch alternatively between 8 and 16
MHz. That can of course be realized by hand switching, but
more elegant is to perform this automatically. Which is precisely
what we'll do here !
If you study and comprehend my schematics you will probably
figure out how to be able to use even 2.88 Mb disks.... I didn't
bother, since 1.44 disks is the standard nowadays.
A positive effect of this clock doubling is that the data
transfer rate between the DMA and the FDC also doubles ! However,
all timings are half as long and so is the steprate. Instead of
getting 3ms we get 1.5ms when running at 16 MHz. To rectify this
we set the steprate to 6ms, which gives 3ms in reality (since
everything is halfed at 16MHz). You follow? It doesn't matter that
the steprate becomes 6ms when running at 8MHz, it just makes the
drive somewhat noisier.
We also need to break the connection of pin 18 of the FDC,
(which is CLK IN,) from the permanent 8MHz feed and instead feed
the pin with the output from our circuit.
In order to perform an automatic switching between 8MHz (720Kb
DD-disks) and 16MHz (1.44Mb HD-disks), depending on what types of
disks we put in our A and B drives, we will utilize the services
of a 74LS151 chip.
General pinout for the 74LS151:
74LS151 +---\_/---+ D0-D7 are data INPUTS D3 |1 16| +5V D2 |2 15| D4 D1 |3 14| D5 D0 |4 13| D6 DATA OUT |5 12| D7 DATA OUT |6 11| DATA SELECT A STROBE |7 10| DATA SELECT B GND |8 9| DATA SELECT C +---------+
This chip has 3 control inputs, A,B,C, that will determine
which of eight input lines will "come out". We feed half of the
input lines with 8MHz and the other half with 16MHz. The control
lines will be High Density Detect from drive A (HDD0) and High
Density Detect from drive B (HDD1).
We will also use the signal Drive Select 1 (DS1), which
activates drive B. We needn't use Drive Select 0 (DS0) since we
simply assume that DS0 should count as active if DS1 isn't. Note
that this signal is negative logic (active low).
Next step will be to make a truth table, as to determine which
inputs shall be fed 8MHz and which 16MHz. It looks like this:
A=DS1 C B A B=HDD0 ------+ C=HDD1 0 0 0 |D0 --> 8 0 0 1 |D1 --> 8 0 1 0 |D2 --> 8 0 1 1 |D3 -->16 1 0 0 |D4 -->16 1 0 1 |D5 --> 8 1 1 0 |D6 -->16 1 1 1 |D7 -->16
The only thing left is to tie STROBE to GND (to enable the
chip) and we're done ! We substitute the D0-7 markings with 8 and
16MHz respectively, we do the same with the ABC select lines, only
here we put in the names of our signals as above to the left.
That's it!
Logical schematic of the DD-HD switching:
74LS151 +-------+ +--------+ | 16MHz |------>1,12,13,15| | +-------+ | | | | +-------+ | | | 8MHz |-------->2,3,4,14| | +-------+ | | | | DS1----------->11| | HDD0--------+------------------->10| | | HDD1-----+----> 9| | _|_ _|_ | | | R | | R | +--7|STROBE |5-->CLK OUT |2K2| |2K2| | | | | | | | | +--------+ +---+ +---+ | 8 16 | | | | | +--------------+---+-----+GND +5V
After theory we only need to realize the circuit in real life.
You will find 16 MHz on pin 39 of the SHIFTER (not on the STE !)
and 8MHz in the empty hole where pin 18 of the FDC used to be. DS1
is found on pin19 of the PSG (Yamaha YM2149 or General Instruments
GI, AY-3-8910). Ground and +5V can be found everywhere on the
motherboard.
Connections in the function as DD-HD switcher:
74LS151 16MHz quartz crystal +---\_/---+ +---------\ 16MHz |1 16| +5V NC |1 14| +5V 8MHz |2 15| 16MHz | | 8MHz |3 14| 8MHz | | 8MHz |4 13| 16MHz | | CLK OUT |5 12| 16MHz | | NC |6 11| DS1 | | GND |7 10| HDD0 GND |7 8|-->16MHz GND |8 9| HDD1 \---------/ +---------+
If you have an STE model you will also have to add a quartz
crystal, this because the STE doesn't have a good enough 16MHz
signal for our purposes. Easiest is to use the type with 4 pins,
it is defined as above. The numbering of the legs is correct, even
though there are only four of them !
A good general advice is to keep the connecting lines as short
as possible, also determine exactly where you'll put our little
circuit before you start connecting things. And before we get our
hands on the actual making of the switcher, we have to consider
the signals HDD0 and HDD1.
The HDD0 signal has to be connected to the second wire of the
floppy ribbon cable. The first cable is normally coloured red or
dotted red. You can carefully cut free about 2cm (one inch) of
wire no 2 from its "neighbours".
Then you can cut it off at the side closest to the motherboard
connector. Peel off the plastic isolator a couple of mm on the
end. This naked thread you'll solder to the HDD0 wire coming from
our little board. It is good practice to isolate the connection
with some shrink-tube (I am not sure this is the correct English
word ? I'm talking about a small hose made of a material that
shrinks when you heat it.)
______________________________________________ | 4|____________________________________________4_| | | 3|____________________________________________3_| | | 2|_____|_CUT HERE!|___________________________2_| | | 1|____________________________________________1_| | +--------+ +--------+ Motherboard Floppy connector connector
Alternatively you can connect to this wire by going to the
underside of the motherboard. There you'll seek up the solder
joints for the floppy cable. It will look something like this :
[]()()()()()()()()()()()()()()()() pin 2-->()()()()()()()()()()()()()()()()()
You will recognize pin 1 by the rectangular pad, no 2 is right
below no 1. If you decide on this solution you shall not cut the
wire as described above !
It is important that you lead your wire to the upper
(component) side without using holes that will accomodate screws
or plugs when the case is reassembled !
The HDD1 signal is to be connected to pin 7 of the connector
for the external drive. This pin is grounded and you'll need to
disconnect it from ground. You can do that by either cutting it
off and bending up what's left, as depicted in the drawing below.
Or, you can play dentist and pull it out from it's hole on the
underside. This means you'll have to suck the hole clean from
solder and be sure that the pin will move freely !
You can also keep your soldering iron to the hole and then
pull the pin out from the other side. Of course, the rest of the
pin must remain in the circular connector !
Right side view: Outer view: ______________|| |--------------|| 11 10 |--------------|| +----| || 9 8 || | || _||_ | CUT! || 7 13 12 6 || | | / || || | | / || 5 14 4 || | |__/___________|| ||__|___|| | | || 3 2 || ||_| |____|| 1 || ||
Should you decide that you'll never need to connect an
external (B:) 1.44 drive to your machine, well, then there is no
need to do this at all ! The HDD1 signal is already defined as LOW
through the 2K2 resistor connecting it to ground. In fact, if you
won't connect any 1.44 diskdrive as B: you can just tie HDD1 to
ground, with or without any resistor. You will still be able to
use 720Kb diskdrives on B: if you want to.
Those who have the * good old * 520 ST without internal drive
will in any event have to do the above mentioned modification with
the HDD0 connected to pin 7 ! Should there be need for an HD drive
as B:, then an extra hole will have to be drilled in the 520 ST
case and an extra wire drawn from B:s pin 7 to HDD1.
These are the appropriate connections to make if you want to
make your own cable from the external circular connector to the
rectangular Shugart connector on the floppy itself :
External circular Shugart connector connector 01. Read Data-----------------30. RDT 02. Side 0 Select-------------32. SSL 03. GND----------------------- 1,3,5,7,9... (odd wires are GND) 04. Index Pulse--------------- 8. IDX 05. Drive 0 Select------------10. DS0 06. Drive 1 Select------------12. DS1 07. High Density Detect------- 2. HDD 08. Motor On------------------16. MON 09. Direction In--------------18. DIR 10. Step----------------------20. STP 11. Write Data----------------22. WDT 12. Write Gate----------------24. WGT 13. Track 00------------------26. TR0 14. Write Protect-------------28. WPT
And now, let's get hands on the very DD-HD switcher ! If you
plan to build this on a veroboard, I'd suggest the following
approach:
What you need: 1*74LS151 chip 1*220 ohm resistor 2*2.2 Kohm resistors 1*3mm LED Cut a piece of veroboard This is the intended that is 9 modules high component placement: and 6 modules wide. |+5V 6 5 4 3 2 1 1 2 3 4 5 |6 +---+---+---+---+---+---+ +---+---+---+---+---+-|-+ | O | O | O | O | O | O | 16MHz| O O----\_/----O O | | | | | | | | | | | _|_| | O | O | O | O | O | O | | O O | | | | | | | | | | | | | R | | O | O | O | O | O | O | | O O |220| | | | | | | | | | | |Ohm| | O | O | O | O | O | O | 8MHz| O O O |___| | | | | | | | | | | | | | O | O | O | O | O | O | | O O O | | | | | | | | | | | | Anode | O | O | O | O | O | O | | O O O | (+) | | | | | | | | | | (LED) | O | O | O | O | O | O | | O O O | (-) | | | | | | | | | | | Cathode | O | O | O | O | O | O | | O-----------O | | | | | | | | | /-----\R2K2 ___ |R2K2 | O | O | O | O | O | O | CLK OUT| O O O O O___O | +---+---+---+---+---+---+ +---+---+---+---+-------+ | DS1 HDD0 HDD1| GND| |GND UNDERSIDE UPPER SIDE
The two 2K2 resistors will be standing up, the LED and it's
220 resistor aren't necessary for the function, but will indicate
that you've found +5V and GND (by emitting light) and it will
impress your friends !
But, no point in placing out the components yet, first you'll
have to prepare your veroboard. You will start by cutting lanes at
appropriate locations. When all up-down DISconnections are made,
we will also need to make left-right CONnections. We will achieve
that without using one single wire !
Start disconnecting the up-down Continue by inserting the chip lanes by cutting traces in them and making the sideways connec- as shown in the left figure. tions by soldering drops of resin across the dividing lines 6 5 4 3 2 1 6 5 4 3 2 1 +---+---+---+---+---+---+ +-----------+-----------+ | O | O | O | O | O | O | | O O O | O O O | +===|===|===| |===|===| +-----------+ +-------| | O | O | O | O | O | O | | O O O O | O O | | |===|===|===| | | | +-----------+ | | O | O | O | O | O | O | | O | O O O O O | | |===|===|===| | | | +-----------+ | | O | O | O | O | O | O | | O O O O | O O | |===| | | |===|===| |---+ +-------+ | O | O | O | O | O | O | | O | O O O | O O | | |===|===|===|===| | | +-----------+---+ | | O | O | O | O | O | O | | O | O O O | O | O | |===|===|===| |===| | +---+-------+ +---+ | | O | O | O | O | O | O | | O | O O | O | O | O | | |===| | | | | | +---+ | | | | | O | O | O | O | O | O | | O | O | O | O | O | O | | | | | | | | | | | | | | | | O | O | O | O | O | O | | O | O | O | O | O | O | +---+---+---+---+---+---+ ---+---+---+---+---+---+
Insert also the other components and make sure you're not
cutting off the long wires on the ends of the resistors which will
go to GND and +5V on the motherboard. See the figure with the
component placement. You will now need to determine where on your
motherboard you'll be placing the DD-HD switcher. Best is a
location close to the FDC. The signals CLK OUT, 16MHz and 8MHz
should be as close as possible, as to keep wires short.
Here is a suggestion for the placement in the Mega ST models :
============ | || | External floppy connector | || | |___||___|= <--bent out pin 7 ||| ||| HDD1 -------- J4 ____ R28 O ---(____)--- GND \ O O O \ |GND \ | | | | | |DS1| +-------------+ | O O O O O O|CLK CLK | _ +-----+ |OUT +--------------------||------+ LED|(_)| 74 | | |28 18 15| | | LS | | | O | |_|_| 151 | | \ 8MHz WD1772 02-02 | || || | O|8Mz /(under) (FDC) | +------------+ ||R|| | | | | \ 7406 ||_|| | | | 1 14| / | | | | O|16 +----------------------------+ +------------+ +-|-+--^--+---+Mhz _ / +---+ _ (_)---|L46|---(_) +----------------------------------------+ +5V +---+ |40 21| +--39--------- | | |40 16MHz \ DMA | | / | \ Shifter | | / | 1 20| | +----------------------------------------+ | 1 +------------
This version has simply been "stretched" in order to accomodate an
added component, the quartz crystal. On most STE: s you can't
utilize the 16MHz signal present on the motherboard. Nothing
prevents this design from working on an ordinary ST as well. It's
just a matter of economy, the crystal is an extra cost.
What you need: 1*74LS151 chip 1*220 ohm resistor 2*2.2 Kohm resistors 1*3mm LED 1*16MHz quartz crystal Component side: |+5V | +---------------------|---------------------+ | O----\_/----O O | | | | _|_ | | O O | | +---------------\ | | | | R | | o o | | O O |220| |NC +5v| | | | |Ohm| | | 8MHz| O o 74LS151 O |___| | | | | | | | 16MHz | | O O O | | | | | | | | O O O | | | | | (LED) | | | O O O | GND 16MHz| | | | | o o | | O-----------O \---------------/ | /-----\R2K2 ___ | CLK OUT| O O O O O___O | +---------|---|---|-------------------------+ | DS1 HDD0 HDD1| GND| |GND
For this version of the DD-HD switcher we need a somewhat bigger
veroboard, 9*11 modules (holes). We will prepare it in similar
manner to the previous design, by cutting DISconnections on the
vertical lanes:
11 10 9 8 7 6 5 4 3 2 1 +---+---+---+---+---+---+---+---+---+---+---+ | O | O | O | O | O | O | O | O | O | O | O | | | | |===| |===|===|===| |===|===| | O | O | O | O | O | O | O | O | O | O | O | | | | |===| | |===|===|===| | | | O | O | O | O | O | O | O | O | O | O | O | |===|===|===|===|===| |===|===|===| | | | O | O | O | O | O | O | O | O | O | O | O | | |===|===|===|===|===| | | |===|===| | O | O | O | O | O | O | O | O | O | O | O | | | | | | | |===|===|===|===| | | O | O | O | O | O | O | O | O | O | O | O | | | | | | |===|===|===| |===| | | O | O | O | O | O | O | O | O | O | O | O | | | | | | | |===| | | | | | O | O | O | O | O | O | O | O | O | O | O | | | | | | | | | | | | | | O | O | O | O | O | O | O | O | O | O | O | +---+---+---+---+---+---+---+---+---+---+---+
Next step is to make horizontal CONnections between the lanes.
You will insert the components from the other side before you go
about it. The modules should have connections as in the drawing
below:
11 10 9 8 7 6 5 4 3 2 1 +-------------------------------+-----------+ | O O O O O O O O | O O O | | +---+ +-----------+ +-------| | O O O | O | O | O O O O | O O | | +---+ | +-----------+ | | O O O O O | O | O O O O O | +-------------------+ +-----------+ | | O O O O O O O O O | O O | | +---------------+---+ +-------+ | O | O O O O | O | O O O | O O | | | | +-----------+---+ | | O | O O O O | O | O O O | O | O | | | +---+-------+ +---+ | | O | O O O O O | O O | O | O | O | | | +---+ | | | | | O | O O O O O | O | O | O | O | O | | | | | | | | | | O | O O O O O | O | O | O | O | O | +---+-------------------+---+---+---+---+---+
It is advisable to measure between the "fields" with a
resistance meter, to make sure that there are no connections where
there shouldn't be ! Here you won't have to connect a 16MHz wire
to the motherboard, since that signal is generated "on board".
After you've assembled the veroboard, you'll have to make
connections to the motherboard too.
If you place your switcher just above the FDC chip, you'll
have easy access to all relevant solder points on the motherboard.
You will find a nice hole for your DS1 wire on the rightmost (no
1) hole of W300. There will also be a convenient via just to the
right of C305 where you can take your 8MHz signal. GND and +5V can
be taken from the proper sides of the capacitors C303 and C304.
GND is also found on pin 14 of the FDC.
============ | || | External floppy connector | || | |___||___|= <-- bent out pin 7 ||| ||| (HDD1) -------- | +-+-u-+-|-------+ | | | +----\| | | ||| | || GND|C303 |o| ||| | || | | | | _ | || +-+ +------- | | |(_)| || | | |74LS244 | +---+ \----/| +-+ | U307 |oooooo | | +------- GND _ +5V +---------------+ +5V| C304 ---(_)--- +--------------+ +14--------------------------+ | 7406 / |GND 1| | U305 \ | | +--------------+ | WD1772 02-02 / | (FDC) \ | | | | |15 18 28| | +------||\-------------------+ 2|= HDD0 DS1 _ |<--Cut this track, ______| | ---(_)--- / or bend out pin 18! ^ W300 O O O C305 o<--8MHz | W301 O O O | | The floppy ribbon base on the motherboard.
You will also need to configure your Teac drive so that it
appears correctly to your switcher. Here are some of the jumpers
on various revisions of the FD235-HF:
1) DS0 DS1 +---+ | O | O | | | O | O +---+ 2) +-------+ |O O| HH0 +-------+ +-------+ |O O| OP +-------+ O O LH1 O O HH1 O O D1 +-------+ |O O| D0 +-------+ 3) +-------+ |O O| +-------+ +---+ | O | O | | | O | O +---+ +---+ | O | O | | | O | O +---+
This project is " Bed & Breakfast ware". I expect you to
accomodate me for one night and one breakfast should I decide to
visit your town. (I like to travel) Send me a postcard with your
name and adress if you use it in your computer. Email is nice too,
but postcards are preferred ! Commercial use is granted as long as
a licencing fee is payed to me.