Update: 28th April 2002, included the layout diagram and a dump of the BPROM omitted from the original version of this page.
The story:
After Amstrad took over the mortal remains of Sinclair Research, then released a number of new Spectrum computers, the +2, which was just a better Spectrum +128 with a builtin tape drive, followed by the +3, a new design with a lot of compatibility problems, but at least it had a standard disk drive and a decent DOS, and could run CP/M. Finally the +2A/B was released, and what a strange Speccy it was, including all the compatibility problems of the +3, but lacking its disk drive, and also lacking a disk interface. One was planned according to the +2A manual, but never appeared, presumably due to disappointing sales figures.
The ROM contained within the +2A is the same one as in the +3, witness the use of �drive M:� for access to the 64K ramdrive as opposed to the use of �load !"file"� in earlier models. This was the bit that intrigued me, the � hidden potential� contained within the poor old +2A, just waiting to be released, if only one could add the disk interface of the +3, then the +2A would be able to fulfill its potential, hence the title of this page. After a while I found this page. It details a disk interface originally published in a Czech electronics magazine, after a few eMails with the page�s owner, the very helpful Mr Petr Simandl, I was in possession of his last remaining PCB. I �only� had to get the parts and solder them in. There are two troublesome components in the design: the Intel 8272 FDC (also known as the NEC uPD765AC) and the 74s188 BPROM. I bought my FDC chip at:
Viewcom Electronics
77, Upperton Road West
London E13 9LT
Tel: +44 20 8471 9338 Fax:+44 20 8552 0946
E-mail : [email protected]
for about 7 Euros each. At the time I ordered they had about 20 remaining in stock.
The 74s188 32 Byte open collector BPROM is a bit more tricky. I had never heard of these chips, they are basically a small, but very fast PROM using TTL logic. The FDD controller uses one in its data separator circuit. The data separator takes the raw data signal from the drive, and strips out anything which is not real data, i.e.: timing pulses, etc. This particular example (ICs 8,9 and 10) looks like black magic to me! Petr was kind enough to send me three he had in his spares box. However I subsequently discovered that they are available at Jameco Electronics. Here is a list of type equivalents for the 74s188:
Fujitus Signetics AMD MMI National Texas Harris
7111 82s23 27s18 6330 74s188 18sa30 7602
It is also possible to replace the BPROM with a suitably programmed EPROM, a bit wasteful though. I you try this the pull-up resistors R6,R7,R8 and R9 must be removed. This table shows a dump of the BPROM�s contents:
address 00H 11H 11H 22H 22H 33H 33H 44H 44H DDH DDH EEH EEH FFH FFH 00H 00H
address 10H 11H 22H 33H 44H 55H 66H 77H 88H 99H AAH BBH CCH DDH EEH FFH 00H
My eprom programmer claimed to be able to burn the AMD and MMI versions, so I tried this and fried the first of my three BPROMS, ooops! Back to the drawing board. After a bit of experimentation I tried to build my own programmer with the entry of data and addresses taking place via DIP switches, the whole thing powered via a lab power supply. (For details click here). I fried the second BPROM during the construction of the programmer, but the third one worked (phew!).
During my initial investigations I discovered that the board layout and the circuit diagram did not agree with one another. Petr had changed the layout to make better use of the ICs he had available. After a few frustrating attempts at getting the thing working, I decided to draw up a new circuit diagram on the basis of Petr�s PCB. The results of this work can be seen here along with some images of the board layout and the PCB, and a detailed layout diagram for all components.
I decided to mount the board externaly to the +2A, and not internally as Petr did. I mounted the PCB on pins, connected to a piece of patchboard, on which I mounted the required connectors for the computer and the floppy drive, sort of like a large +D interface. I then had the idea to add Gary Lancaster�s +3e hdd interface (click here for details) to the patchboard, then I would have the ultimate +2a!
One additional problem was the READY pin of the disk drive. 3" drives have this signal to indicate that the drive is ready to receive or send data. AFAIK 3.5" drives lack this signal. In order to simulate it I soldered a wire between the drive select 0 (pin 10) and the ready (pin 34) lines of the drive. This means that as soon as the interface selects the drive, the READY signal is valid, and the interface seems to be happy. This ready pin need only be simulated in this fashion when you have a single drive. When there are two drives (A: and B:) the ready signal is always active from one of them depending on the DS0 signal from 8272. The drive selection is done via a single wire and +3DOS seems to requires a ready signal from 8272.
I haven�t tried to boot CP/M yet, but otherwise I can read and write floppy disks of various capacities without trouble. At last a use for the +2A/B!