The complete set consists of the following elements:
- KERNAL ROM replacement
- DOS ROM replacement
- RAM expansion
- SpeedDOS type parallel connection
The easiest way to make a KERNAL replacement these days is to use EasyFlash cartridge (man, ‘skoe’ - the guy who created it - R0XX hard all the way!! Kudos Thomas!). It is the most convenient solution, which works perfectly well... unless you really need your EXPANSION port available for something else. IDE64 cartridge (Josef and ‘Soci’ rock too!! :-) is a fully valid example but 1541 Ultimate is IMHO nothing to be sniffed at either. In such case I believe it to be better to install a permanent KERNAL expansion directly on the computer’s mainboard. There are many 24pin ROM -> 28pin EPROM adapters available. The one I use, I designed myself (with invaluable support from cbm-hackers community, especially Gerrit Heitsch).
The drive-side hardware is a relatively simple RAM/ROM expansion for a 6502. Since (unlike in version 3, which uses its own PIA chip) there is nothing really special here, a generic/universal 6502 expansion board, like e. g. The universal 6502 RAM/ROM Expansion designed by Nicolas Welte, can be successfully used to build a working DolphinDOS 2 clone. (parallel connection to the VIA port has to be done separately then, the same like in case of the little known and very rare DolphinDOS 1). Anyway, here comes the schematic:
All of it can fit on a single, double-sided PCB, which connects to the main drive controller board through 6502 and 6522 sockets / soldering points. I laid the (shown below) board out similarly to the original one, but I left some of the unused elements out. Second connection to the parallel port and PWR pins are among those, which didn’t make it there. I also decided not to connect the NC CPU/VIA pins to the connectors as the original design did. However, after throwing those out, I felt somewhat like being a dude who only removes things without giving anything in return... To alleviate this feeling I added four pins for easy connection of device ID switches or jumpers in hope that this would make it - at least partially - up for things I removed :-) The result you can see below. I believe the board to be routed relatively clean with neither too many vias nor too many wild signal/PWR traces (yeah - some are still there, especially late routing of the signals for the above mentioned ID pins gave me good headaches and forced to do some funny trace twists), so I don’t feel too bad about it and in the download section below, there are GERBER files, which can be used to produce the pictured PCB. In case you want a ready made one, please contact me or check the DolphinDOS category of my For Sale section.
- IMPORTANT: C3 MUST NOT (!) be loaded when using regular SRAM (4364/6264/5864/...), which is the only option as of now anyway. I repeat: DO NOT LOAD the C3 capacitor! It will probably be removed in the next iteration. Just DO NOT LOAD it for now. You have been warned!
- ID pins (JP2) have to be both SHORTED with jumpers or you will get your device working as drive 11 rather than - what you probably expect - 8
- CON3-0 and CON3-1 are 20-pin pinheads, which I use for connecting to the main controller board’s 6502 soldering pads. CON4-0 and CON4-1 do the same for the 6522 VIA.
- For CON3 and CON4 I use "goldpin" type of connectors. If you plan to use the same, please note that the drills are somewhat smaller than typical. This is done so because people had problems keeping the pins straight when soldering. I myself had to use special socket constructions to keep the strips straight and aligned when mounting. Depending on the tolerances your PCB manufacturer adheres to, extra care and force may be needed when inserting the pin strips. Though, once inserted, it should be easier to keep the correct alignment during soldering. Please take good care when inserting and help yourself with a hard, flat surface if needed.
- JP5 is used to turn the expansion ON/OFF (SpeedDOS style parallel connection remains unaffected and works in both positions). A switch connecting pin 2 with either 1 or 3 is needed. It is done like on the original board, but I don’t really like this design as it puts HF digital signal on a cable and through a mechanical switch. I think I shall have to change this design to use just a simple on/off switch/jumper using a static signal.
- Care has to be taken when assembling the hardware in order to make it sit low and fit properly inside the drive’s case, yet remain elevated above the level of other elements on the controller’s main board! Among things worth taking into consideration, I suggest to have a closer look at the “low profile” precision sockets for the ICs, small decoupling capacitors and either direct board to ribbon cable IDC connector or a right-angled shrouded rectangular header and IDC for parallel connection. If you use the latter, please note that pin "1" is marked with a pointing triangle on the PCB. This means that if your cable is correctly built and has one wire marked as wire #1, the notches will force it to become wire #10 rather than #1. If you feel like - you may reverse the plastic part upside down. This will work the problem around. I may try to change the orientation of the connector in the future, but I make no promises! The vertical (non-angled) version doesn't have this issue as it can be soldered the way that both pins marked with triangles match each other.
- dd2_schematics_rev2g-0.png - schematics of the drive-side expansion hardware
- dd2_gerbers_rev2f-0.zip - GERBER files for producing the PCB (GPL Licence)
- 2dosa_c.bin.zip - DolphinDOS V2 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 :-)
- DolphinDOS 2 manual - PDF 4.45MiB (Scan of the original manual - German)
- 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