|
|||||||||||
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 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 |
Folgender Benutzer sagt Danke zu Moonshine für den nützlichen Beitrag: | ||
kamoj (23.11.2023) |
|
|||||||||||
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 |
Folgender Benutzer sagt Danke zu für den nützlichen Beitrag: | ||
kamoj (02.12.2023) |
|
|||||||||||
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 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 |
Folgende 2 Benutzer sagen Danke zu Moonshine für den nützlichen Beitrag: | ||
kamoj (02.12.2023) |
|
|||||||||||
AW: Codeanalyse
Hannes |
Folgende 2 Benutzer sagen Danke zu Moonshine für den nützlichen Beitrag: | ||
kamoj (03.12.2023) |
|
|