Cross-Development
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]
- Bas.Edit: Ein PC-Editor für (z.B. mit Petcat umgewandelte) BASIC-Programme, von Björg Stojalowski.
- C64list: Ein BASIC-Programmiereditor und Cross-Assembler für Windows, von Jeff Hoag.
- C64 Studio: Eine Entwicklungsumgebung für BASIC und Assembler, von Georg Rottensteiner (Endurion).
- CBM prg Studio: Eine Entwicklungsumgebung für BASIC und Assembler unter Windows, von Arthur Jordison.
- Notepad++: Mächtiger Texteditor, der unter anderem auch Cross-Assembler-Programmierung ermöglicht, von DoHo.
- Relaunch64: Ein speziell für die Programmierung verschiedener Cross-Assembler entwickelter Texteditor, von Payday.
Grafik[Bearbeiten | Quelltext bearbeiten]
- C64 Converter: Tool zur Online-Konvertierung von .PNG/.GIF/.JPG in C64 .FLI/.KLA, von ALeX Kazik.
- ConGo: Software für Bildbearbeitung von C64-Grafik-Formaten am PC, von Matthias Matting.
- Multicolor2Char: Software zur Umwandlung von .BMP Grafiken in einen Zeichensatz und eine Tile-Matrix, von Mayday!.
- PETSCII: Software zur Erstellung von PETSCII-Grafiken am PC, von fit.
- PixCen: Software für Bildbearbeitung von C64-Grafik-Formaten am PC, von Censor Design.
- Project One: Software für Bildbearbeitung von C64-Grafik-Formaten am PC, von Resource.
Musik[Bearbeiten | Quelltext bearbeiten]
- GoatTracker: Cross-Composing Tool bzw. ein SID-Tracker für den PC (mittlerweile auch für MacOS und MorphOS), von Covert Bitops.
- Hubbard2Goattracker: Software zur Umwandlung vieler SID-Files von Rob Hubbard in das GoatTracker-Format .SNG von Stello Doussis.
- SID Factory II: Cross-Composing Tool bzw. ein SID-Tracker für den PC (mittlerweile auch für MacOS und Linux), von Thomas Egeskov Petersen.
Cross-Crunching[Bearbeiten | Quelltext bearbeiten]
- ALZ64 von Kabuto
- ByteBoozer von Booze Design
- Exomizer von Zagon
- PuCrunch von Albert/Pu-239
Weblinks[Bearbeiten | Quelltext bearbeiten]
Wikipedia: Cross-Compiler |