Einzelnen Beitrag anzeigen
  #706  
Alt 03.12.2013, 15:19
fhub fhub ist offline
Lebende Foren Legende
 
Registriert seit: 19.04.2010
Beiträge: 2.857
Abgegebene Danke: 567
Erhielt 6.914 Danke für 1.560 Beiträge
Aktivitäten Langlebigkeit
5/20 15/20
Heute Beiträge
1/3 sssss2857
AW: Mess Emulator für diverse Schachcomputer ist fertig!

Hallo wieder mal!

Ich habe jetzt auch das von Robert geschilderte Problem mit der Tastaturbelegung beim B&P-Modul gelöst - das war wirklich ein Sisyphus-Arbeit!
Ich mußte dazu im Sourcecode eine komplett neue Tastentabelle anlegen, weil ja kein anderes Mephisto-Modul die gleiche Tastatur wie der B&P besitzt, und zusätzlich mußte ich auch noch das Artwork-Layout ändern - also eine solche Arbeit brauche ich so schnell nicht wieder.

Und weil ich schon dabei war, habe ich auch gleich für die anderen Mephisto-Module ein paar zusätzliche Tasten hinzugefügt: so kann man jetzt in allen Modulen [ENT] mit der 'Enter'-Taste ausführen, und was noch wichtiger ist, die Tasten [CL/CLR/CLEAR] lassen sich nun auch mit 'Del' oder 'Backspace' auf dem PC-Keyboard aufrufen.

Nun, da bliebe jetzt nur noch dieses Doppel-SoftReset-Problem beim MM2 und B&P, aber das treibt mich schön langsam zur Verzweiflung. Ich glaube ich habe jetzt schon 100 verschiedene Dinge ausprobiert, aber nichts funktioniert. Leider sind die Sourcen ja auch so gut wie gar nicht dokumentiert, und so bin ich eben aufs Herumprobieren angewiesen.
Allerdings habe ich dabei wenigstens folgendes herausgefunden:
Beim MM2 und B&P (und nur bei diesen!) führt jeder SoftRest erstmal dazu, daß nichts mehr geht, und zwar sogar sofort nach dem Starten der Module - erst ein zweiter SoftRest-Aufruf führt wirklich zum eigentlichen Reset. Ein weiterer macht das Modul wieder unbenutzbar, nach dem nächsten Aufruf geht's wieder - also so als ob mit jedem SoftReset irgenwas aus- und wieder ein-geschaltet würde!?
Falls irgendjemand eine Idee dazu hat - nur her damit ...

Bei der Analyse des Sourcecodes (zu diesem SoftReset-Problem) ist mir nun aber noch etwas ganz anderes aufgefallen:
Im Treiber für den Rebel5 (in 'mephisto.c') hat sich in der Adresstabelle vermutlich ein Fehler eingeschlichen - siehe folgende 2 Zeilen:
AM_RANGE( 0x3000, 0x3007) AM_READ(read_keys) // Rebel 5.0
AM_RANGE( 0x3000, 0x4000) AM_READ(mboard_read_board_8) // Chessboard
Der Adressbereich 0x3000, 0x4000 in der 2.Zeile kann definitiv nicht richtig sein, denn erstens dürfen sich die Adressbereiche natürlich nicht überlappen (und das tun diese beiden Zeilen), und zweitens ist der Adressbereich für 'mboard_read_board_8' in allen anderen Modulen immer nur 1 Byte groß und nicht wie hier 4096 Bytes!
Ich hab zwar keine Ahnung wie oder wo man diese RAM/ROM-Adressen herbekommt, aber mein gesunder Hausverstand (sprich: meine Computer- und Programmier-Erfahrung) sagt mir, daß der Bereich in der 2. Zeile nur 0x4000, 0x4000 heißen kann.
Ich habe das also für den Rebel 5 im Treiber auf diesen 'logischeren' Bereich geändert, und habe bisher keinerlei Probleme beim Spielen festgestellt - falls jemand doch irgendwelche neuen Probleme im Rebel 5 entdeckt, dann laßt es mich wissen.
Ich kann mich auch erinnern, daß damals bei den Diskussionen bzgl. 'Messtiny' über irgendwelche Probleme eben beim Rebel 5 gesprochen wurde - vielleicht ist bzw. war ja gerade dieser Adresskonflikt schuld daran!?

Ok, hier also mein nächstes Update (diesmal auch mit neuem Artwork):
CB-Emu_upd6.zip

Grüße,
Franz

Geändert von fhub (03.12.2013 um 15:26 Uhr)
Mit Zitat antworten
Folgende 6 Benutzer sagen Danke zu fhub für den nützlichen Beitrag:
Jo (03.12.2013), Lecter (08.05.2016), Mapi (03.12.2013), Robert (03.12.2013), Supergrobi (04.12.2013), Theo (03.12.2013)