Revision as of 13:10, 22 July 2015

The ZX Spectrum +3 was released on the 16th of May 1987. It is a significant redesign from the original "Toastrack" 128K and Grey +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.

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.

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 16k 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 64k of ROM and 128k 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: