Z80 Retrocomputing 8 – Speech Synthesizer for RC2014

I built a speech synthesizer board for the RC2014

The speech synthesizer IC that I chose is the SP0256A-AL2. One of my reasons for choosing it was that it seemed plentiful on eBay. They’re all fakes though, every damn one of them on eBay, so far as I can tell. 🙁 Fortunately, there is a reputable seller here in the states, www.speechchips.com.

Schematic

Here is the schematic for the speech synthesizer board:

RC2014 Speech Synthesizer, Schematic

The circuit is relatively straightforward. The SP0245A-AL2 is connected to the data bus via D0-D7. There’s an active low signal, ALD, that causes the SP0256A-AL2 to load whatever is on the data bus, and we connect that to a 74HCT138N for address decoding. The SP0256A-AL2 provides two status signals back to the CPU, I tied them to the data bus using a 74HCT245N. Writing to the port selected on the 74HCT138N will write to the synthesizer, and reading from that same port will read the status back.

Using the chip involves writing a phoneme, and then polling for the chip to become ready before writing the next phoneme. An alternative implementation would be to use an interrupt handler. I didn’t want to worry about sharing interrupts between the speech synthesizer and the serial port, so I went with the polling solution.

Implementation

Here’s a picture of the pcboard.

Speech Synthesizer for RC2014, Assembled

Source Code

You can find the source code in my repo at www.github.com/sbelectronics. There’s a demo program that says a couple of phrases and is able to recite the lyrics to Daisy Bell.

Ordering the pcboard

You can find the pcboard on Osh Park. You’ll have to buy them in three quantity because that’s the way Osh Park sells them.

Order from OSH Park

Comments (6)

  1. I found the SPO256A-AL2 and the CTS256A-AL2. I may take the 256 module and add cts 256 as an option.. not sure. I did see that you had a whole board delegated to the speech chip. http://www.8051bits.com/misc-projects/speech%20-%20music%20synthesizers/cts256a-al2.pdf With the CTS256 ya can at least send a string as long as it doesn’t overflow, this can be fixed, and not have to figure out the phonemes for every phrase.

  2. For anyone having trouble sourcing the 3.12 crystal, I was able to find them on Mouser.com. I ordered 4 of them and they work just as well as the NOS I have.

  3. John Jones says:

    Does anyone have a BOM (bill of materials) for this board? Many thanks.

  4. Here is the BOM that was auto-generated by Eagle from the .brd file (you should be able to paste this into a text editor and save it as .csv. I opened mine in Excel to test it):

    Part,Value,Package

    C1,?,C025-025X050
    C2,?,C025-025X050
    C3,?,C025-025X050
    C4,0.022uf,C025-025X050
    C5,1uf,C025-025X050
    C6,0.022uf,C025-025X050
    C7,0.1uf,C025-025X050
    C8,10uf,C025-025X050
    C9,0.1uf,C025-025X050
    C10,100uf,E2.5-7
    C11,0.1uf,C025-025X050
    C12,22pf,C025-025X050
    C13,22pf,C025-025X050
    IC1,74HCT138N,DIL16
    IC4,74HC245N,DIL20
    IC5,LM386N-1,DIL08
    JP1,,JP1
    JP2,,JP1
    Q1,,HC49U70-crystal
    R1,33K,0204/7
    R2,33K,0204/7
    R3,10K,CT6-pot
    R4,10,0204/7
    SV1,,MA08-2
    SV2,,MA08-1
    U$1,SP0256,DIL28-6
    U$2,RC2014,SIP40

Leave a Reply

Your email address will not be published. Required fields are marked *