Cross-Development

Aus C64-Wiki
Wechseln zu: Navigation, Suche

Cross-Development bezeichnet alle Entwicklungsprozesse, bei denen das System, auf dem Software entwickelt wird, nicht identisch ist mit dem Zielsystem.

Allgemeines[Bearbeiten]

Cross-Development dürfte bereits in den 1980er-Jahren eine Rolle gespielt haben, denn zum Beispiel bei der Portierung von Spielen auf andere Systeme macht es Sinn, Daten wie Grafik nicht Byte für Byte oder Pixel für Pixel neu zu erstellen, sondern bereits am Ausgangssystem oder mit einem leistungsstarken Drittsystem die ursprünglichen Daten so umzuwandeln, dass das Zielsystem das Format verarbeiten kann.

Im 21. Jahrhundert ist Cross-Development in der Software-Entwicklung für den C64 kaum noch wegzudenken. Natürlich ist es heute wie damals möglich, Programme, Musik oder Grafik direkt am C64 zu entwickeln. Es wird aber zunehmend zur Ausnahme, denn bei aller Nostalgie bietet Cross-Development auf leistungsstarken Systemen wie dem PC einfach zahlreiche Vorteile wie Komfort (z.B. blitzschnelles Kompilieren und Ausführen im Emulator mittels Druck auf selbst belegte Funktionstaste), Datensicherheit, bessere Sourcecode-Verwaltung, usw. Am ehesten sind heute wohl noch diejenigen Entwickler, die schon seit den 1980ern oder 1990ern direkt am C64 entwickelt haben, bereit, auf die Vorteile von Cross-Development völlig zu verzichten. Aber selbst erfahrene Entwickler nutzen normalerweise, zumindest für einige Bereiche, sogenannte "Other Platform Tools". Anfänger steigen oft erst über Cross-Development in die Entwicklung für den C64 ein, da die Hemmschwelle deutlich niedriger liegt als "nativ" (also ohne Cross-Development auf der Zielplattform) zu entwickeln, weil man mit dem PC als Entwicklungsumgebung durch den Alltagsgebrauch vertraut ist und der Einsatz nativer Entwicklungswerkzeuge nach heutigen Maßstäben oft eher spartanisch anmutet. Von nostalgischen Gefühlen abgesehen, ist der einzige denkbare "echte" Nachteil, dass der Entwickler je nach dessen Erfahrung bzw. manchmal auch je Dokumentation der Cross-Development-Software unter Umständen weniger Kontrolle über das Ergebnis hat als bei nativer Entwicklung. Allerdings werden die Tools und deren Dokumentation stetig besser, so dass dieser Nachteil nur in seltenen Fällen eine Rolle spielen dürfte.

Beispiele für Cross-Development für das Zielsystem C64[Bearbeiten]

Programmierung[Bearbeiten]

Cross-Compiler[Bearbeiten]

  • ACME: Cross-Assembler für Plattformen wie Windows, Linux u.a., von Marco Baye.
  • cc65: Vollständige Compiler-Suite, von Ullrich von Bassewitz.
  • DASM: Entwickelt von Matt Dillon.
  • KickAssembler (bzw. kurz: "KickAss"): Java-basierte Cross-Assembler von Camelot, lauffähig auf allen java-unterstützenden Systemen wie Windows, Linux, OS X.
  • Petcat: Tokenizer zur Umwandlung von BASIC-Programmen im .PRG-Format zu .TXT-Files und vice versa, von Viceteam.
  • TASS: "Turbo Assembler", ursprünglich für natives Programmieren, später Cross-Assembler für DOS, dann auch Unix, Linux, Windows.
  • vasm (vbcc): Ein Cross-Assembler auch für MOS-6502-kompatible Prozessoren.
  • xa: Ein Multi-Pass-Cross-Assembler für die 8-Bit-Prozessoren der 6502-Serie (6502, 65C02, 6504, 6507, 6510, 7501, 8500, 8501 und 8502), den Rockwell R65C02 und den 16-Bit-Prozessor 65816.


Editoren und Frontends[Bearbeiten]

Frontend-Editor: Commodore Basic Editor V.1.4.2


Grafik[Bearbeiten]

Grafikeditor: ConGo V5.


Musik[Bearbeiten]

Musikeditor: GoatTracker V.273.2


Cross-Crunching[Bearbeiten]


Weblinks[Bearbeiten]

WP-W11.png Wikipedia: Cross-Compiler