Hello CPC-ers!
I had a lot of fun designing and building an IDE interface for the PCW (http://www.cpcwiki.eu/forum/nc100-nc200-pcw-pda600/who-wants-ide-drives-on-the-pcw/), so I thought I'd have a go at an IDE interface for the CPC. You know, just for a bit of a laugh. :D
The board is designed with layout, although I haven't prototyped it yet (having said that, it should work - LOL). It's functionally identical to the uIDE device which was designed for the PCW and other Z80 computers, save that it uses 16 bit I/O addressing as is required by the CPC. The address range is entirely programmable via a set of jumpers (you set each jumper to 0 or 1 to spell out the base address of the IDE ATA registers) but the driver (written for the PCW, not for the CPC yet, but fairly straightforward) will use the same I/O range as the CPC_CompactFlash interface (FEF0-FEF7), on the grounds that if you have one of those, you do not need uIDE. The only limitation on the I/O address used by the device is that the 8 ATA-IDE registers must be in consecutive address locations. Hence you can only set the card to recognise A15-A3 as A2-A0 are used to address the IDE registers.
At this time, the driver supports CP/M Plus only.
This adapter is actually more universal than the previous one, and can be used in "8 bit addressing mode" by moving another jumper. This causes the decode logic to ignore the upper 8 bits of the Z80 address bus. So it will probably become the "new" uIDE card, however, for now it is called "uIDE 16".
If you want to see the PCW prototype in action, take a look at my YouTube "channel" (groan). This should tell you all you need to know about my presentation skills... :picard: : https://www.youtube.com/playlist?list=UUdH2u50ocnjPxPmEOyNVLsg (https://www.youtube.com/playlist?list=UUdH2u50ocnjPxPmEOyNVLsg)
So now the only question I want to ask is "Who wants one"? Please review the PCW thread for details of connectivity options, BOM and 128Mb DOM offer. I will produce a CPC expansion port adapter for it and of course you will be able to use the Z80 shim card for internal mounting. Not sure if LHS or RHS is suitable, please open up your CPCs and choose. Prices for uIDE 16 may be slightly higher than uIDE as the board's a bit bigger (hence, more cost) and the expansion port adapter is unknown but not likely to be more than the PCW "lite" adapter.
I prefer not to assemble these boards as I don't have too much spare time, but I will build some. I haven't yet worked out how much this will cost, but don't expect it to be cheap, as there is a lot of hand soldering to be done, and of course the parts do cost as well. I am still trying to come up for a figure for the uIDE assembly, it is surprisingly complicated to work out.
If you are interested in this add on, please indicate quantities of uIDE 16 boards and connectivity option, whether you want me to assemble it and whether you want a 128Mb DOM with it. You also need a 40 way IDC-IDC ribbon connector (such as is used to connect ATA hard disks to PC motherboards) to connect the uIDE 16 to the connection card. The DOM is tiny and fits straight onto the board, especially if you use a 90 degree IDC header (recommended at both ends of the board because uIDE is the start of an extendible bus based system).
Before I go, here is a rendering of the finished board.
[attach=2]
Cheers
JonB
can the i/o port be configured to fd08-fd0f?
this is used by two ide devices (symbiface 2 and x-mass - and it seems both are now discontniued). if you use the same then all the software written for these can be used with your interface.
(symbos, acmedos, bonnydos and there is more)
if you made a driver for cp/m for cpc then yours would be the first for ata.
dobbertin hd20 and i think vortex wd20 can load under cpm but they are not ata devices.
The CPC-CompactFlash mentionned in the IO port summary I think never left the status of an hand-wired prototype on my bench. It puts the CF card in 8-bit mode by z80 software at boot.
The Symbiface does a 16-bit to 8-bit conversion in hardware, and the X-Mass holds the CPC in reset and switches the CF to 8-bit mode by itself before letting the CPC boot.
There are no drivers for the CPC-CompactFlash. SyX started hacking on BonnyDOS to change the IO registers and add the init code, but we had problems with the CF card resetting itself to 16bit mode. Not sure if it was because of unreliable assembly of the prototype, or some design flaw in my decoding logic. The project was mostly stopped there and I moved on to USB and SD card storage instead.
So yes, if you are compatible with them, use the Symbiface/X-Mass IO ports. I can probably rewire my prototype to use these addresses too, so I can use your drivers :D
lets not forget that there are IDE to CF adaptors as well.
A few points:
- There is a CP/M Plus driver suite (driver, formatter and IDE test program) for the uIDE-8 card (as used on the PCW) and it can be altered for uIDE-16 (CPC card) easily. It sets 8-bit mode on start up and uses LBA. Note: all IN / OUT instructions are bracketed by DI/EI instructions to prevent interrupts during data transfer.
- The format is CP/M native. This means you cannot read the content of the IDE device using DOS, Windows or SymbOS. Prodatron says SymbOS uses FAT, so if you format the IDE device for FAT you can use it under SymbOS but not CP/M.
- The CP/M driver doesn't support cold booting yet.
- The I/O base address is configurable, via that long line of jumpers you see on the board, but the 8 IDE registers must be in consecutive locations, so you can only configure A15-A3.
- uIDE-16 is not tested with CF cards (in fact, not tested at all yet!). Minimum requirement is that the CF card has at least 128MB and supports LBA and 8-bit modes. A smaller card may work, but some drives may be inaccessible. Each CP/M drive uses 8MB of the CF card space. On the other hand, I can supply a suitable 128MB DOM for £4, which is smaller than a CF card + adapter, and works well.
- Prodatron will support uIDE-16 in SymbOS. He says the existing code needs to be altered. YMMV.
- Bare board is likely to cost around £9.
- Also required, either a Z80 shim card (£2.50) or an expansion port adapter which I haven't designed yet (£4 based on the PCW expansion port adapter).
- All plus P&P and PayPal fees (3.5% I think).
- I cannot commit to provide assembled boards unless I have at least 10 orders, and they will not be terribly cheap. I recommend self-assembly.
Having investigated the parts cost and likely assembly time, I decided that I can't offer these boards assembled unless I have at least 10 orders (of each board that people want).
So, if you want the boards assembled, please add the following to the board cost, which includes parts and labour:
- uIDE-16 - £38
- 6128 expansion adapter - £20 (based on cost of PCW "Lite" expansion adapter)
- Z80 shim (LHS or RHS) - £15
Yes, there is a cost to assemble (my time) but it is minimal. I won't be retiring on this!
I am interested on 1 of this new CPC hardware.
Quote from: Cpcmaniaco on 10:58, 09 February 17
I am interested on 1 of this new CPC hardware.
Please state your preferences:
- Expansion port adapter or Z80 Shim?
- Assembled or bare boards?
Thanks
JonB
CPC Expansion Port adapter.
[attach=2]
Fits to the expansion port with the card front (the face you can see in the picture) pointing at the monitor. The edge connector should be fitted to the rear. Pin 1 is on the right, oddly. I am not sure if it can be seen from the front of the machine when in use, but the power light can be oriented towards the user if need be. Direct attachment of a uIDE may not be practicable in this application as it will stick up above the top of the 6128 and look messy, although you may be able to mount it in front or on top of the adapter with a very short bus cable. Alternatively, it can be sited further away with a longer cable. We will see..
The "Unused" header provides access to the signal lines that are not used by the adapter (because they are 6128 specific signals that are not on the Z80 bus, or vice versa). These are:-
[attach=3]
The GND connections are there as a convenience, next to LPEN and CURSOR, on the "grounds" that these signals are the most likely to be immediately used (a guess on my part). The adapter also provides Audio out from the expansion port and a 5v power connection that you can use to power up any small boards you want to connect up (such as a light pen or small audio amplifier).
;D
With CPC Expansion Port adapter and assembled.
Thanks.
Do you require a DOM?
Also, one for me please! :)
Assembled with CPC Expansion Port adapter and DOM.
i'd lke 2 for z80 sockets please
I'd like one for z80 socket please unassembled :) with DOM
@yannis_uno (http://www.cpcwiki.eu/forum/index.php?action=profile;u=235)
@zhulien (http://www.cpcwiki.eu/forum/index.php?action=profile;u=58)
@Scarlettkitten (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1352)
Added to list. Boards only (with DOM if you asked for one).
@JonB (http://www.cpcwiki.eu/forum/index.php?action=profile;u=901)
I would like to be included, Expansion Port Bare Boards Please
Thanks Ray
OK Ray (and your other post is noted, thanks).
Hi JonB, will this work with all the 44 pin DOMs (like the Symbiface 2) or only 8 bits of it?
Sorry I don't understand your question.
The DOM is a 40 pin IDE PATA device.
The driver runs the DOM in ATA 8 bit mode.
The interface does not support 16 bit data transfers.
Quote from: JonB on 21:26, 11 February 17
The DOM is a 40 pin IDE PATA device.
The driver runs the DOM in ATA 8 bit mode.
The interface does not support 16 bit data transfers.
ok. x-mass uses 44pin dom with 8 bit mode. symbiface needs an adapter to use the 44pin dom, but it seems to work in 16bit mode.
I will need 2 doms if you are going to use 40pin doms. Prefer the z80 boards assembled. thanks
Great work, It looks awesome, but i still have a lot of questions:
- Is possible connect to a MX4 board? I have a vertical adapter mx4 to edge 50 and only one slot free thus whit it can only connect vertically. If not, exist a cable to do this? (In the rest of slots are a X-MEM, a X-MASS, a MiniBooster and at end of the board, a DDI-1 Clone connected with a Edge-50 adaptor in 'L' format).
(https://uploads.tapatalk-cdn.com/20170212/97685fce9f8a185b7a63deaa12f19a02.jpg)
(https://uploads.tapatalk-cdn.com/20170212/81dcad830bb8a9bdac57a649f650fd54.jpg)
- I prefer a fully functional one, with everything (include the DOM or CF Card) to simply plug it in and it work, is it possible?
- Is compatible with the ramdrive of Toto X-Mem?
- Is there any CP/M+ patched or how can I patch it?, I have a CPC-464 with the X-MEM expansion memory and I use the CP/M+ that installs the configuration program, in ROM (|EMS) and the "CP/M+ for 464" http://www.cpc-power.com/index.php?page=detail&num=7160
Thanks in avance.
Enviado desde mi iPad utilizando Tapatalk
That's a nice looking rig!
OK.. lemme think... Yes you can connect it to your bus with one of these approaches:
- If you use the edge connector adapter in your second picture, then a short 50 way IDC edge connector - IDC female plug
- Or, a 50 way IDC male header on a 50 way ribbon to a 50 way female IDC connector (like a sort of extender).
- You could also solder a 50 way right angle header (2x25 just like that board in the second picture) to the adapter and it will probably fit, although you might need to shave my board a little
In all cases, be aware of the orientaton of the sockets.
That bus is basically what I was proposing for the PCW, but 40 pin with all the CPU signals on it.
This cable will do it.
[attach=2]
It's the second option in my list. Left hand side plugs into the bus board, right hand side plugs into the 6128 bus adapter, then you plug uIDE-16 into the bus adapter. However, I do think standing the adapter up like your other cards is the better solution (cheaper too).
What else? Oh yes. Assembly. I will only offer this if enough people want it (because I will need to buy the parts in bulk). So I need at least 10 people wanting assembly. So far there are 4 including you. But you never know who else will step forward so don't give up hope yet.
Compatibility with ToTo's extensions cannot be guaranteed, however the PCW CP/M Plus driver uses the FID interface to request the "next available" drive repeatedly until the machine runs out of space (DPH/DPB space). Which means that if ToTo's ramdisk uses a CP/M drive letter, mine will just skip it and go to the next one. On the PCW you have M: as a ramdisk, and my driver works fine with this.
CP/M Plus drivers for the 6128 will be provided by me (just a port of my PCW driver) and I believe Prodatron is going to port SymbOS drivers too. They do not support cold booting or AMSDOS though, so you still need a floppy disk to start the machine.
[Edit: 6128 does not support the PCW FID driver scheme so the PCW driver can't be ported as-is. As a result, the driver will be delayed.]
Quote from: JonB on 16:37, 12 February 17
This cable will do it.
[attach=2]
It's the second option in my list. Left hand side plugs into the bus board, right hand side plugs into the 6128 bus adapter, then you plug uIDE-16 into the bus adapter. However, I do think standing the adapter up like your other cards is the better solution (cheaper too).
What else? Oh yes. Assembly. I will only offer this if enough people want it (because I will need to buy the parts in bulk). So I need at least 10 people wanting assembly. So far there are 4 including you. But you never know who else will step forward so don't give up hope yet.
Compatibility with ToTo's extensions cannot be guaranteed, however the PCW CP/M Plus driver uses the FID interface to request the "next available" drive repeatedly until the machine runs out of space (DPH/DPB space). Which means that if ToTo's ramdisk uses a CP/M drive letter, mine will just skip it and go to the next one. On the PCW you have M: as a ramdisk, and my driver works fine with this.
CP/M Plus drivers for the 6128 will be provided by me (just a port of my PCW driver) and I believe Prodatron is going to port SymbOS drivers too. They do not support cold booting or AMSDOS though, so you still need a floppy disk to start the machine.
Thanks for your fast answer and i confirm: i want one assembled and connected as you suggest, with your adapter and my converter.
Enviado desde mi iPad utilizando Tapatalk
Quote from: angelcaio on 18:46, 12 February 17
Thanks for your fast answer and i confirm: i want one assembled and connected as you suggest, with your adapter and my converter.
Enviado desde mi iPad utilizando Tapatalk
I wasn't planning to offer cables, but I can advise. You need 50 way IDC edge connector, a short length of 50 way cable and a 50 way IDC male connector. Then crimp the edge connector on one end and the IDC male connector onto the other end. But I wouldn't do it this way if I were you, those edge connectors are expensive. I'd see if the adapter will fit directly onto your bus board first. Don't forget you have another cable to go from the adapter to the uIDE board (use a 40 - 40 way IDC connector, same as you find in PCs to connect HDDs to the motherboard).
Alternatively, with your adapter, just plug my expansion port adapter into it (with edge connector). Means it will be lying down at 90 degrees to your adapter, and I can't be sure it will fit or what its orientation will be.
@angelcaio (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1263)
Where did you purchase the 50 Pin Edge connector (Photo2) from ?
Thanks Ray
Hi, Ray
Hi, it was a purchase between individuals. I bought it in early 2015 or late 2014 at Piort bugaf (Zaxon) (shellmyretro.com), at that time I had recently bought a DDI-1 Clone and I needed to connect it to a Mother X-4
Regards
Hello JonB, this cable is valid?
https://www.amazon.com/CablesOnline-6-inch-Internal-Extension-FS-E06/dp/B00O3ML5O6/ref=pd_sim_147_3?_encoding=UTF8&psc=1&refRID=692NQ5MGBC6ZNH05T52M
Male to mother-X4, female to adapter edge-50.
Regards
Yes. But the 6128 - uIDE-16 bus adapter needs a non keyed header or one without a box (so two rows of header pins). Just in case the orientation of that adapter is wrong.
Tell you what, I can make it up for you for £10. As you can see from my photo I have the parts.
Also... I have just ordered another batch of boards with expedited shipping. Hopefully they arrive before I expire!
Quote from: JonB on 13:58, 13 February 17
Yes. But the 6128 - uIDE-16 bus adapter needs a non keyed header or one without a box (so two rows of header pins). Just in case the orientation of that adapter is wrong.
Tell you what, I can make it up for you for £10. As you can see from my photo I have the parts.
Great, I prefer it to make sure the cable is the correct one. Then when possible the shipping of the board adds the price of the cable for me.
Thanks.
Enviado desde mi iPad utilizando Tapatalk
Quote from: angelcaio on 13:48, 13 February 17
Hi, Ray
Hi, it was a purchase between individuals. I bought it in early 2015 or late 2014 at Piort bugaf (Zaxon) (shellmyretro.com), at that time I had recently bought a DDI-1 Clone and I needed to connect it to a Mother X-4
Regards
Hi Angelcaio
Thanks I will have a look at sellmyretro.com
Thanks Ray
Mine with DOM if is possible.
Thanks.
Hi Jon
I would like:-
3 X CPC uIDE 16 boards
3 X 128Mbyte DOMs
1 X CPC Expansion port adapter boards
2 X Z80 Shim boards (not yet sure if LH or RH, they need to fit CPC6128 machines).
All PCBs, just bare boards please :D
If I've missed anything, poke me gently, as I'm currently on nights...
Mark
Picture time...
[attach=2]
uIDE-16. Ignore the wire loops, the jumper plugs haven't turned up yet. This one is configured for 8 bit I/O addressing with the PCW xdriver's base address set (in other words, it's in uIDE-8 mode).
I posted pictures of the Z80 shims on the PCW uIDE-8 thread: http://www.cpcwiki.eu/forum/nc100-nc200-pcw-pda600/who-wants-ide-drives-on-the-pcw/msg142065/#msg142065 (http://www.cpcwiki.eu/forum/nc100-nc200-pcw-pda600/who-wants-ide-drives-on-the-pcw/msg142065/#msg142065)
And here's the 6128 expansion port adapter.
[attach=3]
None of this stuff is tested yet, and I have yet to modify the PCW xdriver for 16 bit I/O addressing.
[Edit: 6128 does not support the PCW FID driver scheme so the PCW driver can't be ported as-is. As a result, the driver will be delayed.]
Regarding the 50 way expansion port header.
I made a mistake with the row spacing on the boards so it will be necessary to bend the two pin rows inwards so they nearly touch, then bend them out about 1/2 way down each leg with needle nose pliers. Really sorry about that. But it's reasonably easy to do if you're careful.
This is a poor picture, but I hope it illustrates the point.
[attach=2]
The rows are 2.54mm apart, which is fine if you want to fit a 50 way box header and use a 50 way IDC connector to 50 way IDC edge connector cable, but not fine for fitting this type of edge connector. Hence a little bit of hackery being necessary.
The solution would have been to put in 3 rows of 25 pads, 2.54mm pitch, with the middle row connected pin to pin with one of the outside rows. Then the edge connector would fit on the outer rows, and an IDC box header would fit on the inner and outer rows that are not connected together.
Cheers
JonB
Quote from: JonB on 17:18, 28 February 17
Regarding the 50 way expansion port header.
Blah, blah...
Jon, what about fitting a pin header, then soldering the edge-connector pins to the pin header? Some ZX Spectrum interfaces use this system.
Oh, and nice PCB p0rn ;D
About time you manned up and got some jumper shunts though :laugh:
Mark
Eh what? No, it's fine with the pins bent. You'd only know if you looked closely (and the header is not standing on the board, though it is perpendicular). Or are you suggesting a pass through? Can you post a link to a suitable picture of one of these Speccy expansions, please?
Yes, top PCB pr0n indeed. You should see them in the flesh. Niiiice... 8)
Oh, the uIDE-16 didn't work by the way, not in 8-bit mode. My bad for not prototyping it first (I took a punt as it is such a simple circuit and I knew the very similar uIDE-8 circuit worked fine). It caused the PCW to not boot (and corrupted the screen). Another problem for another day. I have to concentrate on the uIDE-8s first..
Re: Jumper shunts: They are in the post. From China. So I expect I will get them this year sometime! ::)
Ah!
A quick look at the uIDE-16 schematic indicates that the 8-bit mode selector is wired incorrectly, so it's 16 bit I/O addressing only for now. :doh:
I think the board can be hacked for 8 bit mode though.. by swapping the outputs of the two LS688s.
I was right (for once). Cut two tracks on the underside of the uIDE-16 board and lay in a couple of jumper wires and 8-bit mode is good to go. I'll document this on the Wiki, but you only need to do it if you want to run uIDE-16 in 8-bit mode. It should work in 16 bit mode as-is (that's the next test).
A bit more detail on the uIDE-16 v0.3 fix for 8-bit mode.
[attach=2]
On the underside of the board:
- Cut tracks at 1 and 2.
- Fit links as shown (3 and 4).
To be clear: This modification is not required if you are using the 16-bit addressing mode (for CPC6128s).
First test of uIDE-16 on a CPC6128.
[attach=2]
This is the test program telling me what the IDE device identity and parameters are. It's described in the uIDE CPCWiki page.
It all looks OK! uIDE-16 is running in 16 bit addressing mode with a base address of FEF0.
Now to sort the CP/M Plus driver out.
Incidentally, this one is connected with the expansion port adapter.
[attach=2]
Speaking of the driver, I completed a port of the PCW FID to the 6128 but I need a version of 6128 CP/M Plus that supports FIDs. I have v1.0 and v1.1 but they don't work. Can anyone help?
(I also posted this question in the Tech support / Software Related forum: http://www.cpcwiki.eu/forum/software-related/fid-file-support-in-cpc6128-cpm-plus-1-0/ (http://www.cpcwiki.eu/forum/software-related/fid-file-support-in-cpc6128-cpm-plus-1-0/))
:o Jon - your post has me both concerned and hungry :-X
Why is your screen full of chocolate? I keep wanting to lick it! And your diagnostic program has left out an important parameter! It is not telling you the core temperature of the flux-capacitor. An elevated core temperature could result in excessive Deuterium pressure or a degradation of the dilithium crystal. Which will result in Orac giving you a good dressing down...
I for one don't want my CPC to suffer in pain. Or for any other CPC to suffer.
I look forward to hearing about your progress :D May the force be with you :-*
Mark
Quote from: JonB on 18:30, 28 February 17
Eh what? No, it's fine with the pins bent. You'd only know if you looked closely (and the header is not standing on the board, though it is perpendicular). Or are you suggesting a pass through? Can you post a link to a suitable picture of one of these Speccy expansions, please?
Err, I would if I could find it again :picard:
The most common arrangement is to mount the edge-connector to the PCB as normal (with the wider spacing suitable for an edge-connector) and use the double row pin header on the other side of the board so that a small pass-through PCB edge-connector can be soldered to it.
The German ZX81 forum has the ZX-bus (at least I think that is what they call it), which uses DIN connectors. So their boards have solder pads that can take either the DIN plugs/sockets or edge-connectors, or double row pin headers.
It's possible that I'm mis-remembering :-\ But I thought I saw a picture of one board where a double row pin header was soldered to the PCB, then the edge-connector was soldered to the pin header. But if I did, darn if I can remember which expansion it was, let alone find a picture. Sorry :(
Instead have a look at some nice bendy legged edge-connector p0rn taken fresh today :P
Mark
:)
You have definitely been on the parsley again, Mark!
You can get a passthrough by fitting a 2x25 way 90 degree pin header to the expansion port adapter card and mounting it vertically on another board, like the PCW AMX mouse box.
[attach=3]
[attach=4]
:P :P
[attachimg=1]
That's a Speccy edge connector, anyway. Isn't it?
All
uIDE-16 boards will be assembled after I have sorted the uIDE-8 boards out. As you know, I also have to write a CP/M Plus driver for it. My intention was to not start building and taking orders until the CP/M Plus driver was ready. At this rate, it seems likely that SymbOS support will come sooner!
However, if you asked for bare boards, I'm happy to send them out as long as you understand you can't actually use them with CP/M or AMSDOS yet (although you can run the test and formatting programs to ensure your build is OK).
Please contact me by PM if you would like to get your hands on the boards early.
(@1024MAK, you have a PM)..
Hmmm, interesting. Turns out you can fit the right handed Z80 shim to the 6128, with the bus cable passing rather neatly through the expansion port slot (and over any plugged in expansions, dependant on their shape). Wiki page updated... :)
Hi Jon
I would like to use a uIDE-8 with an RC2014 system - http://rc2014.co.uk/ . The RC2014 is a modular Z80 computer, where each board is connected to a backplane. At present, the backplane doesn't provide all of the Z80 signals, some of the less frequently used signals (NMI, HALT, BUSACK, BUSREQ, etc) are only broken out on the CPU board, and jumpered to 5v.
Do you have a schematic diagram for the uIDE-8? If not, please can you let me know which of the Z80 signals it uses, so that I determine whether I can connect your board to RC2014 backplane (instead of one of your shims).
Regards
David
Hi David
uIDE-8 uses the following signals:
- D0-D7
- A0-A7
- /M1
- /IORD
- /RD
- /WR
- Vcc and GND for power
It's a very minimalist design, meant to be "el-cheapo". The pinout of the input connector (it is marked "Z80 Bus Connector" on the v0.5 boards) is
exactly the same as a Z80, with pin 1 being A11 and pin 40 being /RD. It's a pity your design uses a single row of headers for the backplane connector, if it had been per the Z80 (2x20) you could have plugged my board directly into it. I do like your spare bus lines though - I thought about doing something similar for my own Z80 bus design (still on the drawing board), maybe I should revisit that.. :)
You should be able to create an adapter board to go between your backplane and uIDE-8, and it ought to be simple to prototype it with jumper cables. as ever, I recommend a DOM rather than a CF card as it will plug directly into uIDE-8 and it's smaller / neater than a CF card adapter. Better compatibility, too, and naturally I can provide one (for the princely sum of £4).
If you are planning to extend your machine for CP/M 2.2 (a natural progression that I strongly suggest), I can probably provide drivers, with a little input from yourself. But since your machine appears to run Microsoft BASIC as an OS, you will have to write your own DOS as MS Basic won't know how to talk to the IDE device.
I have a BASIC program somewhere that demonstrates writing and reading a sector from the uIDE interface, this may help you. If I can find it! Oh hang on, there is a listing on the uIDE wiki page that shows reading a number of consecutive sectors from the IDE device into a buffer, then using the buffer to write the PCW driver file. The machine code segments just invoke DI and EI respectively by the way, because we do not want any interrupts upsetting the /RD /WR signal timings when we are accessing the drive. You may or may not need this on your machine - on the PCW it was necessary.
Cheers
JonB
A little bit of board pr0n...
[attach=2]
Image shows 2 uIDE-16s on the left and a 6128 and PCW expansion port adapter. The uIDE-16 at the top is configured for the PCW in 8-bit address mode. The other one is configured for the 6128 with I/O base address FEF0h and 16-bit address mode.
:)
As you can see I seem to have run out of 40 way IDC headers, but I have some more on order.
Apologies, but due to the increased complexity of building the uIDE-16 boards, I have had to increase the price of the assembled unit. If you have already been asked for payment, don't worry, I will cover the extra; but new invoices will be calculated with the higher price.
Hi,
I finally soldered the a uIDE 16 board. I was a real challenge, because I'm not an electronic technician.
But ... it worked (not a nice soldering, but somehow...) and I got it working! :)
However you have to take care about the adapter if you want to connect it to the MX4 board or directly to a CPC with Centronics connector. As you can you in the pictures (2 and 3) the connector is on the other side as recommended in the wiki because of PINs reverse on the MX4 board or the centronics connector.
In the last picture you see the result of JonB small test program (XTEST.COM), where all the result have been printed in a correct way.
(And to mention: I'm using those 74LS02 from TI, I'm not know today if they are compatible for transferring larger files.)
So, I'm looking forward for a CP/M driver! Please! :)
I'm really happy that the board is compatible with the MX4! Great news!
As to the driver, I need help. Not with the code itself, but with the way you integrate it into the whacky CP/M Plus 1.1 that the 6128 uses. I did start a thread to ask for help, but got little response.
When I designed the board, I wrongly assumed the FID driver used on the PCW could be ported across, but it can't. And the technique normally used to extend CP/M Plus (as described in the DRI documents) doesn't seem to apply either. So I'm a bit stuck. That's why I withheld the boards. HAL got one because he also has a PCW as I recall, and of course you can use uIDE-16 on the PCW.
So if there is an Amstrad 6128 CPM expert out there, please step forward!
Any news on the current availability of these boards?
just wondering what the throughput is like and cpu load - i know there will be qutie a bit of additional circuitry to implement DMA (like the m4 card has - direct to ROM-space loading, so the ROM can be paged in and the loaded data LDIR'd to the ultimate location)
still interested if you can change the IO ports to allow it to work along side an existing X-MASS card for a second IDE card
Funny, I have never seen this topic before. :-\
I've just ordered another batch of uIDE boards (-8 and -16 variants). Should be with me in a month or two. Let me know by PM if you are interested and check the Wiki page for the prices / shipping and tech details.
Cheers
JonB
An update.
I'm now building a new batch of boards, to order. Please contact me via PM if you are interested.
Thanks
JonB
Quote from: zhulien on 13:21, 29 January 23just wondering what the throughput is like and cpu load - i know there will be qutie a bit of additional circuitry to implement DMA (like the m4 card has - direct to ROM-space loading, so the ROM can be paged in and the loaded data LDIR'd to the ultimate location)
still interested if you can change the IO ports to allow it to work along side an existing X-MASS card for a second IDE card
Yes, one user has it working on the MOTHER-X backplane (it's a just matter of making a suitable cable) and yes, the I/O address is configurable via a set of jumpers. As to CPU load and throughput, on the PCW at least, it feels as fast as the RAM disk.
Please let me know when the mx4 one is available...