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

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Supported Games)
(Other Speech Synthesizers: Speak-SID)
 
(29 intermediate revisions by 7 users not shown)
Line 18: Line 18:
 
== Technical Specs. ==
 
== Technical Specs. ==
  
The clock frequency (passed to the speech chip) is fixed, the exact frequency is unknown (?)
+
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).
  
Uses I/O port: [[I/O_Port_Summary|#FBEE]], of which (according to the manual) only A10,A4,A0 are decoded.
+
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:
+
Port FBEEh READ - SP0256-AL2 Status:
   bit7  Status 1 (0=Speech Busy, 1=Ready/Halted)  (SBY Pin, Speech Busy)
+
   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)
 
   bit6  Status 2 (0=Ready to Receive Data, 1=Busy) (/LRQ Pin, Load Request)
   bit5-0 Not used (garbage, probably usually highz)
+
   bit5-0 Not used (garbage, probably usually high)
Port FBEEh WRITE:
+
 
   bit7-6 Reserved (must be zero)
+
Port FBEEh WRITE - SP0256-AL2 Allophone:
  bit5-0 Allophone number              ;data can be send when Status.Bit6=0
+
   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]]
Line 36: Line 44:
 
* [[SP0256 Pin-Outs]]
 
* [[SP0256 Pin-Outs]]
  
== Supported Games ==
+
== Software Support ==
 +
=== Games ===
 +
* [[3D Boxing]]
 +
* [[3D Stunt Rider]]
 +
* [[Alex Higgins World Pool]]
 +
* [[Alex Higgins World Snooker]]
 +
* [[Darkwurlde]]
 +
* [[Glen Hoddle Soccer]]
 +
* [[Roland in Space]]
 +
* [[Tubaruba]]
  
* 3D Boxing
+
=== Serious Software ===
* 3D Stunt Rider
+
* [[FutureOS]] (limited)
* Alex Higgin's World Snooker / World Pool
+
* Darkwurlde
+
* Glen Hoddle Soccer
+
* Roland In Space
+
* Tubaruba
+
  
''Caution'' - Some webpages do (incorrectly) list further games: Gremlins (spanish version), Seablood and Robin of Sherwood - these contain some code for using Port FBEC & FBEF for some kind of data transfer - 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?)
+
'''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 52: Line 68:
 
<gallery caption="Amstrad SSA1">
 
<gallery caption="Amstrad SSA1">
 
Image:Amstrad ssa1 1.JPG|Frontpage
 
Image:Amstrad ssa1 1.JPG|Frontpage
Image:ssa1 2.JPG|Inside
 
Image:ssa1 3.JPG|Inside
 
Image:ssa1 4.JPG|Inside
 
 
Image:ssa1 5.JPG|Inside
 
Image:ssa1 5.JPG|Inside
File:NoPicture.gif|Hi-Res image showing text on ceramic oscillator
+
Image:ScreenPacked.jpg|Box (open)
Image:ScreenPacked.jpg|
+
Image:ScreenBoxed.jpg|Box (side)
Image:ScreenBoxed.jpg|Boxed
+
Image:FullSSA1.jpg|Interface and Speakers
Image:FullSSA1.jpg|
+
 
Image:FullManual Tape.jpg|Manual and Tape
 
Image:FullManual Tape.jpg|Manual and Tape
Image:SSA1 FullBox.jpg|
+
Image:SSA1 FullBox.jpg|Box (front)
 +
Image:Amstrad SSA-1 Schematic.png|Schematic
 +
</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>
 
</gallery>
  
Line 76: Line 96:
  
 
{{#ev:youtube|fesVxipNaw8|300}} {{#ev:youtube|v8WKbKK3Apg|300}}  
 
{{#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 ==
 +
 +
* [[File:Amstrad SSA-1_User_Instruction_Manual.pdf]] (pdf)
 +
* [[Manual of the Amstrad SSA-1 Speech Synthesizer]] (jpg's)
  
 
== Other Speech Synthesizers ==
 
== 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]]
 
* [[Dk'tronics Speech Synthesizer]]
 
* [[MHT Speech Synthesizer]] (MHT Ingenieros)
 
* [[MHT Speech Synthesizer]] (MHT Ingenieros)
 
* [[TMPI speech synthetizer]] (TechniMusique)
 
* [[TMPI speech synthetizer]] (TechniMusique)
  
== Weblinks ==
+
[[Category:Amstrad Products]]
 
+
[[Category:FutureOS]]
== Manual ==
+
[[Category:Manual]]
 
+
[[Category:Music and sound]]
<gallery caption="Amstrad SSA1 (Manual)">
+
[[Category:Peripherals]]
Image:Ssa1 frontpage.jpg|Frontpage
+
Image:ssa1 content.jpg|Contents
+
Image:ssa1 p1.jpg|Page 1
+
Image:ssa1 p2.jpg|Page 2
+
Image:ssa1 p3.jpg|Page 3
+
Image:ssa1 p4.jpg|Page 4
+
Image:ssa1 p5.jpg|Page 5
+
Image:ssa1 p6.jpg|Page 6
+
Image:ssa1 p7.jpg|Page 7
+
Image:ssa1 p8.jpg|Page 8
+
Image:ssa1 p9.jpg|Page 9
+
Image:ssa1 p10.jpg|Page 10
+
Image:ssa1 p11.jpg|Page 11
+
Image:ssa1 p12.jpg|Page 12
+
Image:ssa1 p13.jpg|Page 13
+
Image:ssa1 p14.jpg|Page 14
+
Image:ssa1 p15.jpg|Page 15
+
Image:ssa1 p16.jpg|Page 16
+
Image:ssa1 p17.jpg|Page 17
+
Image:ssa1 p18.jpg|Page 18
+
Image:ssa1 p19.jpg|Page 19
+
Image:ssa1 p20.jpg|Page 20
+
</gallery>
+
 
+
[[Category:Hardware]] [[Category:Peripherals]] [[Category:Music and sound]][[Category:Manual]]
+

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