mercredi 28 septembre 2011

First Midi test

Midi support is working fine now. Only Note On for the moment ,I need to add the pgm change to change bank of sound.becaus theoretically i can have 16383 different address. (14 bits address 2 bit for Rom chip select, 2 unused = 20 bits = 5 x 4 bit nibble)

It currently doing sound with "Note off" (because my M-audio keyboard doing Note off with a Note On velocity 0 ) will be corrected tonight.
Sorry for the Video quality and the crappy sound, it's recorded with the internal Cam/mic of my Macbook)

video

Code will be published soon, i need to clean it..

mardi 27 septembre 2011

Midi on the way .. usb midi S&S for the future ?

I've added midi basic support and it works.
I still need to manipulate some bits to create correct mapping on midi notes and S&S addresses. but i's responding to midi keypresses :)

I also received my new geek toy, a teensy 2.0. which support USB directly. i will try to make it work with the Speak and spell. to get a USB Midi speak and spell, sounds fun .. 

I'm also thinking of adding some midi controlled loops and glitches (maybe pitch or lfo) if someone have good working loops bend point i will be happy to try them if it is still stable with them. (bend point cannot be on the same pint as the midi speak spell devices).



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