Einzelnen Beitrag anzeigen
  #745  
Alt 15.12.2013, 13:32
fhub fhub ist offline
Lebende Foren Legende
 
Registriert seit: 19.04.2010
Beiträge: 2.846
Abgegebene Danke: 562
Erhielt 6.850 Danke für 1.551 Beiträge
Aktivitäten Langlebigkeit
5/20 15/20
Heute Beiträge
1/3 sssss2846
AW: Mess Emulator für diverse Schachcomputer ist fertig!

So, jetzt habe ich wieder einen Punkt in meiner Todo-Liste abhaken können, und zwar habe ich das Problem gelöst, daß für die beiden Modelle B&P und MM2 der 'Soft Reset' nicht (bzw. erst nach 2-maligem Aufruf) funktioniert hat.

In MESS 147 hat dieser SoftReset noch funktioniert, ab 148 nicht mehr, und die Ursache für diesen Bug scheint irgendwie mit dem IRQ-Aufruf beim SoftReset zusammenzuhängen, denn da wurde in 148 eine Menge umgestellt. Leider kann ich diese Änderungen nicht mehr zurücknehmen, denn damit würde fast alles andere nicht mehr funktionieren.
Da ich mich mit diesen Hardware-Dingen (wie NMIs oder IRQs) kaum auskenne, habe ich das Problem auf ganz andere Weise gelöst, und zwar mit folgendem Trick:
Ich habe für B&P und MM2 jeweils eine Status-Datei 'reset.sta' abgespeichert (mit dem Zustand jeweils direkt nach dem Modul-Start), und nun lade ich automatisch diese Datei wann immer man einen 'Soft Reset' bei diesen beiden Modulen aufruft - damit funktioniert der SoftReset praktisch wieder genauso wie erwartet.

Dieser Bugfix hat mich nun aber gleich noch auf eine andere Idee gebracht:
da die Funktion 'Save State As ...' im Menü 'File' derzeit ja nutzlos war (gleiche Funktion wie 'Save State'), habe ich diese Option entfernt und durch 2 neue ersetzt, und zwar gibt's jetzt dort ein 'Load Default State' und 'Save Default State'!
Diese beiden neuen Optionen funktionieren gleich wie 'Load State' und 'Save State', nur daß dabei als Dateiname 'default.sta' (im Status-Verzeichnis des jeweiligen Moduls) verwendet wird. Somit kann man also nun zusätzlich noch einen beliebigen 'Default'-Status für jedes Modul abspeichern (z.B. nachdem man bestimmte Einstellungen wie Level etc. geändert hat), und diesen Status mit 'Load Default State' wieder herstellen - damit muß man nicht immer beim Laden eines Moduls wieder die gleichen Änderungen (z.B. Level einstellen) vornehmen.
(die normalen Funktionen 'Load/Save State' können unabhängig davon natürlich weiterhin benutzt werden, wenn man z.B. eine Partie abbricht und später fortsetzen will)

Ok, hier das neue Update - das Verzeichnis 'sta' (incl. Unterverzeichnisse und Dateien) muß mit-entpackt/kopiert werden, sonst funktioniert mein 'SoftReset'-Bugfix für B&P und MM2 nicht!

Update: nun mit 'Save/Load State' für ALLE Modelle!
CB-Emu_upd11.zip

Jetzt enthält meine Todo-Liste nur mehr 2 Einträge, und zwar die Vereinfachung von Schlagzügen bei den Holzbrett-Modellen, sowie ein 'angenehmeres' Blink-Intervall der Brett-LEDs bei manchen Modellen.
Ich befürchte allerdings, daß daraus kaum etwas wird, denn das Problem mit den Schlagzügen dürfte wohl am Unterschied zw. Drucksensor- und Magnetsensor-Feldern liegen, d.h. die Holzbrett-Modelle (mit Magnetsensoren) erwarten vermutlich wirklich 2 Aktionen, nämlich ein Entfernen der geschlagenen Figur UND das Ausführen des Schlagzuges (auch wenn im aktuellen CB-Emu die Reihenfolge egal ist). Wenn das so ist, dann kann ich mir eine Lösung kaum vorstellen, man müßte dann diese 2.Aktion (d.h. 2 zusätzliche Mausklicks am PC) simulieren.
Und auch das hysterische LED-Blinken mancher Module zu ändern wäre nicht ungefährlich, denn damit könnte sich auch das restliche Zeitverhalten ändern, und damit die Module nicht mehr in 'echter' Geschwindigkeit spielen - also werde ich wohl eher die Finger davon lassen.

Grüße,
Franz

Geändert von fhub (16.12.2013 um 15:44 Uhr)
Mit Zitat antworten
Folgende 6 Benutzer sagen Danke zu fhub für den nützlichen Beitrag:
germangonzo (15.12.2013), Jo (15.12.2013), Mythbuster (15.12.2013), Novize (15.12.2013), Robert (16.12.2013), Theo (15.12.2013)