Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Schachcomputer / Chess Computer: > Die ganze Welt der Schachcomputer / World of chess computers


Antwort
 
Themen-Optionen Ansicht

  #1  
Alt 22.11.2023, 19:31
user_2141
Gast
 
Beiträge: n/a
Aktivitäten Langlebigkeit
0/20 0/20
Heute Beiträge
sssssssss
AW: Codeanalyse

Hallo Hannes,

Ich öffne auf meiner Linux-Maschine eine Kommandozeile und gehe ins Verzeichnis wo "CB-Emu.exe" liegt.

Dort gebe ich den Befehl
"wine CB-Emu.exe -debug fscc9a1"
ein.

"fscc1a" ist in der letzen CB-Emu-Version der Name für das Sensory 9-1.6MHz-Gerät.

Auf einer Windows-Machine sollte es ähnlich gehen, einfach ohne "wine", also:
"CB-Emu.exe -debug fscc9a1"

Du siehst dann neben dem Brett eine Debug-Konsole. Die Anleitung dazu steht in "https://docs.mamedev.org/" unter "Mame Debugger".

Man kann sich dann z.B. auch in Echtzeit den RAM-Inhalt anzeigen lassen.
Allerdings habe ich mir bis jetzt noch keinen Reim darauf machen können, wie das Brett und die Figuren kodiert sind. Vielleicht findest du das raus.

Hans

 Zitat von Moonshine Beitrag anzeigen
Hallo Hans,

kannst Du mir bitte Näheres zu dieser Debugger-Umgebung sagen? Das würde mich auch sehr interessieren.
Danke und Lg

Hannes

Geändert von user_2141 (22.11.2023 um 19:51 Uhr)
Mit Zitat antworten
Folgender Benutzer sagt Danke zu für den nützlichen Beitrag:
kamoj (22.11.2023)
  #2  
Alt 22.11.2023, 19:52
Benutzerbild von Mychess
Mychess Mychess ist offline
MACH III
 
Registriert seit: 07.03.2009
Beiträge: 128
Bilder: 3
Abgegebene Danke: 201
Erhielt 266 Danke für 110 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
4/20 16/20
Heute Beiträge
0/3 ssssss128
Re: AW: Codeanalyse

 Zitat von Hans21 Beitrag anzeigen
Hallo Hannes,

Allerdings habe ich mir bis jetzt noch keinen Reim darauf machen können, wie das Brett und die Figuren kodiert sind. Vielleicht findest du das raus.

Hans
Hello Hans,
Code:
0x0060 : 10 11 12 13 14 15 16 17  white pawns
0x0068 : 01 06 02 05 00 07 03 04  white pieces
0x0070 : 60 61 62 63 64 65 66 67  black pawns
0x0078 : 71 76 72 75 70 77 73 74  black pieces 
                                 
         00 01 02 03 04 05 06 07 
0x0080 : 0c 08 0a 0e 0f 0b 09 0d 
0x0090 : 00 01 02 03 04 05 06 07 
0x00A0 : 00 00 00 00 00 00 00 00 
0x00B0 : 00 00 00 00 00 00 00 00 
0x00C0 : 00 00 00 00 00 00 00 00 
0x00D0 : 00 00 00 00 00 00 00 00 
0x00E0 : 10 11 12 13 14 15 16 17 
0x00F0 : 1c 18 1a 1e 1f 1b 19 1d
In 0x80, 0c (0x80 + 00)
In 0x60+0c, 00

Perhaps you need :

0x0320 : 00 00 00 00 00 00 00 00 white pawn type
0x0328 : 02 02 0a 0a 08 08 06 04 white piece type
0x0330 : 01 01 01 01 01 01 01 01 black ...
0x0338 : 03 03 0b 0b 09 09 07 05 black ...


Cordially
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu Mychess für den nützlichen Beitrag:
kamoj (22.11.2023), Moonshine (22.11.2023)
  #3  
Alt 22.11.2023, 21:58
user_2141
Gast
 
Beiträge: n/a
Aktivitäten Langlebigkeit
0/20 0/20
Heute Beiträge
sssssssss
AW: Codeanalyse

Great. Now I see it (see below). Thanks, Hans

CB-Emu-debugger-memory-dump of "fscc9a1" in start position:

0000: 00 00 70 FF 20 00 00 00 00 00 34 14 00 00 FF FF ..p. .....4.....
0010: 0C 64 44 01 00 00 0C 20 00 00 E4 00 00 00 00 00 .dD.... ........
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0060: 10 11 12 13 14 15 16 17 01 06 02 05 00 07 03 04 ................
0070: 60 61 62 63 64 65 66 67 71 76 72 75 70 77 73 74 `abcdefgqvrupwst
0080: 0C 08 0A 0E 0F 0B 09 0D 00 80 10 00 01 00 00 00 ................
0090: 00 01 02 03 04 05 06 07 00 00 00 0C 20 00 00 FF ............ ...
00A0: 80 80 80 80 80 80 80 80 00 70 00 08 10 08 68 C2 .........p....h.
00B0: 80 80 80 80 80 80 80 80 88 02 0B 20 00 00 00 00 ........... ....
00C0: 80 80 80 80 80 80 80 80 00 00 00 00 00 00 01 00 ................
00D0: 80 80 80 80 80 80 80 80 00 00 00 00 00 00 00 00 ................
00E0: 10 11 12 13 14 15 16 17 14 34 00 00 14 34 00 00 .........4...4..
00F0: 1C 18 1A 1E 1F 1B 19 1D 00 00 00 00 00 00 00 00 ................
Mit Zitat antworten
Folgender Benutzer sagt Danke zu für den nützlichen Beitrag:
kamoj (22.11.2023)
  #4  
Alt 22.11.2023, 22:22
Moonshine Moonshine ist offline
Super System III
 
Registriert seit: 25.07.2010
Land:
Beiträge: 14
Abgegebene Danke: 28
Erhielt 21 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
4/20 15/20
Heute Beiträge
0/3 sssssss14
AW: Codeanalyse

 Zitat von Hans21 Beitrag anzeigen
Hallo Hannes,

Ich öffne auf meiner Linux-Maschine eine Kommandozeile und gehe ins Verzeichnis wo "CB-Emu.exe" liegt.

Dort gebe ich den Befehl
"wine CB-Emu.exe -debug fscc9a1"
ein.

Hans
Hallo Hans,

danke, das funktioniert wunderbar! Werde mich damit mal ein wenig beschäftigen.
Wie das Brett dargestellt wird, hat Mychess schon beantwortet. Das sehe ich im Simulator auch sehr schön. Aber dieser Debug-Modus von CB-Emu ist wahrscheinlich brauchbarer.

Lg

Hannes
Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu Moonshine für den nützlichen Beitrag:
kamoj (22.11.2023)
  #5  
Alt 23.11.2023, 11:20
user_2141
Gast
 
Beiträge: n/a
Aktivitäten Langlebigkeit
0/20 0/20
Heute Beiträge
sssssssss
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
Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu für den nützlichen Beitrag:
kamoj (23.11.2023), Moonshine (23.11.2023)
  #6  
Alt 23.11.2023, 12:36
Moonshine Moonshine ist offline
Super System III
 
Registriert seit: 25.07.2010
Land:
Beiträge: 14
Abgegebene Danke: 28
Erhielt 21 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
4/20 15/20
Heute Beiträge
0/3 sssssss14
AW: Codeanalyse

 Zitat von Hans21 Beitrag anzeigen
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
Mit Zitat antworten
Folgender Benutzer sagt Danke zu Moonshine für den nützlichen Beitrag:
kamoj (23.11.2023)
  #7  
Alt 02.12.2023, 16:35
user_2141
Gast
 
Beiträge: n/a
Aktivitäten Langlebigkeit
0/20 0/20
Heute Beiträge
sssssssss
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
Mit Zitat antworten
Folgender Benutzer sagt Danke zu für den nützlichen Beitrag:
kamoj (02.12.2023)
  #8  
Alt 02.12.2023, 18:12
Moonshine Moonshine ist offline
Super System III
 
Registriert seit: 25.07.2010
Land:
Beiträge: 14
Abgegebene Danke: 28
Erhielt 21 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
4/20 15/20
Heute Beiträge
0/3 sssssss14
AW: Codeanalyse

 Zitat von Hans21 Beitrag anzeigen
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
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu Moonshine für den nützlichen Beitrag:
Hast8 (27.07.2025), kamoj (02.12.2023)
  #9  
Alt 02.12.2023, 19:08
user_2141
Gast
 
Beiträge: n/a
Aktivitäten Langlebigkeit
0/20 0/20
Heute Beiträge
sssssssss
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
Mit Zitat antworten
Folgender Benutzer sagt Danke zu für den nützlichen Beitrag:
kamoj (02.12.2023)
  #10  
Alt 03.12.2023, 09:57
Moonshine Moonshine ist offline
Super System III
 
Registriert seit: 25.07.2010
Land:
Beiträge: 14
Abgegebene Danke: 28
Erhielt 21 Danke für 11 Beiträge
Aktivitäten Langlebigkeit
4/20 15/20
Heute Beiträge
0/3 sssssss14
AW: Codeanalyse

 Zitat von Hans21 Beitrag anzeigen
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
Mit Zitat antworten
Folgende 3 Benutzer sagen Danke zu Moonshine für den nützlichen Beitrag:
Hast8 (27.07.2025), kamoj (03.12.2023)
Antwort


Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:47 Uhr.



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