Ich weiß, wie das kommt. AAAAAAAAAALLLSOOO:snoer hat geschrieben:Da fehlt $00/8002 und $00/8003! Dann sind da mehrere diesee jump befehle. Unter dem ersten. Die zeigen allesamt auf adressen, die 'fehlen'.. zu guter letzt finde ich auch nirgendwo im code einen befehl der auf diesen block zeigt also aif $80B9
alles sehr mysteriös ':)
Du erinnerst dich, dass ich ganz zu Anfang meines Maggifixes sagte: Der Prozessor kann Grafikdaten nicht von Code unterscheiden, und wenn du ihn darauf steuerst, würde er das als Code interpretieren und irgendeinen Unsinn machen (z. B. eine entlegende Kommune im Uralgebirge als Stadtstaat vom Russischen Mutterland lösen, oder auch das Spiel aufhängen).
Du hast dem Dingens gesagt: Von hier bis hier möchte ich den Code disassembled haben. Also los!
Der Geiger dachte sich: Gut, fange ich an. Er hat den ersten Byte genommen, geguckt, was für ein Befehl das ist und wie viele Argument-Bytes dabei sind. Dementsprechend hat er dann den nächsten Byte danach genommen und das ganze Prozedere wiederholt.
Die Sache ist: Wenn da jetzt z. b. eine Grafik oder eine Tabelle oder sonstwelche Daten dazwischen wären, würde er die auch disassemblen. Das alleine wäre nicht schlimm. Schlimm ist, dass er verrutschen könnte. Dass er nämlich ab der Stelle, wo der Code wieder beginnt und der erste Byte einen Befehl darstellt, er diesen Byte - aufgrund des vorhergegangenen - als Argument interpretiert und die nachfolgenden Argumente wiederum als Befehl. Das ganz sich immer eine ganze Weile hinziehen, bis er sich wieder "eingerenkt" hat.
Meine Empfehlung: Arbeite erstmal mit Log-Files. Damit kriegst du den Anfangspunkt raus, siehst den "Fluss" des Programms und umgehst diese Interpretationsfehler.
Und überhaupt: Zeig doch mal her, was du schon disassembled hast. Würde mich interessieren, inwieweit mein "Schüler" Fortschritte gemacht hat.


