VOGONS


Reply 20 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

It appears that there's not two way traffic happening over the serial port...
I still have the problem trying to use a program file (for the machine) on the hard drive. This requires the machine controller to read a bit of the file, process it, and when done go back and read some more. It's hanging when trying to do this.

Likewise, I have another version of the software that runs in DOS that uses a dongle, and trying that one, it doesn't see the dongle on the serial port...

Any more ideas? Thanks.

Reply 21 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You did configure the serial port in the config file, right?

1+1=10

Reply 22 of 40, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Oops, I missed that you were trying to use a hardware serial port.

I was under the impression that you need the Megabuild version to do that.

Reply 23 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

For parallel ports you need MB6. There has been a serial port fix though in SVN.

1+1=10

Reply 24 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

You did configure the serial port in the config file, right?

Yessireebob... "serial1=directserial realport:COM1"

Reply 25 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

For parallel ports you need MB6. There has been a serial port fix though in SVN.

Sorry, what's that mean? Thanks.

Reply 26 of 40, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It means that a recent development version of DOSBox has a serial port related bug fixed, though I do not know wether that affects your application or not.

1+1=10

Reply 27 of 40, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

By the way, if you're using a USB-to-serial adapter, previous experience suggests they may not work very well with some older serial devices, or at least not as well as a genuine serial port on an I/O card. [Disclaimer: this relates solely to my own individual experiences from years ago and others, particularly in the time since then, may have not experienced these problems with USB-to-serial adapters.]

If this is the case, depending on the device, you might be able to do some testing with an ordinary Windows terminal program on the relevant COM port. Some serial devices communicate with ordinary text strings, you see. If you don't know the relevant commands, you can even try to identify the strings that your program in DOSBox is trying to send out over the port using Portmon, and then try them in the terminal program. But that might be getting a bit elaborate.

Reply 28 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

It means that a recent development version of DOSBox has a serial port related bug fixed, though I do not know wether that affects your application or not.

Can I get this new version to try? Thanks.

Reply 29 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

By the way, if you're using a USB-to-serial adapter, previous experience suggests they may not work very well with some older serial devices, or at least not as well as a genuine serial port on an I/O card.

No, not the case, but thanks.

Reply 30 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

In the interest of being thorough and trying to help guys help me, I'll try to explain a little better what happens.

The code that describes the moves that the CNC machine needs to make is contained in a text file, called "the program". This program resides on the hard drive. Normally, the program is read into memory by the controller and read and acted upon. (the controller tells the machine to make the moves contained in the text file.)

In this case, the text file program is too big to fit in memory. So, the machine controller (in this case the program that runs on DOS) reads a little bit into memory, pauses that flow, makes the moves contained in the little bit it placed into memory, then reads a little more in, makes more moves, reads a little more in, etc..., until the whole program is processed.
Technically this is called "DNC".

Hence, the back and forth over the serial port...

Clear as mud?

Thanks.

Reply 31 of 40, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Even if it's not a USB-to-serial adapter, using Portmon to examine the traffic on the serial port isn't such a bad idea, I think.

WJR wrote:

It means that a recent development version of DOSBox has a serial port related bug fixed, though I do not know wether that affects your application or not.

Can I get this new version to try? Thanks.

http://www.dosbox.com/wiki/SVN_Builds

Assuming the fix that HAL9000 refers to is the one logged on 10-29, then only the Megabuild and ykhwong's build (and the auto-generated tarballs) will contain it at the moment.

Reply 32 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

Even if it's not a USB-to-serial adapter, using Portmon to examine the traffic on the serial port isn't such a bad idea, I think.

Yes, you are correct. It couldn't hurt, and might turn up more info that might help someone help me. 😀
I'll go read and see if I can figure it out. Thanks.

Reply 33 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

Finally got a chance to do this.

How much of that portmon log do you really want? I ask because what I captured results pretty large... I've pasted the last section of it here, and can post more if necessary. See if this helps you help me, and if not let me know what else I can do to try and make that happen. Thanks for the effort!

Last edited by WJR on 2011-01-23, 15:50. Edited 2 times in total.

Reply 34 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

Should also point out that the MegaBuild version did not seem to make any difference. Both still freeze when attempting to DNC. Thanks.

Reply 35 of 40, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Rather than inserting lengthy text logs into your post, may I suggest using the "Add an Attachment" feature to attach a text file? You might want to even go back and edit your last post accordingly to make the thread easier to read.

Suffice it to say, all those VCOMM_WriteComm lines definitely look like characters are being sent out over the serial port, so that might not be the problem.

Did you ever have a go with the DOSBox Debugger to see if the program is trying to access a file that does not exist?

Reply 36 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

Rather than inserting lengthy text logs into your post, may I suggest using the "Add an Attachment" feature to attach a text file? You might want to even go back and edit your last post accordingly to make the thread easier to read.

Point taken, and apologies to everyone. Definitely a better solution. 😦

I did briefly try to use the debugger but had issues that were most likely my own...

Reply 37 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

Tried using the debugger exe in the mega build, but I'm still not getting any love. Feel like it's so close to working but just can't get past this bump. Need a little direction here to try and get this thing working, please.

What can I tell you to help myself?

Thanks.

Reply 38 of 40, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

I have absolutely no idea what the problem might be; you're not giving much to work with. Debug-enabled builds work pretty much exactly the same as normal builds except that there's an extra window with debug information. Are you not seeing that window, or is it not showing you what you are expecting, or what? Perhaps a screenshot would be useful?

Reply 39 of 40, by WJR

User metadata
Rank Newbie
Rank
Newbie

Are you not seeing that window, or is it not showing you what you are expecting, or what? Perhaps a screenshot would be useful?

This seems to possibly be part of it... I used the debug exe to start DOSBOX, and I do indeed get the extra debug window, but it *seems* to just stay "blank" (as in - I don't see any text, just a black screen). When DOSBOX freezes when I try to DNC a program, I have to kill DOSBOX to get out of it. Am I doing something incorrectly? Thanks for the input.