Hi all,
it's been a while since I've had the chance to work on something new for the CPC. This time I decided to do something for our CPC464 friends out there. This is the DDI-2 = replacement for the DDI-1 with some improvements. Back when I released the MegaFlash I was flooded with "Why didn't you do this....", "Why didn't you include that..." questions, all too late because the boards had been ordered, so this time I thought I'd ask for comments while the project is still in the early development stage. So first, this is what my goals were and the features it currently has:
DDI-2 Features:
- Physically compatible for use on 464 and 464+
- Smaller than the DDI-1
- Based on FDC9266 Floppy controller, not the µPD765.
- Single header connector for two floppy drives.
- Compatible with FD-1, 3.5in and HxC without any special cables or adapters.
- Mix of FD-1 / 3.5in / HxC possible at the same time.
- Onboard side switch for drives that can use it.
- Onboard Ready switch for drives that need it.
- EPROM with 4 selectable OSs (4x ROM 7)
- Disable switch for onboard ROM so that MegaFlash / ROMBoard OSs can be used.
- Edge connector on PCB.
- Through connector for connecting other expansions (50way header, not edge or Centronics)
Things it doesn't have for a reason: ABBA switch: I decided to leave this off just because of the physical size and expense of having a toggle switch on the PCB. If anyone has any suggestions for features or general comments, please let me know and I'll consider implementing them if it makes sense. And if any electronic knowledgable users spot any mistakes, then let me know too :)
Here's a sneak peek at what it looks like at the moment (yes floppy interfaces are complicated things). Don't try building this at the moment because (A) There's not enough info there to build it and (B) I haven't tested this yet.
Bryce.
I was sure that you worked on it. ;)
It's a long way from being finished, still lots of work to go :( Battling with the layout at the moment, going for SMD as much as possible, but it will still be a tight fit.
Bryce.
Sure, it's just "paper". You will have to prototype it and make changes to work like expected...
But, it's a great project that will allow 464 users to use HxC and 3" real programs. :)
When you prototype will be OK, may be using a CPLD to move most of the logic will help to reduce the size, like I done on the CTC-AY ?
If possible, at end it will stay only something like : CPLD, FDC, EPROM, switches, diodes, resistors and capacitors.
Sounds great :D
In reference to the SMD, would it be worth making it a little larger and adding 64k RAM?
The reason being 64k limits the library of games, and given developers such as Tot0 aim their games at 128k disk only machines (with his excellent R-Type remake), this would provide an excellent all in one solution.
PS. I was thinking about buying this 464 in Ireland (http://www.adverts.ie/other-consoles-games/amstrad-cpc-464/3566950 (http://www.adverts.ie/other-consoles-games/amstrad-cpc-464/3566950)) so would be interested in one.
Quote from: TotO on 13:52, 26 August 13
Sure, it's just "paper". You will have to prototype it and make changes to work like expected...
But, it's a great project that will allow 464 users to use HxC and 3" real programs. :)
When you prototype will be OK, may be using a CPLD to move most of the logic will help to reduce the size, like I done on the CTC-AY ?
If possible, at end it will stay only something like : CPLD, FDC, EPROM, switches, diodes, resistors and capacitors.
The synchronisation on a floppy controller is critical, so I would be very wary about using a CPLD. It's fine for the address decoding part, but replacing the logic between the FDC9266 and the floppy is just asking for trouble.
@Beaker: The expansion header is there to add as much RAM as you like :)
Bryce.
I was just thinking the RAM packs aren't readily available these days so would be a nice addition for someone with a bog standard 464...
Yes, but I'd prefer to do a seperate (512K) RAM expansion that would work on a 464 or 6128. That would also keep the price of the DDI-2 down.
Btw, I've managed to route it using only "old-school" parts :) I prefer using old parts for old computers, SMD just looks wrong connected to a CPC :)
Bryce.
Edit: Just in case you are interested, the current layout is 83mm x 104mm - 10mm higher and 30mm longer than a MegaFlash) and about 3/4 of a DDI-1.
Could it read and write 1.44MB disks if the DOS were altered to allow it?
Yes, it should, but I might have to add a few jumpers to allow you to set some FDC options before it would work. Need to check the datasheet.
Bryce.
Ok, here a couple of important points:
- Please allow to addition of four floppies: DS0, 1, 2 and 3.
- Please allow to use a jumper to change the base IO address between the DDI-1 and the F1-S / F1-D.[nb]Yes, single change of the base address can simulate the Vortex F1-S / F1-D / M1-S and M1-D[/nb] Further it would allow to use the DDI-2 on an 6128 (what I would like to do).
I can provide details if you want :)
btw.: For all that hardware there is already supporting software.
Send me details about F1, I wasn't aware of alternative addresses. I'm not sure about the four drives though? That would mean adding more gates, making it bigger and more expensive. How many people are really ever going to connect four drives to a CPC??
I also need to make some other changes though. Does FOS and other OSs actually use the "Side" command/signal in the µPD765, or do they depend on a physical side switch?
Bryce.
It would be interesting to have 4 HD drives attached to the CPC, especially if side select is implemented, resulting in faster disk operations.
There are some CP/M programs written for 4 drives.
FutureOS does use the side signal of the floppy. And I assume every DOS using something like a 0.7 MB format must use it.
If you provide DS0,1,2,3 instead of only DS0 and DS1 it should be just two wires more. Imagine to be able to have two 3" and two 3.25" inch drives. Making a COPY is then just done in light speed. :)
Ok, to the F1-D (and the three other similar products). Their trick is, that from the software side they completely behave like a DDI-1, but their I/O address is different.
The DDI-1 uses the following I/O addresses:
&FB7E - FDC 0 status
&FB7F - FDC 0 data
The F1-D, F1-S etc use this I/O addresses:
&FBF6 - FDC 1 status
&FBF7 - FDC 1 data
The FDC 0 is hereby the FDC in the DDI-1 or the 664 or 6128. The FDC 1 is hereby the FDC used in a couple of Vortex drives. Both are FDC765 and their only difference is that they have different I/O addresses (and Vortex floppies fully decode DS0,1,2 and 3).
BTW: The Motor ON port is the same for all floppies.[nb]Start FutureOS, goto the Monitor and click at P for Porting System, you see all those ports and you can play with them there. This will help you testing while developing hardware.[/nb]
Adding features not commonly supported on 6128 will only make the board biggest and expensive for things that will be not supported by existing softwares.
512KB ram is not supported by existing software but that's no reason not to make a 512KB ram expansion some day.
Quote from: steve on 22:37, 26 August 13
512KB ram is not supported by existing software but that's no reason not to make a 512KB ram expansion some day.
Vortex 512KB are supported by DISCOLOGY. But... Here, it's not the question... Adding RAM take space too.
464 users only said that they prefer Tape as Floppy. And now, you need 4 drives support ? Nice joke. :)
The CPC was made to support 2 drives, so it's cool if this expansion can do it too. Because, as usual, nobody will write softwares for not standard features.
Quote from: TFM on 22:11, 26 August 13
FutureOS does use the side signal of the floppy. And I assume every DOS using something like a 0.7 MB format must use it.
If you provide DS0,1,2,3 instead of only DS0 and DS1 it should be just two wires more. Imagine to be able to have two 3" and two 3.25" inch drives. Making a COPY is then just done in light speed. :)
Ok, to the F1-D (and the three other similar products). Their trick is, that from the software side they completely behave like a DDI-1, but their I/O address is different.
The DDI-1 uses the following I/O addresses:
&FB7E - FDC 0 status
&FB7F - FDC 0 data
The F1-D, F1-S etc use this I/O addresses:
&FBF6 - FDC 1 status
&FBF7 - FDC 1 data
The FDC 0 is hereby the FDC in the DDI-1 or the 664 or 6128. The FDC 1 is hereby the FDC used in a couple of Vortex drives. Both are FDC765 and their only difference is that they have different I/O addresses (and Vortex floppies fully decode DS0,1,2 and 3).
BTW: The Motor ON port is the same for all floppies.[nb]Start FutureOS, goto the Monitor and click at P for Porting System, you see all those ports and you can play with them there. This will help you testing while developing hardware.[/nb]
The alternative addressing is only to avoid conflicts with the DDI-1 / 6128 controller. Why would my interface need that. It's not meant for 6128, just for 464 owners that miss having disk or HxC.
Regarding DS0 1 / 2 etc: These signals aren't just wires. The controller only has two outputs US0 and US1, these need to be decoded (00 = DS0 01 =DS1 10 = DS2 11 = DS3), so a few extra gates would be required. Each header only has 3 DS lines, so to allow all four you would need a second header too! And as I said, it's not like anyone is ever really going to use this regularly.
Bryce.
I agree, as the only interest to support 4 drives on CPC was to play starwars music. ;D
(but, supporting the HD mode may be interesting if it not require extra IC)
Regarding 1.44 formats. The FDC has a setting for 8in or 5.25in drives. The DDI-1 and 6128 set this to 8in, not 5.25 (which I wasn't expecting). So my interface is (obviously) set to 8in too. Does anyone know what it needs to be set to for 1.44 format? If this needs to be switched to allow some new tricks, I would add a jumper.
Bryce.
Really great news this. The old DDI-1 is hard enough to get your hands on these day, nor is it "userfriendly" to retro games who want to hook up (more) modern drives like 3,5" floppy drive/HxC. No thru connector on the DDI-1 has definately also limited many users as well.
Having a ram expansion on the DDI-2 does sound nice but probably better to keep it off for several reasons. Say like adding a old DKtronic ram expansion actually changes the 464 system .. even thou its just a few bytes its still enough that some commercial games will fail to load (like the games protection checks ram size or CRC or similar or even unexpected run out of space). Same goes for 128k ram games. Commercial software been programmed toward the 6128 "stucture" i guess. Tried a couple of times to load Addams Family 128k from tape (official one) on my 464+dktronic 256k ram. Or loading Xexor on a 464+256k ram+DDI and sadly only see 5k ram free workspace (prepare yourself for a lot of disc swapping, lol). I fear adding the ram will actually "hurt" the DDI-2 compatability more than it would gain. Keeping it off you at least have the option to choose yourself.
720/1.44mb floppy drive compatability: The 6128 can usually access 720k floppies quite reliable but 1.44mb you'd need a ancient good quality floppy drive i recall. Being able to use a drive realiable for 1.44mb would be optimal if not having to worry too much about getting a "compatible" quality drive. Oh and the HxC is really great with its multiple compatability and thankfully there is "budget" versions of it as well .. but it does remind me that there is actually a lot of cheap floppy hardware emulators on ebay .. ive seen both SD and USB ones and 720/1.44mb both as well .. I know, they are probably all horrible incompatible in some way, but i thought id just throw it in as a crazy idea.
If not 4 drives then how about a IDE interface for a CF "harddrive".
Really?? That surprises me only because back in the late 80's/early 90's I had a CPC 464 + DKTronics 64k RAM from new and the budget re-release of Addams Family I had loaded without problem from tape. I don't remember having any problems with any games that used the extra RAM. The only problems I remember with the 464 were basic programs that used 6128 only calls in the old Type-Ins section of AA...
Quote from: Bryce on 22:51, 26 August 13
The alternative addressing is only to avoid conflicts with the DDI-1 / 6128 controller. Why would my interface need that. It's not meant for 6128, just for 464 owners that miss having disk or HxC.
The Vortex-Addressing would enable 664 and 6128 Users to use it in addition. And an upgraded FDC should be accessible for everybody.Software does exist for The four-drives-patch and for the alternative addressing. Plenty.Quote from: Bryce on 22:51, 26 August 13Regarding DS0 1 / 2 etc: These signals aren't just wires. The controller only has two outputs US0 and US1, these need to be decoded (00 = DS0 01 =DS1 10 = DS2 11 = DS3), so a few extra gates would be required. Each header only has 3 DS lines, so to allow all four you would need a second header too! And as I said, it's not like anyone is ever really going to use this regularly.
Bryce.
Ok, that's just a simle 2 to 4 multiplexer, right?
But don't be offended if you ask for comments. I think I got two good points here, but it's your choice if you pick them up or not.
Quote from: TotO on 22:55, 26 August 13
I agree, as the only interest to support 4 drives on CPC was to play starwars music. ;D
(but, supporting the HD mode may be interesting if it not require extra IC)
There is absolutely no software for supporting HD formats. But there is plenty of software supporting 4 drives - and in contrast to HD formats - it does make sense to have four drives:
- Copy 3" to 3" or 3.5" to 3.5" directly (without the need of unplugging replugging drives all the time)
- Usage of 3", 3.5" and 5.25" discs ("")
- Access of up to about 3 MB of space (I wrote programs bigger than that already).
Dang.... I was going to name my project DDI-2 :)
My version is more like a clone with additional features (ready & side switches, pause, reset, parados+original ROM). It uses the original chips. Logic chips changed to smd.
The 64k additional RAM sounds interesting. Any schematic for it?
I said "if not require extra IC".
It's not possible to indefinitely add features... On my WIP boards, I have to make choices too.
I would like to add, add, add features because each time it's only a simple IC more, but at end the board come no more routable without increasing too much it's size. (that is actually this board problem)
More features is always great, but like usually a choice need to be done to feet on a 10x5cm or 10x10cm maximum PCB size, else the price explode.
I did some thinking and staring at the schematic last night and decided to change a few things. The board will now have a separate header for Drive A: and B: this makes "ABBA" possible without a switch and also solve the "FD-1 and 3.5in on the same cable" problem.
Still not sure about how I should implement the ready signal switch properly. Same with the side switch - Before someone says "It's easy, you just short pin x to ground", that's unfortunately not a good idea. The cables that offer this forget to mention one important fact: If you close the ready switch and the other drive can supply a ready signal, you are shorting the output of a logic IC to ground. This is a really bad idea. It will work, but it's only a matter of time before the drive with the ready signal fails. The side switch is exactly the same, but this time you are shorting the output of a DDI-1 or 664/6128 logic IC, which means that will eventually fail instead. I'd prefer my device not to endanger any hardware no matter how ham-fisted the user is.
Bryce.
A wonderful idea, and I'll buy at least one for sure, no matter what extra features will be included. :)
Quote from: Bryce on 08:36, 27 August 13
Still not sure about how I should implement the ready signal switch properly. Same with the side switch - Before someone says "It's easy, you just short pin x to ground", that's unfortunately not a good idea. The cables that offer this forget to mention one important fact: If you close the ready switch and the other drive can supply a ready signal, you are shorting the output of a logic IC to ground.
Isn't drive interface using open collector output ? Shorting a pin to ground should not do any damage.
however, I do not like the idea of shorting the ready signal. I prefer finding an alternative way of generating one.
Quote from: TFM on 01:10, 27 August 13
But there is plenty of software supporting 4 drives
Really?
Where?
Want to do more testings...
Quote from: gerald on 10:32, 27 August 13
Isn't drive interface using open collector output ? Shorting a pin to ground should not do any damage.
however, I do not like the idea of shorting the ready signal. I prefer finding an alternative way of generating one.
For the side switch: The DDI-1 and 6128 use a NAND gate 7400 or 74LS38 which are open collector, so that shouldn't be an issue. My device uses a 74LS240 which would be an issue.
For the ready signal it's a different story, you can't be sure what the floppy drive is using, it could be either and there are so many different versions of drives. I'm not sure what the HxC uses, there are different versions. The original used a 74LS01 for the ready signal, but I think the latest version just uses a PIC output pin, so it's better to play it safe than have someone screaming "Your DDI-2 broke my HxC / floppy or whatever".
Bryce.
Quote from: Devilmarkus on 10:39, 27 August 13
Really?
Where?
Want to do more testings...
See previous posts.[nb]Sorry, can't help more. That's not my PC and I don't have my links here.[/nb]
Quote from: Bryce on 08:36, 27 August 13
I did some thinking and staring at the schematic last night and decided to change a few things. The board will now have a separate header for Drive A: and B: this makes "ABBA" possible without a switch and also solve the "FD-1 and 3.5in on the same cable" problem.
Still not sure about how I should implement the ready signal switch properly. Same with the side switch - Before someone says "It's easy, you just short pin x to ground", that's unfortunately not a good idea. The cables that offer this forget to mention one important fact: If you close the ready switch and the other drive can supply a ready signal, you are shorting the output of a logic IC to ground. This is a really bad idea. It will work, but it's only a matter of time before the drive with the ready signal fails. The side switch is exactly the same, but this time you are shorting the output of a DDI-1 or 664/6128 logic IC, which means that will eventually fail instead. I'd prefer my device not to endanger any hardware no matter how ham-fisted the user is.
Bryce.
Agreed! And further supported from the software side: A lot of software depends on a working Ready signal, so a shortcut would be a really bad idea.
Quote from: plazma on 06:47, 27 August 13
Dang.... I was going to name my project DDI-2 :)
My version is more like a clone with additional features (ready & side switches, pause, reset, parados+original ROM). It uses the original chips. Logic chips changed to smd.
The 64k additional RAM sounds interesting. Any schematic for it?
I thought it sounded familiar :laugh:
Yeah, I still like the idea of just having an all-in-one solution where the DDI and RAM is included to allow you to run most commercial games straight out of the box as this is the version I'd prefer, but at the same time I can see Bryce's point that having a seperate module would allow it to be used by 6128 and 464 users as this also makes sense. Personal preference at the end of the day...
Then all we need is a Multiface II built in (as they're going for stupid money) so we can save the game state by dumping the memory to a disk image on the HxC, and allow you to poke around the memory and it'll be perfect :D Maybe at that point you should call it the DDI-Ultimate in homage to that C64 all in one cartridge (http://www.1541ultimate.net/content/index.php?option=com_content&view=article&id=42&Itemid=20 (http://www.1541ultimate.net/content/index.php?option=com_content&view=article&id=42&Itemid=20))
No idea about the schematics though, sorry.
I agree with Bryce a Floppy should stay a floppy and shouldn't become an Symbiface or whatever.
Focus should IMHO be kept on Floppy-related features :)
Bryce will care about a 4 MB RAM expansion, ups 512 KB RAM expansion in Future anyway. ;)
Yeah, I am just musing that if there are 2 similar projects, why not have one aimed at people coming back to the CPC 464 (now we're all heading to middle age) or are curious about the machine, who are not necessarily enthusiasts like pretty much everyone here, and just want a single bit of kit they can plug into the back of the machine that will let them load any commercial game from a HxC or FD-1 without having to worry about things like memory.
Then Bryce's one can be the all singing, all dancing one that you can connect anything you want to.
We're quite a small scene and it may open it up to new people if there is a market?
If not, I am talking bollocks and ignore me :laugh:
Just get a Symbiface II, then you have all you want. :)
Is Symbiface still available?, where from?, how much?
Quote from: steve on 23:19, 27 August 13
Is Symbiface still available?, where from?, how much?
From someone who's willing to sell you theirs, probably for about €100 :D
Bryce.
Quote from: Bryce on 08:14, 28 August 13
From someone who's willing to sell you theirs, probably for about €100 :D
Bryce.
What?!? Mine has devalued by €20 in under a year, it's as bad as a new car I tells ya :laugh:
No chance to expect it's value dropping, as 120€ was its price when available. (since 9 years)
But... "about 100€", not exclude more.
it seems more cheap to just buy a 6128 when you have a 464...
It is cheaper, but if like me you grew up using a 464 and still prefer using that machine and you want to use nice stuff like the HxC, then you aren't looking for the cheapest solution.
Bryce.
I like my 464, but I would prefer something that takes less space with the same features.
Someone might consider a wiki article about fitting a 6128 pcb inside a 464 case, or fitting the coloured keytops from a 464 to the keyboard of a 6128. :D
Now that's just butchery if you ask me! ( which you didn't :D )
Bryce.
What about a KC compact? Does that have a tape port? Looks nice IT - PC - RFT Kleincomputer KC Compact - VEB Mikroelektronik - Orig. Prospekt | (http://www.ebay.de/itm/370882226325)
I would like a CPC 464 again just for gaming as it was the one I grew up with as well, and leave all of the specialist stuff with lower ROM and ROM boards on the 6128.
Quote from: steve on 23:19, 27 August 13
Is Symbiface still available?, where from?, how much?
Some month ago, for some months(!) Prodatron kept the lines open for everyone to ask for a new SF2. Now the new batch was made in Spring and shipped recently.
Contact him for more details.
The price is like always 120 Euros.
Quote from: Bryce on 08:14, 28 August 13
From someone who's willing to sell you theirs, probably for about €100 :D
Bryce.
At Ebay never under 200 Euros. Somebody even sold the CPC-IDE (the predescessor of the SF2) for 457 Euros.
Quote from: beaker on 09:54, 28 August 13
What?!? Mine has devalued by €20 in under a year, it's as bad as a new car I tells ya :laugh:
Ah! You got one, and still bitch about 64 KB! Shame on you! :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh:
Quote from: McKlain on 12:25, 28 August 13
it seems more cheap to just buy a 6128 when you have a 464...
This is the solution I suggest to everyone!
Back to topic...
Will the four drives solution work?
Will the DDI-2 use alternate addressing?
Quote from: TFM on 20:03, 28 August 13
Ah! You got one, and still bitch about 64 KB! Shame on you! :laugh: :laugh: :laugh: :laugh: :laugh: :laugh: :laugh:
Actually TFM, that's only half the story. I've actually also got one of Yarek's 512kb RAM modules as well :-[ Bryce modified for me last year and changed the header and made me a cable so I can use it with the LowerROM and Megaflash and I am guessing the DDI-2 when it's released....
[attach=2]
I was just trying to make the argument for those who may not have these parts :-[
Quote from: steve on 23:19, 27 August 13
Is Symbiface still available?, where from?, how much?
Yup, Prodatron over at http://www.symbos.de (http://www.symbos.de) does a batch SF2's from time to time in the past.
@Beaker: I've been looking for a KC Compact for years. Supposedly all my expansions work on it too, but I'd like one to do my own tests to be 100% sure.
@TFM: I'm still looking at the four drives solution. Now that the expansion has two floppy headers it's a high possibility that I will implement it (just for you :) ). The alternative addressing is highly unlikely because it looks like it would mean adding another IC to the board, which just isn't possible or wanted at the moment.
Bryce.
Status Update: I've managed to implement both the Ready switch and a manual/automatic side switch (in a safe manner) and I've even managed to get this to route on a 100x80mm PCB. The board is packed to its limit and the layout is getting ridiculously complex (see below), so I doubt it is possible to implement anything more. Both the 4 drives and alternative addressing would require an additional IC that I just don't have the space for.
A question occured to me while battling with the routing: On an original DDI-1, the hardware is designed to make use of the side signal, even though the FD-1 doesn't use it, nor is it supported in AMSDOS. So instead of having manual side switches on cables or on this interface, why hasn't someone just added a "|Side" command to AMSDOS, so that 3.5in drives are fully usable in AMSDOS?
Bryce.
Does it have a little LED to show the unit's getting power from the machine? I always find them reassuring for some reason :laugh:
No it's LEDless at the moment. I did consider adding a power and/or activity LED, but that can come later. I was also considering adding a "peripheral header", but that's looking doubtful now due to lack of space. The periheral header would have allowed you to plug in an addition PCB with track, sector and side display. Just a gimmick, but I like things that flash pointless information :)
I'm going to freeze the design for now and build a prototype to confirm the design so far.
Bryce.
Ok, just for you beaker, I've added a power LED. The layout below looks a bit different because the ground plane is now visible too.
Bryce.
Yay, I didn't get the 64k RAM that I didn't need but I got an LED :D :D :D :D
Quote from: Bryce on 10:57, 29 August 13
A question occured to me while battling with the routing: On an original DDI-1, the hardware is designed to make use of the side signal, even though the FD-1 doesn't use it, nor is it supported in AMSDOS. So instead of having manual side switches on cables or on this interface, why hasn't someone just added a "|Side" command to AMSDOS, so that 3.5in drives are fully usable in AMSDOS?
It's done in hardware so that it works with all software.
Imagine you had a 3.5" drive B, and on 1 side you had copied some software that used a special loader.
Loader thinks it's using side 0.
Then on the other you did the same.
With the switch you can choose which side to load from, the software doesn't know. It still thinks it's on side 0, but you've hardware switched it to side 1.
With software it'll only work under amsdos and not for special loaders.
Same reason that the drive switch is hardware, you do this for software that only likes to load from drive A, use the switch and now the 3.5" drive is drive A and the 3" drive is drive B. Software happy :)
Yes, but the special loaders on original software don't set the side do they? If you had a 3.5in disk full of software. Lets say we have "Gauntlet" saved on Side 0 and "Strike Force Harrier" on side 1. Just finished playing Gauntlet, hit the F1 key (which the modified AMSDOS uses to swap sides) and type Run "Disk" or whatever and load my software. Wouldn't that work? The software still doesn't know which side I'm using. Even modern loader like Batman forever would work because you have a switch that both the user or software can set.
The ABBA switch is a different matter, I understand why that should be implemented in hardware.
Bryce.
Please use these switches:
(http://www.digitrax.com/static/apps/tsd/images/dpdt5.jpg) (http://www.digitrax.com/static/apps/tsd/images/dpdt5.jpg)
or better yet:
(http://wzmgpkh.antiquesnavigator.com/ebay/images/2010/280564275121.jpg) (http://wzmgpkh.antiquesnavigator.com/ebay/images/2010/280564275121.jpg)
And make them hum and crackle with the occasional flash arcing across the poles - especially during thunderstorms outside.
I want my CPCs to finally come alive!!! Muahahaha! ;)
Quote from: Bryce on 14:07, 29 August 13
Yes, but the special loaders on original software don't set the side do they? If you had a 3.5in disk full of software. Lets say we have "Gauntlet" saved on Side 0 and "Strike Force Harrier" on side 1. Just finished playing Gauntlet, hit the F1 key (which the modified AMSDOS uses to swap sides) and type Run "Disk" or whatever and load my software. Wouldn't that work? The software still doesn't know which side I'm using. Even modern loader like Batman forever would work because you have a switch that both the user or software can set.
The ABBA switch is a different matter, I understand why that should be implemented in hardware.
Bryce.
Yes they do set the side. They access the FDC directly and send it read data commands.
First byte is command, second byte is drive and side select. 2 bits for drive, 1 bit for side.
The | command would only work if ultimately it was sending an OUT to set the hardware to force the side.
Ok, understood. But how many special loaders were there that set the side? I didn't know there were any until you mentioned it.
@Mav: The top switch looks good for the ABBA switch, the PCB can be hidden nicely under the switch :) Not sure about the sparks though. I'd have to add a DC/DC convertor to get the voltage up high enough.
Bryce.
Quote from: Bryce on 15:04, 29 August 13
Ok, understood. But how many special loaders were there that set the side? I didn't know there were any until you mentioned it.
@Mav: The top switch looks good for the ABBA switch, the PCB can be hidden nicely under the switch :) Not sure about the sparks though. I'd have to add a DC/DC convertor to get the voltage up high enough.
Bryce.
Any loaders that use direct fdc disc access will set the side.
AMSDOS also sets the side, but here we could hack it so we could force the side we wanted, but this would only work for loaders that use AMSDOS, and not direct to the fdc.
Brice, why not using the internal 4MHz clock instead of adding one?
The CPC FDC765 datasheet show a 8MHz source too, but the CPC use less.
Quote from: TotO on 18:52, 29 August 13
Brice, why not using the internal 4MHz clock instead of adding one?
The CPC FDC765 datasheet show a 8MHz source too, but the CPC use less.
Interresing point
In the DDI1, a 8MHz clock is generated from the 4MHz to clock the data separator which then feed the FDC with a 4MHz clock.
In the 6128, the FDC is clocked with the system 4MHz.
Quote from: Bryce on 10:57, 29 August 13
why hasn't someone just added a "|Side" command to AMSDOS, so that 3.5in drives are fully usable in AMSDOS?
Because back the day Amstrad sold their 3" drives [nb]The reason for using 3" was that Amstrad got a big batch of 3" drives very cheap. Nobody did use 3.5" at all back in 1983/4.
[/nb] and nobody thought about adding a 2-sided drive, that idea was born later.
Quote from: TotO on 18:52, 29 August 13
Brice, why not using the internal 4MHz clock instead of adding one?
The CPC FDC765 datasheet show a 8MHz source too, but the CPC use less.
I was waiting for someone to notice that :) There's two reasons for that. No.1 was so that I could reduce the amount of ICs and hence the size of the PCB. At the moment I have used a standard thru-pin part, but I intend going to an SMD clock later which I can easily hide under the FDC. No2 is because the 8Mhz doesn't need to be synchronised with the CPCs clock, but because it is, it's one of the reasons why the CPC is almost impossible to overclock - When you increase the internal clock of the CPC, the disks are no longer readable. So by keeping the clocks separated from each other, we are one step closer to an overclocked CPC :)
@Gerard: The DDI-1 used a 9229 separator that needs 8Mhz, but the 6128 uses a 9216 separator which can take 4Mhz, but it means they also needed to add a 74HC161. Most likely a cost decision. I'm not a big fan of frequency multipliers as they tend to be unreliable and can produce a really unclean signal. I'm not aware of any stability problems with the DDI-1, but maybe this influenced their decision too?
Bryce.
Yes, I said that about the footprint first. ;)
When you over-clock a CPC, the others problems are:
- memory speed
- crtc display
- sound
...
I only see the CRTC as a real problem to overclocking, the other problems aren't as serious or could be worked around. but what good is an overclocked CPC, if you can't load anything from disk to appreciate it? :D
Bryce.
[delete me]
Overclocking? I did a lot of (real CPC life) experiments, the critical component seems to be the GA. It can usually take 6 MHz instead of 4, but never 8. CRTC did well, as all other components. But I did only test on a single machine.
[delete me]
So a Doppelgänger eh? I'd watch out for them ;)
Quote from: TotO on 18:51, 31 August 13
There is à problem. It´s not me who has posted the previous post with my account !
Looks like, because you do know better about that ;)
But back to topic!
Now if the DDI-2 WOULD have DS0,1,2 and 3, with also the alternate I/O space, then when using two of the controllers this would be possible:
Smoke on the Water Floppies (http://www.youtube.com/watch?v=U-6totcShQU#ws)
Hmmm, smoke and water.... 2 things I like to keep away from my CPCs :)
Bryce.
Smoke is very important, it drives nearly all electrical components. If the smoke get's lost then it doesn't work any longer...
Maybe you like to create a DS0-3 controller with alternate I/O one day. Patience is a virtue.
BTW: What can the new FDC do what the old 765 can't?
Do you mean the FDC IC (FDC9266) or the entire device? Here's the answer to both.
- The FDC9266 doesn't do anything new, it's 100% µPD765 compatible, but it has the advantage that the Data separator is integrated into the IC, saving quite a bit of space and components.
- The entire device offers 4 OSs in one ROM, selectable with DIP switches. A ready switch and a side switch are also on board, meaning that you don't need fancy cables or jumpers. The headers are also made so that you can directly connect either an FD-1, 3.5in or HxC without needing modified cables. In fact you can use exactly the same cable for all devices. It also offers a thru-connector for further devices, which the DDI-1 didn't.
The DDI-1 is also getting more difficult/expensive to find, so many 464 users still don't have a solution for connecting a HxC.
Bryce.
Thanks for your excellent answer. I meant the FDC. Actually I was curious about the data separator before. In the CPC, Amstrad didn't make a false compromise about that IC either. Actually they used a really good one. :)
Quote from: Bryce on 09:16, 05 September 13
- The entire device offers 4 OSs in one ROM, selectable with DIP switches. A ready switch and a side switch are also on board, meaning that you don't need fancy cables or jumpers. The headers are also made so that you can directly connect either an FD-1, 3.5in or HxC without needing modified cables. In fact you can use exactly the same cable for all devices. It also offers a thru-connector for further devices, which the DDI-1 didn't.
The DDI-1 is also getting more difficult/expensive to find, so many 464 users still don't have a solution for connecting a HxC.
Bryce.
... and it will come with an LED light to tell you when it's on[nb]it's been a long week :'( [/nb] :laugh:
All my Floppies got such lights... 8)
but one isn't enough! Soon you'll want another to show which drive letter/number the drive is assigned to... then another to show which ROM image has been selected.... then another to illuminate the ports... then another to illuminate the disk drive opening.... then you'll want to illiuminate the keyboard from behind... then just putting LEDs on machines won't be enough!!! :-X :-X :-X
My Amiga Floppy[nb]connected to my 6128 Plus of course[/nb] has numbers indicating the track the head is on even ;)
Amstrad used several different data separators. The DDI-1 uses an FDC9229, but the 6128 uses the FDC9216 which lacks a data clock, so an additional IC (the 74HC161) was needed. Then they swapped again to the SED9420 for the plus computers. All most likely chosen for financial reasons.
Bryce.
Any updates Bryce :D
Cheers,
Shane
I was out of the country for the last week, so not a lot (nothing) got done. I have the prototype half built, but I was waiting for some parts to arrive to finish it and I have a few repairs I need to get done too. As soon as I have the prototype working I'll report back with some pictures.
Bryce.
[attachimg=1]
More than a month later...
I was saving this thread to read when I had some time to really read all the technical posts.
This sounds awesome. Not using a 464, but I'd definitely want one!
Unfortunately due to a serious lack of time, I haven't had much time to do anything on this, but I might get some time today :)
Bryce.
In another thread you said that the DDI-1 had a "slight timing issue" and that's why the DDI-1 is powered from the FD-1.
Any instructions how to connect an external floppy to a DDI-1 out there? (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/any-instructions-how-to-connect-an-external-floppy-to-a-ddi-1-out-there/msg59837/#msg59837)
Are you powering you DDI-2 from the CPC expansion bus, and if so, have you fixed the "timing issue"? Can you explain what the problem is?
You also seem to have copied the DDI-1 design for the romboard side of your design almost exatly (nothing wrong with that, it's a known good design) but you don't appear to have included the possibility of setting the rom to be rom zero, without that feature, I'm not sure why you bothered with the XOR gates (IC8 on your design), other than them being open-collector so you can link the output together. Doesn't seem like a lot of effort to add "LK-1" to your design.
If you are fixing the design to Rom 7 only, can you simplify the design?
The design isn't finished, I may add the link for ROM 0 later. At the moment my main concern was the 9266 circuitry and whether it will work at all, so I just blindly copied the ROM section for now. That part could be completely redesigned later. I'm not 100% sure, but the timing issue seems to have something to do with the setup time / reset circuitry of the µPD765. I know that if you power the DDI-1 from the CPC, that it sometimes doesn't work properly which I can only put down to the 765. I thought at first (in the old post), that it wasn't finding ROM 7, but that doesn't seem to be the case. The rest of the circuitry is pretty simple and shouldn't care where it's getting its power from. If you have any other ideas what it could be, then let me know.
Bryce.
You were the only person that claimed there was a timing issue, I've never seen the issue.
My only suggestion with the design would be to try and keep the disc interface isolated from the rom side, so if/when you create a pcb it would be easy to not-populate the rom side to create a FDC only board for use with a seperate romboard (megaflash, rombo, honeysoft etc.)
I don't know if it's a timing issue, the only thing I'm claiming is that there IS an issue. Power the DDI-1 from the CPC and you'll see it for yourself. Every third / fourth time you boot it will act as if the DDI-1 isn't connected. The CAT command will display "Press Play then any key". Or at least that's what happens on my 464 with DDI-1.
I did consider making the ROM section optional, but it doesn't make the device that much cheaper. It would be easier to include everything and just add a ROM disable jumper.
Bryce.
Quote from: Bryce on 21:56, 01 December 13
I don't know if it's a timing issue, the only thing I'm claiming is that there IS an issue. Power the DDI-1 from the CPC and you'll see it for yourself. Every third / fourth time you boot it will act as if the DDI-1 isn't connected. The CAT command will display "Press Play then any key". Or at least that's what happens on my 464 with DDI-1.
I did consider making the ROM section optional, but it doesn't make the device that much cheaper. It would be easier to include everything and just add a ROM disable jumper.
Bryce.
I saw this happening on a friends 464.
Quote from: arnoldemu on 10:42, 02 December 13
I saw this happening on a friends 464.
I saw this on my 464 and just assumed it was a dodgy connection or edge connector needed cleaning.
Nice to know it's not a faulty device.
Return them to Amstrad for a replacement?
Yeah. Sure! Wanna use my Delorian? ;D
I hope plutonium got cheaper, otherwise the postage will be higher than sending it from UK... ;D
Fantastic!
I have already two 6128, so what I really want is to use more my beloved 464 :-*
It's hard to find a 464 memory expansion, it would be awesome to add it.
It has been reported that most games worked with the Dktronics 64k expansion.
I never bought the 6128 because it was a cheaper solution.
(I got two of them on ebay)
And the DD-1 is rare and often more expansive than a 6128 anyway.
Nowdays, having a 464 with DD-1+64K instead a 6128 is only meant to keep the original Amstrad, "464" with it's sooo british looking. 8)
Actually I have noticed something like this "timing" issue on my as yet unfinished GX4000 mod. It may or may not be the same thing, as the FDC interface is a copy of the Plus schematic. I can actually force the "press play and any key" error by loading and running the Batman forever demo, do a hard reset and then type "cat" or "run" etc and it either defaults to tape or it has read errors from the HxC. Turn the power off for five minutes and switch it back on everything is back to normal. Occasionally the error will show up every now and then and a reboot fixes it but it always goes weird after The BF demo.
That's wierd. What does the BF demo does that could cause that?
Bryce.
Also CPC+ Emulators sometimes get bugged and show "Press play then any key" after a reset...
I dunno yet, why this happens...
My hypothesis was that the instances of the bug that did not involve the BF demo were possibly down to a pull down resister or two not asserting the correct configuration at start up, possibly the earth reference going funny or something, just a bit of a shot in the dark. Though if an emulator exhibits the same behaviour then I suppose it's just a firmware bug.
I'm not sure exactly why the BF demo that does it, I think its possibly associated with the HxC, I haven't tried a FDD with my GX4000 mod as yet and as it stands I haven't got a great deal of time to dedicate to the project for the time being. However, I tried the machine out many times with a few demos (more to sit back and enjoy my handiwork and watch the FDC I built do its stuff). I noticed that when I power cycled the machine was in tape mode when it booted back up, so my initial reaction was that I should do some fault finding on my mods.
A few checks with the multimeter, confirmed all was fine so I connected everything back up and the machine was back in disk mode at boot. So I chalked it up to a dodgy connection, but I noticed the bug happened each time I ran the BF demo. Its usually the same 2 things that occur, either default to tape mode |DISC causes a reboot. Or the HxC returns read errors if the machine is in disc mode at boot. I can solve the issue by changing the disk image and power cycling or just powering down for a good few minutes. Everything works flawlessly until the next time I run the BF demo.
My theory was that the BF demo has left the the FDC in a state where the HxC still thinks it's talking to the machine and this is maybe causing some initialisation problems at startup, in other words the firmware finds junk on the FDC address and assumes that there is no FDC hardware installed. Or if it does manage to detect the FDC hardware the data lines are getting gibberish from the HxC causing the read errors.
I'm probably barking up the wrong tree... It's certainly an intriguing bug though!
Quote from: Devilmarkus on 21:34, 19 January 14
Also CPC+ Emulators sometimes get bugged and show "Press play then any key" after a reset...
I dunno yet, why this happens...
Well, I saw that on real machines too. ;)
Hi,
This is certainly an interesting project.
I would want at least one for sure. ;D
Unfortunately I had to put this project on ice for a few months due to other priorities, but I will get back to it soon I hope.
Bryce.
Quote from: Bryce on 09:14, 10 March 14
Unfortunately I had to put this project on ice for a few months due to other priorities, but I will get back to it soon I hope.
Bryce.
I can appreciate that. Life happens, etc.
While being an electronics wannabe, i.e probably not able to be of much practical help, I wonder if you would mind posting a high(er) resolution picture of the schematics of the circuit you have so far? The pics you did post comes up (at least for me) way too course to be able to really see or read anything at all off of them.
Thanks.
Hi Karlmag,
unfortunately not only life happens, shit happens too. And it's because of this that I have deliberately made the schematic unreadable. Although my projects have been open-source in the past, I have recently had some very negative experiences in this respect, so I have decided to keep my designs closed until they have been built, tested and are ready for release.
Thank you for your offer of support.
Bryce.
Quote from: Bryce on 11:13, 12 March 14
Hi Karlmag,
unfortunately not only life happens, shit happens too. And it's because of this that I have deliberately made the schematic unreadable. Although my projects have been open-source in the past, I have recently had some very negative experiences in this respect, so I have decided to keep my designs closed until they have been built, tested and are ready for release.
Thank you for your offer of support.
Bryce.
Hi Bryce,
Sorry to hear about your bad experiences. :-(
It does, however, explain the pics. And given that I also do understand why you do it the way you do (albeit I will admit to finding it a bit annoying too, though mostly due to me being a curious bastard ;-) ).
I hope you will find time to finish and release this project :-)
Have a great day!
--
Karl Magnus aka KarlMag
The blurred picture isn't meant to annoy curious people :D It's more to show that this is actually being worked on and not just an idea / concept being talked about.
Bryce-
Quote from: arnoldemu on 15:08, 29 August 13
Any loaders that use direct fdc disc access will set the side.
AMSDOS also sets the side, but here we could hack it so we could force the side we wanted, but this would only work for loaders that use AMSDOS, and not direct to the fdc.
Resurrecting an old comment, but it seems it would still be useful to set the side in software as well as having a hardware switch. A 3 position switch - side A, side B, software controlled?
That's the plan :)
Bryce.
Cool :D
Eagerly awaiting the DDI-2!
Bryce,
Sorry for opening a very old thread, but did you finish this project?
Tom
No, due to lack of time, I passed the design on to others to finish. Piotr has released a DDI-1 clone in the meantime.
Bryce.
What is a difference between yours project and Zaxon's DDI clone?
I don't have 464, but I think on market still no exist something what can change 464 into 6128 in one piece of hardware.
I suppose that is enough for most of 464 owners, and they don't need more ROM and RAM. But of course they should say what they think about it.
Quote from: Bryce on 11:13, 12 March 14
unfortunately not only life happens, shit happens too. And it's because of this that I have deliberately made the schematic unreadable. Although my projects have been open-source in the past, I have recently had some very negative experiences in this respect, so I have decided to keep my designs closed until they have been built, tested and are ready for release.
Very sadly that's true. In 1995 there was the ROM-RAM-Box, that is ... 20!!! years ago. Since that time there was no such expansion. Thanks to you Bryce after all the time the MegaFlash was there for us. And the MegaFlash served as core of an explosion of new hardware products. Some took the design into their own projects and in some cases even added new features. For example TotOs X-MEM contains RAM and ROM. And he produces that and provides that without making any money. That's a great service to the community. And the MegaFlash did enable all of that.
Now there is a dark side too, other people took (or shall I say steal?) the design an reproduced that (with or without permission - I don't know, but I can imaging) - just to cash in. An example is imho the so called MegaFlash EX and there is another one (I forgot it's naming).
So, yes, it all has two sides. And I can totally understand that people draw consequences. :)
The difference between my DDI and piotrs is that mine was based on the FDC9266 and not the µPD765 like the original CPC hardware. It also included an ABBA switch and Ready bridge if required and headers for both 34pin Shugart and 26pin CPC drives. It had a switchable AMSDOS/ParaDOS ROM7 on board, but this could be disabled in case you wanted to use a different DOS on a ROMBoard.
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179): Yes, when I joined the CPC community there was a complete lack of hardware development, in fact since DrZed left there seemed to be zero hardware being developed. The MegaROM, MegaFlash, LowerROM, Mouse Adapters and S-Video kicked things off and since then there has been a flood of great hardware being released. Just look at what's being done today: TotO, Piotr, Gerald, rpalmer etc (I hope I haven't forgot anyone) have come out with fantastic new hardware. Others such a Talrek keeping the supply alive. The CPC hardware scene has completely changed and this also motivates the software guys to release new stuff too. I hope I had at least a small influence on the situation.
Regarding MegaFlash clones. I never hid my designs or source code, it's all open source and free for anyone to use and expand. That's what open source is all about. Even (almost) exact clones like the MegaFlash NG from "your mate" and the Flashgordon (which I think you were referring to) are great pieces of hardware that support and expand the scene and I'm very happy that people liked my hardware enough to copy it - As Charles Caleb Colton said: Imitation is the greatest form of flattery. The only thing I don't like is people selling clones (or hardware) dirt cheap because this undermines the hardware scene. Hardware requires quite a bit of investment and risk in the development stages and should be included in the end price of the device. If users see hardware being sold for pennies, they expect everything to cost that little. This discourages the other hardware developers from working on new devices that may cost a substantial amount to develop.
Bryce.
Well, well spoken. :)
However I disagree about pricing. CPC is not a real market, so people do things for fun, or because they can do it, or because a device is needed or or or... but imho not for money making.
Sure it's nice to get some appreciation for your work. But how can you argue again cheap pricing? I made the MegaFlash ROManager and I did not get a single Cent out of it. Same is true for that dodgy roman tool. ;) Are the hours of work we put in nothing worth?
See the dilemma: Following your argumentation you would be required to pay some money for every new program. If somebody would ask me if we want it all for free or all for money then I'm fine with all for free.
And nobody please tell me that hardware and software are different. You put time and money in both of them. :)
Quote from: TFM on 20:11, 31 March 15
And nobody please tell me that hardware and software are different. You put time and money in both of them. :)
I tell you : HW and SW are different.
While you mainly need time for SW development, you also need tools to do HW development.
There is no such free oscilloscope, logic analyser, PCB nor components. You have to pay for this.
Each prototype has a cost, and each iteration or rethink has a cost money wise.
Once the product is working, yes you can use someone's spare time to duplicate it at component cost.
But there is a limit to the money you can spend on developing without expecting a return.
There is also a limit to the fun factor of duplicating (ie making) your HW for everyone to enjoy it. There is no such download equivalent to HW ;)
And that's not a matter of market.
Agreed that there is no such download as hardware. And every piece needs some input, so of course it has its price. But this should be fair.
However for making software you need to invest quite a lot, there is no such thing like the original hardware to test, a good monitor for programming, the need to buy hardware addons to test software and also RAM an ROM expansions for more efficient coding.
Now don't tell me that I would have all this anyway, because you have all your oscilloscopes and so an anyway too. :)
I totally understand that creating hardware means also to put some money in for development, PCBs, chips and 999 other things, but .. BUT ... you do sell it for money, so you get your costs back. While software is ... IS ... usually free. :)
At the end the people can decide if they buy a product or not, but I still think it's AWESOME that some people also produce for 'dirtcheap' prices, because in this days not everybody can afford things. I know quite some genious people getting no job and having no money. So great for them to have a chance to realize a dream once in a while. :)
Quote from: TFM on 21:01, 31 March 15
I totally understand that creating hardware means also to put some money in for development, PCBs, chips and 999 other things, but .. BUT ... you do sell it for money, so you get your costs back. While software is ... IS ... usually free. :)
Of course hardware people will have the equipment (most of it) already, it's the prototypes etc that cost money and you only get your money back if you price your device correctly. If you spend a few hundred euros building prototypes to refine your product, then those costs should be in the final price. If someone then comes along and clones the device without having to do any development and sells it for half the price, you'll be told you were ripping people off and end up with further losses because people buy the clone and you are left with stock. Software "prototypes" cost time but not money, stock doesn't exist (except in cases where you sell physical copies), so the risk is minimal in comparison. I don't charge for my time, if I did, the hardware would be incredibly expensive, but if it cost me €500 in prototypes and trials I'll certainly add it to the final price.
Bryce.
You forget one thing, you can't buy time. For me it's worth a lot. One day everybody will learn that, that's when your clock is counting down. Then you will gladly sell all your PCBs for a single minute of time.
About prototypes: I saw people selling them successful on ebay for really crazy prices (yes, CPC stuff).
Pretty sure the company I work has put a value on my time and in my case it's worth £22.63 per hour of my life spent developing software :laugh:
It's all pretty much horses for courses aint it? Both hardware and software you use pre-existing components, add a bit of logic and you have something at the end of it. None of it seems THAT hard in reality :laugh: