Difference between revisions of "SP0256"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Overview)
 
(31 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
* [[SP0256 Allophones]]
 
* [[SP0256 Allophones]]
 
* [[SP0256 Pin-Outs]]
 
* [[SP0256 Pin-Outs]]
 +
* [[SP0256 on Printer Port (DIY)]]
 +
  
 
== Overview ==
 
== Overview ==
Line 9: Line 11:
 
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.
 
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 version of the SP0256 exist. The most common is the SP0256-AL2, where -AL2 means that the built-in ROM contains preprogrammed english allophones.
+
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 ==
 +
 
 +
* [[SP0256 Voice Generator]]
 +
* [[SP0256 Instruction Set]]
 +
* [[SP0256 Allophones]]
 +
* [[SP0256 Pin-Outs]]
 +
 
 +
== More Technical ==
  
== Hardware Speech Synthesizers ==
+
* [[SP0256 Measured Timings]]
  
[[Amstrad SSA-1 Speech Synthesizer]] ([[SPO256]] based)
+
== CPC Speech Synthesizers ==
  
[[Dk'tronics Speech Synthesizer]] ([[SPO256]] based)
+
* [[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)
  
[[TMPI speech synthetizer]] ([[MEA8000]] based)
+
== SP0256 on Printer Port (DIY) ==
  
== Software Speech Synthesizers ==
+
* [[SP0256 on  Printer Port (DIY)]]
  
With some clever programming it is possible to program a software Speech Synthesizer with good results.
+
== SP0256 Speech ROM ==
  
[[Speech]] (Symbos software)
+
* [[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)
  
== Games using Software Speech Synthesizer ==  
+
== SP0256 or SPO256 - Letter O vs digit 0 ==
  
[[Ghostbusters]] (Software)
+
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.
  
[[LastV8]] (Software)
+
== Block Diagram ==
  
[[Robocop]] (Software)
+
[[File:SP0256 - Block Diagram.png]]
  
== Datasheet (English) ==
+
== SP0256-related Datasheets ==
  
<gallery caption="Datasheet SPO256 (PDF)">
+
* [[Media:Sp0256al2 datasheet.pdf]] - includes AL2 allophone list
Image:Sp0256al2 datasheet.pdf|
+
* [[Media:SP0256B Datasheet.pdf]] - includes info on TEST pin (but lacks the AL2 list)
</gallery>
+
* [[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:Hardware]]
+
[[Category:Programming]][[Category:Music and sound]][[Category:Electronic Component]]

Latest revision as of 10: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