+Andrew Davie Posted March 22, 2020 Author Share Posted March 22, 2020 21 minutes ago, iesposta said: I also have the original USB interface. It is extremely simple. (I have the schematic somewhere if you need it.) One thing that held me up a long time was: In MacOS, the FTDI drivers are already there. Installing from the website broke operation. It was not until I uninstalled the website drivers that the AtariVOX+ started to work. And then after that, I was using Windows under a virtual machine to drive the VOX with Windows software and Windows Stella. Thanks for the info. My logic at the moment is that because the AtariVox is not even saying anything when plugged in, then it is not getting power. Or, does the AtariVox wait for correct comms before saying anything? Dunno. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487506 Share on other sites More sharing options...
RevEng Posted March 22, 2020 Share Posted March 22, 2020 1 hour ago, Andrew Davie said: ... but then I get to looking at the pinout on the AtariVox DB9 and wonder if the pin usage is in any way compatible anyway with the "standard" R/TX lines...? Sill confused. If you're using a standard USB to DB9 serial adapter, stop. It could put out inappropriate voltages and/or voltages on the wrong line, and release the magic smoke. Standard serial ports can put out anwhere between +12v and -12v for logic levels. With PCs, AtariVox works with 5v TTL serial ports. Richard H gave some of these away to developers a while back... I don't know if he has more. I just purchased a $5 5v TTL to USB, and made my own. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487521 Share on other sites More sharing options...
+Andrew Davie Posted March 22, 2020 Author Share Posted March 22, 2020 Just now, RevEng said: If you're using a standard USB to DB9 adapter, don't. It could put out inappropriate voltages and/or voltages on the wrong line, and release the magic smoke. Serial ports can put out up to +12v and -12v. With PCs, AtariVox works with 5v TTL serial ports. Richard H gave some of these away to developers a while back... I don't know if he has more. I just purchased a $5 5v TTL to USB, and made my own. Thanks. As noted, I already have a couple of 5V TTL-USB things. I just need to know/figure the correct pin connections. The one I have that is marked is YP-05. Can you help me with which pins to the DB9 pins? Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487522 Share on other sites More sharing options...
RevEng Posted March 22, 2020 Share Posted March 22, 2020 The AtariVox pinout is part of Alex Herbert's doc. I have a copy here. At a minimum you need the +5v, GND, and SpeakJet Data pins connected. If you want phrase buffer overflow protection, you'd need to connect CTS (i think that's right) to the SpeakJet Ready. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487526 Share on other sites More sharing options...
+Andrew Davie Posted March 22, 2020 Author Share Posted March 22, 2020 10 minutes ago, RevEng said: The AtariVox pinout is part of Alex Herbert's doc. I have a copy here. At a minimum you need the +5v, GND, and SpeakJet Data pins connected. If you want phrase buffer overflow protection, you'd need to connect CTS (i think that's right) to the SpeakJet Ready. OK, thanks I'll try with the YP-05 and see what happens. Cheers A Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487531 Share on other sites More sharing options...
RevEng Posted March 22, 2020 Share Posted March 22, 2020 Hmmm, I think it's actually the serial RTS that needs to connect to the AtariVox CTS, for hardware flow control. I never bothered, and never ran into issues stuffing the vox buffer through usb. YMMV. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487541 Share on other sites More sharing options...
+Andrew Davie Posted March 22, 2020 Author Share Posted March 22, 2020 Well, I've plugged in the YP-05 and confirmed that MacOS is seeing some sort of serial port. Then I confirmed the voltage on VCC on YP-05 was 5V. 4.9V is close enough. Next, I used some jumper wires and connected GND and +5V (VCC) to pins 8 and 7 respectively on the AtariVox DB9. Plugged it in, and the AtariVox starts talking. So next are the data/control lines. But I'm taking a bit of a hiatus - I need to find a stable way to connect to the DB9, as the jumper wires aren't nearly thick enough to stay in place. Can't find much in my box of parts, so I'll have to do a bit of thinking/hunting for something. Hopefully when I get the data/control lines hooked up, and enter the serial port ID into stella... I'll have a functioning setup. 1 Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487563 Share on other sites More sharing options...
+Andrew Davie Posted March 22, 2020 Author Share Posted March 22, 2020 Well I've wired it up - and it doesn't work. I have 5V(VCC) and GND connected correctly, and the AtariVox fires up when I plug the whole shebang into my USB port. I see the USB/serial in the devices as I plug in and unplug. I have tried all combinations of pins 1/2 of DB9 to the obvious pins, bot as pair and individual, from the YP-05. That is, the YP-05 pins are RX, TX, and DTR (I did not try CTS, I see...) I have two wires, one for DB9 pin 1, one for DB9 pin 2 I have tried connecting these two (both as a pair, and individually) in all combinations to DTR, RX, TX. I used spell&speak to try to get something out. Aside from the bootup atarivox greeting, nothing.... Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487658 Share on other sites More sharing options...
RevEng Posted March 22, 2020 Share Posted March 22, 2020 Start with the minimal wiring. I used this for years, and stella doesn't seem to even enable hardware flow control. Serial GND -> Avox pin 8 Serial 5v -> Avox pin 7 Serial TX -> Avox pin 1 A few things to check, many of which are obvious, but should be said anyway: Does Stella have the AtariVox virtually plugged in? Does Stella have the right serial port? Do you have permissions on the serial device? Was the port plugged in prior to Stella being launched? Is the Vox dip-switched for Atari operation? (it should be by default, but worth checking) Is the serial set for 5v TTL operation? Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487715 Share on other sites More sharing options...
+Andrew Davie Posted March 22, 2020 Author Share Posted March 22, 2020 1 hour ago, RevEng said: Does Stella have the AtariVox virtually plugged in? I wasn't even aware this was a thing! OK, it's set to Auto Detect for Joy2. I'll only be able to check this tomorrow morning my time. Many thanks - I'll go through all your suggestions. I may put an oscilloscope on the data line to see if Stella is sending stuff, too. Cheers A Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487767 Share on other sites More sharing options...
RevEng Posted March 22, 2020 Share Posted March 22, 2020 You're welcome. Sounds good. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4487859 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 OK, progress. But strange things. The AtariVox now makes sounds when plugged in and I use spell&speak or run Fall Down But it's not talking. It's bells, whistles, phonemes.. no recognisable speech. When I send the same "word" I get consistent sounds out. But it's nothing like the word. I'm at a bit of a loss to think what might be going wrong here.... bits inverted on the output??? Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488386 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 I swapped from the YP-05 to a Deek-Robot USB-Serial which also works. Exactly the same result with the speech. Next to check the dips on the AtariVox... Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488392 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 The dip switches are correctly set. I toggled them all just to be double-safe. Same behavour. Squeaks bells and whistles and no real speech. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488399 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 My intuition with no evidence whatsoever here is that I have fake FTDI chips, and the inversion is not happening on the output. I've no real way to test, and no ideas what else to do, so I'm going to have to buy (and wait for) a known-good USB-Serial converter. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488405 Share on other sites More sharing options...
RevEng Posted March 23, 2020 Share Posted March 23, 2020 Maybe, but I've always used cheap chinese TTL adapters, without a problem. The only other thing I can think of is the baud rate is wrong for some reason, but stella definitely tries to set 19200 baud. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488425 Share on other sites More sharing options...
+stephena Posted March 23, 2020 Share Posted March 23, 2020 This is the Windows serial code from Stella: if(!myHandle) { myHandle = CreateFile(device.c_str(), GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if(myHandle) { DCB dcb; FillMemory(&dcb, sizeof(dcb), 0); dcb.DCBlength = sizeof(dcb); if(!BuildCommDCB("19200,n,8,1", &dcb)) { CloseHandle(myHandle); myHandle = 0; return false; } memset(&dcb, 0, sizeof(DCB)); dcb.BaudRate = CBR_19200; dcb.ByteSize = 8; dcb.Parity = NOPARITY; dcb.StopBits = ONESTOPBIT; SetCommState(myHandle, &dcb); } else return false; } return true; It's the same in Linux/macOS. So you need to set 19200 baud, 8N1. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488445 Share on other sites More sharing options...
RevEng Posted March 23, 2020 Share Posted March 23, 2020 Yeah, for sure. He shouldn't need to do that in the OS, since stella explicitly specifies the 19200 baud rate when it opens the device, but who knows what's going on here. Andrew, I don't know what kind of scope you have, but if you do break it out, the hang time of a bit at 19200 baud is 0.560 ms. [edit - something else to try. I inverted the speakjet driver in this version of spellandspeak...] Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488451 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 29 minutes ago, RevEng said: Yeah, for sure. He shouldn't need to do that in the OS, since stella explicitly specifies the 19200 baud rate when it opens the device, but who knows what's going on here. Andrew, I don't know what kind of scope you have, but if you do break it out, 19200 baud bit length is 0.560 ms. Thanks for the figure. An extremely simple/basic $20 "DSO Shell" scope, but good enough for the job if you know how to use it. With power off, scope connected to GND and DATA, I get a flat-line voltage. I set V/div to 1V, and because it's a tiny window I'm moving the flat-line down to -2 (that's my new 0-point). Now I power-up. Voltage is still a flat line, but now5 divisions higher - almost exactly 5V in other words. I have my time units at 0.1ms/div. Power-up spell&speak... I have a trigger on the signal, set at upward trigger at 2V position... *bells and whistles* from AtariVox. My trigger has triggered. I see very clear, clean, square wave transitions exactly 5v. In other words, the signal bits are 0V The duration of the bits appears to be a very small fraction over 100uS (0.1 ms). That is the time from 5V->0V->5V (1 bit) is 0.1ms Another way of putting that... the transition from 5V, signal bit, and return to 5V is 0.1 ms. There are variable durations with the voltage at 5V, but always multiples of 100uS. That appears to be incorrect based on your comment about baud length above. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488479 Share on other sites More sharing options...
RevEng Posted March 23, 2020 Share Posted March 23, 2020 Seems the first site I went to for the info was off by a factor of 10. ? The table at this page agrees with a few other sources, and 0.056ms (52µs) was the correct timing for 19200 baud. Based on your 0.1ms, it sounds like you're stuck at 9600 baud. I'm far from an expert, but I believe the logic levels are right for TTL serial. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488496 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 Just now, RevEng said: Seems the first site I went to for the info was off by a factor of 10. ? The table at this page agrees with a few other sources, and 0.056ms (52µs) was the correct timing for 19200 baud. Based on your 0.1ms, it sounds like you're stuck at 9600 baud. I'm far from an expert, but I believe the logic levels are right for TTL serial. I agree and 9600 baud is default for the port. I'm starting to suspect MacOS issues with setting baud rate for the port, because there are a lot of forum posts on "how to?" It puzzles me that anyone is actually successfully using AtariVox/Stella on MacOS. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488499 Share on other sites More sharing options...
RevEng Posted March 23, 2020 Share Posted March 23, 2020 It does seem problematic, but I believe Nathan is successfully using Stella this way on Mac OS. One more thing you can try - after Stella is up and running an atarivox rom (and opened the serial port) try running the following in a terminal: stty -f /dev/YourSerialDevice 19200 and then see if you get any relief within Stella. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488503 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 (edited) 11 minutes ago, RevEng said: It does seem problematic, but I believe Nathan is successfully using Stella this way on Mac OS. One more thing you can try - after Stella is up and running an atarivox rom (and opened the serial port) try running the following in a terminal: stty -f /dev/YourSerialDevice 19200 and then see if you get any relief within Stella. Yep. Now working perfectly. Thanks. So this is a confirmed issue, I think... the baud rate is not correctly set by Stella. @stephena are you on top of this, or should I submit an issue? Edited March 23, 2020 by Andrew Davie Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488505 Share on other sites More sharing options...
RevEng Posted March 23, 2020 Share Posted March 23, 2020 You're welcome. Glad we're done with that one. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488510 Share on other sites More sharing options...
+Andrew Davie Posted March 23, 2020 Author Share Posted March 23, 2020 @stephena just making sure you get a message related to possible/probable stella issue here. Quote Link to comment https://forums.atariage.com/topic/299157-chess/page/13/#findComment-4488518 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.