Date : Mon, 03 Jan 2011 14:12:49 +0000
From : percy.p.person@... (Ed Spittles)
Subject: OT: ULA book / spectrum serial port
Hi James
[about Chris Smith's book on the Spectrum ULA, probably 100% off topic.]
On 26 November 2010 01:13, James McGill <plexer@...> wrote:
> Hi Ed,
>
> Can you tell me if it has much about the 1200 baud cassette decoding
> circuitry? This is something I'm interested in understanding, and
> would on its own be worth picking up a copy.
Just finished the book...
For this, and for every other circuit on the board and in the ULA, the
book has excellent detail and explanation. As it happens, there's
very little going on with the cassette and audio interface: a bit of
filtering and a bistable to turn the input into solid logic levels,
and then all the work of detecting tones, syncing up with start bits
and collecting bits into bytes is (apparently) done in machine code.
As is the (easier) task of serial output. So you'd also need to look
into the Spectrum ROM, which this book doesn't cover.
There are a couple of bits of cleverness explained (if I've got it
right): the way the speaker is fed through a couple of diodes, so the
4-level output(!) from the ULA can choose to send a low level signal
which only goes out the MIC socket, or a higher level signal which
will also cause the speaker to move. The same pin is used for input
and output, and it happens that the normal input level on EAR is high
enough for the speaker to be activated. A single I/O port is used for
all the I/O (with 5 bits to spare) and is very cheaply decoded so it
takes up the bulk of the I/O address space: it seemed that there are
just 128 out of 65536 available for add-on hardware.
There's good detail about the various bugs and design revisions. It
seems that the video output is particularly non-conforming, which is
going to be a problem now that less tolerant LCD televisions are the
norm.
(I hadn't realised those ULAs were so strange inside: they work at low
voltage internally and have a variety of I/O circuits to choose from,
which allowed for a 4-level output.)
Cheers
Ed
http://www.zxdesign.info/book/