Difference between revisions of "SP0256"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
 
(Overview)
 
(40 intermediate revisions by 7 users not shown)
Line 1: Line 1:
The SPO256 is a Speech Synthesizer chip used in many hardware Speech Synthesizers of the era.
+
* [[SP0256]]
 +
* [[SP0256 Voice Generator]]
 +
* [[SP0256 Instruction Set]]
 +
* [[SP0256 Allophones]]
 +
* [[SP0256 Pin-Outs]]
 +
* [[SP0256 on Printer Port (DIY)]]
  
With some clever programming it is possible to program a software
 
Speech Synthesizer with good results.
 
  
Speech Synthesizer technology was also used in some games, with different quality.
+
== Overview ==
  
== Hardware Speech Synthesisers ==
+
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.
  
[[Amstrad SSA-1 Speech Synthesizer]] (SPO256 based)
+
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 (all 59 phonemes of the English language plus 5 pauses of different lengths).
  
[[Dk'tronics Speech Synthesizer]] (SPO256 based)
+
== Technical ==
  
== Software Speech synthesisers ==
+
* [[SP0256 Voice Generator]]
 +
* [[SP0256 Instruction Set]]
 +
* [[SP0256 Allophones]]
 +
* [[SP0256 Pin-Outs]]
  
[[Speech]] (Symbos software)
+
== More Technical ==
  
== Games using Speech Synthesizer ==
+
* [[SP0256 Measured Timings]]
  
[[Ghostbusters]] (Software)
+
== CPC Speech Synthesizers ==
  
[[Jumpjet]] (Hardware)
+
* [[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)
  
[[LastV8]] (Software)
+
== SP0256 on Printer Port (DIY) ==
  
[[Robocop]] (Software)
+
* [[SP0256 on  Printer Port (DIY)]]
  
== Datasheet (English) ==
+
== SP0256 Speech ROM ==
  
<gallery caption="Datasheet SPO256 (PDF)">
+
* [[Media:Sp0256-al2-reversed-bit-order.zip|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)
Image:Sp0256al2 datasheet.pdf|
+
 
</gallery>
+
== 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 ==
 +
 
 +
[[File:SP0256 - Block Diagram.png]]
 +
 
 +
== SP0256-related Datasheets ==
 +
 
 +
* [[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)
 +
 
 +
[[Category:Programming]][[Category:Music and sound]][[Category:Electronic Component]]

Latest revision as of 11:28, 21 June 2024


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 (all 59 phonemes of the English language plus 5 pauses of different lengths).

Technical

More Technical

CPC Speech Synthesizers

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

SP0256 - Block Diagram.png

SP0256-related Datasheets