4. Der Debugger
Ein Debugger wird von Maschinencode-Kennern benutzt um Objektcode direkt im Speicher
zwecks Fehlersuche, Veränderungen und Verbesserungen zu bearbeiten. In der Umgebung
eines Freezers hat das besondere Vorzüge, allerdings auch ein paar prinzipbedingte
Nachteile, die sich durch die richtige Arbeitsweise umgehen lassen.
Der größte Vorzug ist zweifellos der, daß mit dem eingefrorenen
Systemzustand gearbeitet werden kann. Es entsteht dabei der Eindruck. quasi mit einem
zweiten Atari in den ersten, gestoppten Atari "hineinsehen" und ändern
zu können, wobei der Stop jederzeit wieder aufgehoben werden kann. Debugger
ohne Freezer haben hier mit schwierigen Problemen zu kämpfen, da sie allein
durch ihren Eigenbedarf an RAM und Ein-/Ausgabeaktionen den Systemzustand laufend
verändern. Der Fachausdruck dafür ist "trashen", was für
"zu Müll verwandeln" steht.
Ein normaler Debugger braucht für seine eigene Funktion RAM und trasht die Informationen,
die das zu bearbeitende Programm dort abgelegt haben kann. Selbst wenn der Debugger
aufwendiger ausgestattet ist (durch eigenen RAM) trasht er immer noch die Hardwareregister
von ANTIC, POKEY und GTIA. Die OS-Shadows ignorieren die Player-Missile Graphik und
die Sounderzeugung und werden von vielen Programmen sowieso deaktiviert. Durch die
getrashten Hardwareregister ist ein Wiederstart eines Programms in der Regel nur
nach sehr mühseliger Kleinarbeit, wenn überhaupt, möglich. Abgesehen
davon bieten Debugger ohne Freezer keine Möglichkeit, die (nicht lesbaren!)
Hardwareregister auszulesen, man kommt also an die hineingeschriebenen Werte auch
dann nicht heran. wenn das Register vom Debugger nicht getrasht worden ist.
Mit dem im TURBO-FREEZER XL eingebauten Debugger kommt man an alle Informationen
über den Systemzustand heran. Die Hardwareregisterinhalte (der echte Inhalt,
nicht die zurückgegebenen Statuswerte) können im I/0 Bereich gelesen und
auf Wunsch geändert werden, ohne Abstürze befürchten zu müssen,
da sich die Änderungen ja nur auf das eingefrorene Programm beziehen! Ebenso
kann beliebig im gesamten RAM-Bereich gearbeitet werden (auch unter den OS-ROMs),
ohne daß irgend etwas getrasht wird oder abstürzt.
Hinzu kommen verschiedene Vorzüge. die sich aus der Arbeitsumgebung des TURBO-FREEZER
XL ergeben. Mit den Lade- und Speichermöglichkeiten für eingefrorene Programme
und den DOS-Funktionen können Änderungen ohne lange Umladerei sofort ausprobiert
und bei Bedarf auch mühelos wieder rückgängig gemacht werden. Wiederspenstige
Codemonster, die beim Laden Teile des DOS überschreiben und sich auf herkömmliche
Weise kaum bearbeiten lassen verlieren ihre. Schrecken.
Ein paar Nachteile gibt es allerdings auch. Dadurch, daß mit dem eingefrorenen
Systemzustand gearbeitet wird, Änderungen also erst nach dem Auftauen Wirkung
zeigen, wird es umständlich, z.B. in der Ram-Disk zu arbeiten. Nach dem Auftauen
befindet sich das Programm wieder in voller Aktion, dadurch ist ein Start an einer
anderen Stelle als dem Einfrierpunkt in einigen Fällen erst nach sorgfältigem
Abschalten über die eingefrorenen Hardwareregister möglich.