Difference between revisions of "CPC old generation"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Included in delivery)
(CPC464: Link to 12 pack)
 
(65 intermediate revisions by 24 users not shown)
Line 1: Line 1:
 +
[[Category:Hardware|*]][[Category:CPC Internal Components| ]][[Category:CPC History|*]][[Category:Amstrad Products| ]]
 +
 +
[[Image:464.png|thumb|CPC 464 with Colour monitor]]
 
[[Image:Schneider 664 en.jpg|thumb|German CPC 664]]
 
[[Image:Schneider 664 en.jpg|thumb|German CPC 664]]
  
''The following text was copied from the [http://en.wikipedia.org/wiki/Amstrad_CPC english Wikipedia article].''
+
''The following text was copied in part from the [http://en.wikipedia.org/wiki/Amstrad_CPC English Wikipedia article].''
  
 
==Hardware description==
 
==Hardware description==
All CPC models were based on a Zilog Z80 processor clocked at 4 MHz. Because a common pool of RAM is shared with the video circuits, the Z80 may only make a memory accesses every four cycles - which has the effect of rounding all instruction cycle lengths up to the next multiple of four.
+
All CPC models were based on a [[Zilog]] [[Z80]] processor clocked at 4 MHz. Because a common pool of RAM is shared with the video circuits, the Z80 may only make a memory access once every four cycles, which has the effect of rounding all instruction cycle lengths up to the next multiple of four. For details, see [https://web.archive.org/web/20170324233713/http://www.grimware.org/doku.php/documentations/devices/z80 a nearly complete list of instructions with timings (number of cycles) for each.]
 +
 
 +
The system came with 64 KB or 128 KB of RAM depending on the model (capable of being expanded to more). The machines also featured a standard 9-pin Atari-style joystick socket which was able to take two joysticks via a splitter.
 +
 
 +
The machines' dimensions are:
 +
*'''CPC464''' : 17 x 57.5 x 7.5
 +
*'''CPC6128''' : 17.5 x 51.1 x 5
  
The system came with 64 KB or 128 KB of RAM depending on the model (capable of being expanded to 576k). The machines also featured a standard 9-pin Atari-style joystick socket which was able to take two joysticks via a splitter.
 
  
 
===Video (graphics): modes, outputs===
 
===Video (graphics): modes, outputs===
Underlying the CPCs video output was the Motorola 6845 address generator. This chip was connected to a pixel generator that supported 4 bpp, 2 bpp and 1 bpp output (bits per pixel). The address generator was clocked at a constant rate so the 4 bpp display generated half as many pixels as the 2 bpp and a quarter as many as the 1 bpp.
+
Underlying the CPC's video output was the [[CRTC|Motorola 6845]] address generator. This chip was connected to a pixel generator that supported 4 bpp, 2 bpp and 1 bpp output (bits per pixel). The address generator was clocked at a constant rate so the 4 bpp display generated half as many pixels as the 2 bpp and a quarter as many as the 1 bpp.
  
 
The ROM featured three built-in display resolutions but many others could be achieved by reprogramming the 6845.
 
The ROM featured three built-in display resolutions but many others could be achieved by reprogramming the 6845.
  
The standard video modes were:
+
The standard [[video modes]] were:
*'''Mode 0''': '''160×200''' pixels with 16 colors (4 bpp)
+
*'''Mode 0''': '''160×200''' pixels with 16 colours (4 bpp)
*'''Mode 1''': '''320×200''' pixels with 4 colors (2 bpp)
+
*'''Mode 1''': '''320×200''' pixels with 4 colours (2 bpp)
*'''Mode 2''': '''640×200''' pixels with 2 colors (1 bpp)
+
*'''Mode 2''': '''640×200''' pixels with 2 colours (1 bpp)
 +
*'''Mode 3''': '''160×200''' pixels with 4 colours (2 bpp) (this is not an official mode, but rather a side-effect of the hardware)
  
A colour palette of 27 colors was supported, derived from RGB colour space with each component assigned as either off, half on or on. The later '''Plus''' models extended this to 4096 colours and added support for hardware sprites.
+
A colour palette of 27 colours was supported, derived from RGB colour space with each component assigned as either off, half on or on. The later '''Plus''' models extended this to 4096 colours and added support for hardware sprites.
  
This hardware compares well with the other 8-bit computers. In particular the CPC lacks the colour clash of the ZX Spectrum and clever programming of the 6845 could produce overscan, different resolutions (although with the same pixel density) and smooth pixel scrolling.
+
This hardware compares well with the other 8-bit computers. In particular the CPC lacks the colour clash of the ZX Spectrum, and clever programming of the 6845 could produce overscan, different resolutions (although with the same pixel density) and smooth pixel scrolling.
  
 
The machine lacked either a RF TV or composite video output and instead shipped with a proprietary 5-pin DIN connector intended for use solely with the supplied Amstrad monitor. An external adapter for RF TV was available to be bought separately.
 
The machine lacked either a RF TV or composite video output and instead shipped with a proprietary 5-pin DIN connector intended for use solely with the supplied Amstrad monitor. An external adapter for RF TV was available to be bought separately.
  
The five-pin DIN connector is capable of driving a SCART television with a correctly wired lead.
+
The five-pin DIN connector is capable of driving a television with a correctly wired SCART lead.
  
 
===Audio (sound)===
 
===Audio (sound)===
 
The CPC used the General Instrument AY-3-8912 sound chip, providing three channels, each configurable to generate square waves, white noise or both. A small array of hardware volume envelopes are available.
 
The CPC used the General Instrument AY-3-8912 sound chip, providing three channels, each configurable to generate square waves, white noise or both. A small array of hardware volume envelopes are available.
  
Output was provided in mono by a small (4 cm) built-in loudspeaker with volume control, driven by an unusually powerful amplifier. Stereo output was provided through a 3.5mm headphones jack, not present on some early CPC464 models. In those models, what looked like a standard 3.5" headphone jack was actually used for connecting an external tape recorder, although later models used a five-pin DIN connector for the same purpose.
+
Output was provided in mono by a small (4 cm) built-in loudspeaker with volume control, driven by an unusually powerful amplifier. Stereo output was provided through a 3.5mm headphone jack, not present on some early CPC464 models. In those models, what looked like a standard 3.5" headphone jack was actually used for connecting an external tape recorder, although later models used a five-pin DIN connector for the same purpose.
  
 
Playback of digital sound samples at a resolution of a little better than 5-bit, as heard on the title screen of the game ''RoboCop'', was possible through clever programming of the sound chip. This trick was very processor intensive and hard to combine with any other processing.
 
Playback of digital sound samples at a resolution of a little better than 5-bit, as heard on the title screen of the game ''RoboCop'', was possible through clever programming of the sound chip. This trick was very processor intensive and hard to combine with any other processing.
Line 36: Line 45:
 
Amstrad's idiosyncratic choice of Hitachi's 3" floppy disk drive, when the rest of the PC industry was moving to Sony's 3.5" format, is often claimed to be due to Amstrad bulk-buying a large consignment of 3" drive units in Asia. The cheapest drive (built-in in later models) was a single-sided 40-track unit that required the user to physically remove and flip the disk to access both sides. Each side had its own independent write-protect switch. The sides were termed "A" and "B", with each one holding 180KB (178KB in AMSDOS format) for a total of 360KB per disc.   
 
Amstrad's idiosyncratic choice of Hitachi's 3" floppy disk drive, when the rest of the PC industry was moving to Sony's 3.5" format, is often claimed to be due to Amstrad bulk-buying a large consignment of 3" drive units in Asia. The cheapest drive (built-in in later models) was a single-sided 40-track unit that required the user to physically remove and flip the disk to access both sides. Each side had its own independent write-protect switch. The sides were termed "A" and "B", with each one holding 180KB (178KB in AMSDOS format) for a total of 360KB per disc.   
  
The interface with the drives was a NEC 765 FDC, used for the same purpose in the IBM PC/XT, PC/AT and PS/2 machines. Many of its features were unused in order to cut costs, namely DMA transfers and support for single density disks; they were formatted as double density using Modified frequency modulation.  
+
The disk drive interface was a NEC 765 FDC, used for the same purpose in the IBM PC/XT, PC/AT and PS/2 machines. Many of its features were unused in order to cut costs, namely DMA transfers and support for single density disks. Disks were formatted as double density using Modified Frequency Modulation.  
  
Disks were shipped in a paper sleeve or a hard plastic case resembling a compact disc "jewel" case. The casing is thicker and more rigid than that of 3.5" diskettes and sliding metal cover to protect the media surface is internal to the casing and latched, unlike the simple external sliding cover of Sony's version (some reviews at the time reported driving over them with no problems). Because of this they were significantly more expensive than both 5.25" and 3.5" alternatives. This, combined with their low nominal capacities and their essentially proprietary nature, lead to the format being discontinued when the CPC itself was discontinued.
+
Disks were shipped in a paper sleeve or a hard plastic case resembling a compact disc "jewel" case. The casing is thicker and more rigid than that of 3.5" diskettes and the sliding metal cover to protect the media surface is internal to the casing and latched, unlike the simple external sliding cover of Sony's version (some reviews at the time reported driving over them with no problems). Because of this they were significantly more expensive than both the 5.25" and 3.5" alternatives. This, combined with their low nominal capacities and their essentially proprietary nature, lead to the format being discontinued when the CPC itself was discontinued.
  
Apart from Amstrad's other 3" machines (the PCW and the ZX Spectrum +3), the only other computer systems to use them were the Sega SF-7000 and mostly obscure and exotic CP/M systems such as the Tatung Einstein and Osborne machines.
+
Apart from Amstrad's other 3" machines, the PCW and the ZX Spectrum +3 (produced by Amstrad after their acquisition of the Spectrum from Sinclair), the only other computer systems to use them were the Sega SF-7000 and mostly obscure and exotic CP/M systems such as the Tatung Einstein and Osborne machines. It should be noted that some of these machines used drives with different pinouts and care should be taken when replacing drives.
  
 
The data formatting of 3" disks was very similar to that of 5¼" disks, and the Amstrad CPC machines were able to use 5¼" drives through their "external drive" port - either one specially designed for use by the CPC or an adapted IBM-PC drive.
 
The data formatting of 3" disks was very similar to that of 5¼" disks, and the Amstrad CPC machines were able to use 5¼" drives through their "external drive" port - either one specially designed for use by the CPC or an adapted IBM-PC drive.
  
A more popular alternative was to attach an adapted IBM-PC 3½" drive for operation in either single-sided 180 KB or double-sided 360 KB mode, although with the later availability of the PARADOS Disc Operating System, 720k per disc became available.
+
A more popular alternative was to attach an adapted IBM-PC 3½" drive for operation in either single-sided 180 KB or double-sided 360 KB mode, although with the later availability of the PARADOS Disc Operating System, 720k per disc became available. (It was possible to patch CP/M Plus so that it recognised 80 track double sided disk formats, too.)
  
 
===Serial port adaptor===
 
===Serial port adaptor===
Line 50: Line 59:
  
 
===Similarities to the BBC Micro===
 
===Similarities to the BBC Micro===
The CPC has been termed an "improved Z80 implementation of the (earlier) BBC Micro" due to similarities in firmware and hardware. Both use the Motorola 6845 video address generator and the two have very similar sound output chips - the General Instrument AY-3-8912 in the CPC provides three tone channels each optionally with added noise and the Texas Instruments SN76489 in the BBC offers three tone channels and one exclusive noise channel.
+
The CPC has been termed an "improved Z80 implementation of the (earlier) BBC Micro" due to similarities in firmware and hardware. Both used the Motorola 6845 video address generator and the two have very similar sound output chips - the General Instrument AY-3-8912 in the CPC provided three tone channels each optionally with added noise and the Texas Instruments SN76489 in the BBC offered three tone channels and one exclusive noise channel.
  
The BBC Micro uses an Intel 8271 floppy disc controller. The CPC uses the Intel 8272, which is similar to the 8271 but contains the addition of a double density (MFM) mode.
+
The BBC Micro used an Intel 8271 floppy disc controller. The CPC used the Intel 8272, which is similar to the 8271 but contains the addition of a double density (MFM) mode.
  
The "two cursor" BASIC editing system seen on the Amstrad CPC (whereby holding Shift and using the cursor keys moves a shadow text cursor allowing text to be copied from another area of the screen to the normal cursor) is a lift from BBC BASIC, albeit substantially improved by allowing free movement of the normal cursor.
+
The "two cursor" BASIC editing system seen on the Amstrad CPC (whereby holding Shift and using the cursor keys moves a shadow text cursor allowing text to be copied from another area of the screen to the normal cursor) was a lift from BBC BASIC, albeit substantially improved by allowing free movement of the normal cursor.
  
Both systems provide similar systems of full hardware abstraction through Operating System calls. This saves programs which don't require time critical hardware access from having to touch the underlying machine and provides a level of machine portability for those programs.
+
Both systems provided similar systems of full hardware abstraction through Operating System calls. This saves programs which don't require time critical hardware access from having to touch the underlying machine and provides a level of machine portability for those programs.
  
It exists a to the graphic and sound capabilities adapted version of BBC BASIC for the CPC.
+
As the CPC had its own dialect of [[BASIC]], namely [[Locomotive BASIC]], so the BBC Micro has its own version named [[BBC BASIC]]. BBC BASIC evolved with subsequent models of BBC computers and with Acorn's next system, the Archimedes. Both had their own sets of advantages: Locomotive BASIC was faster in many contexts, had native support for text windows, had more comprehensive commands for manipulating sound, ''etc.''; BBC BASIC had support for procedures (rather than just arithmetic functions), an inline assembler, and others. Of note is the fact that among the numerous [http://www.bbcbasic.co.uk/bbcbasic.html ports of BBC Basic] produced by the company [http://www.rtrussell.co.uk/ R.T. Russell] is a version especially adapted for the Amstrad CPC, including support for its specific graphics and sound capabilities; there is also a generic version for [[CP/M]].
  
 
==Software==
 
==Software==
Line 65: Line 74:
  
 
===Other languages===
 
===Other languages===
Although it was possible to obtain compilers for Locomotive BASIC, BCPL, C, Forth, and Pascal the majority of the CPC's software was written in native Z80a assembly language.
+
Although it was possible to obtain compilers for Locomotive BASIC, BCPL, C, Forth, and Turbo Pascal the majority of the CPC's software was written in native Z80 assembly language.
  
An interpreter for the educational language LOGO was also available.
+
An interpreter for the educational language LOGO was also supplied with the 664 and 6128 (and available for the 464 with purchase of an external disc drive).
  
* [[472]]
+
==What was in the box?==
 
+
==Included in delivery==
+
  
 
=== CPC464 ===
 
=== CPC464 ===
* The computer itself, incl. built-in Datacorder
+
 
* Demonstration tape in local language (UK, Germany, France, Spain)
+
* The computer itself, including built-in [[Datacorder]]
* Manual
+
* [[Demonstration tape or disc|Demonstration tape]] in local language (UK, Germany, France, Spain)
 +
* [[User Manual]]
 
* Either an [[Amstrad GT64/GT65 Green Monitor|Amstrad GT64 (Later: GT65) green monitor]] or an [[Amstrad CTM640/CTM644 Color Monitor|Amstrad CTM640 (Later: CTM644) Colour Monitor]]
 
* Either an [[Amstrad GT64/GT65 Green Monitor|Amstrad GT64 (Later: GT65) green monitor]] or an [[Amstrad CTM640/CTM644 Color Monitor|Amstrad CTM640 (Later: CTM644) Colour Monitor]]
 
* Optional: [[Amstrad MP1/MP2 modulator|Amstrad MP-1 (Later: MP-2) TV modulator and power supply]]
 
* Optional: [[Amstrad MP1/MP2 modulator|Amstrad MP-1 (Later: MP-2) TV modulator and power supply]]
 +
* A [[Amsoft 12-Pack|game pack]] consisting of 12 Amsoft titles on tape.
  
=== DDI-1 ===
+
<gallery>
* Controller DDI-1
+
Image:CPC464_pcb_r1.jpg|CPC464 PCB revision 0 (original)
* 3" disk drive FD-1
+
Image:CPC464_pcb_r3.jpg|CPC464 PCB revision 3 (costdown)
* [[System Disk]]: CP/M 2.2 disk with demo
+
Image:CPC464_new_amstrad_logo.jpg|CPC464 (new Amstrad logo - photo from costdown model)
* Manual
+
</gallery>
 +
 
 +
=== CPC472 ===
 +
The CPC 472 was a spanish version of the CPC 464 with additional (nonfunctional) 8 KB RAM. The reason for this was that Amstrad wanted to circumvent a Spanish law that levied an extra tax for machines with 64KB or less of memory; thus, they upped the spec to 72KB by including an additional 8KB though this extra memory was not functional.
  
 +
* Amstrad CPC [[472]]
 +
<gallery>
 +
Image:CPC_472_es.jpg|The CPC472
 +
</gallery>
 
=== CPC664 ===
 
=== CPC664 ===
* The computer itself, incl. built-in 3" disk drive
+
 
 +
* The computer itself, including built-in 3" disk drive
 
* [[System Disk]]: CP/M 2.2 disk with demo in local language (UK, Germany, France, Spain)
 
* [[System Disk]]: CP/M 2.2 disk with demo in local language (UK, Germany, France, Spain)
* Manual
+
* [[User Manual]]
 
* Either an [[Amstrad GT64/GT65 Green Monitor|Amstrad GT65 green monitor]] or an [[Amstrad CTM640/CTM644 Color Monitor|Amstrad CTM644 Colour Monitor]]
 
* Either an [[Amstrad GT64/GT65 Green Monitor|Amstrad GT65 green monitor]] or an [[Amstrad CTM640/CTM644 Color Monitor|Amstrad CTM644 Colour Monitor]]
 
* Optional: [[Amstrad MP1/MP2 modulator|Amstrad MP-2 TV modulator and power supply]]
 
* Optional: [[Amstrad MP1/MP2 modulator|Amstrad MP-2 TV modulator and power supply]]
 +
 +
<gallery>
 +
Image:664.jpg|The 664 in high-res
 +
Image:CPC664_Top.jpg|CPC 664 Top
 +
Image:CPC664_PCB_Top.jpg|CPC 664 Motherboard Top
 +
Image:CPC664_PCB_Bottom.jpg|CPC 664 Motherboard Bottom
 +
Image:Amstrad_cpc_664_plate.png|Amstrad CPC 664 Floppy Disc Drive Plate. PNG format.
 +
Image:Amstrad_cpc_664_plate.svg|Amstrad CPC 664 Floppy Disc Drive Plate. SVG format.
 +
File:Amstrad_cpc_664_plate.pdf|Amstrad CPC 664 Floppy Disc Drive Plate. PDF format.
 +
</gallery>
 +
 +
==== Links ====
 +
 +
* http://www.sellmyretro.com/ - Buy new keyboard membranes for CPC664 from RWAP software
 +
* http://www.rwapsoftware.co.uk/ - RWAP Software, makers of membranes for Sinclair, Enterprise and CPC664
  
 
=== CPC6128 ===
 
=== CPC6128 ===
* The computer itself, incl. built-in 3" disk drive
+
 
 +
* The computer itself, including built-in 3" disk drive
 
* [[System Disk]]s with CP/M Plus, CP/M 2.2 and a demo in local language (UK, Germany, France, Spain)
 
* [[System Disk]]s with CP/M Plus, CP/M 2.2 and a demo in local language (UK, Germany, France, Spain)
* Manual
+
* [[User Manual]]
 
* Either an [[Amstrad GT64/GT65 Green Monitor|Amstrad GT65 green monitor]] or an [[Amstrad CTM640/CTM644 Color Monitor|Amstrad CTM644 Colour Monitor]]
 
* Either an [[Amstrad GT64/GT65 Green Monitor|Amstrad GT65 green monitor]] or an [[Amstrad CTM640/CTM644 Color Monitor|Amstrad CTM644 Colour Monitor]]
 
* Optional: [[Amstrad MP1/MP2 modulator|Amstrad MP-2 TV modulator and power supply]]
 
* Optional: [[Amstrad MP1/MP2 modulator|Amstrad MP-2 TV modulator and power supply]]
 +
* Later models came with the [[Amstrad PP8 Promotional Pack]]
 +
 +
<gallery>
 +
Image:CPC6128_Top.jpg|CPC 6128 Top
 +
Image:CPC6128_PCB_Top_(Z70290_MC0020B).jpg|CPC 6128 Motherboard Top
 +
Image:CPC6128_PCB_Bottom_(Z70290_MC0020B).jpg|CPC 6128 Motherboard Bottom
 +
</gallery>
 +
 +
=== DDI-1 ===
 +
 +
* Controller DDI-1
 +
* 3" disk drive FD-1
 +
* [[System Disk]]: CP/M 2.2 disk with demo
 +
* [[User Manual]]
 +
 +
==Others==
  
=== CPC464plus ===
+
* [[Keyboard Versions]]
* The computer itself, incl. built-in Datacorder
+
* [[Mainboard Versions]]
* System Cartridge with AMSDOS(!), Locomotive BASIC 1.1 and the game Burnin' Rubber
+
* [[CPC6128_Keyboard_Disassembled]]
* 1 Paddle
+
*[[CPC464 & CPC664_logos | CPC Case logos]]
* CPC464plus/CPC6128plus manual
+
* Game manual
+
* Monitor, either amber or colour
+
  
=== CPC6128plus ===
+
==Clones==
* The computer itself, incl. built-in 3" disk drive
+
* System Cartridge with AMSDOS, Locomotive BASIC 1.1 and the game Burnin' Rubber
+
* [[System Disk]] with CP/M Plus and utilities, identical disk for all countries
+
* 1 Paddle
+
* CPC464plus/CPC6128plus manual
+
* Game manual
+
* Monitor, either amber or colour
+
  
=== GX4000 ===
+
See [[Clones]] for a list of classic and modern clones.
* The console itself
+
* System Cartridge with the game Burnin' Rubber
+
* 2 Paddles
+
* Console manual
+
* Game manual
+
* Power supply
+

Latest revision as of 07:58, 13 February 2023

CPC 464 with Colour monitor
German CPC 664

The following text was copied in part from the English Wikipedia article.

Hardware description

All CPC models were based on a Zilog Z80 processor clocked at 4 MHz. Because a common pool of RAM is shared with the video circuits, the Z80 may only make a memory access once every four cycles, which has the effect of rounding all instruction cycle lengths up to the next multiple of four. For details, see a nearly complete list of instructions with timings (number of cycles) for each.

The system came with 64 KB or 128 KB of RAM depending on the model (capable of being expanded to more). The machines also featured a standard 9-pin Atari-style joystick socket which was able to take two joysticks via a splitter.

The machines' dimensions are:

  • CPC464 : 17 x 57.5 x 7.5
  • CPC6128 : 17.5 x 51.1 x 5


Video (graphics): modes, outputs

Underlying the CPC's video output was the Motorola 6845 address generator. This chip was connected to a pixel generator that supported 4 bpp, 2 bpp and 1 bpp output (bits per pixel). The address generator was clocked at a constant rate so the 4 bpp display generated half as many pixels as the 2 bpp and a quarter as many as the 1 bpp.

The ROM featured three built-in display resolutions but many others could be achieved by reprogramming the 6845.

The standard video modes were:

  • Mode 0: 160×200 pixels with 16 colours (4 bpp)
  • Mode 1: 320×200 pixels with 4 colours (2 bpp)
  • Mode 2: 640×200 pixels with 2 colours (1 bpp)
  • Mode 3: 160×200 pixels with 4 colours (2 bpp) (this is not an official mode, but rather a side-effect of the hardware)

A colour palette of 27 colours was supported, derived from RGB colour space with each component assigned as either off, half on or on. The later Plus models extended this to 4096 colours and added support for hardware sprites.

This hardware compares well with the other 8-bit computers. In particular the CPC lacks the colour clash of the ZX Spectrum, and clever programming of the 6845 could produce overscan, different resolutions (although with the same pixel density) and smooth pixel scrolling.

The machine lacked either a RF TV or composite video output and instead shipped with a proprietary 5-pin DIN connector intended for use solely with the supplied Amstrad monitor. An external adapter for RF TV was available to be bought separately.

The five-pin DIN connector is capable of driving a television with a correctly wired SCART lead.

Audio (sound)

The CPC used the General Instrument AY-3-8912 sound chip, providing three channels, each configurable to generate square waves, white noise or both. A small array of hardware volume envelopes are available.

Output was provided in mono by a small (4 cm) built-in loudspeaker with volume control, driven by an unusually powerful amplifier. Stereo output was provided through a 3.5mm headphone jack, not present on some early CPC464 models. In those models, what looked like a standard 3.5" headphone jack was actually used for connecting an external tape recorder, although later models used a five-pin DIN connector for the same purpose.

Playback of digital sound samples at a resolution of a little better than 5-bit, as heard on the title screen of the game RoboCop, was possible through clever programming of the sound chip. This trick was very processor intensive and hard to combine with any other processing.

The 3" floppy disk drives

Amstrad's idiosyncratic choice of Hitachi's 3" floppy disk drive, when the rest of the PC industry was moving to Sony's 3.5" format, is often claimed to be due to Amstrad bulk-buying a large consignment of 3" drive units in Asia. The cheapest drive (built-in in later models) was a single-sided 40-track unit that required the user to physically remove and flip the disk to access both sides. Each side had its own independent write-protect switch. The sides were termed "A" and "B", with each one holding 180KB (178KB in AMSDOS format) for a total of 360KB per disc.

The disk drive interface was a NEC 765 FDC, used for the same purpose in the IBM PC/XT, PC/AT and PS/2 machines. Many of its features were unused in order to cut costs, namely DMA transfers and support for single density disks. Disks were formatted as double density using Modified Frequency Modulation.

Disks were shipped in a paper sleeve or a hard plastic case resembling a compact disc "jewel" case. The casing is thicker and more rigid than that of 3.5" diskettes and the sliding metal cover to protect the media surface is internal to the casing and latched, unlike the simple external sliding cover of Sony's version (some reviews at the time reported driving over them with no problems). Because of this they were significantly more expensive than both the 5.25" and 3.5" alternatives. This, combined with their low nominal capacities and their essentially proprietary nature, lead to the format being discontinued when the CPC itself was discontinued.

Apart from Amstrad's other 3" machines, the PCW and the ZX Spectrum +3 (produced by Amstrad after their acquisition of the Spectrum from Sinclair), the only other computer systems to use them were the Sega SF-7000 and mostly obscure and exotic CP/M systems such as the Tatung Einstein and Osborne machines. It should be noted that some of these machines used drives with different pinouts and care should be taken when replacing drives.

The data formatting of 3" disks was very similar to that of 5¼" disks, and the Amstrad CPC machines were able to use 5¼" drives through their "external drive" port - either one specially designed for use by the CPC or an adapted IBM-PC drive.

A more popular alternative was to attach an adapted IBM-PC 3½" drive for operation in either single-sided 180 KB or double-sided 360 KB mode, although with the later availability of the PARADOS Disc Operating System, 720k per disc became available. (It was possible to patch CP/M Plus so that it recognised 80 track double sided disk formats, too.)

Serial port adaptor

An official RS-232-C D25 serial port adaptor was produced that attached to the expansion connector at the rear of the machine, and had a through-connector for the CPC464 disk drive or other peripherals. The adaptor 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.

Similarities to the BBC Micro

The CPC has been termed an "improved Z80 implementation of the (earlier) BBC Micro" due to similarities in firmware and hardware. Both used the Motorola 6845 video address generator and the two have very similar sound output chips - the General Instrument AY-3-8912 in the CPC provided three tone channels each optionally with added noise and the Texas Instruments SN76489 in the BBC offered three tone channels and one exclusive noise channel.

The BBC Micro used an Intel 8271 floppy disc controller. The CPC used the Intel 8272, which is similar to the 8271 but contains the addition of a double density (MFM) mode.

The "two cursor" BASIC editing system seen on the Amstrad CPC (whereby holding Shift and using the cursor keys moves a shadow text cursor allowing text to be copied from another area of the screen to the normal cursor) was a lift from BBC BASIC, albeit substantially improved by allowing free movement of the normal cursor.

Both systems provided similar systems of full hardware abstraction through Operating System calls. This saves programs which don't require time critical hardware access from having to touch the underlying machine and provides a level of machine portability for those programs.

As the CPC had its own dialect of BASIC, namely Locomotive BASIC, so the BBC Micro has its own version named BBC BASIC. BBC BASIC evolved with subsequent models of BBC computers and with Acorn's next system, the Archimedes. Both had their own sets of advantages: Locomotive BASIC was faster in many contexts, had native support for text windows, had more comprehensive commands for manipulating sound, etc.; BBC BASIC had support for procedures (rather than just arithmetic functions), an inline assembler, and others. Of note is the fact that among the numerous ports of BBC Basic produced by the company R.T. Russell is a version especially adapted for the Amstrad CPC, including support for its specific graphics and sound capabilities; there is also a generic version for CP/M.

Software

Built-in BASIC and operating system

Like most home computers at the time, the CPC had its OS and a BASIC interpreter built in as ROM. It used Locomotive BASIC - a variant specifically written for the CPC hardware which as a result was faster, more comfortable and more powerful than the generic but common Microsoft BASIC used by the Commodore 64 and MSX amongst others. It was particularly notable for providing easy access to the machine's video and audio resources in contrast to the arcane POKE commands required on some Microsoft implementations (the MSX implementation of Microsoft Basic being an exception, which even allowed for hardware sprite manipulation and collision detection).

Other languages

Although it was possible to obtain compilers for Locomotive BASIC, BCPL, C, Forth, and Turbo Pascal the majority of the CPC's software was written in native Z80 assembly language.

An interpreter for the educational language LOGO was also supplied with the 664 and 6128 (and available for the 464 with purchase of an external disc drive).

What was in the box?

CPC464

CPC472

The CPC 472 was a spanish version of the CPC 464 with additional (nonfunctional) 8 KB RAM. The reason for this was that Amstrad wanted to circumvent a Spanish law that levied an extra tax for machines with 64KB or less of memory; thus, they upped the spec to 72KB by including an additional 8KB though this extra memory was not functional.

  • Amstrad CPC 472

CPC664

Links

CPC6128

DDI-1

Others

Clones

See Clones for a list of classic and modern clones.