Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Mess Emu & andere Emulationen / Mess Emu and other Emulations (https://www.schachcomputer.info/forum/forumdisplay.php?f=53)
-   -   MessEmu: Mess Emulator für diverse Schachcomputer ist fertig! (https://www.schachcomputer.info/forum/showthread.php?t=1448)

achimp 21.03.2019 19:23

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hi,

ist schon klar, daß Du hier nicht viel machen kannst - aber evtl. lesen hier ja auch MAME-Leute mit ;)

Ich habe bei meinem Gerät mal das ROM ausgelesen, allerdings kann mein E-Brenner den Typ (2332) nicht, hat nur einen generischen 2564 drin - damit bekomme ich immer abwechselnd 2K FF, dann 2K Code, wieder 2K FF und dann nochmal den Code. Der 2K große Code ist mit den ersten 2K aus dem MAME-ROM identisch - ich gehe daher davon aus, daß es nicht am ROM liegt.

Ich habe mal weitere Tests bzgl. Zufallsgenerator gemacht und ein anderes Netzteil mit genauerer Spannung (8V laut Handbuch). Beim Original-NT was ich zuerst verwendt habe haben die LEDs nur sehr schwach geleuchtet - ich denke er hat zu wenig Saft bekommen und sich dann ggf. anders verhalten.

Bei 10 Sek. zieht er auf E2E4 nun meist E7E5, ab und an auch D7D5 - andere Züge habe ich bei ca. 20 Versuchen nicht erhalten. Im Display ist fast immer nur der Zug zu sehen, den er dann auch macht - in der EMU sausen ja ständig andere Züge durchs Display.

Bei mir zeigt die EMU nach dem Programmstart erst auch einige Züge im Dislplay an - beim echten Gerät ist nur links unten eine LED an und der Rest ist dunkel.

Nach dem Booten kommt in der EMU immer folgende Fehlermeldung in einem Fenster: Error: missing interface for ccdelta1

Da das Teil auf Unterspannung scheinbar reagiert, könnte hier ggf. eine Fehlerquelle bei der EMU liegen - oder in der INI ist was falsch, wegen der Fehlermeldung...

Gruß
Achim

Zitieren:

Zitat von fhub (Beitrag 79505)
Hallo Achim,

erstmal danke für Deinen Test - ich dachte nicht, daß überhaupt jemand noch so ein Gerät hat, und dann auch noch funktionsfähig! :)

Machen kann ich da selbst leider gar nichts, ich hab auch keine Ahnung woran das liegen könnte.
Mögliche Ursachen dafür gibt es theoretisch viele: anderes ROM, fehlerhafte Emulation der F8-CPU, unterschiedliches Timing (zu 100% kann ja eine Emulation ohnehin niemals die exakte Taktfrequenz eines echten Gerätes haben, allein schon wegen der Alterung mancher Bauteile), usw. ...
Fehler im Treiber selbst kann ich mir allerdings bei einem so einfachen Gerät nicht recht vorstellen.

Wenn ich hier mit der Delta-1-Emulation genau Deine Bedingungen nachstelle, dann erhalte ich nach E2E4 eigentlich immer andere Gegenzüge, meistens D7D5 oder E7E5, aber manchmal auch B8C6 - also alles eigentlich im 'normalen' (und sinnvollen) Rahmen.

Was mich bei Deinen Ergebnisse eher wundert. ist daß er immer mit genau dem gleichen Gegenzug antwortet. Eigentlich hätte ich erwartet, daß er zumindest einen Zufallsgenerator einprogrammiert hat, denn sonst ist ja das Spielen mit dem Delta-1 ziemlich langweilig, wenn (bei gleicher Zeitvorgabe) immer die gleichen Züge kommen - Eröffnungsbuch hat er ja auch keines.

Wie auch immer, ich kann das sowieso nicht ändern, und wirklich stören tut mich das auch nicht, denn wer spielt denn heutzutage tatsächlich noch mit so einem schwachen Gerät. ;)

Grüße,
Franz


Mark 1 21.03.2019 19:24

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Hartmut

mit der Taste F9 und mehrmaligen Drücken erhöhst du den Frameskip. Damit läuft die Emulation noch schneller.

F10 stellt du auf Maximale Geschwindigkeit .Ein erneuter Tastendruck bringt es wieder auf Standard.

F11 siehst du dauerhaft die Geschwindigkeit der Emulation.

Gruß
Mark 1

fhub 21.03.2019 19:39

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Achim,
Zitieren:

Zitat von achimp (Beitrag 79511)
Bei mir zeigt die EMU nach dem Programmstart erst auch einige Züge im Dislplay an - beim echten Gerät ist nur links unten eine LED an und der Rest ist dunkel.
Nach dem Booten kommt in der EMU immer folgende Fehlermeldung in einem Fenster: Error: missing interface for ccdelta1

also diese beiden Dinge hängen zusammen und haben absolut nichts mit dem Problem der anderen Spielweise zu tun.
Die Fehlermeldung kommt einfach deswegen, weil für den Delta-1 kein Plugin existiert, man mit ihm also nicht über eine Schach-GUI spielen kann.
Und diese Züge im Display am Anfang kommen daher, weil Du diese Fehlermeldung ja mit der ENTER-Taste quittierst, und dieses Enter leider von MAME gleich an die Emulation weitergegeben wird, so als hättest Du die Enter-Taste des Delta-1 gedrückt - damit fängt der natürlich gleich zu rechnen an. Wenn Du die Fehlermeldung mit der Maus quittierst, dann passiert das nicht.
Zitieren:

Da das Teil auf Unterspannung scheinbar reagiert, könnte hier ggf. eine Fehlerquelle bei der EMU liegen - oder in der INI ist was falsch, wegen der Fehlermeldung...
Also wenn sogar Spannungsabweichungen das Spiel des Delta-1 beeinflußen, dann wundert mich nichts mehr - wie soll man denn so ein Gerät dann überhaupt emulieren? An der INI kann es jedenfalls nicht liegen, weil die Emulation selbst nicht von irgendwelchen INI-Einträgen abhängt.

Grüße,
Franz

fhub 22.03.2019 09:28

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Zitieren:

Zitat von Hartmut (Beitrag 79494)
@Franz. Eventuell kannst Du Deinem Paket die MameUI anstelle der Mame.exe beilegen (solange es unter Winboard sowieso nicht läuft, wäre das einfach bequemer von der Bedienung). Oder funktionieren die Emulationen da nicht?

Ok, ich hab jetzt entdeckt, daß doch auch MESS regelmäßig an die jeweils aktuelle MAME-Entwicklungsversion angepasst wird.
Daher habe ich jetzt auch in MESS-Chess wieder von MAME auf MESS umgestellt, womit in den Engine-Fenstern auch wieder diese Menüleiste oben verfügbar ist.

Konsequenterweise habe ich daher auch 'mame.exe' in 'messx.exe' umbenannt, und damit mußte ich natürlich auch einige Dateien (ini/reg/cfg/cmd) in den Arena- und Winboard-Verzeichnissen anpassen.
Außerdem habe ich für die 4 neuen Geräte, die nur direkt (jetzt mit 'messx.exe') aufrufbar sind, Dummy-Plugins gemacht, sodaß auch diese Fehlermeldung beim Start nicht mehr erscheint.

Die neue MESS-Chess_UCI+WB ist bereits online ...

Grüße,
Franz

CC 7 22.03.2019 20:18

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Zitieren:

Zitat von achimp (Beitrag 79511)
Hi,

Ich habe mal weitere Tests bzgl. Zufallsgenerator gemacht ...
Bei 10 Sek. zieht er auf E2E4 nun meist E7E5, ab und an auch D7D5 - andere Züge habe ich bei ca. 20 Versuchen nicht erhalten. Im Display ist fast immer nur der Zug zu sehen, den er dann auch macht - in der EMU sausen ja ständig andere Züge durchs Display.

Gruß
Achim

Auf Aktivschachstufe (30s) eröffnet mein Delta-1 ausschließlich mit 1. Sc3.

Sowohl 1. e4 als auch 1. d4 und 1. Sf3 werden bei 30s/Zug mit 1. ...d5 beantwortet.
Neben diesem Allroundzug greift er nach 1. e4 auch zu 1. ...Sf6.

Ob diese Zugvariation auf einen eingebauten Zufallsgenerator zurückzuführen ist - oder ob lediglich die Bewertung der beiden Antwortzüge gleich ist - wer weiß ?
Ein Eröffnungsbuch besitzt der Chess Champion Delta-1 sicher nicht - da war nur der Name super...;)

In diesem Zusammenhang eine kleine Reminiszenz, eine olle Quizfrage:
Wievieviele Halbzüge umfaßte die Eröffnungsbibliothek des ersten Schachprogramms der Spracklens, Sargon I ?

Gruß
Hans-Jürgen

PS: Lösung: 2

Mark 1 23.03.2019 14:32

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
1 Anhang/Anhänge
Hallo Community..

Ich habe da mal eine Technische Frage. Habe diese wunderbare Emulation auf
2 Rechner installiert . Etwas überrascht war ich von meinen x2950 gegenüber den älteren I7 970. Und zwar geht es um die Geschwindigkeit der Emulation von 5 Schachcomputern. Irgendwie kommt der X2950 nicht über 1427%.
Das der Rechner es schneller kann sieht man am Prestige. Hat jemand eine
Ahnung woran das liegen kann ? Soviel ich weiß kann man auf 10000% die Geschwindigkeit steigern. Vielleicht kommt daher der ominöse Wert 1427%.
weil er die 10000% übertrifft .Denn der x2950(1 core) ist definitiv schneller als der I7(1 core)

Viele Grüße
Mark 1

Tibono 23.03.2019 17:45

Re: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo,
versuchen Sie, 'Frameskip' auf Null zu setzen
Grüße,
Eric

Hartmut 23.03.2019 19:18

AW: Re: Mess Emulator für diverse Schachcomputer ist fertig!
 
Zitieren:

Zitat von Tibono (Beitrag 79536)
Hallo,
versuchen Sie, 'Frameskip' auf Null zu setzen
Grüße,
Eric

Öhm... wenns schneller gehen soll muss man Frameskip eher auf 10 setzen...

Mark 1 23.03.2019 21:54

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hi....

Zitieren:

Hallo,
versuchen Sie, 'Frameskip' auf Null zu setzen
Ja, ist halt so das die Geschwindigkeit wieder runter geht.
Bin etwas ratlos . Egal welche Emulation ich starte , bei 1427% ist Schluss :confused: Mal schauen was mein Laptop bringt.

Viele Grüße
Mark 1

Hartmut 24.03.2019 01:28

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Zitieren:

Zitat von Mark 1 (Beitrag 79533)
Hallo Community..

Ich habe da mal eine Technische Frage. Habe diese wunderbare Emulation auf
2 Rechner installiert . Etwas überrascht war ich von meinen x2950 gegenüber den älteren I7 970. Und zwar geht es um die Geschwindigkeit der Emulation von 5 Schachcomputern. Irgendwie kommt der X2950 nicht über 1427%.
Das der Rechner es schneller kann sieht man am Prestige. Hat jemand eine
Ahnung woran das liegen kann ? Soviel ich weiß kann man auf 10000% die Geschwindigkeit steigern. Vielleicht kommt daher der ominöse Wert 1427%.
weil er die 10000% übertrifft .Denn der x2950(1 core) ist definitiv schneller als der I7(1 core)

Viele Grüße
Mark 1

Naja, der x2950 ist im Single Core in etwa 40-50 % schneller als der i7 970 (je nach Anwendung verschieden). Diese Messung (Quelle cpu.userbenchmark.com) trifft in etwa das Ergebnis beim Prestige. Was mir gerade bei den niedrig getakteten Rechnern (wie eben Boris, Delta-1, etc) aufgefallen ist, ist die Tatsache, dass die Anzeige nicht unbedingt sehr genau ist. Wenn du hier genaue Ergebnisse willst, hilft nur mit der Uhr messen, ob die angezeigten Werte wirklich stimmen. Für mein CB-Emu Turnier habe ich das für jedes einzelne Gerät gemacht um die optimalen Einstellungen zu finden. Gib doch einfach mal dem Boris einige Stunden Bedenkzeit, stell ihn auf höchste Geschwindigkeit, und miss dann mal nach, wie weit die interne Uhr des Boris nach exakt 1 Minute deiner Systemuhr gelaufen ist. Dann kannst Du die exakte Geschwindigkeit für beide Geräte genau berechnen. Sind die gemessenen Werte und die angezeigte Emulationsgeschwindigkeit identisch? Ich mache jede Wette das nicht...

Mancher Code wird von AMD-Prozessoren etwas anders interpretiert als von Intel-Prozessoren, manchmal ist es auch einfach ein Anzeigeproblem. Da hilft wirklich nur genaues nachmessen. Ob beim Boris der i7 wirklich so schnell ist, wie angezeigt kannst du ja locker messen, wenn du einfach bei beiden Rechnern mal die maximale Geschwindigkeit laufen lässt und dann ein paar Züge auf den Emus ausführst. Antwortet der Boris hier beim i7 tatsächlich schneller oder suggeriert hier nur die Anzeige dass die Emu schneller läuft?

Manchmal liegt es auch daran, dass - auch wenn die Emu eigentlich nur auf einem Thread läuft - die Threads trotzdem aufgeteilt werden. Das mag - wenn es eigentlich eine 1-Kern-Anwendung ist - der eine Rechner effektiver handeln, der andere weniger effektiv. Um diesen Effekt auszuschalten starte mal Mess/Mame auf beiden Rechnern, öffne den Taskmanager, weise Mame jeweils einen bestimmten Kern auf hoher Priorität zu (da es nur ein Kern ist, kann man sogar die Priorität "Echtzeit" vergeben), damit er hier nichts aufteilen kann, und mach die Messung dann erneut. Mal sehen, was dann für Ergebnisse herauskommen.

Unter exakt diesen Bediungungen führe ich mein Emu-Turnier durch. Dadurch habe ich ziemlich exakte Werte bei der Emulation und damit auch exakte Werte welche Einstellungen für ein Spiel z.B. bei realen 30 sek Bedenkzeit oder 3 Minuten Bedenkzeit zu tätigen sind und kann ziemlich sicher sein, dass andere Tasks im Hintergrund die Emu nicht stören können. Will man noch mehr auf Nummer Sicher gehen, dann mal die Stromspareinstellungen in Windows und im Bios ausschalten (die manchmal den Prozessor runtertakten). Gerade bei den Emus schlagen die manchmal gnadenlos zu, wie ich teilweise erfahren musste. Gerade in den ersteb beiden Runden meines Turniers musste ich manche Partien mehrfach starten, bis wirklich alle Einstellungen am Compi optimal waren.

Mark 1 24.03.2019 05:43

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Hartmut...

Vielen Dank für die vielen Tipps.:top:
Werde mich gleich an die Arbeit machen und Kontrollieren.

Übrigens verhält sich mein Gaming Laptop (i7-8750H ) genauso.Auch er hat den Wert 1427% . Also Zufall ist das wohl nicht mehr.

Der i7 970 ist schneller in der Emulation und das deutlich.Ich kann zum Beispiel eine Matt Aufgabe eingeben und die Zeiten messen gegenüber
den x2950.

Habe den i7 970 kurzzeitig übertaktet auf 3.84 GHz . Mehr als 10000% wird dann nicht mehr angezeigt. Wollte mal schauen ob er dann auch 1427% anzeigt.

Der x2950 sowie der i7-8750H haben Windows 10 , während der i7 970 Windows 7 hat.

Viele grüße
Mark 1

Hartmut 24.03.2019 12:29

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Zitieren:

Zitat von Mark 1 (Beitrag 79550)
Hallo Hartmut...

Vielen Dank für die vielen Tipps.:top:
Werde mich gleich an die Arbeit machen und Kontrollieren.

Übrigens verhält sich mein Gaming Laptop (i7-8750H ) genauso.Auch er hat den Wert 1427% . Also Zufall ist das wohl nicht mehr.

Der i7 970 ist schneller in der Emulation und das deutlich.Ich kann zum Beispiel eine Matt Aufgabe eingeben und die Zeiten messen gegenüber
den x2950.

Habe den i7 970 kurzzeitig übertaktet auf 3.84 GHz . Mehr als 10000% wird dann nicht mehr angezeigt. Wollte mal schauen ob er dann auch 1427% anzeigt.

Der x2950 sowie der i7-8750H haben Windows 10 , während der i7 970 Windows 7 hat.

Viele grüße
Mark 1

Das deutet dann aber darauf hin, dass vor allem die Windows 10-Kisten da gebremst werden (ich weiss schon warum ich ein Betriebssystem immer laufen lasse, bis es dafür nix mehr gibt. Bei mir ist noch Windows 7 drauf, lach)

Wie gesagt, man muss die Zeiten wirklich von Hand messen um ein Anzeigeproblem auszuschließen. Ansonsten ist es wohl einfach so dass an den Windows-10 Geräten irgendwas die Emus ausbremst. Da fällt mir dann aber adhoc auch keine Lösung ein. Gib einfach mal ne Rückmeldung, wenn du meine ganzen Tips durch hast. Danach sehen wir weiter.

Mark 1 24.03.2019 13:19

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Hartmut

- Energie auf Höchstleistung (IM Bios wollte ich nicht rumspielen)
- Priorität Echtzeit und auch andere Einstellung
- Prozessortakt erhöht / erniedrigt (mit Ryzen Master)

was ich auch einstelle , es bleibt bei 1427% :rolleyes:
übrigens unter CB-EMU geht keins der Programme über 1427%
Denke auch das es an Windows 10 liegt.

Und zuletzt habe ich eine Matt Aufgabe den Boris lösen lassen.

Mein Boris Diplomat (der richtige) hatte eine Lösungszeit von ~ 31 min
X2950 ~ 2 min und 7 Sekunden (kommt einigermaßen hin bei 1427%)
I7 970 ~ 0 min und 25 Sekunden
mit einer Stoppuhr gemessen.



Viele Grüße
Mark 1

Hartmut 24.03.2019 15:51

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hm, das deutet dann aber wirklich auf Windows 10 als Übeltäter hin, zumindest, wenn die CB-Emu auf allen Geräten gleich installiert ist. Keine Ahnung ob und wie man das verhindern kann.

Zwischen CB-Emu und Mess.exe bzw. Mame.exe gibt es auch Unterschiede. So sind z.B. bei Franz CB-Emu einige Emus deutlich schneller. So kommt z.B. der Sensory Chess Challenger EP12 auf meinem alten AMD unter CB-Emu locker auf 10fache Geschwindigkeit, während er unter mess.exe bzw mame.exe gerade mal doppelt so schnell wie normal ist. Hier vermute ich allerdings, dass es vielleicht hilft die zusätzlichen Plugins für Winboard auszuschalten (hab ich noch nicht probiert).

In der dazugehörigen .lua-Datei scheint hier eine Schleife zu sein, die die blinkenden LEDs abfragt um herauszufinden ob der Computer noch rechnet. Könnte sein, dass dies die gesamte Emulation runterbremst, ist aber vermutlich nicht anders zu machen, wenn es mit Winboard vernünftig funktionieren soll. Allerdings scheinen hier auch einige ROMs unterschiedlich zu sein. So hat das ROM bei Franz keine Konfigurationseinstellungen, während bei mess.exe dieser CPU-Divider vorhanden ist. Im Moment komm ich aus dem Testen kaum mehr raus, lach...

fhub 24.03.2019 17:13

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Hartmut,
Zitieren:

Zitat von Hartmut (Beitrag 79571)
In der dazugehörigen .lua-Datei scheint hier eine Schleife zu sein, die die blinkenden LEDs abfragt um herauszufinden ob der Computer noch rechnet. Könnte sein, dass dies die gesamte Emulation runterbremst...

ich glaube nicht, daß das irgendwas ausmacht, denn das Plugin und mess sind getrennte Prozesse, d.h. auch wenn das Plugin irgendeine Pause macht, dann läuft trotzdem die Emulation weiter.
Zitieren:

Allerdings scheinen hier auch einige ROMs unterschiedlich zu sein. So hat das ROM bei Franz keine Konfigurationseinstellungen, während bei mess.exe dieser CPU-Divider vorhanden ist.
Nee, die ROMs sind schon die gleichen, aber CB-Emu, mess und messx sind 3 unterschiedliche Versionen, und z.B. zwischen CB-Emu (0.175) und mess (0.205) liegen 2 1/2 Jahre dazwischen - was das bei den ständigen MAME-Änderungen bedeutet, das kannst Du Dir ja ausmalen.

Z.B dieser CPU-Divider war in den früheren Versionen gar nicht vorhanden, dann hat ihn 'hap' eingebaut (weil er anscheinend in manchen Fidelity-Geräten vorhanden ist), und soweit ich das Ganze verstehe, sollen diese Geräte die CPU-Frequenz herabsetzen (eben um Faktor 2 oder 4), wenn das Schachprogramm gerade nichts zu tun hat.
Ich hab diesen neuen CPU-Divider (als 'hap' ihn implementierte) zuerst auch mal in CB-Emu eingebaut, habe dann aber festgestellt, daß damit die ganze Emulation langsamer läuft, und daher hab ich diesen Code aus CB-Emu wieder entfernt.
In mess ist das aber immer noch drinnen, weil ich an diesen neuen 0.205er-Sourcen eigentlich nichts mehr ändere (außer es ist unbedingt notwendig).

Übrigens, wenn jemand die beiden Boris-Geräte auch unter Winboard oder Arena probieren will - ich hab jetzt für die beiden auch Plugins geschrieben.
Die Codes für die LED-Anzeige (speziell die 16 Segmente beim normalen Boris) waren da noch das geringste Problem - bei dieser blinkenden Anzeige während des Rechenvorgangs im Plugin festzustellen, wann dieser denn nun beendet ist und der Zug aus der Anzeige abgelesen werden kann, das war echt der reinste Horror. Ich hab sicher mehr als ein Dutzend verschiedene Methoden probiert, und bin auch bei den jetzt verwendeten noch immer nicht 100% sicher, ob nicht doch sporadisch mal ein Zug aus der Anzeige gelesen wird, während Boris oder Boris Diplomat eigentlich noch am rechnen sind.

Na ja, versuchen kannst Du die beiden neuen Plugins ja mal - und falls Dir eine ganz clevere Methode einfällt, um das Ende der Rechenphase mit absoluter Sicherheit zu bestimmen (im Plugin natürlich!), dann nur raus damit ... ;)

PS: Hab noch zu erwähnen vergessen, daß man den Level für beide auch in der GUI einstellen kann, und zwar als Zeit/Zug im Format "hhmmss", also als maximal 6-stellige Zahl so wie man sie auch im Gerät einstellt (führende Nullen können dabei weggelassen werden).

Grüße,
Franz

Hartmut 25.03.2019 01:08

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Zitieren:

Zitat von fhub (Beitrag 79573)
Hallo Hartmut,

ich glaube nicht, daß das irgendwas ausmacht, denn das Plugin und mess sind getrennte Prozesse, d.h. auch wenn das Plugin irgendeine Pause macht, dann läuft trotzdem die Emulation weiter.

Nee, die ROMs sind schon die gleichen, aber CB-Emu, mess und messx sind 3 unterschiedliche Versionen, und z.B. zwischen CB-Emu (0.175) und mess (0.205) liegen 2 1/2 Jahre dazwischen - was das bei den ständigen MAME-Änderungen bedeutet, das kannst Du Dir ja ausmalen.

Hm, also es gibt ja letztlich nur 4 Möglichkeiten

1. Das Lua-Plugin. Du meinst dass es nicht wahrscheinlich ist, weil ja die Prozesse getrennt sind. Das ist jetzt aber die große Frage. Im Prozessmanager gibt es für das Plugin keinen eigenen Prozess. Er läuft also innerhalb des Mame/Mess-Prozesses. Insofern wird der ganze Prozess dadurch verlangsamt. Bei einfachen Abfragen kein Problem. Bei immer wieder durchlaufenen Schleifen kann es eventuell eines werden. Ich sage nicht, dass es in diesem Fall so ist, aber ich sehe eine gewisse Wahrscheinlichkeit dafür.

2. ROMs. OK, aber wenn es wirklich die gleichen sind, dann ist der Geschwindigkeitsabfall hier nicht zu suchen

3. Gerätetreiber in Mame/Mess. Wenn die Treiber in der CB-Emu und in Mess unterschiedlich sind, dann ist auch hier eine gewisse Wahrscheinlichkeit gegeben, dass der Grund für den Geschwindigkeitsabfall hier zu suchen wäre. Das Thema CPU-Divider ist hier auffällig. Und du hast ja selbst gesagt, dass das auch bei der CB-Emu die Verarbeitung verlangsamt hat. Ich vermute mal, dass diese Verlangsamung auch vorhanden war, wenn man den Divider auf nicht aktiv gestellt hat (ihn auf 2 oder 4 zu stellen ist ja nicht zwingend). Insofern wäre also dieser Treiber ein heisser Kandidat.

4. Mame/Mess selbst. Nö. Unwahrscheinlich. Denn in diesem Fall müsste das bei jeder Emulation auftreten. Es tritt aber nur bei einigen auf. So ist der EP12 unter Mess im Vergleich zur CB-Emu arschlangsam, während die meisten anderen Fidelitys (z.B. Sensory 9) gegenüber der Geschwindigkeit in der CB-Emu keinerlei Unterschiede aufweisen. Auffällig, der EP12 hat besagten Divider, der Sensory 9 nicht. Ich muss es mal mit anderen Geräten die diesen Divider drin haben austesten, aber ich denke das ist der heißeste Kandidat für die Performanceprobleme.

fhub 25.03.2019 09:20

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Hartmut,
Zitieren:

Zitat von Hartmut (Beitrag 79586)
Es tritt aber nur bei einigen auf. So ist der EP12 unter Mess im Vergleich zur CB-Emu arschlangsam, während die meisten anderen Fidelitys (z.B. Sensory 9) gegenüber der Geschwindigkeit in der CB-Emu keinerlei Unterschiede aufweisen. Auffällig, der EP12 hat besagten Divider, der Sensory 9 nicht.

also außer diesem CPU-Divider ist auch noch zu bedenken, daß die Gerätebezeichnungen (und die CPU-Frequenzen!) in CB-Emu und dem (neueren) Original-MAME nicht immer gleich sind.
Manche Schachcomputer habe ich damals ja früher in CB-Emu eingebaut (einfach weil ich das ROM schon hatte), bevor sie dann erst später von 'hap' in MAME übernommen wurden, und dabei hat er sie nicht immer gleich benannt wie ich - und das wollte ich in CB-Emu auch nicht unbedingt ständig ändern.
Und außerdem waren sich 'hap' und ich auch über die CPU-Frequenzen nicht immer ganz einig - ;)
Du mußt also schon genau schauen, ob Du auch tatsächlich die gleichen Modelle in CB-Emu und MESS vergleichst.

Grüße,
Franz

Hartmut 25.03.2019 15:00

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Zitieren:

Zitat von fhub (Beitrag 79594)
Hallo Hartmut,

also außer diesem CPU-Divider ist auch noch zu bedenken, daß die Gerätebezeichnungen (und die CPU-Frequenzen!) in CB-Emu und dem (neueren) Original-MAME nicht immer gleich sind.
Manche Schachcomputer habe ich damals ja früher in CB-Emu eingebaut (einfach weil ich das ROM schon hatte), bevor sie dann erst später von 'hap' in MAME übernommen wurden, und dabei hat er sie nicht immer gleich benannt wie ich - und das wollte ich in CB-Emu auch nicht unbedingt ständig ändern.
Und außerdem waren sich 'hap' und ich auch über die CPU-Frequenzen nicht immer ganz einig - ;)
Du mußt also schon genau schauen, ob Du auch tatsächlich die gleichen Modelle in CB-Emu und MESS vergleichst.

Grüße,
Franz

Das ist mir schon klar. Aber das schau ich mir natürlich bei solchen Tests schon sehr genau an. Aber selbst wenn die verwendete "Originaltaktfrequenz" sich vielleicht mal um 1-2 MHz unterscheidet. Wenn bei der CB-Emu (Einstellung Frameskip 10, Geschwindigkeit Max) die CB-Emu auf über 900 % geht während bei selber Einstellung Mame/Mess unter Winboard bei 160% rumdackelt, dann wird es vermutlich eher nicht daran liegen, dass sich "hap" und Du nicht über die Originaltaktfrequenz einig waren.

Im Fall des genannten EP12 habe ich natürlich geprüft ob es sich um das richtige Gerät handelt (gibt ja mehrere, die man unter EP12 auflisten kann, oder wo schon wegen der 12 Verwechslungsgefahr besteht: RCS Granit EP 12, Excellence EP12 Fidelity Sensory Chess Challenger 12. Letzterer dürfte allerdingst nicht mit EP 12 identisch sein). Das schnellste dieser Geräte, der RCS liegt im Original bei 6,5 MHz, der Rest tummelt sich bei 3 oder 4 MHz, bei ansonsten nahezu identischem Prozessor. Da darf man schon davon ausgehen, dass hier keine Verwechslung mehr stattgefunden hat. Maximale Geschwindigkeit bei 160 % wenn ich ansonsten einen 6502 locker auf 60 MHz emulieren kann ist eigentlich so gut wie unmöglich. Selbst wenn ich unter CB-Emu einen MM IV mit Turbo-Kit emuliere komme ich bei Maximalgeschwindigkeit auf ca. 350 %. Also ganz egal was da in Mess unter EP12 gelistet sein mag: Wenn da maximal 160 % gehen, dann ist was faul. Die Frage ist nur was.

Aber du kannst es ja selber mal ausprobieren wie es sich bei Dir verhält. Spätestens seit der Messung von Mark 1 weiter unten wissen wir ja, dass die Mess/Mame-Dinger schon unter verschiedenen Windows-Versionen bezüglich der Geschwindigkeit einige seltsame Kapriolen schlagen.

fhub 26.03.2019 10:03

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hi,

ich hätte mal eine technische Frage zum RAM an die Hardware-Experten:
was passiert eigentlich mit den Bits&Bytes im RAM, wenn der Schachcomputer aus- und wieder eingeschaltet wird?

Gestern hat nämlich 'hap' den Treiber für den Novag Delta-1 nochmals geändert, nachdem ich ihn über die 'seltsame' Spielweise der letzten Version dieser Emulation informiert habe, und dieses neue Update scheint jetzt tatsächlich korrekt zu funktionieren.

In der Ur-Version dieses Treibers war das RAM des Delta-1 durch MAME automatisch auf 0x00 initialisiert, aber damit hat sich die Emulation häufig 'aufgehängt'.
Dann hat 'hap' das komplette RAM mit 0xff initialisiert, womit die Abstürze verschwunden waren, allerdings machte der Delta-1 damit ziemlich unübliche Züge, völlig anders als das echte Gerät (laut Achim's Tests).
Und gestern hat er dann schließlich das RAM beim Start mit Zufallswerten gefüllt, und nun scheint der Delta-1 richtig zu funktionieren.

Ich würde natürlich gerne verstehen, warum das nun mit diesen zufälligen Werten im RAM anscheinend klappt - als Hardware-Laie habe ich nämlich folgende Vorstellung, was mit dem RAM nach aus- und wieder einschalten passiert, aber das würde diesen Zufallswerten widersprechen:
1) dynamisches RAM: verliert nach dem Ausschalten seinen Inhalt, und daher sind nach dem Wieder-Einschalten alle Bytes auf 0x00 gesetzt (oder auf 0xff?)
2) statisches RAM: da bin ich mir nicht sicher - entweder geht da (ohne Batterie-Pufferung) auch der Inhalt verloren wie beim dynamischen RAM, oder er bleibt erhalten (?)
3) NVRAM (non-volatile RAM): da bleiben die Bytes natürlich erhalten, ich weiß aber nicht, ob das nur mit Batterie-Pufferung geht oder auch ohne.

Da der Delta-1 keine Batterie hat, fällt Punkt 3) schon mal aus, und ich tippe auch eher auf Punkt 1) (d.h. dyn. RAM), weil das damals vermutlich üblich war.
Vorausgesetzt dieses neue Treiber-Update funktioniert jetzt wirklich korrekt, dann würde das bedeuten, daß meine Vorstellung vom dynamischen RAM falsch ist, und die Bytes im RAM beim Einschalten des Gerätes tatsächlich völlig zufällige Werte haben.

Kann mich da vielleicht jemand kompetent aufklären? ;)

Grüße,
Franz

Hartmut 26.03.2019 13:47

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Normalerweise hat das RAM beim Einschalten tatsächlich den Wert 0. Die Frage ist halt, ob beim Starten des Gerätes irgendetwas initialisiert wird (z.B. Programm vom ROM ins RAM schreiben, Initialisierung mit zufälligen Werten, Initialisierung mit bestimmten Werten, etc.).

Was nun genau beim Originalgerät passiert weiss ich natürlich nicht. Ich nehme auch an, dass es beim Reverse Enginieering nur schwer möglich ist, herauszufinden, was genau das Programm beim Einschalten da macht. Aber deine Vorstellung vom DRAM stimmt schon. Wie gesagt, die Initialisierung des Speichers am Anfang ist ja bereits eine Art Programm, das beim Einschalten automatisch abläuft (vergleichbar mit dem BIOS beim PC). Aber was da bei den entsprechenden Geräten geschieht... wenn das anhand der verfügbaren ROMs nicht nachvollziehbar ist, wird es schwer. Ist aber interessant dass diese Initialisierung so einen Effekt hat. Normalerweise ist das komplette Beschreiben des RAMs am Anfang ja nichts anderes als ein Speichertest soweit nicht ein bestimmter anderer Zweck verfolgt wird (wie eben ROM-Inhalt ins RAM kopieren).

fhub 26.03.2019 14:05

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Hartmut,
Zitieren:

Zitat von Hartmut (Beitrag 79625)
Normalerweise hat das RAM beim Einschalten tatsächlich den Wert 0.

vor kurzem hat mir auch 'hap' im MECA-Forum darauf geantwortet, und anscheinend sind von 'alles 0x00' über 'alles 0xff' bis 'alles zufällig' tatsächlich alle Varianten möglich und auch üblich, das hängt einfach von den RAM-Bausteinen ab (man kann also sogar nach fast 40 Jahren Computererfahrung immer noch etwas Neues lernen! :))

Ich hab dieses RAM in der Delta-1-Emulation ja schon vor einiger Zeit im MAME-Debugger gecheckt, und dabei festgestellt, daß die ersten 128 RAM-Bytes (von insgesamt 256) beim Start ohnehin mit bestimmten Werten gefüllt werden (z.B. Brettstellung usw.), da spielt also eine Extra-Initialisierung keine Rolle mehr.
Die zweiten 128 Bytes scheinen allerdings tatsächlich von Bedeutung zu sein: beinhalten sie nur 0x00-Bytes, dann kommt's sporadisch zum Crash, bei 0xff-Bytes spielt er nicht wie das Original, und nur bei irgendwelchen anderen, zufälligen Werten funtioniert er anscheinend korrekt.
Das kann ich mir eigentlich nur so erklären, daß das Programm beim Start diese 128 (zufälligen!) Bytes aus dem RAM einliest und daraus vermutlich eine Startzahl für den Zufallsgenerator produziert - andernfalls wären diese Bytes beim Start ja irrelevant, denn im Laufe des Rechnens werden sie vom Programm dann ja schrittweise überschrieben (wahrscheinlich mit den jeweils gerade untersuchten Varianten).
Genau analysieren kann ich dieses ROM-Programm leider nicht, weil ich die F8-Assemblersprache nicht beherrsche.

Grüße,
Franz

fhub 26.03.2019 14:27

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hi,

da nach dem letzten Treiber-Update nun auch er Novag Delta-1 anscheinend korrekt funktioniert, habe ich nochmals eine neue MESS-Chess-Version hochgeladen.

Für das Plugin des Delta-1 mußte ich mir nochmals eine neue Methode überlegen, um das Ende der Rechenphase zu erkennen, und diese neue Methode funktioniert jetzt sicher - daher habe ich sie nun auch für die beiden Boris-Geräte verwendet.

Außerdem hab ich auch dem Intellekt-02 ein Plugin spendiert, aber da dieses Gerät eine völlig perverse Art zur Ein- und Ausgabe der Rochade hat, müßte man für diese Spezialzüge sogar das Hauptplugin 'init.lua' komplett umschreiben, und das wäre den Aufwand nicht wert. Man kann also damit selber spielen (wenn man bei Rochaden selbst Hand anlegt), aber für automatische Partien gegen andere Engines taugt das Plugin nicht. Allerdings dürfte dieses exotische Gerät (das ein Klon des Fidelity CC3 sein soll) ohnehin kaum jemanden interessieren.
(Übrigens, beim Novag MK1 hat man genau das gleiche Problem bei einer eigenen Rochade, d.h. auch der eignet sich nicht für ein Engine-Match)

Und schließlich gibt's jetzt auch noch einen 'CompuChess' in der Liste (hab ganz übersehen, daß 'hap' den vor kurzem eingebaut hat), aber dieses Gerät ist vom ROM-Programm her absolut identisch zum Novag MK1 - also auch nicht wirklich neu.

So, ich hoffe das war's dann für längere Zeit mit neuen MESS-Chess-Versionen - ;)
außer es hat noch jemand vielleicht einen korrekten ROM-Dump vom Fidelity CC1 (dem angeblich allerersten Schachcomputer überhaupt)?
Den Treiber dafür hat 'hap' inzwischen ja schon geschrieben, nur war das ROM, das 'Berger' hatte, leider fehlerhaft, sodaß diese CC1-Emulation noch nicht funktioniert.

Grüße,
Franz

Mark 1 26.03.2019 15:13

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Franz...

Kurz und bündig :top:

Viele Grüße
Mark 1

Tibono 27.03.2019 13:34

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo,

Novag Delta-1-Emulation: ich habe im Handbuch gelesen, das Zug "en passant" vom Gerät gesteuert wird. Aber weiß mit dem Emulator zu spielen, 10 Sekunden Level, 1.e2-e4 d7-d5 2.e4xd5 Ergebnisse ist "? ?".

Achim, vielleicht kannst du das mit deinem echten Gerät testen?

Und übrigens, das Timing der Delta-1 Emulation erscheint langsam, vielleicht +40% (natürlich auf 100% Geschwindigkeit eingestellt).

Grüße,
Tibono

fhub 27.03.2019 14:20

AW: Mess Emulator für diverse Schachcomputer ist fertig!
 
Hallo Tibono!
Zitieren:

Zitat von Tibono (Beitrag 79645)
Novag Delta-1-Emulation: ich habe im Handbuch gelesen, das Zug "en passant" vom Gerät gesteuert wird. Aber weiß mit dem Emulator zu spielen, 10 Sekunden Level, 1.e2-e4 d7-d5 2.e4xd5 Ergebnisse ist "? ?".

Hmm? Also bei mir kommt als Ergebnis 2... e7-e6 aber nicht "? ?".
Und wo siehst Du denn hier einen 'en passant'-Zug???
Zitieren:

Und übrigens, das Timing der Delta-1 Emulation erscheint langsam, vielleicht +40% (natürlich auf 100% Geschwindigkeit eingestellt).
Wie kommst Du auf diese 40% Geschwindigkeit?

Grüße,
Franz


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.

Powered by vBulletin (Deutsch)
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
©Schachcomputer.info