Amstrad SSA-1 Speech Synthesizer

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Amstrad SSA1 box cover
The bundle

A Speech Synthesizer from Amstrad based on the SPO256-AL2 Speech Synthesizer


  • |SAY,@<string> - Converts a string af ASCII text to speech
  • |ECHO,<mode> - Activates text to speech conversion on text printed to the screen.
  • |APHONE,<allophone>[,<allophone>] - Send allophones directly to the interrupt driven allophone buffer.
  • |ROOM,@<value> - Find out how many free locations in the allophones buffer.
  • |QUIET - Clears the allophone buffer.
  • |SPON - Activates the speech interrrupt event.
  • |SPOFF - To prevent output of data from the allophone buffer.
  • |SPSTATUS,@<value> - Read the status of the speech processor.
  • |SPOUT,<allophone>[,<allophone>] - Sends allophones directly to the soundprocessor.

Technical Specs.

In the SSA-1, the SP0256-AL2 speech chip is clocked by a 3.12MHz ceramic resonator (unlike the similar dk'tronics device, where it is clocked at 4MHz).

The SSA-1 uses I/O port: #FBEE, of which (according to the manual) only A10,A4,A0 are decoded.

Port FBEEh READ - SP0256-AL2 Status:

 bit7   Status 1 (0=Speech Busy, 1=Ready/Halted)   (SBY Pin, Standby)
 bit6   Status 2 (0=Ready to Receive Data, 1=Busy) (/LRQ Pin, Load Request)
 bit5-0 Not used (garbage, probably usually high)

Port FBEEh WRITE - SP0256-AL2 Allophone:

 bit7-0 Allophone number               

Port FAEEh WRITE - Accidently used in the included RSX driver cassette (the driver sets BC=FBEEh and executes OUTI, which pre-decrements B, so the OUT accidently goes to FAEEh - the driver works despite of that bug since FBEEh is mirrored to that address).

  • A new allophone number can be send when Status.Bit6=0.
  • The allophone number should/must be in range of 00h..3Fh (6bit).
  • However, the whole 8bit databus is connected in the SSA-1.

For details on the speech chip, see:

Software Support


Serious Software

Caution - Some webpages do (incorrectly) list further games:

Gremlins (spanish version), Seablood and Robin of Sherwood (these contain code for using Port FBEC & FBEF for some kind of data transfer, possibly for PDS development system - but, not for speech). Also, Dragon Gold is listed as speech game (not sure why, it doesn't seem to use any special I/O ports; unless different versions of that game exist?)



Examples of the Amstrad synth in use

{{#ev:youtube|fesVxipNaw8|300}} {{#ev:youtube|v8WKbKK3Apg|300}}



Other Speech Synthesizers