News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

DDI-1 DIY

Started by SilverGreen93, 11:05, 19 September 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SilverGreen93


EDIT: Project finished.


To order, fill the spreadsheet here: https://docs.google.com/spreadsheets/d/1GleRhKIo71r2kXYFSYJaaIWSvXhHe1CcnDU0wpnyp_w/edit?usp=sharing
I will contact you via PM. Shipping may vary.


Original post:

Hi,


I'm planning to make myself a DDI-1 interface by following the schematics in the service manual. After taking a look at the schematic I have some questions:
1. Is the standard 3.5" Floppy compatible with DDI-1 without any modifications? *Other than the different pinout which I will adjust.
2. Does the Interface support 2 drives? I see that there is a Drive select 0 & 1, but only one Motor On signal. Is the Motor On signal common for both?
3. Why is there a capacitor, C115, in series with the +5V Rail? As far as I can recall, DC is blocked by capacitors...
4. Can I use a 32K EPROM instead of the 16K one and use A14 to switch between AMSDOS and PARADOS? Are they interchangeable?
5. What are LK1, LK2, LK3 jumpers for?
6. The 74LS240 seem to be tri-state buffers rather than inverters, I presume that the 1G and 2G inputs are grounded to be used as a simple inverter.
7. Can I use 2N2222 transistors instead of KTC1815? Seems that the spec is even better than needed.


Thank you very much!


P.S.: Yes, I know there are some clones and DDI3, but I prefer to do it myself because I already have the required components and I need only the PCB.

Bryce

#1
Hi Silvergreen93,
           some answers:

1 - No, a PC 3.5in drive doesn't output a "Ready" signal, so the drive needs to be modded to do this. Also, PC drives are hardwired as DS1, meaning that they are drive B:, this also needs to be modified.
2 - Yes, it supports 2 drives and yes only one Motor-on signal, common for both.
3 - This is the tricky part and you will have to decide how you get around this one. You are correct, capacitors block DC. The DDI-1 actually gets its power from the FD-1 Floppy drive, not from the CPC. You could replace this capacitor with a bridge so that the CPC supplies the power, but Amstrad obviously had problems with the reset sequence and this was their solution.
4 - Yes, there's instructions on the Wiki explaining how to do this. They are interchangeable as long as you don't leave A14 floating.
5 - LK-1 sets the /EXP signal, possibly so that the 464 could detect that a DDI-1 is connected. However, I don't think any software or the firmware actually use this signal. LK-2 and LK-3 are to adjust the pre-compensation level of the data seperator. However I think that they are always set with both links present.
6 - Correct.
7 - Any general purpose NPN transistor could be used here. However, take note that the KTC1815 has a different pin order (BCE) than most modern transistors such as the 2N2222 (CBE), so you'll have to route the PCB slightly differently.

Bryce.

rpalmer

Silvergreen93,

Where did you get the NEC765 disc controller IC or are you using a FPGA (or similar) to emulate the 765?

rpalmer

SilverGreen93

Quote from: rpalmer on 12:34, 19 September 17
Silvergreen93,

Where did you get the NEC765 disc controller IC or are you using a FPGA (or similar) to emulate the 765?

rpalmer


Well, I found about 5pcs left at my local electroincs shop at $1.50 a piece :D And they were genuine NEC parts.


But I did search on ebay and found http://www.ebay.com/itm/NEC-UPD765AC-2-D765AC-2-Floppy-Disk-Controller-IC-DIP40-x-1pc-/162094807385?epid=607929550&hash=item25bd9a7959:g:tqIAAOSwuxFYwQ9a


I wanted to use a FPGA to emulate the whole DDI-1 interface, this seems doable, but I do not have much info of the exact operation of the 765 and the 9229

SilverGreen93

Quote from: Bryce on 11:49, 19 September 17
1 - No, a PC 3.5in drive doesn't output a "Ready" signal, so the drive needs to be modded to do this.
3 - This is the tricky part and you will have to decide how you get around this one. The DDI-1 actually gets its power from the FD-1 Floppy drive, not from the CPC.


Thank you for complete answers!


1 - How can the FDD be modeed to support the Ready signal? I remember I had a 5.25" drive with a jumper to select Disk Change or Ready signal, but I don't recall having a 3.5" with this option.
Maybe I can include the mod in the PCB to make it compatible with any FDD.


3 - Is there any problem if I do power the DDI and the FDD from the expansion port of the Amstrad? As the Amstrad doesn't have any local regulators, if the external 5V PSU is good enough, it technically should work fine.

Bryce

1 - The mod needs to be done on the drive itself. The only external mod would leave the Ready signal permanently enabled which messes up some software that needs to know you changed disks. There are many threads and articles here and around the web to show which drive makes/models are convertable. some are simple jumper moves, some require PCB changes.

2 - Oh, there's no 2, on to number 3.

3 - I have my DDI-1 powered from the CPC. It works most of the time, but some cold starts result in ROM 7 (The AMSDOS in the DDI-1) not being detected.

Bryce.

IanS

Quote from: SilverGreen93 on 11:05, 19 September 17
5. What are LK1, LK2, LK3 jumpers for?
If LK1 is not set then the ROM appears as ROM 0, which causes the ROM software to auto-boot CPM. (There is a pull-up resistor within the CPC which pulls the inputs to the XOR gate high.

rpalmer

Quote from: Bryce on 11:49, 19 September 171 - No, a PC 3.5in drive doesn't output a "Ready" signal, so the drive needs to be modded to do this. Also, PC drives are hardwired as DS1, meaning that they are drive B:, this also needs to be modified.

While bryce is correct that PC drives are defaulted to DS1, swapping the respective wires in the cable fixes that (as can be seen in PC floppy cables). There are older drives which could select DS0/DS1 and these are rare today (I have a TEAC FD-235F which select DS0/D1 as the default setting).

Bryce is also correct about the ready signal for many of the recent floppy drives, however there are older drives which can select to have "Ready" signal or a "Disk Changed" signal (such as the TEAC FD-235F I mentioned).

Some people have found success with a "Ready" Signal by connecting it to ground, but some software does not like this and will complain bitterly. I think that maybe connecting "Ready" to the respective drive select signal or "Motor On" signal can be a good choice as both are active low to match the active low of "Ready".

SilverGreen93

#8
@IanS: Hm... So LK1 is a quick way to boot CPM from disk? I will try that.


@rpalmer: I have a lot of 10-12 FDDs laying around from old PCs and I know for certain that I have 3 TEAC FD-235HF with an "H", hope it's the same thing. If nothing else works I'll try a jumper to GND.

SilverGreen93

#9
After some unfortunate delays, I finally managed to re-write the DDI-1 schematic using Proteus Design Suite.
I only modified the floppy interface to 34 pin standard and the double-size EPROM for dual ROM.


I attached a picture of the schematic if anyone likes to take a look and maybe find mistakes, if any.


I will now start to design the PCB and then order some in China. If anyone will be interested, I will sell the rest and/or maybe make some DIY kits, as I only need 1 piece.
Updates will be posted.


P.S.: If anyone does want to request the original Proteus file, I will post it here after the PCB design is done.

Bryce

Looks good, assuming you've connected all the TTL power pins and you've got your footprints correct.

Bryce.

SilverGreen93

The first version of the PCB is almost finished. I need to check that all components fit without interfering with the CPC or connectors and also to tweak some various traces or small changes.
If anyone has any other design suggestion in this phase before sending to production it is really welcome.
The board is aprox 9.7x9.9cm and is designed to be mounted vertically, the floppy connectors being on the back.
(The red connector in the 3D is the card-edge one)

Bryce

It's very tall and will block the screen for many users. You should spread the design horizontally like the original DDI so that it's not blocking your view.

Bryce.

SilverGreen93

Quote from: Bryce on 11:13, 14 November 17
It's very tall and will block the screen for many users. You should spread the design horizontally like the original DDI so that it's not blocking your view.


Thank you for feedback Bryce!
I haven't thought of that, in my case I have an LCD monitor that is 40 cm away and about 15cm up from the table, so it doesn't block my view. I cannot see why this would be a problem for many users, the monitor/TV shouldn't be so close to the CPC I think.


Anyway, I'll try to make another design with the ROM underneath the edge connector to lower the overall position, because extending the design over 10cm will cost a lot more to produce.





Bryce

Many users still use an original CTM Monitor which has 8cm power cables to/from the CPC, so putting the monitor higher/further away isn't an option.

Bryce.

SilverGreen93

Quote from: Bryce on 11:35, 14 November 17
Many users still use an original CTM Monitor which has 8cm power cables to/from the CPC, so putting the monitor higher/further away isn't an option.


I see. I didn't know that, I haven't had the original monitor, but it sounds like the CRT is dangerously close to the eyes. :D

Bryce

Quote from: SilverGreen93 on 11:38, 14 November 17

I see. I didn't know that, I haven't had the original monitor, but it sounds like the CRT is dangerously close to the eyes. :D

Depends how long your arms are :D

Bryce.

khaz

Quote from: SilverGreen93 on 11:20, 14 November 17
Anyway, I'll try to make another design with the ROM underneath the edge connector to lower the overall position, because extending the design over 10cm will cost a lot more to produce.

Another design you could try is move the board so that it fits next to the drive instead of next to the computer. This would require an additional ribbon cable, but then if you can fit the board e.g. under the drive, it could allow for a pretty enclosure design.

A couple of suggestions:
- It could be interesting to add a +5V line out on the board to power the drive. The original power supply of the CTM isn't enough, but if you are using an external power supply, it should be enough. No need to add yet another PSU just for the drive.
- Or the other way around, and you power the board with the PSU you planned to use with the drive. Like Amstrad did. You need an additional PSU if your drive needs +12V anyway (modern drives don't). Which would go well with my first suggestion of fitting the board next to the drive.
- You may want to add a jumper / switch to short pins 31-32 to access the other side of the drive.

Can the DDI-I be used to connect two drives directly?

SilverGreen93

#18
The board is designed to power the floppy without any additional power supply. See the 4 pin connector beneath the FDC connector.
I cannot move the board away from the Amstrad as I don't have any ribbon cable edge connectors to make a cable for it.

Quote from: khaz on 13:52, 14 November 17- You may want to add a jumper / switch to short pins 31-32 to access the other side of the drive.


The disks are not double sided on the original DDI-1? Do I need to add a jumper to switch sides?
I see that an output signal /SIDE1 exists and is driven directly by the uPD765...


I asked in the first page if the interface will be able to use both drives and Bryce said that it is.

Bryce

Moving the PCB to the other end of the cable (at the drive end) won't work. The expansion port signals aren't buffered and are too weak to drive a signal down a meter of cable. They are also much more likely to damage the CPC through static discharge - Long plastic cable connected directly to CPU pins = bad idea. The DDI-1 has buffered outputs to allow the cable to the drive to be that long.

The CTM PSU does have enough power to drive the DDI-1 (as long as you don't have 5 or 6 other expansions connected), the seperate 5V supply in the FD-1 was done for other reasons. But your idea about powering it from the drive supply is still a good idea as it takes the load off the CPC. Just make sure that they are isolated from each other, otherwise you'll have issues that could involve flames. :)

Bryce.

khaz

Quote from: SilverGreen93 on 13:59, 14 November 17
The disks are not double sided on the original DDI-1? Do I need to add a jumper to switch sides?
I see that an output signal /SIDE1 exists and is driven directly by the uPD765...[/font]

Parados, and other custom DOS can access both sides directly, but only for floppies formatted for it (like ROMDOS format or games with a custom DOS like Orion Prime). If you try to put two standard DATA dsk images on your 3.5, you will only be able to access one.

khaz

Quote from: Bryce on 14:04, 14 November 17
Moving the PCB to the other end of the cable (at the drive end) won't work. The expansion port signals aren't buffered and are too weak to drive a signal down a meter of cable. They are also much more likely to damage the CPC through static discharge - Long plastic cable connected directly to CPU pins = bad idea. The DDI-1 has buffered outputs to allow the cable to the drive to be that long.

A meter haha, I wasn't planning to put the drive on the other side of the room. Even something like 30cm is too long for that?

I had no idea about that sort of challenge.

SilverGreen93

#22
Quote from: khaz on 14:11, 14 November 17
Parados, and other custom DOS can access both sides directly, but only for floppies formatted for it (like ROMDOS format or games with a custom DOS like Orion Prime). If you try to put two standard DATA dsk images on your 3.5, you will only be able to access one.


Ok, I will add a jumper to ground if you say that it is required for other types of floppies. Does the standard BASIC floppy type require this to use both sides?


@Bryce, is this modification ok for all floppy types?

A 3 pin jumper like this:

/SIDE1 >--------*
                        *--------------> to pin 32
GND >-----------*

Bryce

#23
Even 30cm could be an issue without buffers / line-drivers.

The side select is fine for 3.5in drives, but it would need to be switched if a 3in drive is connected.

Edit: It's not a simple "jumper to ground". Here's how it has to be connected: http://www.cpcwiki.eu/index.php/Side_Select_Switch

Bryce.

SilverGreen93

Quote from: Bryce on 14:21, 14 November 17
Edit: It's not a simple "jumper to ground". Here's how it has to be connected: http://www.cpcwiki.eu/index.php/Side_Select_Switch


Well, isn't that what I suggested above? a switch between GND and /SIDE1 connected to pin 32? I don't quite get the picture from the link, what has it to do with pin 1 and pin 34?

Powered by SMFPacks Menu Editor Mod