Amstrad Schneider PC/PCW
PC 20
ams_pc20

Amstrad PC-20 (Sinclair PC200)

The Amstrad PC-20 is a PC-XT clone with 512KByte RAM. The computer has a 6845-based CRTC paired with an Amstrad CGA/MDA-compatible Internal Display Adaptor (IDA), the same as what the PPC512 had. This provides CGA (4 color graphics) and MDA (Monochrome Display Adapter) compatibility. Not all MDA modes were supported however. The computer also came with a and a math co-processor.

The machine is a white version of the Sinclair PC200. It features a 8086 CPU, 2 ISA slots and came with DOS 3.3.

The PC-20 has a micro-computer like case, with the keyboard and computer in one. This causes problems if one tries to use the ISA slots, you can only use expansion cards, if you leave the flap of the computer case open.

MS-DOS Operating System

MS-DOS (Microsoft Disk Operating System) originated in 1981 when Microsoft acquired QDOS (Quick and Dirty Operating System) from Seattle Computer Products and adapted it for IBM’s upcoming 8088-based personal computer. Initially branded as IBM PC-DOS 1.0 for IBM, and MS-DOS for other vendors, it provided a single-user, single-tasking environment that was heavily inspired by CP/M. The system was structured around a kernel (IBMBIO.COM and IBMDOS.COM in PC-DOS, IO.SYS and MSDOS.SYS in MS-DOS) that interfaced with hardware and implemented system services, plus a command interpreter (COMMAND.COM) that offered a user interface and executed batch files. Early versions supported only 160 KB or 320 KB floppy disks, a flat directory structure, and a very limited system call API.

Technically, MS-DOS was designed around the Intel 8086/8088’s segmented memory model, giving programs access to up to 640 KB of conventional memory, with the upper memory area reserved for system BIOS and hardware. The OS itself was not re-entrant and offered no process isolation: a single foreground program owned the machine at any given time, and the kernel simply provided file and device I/O calls. Devices were abstracted as special files (CON, PRN, AUX, NUL), allowing consistent access via the same system calls used for disk files. Its filesystem, FAT12, offered a simple, space-efficient design suitable for floppy media but imposed limits such as 8.3 filenames and small maximum volume sizes.

As the IBM PC platform expanded, MS-DOS evolved rapidly. Version 2.0 (1983), designed for the IBM XT with a hard drive, introduced FAT16, hierarchical subdirectories, file handles, and device drivers that could be dynamically loaded. Later releases added support for larger disks, expanded memory (via EMS/XMS standards), internationalization, and more sophisticated batch scripting. Version 3.x aligned with the IBM AT and its 80286 CPU, supporting 1.2 MB floppies, larger hard disks, and network redirectors. By version 4.0, MS-DOS began showing signs of strain under the growing complexity of PC hardware, and memory management became a recurring challenge due to the 640 KB conventional memory limit and the awkward use of extended and expanded memory schemes.

Despite being inherently single-tasking, MS-DOS was extended through third-party multitasking shells and Microsoft’s own attempts such as MS-DOS 4.0 Multitasking (rarely used). Eventually, MS-DOS served as the underlying runtime for Windows 3.x, which leveraged DOS for file and device I/O but implemented a cooperative multitasking GUI environment on top. With the release of Windows 95 and later, MS-DOS was gradually absorbed into Windows as a bootstrapping layer and compatibility subsystem. Nonetheless, MS-DOS’s simple architecture, reliance on BIOS and device drivers, and its widespread adoption made it the de facto standard for microcomputer operating systems throughout the 1980s, shaping software design and hardware standards for years to come.

Sound - The AY-3-8910 PSG

The AY-3-8910 is a 3-voice Programmable Sound Generator, or PSG. It was designed by General Instruments in 1978 for use with their own 8-bit PIC1650 and their 16-bit CP1610 computers.

The PSG is widely used in many arcade cabinets, pinball machines, and many micro-computers. Here is a list of some of the major brands of computer that used the AY-3-8910:

  • Intellivision
  • Vectrex
  • Amstrad CPC range
  • Oric-1
  • Color Genie
  • Elektor TV Games Computer
  • All MSX-1 and MSX-2 computers
  • ZX Spectrum home computers

General Instrument spun of MicroChip Technology in 1987 and the chip was sold under the MicroChip brand, and licensed to Yamaha as the YM2149F which the Atari ST range of computers use. Functionally the PSG is very similar to the Texas Instruments SN76489.

Variants:

  • AY-3-8910
    Comes with 2 general purpose 8-bit parallel I/O ports, used for Keyboard and Joystick in for instance MSX.
  • AY-3-8912
    Same chip, but in a 28-pin package. Parallel port B is not connected to save cost and space.
  • AY-3-8913
    Same chip, but in a 24-pin package. Both parallel ports are not connected.
  • AY-3-8914
    The AY-3-8914 has the same pinout and is in the same 40-pin package as the AY-3-8910, except the control registers on the chip are shuffled around, and the 'expected input' on the A9 pin may be different. It was used in Mattel's Intellivision console and Aquarius computer.
  • AY-3-8930
    Backwards compatible but BC2 pin is ignored
  • YM2149F
    Yamaha Produced chip, same pin-out as the AY-3-8910, but pin 26 could halve the master clock. Can be used to replace the AY-3-8910 if pin 26 is left disconnected.
  • YM3439-D
    CMOS version of the Y2149 in 40-pin DIP
  • YM3439-F
    CMOS version of the Y2149 in 44-pin QFP
  • YMZ294
    Variant of the YM3249 in an 18-pin package. Parallel ports not connected, and all sound channels mixed on 1 port.
  • T7766A
    Toshiba variant of the AY-3-8910, fully compatible. Used in some MSX models.
  • Winbond WF19054, JFC95101, and File KC89C72: Fully compatible versions of the AY-3-8910 produced for slot machines.

Video - The Motorola 6845 CRTC

The Motorola 6845 CRT Controller (CRTC), later second-sourced by Hitachi (HD6845), Rockwell, and others, was one of the most influential video timing chips of the late 1970s and 1980s. It was not a graphics generator in itself; instead, it produced the precise timing signals needed to drive a raster display, such as horizontal and vertical sync pulses, row and character addresses, and memory fetch cycles. Systems attached external character generators (ROMs) or pixel logic to interpret the memory data, while the 6845 ensured the scanlines appeared in the correct order and at stable refresh rates. Its programmability, registers controlling horizontal total, vertical total, sync widths, cursor position, and so forth, made it adaptable across a wide range of systems, from text terminals to microcomputers.

The 6845’s flexibility came from its ability to map arbitrary chunks of RAM to display regions using start address registers, row address counters, and cursor control. For instance, a designer could allocate just 2 KB of RAM for a 40×25 text screen, or more for bitmapped graphics, with the 6845 providing the address sequencing. Many early microcomputers such as the BBC Micro, Amstrad CPC, and Commodore PET derivatives used the chip, often combining it with a custom video gate array or ULA to generate the pixel stream. IBM also adopted the 6845 in its original Monochrome Display Adapter (MDA) and Color Graphics Adapter (CGA), cementing its influence on the emerging PC standard.

Although by itself the 6845 did not support modern concepts like sprites or hardware scrolling, its register set was exploited creatively. Programmers discovered that by rewriting registers mid-frame (a technique known as “raster tricks”), they could produce split-screen effects, palette changes, or smooth scrolling beyond the documented capabilities. Over time, more integrated graphics controllers absorbed the 6845’s functionality into larger chips that combined timing, pixel generation, and sometimes even acceleration. Nonetheless, the 6845’s architectural model, separating timing control from pixel memory, shaped early video hardware design and left a strong legacy in the personal computer industry.

The 6845s main function is to properly time access to the display memory, and to calculate the memory address of the next portion to be drawn. Other circuitry in the machine then uses the address provided by the 6845 to fetch the pattern and then draw it. The implementation of that hardware is entirely up to the designer and varied widely among machines. The 6845 is intended for character displays, but could also be used for pixel-based graphics, with some clever programming.

Computers that used the 6845 are, among others:

  • BBC Micro
  • Amstrad CPC
  • Videx VideoTerm display cards for Apple II
The Chip is also used in some of the early PC video cards such as the MDA, the Hercules Graphics Adapter, the Color Graphics Adapter (CGA) and the Plantronics Plus graphcis card. The functionality was later duplicated on EGA and VGA hardware for backward compatibility.

Source: WikiPedia

CPU - The Intel 8086

The 8086 CPU from Intel is a 16-bit microprocessor and was designed between 1976 and 1978. The 8086 is the foundation of the x86 cpu architecture which is Intel's most successful line of processors.

The 8086 used the same microarchitecture as the 8-bit 8008, the 8080, and the 8085. This allowed assembly language programs to run seamlesly on the 8086. New instructions and features were added and the bus structure was designed to allow for collaboration with co-processors, such as the 8087 that was released later.

Source: WikiPedia

Coprocessor - The 8087 Math Coprocessor

The Intel 8087, introduced in 1980, was Intel’s first floating-point coprocessor, designed to work alongside the 8086 and 8088 CPUs. Before its release, most floating-point arithmetic on microcomputers was performed in software, which was slow and inefficient for scientific, engineering, and graphics workloads. The 8087 implemented the IEEE 754 floating-point standard (before it was formally ratified), handling single-precision (32-bit), double-precision (64-bit), and extended-precision (80-bit) formats. This gave systems using the 8087 the ability to execute complex mathematical functions—including logarithms, exponentials, trigonometric operations, and transcendental functions—in hardware, at speeds far exceeding software emulation.

Technically, the 8087 interfaced tightly with the 8086/8088 through a special coprocessor interface. It operated in a “loosely coupled” manner, monitoring the instruction stream for special floating-point opcodes (the ESC, or “escape,” instructions) issued by the main CPU. When the 8086 encountered one of these instructions, it effectively handed off execution to the 8087, which performed the operation in parallel with the CPU’s integer pipeline. The results were stored in an internal stack-based register architecture consisting of eight 80-bit registers (ST(0) through ST(7)), arranged as a push-down stack. This design simplified instruction encoding and matched the mathematical structure of many calculations but also introduced quirks in register management for programmers.

The integration of the 8087 with the 8086 family marked a major step toward hardware-assisted floating-point computation in personal and business computing. Software written in high-level languages like FORTRAN, Pascal, or C could transparently take advantage of the coprocessor if compiled with floating-point support enabled, while still running on systems without an 8087 (falling back to software routines). This optional design kept costs down for general users while providing performance acceleration for scientific and technical markets. The success of the 8087 set the pattern for Intel’s later coprocessors, such as the 80287 and 80387, and ultimately led to floating-point units being integrated directly onto the CPU die with the 80486, making separate coprocessor chips obsolete.

Technical Details
Released 1987
Country Great Britain
Brand Amstrad
Type Amstrad Schneider PC/PCW
Name PC 20
CPU Class 80x86
CPU 8086
Memory RAM: 128kB
Sound Chip General Instruments AY-3-8912 Programmable Sound Generator
Sound 3 wave channels + white noise
Display 256x192 Pattern based graphics, 16 colors
Best Color 16 colors
Graphics 256x192 in 16 colors
System OS MS-DOS 3.3
Storage Internal 3.5" 1.4MByte High HD Disk Drive
External Links 🌐
WikiPedia: General Instrument AY-3-8910
Wikipage on the General Instruments AY-3-8910 PSG
Video - Motorola 6845 Display Controller
Wikipage about the Motorola 6845 CRTC Display Controller Chip.
Intel 8086 CPU
Wikipedia page for the Intel 8086 CPU used in many IBM-Compatible XT machines.
Intel 8087 Wiki Pages
Intel 8087 Wiki Pages