Copies or clones of the official interface [[en:hardware:perifericos:kempston_joystick]].
~~NOTOC~~
Copies or clones of the official interface [[en:hardware:perifericos:kempston_joystick]].
The clone unit illustrated on this page corresponds exactly to the **"Siren Software Joystick Interface"**, actively marketed during the late 1980s in the United Kingdom by the Manchester-based hardware and utility house **Siren Software** (run by Philip and Michael Davenport). The peripheral was highly popular at the time due to being originally distributed in a striking bright green packaging with white lettering, making it the most widespread Kempston-compatible clone for the Amstrad PCW 8256 and 8512 range.
Since Amstrad omitted game controller ports out of the factory to lower professional costs, Siren Software filled this niche by designing a cheap and robust interface that plugged directly into the 50-pin lateral expansion bus. Its great competitive advantage was its purely electronic Plug and Play design: it required no software or resident drivers within the CP/M operating system. Furthermore, the manufacturer implemented an ingenious physical hardware hack by incorporating two parallel DE-9 ports wired in a mirror configuration into the casing. This allowed two joysticks to be connected simultaneously for cooperative multiplayer games (such as Match Day II), electrically sharing the same data bus address in parallel.
At the level of traditional logic integrated circuits from the TTL series (74xx) visible on the top and bottom PCB, the board operates as a direct electronic gateway to the Zilog Z80 microprocessor:
09Fh (equivalent to 159 in decimal format).09Fh returns a clean 00h byte. The board's tri-state buffer opens the channel and dumps the status of the mechanical switches directly onto the PCW data bus when the software executes the IN A, (09Fh) read instruction.Bit Mapping Matrix on Port 09Fh:
| Bus Bit | Physical Active-High State (1) | Assigned Joystick Function (Atari Standard) | DE-9 Connector Physical Pin |
|---|---|---|---|
| Bit 7 | 0 (Fixed) | Unused line / Reserved | — |
| Bit 6 | 0 (Fixed) | Unused line / Reserved | — |
| Bit 5 | 0 (Fixed) | Unused line / Reserved | — |
| Bit 4 | 1 | Primary action button (FIRE) pressed | Pin 6 |
| Bit 3 | 1 | Joystick stick UP direction active | Pin 1 |
| Bit 2 | 1 | Joystick stick DOWN direction active | Pin 2 |
| Bit 1 | 1 | Joystick stick LEFT direction active | Pin 3 |
| Bit 0 | 1 | Joystick stick RIGHT direction active | Pin 4 |
Being the most widespread stick control standard, virtually all commercial action video games written for the PCW's CP/M Plus included a native routine to read directly from the port 09Fh register within their peripheral control selectors. Today, this hardware behavior is fully supported virtually in digital preservation emulators such as CP/M Box (Habisoft) and Joyce (John Elliott), as well as faithfully reproduced using hardware logic gates in the official Amstrad PCW Core of the MiSTer FPGA platform.