PDS development system
The connector towards the target system appears to have two position, the outer for the Amstrad (with additional 74LS32 chip) and inner for the ZX Spectrum (or in this case SAM).
Details below from http://www.cpcwiki.eu/index.php/PDS_development_system for the CPC version:
PDS is an acronym for "Programmers Development System" and is a development system made by Andy Glaister . The system comprised an "Apricot PC" (an early PC), assembler, debugger, editor, profile, graphics tool and hardware to connect to a target computer. A company called "Programmers Development Systems Ltd" or "PD Systems" sold it.
The target computer ran a program which waited for PDS to send it instructions.
Uses port FBEC-FBEF.
FBEC PDS Z80 PIO Port A Data (8bit data to/from PC) FBED PDS Z80 PIO Port B Data (handshake to/from PC) FBEE PDS Z80 PIO Port A Control FBEF PDS Z80 PIO Port B Control
The handshake bits (in Port FBEDh) are:
0 clock from PC (data transferred on BOTH raising AND falling edges) 1-4 unknown (not connected in spectrum schematic) 5 unknown (something to and/or from PC in spectrum schematic) (could be IRQ) 6 data direction (for 74LS245 transceiver) 7 clock/acknowledge to PC (signals BOTH raising AND falling edges, too)
Note on data direction: This is feature duplicated in hardware, the Z80 PIO itself is bidirectional, so, theoritically, the external 74LS245 transceiver isn't required - it may be there to act as amplifier, or as fuse).
The ZX/CPC interface connects to Expansion Port, and contains a Z80 PIO chip, and 74LS245, 74LS04, 74LS32 (CPC only) logic chips, and a Reset button. And a 2x8pin connector, for connecting to PC via 16pin flat-cable.
The PC interface connects to ISA bus, and contains a 8255 PPI chip, five logic chips, and two 2x8pin connectors, allowing to connect to up to two slave computers.
The CPC needs to execute PDS download source code, for communicatiing with the debugger, and for loading CPC software via cable rather than from tape or disc.
Normally, the debug/transfer code isn't included in release versions, however, some CPC release versions do still contain some (unused) code fragments that access some Ports at FBEC-FBEF (in non-Z80 PIO fashion):
- Gremlins (Adventure Soft, UK) (debug I/O code found in spanish Gremlins version)
- Robin of Sherwood (Adventure Soft, UK)
- Seablood aka Seas of Blood (Adventure Soft, UK)
- The Last V8 (Mastertronic)
Unclear if these games were made using an alternate (older or newer) version of the official PDS hardware, or if they were using a similar devkit from another company.
Note: The handshake/timing used in the above games seems to be less stable than in the Z80 PIO version (seem to be working only if the PC software disables interrupts during transfer - unless the hardware includes automatic handshaking, which isn't seen in the Z80 disassemblies), so the four games may have been using an older PDS version (or a third-party remake).
Info from Andy Glaister :
"During the rest of the 1980's I started working on a development system as typing in hex using a two line basic program was becoming more and more difficult. This was developed on one of the first IBM PC clones from England - the 'Apricot PC'.
This was an extremely well designed machine and actually had some advantages over the early IBM PC's - namely a 960K memory limit, a separate LCD in the keyboard and great hardware and software manuals. The assembler, editor, debugger, profiler, graphics tool and hardware card to connect to C64's, ZX Spectrums, Amstrads, C16's etc... became really popular with first my friends and then more and more developers.
I formed a company called 'Programmers Development Systems Ltd.' or PD Systems with Jacqui Lyons (of Marjacq) and Fouad Katan (of Bits) and for the remainder of the 1980's and early 90's we sold about 500 systems to pretty much all the game development companies in England. Many of the people who bought these systems would never have used the PC for anything else, so it was quite a large investment at the time.
It's difficult to find information on PDS these days, I have found a couple of links to companies and individuals who mention PDS: http://tacgr.emuunlim.com/interviews/interviews.php?interview=1, http://www.blitzgames.com/olivertwins/earlyyearsp2.htm"
See DL0,DL1,DL2 source code files for more info on the download protocol.
See http://trastero.speccy.org/cosas/JL/PDS/Introduccion.html (Spanish) for further details.
The executables will hardly work on modern PCs (v1.26 shows a blank screen and beeps on any keystrokes, v1.21 accidently complains about needing MSDOS 3 or higher under win98, or needing 640K or more RAM under freedos). Aside from that, the executables are said to work only if the PDS ISA card is installed.
Details from http://www.cpcwiki.eu/index.php