lundi 19 septembre 2011

Work in progress

Now i get a working speak function with reliable result.
I'm investigating now the structure of addresses sent to the Speech synth (the 5 nibbles). i'm trying to do a "map" of the Rom.
The addresses are 20 bits. but only 14 are the address, 4 are Rom selection (you can put more than 1 ROM) and 2 are unused.

Ref: TMS6100 datasheet
http://www.ti99.com/exelvision/website/telechargement/tms6100-80-data-manual.pdf

mercredi 14 septembre 2011

Interface Schematics (Beta) (don't use this schematics before read the correction in the post)

This schmatics is wrong, don't know why i did this stupid error. (only on the schematics). the D2 should be connected to the collector of Q3 and not Q1, (it is to detect the pulse on CTL8)

mardi 13 septembre 2011

Signals...


See here a logic sniffer capture with explanation:

Quick Warning if you want to connect S&S to your Logic analyser, remember that the logic level are not TTL.
1 is ~ 5 V and 0 is ~ -15V. if you connect your analyzer directly to the S&S it will probably fry ..

She's Alive ... aliiive...

She's alive, yes.. she's  alive..
Finally i got something working, it is still not perfect but the beta is working.
Status of the Project : one button connected to Arduino. When pressed, The Arduino send the commands/addresses in the S&S speech synth to make it speak. At each click on the button i get the same sound (because it send each time the same Rom address) which is the way it should be working.
Next Steps: 
-Analyse the OLS capture (open logic sniffer) to adjust the timing and found why i get some spike on the signals.
-Optimize and clean the code to get a perfect "Speak function" (and release it)
-Add midi feature  
-Add pitch/lfo/filter? midi controlled.
-Create PCB, propose Kits for the community.



How to make it cry :
Please note that the Speech Synth bus is shared with the display,When trying to inject some command in the bus be sure only underscore is displayed on the S&S (for a S&R do WORD MAKER ->GO->ERASE)

Info: Periodically the ctl8 will go high due to the underscore on the display, you will need to inject the code between 2 ctl8 pulse which occur every 7.7ms and pulse duration is approx 780us. So you have 6.9ms to inject your code wich is more than enought..

1. detect the ctl8 pulse
2. Enable TMS (CS high)
3. Reset TMS (bus 0000 + clock)
4. Load address command ( bus 0010 +Clock)
5. 1st address nibble (bus xxxx +clock)
6. Load address command ( bus 0010 +Clock)
7. 2nd address nibble (bus xxxx +clock)
8. Load address command ( bus 0010 +Clock)
9. 3rd address nibble (bus xxxx +clock)
10. Load address command ( bus 0010 +Clock)
11. 4 address nibble (bus xxxx +clock)
12. Load address command ( bus 0010 +Clock)
13. 5 address nibble (bus xxxx +clock)
14. read Rom command (Bus 1000 +clock)
15. Speak command ( Bus 1010 +clock)

to be more clean you shoud do a test speech busy command to be sure the speech synth has finished speaking..

Voila..
more to come..



samedi 10 septembre 2011

Arduino-S&S interface prototype ready

the interface prototype using veroboard is done
After few test is seems to be working,I didn't saw interference to the S&S, Voltage are correct.
Next step connect Arduino and inject some bits in this box to make it cry ...



mardi 30 août 2011

let's Start .... again..

I tested the interface from Arduino to S&S using brand new 74HC126  .. result = not possible.
I tried to use them in a non-classical way  : output a "1" when input is Hight and High Z when input is low (using the internal pulldown resistor of Speech synth to get a low at -12V).After few tests it seems that connecting negative voltage to the HighZ output of the 74HC126 is not possible. (I get ~0.5v instead of -12V ). i don't know exactly why because i didn't check internal schematic of the 74HC126.
So .. bye bye  the 74HC126 ... and welcome back to the littles Transistors .. :)

For people asking for the code,I will release it, don't worry. Actually it doesn't work and i'm trying to identify the source cause of the prob. I will rebuild a new interface to ensure it doesn't interfere with S&S data bus






vendredi 15 juillet 2011

Updates .. ! .. not that much ..

After a while (7 months) I started again this project.
I tried to remove all transistor and put in place the 74125 ICs (don't have 74126) but getting strange problems.

I get a kind of 1.4 V DC offset on the input of the buffers (strange), which interfer with the CTL1 and CTL8 input (to the arduino). Just thinking of bypass the buffer for the inputs or get new 74hc126 ICs.
The ones i'm using are very very old (15 year old or more) and when i look at the datasheet the spec of the IC are very "shitty" for example with a typical Power of 4.5V the high output typical voltage 3.4 V.

I also updated my Open logic Sniffer but it still difficult to understand exactly the signals on the S&S.
To really understand the Bus data, need to find a procedure to force a speak without adding something on the S&S screen. (BTW i'm currently using a Speak and Read because i've got strange results with the Speak and spell due to to many experimentations)

next step : order new 74HC126 and test bypass buffer for input before i receive the package.