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]
Vorteile bei Cross-Development sind, dass das Entwicklungssystem typischerweise stärker ausgelegt ist und z.B. schneller den Quellcode übersetzen kann, als es das Zielsystem könnte.
Insbesondere beim C64 ist beim Entwickeln auf dem gleichen System auch ein einschränkender Faktor, dass RAM durch das Entwicklungssystem belegt wird, das der entwickelten Software nicht mehr zur Verfügung steht. Alternativ kann das entwickelte Programm direkt auf Diskette gespeichert und dann von dort geladen werden, wobei die Entwicklungsumgebung im Speicher überschrieben wird. Dadurch verlängert sich allerdings die für Testen benötigte Zeit enorm.
Bei Cross-Development dagegen kann das Programm auf dem Entwicklungssystem übersetzt und dann (z.B. über ein schnelles Userport-Transferkabel o.ä.) zum C64 übertragen und gestartet werden, wodurch dem Programm beinahe das komplette RAM des C64 zur Verfügung steht; gleichzeitig droht bei Absturz des Programms kein Datenverlust.
Cross-Development war in den 1980er-Jahren für Privatanwender wegen des Mangels eines stärkeren Entwicklungssystems selten, war jedoch für die professionelle Software-Entwicklung spätestens zum Ende des Jahrzehnts hin üblich (siehe z.B. die PDS-Umgebung).
Auch die Portierung von Spielen auf andere Systeme kann gewisserweise als Cross-Development verstanden werden, z.B. wenn Daten wie Grafik nicht Byte für Byte oder Pixel für Pixel neu erstellt, sondern bereits am Ausgangssystem oder mit einem leistungsstarken Drittsystem die ursprünglichen Daten so umgewandelt werden, dass das Zielsystem das Format verarbeiten kann.
Beispiele für Cross-Development für das Zielsystem C64[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, Rust und Zig 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. »
- PDS (Programmers Development System), kommerzieller Editor/Assembler/Transferhardware aus den 80ern entwickelt von Andy Glaister, benutzt u.a. von DMA Design [1] [2] [3]
- 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 Macro Pro: ursprünglich nativer Editor/Compiler, später (als TMPx) Cross-Assembler für DOS, dann auch Unix, Linux, Windows. TMP unterstützt auch das Verbinden zweier C64 (einer als Entwicklungs-, einer als Zielsystem).
- 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 |