C64 Assembler Programmierung Tutorial
In dieser Artikelserie widme ich mich intensiv der C64 Assembler Programmierung. Zuletzt habe ich mich ja bereits mit C64 Basic und Amiga Assembler beschäftigt, es wird Zeit nun auch am Commodore 64 mit Assembler spannende Projekte umzusetzen.
C64 Assembler Tutorial
Auf GitHub habe ich dazu eine ganze Reihe von kleinen Projekten mit aufsteigendem Schwierigkeitsgrad zusammengestellt. Als Entwicklungsumgebung habe ich CBM Studio verwendet, dieses kann ich empfehlen und damit können die Projektdateien aus meinem Repository direkt geöffnet, kompiliert und ausprobiert werden.
Assembler
Als moderner Software Entwickler schreckt man gerne vor Maschinensprache zurück. Im Gegensatz zu einer Programmiersprache gibt es bei der Maschinensprache nur eine Hand voll Maschinenbefehle die dazu noch Prozessor abhängig sind. Aus Sicht von Assembler sind Schlüsselwörter beziehungsweise Konstrukte wie Schleifen oder if-Statements schon eine Folge von zig Befehlen. Genau das ist ein Grund warum man auch als beispielsweise Python oder Java Entwickler Assemblersprache zumindest gesehen haben sollte. Erst dann wird klar, dass manche Kommandos mehr Prozessorzeit benötigen als andere. Der Befehlssatz beim C64 ist winzig, die paar Befehle kann man schnell auswendig lernen. Mit dem Wissen allein kommt man aber noch nicht sehr weit und man ist noch kein Commodore 64 Programmierer.
Speicher und Hardware
Erst durch das Kontextwissen über die Speicheraufteilung und der angeschlossenen Hardware kann man sinnvoll Programme für einen 8-bit Rechner schreiben. Genau da wird es spannend, denn wie man bestimmte Dinge macht ist nicht definiert. Dort kann man optimieren oder massiv an Performance verlieren. Spaß macht die Interaktion mit der Hardware auf jeden Fall. Wenn sich Farben ändern, nur weil man ein Bit auf einer bestimmten Speicheradresse ändert fühlt man sich schnell wie ein Guru. Auf keinem anderen System hat man so große macht wie auf einem 8-bit Rechner unter Maschinencode.
Ausblick
In den nächsten Wochen will ich versuchen ein wenig mehr Wissen zu diesem Thema schaffen. Ich arbeite parallel an einem kleinen Projekt und werde laufend dazu interessante Artikel veröffentlichen. Mal sehen, vielleicht findest ja gerade du auch Lust und baust das nächste unglaubliche Demo für den C64 oder das nächste Spiel, auf das die Community bereits wartet.
Fazit
Assembler Programmierung ist für mich eine Art von Kunst. Für einen Software Entwickler aus dem 21. Jahrhundert ist die Maschinensprache schon so abstrakt, dass man sie komplett ignorieren kann. Die Beschäftigung damit macht Spaß und kann auch lohnend sein. Die Arbeit an einem Programm für ein 40 Jahre altes System ist jedenfalls ein nettes Hobby, bei dem man sich auf keinen Fall stressen darf.
Eine Antwort
[…] meinen Tutorials zu C64 programmieren habe ich bereits in zahlreichen Assembler Beispielen gezeigt wie man bestimmte Dinge umsetzt. Beim […]