Cross-Development

Aus C64-Wiki
(Weitergeleitet von Cross-Compiler)
Zur Navigation springenZur Suche springen

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

Allgemeines[Bearbeiten | Quelltext 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 | Quelltext bearbeiten]

Programmierung[Bearbeiten | Quelltext bearbeiten]

Cross-Compiler[Bearbeiten | Quelltext bearbeiten]

  • ACME: Cross-Assembler für Plattformen wie Windows, Linux u.a., von Marco Baye.
  • ACMEforth: Ein Cross-Compiler bzw. Transpiler von Forth nach ACME-Assembler »
  • bbcompiler: Ein in einen Mini-Emulator verpackter BASIC-Compiler (Basic-Boss), der via PC-Kommandozeile aufgerufen werden kann.
  • blitz 0.1: Ein in einen Mini-Emulator verpackter BASIC-Compiler (Blitz! Compiler), der via PC-Kommandozeile aufgerufen werden kann.
  • 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.
  • KickC (KickAss): Ein Cross-Compiler auch für MOS-6502-kompatible Prozessoren.
  • llvm-mos: Ein 6502-Fork von LLVM, kann u.a. C kompilieren und generiert gut optimierten Code.
  • Mad Pascal: Pascal-Compiler, von Tomasz Biela
  • Millfork: Ein Cross-Compiler für eine C-ähnliche Sprache. »
  • oscar64: Optimierender Kleinstspeicher C Compiler (mit C++-Elementen) Assembler und Laufzeitumgebung »
  • Pas6502: Pascal cross-compiler in Java. »
  • Petcat: Tokenizer zur Umwandlung von BASIC-Programmen im .PRG-Format zu .TXT-Files und vice versa, Teil von VICE.
  • Prog8: Ein Compiler geschrieben in Kotlin »
  • Reblitz64, eine nach JavaScript portierte fehlerbereinigte und leicht verbesserte Version des Blitz! Compilers, die (auch) direkt im Browser läuft.
  • TASS: "Turbo Assembler", ursprünglich für natives Programmieren, später Cross-Assembler für DOS, dann auch Unix, Linux, Windows.
  • Turbo Rascal Syntax Error (TRSE): Pascal-Compiler/IDE, von LemonSpawn »
  • ugBASIC, ein kompilierender BASIC-Dialekt (Open Source) für zahlreiche Plattformen »
  • vbcc/vasm: Cross-Compiler (C/Assembler) für MOS-6502-kompatible Prozessoren sowie i386 und Motorola 68000 und weitere.
  • xa: Ein Multi-Pass-Cross-Assembler (und Disassembler dxa) 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. »
  • MOSpeed: Ein optimierender Cross-Compiler für BASIC V2
  • XC=BASIC: Ein Compiler für den BASIC-Dialekt XC=BASIC, geschrieben in D, kompiliert nach DASM, von Csaba Fekete »


Editoren und Frontends[Bearbeiten | Quelltext bearbeiten]

Frontend-Editor: Commodore Basic Editor V.1.4.2


Grafik[Bearbeiten | Quelltext bearbeiten]

Grafikeditor: ConGo V5.


Musik[Bearbeiten | Quelltext bearbeiten]

Musikeditor: GoatTracker Version 2.72


Cross-Crunching[Bearbeiten | Quelltext bearbeiten]


Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: Cross-Compiler