New Floppy Interface for the +2a/b (black case)

BCHBCH
edited December 2014 in Hardware
Hello everybody!

For a long time I wondered about the posibility of adding a FDD to the +2a/b (black). I knew it was possible; All the logic is already in the +2 ULA and the DOS is already in the +2 ROMS. It has been done before: http://www.worldofspectrum.org/BackToThePlus3/

That design uses a 74s188 bprom + about 8 logic chips. My approach was to clone the +3 FFD controller circuit component by component which uses quite less chips (4 logic chips + SED9420 + 765fdc, and you dont have to burn the bprom). This is the result:

15640746840_dfdcd7aa62.jpg

When connected to the expansion port, the interface will turn any +2a/b into a +3 (the startup menu will show "+3"):

15319252411_ce223cf77d.jpg

Of course all DOS commands are available:

15319254971_4c01ecb29a.jpg

The interface is working with 3.5” floppy disk drives (DD mode only), and most probably will work with the HxC emulator too. It has some configuration jumpers and switches on board:

DS1: Enables the use of drives configured as DS1
RDY: Forces the READY signal (for drives which cannot output this signal)
A/B: Assign the DS1 drive to either A: or B:
HDSEL: Select the head (toggles between disk sides)

Also has a standard 4 pin power socket on board. I do not recommend to power floppy drives that uses the +12v line unless you have a +3 power supply. Most modern drives uses only the +5v line anyway.

At the moment the interface support only one disk drive connected at a time.

Contact me by PM if you like to have one of these. Im planning to have a very few assembled units by the end of the month and if theres enough interest I’ll make some more.

Cheers!
Post edited by BCH on
Thanked by 1leoc

Comments

  • edited November 2014
    Yay an Amstrad SI-1 "clone"! Someone beat me to it, but at least it proves I was correct. :D

    It should be trivial to change it to support both drives (depends if you have any NOT gates left unused), and by making a cable with a twist in, they can both be modern PC drives permanently wired as DS1, so there's no need for selection switches.
  • BCHBCH
    edited November 2014
    I didnt know that was the name of the original interface planned by Amstrad!

    Thanks for the input about supporting both drives. There are some unused gates in the 74hcu04 inverter. I could look it up for a future version. Could you roughly explain how would you do it?

    Also I thought to generate the READY signal based on the SEL0 and INDEX (some floppy adapter for Amiga does that), but I didnt got the time for it...
  • edited November 2014
    BCH wrote: »
    Thanks for the input about supporting both drives. There are some unused gates in the 74hcu04 inverter. I could look it up for a future version. Could you roughly explain how would you do it?

    Without knowing exactly how you have wired things up it's hard to say.

    I was meaning IC15f on the original schematic. If you have that gate already you're sorted. Wasn't sure if you'd omitted it to save an IC as it's not used for [strike]Drive0[/strike] Drive 1 :)

    Could you post a copy of your schematic?
  • BCHBCH
    edited November 2014
    I've included the IC15. As a matter of fact the design matches the original +3 schematics 100%, except the signals (data bus, RW, RD, MTR, etc) are routed through the expansion port.

    The lines DRIVE_0 and DRIVE_1 coming from the IC15 are both routed into pins 10 and 12 on the floppy connector. I thought this will enable both drives but it seems not to work propperly. I will do some further testing with two drives

    Anyway, I'll post my schematic soon.

    Greetz
  • edited November 2014
    BCH wrote: »
    I've included the IC15. As a matter of fact the design matches the original +3 schematics 100%, except the signals (data bus, RW, RD, MTR, etc) are routed trough the expansion port.

    The lines DRIVE_0 and DRIVE_1 coming from the IC15 are both routed into pins 10 and 12 on the floppy connector. I thought this will enable both drives but it seems not to work propperly. I will do some further testing with two drives

    Anyway, I'll post my schematic soon.

    Greetz

    Yep, that's exactly how I was planning to do it :D
    I never got around to it cause I don't have a +2B :lol:

    I was wondering what your switches were doing for drive select, the same (terrible) design as the floppy cables you can buy on ebay? Of course when you get both drives working with an appropriate cable there'll be no need for a drive swap switch anyway.

    The reason your second drive won't work is that DRIVE_0 should go to pin 14, not 10! And also you must connect both pin 16 AND pin 10 to N_MOTOR_ON.

    Once you've done that you should be able to use a standard PC twist floppy cable and two standard PC drives (i.e. both jumpered DS1). The drive in the middle will be Unit 1 (B) and the one after the twist Unit 0 (A).

    You will still have to force the N_READY signal with a switch of course. :(
  • edited November 2014
    This is a most interesting idea indeed.
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited November 2014
    Yerzmyey wrote: »
    This is a most interesting idea indeed.

    I had the idea to build on of these a while ago when I was doing the schematics and researching the history of the +2A/+3 etc. As I say, I don't own a +2B myself so never got around to building it. I'm glad BCH is doing what I was too lazy to do and producing one! :-)

    A board such as this is effectively what Amstrad planned to release as the SI-1. At least from the description in the +2A user manual. As far as we know Amstrad abandoned it and it never went into production. Whether they ever had a prototype isn't known.
    The planned SI-1 is the reason for the three drive control signals present on the expansion port which, until now, have been useless :)
  • BCHBCH
    edited November 2014
    guesser wrote: »
    The reason your second drive won't work is that DRIVE_0 should go to pin 14, not 10! And also you must connect both pin 16 AND pin 10 to N_MOTOR_ON.

    Once you've done that you should be able to use a standard PC twist floppy cable and two standard PC drives (i.e. both jumpered DS1). The drive in the middle will be Unit 1 (B) and the one after the twist Unit 0 (A).

    You will still have to force the N_READY signal with a switch of course. :(

    Thanks for the info. I just followed a table found here:
    http://www.secarica.ro/html/plus3_hardware.html
    Which shows n_DRIVE SELECT 0 on pin 10 and n_DRIVE SELECT 1 on pin 12... I've successfuly used this pinout to build floppy ribbon cables...

    But I see what you mean:
    n_DRIVE0 (IC15 pin 4) to pin 14
    n_DRIVE1 (r76) to pin 12
    n_MOTOR_ON to pins 16 and 10

    I will try it out over the weekend to see the results.

    You will still need the HDSEL switch if you want to access both sides of the disk.
  • edited November 2014
    Nice job there BCH :smile:;):p

    Mark
    Sinclair FAQ Wiki
    Repair Guides. Spanish Hardware site.
    WoS - can't download? Info here...
    former Meulie Spectrum Archive but no longer available :-(
    Spectranet: the TNFS directory thread

    ! Standby alert !
    “There are four lights!”
    Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb!
    Looking forward to summer in Somerset later in the year :)
  • edited November 2014
    @BCH

    Well done my friend, well done indeed!
  • edited November 2014
    BCH wrote: »
    Thanks for the info. I just followed a table found here:
    http://www.secarica.ro/html/plus3_hardware.html
    Which shows n_DRIVE SELECT 0 on pin 10 and n_DRIVE SELECT 1 on pin 12... I've successfuly used this pinout to build floppy ribbon cables...
    Aha, that table is the pin numbers for a shugart drive not a modern floppy drive :)
    BCH wrote: »
    You will still need the HDSEL switch if you want to access both sides of the disk.
    Er, you don't need a manual head select switch... The head select line is wired up from the floppy controller, if you've copied the +3 circuit right...
  • edited November 2014
    All one needs to do now is get the +3e ROM working on the earlier 128k machines ;)
  • edited November 2014
    Zetr0 wrote: »
    All one needs to do now is get the +3e ROM working on the earlier 128k machines ;)

    er, nope :p

    An SI-1 type interface only works on the machines with the Amstrad gate array. That does all the port decoding for the floppy control lines. You could build them into the 128k of course along with all the extra ROM and RAM paging but why bother :lol:
  • BCHBCH
    edited November 2014
    guesser wrote: »
    Er, you don't need a manual head select switch... The head select line is wired up from the floppy controller, if you've copied the +3 circuit right...

    mmm, but lets say you copy two images from the WOS archive; one to each side of the disk. You will need the switch to access to each side, right?
  • edited November 2014
    BCH wrote: »
    mmm, but lets say you copy two images from the WOS archive; one to each side of the disk. You will need the switch to access to each side, right?

    Ah, I see what you mean. I guess I just wouldn't do that :)

    My 3.5" disks are natively formatted and files copied onto them, I've never just written 180k .DSK files to them.

    If you want a switch to force the head select line high or low, I would try putting a series resistor between the gate and the switch and drive to stop it shorting the gate out when you ground it. Alternatively you could do it properly in you logic. Change the 7404 (IC15) for a quad NAND or NOR for example since you're only using a single NOT in that chip.
  • BCHBCH
    edited November 2014
    guesser wrote: »
    The reason your second drive won't work is that DRIVE_0 should go to pin 14, not 10! And also you must connect both pin 16 AND pin 10 to N_MOTOR_ON.
    (

    Thanks! I've already fix that and it seems to work fine with two DS0 drives. As you said, the one after the cable twist becomes A: and the other is B:

    At the beginning seemed kind of erratic behavior (wouldnt read some disk, etc) but I belive it was the disks themselves that were bad. Still Im going to do more testing the coming days.
  • edited November 2014
    BCH wrote: »
    Thanks! I've already fix that and it seems to work fine with two DS0 drives. As you said, the one after the cable twist becomes A: and the other is B:

    Hurrah! \o/

    How are you handling ready signal at the moment? Just the usual switch to force N_READY to 0v?

    Obviously the best solution is just modifying drives to provide the RY instead of DC but that's beyond the skills of most people and only possible with certain drives. I must get around to having an experiment with my ALPS drives that I have several of to see if they can be modded at all.
  • BCHBCH
    edited November 2014
    guesser wrote: »
    Hurrah! \o/
    How are you handling ready signal at the moment? Just the usual switch to force N_READY to 0v?

    At the moment, yes. But I've been looking at this Amiga floppy adaptor that uses a 74ls38 to generate a ready signal out of the nSEL and nINDEX lines:
    http://www.ianstedman.co.uk/Amiga/designs/Floppy_Adaptor/floppy_adaptor.html

    So, I just got a few ls38 to try it out...
  • edited December 2014
    Nice and beauty :)

    DSC_0018%20-%20Copy.JPG

    DSC_0025%20-%20Copy.JPG

    very nice work BCH :) I will give try tomorrow :)
    okey explain please again about jumpers :)
    I need to get floppy cable, 2 equal floppy drives (from where power for fdd's ? I think to connect to ATX power supply for test)
    and what after this ?:) I have recorded few 3.5 disk with speccy games, I think to try and 3' amstrad external drive, that will be fun :)

    jumpers are for ... ? :)

    Greets,
    Gorski
  • BCHBCH
    edited December 2014
    gorski wrote: »

    very nice work BCH :) I will give try tomorrow :)
    okey explain please again about jumpers :)
    I need to get floppy cable, 2 equal floppy drives (from where power for fdd's ? I think to connect to ATX power supply for test)
    and what after this ?:) I have recorded few 3.5 disk with speccy games, I think to try and 3' amstrad external drive, that will be fun :)

    jumpers are for ... ? :)

    Greets,
    Gorski

    Glad you got them!

    Jumper "DS1" and switch "A:/B:" must be always like you received them (jumper closed and switch in downward position).
    Jumper "READY/DC" must be closed only if your floppy drives cannot output the "READY" signal. I very much recommend to modify (if possible) the drives to output this signal.
    I personally use two Samsung SFD321B modified for READY (they have a small jumper inside) and they work flawless. I've also tryed mixing different drives models but the behavior is somehow unstable.

    The "HDSEL" switch is to select the side of the disk (since we can only insert the disk one way). The limitation is that the switch acts on both drives at the same time (you can select side 1 or 2 for "A:" and "B:", but not side 1 for "A:" and side 2 for "B:").
    If you use 720k formatted disk you need to keep this switch in the upward position.

    Use a normal PC ribbon cable with the twist at one end; the drive connected after the cable will become "A:" and the one before "B:". Of course you can use just one drive :)

    To power the drive from the interface itself you will need to build a cable. The power socket is the white one, on the side of the floppy connector. Pinout is: 5v, GND, GND, 12v (from left to right; Also the "5v" is matked on the board).

    I also have an Amstrad 3 inch drive that I would like to try it with the interface. Lets see if I have time next holidays.

    Please let me know how it goes.

    Cheers!
  • edited December 2014
    Hi All :)
    small video not very interesting at all :)
    https://www.youtube.com/watch?v=9h3IftgWWOk
    fdd interface working perfectly well :)
    I try with different fdd's and all of them have excellent results, I make on two samsung sfd321 mod to have ready signal on pin 34 and they work great but I don't show difference compared to normal fdd's, I record 3.5 disks with greatest Simon Owen samdisk tool of course, on very stable floppy drive sony on brand new diskettes, first times I forget to close high density hole and resulting disks don't read on spectrum but this is normal, after close hole and make diskettes "dd" I have 100% writing and reading success, 2 fdd's working well, amstrad 3' working well too after little play with jumpers and one burned fuse on +2a power :) May be getting power from interface is better idea at all. Very nice interface at all :)

    Greets,
    Gorski
  • BCHBCH
    edited December 2014
    gorski wrote: »
    Hi All :)
    small video not very interesting at all :)
    https://www.youtube.com/watch?v=9h3IftgWWOk
    fdd interface working perfectly well :)
    I try with different fdd's and all of them have excellent results, I make on two samsung sfd321 mod to have ready signal on pin 34 and they work great but I don't show difference compared to normal fdd's, I record 3.5 disks with greatest Simon Owen samdisk tool of course, on very stable floppy drive sony on brand new diskettes, first times I forget to close high density hole and resulting disks don't read on spectrum but this is normal, after close hole and make diskettes "dd" I have 100% writing and reading success, 2 fdd's working well, amstrad 3' working well too after little play with jumpers and one burned fuse on +2a power :) May be getting power from interface is better idea at all. Very nice interface at all :)

    Greets,
    Gorski

    Great! Nice you have them working!
    You can also modify the disk drive to be on DD mode always by taking out the density detect switch and cut a trace. In this way you dont have to close the density hole on every diskette.
    A word of caution if you power the old Amstrad 3' drive from the computer; this drives use also the 12v line so if you are powering the Spectrum with the original +2 power supply it wont hold longer (hence the burned fuse). With modern disk drive is not a problem because most of them only use the 5v line.
    If you like to power the Amstrad 3' drive from the Spectum (either from the power socket or from the interface) is better if you use a +3 power suppy as they have more amps on the 12v line.

    Cheers!
  • Is there anyone making SI-1 "clones" these days? I messaged BCH to see if he might still have one to sell, but he hasn't been on the forum for quite a while.
  • I would be interested in a kit as well as inhave a plus2a as well as plus3 and building a harlequin 128k and one of these would be fun to have
Sign In or Register to comment.