Tritus.Rocks

Tuning

Die Maschine

Intern ist der C=64 ähnlich einer virtuellen Maschine, denn alle programmierbaren Bauteile sind fest in den Adressraum der CPU eingebunden. Eine unmittelbare Beschädigung der echten Hardware durch zum Beispiel fehlerhaften Code oder korrumpierte Daten ist so garnicht leicht möglich. Sowohl direkte Hardwareleitungen zu Steuerelementen als auch komplexere Schaltungen auf die internen Register der einzelnen Chips sind so ganz einfach in den Adressraum verlinkt und ohne weiteres technisches Wissen erreichbar.

Das bedeutete für das Beispiel von Seite drei, in dem am SID Chip einmal die Lautstärke voll aufgedreht wurde, dass ich mich nicht darum kümmern muss ChipSelect zu aktivieren oder in den Schreibmodus zu schalten. Auch die fünf Adressleitungen zu den internen Registern des SID Chip sind von der programmierbaren Seite im C=64 aus so garnicht vorhanden. Es gibt einfach für alle SID Register festgelegte Speicherstellen im normalen Adressraum. Den Rest der komplizierten Feinarbeit erledigt jedesmal die Maschine routinemäßig selbst. Dem Beispiel nach würde ich den Wert $0f (eine Hexadezimalzahl für 00001111) in die Speicheradresse $d418 (Link zum Register 11000 im SID) schreiben. Fertig!

Das scheint doch erstmal eine gute Nachricht, und angesichts des Alters dieser klassischen Computer ist es das auch, denn es gibt keine Hinweise darauf, dass je ein Commodore 64 durch irgendeine Software beschädigt werden konnte, was vielleicht auch nicht so im Zentrum der Bemühungen stand, aber eben auch, dass unwissendes Programmieren je dazu geführt haben könnte einen physischen Schaden am Computer selbst anzurichten. Normalerweise ist Maschinensprache in der großen Computerwelt dafür sehr bekannt schon bei kleinsten Fehlern genau dieses Potential frei zu entfalten. Für alle, die also nicht auf diese Gefahr verzichten wollten, ist das eine eher schlechte Nachricht. Es wäre ja garkeine radikal echte Maschinensprache.. Mi Mi Mi.. nein, ist es nicht. Um einen C=64 kaputt zu machen, musst Du schon so etwas wie einen Hammer nehmen.

Vor allem, da die unterschiedlichen Modelle, die im Laufe der Zeit auf den Markt geworfen wurden, besonders die Nachfolgemodelle, keine identischen Hardwarebausteine haben, ist es auf diese Weise ganz leicht möglich, dass sie wie ein und dieselbe Maschine programmiert werden können. Die Computer wurden im Laufe der Zeit von Commodore selbst immer wieder überarbeitet, verbessert, vereinfacht, verkleinert, verbilligt. Trotzdem funktionieren sie alle gleich.

Diese typischen Bausteine sind:

Das sind die berühmten Chips mit ihren trivialen Namen. Als kleiner Funfact, über die CPU läuft unsinnigerweise tatsächlich noch ein Tonbandgerät zur Datenspeicherung - die Datasette ist quasi der Blinddarm - etwas, das wirklich da ist, egal ob es da ist, obwohl es kein Mensch jemals wirklich braucht. Das Zeugnis dafür, wie wenig irgendwer damit gerechnet hatte, dass diese Maschine nach locker.. in Worten.. vierzig Jahren immernoch aktiv lebt, während ich das allerschärfste Gerät vom letzten Jahr schon für ein neues verschrottet habe.