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

From Sinclair Wiki
Revision as of 13:41, 17 December 2013 by Guesser (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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 256x192
Gfx Colours 15 (2 per 8x8 cell)

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.

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 x 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.

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
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