Hallo Besucher, der Thread wurde 8,3k mal aufgerufen und enthält 27 Antworten

letzter Beitrag von bigby am

Installationsanleitungen für Cross-Compiler

  • Hallo Leute,


    um den MEGA65-Thread mit Offtopic nicht aufzublähen, verschiebe ich die Diskussion mal nach hier hin!


    Mein Anliegen:
    Ich bin programmiertechnisch stark vom CBM Prg Studio verwöhnt. Doch höre ich und lese immer öfter, dass die Profis unter Euch ganz andere Compiler-Umgebungen vorziehen.
    Mal ist die Rede vom C64Studio, dann von Kickassembler oder von ACME.


    Jeder von diesen Compilern verwendet eigene Erweiterungen in Form von Direktiven, um die Programmierung zu vereinfachen oder komfortabler zu machen. Was mir persönlich fehlt, und da bin ich bestimmt nicht alleine, ist jeweils eine gute deutschsprachige Gebrauchsanleitung mit Beispielen und genauen Beschreibungen der Direktiven.
    Teilweise fängt es schon mit der Installation an. Habe ich ACME installiert, fehlt dem Ding der Editor. Ist ja auch nur ein Compiler. Packe ich jetzt noch einen Editor dazu (z.B. Notepad), dann habe ich am PC jetzt das Problem, wie ich Notepad dazu bringe, mir den Code mit ACME zu compillieren und nach Abschluss mein Programm in VICE zu laden und auszuführen. Gibbet dazu eine Anleitung in Deutsch? Oder kann ACME bzw. Notepad das nicht? Ich kann zwar Englisch, aber nicht wirklich gut. Und ich gehe mal davon aus, dass sich hier im Forum so einige Leute herumtreiben, die gerne auch in Assembler einsteigen möchten, aber auch ihre Schwierigkeiten mit englischsprachiger Dokumentation haben. Mac Bacon hatte mir auf der Bunkerparty geholfen, ACME mit Notepad+ auf meinem Laptop zu installieren, aber irgendwie komme ich damit trotzdem nicht zurecht. Wieder zu Hause, stehe ich nach ein paar Wochen wieder am Anfang und frage mich, wie ging dat noch mal????
    Das C64Studio bekam ich anfangs gar nicht erst gestartet. Gab immer Fehlermeldungen! Die aktuelle Version startet zumindest, doch frage ich mich, was ist der Unterschied zwischen Solution und Project? Hat das C64Studio auch eigene Direktiven? Wo sind die erklärt? In der Hilfe habe ich bei meiner schnellen Suche keine Übersicht gefunden! Wo wird erklärt, wie ich das gezeichnete Bild in meinen Quelltext einbinde? Für Experten, die mit dem Umgang mit dieser Software schon Routine haben, ist das wahrscheinlich total einfach. Ich bin aber Anfänger und stehe da, wie der Ochs vorm Berg!
    Das sind für mich elementare Probleme, die mich daran hindern, mit aktuelleren Entwicklungsumgebungen zu arbeiten, weil mir dazu das passende Handwerkszeug in Form von guter Dokumentation auf deutsch fehlt.


    Das im MEGA65-Thread vorgestellte Buch über die Softwareentwicklung mit dem CBM Prg Studio ist leider auch englischsprachig. Ich arbeite mich mühsam darin voran! Aber wir haben hier im Forum mindestens zwei deutschsprachige Entwickler, die eigene, wahrscheinlich sehr gute Entwicklungsumgebungen programmieren und aktuell halten. Warum können die denn bei Ihren Schöpfungen nicht deutsch-lokalisiert arbeiten?


    Es ist jedenfalls mühsam, wenn man sich die benötigten Informationen überall zusammen suchen muss. Vielleicht erwarte ich auch das Unmögliche oder stelle mich persönlich besonders dumm dar? Ich weiß es nicht! Oder sollen die professionellen Entwicklungsumgebungen nur was für Profis sein? Ich als Anfänger finde mich nicht wirklich zurecht!


    Ich frage mal so in die Gemeinde hinein und ganz speziell an die Programmieranfänger: Besteht denn bei Euch ein Interesse daran, eigene Sachen in Assembler zu programmieren? Und benötigt Ihr auch Hilfe beim Umgang mit den entsprechenden Entwicklungswerkzeugen? Würde mich über Rückmeldungen von Eurer Seite sehr freuen!



    Liebe Grüße!
    ThomBraxton

  • Ich bin ja eher der cc65 Freund (auch gerne mit Assembler), aber ich verwende generell virtuelle Maschinen für solche Projekte. Vielleicht wäre das auch was für Dich.


    Dann kannst Du das alles in einer VirtualBox installieren, die dann komplett zum Download angeboten wird. Das Teil musst Du dann nur noch runterladen, in VirtualBox auf dem lokalen PC importieren, starten und alles ist sofort richtig installiert.


    Ist Dir das zu wuchtig, könnte ein Docker-Container eine praktikable Lösung sein, weil Du dann nur noch das Dockerfile verteilen musst.

  • Ich bin ja eher der cc65 Freund (auch gerne mit Assembler), aber ich verwende generell virtuelle Maschinen für solche Projekte. Vielleicht wäre das auch was für Dich.


    Dann kannst Du das alles in einer VirtualBox installieren, die dann komplett zum Download angeboten wird. Das Teil musst Du dann nur noch runterladen, in VirtualBox auf dem lokalen PC importieren, starten und alles ist sofort richtig installiert.


    Ist Dir das zu wuchtig, könnte ein Docker-Container eine praktikable Lösung sein, weil Du dann nur noch das Dockerfile verteilen musst.

    Die Idee ist ja gut, aber das wird daran scheitern, dass Du eine Windows Lizenz extra dafür benötigst. Ich kann z.B. so eine VM erstellen (mache das oft per Hyper-V, VirtualBox und VMWare) mit einer Trial Version von z.B. Windows 7 oder 10 (müsste aber schauen, ob es das gibt), aber dann muss der Enduser immer noch eine Lizenz kaufen und aktivieren. Bitte jetzt nicht mit Linux kommen, mir ist klar, dass man dort umsonst alles aus Paketen & co installieren kann, aber halt kein C64 Studio & co.



    @ThomBraxton :

    • Du benötigst das Microsoft .NET 3.5 für das C64 Studio ( @Endurion : Ist das noch v3.5?). Wenn das nicht installiert ist (und wenn 4.0 oder höher installiert ist, nützt das auch nicht, da es nicht abwärtskompatibel zu 3.5 und tiefer ist), kann sein, dass es crashed.
      Bei neueren .NET Versionen kann man das aber auch eleganter abfangen, dass es dem Enduser das sagt beim Starten.
    • Wenn du „Notepad.exe“ meinst unter Windows: Vergiss das Spielzeug, nimm gleich Notepad++
    • Wie man ACME mit Notepad++ konfiguriert, steht in diesem sehr guten C64 Wiki Artikel
  • Hi,
    ACME kannst du mit Relaunch von Daniel (Pogelganda) nutzen und der läuft auf allen Java-Plattformen. Setup ist leicht und Compiling geht per Klick.


    Ich persönlich bin unter Linux unterwegs. Da nutze ich Makefiles und gEdit. Zum gEdit gibt es eine Anleitung im C64 Wiki.
    Zum Mad- Programm hier im Forum von mir hast du ein Makefile was ein Basic-Text in PRG umwandelt, dann ein D64 erstellt, das dann mit Vice gestartet werden kann.


    Wenn du Eclipse kennst, dann gibt es auch ein Plugin zum Entwickeln von 6502 Programmen. Leider nur in Englisch, aber es gibt einiges auf YouTube.


    Ich betreue die FB-Seite zum C64 Club Berlin und compiliere hier und da Tools zum Thema C64 auf Linux/Windows.


    Ich finde es eine gute Idee ein Tutorial zu erstellen, wie man den Einstieg auf Windows/Linux zum Thema findet. Ich würde das nicht auf Assembler beschränken. Basic (patcat, Bas-Edit), Assembler (ACME, Kickassembler), Sprite-Erstellung (Web-Editor), Grafik (Gimp) und Musik (Goat-Tracker).


    Gruẞ Höp

  • Ich packe mich da mal an die eigene Nase und versuche, die Doku um entsprechende Beispiele zu erweitern.


    Grob gesagt, eine Solution ist quasi eine Arbeitsmappe, ein Projekt ist eine Sammlung einzelner Dateien und deren Einstellungen für ein Kompilat. Eine Solution kann mehrere Projekte enthalten, in der Regel ist es aber 1:1.


    Die speziellen Direktiven von C64Studio sind in der Hilfe unter "3.2 - Pseudo Operations" aufgelistet.

  • Meine Toolchain bei der Entwicklung für den C64 besteht aus

    • GNU make
    • ca65 und ld65 (aus dem cc65 Paket)
    • mkd64 (eigenes tool) zur Erstellung eines D64
    • Vice als debugger (im monitor)

    Dazu kommen dann je nach Bedarf weitere Tools, z.b. git zur Sourceverwaltung, der Exomizer, auch mal goattracker und kleine selbstgebastelte C tools für bestimmte Anwendungsfälle.


    Auf die Art entspricht das einem klassischen Unix-Entwicklungsprojekt -- gesteuert von einem Makefile, ansonsten "one job, one tool". Ein Vorteil ist, dass alle verwendeten Tools "cross platform" sind -- ich kann auf Windows genauso entwickeln wie auf Linux oder BSD.


    Würde denn jemand eine Einführung in diese Methode lesen wollen?

  • Hallo Leute,


    es freut mich, das meine Bitte auf Zustimmung trifft! Bin schon gespannt, wie weit wir gemeinsam kommen! Jetzt schon mal vielen lieben Dank!


    Ich finde es eine gute Idee ein Tutorial zu erstellen, wie man den Einstieg auf Windows/Linux zum Thema findet. Ich würde das nicht auf Assembler beschränken. Basic (patcat, Bas-Edit), Assembler (ACME, Kickassembler), Sprite-Erstellung (Web-Editor), Grafik (Gimp) und Musik (Goat-Tracker).

    Gerne, gerne, gerne... Müssen sich nur noch Leute finden, die das können und dieses hier auch schreiben...

    Auf die Art entspricht das einem klassischen Unix-Entwicklungsprojekt -- gesteuert von einem Makefile, ansonsten "one job, one tool". Ein Vorteil ist, dass alle verwendeten Tools "cross platform" sind -- ich kann auf Windows genauso entwickeln wie auf Linux oder BSD.


    Würde denn jemand eine Einführung in diese Methode lesen wollen?

    Ja, ich, da ich auch einen Raspberry Pi (Linux) habe und dort auch einiges ausprobieren möchte, doch scheitert es bei mir da schon wieder daran, wie ich dort VICE installiert bekomme. Gibt es als Paket ja nicht! Zumindest weiß ich nicht wo!

  • Würde denn jemand eine Einführung in diese Methode lesen wollen?

    Mich würde auf jeden Fall dein MKD64-Tool interessieren (also was es kann und wie man das bedient) und wie man den Vice als Debugger benutzt (also automatsche Übernahme der Symbols).


    Edit: Was macht dein MKD64, was c1541.exe nicht kann?

  • Mich würde auf jeden Fall dein MKD64-Tool interessieren (also was es kann und wie man das bedient) und wie man den Vice als Debugger benutzt (also automatsche Übernahme der Symbols).

    Das geht doch ganz einfach mit Vice mitteln.


    Disk disk.d64 mit Titel "beispiel" und ID "99 2a"" erzeugen
    c1541 -format "beispiel,99 2a" d64 disk.d64


    Datei progfile.prg unter prog-name in die Disk kopieren:
    c1541 -attach disk.d64 -write progfile.prg prog-name


    Es gibt noch weitere Tools die d64 Disks erstellen. Einige basieren auf C, Python oder Perl.
    Hier ist ne kleine Übersicht.
    http://codebase64.org/doku.php…g_files_into_a_.d64_image

  • Was macht dein MKD64, was c1541.exe nicht kann?

    Konfigurierbare Anzahl reservierter Sektoren auf Track 18, abweichende DOS-Versionen, zusätzliche Tracks (mit zwei verschiedenen BAM formaten), Interleave pro File konfigurierbar, Schreibschutz pro File, und einiges mehr -- und es ist theoretisch mit eigenen Modulen erweiterbar.


    edit: Scheint ja durchaus Interesse zu geben, dann werde ich bei Gelegenheit mal eine kleine Einführung (Tools zusammenstellen, erste Schritte mit Makefile) schreiben ... aber vorher muss noch 8192 fertig werden :)


    wie man den Vice als Debugger benutzt (also automatsche Übernahme der Symbols)

    ld65 kann ein Symbol-File erstellen, das Vice lesen kann. Ich lade das immer manuell aus dem Monitor, wenn ich es brauche, aber das lässt sich wahrscheinlich auch durch eine .PHONY rule im Makefile automatisieren, wäre sicher mal ne gute Idee.

  • Arbeite mit cc65 eigentlich nur unter Linux. Hab mir auch Makefiles geschrieben fürs Compilieren bis hin zum Erstellen des d64 und Starten von vice mit demselben. Da ist das am Ende ein Befehl und das Ding läuft nach Änderungen sofort wieder.


    @sys: läuft dieses CBM Studio evtl mit wine? Alternativ soll Docker doch auch unter Windows laufen, dachte ich?

  • @sys: läuft dieses CBM Studio evtl mit wine? Alternativ soll Docker doch auch unter Windows laufen, dachte ich?

    Also, wenn ich viel "Wine" intus habe, ganz sicher nicht :D


    Spass beiseite: Keine Ahnung. Ich könnte es höchstens mit PlayOnMac auf dem Mac probieren. Ich glaube das hat einen Wine Unterbau. Notepad++ und HxD habe ich so am Mac zum Laufen gekriegt und muss mich nicht mit typischer dämlicher Mac Software ärgern.


    Docker? Nie ausprobiert. Bin mit VMWare Workstation sehr zufrieden unter Windows bzw. VMWare Fusion am Mac.

  • Die Idee mit einer Image-Datei finde ich auch charmant. Ebenfalls Klasse wäre ein Zip-Datei die man nur entpacken bräuchte und alles beisammen hat. Die meisten Entwicklungsprogramme für den C64 sind "portable" nutzbar.


    Die Krönung wäre sowas wie CPCtelera für den C 64, ein komplettes Framework mit allen benötigten Tools.


  • @sys: aber ne VBox mit nem Debian drin könntest Du doch z.B. starten, oder?

    Ja klar, aber was soll ich damit? Ich arbeite doch nicht mit einer Linux VM, wenn ich alles Tools unter Windows nativ habe oder unter MacOSX als VM mit Windows.
    Es ging mir eher um den umgekehrten Weg.

  • ld65 kann ein Symbol-File erstellen, das Vice lesen kann. Ich lade das immer manuell aus dem Monitor, wenn ich es brauche, aber das lässt sich wahrscheinlich auch durch eine .PHONY rule im Makefile automatisieren, wäre sicher mal ne gute Idee.

    Gibt es irgendwo eine Beschreibung des Symbol-Files, das Vice einliest?
    Ich war bisher wohl zu doof, das zu finden. ;)

  • Gibt es irgendwo eine Beschreibung des Symbol-Files, das Vice einliest?

    Ja, direkt in der online-Hilfe vom Vice monitor:

    So ein File sieht dann z.B. so aus (exportiert von ld65):


  • Die Krönung wäre sowas wie CPCtelera für den C 64, ein komplettes Framework mit allen benötigten Tools.

    Das wäre natürlich ein Mega-Ding! ( ..... Angst es zusagen: dazu eine einfache und effizente GUI für alle Tools unter Windows .... :weg: )