Amstrad SSA-1 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.
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:
- 3D Boxing
- 3D Stunt Rider
- Alex Higgins World Pool
- Alex Higgins World Snooker
- Glen Hoddle Soccer
- Roland in Space
- FutureOS (limited)
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
- Media:Amstrad SSA-1 (Main Program).zip (cassette)
- Media:Amstrad SSA-1 (Programas Basic).zip (cassette)
- Amstrad SSA-1 drivers (English)  (DSK for Emulators)
- 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)
- File:Amstrad SSA-1 User Instruction Manual.pdf (pdf)
- Manual of the Amstrad SSA-1 Speech Synthesizer (jpg's)