Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Die ganze Welt der Schachcomputer / World of chess computers (https://www.schachcomputer.info/forum/forumdisplay.php?f=2)
-   -   Info: Codeanalyse (https://www.schachcomputer.info/forum/showthread.php?t=5611)

user_2141 23.11.2023 11:20

AW: Codeanalyse
 
Hallo Hannes,

Nur so der guten Ordnung halber:
Ich mache meine Experimente mit Ghidra und dem CB-Emu-Debugger mit der Maschinen-Version "fscc9a", also den ROMs 101-1034a01 und 101-1034b02.
(d.h. NICHT mit "fscc9a1".)

Das spielt eine Rolle beim Setzen von Breakpoints, Vergleichen von Code-Abschnitts usw.

Welche ROM-Version meine physische Maschine hat, weiss ich nicht. Aufgrund der Seriennummer (23303798) vermute ich ein Baujahr 1982 und damit eine ROM-Version wie "fscc9a" oder "fscc9a1".

Hans

Moonshine 23.11.2023 12:36

AW: Codeanalyse
 
Zitieren:

Zitat von Hans21 (Beitrag 121535)
Hallo Hannes,

Nur so der guten Ordnung halber:
Ich mache meine Experimente mit Ghidra und dem CB-Emu-Debugger mit der Maschinen-Version "fscc9a", also den ROMs 101-1034a01 und 101-1034b02.
(d.h. NICHT mit "fscc9a1".)

Das spielt eine Rolle beim Setzen von Breakpoints, Vergleichen von Code-Abschnitts usw.

Welche ROM-Version meine physische Maschine hat, weiss ich nicht. Aufgrund der Seriennummer (23303798) vermute ich ein Baujahr 1982 und damit eine ROM-Version wie "fscc9a" oder "fscc9a1".

Hans

Hallo Hans,

die Roms im fscc9a1 haben die gleichen Namen wie die des fscc9a. Ich habe die beiden ROMs mal verglichen und nur wenige Unterschiede gesehen, die ich allerdings nicht genauer untersucht habe. Aber natürlich sind dann gewisse Routinen an anderer Adresse zu finden. Die ersten 8kB ROM sind identisch.
Ich habe nun das Eröffnungsbuch des Sensory 9 in das Sargon 4.0 Rom kopiert und getestet. Es funktioniert dort einwandfrei, obwohl es in einem anderen Speicherbereich liegt. D.h. Im Buch gibt es keine absoluten Links (Verkettungen).
Ich bin noch dabei mir die Debugger-Möglichkeiten des CB-Emu anzusehen. Werde das jetzt auch mit der selben ROM-Version wie Du machen.

schöne Grüße

Hannes

user_2141 02.12.2023 16:35

AW: Codeanalyse
 
Hallo Hannes,

Im Moment komme ich mit der Interpretation der folgenden Tabelle nicht weiter.
Von C23E bis C267 gibt es eine Tabelle, die vom Zuggenerator verwendet wird ("fscc9a"):

C23E: 00 80
C240: 08 88 00 80 08 88 00 80 08 88 05 05 05 05 06 06
C250: 06 06 07 07 07 07 3C 3C 3C 3C 1E 28 28 1E 00 08
C260: 0F 15 1A 1E 21 23 24 24

Ich habe die Logik noch nicht verstanden.

Weisst du da mehr?

Schöne Grüsse, Hans

Moonshine 02.12.2023 18:12

AW: Codeanalyse
 
Zitieren:

Zitat von Hans21 (Beitrag 121814)
Hallo Hannes,

Im Moment komme ich mit der Interpretation der folgenden Tabelle nicht weiter.
Von C23E bis C267 gibt es eine Tabelle, die vom Zuggenerator verwendet wird ("fscc9a"):

C23E: 00 80
C240: 08 88 00 80 08 88 00 80 08 88 05 05 05 05 06 06
C250: 06 06 07 07 07 07 3C 3C 3C 3C 1E 28 28 1E 00 08
C260: 0F 15 1A 1E 21 23 24 24

Ich habe die Logik noch nicht verstanden.

Weisst du da mehr?

Schöne Grüsse, Hans

Hallo Hans,

ich habe mir die Tabelle eben mal angesehen und ein paar Versuche im CB-Emu-Debug-Mode vorgenommen.
Die Tabelle reicht von $C23E - $C255 und beinhaltet Adresslinks ins RAM. Von $C23E - $C249 sind die lower Bytes gespeichert, von $C24A - $C255 die dazugehörigen High-Bytes. Die Tabelle ist also 12 Einträge groß.
Leider werde ich auch nicht schlau daraus, was letztendlich in diesem Adressbereich während der Zuggenerierung gespeichert wird.
Ich habe auch bis jetzt noch keine Zugliste gefunden die im RAM stehen würde. Beim Sargon 2.5/3.0/3.5 habe ich die auf Anhieb gefunden. Ich denke, ich muss jetzt mal versuchen umzudenken :-).

Lg

Hannes

user_2141 02.12.2023 19:08

AW: Codeanalyse
 
Hallo Hannes,

Ich sehe u.a. bei 04A0 bis 04AF eine Byte-Folge, offenbar mit Felder- und Figuren-Codes, die sich nach jedem Zug ändern.

Hans

Moonshine 03.12.2023 09:57

AW: Codeanalyse
 
Zitieren:

Zitat von Hans21 (Beitrag 121817)
Hallo Hannes,

Ich sehe u.a. bei 04A0 bis 04AF eine Byte-Folge, offenbar mit Felder- und Figuren-Codes, die sich nach jedem Zug ändern.

Hans

Ja, die habe ich auch schon gesehen. Da finde ich aber immer nur das "von-Feld" (Ausgangsfeld) und die entsprechende Figur die gezogen hat, nicht das Feld wohin die Figur zieht. Ist das vielleicht irgendwie anders codiert?. Weiß noch nicht so genau. Bleibe dran...

Hannes

user_2141 03.12.2023 14:11

AW: Codeanalyse
 
Hallo Hannes,

Den aktuellen Zug sehe ich u.a. bei:

00E8: MOVE_FROM_FIELD
00E9: MOVE_TO_FIELD

Was ich gerne sähe, wäre eine Liste der vorausberechneten Züge.

Hans

kamoj 27.07.2025 13:06

Re: Codeanalyse
 
Ich habe mir den SC9-Code ein wenig angesehen und herausgefunden, dass die Option F5 nach dem Reset zwar implementiert, aber nicht dokumentiert ist.
Weiß oder vermutet jemand, was sie steuert?
/Lars

fhub 27.07.2025 14:19

AW: Re: Codeanalyse
 
Hallo Lars,
Zitieren:

Zitat von kamoj (Beitrag 133238)
Ich habe mir den SC9-Code ein wenig angesehen und herausgefunden, dass die Option F5 nach dem Reset zwar implementiert, aber nicht dokumentiert ist.
Weiß oder vermutet jemand, was sie steuert?

Option F5 ist Eröffnungstraining (Book Practice Mode) und ist in beiden Manuals (Deutsch und Englisch) beschrieben - hast Du wahrscheinlich übersehen. ;)

Grüße,
Franz

kamoj 27.07.2025 21:42

Re: Codeanalyse
 
Danke Franz, ich schrieb falsch, was ich meinte ist "H6", die nicht beschrieben ist!
(Siehe Code AT $EA57 (AND #$10) und $EA6D.)
Es tut mir leid für meinen Fehler, versuchen Sie mir zu verzeihen.
Wissen Sie, was H6 macht?
/Lars


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:20 Uhr.

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