SP0256
From CPCWiki - THE Amstrad CPC encyclopedia!
- SP0256
- SP0256 Voice Generator
- SP0256 Instruction Set
- SP0256 Allophones
- SP0256 Pin-Outs
- SP0256 on Printer Port (DIY)
Contents
Overview
The SPO256 is a Speech Synthesizer chip used in many hardware Speech Synthesizers of the 8bit era. The SP0256 contains a Voice Generator, a small microprocessor, and a built-in ROM which contains 16Kbit (2Kbyte) of program code.
A number of different versions of the SP0256 exist. The most common is the SP0256-AL2, where -AL2 means that the built-in ROM contains preprogrammed english allophones.
Technical
More Technical
CPC Speech Synthesizers
- Amstrad SSA-1 Speech Synthesizer (SP0256 based)
- Dk'tronics Speech Synthesizer (SP0256 based)
- MHT Speech Synthesizer (SP0256 based)
- TMPI speech synthetizer (MEA8000 based)
- Software Speech Synthesizers (Software based)
SP0256 on Printer Port (DIY)
SP0256 Speech ROM
- SP0256-AL2 ROM (caution - the bytes in the file are in reversed bit-order, ie. the "Target" values are unreversed, all other opcodes and parameters are reversed)
SP0256 or SPO256 - Letter O vs digit 0
The original General Instrument datasheets seem to call the chip SP0256 (0=digit zero). Some third-party datasheets look more like SPO256 (O=Letter O) though.
Block Diagram
- Media:Sp0256al2 datasheet.pdf - includes AL2 allophone list
- Media:SP0256B Datasheet.pdf - includes info on TEST pin (but lacks the AL2 list)
- Media:SP0250 Applications Manual.pdf - includes info on Voice Generator (of the older SP0250 chip) (the SP0256 works similar)
- Media:SPR-16 Datasheet.pdf - external 16Kbit ROM - includes info on program counter and stack (which seems to be part of the internal/external ROM, not of the CPU)
- Media:SPR-32 Datasheet.pdf - external 32Kbit ROM
- Media:SPR-128 Older.pdf - external 128Kbit ROM preliminary 28pin package with undefined pinouts
- Media:SPR-128 Newer.pdf - external 128Kbit ROM preliminary 24pin package with defined pinouts
- SPB640 - external speech fifo
- US Patent 4,296,279 - might cover the SP0256 (or rather the old SP0250) (not sure, it's in cryptic patent language)
- Media:SP0256-AL2-Disassembly.txt - SP0256-AL2 disassembly
- http://spatula-city.org/~im14u2c/intv/tech/sp0256_instr_set.html - reverse engineered instruction set by Joe Zbiciak and Frank Palazzolo (caution: this doc has the opcodes in same bit-order as Target values, which is probably not the way how it was originally intended. In practice it makes no real different, except that the opcode summary looks more nicely sorted when "unreversing" the opcode bits)