Nach langer Zeit fand ich endlich mal Zeit den Comic-Shooter XIII zu testen. Nachdem ich nach dem Intro schon auf den weiteren Verlauf der Geschichte gespannt war, machte mir den Segen der Technik einen Strich durch die Rechnung. Das Spiel stürzte im ersten Level wiederholt mit einem Illegal Access Error ab. Zunächst würde man denken, kein Problem, es gibt ja Altavista, Google und Co. Nach dann doch etwas längerer Suche fand ich den entscheidenden Tipp. XIII scheint mit selbstmodifizierendem Code zu arbeiten. Ich hatte zwar gewusst, dass der Software-Renderer der verwendeten Unreal-Engine das nutzt, sonst sieht man dies aber doch eher selten. Die kollidiert natürlich mit der in Windows XP SP 2 eingeführten Data Execution Prevention (XIII), die auf unterstützten CPUs, bei mir einer AMD X2 3800+, defaultmäßig aktiv ist. Der eigentliche Sinn der Data Execution Prevention ist die Sicherheit des Systems zu erhöhen, denn normallerweise ändert eine Programm nicht seinen eigenen Befehlsabfolge sondern arbeitet auf Daten die nicht als Teil des Programms ausgeführt werden sollen. Geschieht dies doch ist dies meistens ein Hinweis darauf, dass ein Angreifer versucht hat einen Programmfehler auszunutzen um eigene Befehle auszuführen. DEP soll dies verhindern. Um auch Programme zu unterstützen die auf die Möglichkeit sich selbst zu umzuschreiben angewiesen sind gibt es aber die Möglichkeit diese für einzelne Programme abzuschalten. Nicht dem radikalen vorgeschlagenen Weg folgend DEP komplett abzuschalten fügt ich in den DEP-Einstellungen (zu finden über Arbeitsplatz>Einstellungen) eine Ausnahme für XIII hinzu. Leider half dies allerdings noch nicht. Eine alte Windows-Wahrheit bewahrheitete sich mal wieder. Egal was du umstellst und egal was Windows sagt, anschließend immer Neustarten. Nach einem Neustart allerdings konnte ich XIII endlich genießen. Ärgerlich, hätte ich XIII bei seinem erscheinen gespielt hätte ich auf meiner damaligen CPU (AMD 1400) diese Problem nicht gehabt, jetzt wo es schon alle möglichen Patches für XIII gab hat mich dann meine Hardware dran gehindert. Eigentlich sollte es ja andersrum sein ;).