![]() |
MessChess und Winboard
Zitieren:
Wie ist denn die Reihenfolge in Winboard genau? Du startest Winboard und wählst gleich beide Engines in den beiden Listen aus. Danach ist in ja Winboard im Menü 'Mode' erstmal die Option 'Machine Black' aktiviert. 1.Versuch: Wenn ich da jetzt 'Two Machines' aktiviere, dann zeigt die erste Engine STA in der Anzeige, und in Winboard kann ich aber im Menü 'File' keine Partie mehr laden!? 2.Versuch: Wenn ich allerdings vorher (d.h. vor Umschalten auf 'Two Machines') schon die Partie lade, dann meldet Engine 1 kurz ein Err2 und zeigt dann wieder MEMO an, scheint danach aber die Züge aus der Partie von Winboard übermittelt zu bekommen. Danach schalte ich auf 'Two Machines' um, und jetzt erscheint auch Engine 2 und bekommt die Züge nun ebenfalls von Winboard. Jetzt ist also anscheinend dieser Zustand erreicht, wo beide Engines die Vorgabestellung auf dem Brett haben, und wo Du gerne hättest, daß es automatisch weitergeht, d.h. jetzt Engine 1 von selbst weiterzuspielen beginnt, stimmt das bis jetzt so? (diesen Fehler Err2 verstehe ich allerdings noch nicht) Nun, manuell muß man jetzt bei beiden Engines CL drücken (um den MEMO-Modus zu beenden), aber zusätzlich auch noch bei Engine 1 die Taste ENT, weil diese jetzt ja zu spielen beginnen soll. Ich frage mich allerdings, WIE man das automatisieren soll (im LUA-Script), denn woher sollen die Engines wissen, daß nach dieser Zugfolge jetzt Schluß ist mit den Vorgabezügen? Das müßte ja Winboard irgendwie den beiden LUA-Scripts mitteilen, damit diese dann die nötigen Tasten 'drücken' können. Also müßte da eher in Winboard irgendwas geändert werden als in den LUA-Dateien ... |
AW: MessChess und Winboard
Bei Winboard ist das Hauptproblem, dass man mit Starten des Programms schon Engines definieren muss. Allerdings könnte ich mir - rein theoretisch - folgendes Scenario vorstellen:
Ich lade z.B. in Winboard eine PGN-Datei und starte DANACH eine Engine. Diese Engine könnte doch jetzt per Script (also lua) überprüfen ob eine solche PGN oder eine Zugliste in Winboard existiert, in den Memory-Modus springen, und die Züge nacheinander einlesen. Da in einer PGN-Datei das Ende einer Zugliste meist durch einen "*" gekennzeichnet ist, könnte dies doch dann als quasi "end of file"-Bedingung gelten und dadurch veranlasst werden, dass nun per Script aus dem Memory-Modus herausgesprungen wird. Ich kenne mich mit lua leider nicht genug aus um zu wissen, ob das so zu verwirklichen ist, aber es wäre zuerst mal eine Grundidee... So wie Didi es beschreibt, hat er es ja irgendwie geschafft, dass die Engines geladen werden und auch die Eingabe der Position erfolgt. Also muss es ja auch irgendwie möglich sein in der bestehenden Zugliste ein EOF zu erkennen. Dazu müssten wir aber ein Beispielscript einer Engine haben wo er diesen Setup-Modus eingebaut hat. Ansonsten kommen wir vermutlich nicht weiter. |
AW: MessChess und Winboard
Ja, genauso läuft das ganze unter Winboard.
Die Fehlermeldung wird ja ignoriert, somit läuft das alles dann normal weiter. Andere Schachprogramme ignorieren das komplett. Ich denke, dass Winboard da etwas schickt, um dem Programm mitzuteilen, dass jetzt eine Zugfolge gesendet wird. Und vielleicht sendet Winboard auch etwas, um das Ende der Zugfolge mitzuteilen. Genau diese beiden Befehle müsste man im LUA Script abfangen. Dann könnte man das komplett automatisieren. |
AW: MessChess und Winboard
Zitieren:
Zitieren:
|
AW: MessChess und Winboard
1 Anhang/Anhänge
Zitieren:
C:\CB-Emu\MessChess\plugins\chessengine\interfaces Starten unter Winboard Mephisto MMIV als Engine 1 und Engine 2. |
AW: MessChess und Winboard
Zitieren:
Zitieren:
Edit: Ups, Didi war schneller... wir haben ein Beispielscript, lach |
AW: MessChess und Winboard
"Wie soll denn das gehen? Wie soll das LUA-Script Winboard 'fragen', ob eine Zugliste vorliegt?"
Genau darum gehts ja... |
AW: MessChess und Winboard
Zitieren:
Zitieren:
Das Problem dabei ist, daß es in WinBoard keine Option gibt (so wie mit F4 in Arena), mit der man die ganz Kommunikation zwischen Winboard und Engine mitverfolgen kann - damit wäre es sicher einfacher, evt. eine Lösung für dieses Problem zu finden. |
AW: MessChess und Winboard
Zitieren:
Und wenn Winboard das Ende der Zugliste eben nicht irgendwie dem Script mitteilt (und das tut es nicht), dann weiß eben die Engine von diesem Ende nichts. |
AW: MessChess und Winboard
Zitieren:
|
AW: MessChess und Winboard
Also inzwischen hab ich nur eine (allerdings recht einfache) Methode gefunden, das mit geringem Aufwand doch noch durchzuführen:
Nach dem Laden der PGN-Datei und Umschalten auf 'Two Machines' muß man ja ohnehin mit 'Move Now' (bzw. Ctrl-M) in Winboard das Match überhaupt mal starten. Dabei schaltet Engine 1 ja auch automatisch aus dem MEMO-Modus wieder zurück in den PLAY-Modus (dafür hat Didi ja durch einen zusätzlichen CL-Befehl in interface.start_play() ja schon gesorgt). Den dann von Engine 1 berechneten Zug schickt Winboard allerdings als 'normalen' Zug and Engine 2 (also ohne dieses interface.start_play() zu senden), und daher bleibt nach diesem Zug Engine 2 auch weiterhin im MEMO-Modus (daran kann ich auch nichts ändern, weil ich auf die von Winboard gesendeten Befehle ja keinen Einfluß habe). Allerdings braucht man nun eben einfach nochmals Ctrl-M in Winboard drücken, denn damit bekommt jetzt auch Engine 2 diesen Befehl interface.start_play(), schaltet von MEMO nach PLAY zurück und beginnt zu rechnen - von da weg geht das Match dann automatisch weiter. Also kurz zusammengefaßt: statt 1-mal Ctrl-M nach Umschlten auf 'Two Engines' braucht man nur 2-mal Ctrl-M drücken, das 2.Mal allerdings erst nachdem Engine 1 seinen 1.Zug gemacht hat. Eine andere Möglichkeit sehe ich derzeit nicht, jedenfalls nicht ohne größere Eingriffe in die ganze Winboard-Plugin-Kommunikation. PS: Übrigens, diese Fehlermeldung Err2 kann man einfach eliminieren durch eine zusätzliches CL (also send_input(":KEY1_0", 0x80, 1) -- CL) in der Funktion setlevel() direkt vor der Umschaltung in den LEV-Modus (also vor send_input(":KEY1_4", 0x80, 1) -- LEV). Das Problem war, daß dieses setlevel() natürlich nicht erwartet hat, aus dem MEMO-Modus heraus aufgerufen zu werden. Grüße, Franz |
AW: MessChess und Winboard
Ein Problem scheint es bei der enpassent-Regel in der Emulation des VEB Chessmaster zu geben.
Grundsätzlich bei jedem enpassent-Schlagen fängt die Emu mit einem Dauerpiepen (bei dem Ton könnte man übrigens schon von einem Dauerkreischen reden) an und die drei Felder (von-zu-geschlagene Figur) leuchten. Dabei ist es völlig egal ob jetzt der VEB Chessmaster selbst enPassent schlägt oder ob der Gegner dies tut. Irgendwie wird scheinbar hier die Reihenfolge nicht eingehalten in der die entsprechenden Felder zu drücken sind. Winboard zeigt dann zwar den korrekten Zug an, man kann auch noch antworten, aber spätestens danach ist Feierabend. Hier scheint also in der entsprechenden lua noch ein Fehler vorzuliegen. |
AW: MessChess und Winboard
Zitieren:
Edit: jetzt ist es doch passiert, und zwar wenn der ChessMaster enpassant schlägt. Aber wie schon erwähnt, kümmere ich mich um die LUA-Plugins nicht mehr. |
AW: MessChess und Winboard
Bei mir trat es immer bei Enginevergleichen auf, also wenn 2 Engines unter Winboard gespielt haben. Wenn es wieder auftritt poste ich mal die Notation. Vielleicht hilft das dann weiter... Hab die Partie dummerweise schon gelöscht. Problem also erstmal auf Halde gelegt...
|
AW: MessChess und Winboard
So, jetzt hab ich mal wieder so eine Partie. Gestartet wurden beide Engines unter Winboard und spielten auf der jeweiligen Turnierstufe:
VEB Chessmaster - VEB Chess Master Diamond 1. d4 f5 2. c4 Nf6 3. Nf3 e6 4. Nc3 c5 5. Bg5 cxd4 6. Bxf6 Qxf6 7. Nxd4 e5 8. Nd5 Bb4+ 9. Nxb4 exd4 10. Nd5 Qe5 11. f4 Qd6 12. Qxd4 O-O 13. c5 Qh6 14. Nc7 Nc6 15. Qc4+ d5 16. cxd6+ Be6 und Partie wurde abgebrochen. Weiss weigert sich nach dem enPassent schlagen beständig den schwarzen Zug auszuführen. Dauerpiepen bei der weissen Chessmaster-Emu |
AW: MessChess und Winboard
Zitieren:
|
AW: MessChess und Winboard
Hallo,
ich habe (mal wieder) ein dumme Frage zu einer Engine Partie unter Winboard. Wo kann ich herausfinden, welche LUA Datei zu welchem Programm gehört? Teilweise nutzen ja mehrere Programme dieselbe LUA Datei. Übrigens Danke für das neue Update mit den Saitek Geräten und dem CXG Programmen. Gerade spielt auch noch Tasc R40 gegen Genius 68030 auf meinem Rechner gegeneinander. Echt geil! |
AW: MessChess und Winboard
Hallo Didi!
Zitieren:
Wenn es für manche Modelle keine LUA-Datei mit diesem Namen gibt, dann wird das Plugin des 'Eltern'-Gerätes verwendet - dieses kannst Du feststellen, indem Du oberhalb der Liste das Symbol links vom Fragezeichen anklickst, das zeigt dann eine Baumansicht, wo man erkennt, welche Geräte von welchem anderen abhängig sind. Grüße, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hi zusammen,
ich wollte in MessChess Varianten von Schachcomputern erstellen, insbesondere Novag Super Expert C mit verschiedenen Selektivitäten, z.B. "suexc6" für Sel 6. Aber es klappt einfach nicht. Folgender Zwischenstand:
Mein Problem ist nun, dass die neue suexc6 nicht in der Messchess.exe auftaucht. Kann es sein, dass die engines hard-verdrahtet in der exe auftauchen (im hex-editor findet man nämlich Einträge wir "sexpertc"? Über Vorschläge wäre ich sehr dankbar, ich möchte nämlich ein Turnier mit allen Selektivitäten 0..7 durchführen. Beste Grüße Frank |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hallo Frank,
Zitieren:
Was Du gerne hättest geht nur relativ umständlich mit separaten Verzeichnissen, die jeweils eine eigene MessChess-Version enthalten müssen (zumindest mit den für die gewünschte Engine notwendigen Dateien). Prinzipiell müßte das also etwa so aussehen: 1) erzeuge irgendwo Kopien des MessChess-Verzeichnisses unter neuen Namen MessChess1, MessChess2, ... usw. 2) in diesen Verzeichnissen mußt Du dann nur die Plugins 'sexpertc.lua' so anpassen, wie Du sie eben haben willst (evt. kannst Du in diesen Verzeichnissen auch irgendwelche anderen Änderungen an den Engines vornehmen, falls gewünscht) 3) nun brauchst Du nur in EINER Winboard-Version (z.B. in der innerhalb vom originalen CB-Emu\MessChess) in der winboard.ini diese neuen sexpertc-Varianten definieren, wobei Du bei jeder Variante einfach das Verzeichnis auf die jeweilige MessChess-Version ändern mußt (das sind die Einträge /fd=".." bzw. /sd="..", und hier gibst Du statt ..\ einfach den Pfad zu MessChess1, MessChess2 usw. an) 4) in dieser EINEN Winboard-Version müßtest Du dann ein Turnier machen können, indem Du eben diese verschiedenen sexpertc-Versionen in den unterschiedlichen Verzeichnissen auswählst. Grüße, Franz |
Re: Mess Emulator für diverse Schachcomputer ist fertig!
Hi Franz
I have a problem with MessChess as I cannot find a way to continue saved games either in Winboard or Arena. I have spent quite a lot of time scrolling through here but unable to find any mention of it. I have already tried saving & loading games, saving & loading positions, states, default states. The nearest I got to was in Winboard to save a position, Mess save default state. Exit program then load saved position in Winboard and load default state in Mess. Then make new move in Wnboard that actually is executed in Mess. Mess now makes its move but Winboard doesn't execute it 🤔 Could you possibly give me some guidance? Regards Bryan |
AW: Re: Mess Emulator für diverse Schachcomputer ist fertig!
Hi Bryan,
Zitieren:
I guess the problem is in the plugin system, which is just not prepared for continuing a saved game - whenever a plugin is started, it assumes to start a new game and just doesn't know that Winboard and/or the engine have loaded a previously saved position. This would certainly require some serious changes in the plugin system itself (init.lua), but that's something which only the original author of the LUA plugins (Sandro Ronco) could do - I just don't have enough experience with his basic plugin system (and also not with LUA). Regards, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Zitieren:
Danke dafür, ich hatte schon angefangen die sexpertb, sexpertc1 ... zu verunstalten. Aber Deine Lösung liegt ja eigentlich auf der Hand. Danke hierfür und vor allem für die cb-emu! Grüße Frank |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Zitieren:
https://www.schachcomputer.info/foru...8&postcount=18 |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Zitieren:
|
| Alle Zeitangaben in WEZ +1. Es ist jetzt 07:39 Uhr. |
Powered by vBulletin (Deutsch)
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
©Schachcomputer.info