The KC Compact 464 clone
The KC Compact is technically not an Amstrad CPC computer, but a soviet era clone. As electronics was hard to get by in the Soviet Union, companies reverse engineered existing architectures from the west and cloned them. THe KC Compact is architecturally similar to the CPC 464 and runs almost all of the 464 software without a problem.
The KC Compact 464 clone
The KC Compact is technically not an Amstrad CPC computer, but a soviet era clone. As electronics was hard to get by in the Soviet Union, companies reverse engineered existing architectures from the west and cloned them. The KC Compact is architecturally similar to the CPC 464 and runs almost all of the 464 software without a problem. The biggest difference is that the KC Compact did not come with a built in tape recorder and the user had to provide one for loading games and other software.
Amstrad CPC Computers
Amstrad was known for cheap hi-fi products but had not broken into the home computer market until the CPC 464. Their consumer electronic sales were starting to plateau and owner and founder Alan Sugar stated "We needed to move on and find another sector or product to bring us back to profit growth". Work started on the Amstrad home computer in 1983 with engineer Ivor Spital who concluded that Amstrad should enter the home computer market, offering a product that integrated low-cost hardware to be sold at an affordable "impulse-purchase price". Spital wanted to offer a device that would not commandeer the family TV but instead be an all-in-one computer with its own monitor, thus freeing up the TV and allowing others to play video games at the same time. Bill Poel, General Manager of Amsoft (Amstrad's software division), said during the launch press release that if the computers were not on the shelves by the end of June "I will be prepared to sit down and eat one in Trafalgar Square".
Many programs and peripherals were developed for the CPC computers. Amstrad's Operating System was AMSDOS. This OS is embedded in Basic using so-called RSX commands starting with |, but it could not format disks, for that you needed a special application. The 464 also could use CP/M 2.2 or 3.0 when used with an external Floppy disk unit (3" Hitachi, 180 KB / face). A lot of great CP/M software was adapted for the Amstrad CPC.
About 42 KB RAM was available for the user, the video memory and the ROM were mapped on the same addresses with a dedicated chip to switch the memory banks automatically.
The first Amstrad CPC prototype (called "Arnold", which gave the name ROLAND (Arnold acronym) to several CPC games) was built around a 6502 processor and then changed to a Z80 late in the computer's development. A few months later, the CPC series would be completed with a computer which offered a built-in floppy disk unit: the CPC 664.
The CPC series are powered by the Zilog Z80 processor after the original attempts to use the 6502 processor, being used in the Apple II amongst many other 8-bit computer families, failed. The Z80 runs at 4 MHz, has 64K of memory and runs AMSDOS, Amstrad's own OS. The unit includes a built in tape drive and the choice of a colour or green monochrome monitor.
Normal Video Modes
- Mode 0 - 160x200 in 16 colors
- Mode 1 - 320x200 in 4 colors
- Mode 2 - 640x200 in 2 colors
- Mode 3 - 160x200 in 4 colors*
Each color can be chosen from a palette of 27 colors total. The dimensions in pixels given could be raised with clever use of FullScreen Trick (often dubbed erronuously as overscan mode). This then allows with a video memory of 24 KB (approximately) to have alternate video modes.
Alternate Video Modes
- Alt Mode 0 - 192x272 in 16 colors
- Alt Mode 1 - 384x272 in 4 colors
- Alt Mode 2 - 768x272 in 2 colors
Amstrad Memory Layout
The Amstrad CPC 464 has a 64 KB Z80 address space, but the way RAM and the video circuitry interact is distinctive. The design routes video fetches directly from the same DRAM that the CPU uses, meaning “video memory” is shared. The CPC line of Amstrad used a 6845-class CRTC for their video. Amstrad sourced multiple pin-compatible variants such as the HD6845S, the UM6845, the UM6845R, and in some units they used the Motorola MC6845. In later models the CPC integrated a compatible 6845-compatible CRTC into the ASIC.
Video RAM Mapping
The CRTC shares memory with the CPU, but has it's own 14-bit "MA" counter (Memory Addresss Counter). The Gate-Array translates the address into a physical DRAM addresss. As a result, the screen memory can be located anywhere in the 64kByte RAM space, in 2kByte chunks. Common default is the 0xC000-0xFFFF area, a 16kByte piece of RAM used for Video. The Video logic uses Z80 cycles to fetch display data, the Z80 and the CRTC share DRAM bandwith on an interleaved cycle basis, effectively reducing the Z80 speed by about 0.7MHz.
Key details
The CRTC generates sequential addresses for each raster line, but because of the CPC's video mode packing (1, 2, or 4 pixels per byte, depending on the mode), the logical line addresses are non-linear. The Gate-Array maps the CRTC address lines into DRAM in a row interleaved way:- Bits A00-A02: byte within character row
- Bits A03-A10: select character row and horizontal position
- Bits A11-A13: select block of 2kB within the 16kB video region
CPU - The Zilog Z80
The Z80 quickly became popular in the personal computer market, with many early personal computers, such as the TRS-80 and Sinclair ZX80, using the Z80 as their central processing unit (CPU). It was also widely used in home computers, such as the MSX range, SORD, and the Amstrad CPC, as well as in many arcade games. Additionally, it was also used in other applications such as industrial control systems, and embedded systems. The Z80 was widely used until the mid-1980s, when it was gradually replaced by newer microprocessors such as the Intel 80286 and the Motorola 68000.
The Z80 microprocessor was developed by Zilog, a company founded by Federico Faggin in 1974. The Z80 was released in July 1976, as a successor to the Intel 8080. It was designed to be fully compatible with the 8080, but also included new features such as an improved instruction set, more powerful interrupts, and a more sophisticated memory management system.
Originally the Z80 was intended for use in embedded systems, just as the 8080 CPU. But the combination of compatibility, superior performance to other CPUs of the era, and the affordability led to a widespread use in arcade video game systems, and later in home computers such as the Osborne 1, TRS-80, ColecoVision, ZX Spectrum, MSX, Sega's Master System and many more. The Z-80 ran the original Pac-Man arcade cabinet. The Z-80 was used even in the Game Gear (1990s), and the TI-81 and succeeding graphic calculators.
The Z-80 remained in production until June of 2024, 48 years after its original release. Zilog replaced the processor with its successor the eZ80, an 8-bit microprocessor that features expanded memory addressing up to 16 megabytes, and running up to 50MHz, comparable to a Z80 clocked at 150MHz.
