Connecting a Disc Interface to CPC464+
External Disc Interface
Basically, the official DDI-1 and any other third-party disc interfaces for the CPC 464 should work on the CPC 464+ as well. However, there are two problems:
Expansion Port Adapter
The CPC464 used a 50pin edge-connector, the CPC464+ uses a 50pin centronics-style connector. The pin-outs are identical, so this problem can be solved with a simple adapter. Equivalent adapters do also exist for the german CPC6128 (which has a 50pin centronics-style expansion port, too): UK/DE Expansion Converter.
System Cartridge Bug
There is a bug in the system cartridge, that causes the BIOS to execute code at C072h in ROM bank 07h. Normally, the AMSDOS bank in the system cartridge contains the Burnin' Rubber bootmenu at that location. However, this works only if the CPC+'s built-in AMSDOS is mapped to bank 07h.
When using an external disk-interface with external AMSDOS ROM (or other DOS clone), executing code at C072h is typically crashing the computer. The same problem occurs when activating the CP/M autoboot feature via LK Links (which swaps bank 0 and 7). Possible workarounds are:
- Replace opcode LD C,07h (at 05EBh in system cart) by LD C,83h (this fixes the bug)
- Replace opcode LD HL,C072h (at 05E8h in system cart) by LD HL,0000h (completely disables the bootmenu, which was a rather annoying idea anyways)
- Remove or disable the ROM in the disc-interface, and cut the ROMDIS signal in the disc-interface (so the built-in AMSDOS in the CPC+ is used instead of the external DOS; this can be done without EPROM burner, but doesn't support 80-track drives)
- Use an external DOS that resides elsewhere than in ROM bank 7 (whereas, the external DOS must undo hooks and memory allocations done by the internal AMSDOS; this should be supported by ParaDOS)
- Insert two opcodes (LD HL,0000h, JP BD16h) at C072h in the DOS ROM (so the CPC+ "returns" from the bootmenu without crashing) (this is supported by ParaDOS, using a similar slightly different method)
Internal Disc Interface
The CPC 464+ uses exactly the same mainboard as the CPC 6128+. So it can be easily upgraded by installing the missing components. The most important ones are:
IC3 24pin SED9420CAC Disc Data Separator IC4 40pin uPD765AC-2 Disc Controller IC5 14pin 74LS38 Quad NAND gate, OC IC6 14pin 74LS38 Quad NAND gate, OC IC7 14pin 74HC14 Hex Inverter, Schmitt R29 10kOhm Enable Disc support (in ASIC) Connector(s) for internal and/or external disc drive
Plus several further resistors and capacitors, see Schematics for details. AMSDOS is already contained in the 464+ system cartridge, so no additional disc ROM is needed (at least not for 40-track drives).