machines also feature a 9-pin Atari joystick port that will either directly take one joystick, or two joysticks by use of a splitter cable. Peripherals RS232 serial adapters Amstrad issued two RS-232-C D25 serial interfaces, attached to the expansion connector on the rear of the machine, with a through-connector for the CPC464 disk drive or other peripherals. The original interface came with a Book of Spells for facilitating data transfer between other systems using a proprietary protocol in the device's own ROM, as well as terminal software to connect to British Telecom's Prestel service. A separate version of the ROM was created for the U.S. market due to the use of the commands "|SUCK" and "|BLOW", which were considered unacceptable there. Software and hardware limitations in this interface led to its replacement with an Amstrad-branded version of a compatible alternative by Pace. Serial interfaces were also available from third-party vendors such as KDS Electronics and Cirkit. Software BASIC and operating system Like most home computers at the time, the CPC has its OS and a BASIC interpreter built in as ROM. It uses Locomotive BASIC - an improved version of Locomotive Software's Z80 BASIC for the BBC Microcomputer co-processor board. It is particularly notable for providing easy access to the machine's video and audio resources in contrast to the POKE commands required on generic Microsoft implementations. Other unusual features include timed event handling with the AFTER and EVERY commands, and text-based windowing. CP/M Digital Research's CP/M operating system was supplied with the 664 and 6128 disk-based systems, and the DDI-1 disk expansion unit for the 464. 64k machines shipped with CP/M 2.2 alone, while the 128k machines also include CP/M 3.1. The compact CP/M 2.2 implementation is largely stored on the boot sectors of a 3" disk in what was called "System format"; typing |CPM from Locomotive BASIC would load code from these sectors, making it a popular choice for custom game loading routines. The CP/M 3.1 implementation is largely in a separate file which is in turn loaded from the boot sector. Much public domain CP/M software was made available for the CPC, from word-processors such as VDE to complete bulletin board systems such as ROS. Other languages Although it was possible to obtain compilers for Locomotive BASIC, C and Pascal, the majority of the CPC's software was written in native Z80 assembly language. Popular assemblers were Hisoft's Devpac,