Saga of the uP developer

The Old Crow oldcrow at oldcrows.net
Tue Jun 27 16:20:55 CEST 2000


On Mon, 26 Jun 2000, Tim Ressel wrote:

  Old uP development stories, eh?  Hmm...

  In 1985, while working on my crapload-O-analog-switches version of a
MIDI interface for my Korg Polysix, the power supply on my test bench (one
of those $5.00 Coleco switchers you could get at RatShak(tm)) decided to
die horribly.  As in, +5V decided to become +29V.  The NMOS and TTL stuff
on the prototype board pretty much exploded, though the analog switches
survived.

  Well, after replacing what blew up and connecting a nice, safe linear
power supply, the stupid thing wouldn't run.  Same code as before, same
circuit, just--no joy.  It took three weeks for me to figure out that I
had left a '#' off a LD SPL,#80H.  In doing so, the Z8 instruction said
"load stack pointer low address with the value pointed to by register 80H"
instead of "load stack pointer low address with 80H".  Now, it just so
happened that on the Z8 MPU chip that blew up, a LD SPL,80H loaded the
value 80H into the SPL.  The bugged instruction worked due to a wild
coincidence, and THAT is why it took me three weeks (I had no in-circuit
emulator or other simulation platform at the time to spy on the registers)
to discover the bug existed prior to the board-exploding event.

  I still have in a box somewhere a listing of the code with a giant
"AAAAUUUGH!" scrawled on the page pointing to the offending (well,
missing) octothorpe (#).

> Compared to this, a uP adsr seems child's play! Except the processor
> may not be fast enough for 1mS 2-channel updates <twitch>...

  Paia managed to do this with that 400KHz 6503 of theirs in 1978 (using a
6-bit DAC and S/H circuits built as sets of four, aka #8781 QuAS/H), so
it seems that a modern uP should have no problems.

Crow

/**/




More information about the Synth-diy mailing list