Jump to content
IGNORED

Chess


Andrew Davie

Recommended Posts

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.

 

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

 

Link to comment
Share on other sites

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
 

Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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.

 

yp05.thumb.jpg.0375f0967a1b918b02c0a6948c084f59.jpg

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

 

 

Link to comment
Share on other sites

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?
Link to comment
Share on other sites

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
 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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.

 

 

 

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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 by Andrew Davie
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...