![]() |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hallo Markus,
Zitieren:
send_input(":KEY", 0x20, 0.25) -- FCT send_input(":KEY", 0x20, 0.25) -- FCT send_input(":KEY", 0x40, 0.25) -- ENT send_input(":KEY", 0x80, 0.25) -- CL Das Problem mit MHz und Reset-State löst das allerdings auch nicht. Grüße, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hallo Franz,
Danke für den Code. Nein, das Problem mit dem Reset State wird dadurch nicht gelöst, aber so kann ich den Code einfügen und habe immer das Turnierbuch an und benötige den reset state nicht. viele Grüße Markus |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hallo Markus,
Zitieren:
Ich hab mich jetzt nochmals genauer mit diesen beiden Problemen (Unverträglichkeit zwischen Reset-State und MHz-Datei, sowie zu schnell laufenden Engines in CB-Emu) beschäftigt, und konnte tatsächlich beides lösen. Ein Reset-State wird jetzt immer zuerst geladen (falls vohanden), und erst dann die CPU-Frequenz geändert, falls das in einer MHz-Datei so eingestellt ist. Damit lassen sich also jetzt wirklich irgendwelche gewünschten Einstellungen mit 'Save Reset State' speichern, und diese dann auch mit verschiedenen Geschwindigkeiten in der MHz-Datei benutzen. Bei MessChess muß man noch beachten, daß danach auch noch das Plugin ausgeführt wird, d.h. dieses stellt evt. nochmals einen anderen Level ein, als in der Reset-Datei abgespeichert (das hängt vom Plugin ab). Das Problem in CB-Emu mit den zu schnell laufenden Uhren war einigermaßen kurios: erstens hatte das nichts mit mit der CPU-Frequenz (in der MHz-Datei) zu tun, sondern mit 'Framskip 10', und außerdem betrifft es nur die Mephisto-Engines im Treiber 'mmodular' sowie RISC I/II (in messuix). Diese alten (und katastrophal programmierten) Treiber schalten nämlich bei Frameskip=10 plötzlich auf maximale Geschwindigkeit um (so als hätte man Speed=Unlimited eingestellt) - keine Ahnung warum!? Das habe ich dadurch gelöst, daß bei diesen Engines in CB-Emu jetzt Frameskip nur auf 9 (statt 10) gesetzt wird, und man auch den Wert 10 selber gar nicht mehr einstellen kann - damit ist jetzt auch in CB-Emu für diese Mephisto-Geräte die MHz-Datei verwendbar. Grüße, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hallo Franz,
jetzt habe ich mir soviel Arbeit mit dem Lua Script gemacht und dann kommst Du mit einer Lösung, unfassbar :rolleyes: Nein im Ernst. vielen Dank mal wieder für Deinen tollen Service viele Grüße Markus |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hallo Markus,
Zitieren:
Aber ich konnte einfach nicht akzeptieren, daß ich mir mit den beiden Extra-Features 'Reset-State' und 'MHz-Einstellung' so viel Mühe gemacht habe, und dann funktionier(t)en die beiden einfach nicht zusammen! Grüße, Franz |
Re: Mess Emulator für diverse Schachcomputer ist fertig!
Neuer romdump von Sean: Tryom Electronic Chess.
Even though it has a similar interface to Compuchess/CCMK1, the rom is completely different. https://i.imgur.com/1W28WMe.png |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
1 Anhang/Anhänge
Hallo Franz..
Da wird es bald wieder ein Update geben :) Hab wieder was gefunden. Und zwar Rebel-X Prototype Portorose / auch TurboKit. Nach einigen Zügen gibt es immer wieder Geisterzüge. Gruß Mark 1 |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hallo Mark,
Zitieren:
Zitieren:
Danke für die Info - geändertes Plugin ist im Anhang ... Grüße, Franz |
Re: Mess Emulator für diverse Schachcomputer ist fertig!
By the way, I was hoping that Tryom Electronic chess had similarities with SciSys's early F8 chesscomputers (like Chess Traveler/Pocket Chess). But the rom isn't similar to it.
The reason I hoped for it, is because I assume Tryom was affiliated with SciSys. See here: https://www.chessprogramming.org/MCC_1980 Tryom represented SciSys/Novag for the Super System III. And also this one: https://patents.google.com/patent/US4223893 It's a patent for a backgammon computer with sensory board (filed in 1975! 1 year after the 6800 cpu was introduced) After Tryom went defunct, the rights were transfered, see: "1983-08-15 Assigned to SCISYS-W, LTD." |
AW: Re: Mess Emulator für diverse Schachcomputer ist fertig!
Hi hap,
in your previous 'ssystem3' driver there was a hack (or workaround) that you have removed yesterday. Is this hack now obsolete because of any other recent changes in the MAME system (6522?), or is it also no longer necessary even in the older driver versions (0.220-0.245)? Regards, Franz |
Re: Mess Emulator für diverse Schachcomputer ist fertig!
It's because of recent changes to the 6522 chip emulation.
|
AW: Re: Mess Emulator für diverse Schachcomputer ist fertig!
Zitieren:
|
AW: Re: Mess Emulator für diverse Schachcomputer ist fertig!
Hi,
Zitieren:
Wie schon vermutet mußte ich Treiber und Layout etwas ändern, damit sie in der alten MAME-Version 0.220 funktionieren. Auch beim Plugin hat sich wieder mal meine Erfahrung bestätigt: je primitiver das Gerät, desto aufwändiger die Erstellung eines Plugins. :( Zumindest kann man bei dieser Engine die Seite bzw. Farbe beliebig ändern, und damit war es auch sinnvoll, den 'Setup- und Edit-Modus' einzubauen. Leider gibt es (wie bei vielen anderen auch) keine Möglichkeit, den Rechenvorgang vorzeitig abzubrechen - mit CE sollte man es nicht versuchen, denn damit hängt sich das Geräte komplett auf! Die konkreten Zeiten für die 8 Levels sind leider auch nirgendwo beschrieben. Zum Glück gibt es bei Alain Zanchetta ein Handbuch, denn ohne das wäre man nicht einmal in der Lage, überhaupt eine Partie zu beginnen - am besten verwendet man diese Engine aber in MessChess, denn hier besorgt das Plugin den umständlichen Startvorgang. Einen schönen Sonntag, Franz |
Re: Mess Emulator für diverse Schachcomputer ist fertig!
I'll ask Sean about the lock-up bug, see if it happens on the actual handheld.
*edit* same bug happens on real handheld. |
AW: Re: Mess Emulator für diverse Schachcomputer ist fertig!
Zitieren:
What about 'ignoring' the CE key while the engine is thinking? One other thing: Today I got an email asking for an emulation of a chess hardware project similar to the AVRmax - here's the link: https://www.quinapalus.com/picblitz.html Do you know this project? Although the hardware is quite simple and everything is documented on this website (PCB diagram, software downloadable), but I don't think that the used microcontroller (PIC16F628A) is emulated in MAME. |
Re: Mess Emulator für diverse Schachcomputer ist fertig!
Sure, it should be possible to add a workaround to block the CE button. But in MAME's case, I'll keep the bug. Even though it's a really bad bug, it is accurate emulation.
PIC16F628A is not emulated. Maybe the same cpu family as this: https://github.com/mamedev/mame/blob.../pic16c62x.cpp |
AW: Re: Mess Emulator für diverse Schachcomputer ist fertig!
Zitieren:
With the debugger I saw that m_inp_mux is 0x70 while the program is thinking, and in this state all (white) keys in the left column have no effect (except this buggy CE which causes a crash). So I just ignore ALL these keys (incl. CE) by adding the following line in read_inputs() before the 'return data;': :) if (m_inp_mux == 0x70) data &= 0xfe; |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Apropos PICblitz, für den PIC16F628A, ich habe mich letztes Jahr ausführlich in den ASM Code von Quinapalus vertieft und eine Version mit 7-Segment LED-Display, Keypad-Entry und zahlreichen Erweiterungen programmiert. Evtl poste ich dann mal mein Resultat. War jedenfalls sehr lehrreich, in nur 3,5kB ROM und 176Bytes RAM ein relativ gut spielendes Schachprogramm kennenzulernen...
Schön, gibt's wieder mal ein neuer Oldie .. ;) Gruss, Michael |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hi,
ich habe noch ein paar Korrekturen in CB-Emu gemacht: 1) Der Programm-Bug in der letzten Tryom-Engine ist beseitigt (kein Crash mehr, wenn man während der Berechnung CE drückt). 2) Bei den GGM-Modulen hat die externe Änderung der CPU-Frequenz nicht funktioniert: dabei wurde auch die Timer-Frequenz geändert, sodaß die Uhr zu schell lief, was praktisch einfach einer Erhöhung der Emulationesgeschwindigkeit entsprochen hat und damit nutzlos war. Das ist jetzt korrigiert. Allerdings funktionieren nur die neueren Module Capablanca und Steinitz bei höherer Frequenz, alle anderen Module liefern dabei nur Müll im Display und sind damit unbrauchbar (das kann ich leider in MAME auch nicht ändern). 3) Bei einigen Plugins waren noch Ergänzungen bei der Bauernumwandlung nötig: manche Geräte haben nämlich eigene Tasten für die weißen und schwarzen Figuren, was bisher nicht berücksichtigt war. 4) Und die max. Frequenz von 500MHz hat manchen anscheinend nicht genügt - ich hab das Limit jetzt auf 1000MHz erhöht. Bei normalen PCs sind allerdings so hohe Frequenzen derzeit nicht realistisch (vielleicht irgendwann später einmal) - wenn es jemand trotzdem versuchen will und bei ihm dann die CPU den Geist aufgibt, dann werde ich jedenfalls keinen Schadenersatz leisten! :D Grüße, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hi,
der Vollständigkeit halber auch hier nochmals das Plugin-Update für dieses seltsame Verhalten der Saitek SuperStar/TurboStar-Engines bei Eingabe einer Stellung mit Schwarz am Zug, das ich im BearChess-Thread beschrieben habe. Grüße, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hi,
es gibt wieder ein paar Änderungen bzw. Ergänzungen in CB-Emu: 1) Arena hab ich jetzt standardmäßig auf das UCI-Protokoll umgestellt (läßt sich aber bei Bedarf mit der Datei 'WB.bat ' jederzeit wieder ändern). 2) Bei einigen Mephistos (I/II/III/MMI/Junior/Mirage) habe ich in den Layouts/Artworks die überflüssigen Punkte bei den LCD-Ziffern entfernt. 3) Und schließlich gibt's jetzt einen neuen Tab 'Chess_ELO' in der linken Spalte, in dem alle Engines nach Elo-Bereichen gelistet sind. Eigentlich wollte ein User, daß diese Elo-Ratings direkt in der Engine-Liste von CB-Emu/MessExtra angezeigt werden sollten, aber das hätte umfangreiche Änderungen im MESSUI-Sourcecode erfordert, und außerdem wäre dann bei irgendwelchen Änderungen dieser Werte immer wieder eine komplette Neukompilierung nötig gewesen. Die Lösung mit einer zusätzlichen Datei 'folders\Chess_ELO.ini' ist da wesentlich einfacher und läßt sich auch leichter ändern oder ergänzen. Falls jemand diese neue Liste (bzw. den Tab) nicht benötigt, dann braucht er nur die erwähnte Datei löschen. Die Elo-Ratings stammen übrigens aus den Engine-Infos der Schachcomputer.info-Wiki bzw. der Wiki-Elo-Liste (und entsprechen den Werten in der Datei 'Programs.txt' in CB-Emu), sind allerdings schon etwas älter, weil ich keine Lust habe, diese Werte alle paar Monate für hunderte Engines zu ändern. Falls jemand gravierende Fehleinschätzungen bei diesen Elo-Werten findet, dann bitte einfach hier melden - allerdings sind solche Werte für diese alten Schachcomputer ohnehin nur sehr grobe Schätzungen. ;) Grüße, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hi,
anscheinend gab's noch Probleme in MessChess bei Durchführung eine Engine-Matches in Verbindung mit einem Reset-State - das hat mir jedenfalls Dirk in einem Email so geschildert. Daher habe ich jetzt nochmal das Zusammenspiel von Reset-State, MHz-Einstellung und LUA-Plugin in MessChess komplett überarbeitet, und soweit ich es beurteilen kann, funktioniert das jetzt auch gut (jedenfalls bei meinen Versuchen als 'Match/Turnier-Laie' ;)). Ich hab also jetzt eine neue Testversion (nur 'MessChess.exe' und 'init.lua', 11MB) hier hochgeladen: Link nach neuer CB-Emu-Version entfernt! Vielleicht will es ja jemand mit mehr Erfahrung in Engine-Matches ausprobieren, bevor ich diese Änderungen in eine neue offizielle CB-Emu-Version übernehme!? Im Prinzip sollte man bei so einem Engine-Match für alle beteiligten Engines ('engineXY') folgende Schritte durchführen: 1) falls eine geänderte CPU-Frequenz gewünscht ist, dann die entsprechende Datei 'mhz\engineXY.mhz' anlegen (oder einfach 'MHz.ini' verwenden, wenn alle Engines mit der gleichen Frequenz laufen sollen). 2) die Engine direkt starten und alle gewünschten Einstellungen vornehmen (z.B. Level, Selektivität, Buch usw.) 3) diesen Zustand dann mit 'Save Reset State' abspeichern. Nachdem man das für alle Engines gemacht hat, kann man das Match oder Turnier starten. Kritisch ist eigentlich immer nur der Start einer neuen Partie, und zwar darf die Engine ihren 1.Zug natürlich erst dann ausführen, wenn (bzw. nachdem) ein evt. vorhandener Reset-State auch schon geladen wurde, andernfalls würde dieser 1.Zug von der Reset-Datei ja wieder 'gelöscht' werden und die Partie würde an dieser Stelle bereits abgebrochen. Das war bis jetzt eben manchmal genau das Problem, sollte jetzt aber durch Änderungen in MessChess und im Plugin 'init.lua' (hoffentlich) behoben sein. Was passiert also jetzt genau in welcher Reihenfolge, wenn eine Partie (z.B. in einem Match) gestartet wird? 1) zuerst wird die CPU-Frequenz eingestellt, falls eine MHz-Datei vorhanden ist. 2) dann werden die Befehle der Funktion 'interface.setup_machine()' im Engine-Plugin ausgeführt (z.B. irgendwelche notwendigen Initialisierungen). 3) danach wird ein evt. vorhandener Reset-State geladen, der die Engine dann auf die in der Reset-Datei gespeicherten Einstellungen setzt. 4) schließlich bekommt die Engine nun den Befehl zum Ziehen (wenn sie Weiß hat) oder den ersten Zug der anderen Engine übermittelt (falls sie Schwarz hat). Zwei Dinge sollte ich vielleicht noch erwähnen: a) Beim allerersten Start einer Engine wird eine vorhandene Reset-Datei 2-mal geladen (also nicht wundern über die 2-malige Popup-Meldung), das läßt sich nicht ändern und stört aber auch nicht. b) Wenn eine Reset-Datei UND eine MHz-Datei verwendet wird, dann erscheint nur die Popup-Meldung für den Reset-State ("State successfully loaded."), nicht aber die Meldung für die MHz-Einstellung ("Modified CPU frequency!"). Es wird natürlich trotzdem die eingegebene Frequenz korrekt eingestellt, was man ja ohnehin auch in der Titelzeile des Enginefensters erkennen kann. Edit: 2 Dinge hab ich noch vergessen: Eine geänderte MHz-Einstellung wird nicht im Reset-State gespeichert, d.h. die CPU-Frequenz kann immer nur durch eine MHz-Datei geändert werden. Und auch eine evt. 'Speed'-Einstellung (xxx %) wird nicht im Reset-State, sondern in der jeweilgen ini-Datei der Engine gespeichert. So, jetzt bin ich mal gespannt, welche Rückmeldungen ich über diese Testversion bei Engine-Matches bekomme - falls da jetzt noch immer irgendwelche Probleme auftreten sollten, dann wäre ich nämlich endgültig am Ende mit meinem Latein ... :( Grüße, Franz |
Re: AW: Mess Emulator für diverse Schachcomputer ist fertig!
Zitieren:
Der blinkende Läufer ist eine Matt-in-5-Ansage. Ein MessChess Plugin Fix ist zu erwarten! Ich wäre Ihnen dankbar, wenn Sie mir die .pgn für die fehlgeschlagenen Conchess-Partien schicken würden. Zitieren:
|
AW: Re: AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hi,
Zitieren:
Gestern hatte ich nun endlich eine Lösung gefunden, die eigentlich alle Fälle abdecken sollte - die funktioniert nun aber leider dann wieder nicht mehr, wenn die Umwandlung gleichzeitig ein Schlagzug ist. Also alle 3 Dinge (eventuelle Mattanzeige, Schlagzug und Umwandlungsfigur) gleichzeitig unter einen Hut zu bringen, ist kaum möglich - ich bezweifle, daß ich dafür noch eine Lösug finde. :( Grüße, Franz |
AW: Mess Emulator für diverse Schachcomputer ist fertig!
Hi,
jetzt hab ich es doch noch geschafft, daß die Bauernumwandlung bei den Conchess-Engines funktioniert, und zwar jetzt tatsächlich unter allen möglichen Bedingungen. Das war eine schwere Geburt - dieses Plugin rühre ich in Zukunft mit Sicherheit nicht mehr an! Grüße, Franz |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr. |
Powered by vBulletin (Deutsch)
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
©Schachcomputer.info