I am using the old WChess winboard program with the WB2UCI adaptor in a DOS command prompt and have noticed that the number of characters that I can enter (e.g. "position startpos e2e4 e7e5 ...") is limited to 250 characters or 23 moves. I simply cannot any more characters after that. This occurs in Windows XP 32bit but also inWindows 10 64bit and in DOS command prompt as well as PowerShell.
When I run other UCI engines from the same command prompt, there is no such limitation.
Is this an input character limitation of the WB2UCI adaptor?
Wb2uci input limitation
Moderators: hgm, Dann Corbit, Harvey Williamson
-
jcgdijkstra
- Posts: 19
- Joined: Wed Jul 11, 2012 8:39 pm
- Location: Deventer, The Netherlands
-
hgm
- Posts: 27700
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Wb2uci input limitation
That is hard to imagine, because it would mean that it basically would never work at all.
The question is why you would want to do this in the first place. Is WChess also not working under WB2UCI in a GUI? If you would want to play from the command line it would be far easier to just use the WB interface directly. You would only have to enter each move once, instead of repeating them on every turn.
The question is why you would want to do this in the first place. Is WChess also not working under WB2UCI in a GUI? If you would want to play from the command line it would be far easier to just use the WB interface directly. You would only have to enter each move once, instead of repeating them on every turn.
-
jcgdijkstra
- Posts: 19
- Joined: Wed Jul 11, 2012 8:39 pm
- Location: Deventer, The Netherlands
Re: Wb2uci input limitation
I am running from a selection of multiple chess engines (LC0, Stockfish, etc) in a command prompt. This is needed to interface via RS-232 to an external chess board that I have build. All engines respond fine this way, except for WChess w/ WB2UCI. It's easy to try: using a local keyboard, you simply cannot enter more than 250 characters as input to WChess. I tried it on different machines and different OS's. When you play on the same machine under e.g. Arena and observe the engine log with F4, it does not have this restriction with WChess. I guess it interfaces differently under a windowed application vs a command prompt. If you have WChess and WB2UCI, it's easy to simulate the problem.
-
hgm
- Posts: 27700
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Wb2uci input limitation
It sounds like a limitation of the OS, where the keyboard input buffer restricts how much you can type before confirming the line with <Return>. It might be a restriction of the command-prompt window.
When you say UCI engines do not suffer from this restriction, how did you launch these engines? Just by clicking their .exe, or by opening a command-prompt window, and typing the name of the .exe there? And is this any different from how you launched WB2UCI?
I still don't really understand this RS232 stuff. Is it the chess board that will finally provide the input to WB2UCI, by redirecting the input of the latter to a COM port? It is not clear to me whether any limitation you would have with the keyboard would also apply when you read from the COM port.
When you say UCI engines do not suffer from this restriction, how did you launch these engines? Just by clicking their .exe, or by opening a command-prompt window, and typing the name of the .exe there? And is this any different from how you launched WB2UCI?
I still don't really understand this RS232 stuff. Is it the chess board that will finally provide the input to WB2UCI, by redirecting the input of the latter to a COM port? It is not clear to me whether any limitation you would have with the keyboard would also apply when you read from the COM port.
-
jcgdijkstra
- Posts: 19
- Joined: Wed Jul 11, 2012 8:39 pm
- Location: Deventer, The Netherlands
Re: Wb2uci input limitation
No, because when I run another engine like stockfish from the very same command prompt, I don't have this limitation.
Yes, just by typing the name of the executable. WChess responds fine to UCI commands-So the adaptor is working- except when I hit the 250 characters input: I can't type any more moves or characters after that, except Enter after which the command is processed.
Never mind on the RS-232 then because I also experience the limitation when I use a local keyboard.
If you have the WChess and WB2UCI yourself, you can easily try and see what I mean.
Yes, just by typing the name of the executable. WChess responds fine to UCI commands-So the adaptor is working- except when I hit the 250 characters input: I can't type any more moves or characters after that, except Enter after which the command is processed.
Never mind on the RS-232 then because I also experience the limitation when I use a local keyboard.
If you have the WChess and WB2UCI yourself, you can easily try and see what I mean.