From: dhembrow@eoe.co.uk (David Hembrow)
Newsgroups: alt.folklore.computers
Subject: Re: Spectrum hardware (was Re: VCS processor)
Date: 6 Jan 93 12:45:54 GMT
Organization: EO Europe Limited, Cambridge, UK
X-Newsreader: TIN [version 1.1 PL6]

Scott Telford (s.telford@ed.ac.uk) wrote:
: In article <jeremy.726146082@chao>, jeremy@sw.oz.au (Jeremy Fitzhardinge) writes:
: 
: > The Sinclair Spectrum has a chip known as the ULA (Uncommitted Logic Array
: > - some programmable device that never seemed to have its own real name)
: 
: There were several different version (one for each board issue I
: think) all made by Ferranti, with different numbers. I think the Issue
: 3 ULA was the 6C001. The intro booklet that came with the Spectrum
: called it the "SCL" chip (Sinclair Computer Logic, or something like
: that).

Apart from the first version, which needed the famous dead cockroach
upside down 74LS00 to work properly, the other versions appear to be
identical. I've certainly swapped issue 2 and 3 ULAs and had no trouble.
 
: > which does pretty much everything the Z80 doesn't, like video.  When the
: > ULA is pumping out video, and the CPU wants to use the 16k block with
: > video memory in it, the ULA stops it.  How?  Not by interrupting it,
: > not by adding wait states - it just turns off the CPU's clock (derived
: > from the video clock in a fashion that seems to insure maximum possible
: > amounts of digital hash in the video output).
: 
: 8^)
: 
: I could always tell when my Spectrum had crashed from the noise
: patterns from the CPU freezing on the TV display, or from the
: whatever-it-was inside the case that made the quiet sizzling sound
: modulated by the CPU 8^)

That was actually the least good thing about the machine. The sizzling
noise came from a small coil which was used by the power supply to make
+12v and -5v from the +9 from the external power supply and the +5
derived through a 7805 regulator from that.

The worst thing about this arrangement was that it was not very robust.
If one of the 4116 RAM chips blew ( as mine did ) they seemed to like to
short out one or the other of these two derived power supplies, which
made both of them fail leaving only the +5 supply. After this the 4116
chips would fail very quickly ( and get really hot ).

I replaced this part of my old spectrum with an external power supply
using 78xx and 79xx regulators.

I had hoped that having a better 12v supply would have fixed the video
noise problem. It didn't.

: > The IF-1 has an interface for the MicroDrive (100 feet of sliced
: > videotape in a continious loop inside a box half the size of a matchbox),
: > the network (very slow token-ringish thing), and a serial port (could
: 
: Actually, the ZX-Net was more of a CSMA/CD bus network. I think the
: nominal bandwidth was ~100kbit/s, but I don't know how that related to
: reality. It never worked particularly well between my Speccy and QL
: (despite ZX-Net compatiblity being claimed when the QL was launched -
: I think they dropped that selling point later 8^)

I made mine work! The problem was the the clock of the Spectrum was
stopped whenever the Z80 was trying to access a memory location with
an address A15=0, A14=1 and the ULA wanted to look in it's video memory
at the same time. However, the logic for checking this in the ULA did not
actually check whether a memory access or IO access was being requested.

It's a little known fact that when a Z80 IO instruction such as IN A,(n)
is executed, the previous contents of the accumulator appear on the address
lines A8-A15, the IO address n appears on A0-A7. Because of this, depending
on the contents of the accumulator before this instruction is executed,
the ULA in the spectrum sometimes stopped the CPU during the incredibly
speed dependant network driver code.

I added a 74LS00 to my spectrum which prevented the clock being stopped if
the IORQ signal was active and this made the network work for me between
the spectrum and QL.

I think later IF1 ROM versions fixed this fault ( by ensuring an
appropriate value was in the accumulator ).
 
For a while I used the spectrum as a printer buffer, redirecting QL
print output to the network. I wrote a program which stored up to ~40K
of printer output in a FIFO buffer.

: Microdrives weren't always as bad as they were made out to be. I tried
: some cartridges recently that were last written to 4-5 years ago and
: got no read errors.  More than I can say for some unbranded 3.5"
: floppies I bought 5 years ago 8^) Not bad for a loop of 2mm wide
: videotape dragged round by a cassette-deck rubber pressure roller.

I've got some old microdrive cartridges which still work fine too.
 
: -- 
: Scott Telford, Edinburgh Parallel Computing Centre,        <s.telford@ed.ac.uk>
: University of Edinburgh, Mayfield Rd, Edinburgh, EH9 3JZ, UK. (+44 31 650 5978)
: ------- Rollin' over like a big, big cloud/Walkin' out in the Big Sky! --------
-- 
David Hembrow                   EO Europe Ltd.,
email:  dhembrow@eoe.co.uk      Abberley House, Granhams Road,
                                Great Shelford, Cambridge CB2 5LQ, England
Newsgroups: alt.folklore.computers