Unix pages
Home -> UNIX software -> JOYCE


JOYCE emulates the Amstrad PCW on Unix, Windows and Mac OS X. Since it's written using SDL, it shouldn't be too hard to port it to other platforms such as MacOS Classic or BeOS.

The latest version of JOYCE (2.2.4) includes ANNE, which emulates the PcW16. The older version (2.0.2) cannot emulate the PcW16.

Update History

JOYCE v2.2.4 (stable) released. Improvements to keyboard emulation; some compiler warnings removed, and an updated SDL.DLL included with the Windows version.
JOYCE v2.2.3 (stable) released. This has a further correction to the configuration script.
JOYCE v2.2.2 (stable) released. This corrects some compilation issues on recent Linux systems.
JOYCE v2.2.1 (stable) released. This corrects a bug which caused ANNE to crash when reinstalling the OS.
JOYCE v2.2.0 (stable) released. Apart from minor code cleanups, this is unchanged from the last development version, 2.1.11.
JOYCE v2.1.11 (development) released. A bug in the Z80 emulation which caused Starglider to hang has been fixed.
JOYCE v2.1.10 (development) released. A longstanding bug which prevented the PCKEY utility working has been fixed.
JOYCE v2.1.9 (development) released. This includes a bugfix to the new folder support in 2.1.8, and some changes to allow compilation on Mac OS X.
JOYCE v2.1.8 (development) released. This allows folders on the host PC to be used as disc images, without the need for any changes to the software on the PCW.
JOYCE v2.1.7 (development) released. The native GSX and Logo drivers (which went missing in JOYCE 2.0.0) have been brought back.
JOYCE v2.1.6 (development) released. This version improves support for some PCW games and disc protection schemes. The Windows version now works if there are no printers set up.
JOYCE v2.1.5 (development) released. This version adds support for joystick emulation using the host PC's joystick(s).
JOYCE v2.1.4 (development) released. Support for my proposed extension to the DSK format has been added; this allows the emulated PcW16 to load CP/M.
JOYCE v2.1.3 (development) released. Various bug fixes in the PcW16 acceleration code.
JOYCE v2.1.2 (development) released. The bug fixed last year in 2.0.2 is now fixed in the development version as well. This version also includes acceleration code in the PcW16 emulator, allowing slow operations such as the memory test to be skipped.
JOYCE v2.0.2 (stable) released - bug fix in MYZ80 hard drive emulation.

PCW Miscellany

These are here because I can't think of anywhere else among my pages to put them.

PCW hardware information

This is included in the JOYCE package, but it's here in case you want it as a separate download: PCW hardware information.

The PCW Keyboard

Keyboard layout and wire protocol.

Gem Drive hardware information

JOYCE does not emulate the Gem hard drive; its emulated hard drive does not match any real-world hardware. But I've documented how the real thing works.

LocoScript 1 file format

LocoScript 1 file format.

PCW television output

This is a circuit diagram for a PCW-to-television converter, allowing a PCW screen to be displayed on one or more television sets. I redrew it from the original, published in the Crawley PCW Club magazine.

PDF circuit diagram

Original Diagram2 file (requires Diagram2 under NeXTStep or OpenStep).

PCW / PC Hybrid

[swift286.jpg, 91Kb]

This advertisement is for a "Swift-286-PCW", a hybrid between a 286 PC and a PCW. Apparently only fourteen of these were ever sold, so the chances of one still existing must be pretty slim.

Though I've not seen one, I'd guess that the PCW compatible video card was a monochrome card (probably MDA or Hercules). The PCW video system has a command ('float video' - OUT 0xF8, 8) which stops the PCW video controller trying to drive the monitor. The monitor signals are present on the PCW expansion port (pin 44 for SYNC, 46 for VIDEO) so once the PCW video controller has been disabled, the PC video card can drive the monitor using them.

My thanks to David Rathbone, who owned Micro Surgeons, for information on this system.

John Elliott 2010-12-17