ZX Spectrum +2A/2B, +3/3B

From SinclairFAQ
Jump to: navigation, search
Infobox: 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
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 panellized side by side and use a much smaller area (hence cheaper to produce) than two +2A/+3 boards.

The identification of models is regularly confused because Amstrad sold large numbers of computers with a Z70833 motherboard (+2B) in cases that were moulded for the +2A. The change to shipping +2B motherboards instead of +2A boards appears to have happened fairly early on because most +2A cases encountered contain a +2B motherboard. 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 so it's possible 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