[sdiy] 8080-based synth reliability

Dave Brown davebr at modularsynthesis.com
Sat Oct 7 02:30:57 CEST 2017


I computed it went through 10^13 loops looking at the doorbell button input waiting for someone to push it.  I have no idea why it died - exhaustion!  The 8080 is a dynamic processor with a minimum clock cycle.  One of the things I experimented with 40 years ago was how low of a frequency could I run it.  I don't remember the numbers exactly as it was a long time ago but I think I got the clock down to about 20 Hz before it would fail.

This processor had valid power supplies and clocks but EVERY pin was false.  I suspect something in the internal clock circuitry failed but that is just conjecture.  What is amazing is that 40 years later I do need to look at a datasheet for the pinout but otherwise remember every pin function, timing, operation, and most of the op codes.  That comes in handy when repairing vintage 8085 or Z80 based synths.

As an aside, in 1977 during the winter the doorbell would occasionally go off in the middle of the night.  I suppose it could have gone off randomly during the day while I was at work.  I suspected all the dead bugs and debris in the doorbell button so gave that a good cleaning.  Then one night it went off while it was snowing and I knew nobody pressed the button but while I was up the furnace came on.  Knowing the delay from ignition to fan was about the same as me getting out of bed and reaching the front door, I surmised the 40' of thermostat wiring running somewhat parallel with the 30' of doorbell button wiring might be the culprit.  I changed the debounce algorithm in firmware and never had another false play.

I did find reference to the Sol-20 Music program at http://www.sol20.org/programs.html complete with hex listings and an instruction manual.  The assembly for the circuit board is a bit amusing since it only uses two pins of the S-100 bus and is comprised of three resistors and two capacitors.  For those that don't know, the 8080 has an interrupt enable pin that is high whenever interrupts are enabled.  The code simply enables and disables interrupts to toggle this pin (faster than doing any I/O) and there is a simple RC filter with attenuator and capacitor coupling to connect the signal to the amplifier.  The program was simple to enter music.  You defined the notes per each voice, and then would compile it to generate the self-modifying code to play.  In the doorbell I would simply do a checksum of the code in ram to make sure it was valid and then play it.  If it was invalid I would load a default program from EPROM and then play that.

Dave

> -----Original Message-----
> From: Synth-diy [mailto:synth-diy-bounces at synth-diy.org] On Behalf Of
> Frédéric (Opensource)
> Sent: Friday, October 06, 2017 4:39 PM
> To: synth-diy at synth-diy.org
> Subject: Re: [sdiy] 8080-based synth reliability
> 
> Hi Dave.
> 
> Any idea why the 8080 died?
> 
> Fred
> 
> Le 06/10/2017 à 22:52, Michael Zacherl a écrit :
> >> On 6 Oct 2017, at 22:07, Ove Ridé <nitro2k01 at gmail.com> wrote:
> >>
> >> You ought to document the project for posterity and 5 minutes of
> >> Hackaday fame. If you post a ROM dump or perhaps source code if it
> >> survived for all these years, the project might take on a modern life
> >> on its own by dedicated hackers. (I for one wouldn't mind looking at
> >> it.)
> > Oh boy, I love this kind of synchronicity!
> > The other day I dug up my old original MPF-1 to show the students:
> >
> > https://en.wikipedia.org/wiki/Micro-Professor_MPF-I#/media/File:Mpf-I.
> > jpg
> >
> > Dave, your posting definitely brings back old memories! :) Very
> > inspiring!
> >
> > m.
> >
> >> On Friday, 6 October 2017, Dave Brown <davebr at modularsynthesis.com>
> wrote:
> >> This is definitely DIY related and somewhat synth related in that it is a
> digital 3 voice synthesizer.  In late 1976 I designed a dedicated 8080 based
> three voice PWM synthesizer as a doorbell.  The code was based on a
> program called Music for the Processor Technology Sol-20 computer.  I had to
> disassemble the program to get it to run on a basic 8080 system using a single
> 2708 EPROM and two 2114 static rams.  It used a simple transistor driver for
> the speaker.  The 8080 is unmarked so I think it might even be an engineering
> sample.
> >>
> >> This system has continuously run for approximately 14,870 days or nearly
> 356,880 hours.  Well this week it died.  The processor is just absolutely
> lifeless.  I had another 8080 from the same vintage but at least marked and
> replacing it brought the system back to life.  Note that in the 40 years the
> 2708 has not forgotten even though the guaranteed retention is only 10
> years.  I think it will outlive me.
> >>
> >> It was a really progressive program for the time.  This doorbell also
> includes a RS-232 interface so I could compile new music to upload to it for
> special occasions.
> >>
> >> Dave
> > --
> > http://mz.klingt.org
> >
> >
> > _______________________________________________
> > Synth-diy mailing list
> > Synth-diy at synth-diy.org
> > http://synth-diy.org/mailman/listinfo/synth-diy
> 
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy





More information about the Synth-diy mailing list