Doing this is possible in principle but it is certainly far from being easy to do it "right". It is hard to put the board inside the case and not interfere either mechanically or electrically with something here or there. People tried various methods. They work in principle but would you really like to have it done like that? OTOH how can one do this? If you want to put it inside, then mechanical limitations require the expansion board to be kept as thin as possible. This rules out using regular sockets for the components if one wants to locate the board below the mechanism. Another factor is routing of the 40-wire CPU ribbon cable, which may become really challenging. In some cases it seems better to have longer CPU cable and to mount the board "upside down" on the upper case cover and route the cable all the way from the front to the back of the device. This — besides not being optimal thing to do — can quickly become quite a task in its own. And — most importantly — once done, in the end it all still feels a like a workaround rather than a solution. Well, seems that the original design, after some three decades, looks neither particularly nifty anymore, nor particularly suitable for the job. Something had to be done about it.
After several requests from various parts of the world I eventually decided to face the problem in a manly way ;-) This called for designing a new version, specifically for the 1541-II. The bad part is that — as we know already — there is very little room inside this drive variant's case AND to make things worse, Commodore installed at least three different drive mechanisms in two slightly different casings. This means at least three different mechanical designs if we want to have the board in the most roomy part of the casing AND have all the chips socketed. Here comes the first design.
Digital Systems aka JPN Corp:
I started with a drive that I had at hand. A 1541-II equipped with "Digital Systems" mechanism (sometimes labeled as "JPN Corp"). So the first variant I made is designed to be mounted inside drives equipped with these mechanisms only. Unless there are still some other mechanisms out in the wild, you can tell all the drives apart without even opening the case. For finding out whether you have a drive with DS/JPN mechanism inside simply check this: if your drive's front bezel looks like this, instead of this (i. e. the lever and its axis hole is NOT recessed), then we talk business.
Got the supported drive? Let's do it! You are going to need:
Preferably assembled already :-)
Two 12mm, M3 threaded standoffs
Two M3x7.5mm screws with washers
40-Pin stuff: "precision" type IC socket, ribbon cable to PCB adapter, IDC connector
Some 6.4" of 40-wire ribbon cable
Once you've got all of those — time to roll-up your sleeves and disassemble the drive until you have the main controller board in your hands. Remove the front lever first by pulling it gently along its rotation axis. Don't pull anywhere more than a tenth of an inch away from the axis! After the lever is safely out, turn the drive upside-down. Four screws on the bottom keep the upper case half in place. Once the screws are removed, the upper part of the case goes easily away. At this point, the front bezel should be also easily removable. Lift it slightly up and pull away of the case. For convenience, I suggest also removing one screw that holds a small PCB with LEDs inside the front bezel. Next four screws keep the mechanism attached to the lower case half. One of them should also be keeping a grounding wire. Before removing those, look at the rear end of the drive and disconnect three cables that go from the mechanism to the main board.
Pull them gently, vertically (!) away from the board. Next, remove the four screws, two each side of the mechanism and lift the whole assembly out. You should have a clear view of the main board now. Dust it off and remove the last three screws, which hold the board in place — two at the rear, one at the front. Now, the 40-pin "precision" socket needs to replace the CPU on your 1541-II main board as pictured below. You know how to (de)solder things, don't you? Because if you don't, it might be better to give your device to someone who does. I mean it. In any case — once done, things should look like what you can see on the next photo (you can click it if you want to see more details).
NOTE: In some drives, the right-hand side (usually black) connector has a key meant to prevent connecting it the wrong way. In others not so. Two other (usually beige coloured) connectors don't have any protection against connecting them the other way around. Please note well how they are connected so that you can reconnect them the same way later on!
The other two 40-pin thingies mentioned above you need to cramp on a 40-wire ribbon cable so that the visible portion of the cable is 5.43 inches (138mm) long:
Please note the orientation of the connectors. They have to be "facing" opposite sides of the cable and the IDC relief "key" should be oriented towards the ribbon rather than away from it:
Once the cable is ready, the IDC to PCB adapter's pins have to be precisely aligned with the precision socket (we talk precision here all the time) and "press-fit" into the socket so that the adapter sits firmly and flat on top. Special care is required when aligning the pins with the socket's holes so that all of the pins go eventually straight into their places and none of them is left-out, bent-out, etc. If you did your job well and the cable is of correct length, the adapter should sit well in the socket and the cable, when straightened, should barely touch the inner wall of the 1541-II's plastic case:
Although it hasn't shown to be the case during my extensive testing, if you get some unexpected read/write errors when using the fully assembled drive later on, you may consider wrapping the cable in a conductive foil (tinfoil, copper foil) AND some non-conductive on top of (or rather around) it. I write this Just-In-Case, after the story of a Finnish friend who built one of my early DolphinDOS 3 boards into his 1541-C. He routed the cable over the drive's analogue circuitry (the hybrid) and the drive didn't work reliably. The problem was gone once he eventually wrapped the cable in some copper foil…
OK - the controller board is ready and mounted back into the case. Time to do the same with the mechanism. Put it back into its place in the lower half of the case, route the LED cable as on the photo above (through the half-oval opening in the side column) and don't forget to connect the three cables on the back, routing them under your CPU cable. I hope you marked the orientation of their connectors when disassembling, didn't you? After reinstallation (do not forget the grounding wire, OK?), the next step is to screw the two 12mm, M3 standoffs into their respective places:
No worries — both threaded holes are already there, waiting years for you to eventually make some use of them :-) Tighten both of the standoffs securely (if you have some kind of "thread lock" liquid — it may be a good idea to put a drop on each standoff's thread before screwing those in) and you are ready to install the DolphinDOS board on top of them. I suggest you place your CPU (the one you removed from the controller board for example) in the appropriate socket before mounting the board. Connect the IDC connector of the CPU cable with the only connector at the bottom side of the DolphinDOS board, align the two holes on the board with the threaded holes on top of both standoffs and use Philips screws to lock the board in its place (washers go on top of the board and "thread lock" liquid is even more advisable here). The result of your work should at this point look like this:
On the picture above you might have noticed a thin, black, plastic rod on the right-hand side. This is the actuator of a reset switch, place for which is provided starting with revision 1c of the board. You may opt for not installing it, of course. What you will probably want to install though is the "DISABLE" switch. One pinhead location on the PCB is provided for connecting such a switch. When both pins are shorted, the DolphinDOS extension gets completely disabled, returning your drive to its plain vanilla state, including CBM DOS V2.6. Of course you can test the function with a jumper too. Last but not least you need one of these fellas:
So that you can actually do the transfer at blazing DolphinDOS speed.
You haven't forgotten about what you need in the computer in order for this to work, have you? If you don't have your DolphinDOS KERNAL replacement installed yet, please refer to "Computer side" section of the DolphinDOS 2 article.
- Normally one can route the parallel cable between both of the drive case halves very easily by cutting out a small portion of the lower half's rim in the appropriate location. But the board provides also an option for installing a 15-pin "Sub-D" female socket, which can be useful if you have already the de facto standard parallel cable with compatible plug or simply want to be able to disconnect the extra cable when not in use.
- There is also an option for reset switch, which also requires only a very small opening to be cut out in the upper half of the case.
- In the download section right below, there are GERBER files, which can be used to produce the pictured PCB. In case you want a ready made one, please check the For Sale section or contact me.
- Please note that the GERBER files are GPL V2 licensed. By downloading and using them you agree to be bound by the terms of the licence.
- dd3_1541-ii-a_rev1c.png - schematic of the drive-side hardware
- dd3_1541-ii-a_rev1c.zip - GERBER files for producing the PCB
- 3dosa_c_27c256_payload.bin.zip - Drive-side firmware
- dd2_kernal_rom.bin - KERNAL ROM (original DD2 - with CBM compatible blue on blue colours)
- sd_dd2_kernal_rom.bin - KERNAL ROM (DD2 customised with my preferred startup colours and message :-)
- 6821.pdf - MC6821 datasheet (over 1MiB)
- Replay Resources wiki
- Dolphin DOS - Flinker Delfin (German)
- Dolphin DOS 2.0 - und es läuft und läuft und läuft... (German)
- DolphinDOS at C64-wiki (German)
- DolphinDOS manual at project64.c64.org