Einzelnen Beitrag anzeigen
  #26  
Alt 06.11.2019, 23:25
Tibono Tibono ist offline
TASC R30
 
Registriert seit: 22.05.2018
Ort: Frankreich
Alter: 62
Land:
Beiträge: 458
Abgegebene Danke: 2.141
Erhielt 1.108 Danke für 362 Beiträge
Aktivitäten Langlebigkeit
7/20 6/20
Heute Beiträge
1/3 ssssss458
Daumen hoch Re: MessChess und Arena - Fragen und Antworten

Hi all,

thanks Franz, great! Indeed working. I must admit I don't understand why, maybe the lua code 'end of thinking' detection is smarter than I would have expected. I thought it would endless wait until a full stop of blinking...

Another weak machine topic: the Mattel Computer Chess. Cursor moves are very sensitive to the used timer for key pressing. Slightly too much and the repeated key shifts the cursor too far away; slightly too short and some cursor moves lack.

If the timer is not accurately tuned, the entered move may shift from expected target position, resulting in an illegal or wrong move.

This is controlled in mchess.lua, function interface.select_piece(x, y, event).
Five 'send_input' commands (Left, Left, Right, Down, Up) share the same timer value (initially 0.75 seconds). Move & Enter commands can use a longer timer value, they are not that sensitive to automatic repetition. The first 'Left' command is used to activate (wake-up) the cursor.

0.75 was slightly too long, I sometimes got shifted moves tentatives. With higher values tested (such as 0.9) the cursor runs far away from target. Adding extra waits in the 'while' loops did not help.
0.55 was slightly too short. The cursor sometimes failed to reach its target.
So I updated the timer to the average value 0.65, with fully satisfying result.
Just fine tuning, but may depend on each own hardware performance. And the error margin is short!

Talking about performance, another trick I use: displayed emulation windows can use significant CPU power; resulting in potential issues running Arena tournaments opposing MessChess emulations. To save CPU bandwidth, a simple trick is to minimize the Mess windows. Just check the CPU% using task manager, it drops down. OK, but as you may not be watching the running tournament while any MessChess process starts, displayed windows come back... Mess setting lets you choose to start windows maximized or not, but no choice for minimized (of course useless out of MessChess engines context).
So I updated my mess.cmd command (Arena directory) this way:
Code:
@echo off
cd..
start /B /MIN /WAIT MessChess.exe %1 %2 %3 %4 %5
cd Arena
Should someone like to, this syntax also enables setting priority level and affinity for the MessChess process.

Gruß, Eric
Mit Zitat antworten