Spectrum +3
From Grahams Wiki
The ZX spectrum +3 was the last (official) speccy. It was designed and manufactured by Amstrad using as few bits as possible but slapping one of their truly awful 3" disk drives as used by the Amstrad CPC, rumor has it because they bought a huge consignment of them from Asia.
Contents |
[edit] Specification
- Z80 running at approx 3.5Mhz
- 128Mb of ram
- 64Mb of rom
- FDC uPD765 compatible with SED 9420C PLL
- AY-3-8912 Audio
[edit] Part list
- 3.5Mhz Z80
- 41464 64kx4 ram
- FDC uPD765 compatible
- SED 9420C PLL
- AY-3-8912 Audio
- TEA2000
- MC1376
- MC1488 QUAD RS232 driver
- MC1489 QUAD RS232 reciever
- 74273 (the Centronis buffer)
- 7414 (6x inverters)
- 7404 (6x inverters)
- 7400 (4x NAND gate)
- Amstrad version of the 27256
[edit] Add ons
I have a variety of add ons for this computer.
- (Datel) Kempston mouse / Kempston joystick unit
- Kempston joystick interface. From the PCB, this is an original Kempston micro issue.
- (Home built) 8255 output module. Provides 24 TTL I/O ports.
- (Home built) Second Disk drive.
[edit] My mods
My +3 has a Hard disk. Its basically the +3E setup with the simple 8 bit interface. THere are two parts to this, a set of replacement roms and an internal interface.
[edit] IO Ports
[edit] General machine control port
This port was the only one used on the unexpanded 48K, and it is used for both keyboard, border and Tape IO.
Write:
- 0 \
- 1 | Border colour (0-7)
- 2 /
- 3 Mic output bit
Read:
This is complex, the LSB of the port outputted is $FE. and the MSB is a strobe for they keyboard line. Each bit returned is one key. so:
- FEFE Shift->V
- FDFD A->G
- FBFE Q->T
- F7FE 1->5
- EFFE 0->6
- DFFE P->Y
- BFFE Enter->H
- 7FFE Space->B
Keys are active low.
[edit] Floppy disk controller
Address: 2FFD (rw) Status/command register of the uPD765
Address: 3FFD (rw) Data register of the uPD765
Note, the motor is controlled using bit 3 of Memory control 2.
[edit] Memory control 1
Address: 7FFD
- 0 \
- 1 | Ram page for the ram $C000 -> FFFF (0-7)
- 2 /
- 3 Page for display. 0 = page5, 1 = page7.
- 4 Rom select (Low byte)
- 5 Paging lock. If set, the current pages are locked until the next hard reset.
[edit] Memory control 2
Address: 1FFD
- 0 Paging mode. 0=normal, 1=special
- 1 In normal mode, ignored. In special mode, bit 0 of page layout
- 2 In normal mode, high bit of ROM selection. In special mode, bit 1 of page layout
- 3 Disk motor 1=on
- 4 Printer port strobe.
Roms: (MSB = 1FFD bit 2, LSB = 7FFD bit 4)
- 0: 128k editor, menu system and self-test program
- 1: 128k syntax checker
- 2: +3DOS
- 3: 48 BASIC
Special mode: Special mode has four different configurations, designed for CPM and other OS's where ROM would get in the way.
00 01 10 11
0xffff +---+ +---+ +---+ +---+
| 3 | | 7 | | 3 | | 3 |
0xc000 +---+ +---+ +---+ +---+
| 2 | | 6 | | 6 | | 6 |
0x8000 +---+ +---+ +---+ +---+
| 1 | | 5 | | 5 | | 7 |
0x4000 +---+ +---+ +---+ +---+
| 0 | | 4 | | 4 | | 4 |
0x0000 +---+ +---+ +---+ +---+
[edit] Sound
- Address: (Write) $FFFD - Register select
- Address: (Read) $FFFD - Register read
- Address: (Write) $BFFD - Register write
[edit] Ports
The computer has the following ports:
- UHF out
- RGB-PERITEL
- AUX Sinclair format RS232
- RS232/Midi Sinclair format RS232/Midi
- Sinclair expansion port
- Sinclair power port
- Amstrad Centronics port
- Amstrad Disk B port
[edit] My speccy
As can be seen from the picture, my speccy has been through the wars somewhat. The thing on the back is a passthrough that I use for testing hardware.
You can plonk wires in there and take them straight to a breadboard without having to bother with the soldering iron.
Inside the speccy you can see a surfeit of chips. Mostly dominated by the big ASIC at the bottom right. Most of the chips that are left are ones that either aren't easily ASIC'd (The z80, 4 ram chips, rom, ect), buffers for signals that go to the Centronics or RS232 ports, or things that were prone to go if the crappy Floppy drive dies (I cant stress just how utterly bollocks this mechanism is. Really, its toss.)

