SID

Endlich mal was neues.. die 303 ist ja relativ leicht zu bedienen und als Bass ein relativ lineares Begleitinstrument. Progammierung ist hier sehr stark auf wesentliche Funktionen vereinfacht und deshalb sind die Grundlagen innerhalb weniger Stunden zu begreifen, solange wir nicht im Dunkeln tappen.

Das war ja im Grunde immer das größte Problem beim 64’ger und aller anderer Technik der Zeit ohne Internet, das im Dunkeln Tappen. Computer konnten miteinander akkustische Telefongespräche führen und Daten wurden ebenso akkustisch auf Tonbändern gespeichert. Es gab Zeitschriften und Bücher mit unterschiedlichem Coolnessfaktor und es war mühsam diese teuren Quellen sinnvoll zu erschließen. Es gab oft eine einzige Quelle, die nicht immer eine Antwort auf bestimmte Fragen hatte, und selbst fünf Bücher, ein relativ großer Wert, kratzen nur an der Oberfläche ganz konkreter Fragen. Und da bisher auch hier das sehr häufig der Fall war, möchte ich die Situation ausnutzen und etwas gestalten, zu dem ich unbegrenzt vielseitige Informationen finden kann. Ich gehe davon aus, dass eine virtuelle Szene über WiKis und Foren, blogs und sites das über die Jahre erprobt hat, und ich es genießen kann, die Erfahrungen anderer zu nutzen anstatt nochmal das Rad zu erfinden, deren ich ja inzwischen auch genug habe xD

Ich beschäftige mich mit Musik in Assembler, echte Computermusik, dabei dient der SID als Synthesizer, so wie er in vollem Umfang gedacht war.

Als Werkzeug wähle ich einen Monitor mit Direktassembler, was mir am coolsten erscheint, weil es unmittelbar auf den Speicher Einfluss nimmt also eine 1:1 Übersetzung von Mensch zu Maschine gewährleistet.

Wir rechnen sechzehn Takte

Ich stelle mir eine Struktur in sechzehn Takten für ein Kommando vor also sechzehn Byte im RAM mit entsprechenden Leerstellen für Nulloperationen und zum Atmen, wenn irgendwelche Ergänzungen nötig werden.

ff ff ff ff ff 00 00 00 – 00 00 00 00 00 00 00 00

Eine Operation belegt häufig drei oder vier Byte, manchmal nur ein Byte. Bei einer theoretischen Operation mit zwei Adressen, kann das im Speicher bis zu fünf Byte haben.. vermute ich jetz einfach mal so. Ich könnte das auch halbieren, wenn es sinnvoller ist auf acht und hätte insgesamt noch gut die Hälfte Luft.. die ich mir einbilde zu benötigen um am Timing abzustimmen.

Die Grundzählart ist Hexadezimal, die Maschinensprache bildet sich hier in zweistelligen Hexadezimalzahlen ab, weil jede Speicheradresse genau ein Byte aufnehmen kann.

Die Adressen umfassen sechzehn Bit und benötigen also zwei Byte, ein High Byte und ein Low Byte. Der Adressraum umfasst 64k Byte RAM, dabei überlagern sich nach mehreren Angaben Bereiche im ROM und der Kernel etc. ich hab das jetzt erstmal nur zu einer sehr einfachen Vorstellung gebracht, dass einfach bestimmte Adressbereiche frei sind und einzelne sehr konkreten Zwecken dienen wie z.B. der Bildschirmspeicher, dessen Inhalt sich eben direkt auf die Bildschirmanzeige auswirkt. Sobald sich hier ein Wert ändert, ändert sich unmittelbar auch etwas in der Anzeige am Bildschirm, vll ist irgendwo ein A zu sehen im einfachsten Fall.

Nahezu die Hälfte des RAM im eher unteren Bereich der Adressierung dient als Freiraum für BASIC oder eben irgendwelche Daten, die im BASIC Modus bearbeitet werden können wie z.B. Texte, und für die BASIC entsprechende Werkzeuge zur Verfügung stellt. Dieser Speicherbereich kann womöglich frei genutzt werden, wenn eben nicht gerade eine entsprechende BASIC Liste dort erstellt werden soll. Für den Hausgebrauch sind 64k unfassbar üppig, es erscheint mir zumindest gerade so, es könnten in BASIC lesbare Listen mit insgesamt über 30.000 Zeichen (Byte) erstellt werden, das ist ein sehr schwer in kurzer Zeit aufmerksam zu lesender Text. Im professionellen Bereich kann Software da schon an ihre Grenzen stoßen, mit eigener Programmierung erreichen auch routinierte Menschen diese Grenze an einem Tag wahrscheinlich nicht.

Und weil ich ja den Sound im Vordergrund habe, und auch eher einen interessanten Klang als komplizierte Liedkompositionen erreichen will, stehen mir denke ich hier jede Menge Ressourcen zur Verfügung sowohl was Speicher und Prozessortakte angeht als auch bei der Leistung des Soundchips, der natürlich interessanter ist, wenn er im Ganzen nur als ein einziger Synthesizer funktioniert und nicht gleichzeitig mehrere Aufgaben hat wie um einen Popsong zu emulieren.

Ok, was habe ich denn bis jetzt.. tja, ich würde sagen garnichts. Womöglich gäbe es Software für Linux, aber das ist mir nicht analog genug. Die Wahl meiner musikalischen Schnittstelle ist die analoge Buchse. Zufällig erzeugt der SID ein analoges Signal :)

Erstmal sammel ich Informationen.