On Jun 18, 1:44, Tony Duell wrote:
You've never had a marginal timing problem, or a
pattern-related data
problem? I am suprised.
Put it this way. I had a 1793 that, when it was warm, would not gerenrate
a data request bit if (I think) the last 2 bytes loaded were both FF.
Something totally crazy like that. Took a long time (and a lot of
corrupted disks) to track that one down.
Ditto for marginal timing that fixes itself when the machine is cold, or
hot, or when you wave your hands over the CPU board, or whatever.
My two favourites are both from BBC Micros:
1) a manufacturing fault: a particular machine would work from cold, but
fail after about half a minute. It turned out that the IC used to select
bank-switched ROMs had been inserted with one pin bent under the chip.
It actually looked like it was properly soldered from the top side of the
board, and impossible to tell from the underside, because the manufacturing
process had skimmed all the protruding pins virtually flush with the board
(onme particular subcontractor sometimes skimmed too close and damaged the
tracks, but that's another story).
Anyway, when it was cold, the bent pin touched the solder in the hole.
When it warmed up even slightly, the other pins apparently expanded just
enough to raise the IC and the bent pin lost contact.
2) a design fault: the original BBC used a ULA for video timing, and once
it was in production, it was quickly found that many would start to give
timing errors (manifested as twinkling characters) when they got warm.
ULAs do run fairly warm, but they aren't supposed to need heatsinks, so
this was a bit puzzling.
It turned out that some gates in a chain had been set up as open-collector
when they should have had pullups; when cold, the characteristics were such
that the output got to a reasonable level quickly enough for the input it
was driving, but when the IC was hot the level changed too slowly. As John
Coll (who ran the original training courses) put it, if you could drill a
hole in the top of the IC, and connect a pullup resistor to the correct
gate with a microprobe, you wouldn't need the heatsink.
Later versions of the custom chip were indeed provided as "heatsinkless".
--
Pete Peter Turnbull
Dept. of Computer Science
University of York