ZX Spectrum +2A/2B, +3/3B
Manufacturer | Amstrad |
Mfg. volume | |
CPU | Z80A @ 3.5469MHz |
ROM | 64KB |
RAM | 128KB |
as pages | 8×16KB |
Gfx Res | 256×192 |
Gfx Colours | 15 (2 per 8×8 cell) |
The ZX Spectrum +3 was released on the 16th of May 1987. It is a significant redesign from the original ZX Spectrum 128 and ZX Spectrum +2 models, with additional memory paging capabilities to support CP/M and additional ROM containing the +3DOS disc operating system code. The +3 has an integrated 3″ single sided floppy disc drive. The "Black +2" appeared soon after with an integrated tape drive. Housed in a slightly modified version of the +2 case moulding cast in black plastic instead of grey.
Hardware
Common hardware specifications
- Processor: Zilog Z80A microprocessor clocked at 3.5469MHz.
- ROM: 64KB ROM. 2×32KB EPROM arranged in 4 pages of 16KB.
- RAM: 128KB of Dynamic RAM, arranged in 8 pages of 16KB.
- Graphics: 256×192 pixels, 16 colours, attribute based. See Spectrum Video Modes.
- Sound: AY-3-8912 3 channel, 8 octave Programmable Sound Generator and "beeper". Modulated onto video signal.
- Keyboard: 58 plastic keys with metal springs, operating a plastic membrane.
- I/O: Software controlled RS232 serial port. AUX Port. Tape In (ear) and Tape Out (mic). Two Sinclair SJS Joystick Ports. Parallel Printer Port. Expansion I/O port.
+3 specific hardware
- Floppy Disc Controller: Zilog Z0765A (µPD765A).
- I/O: "Disk B:" External disk drive connector.
Black +2 specific hardware
- Cassette interface daughterboard.
- "Datacorder" cassette mechanism.
Models and Motherboards
+2A/+3
When designing the new Spectrum models Amstrad made the decision to produce a single common motherboard for both the +2A and +3 (the Z70830 motherboard). This board was designed in such a way that by omitting certain components they could be assembled as either a +2A or a +3 computer. There are two versions of the Z70830 board (ISSUE 1 & 2, both ©1987).
The three disc controller signals generated by the gate array are placed on the expansion port so that an external floppy disc controller could be connected to a +2A to provide the functionality of the omitted internal components. Amstrad planned to release this as the SI-1 but it never went on sale.
+2B and +3B
The +2A/+3 circuit contains a design flaw in the audio output circuitry which causes serious distortion to AY-3-8912 music. A new design was developed in 1988 with redesigned audio circuits and manufactured as the +2B and +3B. Unlike the +2A/+3, Amstrad did not create one common motherboard for these computers. Instead the +2B board is stepped on the right hand side to allow two boards to be panelled side by side and use a much smaller area (hence cheaper to produce) than two +2A/+3 boards.
The identification of models is contested because Amstrad sold large numbers of computers with a Z70833 motherboard in cases bearing the +2A designation. The change to shipping Z70833 boards instead of Z70830 boards appears to have happened fairly early on because most +2A cases encountered contain a Z70833. Z70830 motherboards populated as a +2A are consequently quite rare.
The +2B motherboard is the Z70833 ISSUE 1 or 2 ©1988. There is also an ISSUE 4 ©1990 which has a different FM modulator circuit for the audio (no example of an ISSUE 3 board has surfaced which suggests none were ever produced/sold).
The +3B motherboard is the Z70835 ISSUE 1 ©1988. Unlike the Z70830 it has no provision for connecting a datacorder but the connections for an external floppy controller remain on the expansion port. Unlike the +2A and +2B all +3 cases are the same. i.e there is no +3B case moulding.
Timings and Contention
The contention and ram timings on the +3 and Black +2 differ significantly from earlier models due to the redesigned gate array. Timing patterns and memory contention are described in detail in the contended memory article.
Paging
The memory space is divided into four 16KB pages and can be used in two ways; "Standard paging mode" and "Special paging mode". Paging is controlled by performing I/O writes to ports 0x1ffd and 0x7ffd.
The bits are described in the table below:
Port | Bit | |||||||
---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1ffd | Printer Strobe | Disk Motor | ROM high | 0 | ||||
Special paging | 1 | |||||||
0x7ffd | Disable Paging | ROM low | Active Screen | RAM Bank |
Standard paging mode
The 64KB of ROM and 128KB of RAM can be paged into the memory space as shown in the diagram below:
0xFFFF - 0xC000 |
Bank 0 | Bank 1 | Bank 2 | Bank 3 | Bank 4 | Bank 5 (screen 0) |
Bank 6 | Bank 7 (screen 1) |
---|---|---|---|---|---|---|---|---|
0xBFFF - 0x8000 |
Bank 2 | |||||||
0x7FFF - 0x4000 |
Bank 5 (screen 0) |
|||||||
0x3FFF - 0x0000 |
ROM 0 | ROM 1 | ROM 2 | ROM 3 |
Special paging mode
In special paging mode all four pages contain RAM. There are four combinations as shown in the diagram below:
mode 0 | mode 1 | mode 2 | mode 3 | |
---|---|---|---|---|
0xFFFF - 0xC000 |
Bank 3 | Bank 7 (screen 1) | Bank 3 | Bank 3 |
0xBFFF - 0x8000 |
Bank 2 | Bank 6 | Bank 6 | Bank 6 |
0x7FFF - 0x4000 |
Bank 1 | Bank 5 (screen 0) | Bank 5 (screen 0) | Bank 7 (screen 1) |
0x3FFF - 0x0000 |
Bank 0 | Bank 4 | Bank 4 | Bank 4 |