CPCWiki forum

General Category => Amstrad CPC hardware => Topic started by: gerald on 17:37, 06 August 12

Title: ABBA switch, the other way
Post by: gerald on 17:37, 06 August 12
Hi all

Since some SW do not work from B drive, and I am not keen on integrating a 3 1/2 drive into my 6128, I finally decided (15year later :o ) to do an ABBA switch.
However, the usual solution involve a bit too much cable and track cutting for my taste.

Looking at the 6128 schematics, I looks like there is an other way.

Drive selection is a bit non standard as DS1 is inverted DS0.
To swap internal and external drive, you just need to have a controlable inverter between the FDC and the DS0 open collector driver.
That is controlable inverter is available on board as a free XOR gate in IC209 (pin 4, 5, 6). IC209 is part of ROM7 address decoder.

What is needed :
  2 resistor 2.2k, 10k (I've used SMD) but regular 1/4W is OK
  1 switch
  few wires

How to proceed :
  1. cut track between FDC (IC201.29). Best place is close to IC209 pin 29
  2. connect IC201.29 to IC209.5
  3. connect IC209.6   to the via on track from IC209.29 to IC206.9
  4. connect the resistances from IC209.4 /  IC209.6 to 5V
  5. connect the switch between IC209.6 and GND

When the switch is closed, the internal drive is A
When the switch is open, the internal drive is B


end notes :
  1. This should apply to DDI1 as well (schematic is identical). EDIT : Gate is used by 4MHz to 8MHz clock generation for FDC data separator
  2. This does not apply to 6128+ as the XOR gate is now merged in ASIC
  3. This may not apply on cost down CPC for same resason as 2. I do not have any to check
Title: Re: ABBA switch, the other way
Post by: IanS on 18:12, 06 August 12
Seems like a really nice solution, have you actually wired it up yet?

I'm slightly suprised the inputs to the unsed gate aren't tied to gnd on the pcb, floating inputs generally not a good idea.
Title: Re: ABBA switch, the other way
Post by: gerald on 18:28, 06 August 12
It's up and running, but I closed the CPC before taking any picture  >:(
Floating input is not a big issue on TTL gate.

That spare gate seems to have been forgotten by the designer as it does not appear anywhere on the schematic.
There is also a spare inverter (IC117) but this one has its input tied to ground because it a CMOS gate.
Title: Re: ABBA switch, the other way
Post by: gerald on 19:08, 06 August 12
Pictures !!!

Bottom side
[attach=2]
Sharp eyes will notice that I did not cut the track as described  :P But where I did the cut is more risky.

Top side
[attach=3]
Switch is on bottom left near the audio jack connector. Wires goes under the board and are connected to lyre socket pins on IC209. This allow removing the PCB from without messing with cable.
Title: Re: ABBA switch, the other way
Post by: IanS on 19:12, 06 August 12
I'd put off adding a switch for same reasons, but I'll have to give this a try.

(What is the other board with the crystal on over the 8255?)
Title: Re: ABBA switch, the other way
Post by: gerald on 19:23, 06 August 12
Quote from: IanS on 19:12, 06 August 12
(What is the other board with the crystal on over the 8255?)

That's a PS2 keyboard adapter.
Title: Re: ABBA switch, the other way
Post by: Bryce on 20:28, 06 August 12
Why are you linking pin 4 to the output via the 10K Resistor? Shouldn't this be tied to the 5V rail instead? And is the 2.2K really necessary? You could probably link it directly. Nice solution though, I think I'll use it on my 6128 too :)

Bryce.
Title: Re: ABBA switch, the other way
Post by: gerald on 20:43, 06 August 12
Quote from: Bryce on 20:28, 06 August 12
Why are you linking pin 4 to the output via the 10K Resistor? Shouldn't this be tied to the 5V rail instead?
Where ? in picture or diagram ?
Look tied to 5V on both.

Quote from: Bryce on 20:28, 06 August 12
And is the 2.2K really necessary? You could probably link it directly. Nice solution though, I think I'll use it on my 6128 too :)
2.2k is required for the XOR open collector output. Driven input may go high by itself but not in a controlled way.
Title: Re: ABBA switch, the other way
Post by: Bryce on 20:47, 06 August 12
Doh, forget it, I was referring to the schematic, but I followed the track wrong, didn't realise that that IS the 5V rail. I should stop reading schematics after the 4th beer :D

Bryce.
Title: Re: ABBA switch, the other way
Post by: Audronic on 23:17, 20 January 16
@gerald (http://www.cpcwiki.eu/forum/index.php?action=profile;u=250)

Do you have picture of where you mounted the Switch Please

Oops Found it

Thanks    Ray
Title: Re: ABBA switch, the other way
Post by: xesrjb on 09:16, 23 May 21
Quote from: gerald on 17:37, 06 August 12


When the switch is closed, the internal drive is A
When the switch is open, the internal drive is B



What does it mean exactly?


Switch is closed-> internal is A and external is B
Switch is open-> internal is B and external is A


xesrjb
Title: Re: ABBA switch, the other way
Post by: gerald on 14:49, 24 May 21
Quote from: xesrjb on 09:16, 23 May 21

What does it mean exactly?


Switch is closed-> internal is A and external is B
Switch is open-> internal is B and external is A


xesrjb
Yes !
Title: Re: ABBA switch, the other way
Post by: xesrjb on 16:04, 24 May 21
Best solution ever seen, I will try...


xesrjb
Title: Re: ABBA switch, the other way
Post by: simulant on 16:05, 10 February 24
Hey guys, I thought you may be interested in this thread I started - the aim was just to try to get to the bottom of any ways around this using software, for those who prefer to not have to mod their machine. Maybe some of you guys can also help with ideas if anyone is well-versed in Z80 assembly.

https://www.cpcwiki.eu/forum/software-related/hex-editing-games-and-software-to-use-drive-b/
Title: Re: ABBA switch, the other way
Post by: patches on 18:18, 13 March 25
Just want to say fabulous work developing this mod. I've been working on implementing it, and have a question and a note:

Quote from: gerald on 17:37, 06 August 124. connect the resistances from IC209.4 /  IC209.6 to 5V
Is there a reason why pin4 gets a 10k resistor and not a 2.2k one?

Quote from: gerald on 17:37, 06 August 125. connect the switch between IC209.6 and GND
I spent far too much time trying to work out why the switch goes on the XOR output, and not an input, but I should have just looked at your diagram or photos.  :picard: You connected the switch to pin#4, which is one of the inputs, and not pin#6 which is the output. The text description needs editing  :-X

Once I finish my mod I'll post some photos
Title: Re: ABBA switch, the other way
Post by: patches on 10:42, 14 March 25
Here we go! I didn't do it exactly the same way. Please forgive the graininess of the photos. I can take better pics when I do a full electrolytic cap replacement if you folks are interested.

Step 1: socket IC206 (14 pins). This is a 74LS38s quad NAND gate that handles logic for the FDC. No need to modify or risk damage to the FDC itself when compatible parts for IC206 are still available  ;D Be sure to maintain the bridged connections on the underside of the board


(https://i.imgur.com/y0AxobU.jpeg)

Step 2a: double stack sockets for IC206. In the upper socket, pull pins 9 and 10 away, to be soldered to later. This is the part that disconnects FDC Drive Select from the original pathway
(https://i.imgur.com/ua5C6XZ.jpeg)

Step 2b: Alternatively, pull out pins 9 and 10 of IC206 directly. It is a replaceable part after all! So pins 1-8 and 11-14 need to go into the socket, but 9 and 10 need to be isolated from the socket. However, this will make it more difficult to reverse the mod if you ever want to

Step 3: solder a 2.2k resistor between IC209.6 and 5V. Handy tip: pin 14 on these 74LS chips is 5V (pin 7 is ground). So I did IC206.14 to IC209.6. Messy work, but there's not much room to get the iron in on the underside
(https://i.imgur.com/hVgEYfT.jpeg)

Step 5: solder a 10k resistor between IC209.4 and 5V. I chose IC211.14

Step 6: wire up IC209.5, XOR input 2, to IC201.29 Drive Select. No resistor is needed here as the FDC will drive the logic itself

Step 7: mount the switch. I bridged the top side and common pins to ground, soldering directly to a lug next to the external FDD connector. If you do the same, make sure you have enough clearance to still plug in your drive cable. Keep the other side isolated from ground (I used some electrical tape)

Step 8: wire up IC209.4, XOR input 1, to the non-ground side of the switch. When the switch is open, it will be pulled up to 5V by the 10k resistor (a logical 1). When closed, it will short to ground (a logical 0)

Step 9: wire up IC209.6, XOR output, to the isolated IC206.9 and IC206.10 on the socket. Logically, this will invert the output of the XOR, and feed it back into the Drive Select circuit on the floppy drive side. (If you want the ABBA switch to operate the opposite way, instead wire up IC209.6 to a via for IC206.8, or directly to the socket)

(https://i.imgur.com/UQP7wTn.jpeg)

To disable this mod, all you need to do is unplug the top socket, and reinsert IC206 into the lower socket (step 2a) or restore the original IC206.9 and IC206.10 pins (step 2b)

You may also notice a 2nd switch in my photos. I added this to bypass the logic that turns 12V to the floppy drive on or off. This allows me to power up the drive without the FDC operating (CPC powered off), so I can plug a Greaseweazel into the external floppy connector. In theory, I shouldn't have to take the CPC apart to plug the drive into the Greaseweazel, but in practice that doesn't seem to work :( The FDC still being in-circuit might be confusing it
(https://i.imgur.com/FzCFVX2.jpeg)

I used a 2-position DIL switch, bridged positions 1 and 2 on both sides, wired the under side to the red power lead that goes to the floppy, and the top side to 12V from the blank inductor next to the connector for 12V. It's isolated from ground with a bit of cardboard to help its positioning. The mess is mostly hot glue

I'm also using an external 5V to 12V step-up circuit. This was a USB-to-cigarette lighter adapter that I chopped up and soldered 2.1mm sockets to
(https://i.imgur.com/GmR73wK.jpeg)

It's been a journey for me, but it's all done  ;D I haven't cleaned up the board though, as I still need to swap out all the electrolytics, which appear to have all leaked
(https://i.imgur.com/HfgiHlw.jpeg)
Title: Re: ABBA switch, the other way
Post by: Bryce on 14:13, 14 March 25
Quote from: patches on 18:18, 13 March 25Is there a reason why pin4 gets a 10k resistor and not a 2.2k one?


The resistors are "pullups". There are two types, weak and strong. A strong pullup (2k2) is used where switching speed is important, but it uses more current. A weak pullup is preferable as far as current consumption is concerned, but when the CPC was being designed, the current consumption wasn't really a priority, so they have used strong pullups (almost?) everywhere.

Bryce.
Title: Re: ABBA switch, the other way
Post by: patches on 14:25, 14 March 25
Quote from: Bryce on 14:13, 14 March 25
Quote from: patches on 18:18, 13 March 25Is there a reason why pin4 gets a 10k resistor and not a 2.2k one?


The resistors are "pullups". There are two types, weak and strong. A strong pullup (2k2) is used where switching speed is important, but it uses more current. A weak pullup is preferable as far as current consumption is concerned, but when the CPC was being designed, the current consumption wasn't really a priority, so they have used strong pullups (almost?) everywhere.

Bryce.
Thanks Bryce! Still learning all this fun stuff, so your explanation is greatly appreciated  ;D
Powered by SMFPacks Menu Editor Mod