timing

Für die folgenden Gedanken habe ich Informationen aus der monatlichen MagicDisk von 1990 dem IRQ Kurs dort und dem Assemblerkurs dieses Jahres als Grundlage, außerdem von Wikipedia und dem sehr hilfreichen C64Wiki. Diese Quellen vermitteln in ihrem Kontext schon genug Allgemeinwissen, das bei besonderem Interesse auch durch Verweise auf bekennende Urheberinnen und Urheber zurückverfolgt werden kann.

Jetzt muss man aber aus diesen fremdartigen Gedanken auch erstmal was individuell anwendbares machen. Das Stichwort lautet hier IRQ, und ich muss sagen, ich komm mit der Vorstellung immernoch nicht wirklich klar, obwohl ich schon Programme abgetippt und nachgetippt habe, deren Code ich auch inzwischen recht gut verstehe, zumal das nicht allzu schwer fällt, wenn es vernünftig erklärt wird.

Aus heutiger Sicht finde ich die Arbeitsweise eines C64 auf der einen Seite wunderbar intuitiv, aber auf ein oder zwei anderen Seiten wirklich verwirrend, gerade was das sichere Timing betrifft, und ohne Timing ist Musik nur die Ansammlung von Geräuschen. Musik gestaltet Raum und Zeit.

Tja, da fangen die Probleme an. Wenn ich eine Gitarre anschlage, ist die zeitliche Gestaltung eines Klanges leicht. Ich muss sie halt am besten mehrmals rhthmisch anschlagen, das liegt schon im Gefühl. Die Saite schwingt und klingt aus, ihre physikalische Umgebung leistet dabei sehr viel bei der zeitlichen Gestaltung des Klanges, eigentlich spielen so viele Faktoren mit hinein, dass ich schon sehr früh spaßhaft angefangen habe Akkustik mit der Raumfahrt zu vergleichen. Witzigerweise misst die Physik im weitgehend leeren Raum des Weltalls kaum einen bzw. meistens garkeinen Klang.

Ok, in der Cyberwelt gibt es nichts dergleichen. Klar besteht auch diese Cyberwelt aus physikalischen Bauteilen, von außen betrachtet haben diese Bauteile wie der SID einen deutlichen Klangcharakter, erzeugen ein Bild wie der VICII oder nehmen Informationen auf wie die CIA Zwillinge, intern ist davon nichts vorhanden, hier müssen Daten, Bytes, eine Umgebung, in der Klang oder Farbe entstehen kann, erst gestalten. Dafür stehen Register zur Verfügung, die diese Bytes aufnehmen und verarbeiten können. Die meisten dieser Register liegen hier im Adressbereich des RAM.

Und das ist schon eine eher intuitive Besonderheit eines C64 im Vergleich zu anderen Computern der aktuellen PC Reihe, alles lässt sich hier ganz leicht über das RAM steuern. Ich lese und schreibe aus und in ein statisches RAM mithilfe des MONITORS einem Programm, das nichts weiter macht, als diesen RAM abzubilden und Möglichkeiten zum Editieren anbietet.

Jetzt wäre es leicht sich vorzustellen, die CPU liest dieses RAM aus und verarbeitet die entsprechenden Informationen der Reihe nach, dabei Schickt sie Daten an bestimmte Adressen, die dann den SID den VICII oder die Ein und Ausgabe steuern. Ja, so ist es eigentlich auch, und doch ist der interne Ablauf für die Vorstellungswelt heutiger Ideen über Computer.. ich sag mal er erscheint geradezu anarchistisch um nicht zu sagen fast chaotisch.

Was hat das denn jetzt mit timing zu tun, stellt sich die Frage, und ich kann darauf nur direkt antworten. Die CPU hat von sich aus einen Takt von 1.000.000 Schwingungen pro Sekunde, eine Million, dieser Takt kommt aus einem Quarz, aber die CPU allein steuert garnicht den Computer, es gibt noch einen zweiten Quarz für die CIA Chips, und ich weiß bisher noch nicht genau, was der macht, und zu allem Überfluss bekommen die CIA Chips auch noch die Netzstromfrequenz aus der Steckdose für ihren Timer. Die CIA sehen sich nämlich als die richtigen Timer. Moment mal, die Netzstromfrequenz eines Kraftwerkes liefert einen Takt für den internen Timer.. was ist das für ein Wahnsinn, ein äußerer Einfluss in die Cyberwelt, der nicht über Eingabe und Ausgabe zu regeln ist, sondern direkt mit dem Strom kommt! Allein ein Abweichen von der Vorstellung, dass die CPU alles fest im Griff hat, erscheint schon aus PC Sicht absurd. Was ist also jetzt mit der CPU und ihrer 1 Million Hertz CPU Takt fordert noch eine Antwort aus dem Selbstverständnis heraus, dass alles schon seine gewohnte Richtigkeit hat.

Der VICII schaltet die CPU hin und wieder einfach aus, frischt einmal das RAM auf, das sonst erlöschen würde wie ein Radarschirm ohne Signal und macht, was er halt so macht von sich aus, und wenn er fertig ist, schaltet er die CPU wieder an.

Alta!

Hat der SID auch noch solche Faxen drauf schreit es schon fast voller Unverständis aus dem Bewusstsein der Intel und AMD Fangemeinschaft heraus und auch die Motofans äußern sich schreckhaft wenn auch etwas verhalten. Naja, der SID ist quasi halb analog also eigentlich auch genause Teil des Cyberspace wie der realen Welt, er macht halt, was er macht, oder sie oder es, ohne sich darum zu kümmern was sonst intern passiert. Sobald neue Informationen kommen, werden sie verarbeitet, dabei kann der SID analoge Signale auch in digitale Daten verwandeln, noch ein Loch aus dem Cyberspace in die reale Welt, nicht nur die Netzstromfrequenz beeinflusst den Ablauf der Timer auch ein User kann fließende Eingaben machen, die der SID versteht und in Prozessorsagnale umwandelt. Ansonsten spielt er halt seine Töne solange eigenständig, bis neue Informationen deren Status verändern ohne sich darum zu kümmern wer sonst noch was macht.

Also scheint der Grafikchip eigentlich das Sagen zu haben, der VICII ist synchronisiert mit einem Fernsehapperat, und dieser liefert je nach Bauart auch einen eigenen Takt, die Rasterzeit, der sich immerhin an der Netzstromfrequenz orientiert, also ist die CPU überstimmt, dem SID ist es egal, das interne Timing orientiert sich an der Rasterzeit, und so arbeitet die CPU mit Fernsehern in Europa etwas langsamer als sie eigentlich könnte oder sollte, damit sie mit dem VICII gleichzeitig läuft und auf den CIA Timer reagieren kann, damit wird auch der SID langsamer angesteuert und gibt etwas tiefere Töne aus als eigentlich verlangt.

Und jetzt fragen sich alle Geister der Cyberwelt, was ist das für eine Sache, diese Rasterzeit, das erscheint wie ein richtiges Mysterium.