Auf diesen Seiten geht es speziell um das Thema "Programmierung des C64 in Assembler". Viele Unwissende glauben oft, dass sich hinter der SYS-Zeile des geladenen Programms irgendwelcher Voodo versteckt. Dieser Respekt gegenüber dem Unbekannten ist unbegründet. Die Programmierung in Assembler ist nur anders. Es findet keine Prüfung per Laufzeit statt und man sollte über grundlegendes Wissen zum Computer verfügen. Oft werden ROM-Routinen angesprungen oder I/O-Adressen verwendet, die man z.B. beim Basic-Interpreter niemals direkt verwenden würde. Sehr hilfreich sind in diesem Fall ein gut dokumentiertes ROM-Listing, Memory-Map und eine Übersicht der ASM-Opcodes. Eine weitere Hürde ist der Aufwand. Ein Assembler-Programm ist eigentlich sehr schnell und kompakt. Das ergibt sich aus der direkten Arbeit mit CPU und den weiterem Komponenten des Computers. Der Aufwand ist dafür sehr viel höher als bei einer Hochsprache, da man direkt mit den Opcodes der CPU auf Bit-Ebene programmiert. Mit der Zeit erstellt sich jeder ASM-Programmierer in der Regel eine Sammlung aus Routinen, die immer wieder Verwendung finden. | Da jeder Programmierer einen individuellen Stil für den Weg vom Problem zur Lösung hat, kann man keine Allround-Library erstellen. Da wächst jeder Anfänger langsam rein und mit der Zeit wird die Programmierung immer effizienter. Es ist am Anfang sicherlich oft mit Sackgassen, Frust und Fehltritten verbunden. Wer sich die Ruhe nimmt, die Komplexität mal zu durchschauen, wird im Laufe seiner Bemühungen belohnt. Grundlegender Assembler ist nicht kompliziert ! Das Thema ist wie schon erwähnt eher komplex und nicht mal eben zwischendurch "from scratch" zu erlernen. Der Lohn der Arbeit sind Programme, die sehr wenig Speicher verbrauchen und Hochsprachen im Faktor Geschwindigkeit, um das Vielfache überbieten. Zudem sind viele Funktionen des C64 nur mit Assembler in angemessener Laufzeit ausführbar. Ein gutes Bespiel wäre die Grafik-Programmierung. |
Hier ist eine Auswahl diverser Assembler, Editoren und Hilfen. In der heutigen Zeit bietet sich die Programmierung mit Cross-Plattform-Tools an. Es gibt natürlich ebenfalls sehr ausgereifte Assembler für den C64.
Cross-Assembler |
64TASS v1.45 The 6502/65C02/65816/CPU64/65DTV02 cross compiler for unix/Linux/win32 based on TABOO's 6502TASS CC65 Der umfangreiche CC65-Kompiler. Macro-Assembler für 6502, 65SC02 und 65SC816. Ein passender Re-Assembler gehört ebenfalls dazu. ACME Der beliebte ACME-Cross-Assembler von Marco Baye. ![]() Ein häufig verwendeter Cross-ASM (Ansi C-Source) |
Editoren |
Relaunch64 Der bisher einzig wahre Editor für die Cross-Assembler. Proton Ein sehr kleiner aber gut rekonfigurierbarer Source-Editor |
C64-Assembler |
Turbo Assembler 7.0 Turbo Assembler 7.0 ![]() Die Anleitung zum Turbo Assembler Turbo Macro Pro Der verbesserte Turbo Assembler von Style mit REU-Unterstützung ![]() Der gute alte SMON in verschiendenen Speicher-Modellen. |
Hilfen |
All About Your 64 Die AAY-Helpfiles von Ninja/The Dreams zu C64, 1541 und 1581. Sehr umfangreich und wirklich genial ! C64 Codebase Wiki Eine umfangreiche Source-Code-Sammlung zum C64 C64 Wiki Die Assembler-Seiten im C64 Wiki |
X-Packer |
![]() Der ultimative Cross-Packer für den C64. ![]() Pucrunch erreicht nicht die Ergebnisse wie der Exomizer, entpackt dafür sehr schnell. Pucrunch Homepage |
Letzte Änderung: 2019-01-03 11:40:03