VOGONS


First post, by josch

User metadata
Rank Newbie
Rank
Newbie

I'm just updating the Directserial support for OS/2 because of the changes in CVS. The support is half working, so here my questions:

1.) If I try to use 115200 Baud, I get a divider of 87, but it should be 1. All other standard rates are working. Is the divider of 87 correct?
2.) I can send data, while getting some messages of internal error #1 and #2. Can anyone give me a hint, how to get rid of them. Is this a question of speed?
3.) Appearently, I cannot receive data. Any hints on that?

Reply 1 of 4, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

1. It certainly should be 1 for 115200.
2. and 3. I suggest you copy the win32 implementation and replace the System calls - there were quite a lot changes. The internal errors come up when some TX register related states are wrong. You're probably missing something in the handleUpperEvent function.

Reply 2 of 4, by josch

User metadata
Rank Newbie
Rank
Newbie

I printed the win32 implementation and took that as a template.
I have attached my implementation to this post. Perhaps, you see something.

Attachments

  • Filename
    directserial_os2.cpp
    File size
    16.88 KiB
    Downloads
    219 downloads
    File license
    Fair use/fair dealing exception

Reply 4 of 4, by josch

User metadata
Rank Newbie
Rank
Newbie

I opened my eyes, and I got enlightened. 😁
Well, I goes without saying, that you should tell Dosbox that have received something on success, not on failure. 😒
Now it works.

I will do some more testing and send put a patch together.