Difference between revisions of "Amstrad SSA-1 Speech Synthesizer"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Other Speech Synthesizers: Speak-SID)
 
(55 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[Image:Amstrad SSA1.jpg|right|thumb|250px|The Ram Music Machine]]
+
[[Image:Amstrad SSA1.jpg|right|thumb|250px|Amstrad SSA1 box cover]]
 +
[[Image:Ssa-1.JPG|right|thumb|250px|The bundle]]
  
 +
A Speech Synthesizer from [[Amstrad]] based on the [[SPO256]]-AL2 Speech Synthesizer
  
 +
== Software ==
  
A Speech Synthesizer from [[Amstrad]] based on the SPO256 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. ==
 
== 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: [[I/O_Port_Summary|#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:
 +
 +
* [[SP0256]]
 +
* [[SP0256 Voice Generator]]
 +
* [[SP0256 Instruction Set]]
 +
* [[SP0256 Allophones]]
 +
* [[SP0256 Pin-Outs]]
 +
 +
== Software Support ==
 +
=== Games ===
 +
* [[3D Boxing]]
 +
* [[3D Stunt Rider]]
 +
* [[Alex Higgins World Pool]]
 +
* [[Alex Higgins World Snooker]]
 +
* [[Darkwurlde]]
 +
* [[Glen Hoddle Soccer]]
 +
* [[Roland in Space]]
 +
* [[Tubaruba]]
 +
 +
=== Serious Software ===
 +
* [[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?)
  
 
== Pictures ==
 
== Pictures ==
Line 14: Line 68:
 
<gallery caption="Amstrad SSA1">
 
<gallery caption="Amstrad SSA1">
 
Image:Amstrad ssa1 1.JPG|Frontpage
 
Image:Amstrad ssa1 1.JPG|Frontpage
 +
Image:ssa1 5.JPG|Inside
 +
Image:ScreenPacked.jpg|Box (open)
 +
Image:ScreenBoxed.jpg|Box (side)
 +
Image:FullSSA1.jpg|Interface and Speakers
 +
Image:FullManual Tape.jpg|Manual and Tape
 +
Image:SSA1 FullBox.jpg|Box (front)
 +
Image:Amstrad SSA-1 Schematic.png|Schematic
 
</gallery>
 
</gallery>
  
 +
<gallery caption="Amstrad SSA1 (300dpi scans by [[Robcfg]])">
 +
Image:SSA1_Front.jpg|Front
 +
Image:SSA1_Back.jpg|Back
 +
Image:SSA1_PCB_Top.jpg|PCB Top
 +
Image:SSA1_PCB_Bottom.jpg|PCB Bottom
 +
</gallery>
  
 +
== Reviews ==
  
== Weblinks ==
+
<gallery>
 +
image:Amstrad Computer User8507 014.jpg|The SSA1 compared to the dk'Tronics synth
 +
image:Amstrad Computer User8507 015.jpg
 +
image:Amstrad Computer User8507 016.jpg
 +
</gallery>
 +
 
 +
 
 +
== Examples of the Amstrad synth in use ==
 +
 
 +
{{#ev:youtube|fesVxipNaw8|300}} {{#ev:youtube|v8WKbKK3Apg|300}}
 +
 
 +
== Downloads ==
 +
* [[Media:Amstrad SSA-1 (Main Program).zip]] (cassette)
 +
* [[Media:Amstrad SSA-1 (Programas Basic).zip]] (cassette)
 +
* [[Media:SSA-1.zip‎|Amstrad SSA-1 drivers (English)]] [http://www.jonathanen.com/pages/Items/Amstrad/SSA-1/SSA-1.zip] (DSK for Emulators)
 +
* [[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)
  
 
== Manual ==
 
== Manual ==
 +
 +
* [[File:Amstrad SSA-1_User_Instruction_Manual.pdf]] (pdf)
 +
* [[Manual of the Amstrad SSA-1 Speech Synthesizer]] (jpg's)
 +
 +
== Other Speech Synthesizers ==
 +
 +
* [https://github.com/lambdamikel/Speak-SID Speak-SID ''SSA-1 emulation''] Speech Synthesizer, SID Soundcard, MIDI IN SID+AY Synthesizer
 +
* [[Dk'tronics Speech Synthesizer]]
 +
* [[MHT Speech Synthesizer]] (MHT Ingenieros)
 +
* [[TMPI speech synthetizer]] (TechniMusique)
 +
 +
[[Category:Amstrad Products]]
 +
[[Category:FutureOS]]
 +
[[Category:Manual]]
 +
[[Category:Music and sound]]
 +
[[Category:Peripherals]]

Latest revision as of 10:52, 7 October 2020

Amstrad SSA1 box cover
The bundle

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

Software

  • |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

Games

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?)

Pictures

Reviews


Examples of the Amstrad synth in use

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

Downloads

Manual

Other Speech Synthesizers