6502 Port des vbcc C Compilers

Es gibt 92 Antworten in diesem Thema, welches 21.533 mal aufgerufen wurde. Der letzte Beitrag (30. September 2025 um 11:22) ist von Mike.

  • Eine Frage insgesamt zum VBCC, und bitte nicht als Kritik gemeint, rein damit ich mich auskenne: Sehe ich das richtig, dass x64 nicht unterstützt wird (da x86 und i386 32-bitter sind)? Bzw. gibt es auch keine 8086, 80186, 80286 Unterstützung?

    Zusatz: Hintergrund der Frage ist, dass ich unter Linux (auch auf Windows portierbar angestrebt) einen kleinen Interpreter schreiben will, der gleichermassen auf modernen Plattformen wie auch auf dem C64 funktioniert. Da würde sich natürlich ein Compiler, der beides kann, idealerweise anbieten. Aber da auch GCC denselben Standard unterstützt, kann ich auch für die eine Seite gcc und für die andere vbcc verwenden.

    Es gibt aktuell kein vbcc-Backend für x64 und <=80286, hat allerdings nichts mit der Bitbreite zu tun, da kann vbcc alles unterstützen. Es gibt da einfach nicht wirklich Bedarf. Für x64 gibt es genug gute Compiler. Für i386 gibt es ein vbcc-Backend, aber das war hauptsächlich für mich zum Testen gedacht, würde ich jetzt auch nicht unbedingt empfehlen.

    Aber wie Du schon schreibst, spricht m.A.n. nichts dagegen, vbcc für 6502 und gcc für x64 zu benutzen. Sind ja beides C-Compiler und 6502-Spezifika müsste man bei einem vbccx64 oder vbcci386 ja auch anpassen.

  • Es gibt aktuell kein vbcc-Backend für x64 und <=80286, hat allerdings nichts mit der Bitbreite zu tun, da kann vbcc alles unterstützen. Es gibt da einfach nicht wirklich Bedarf. Für x64 gibt es genug gute Compiler. Für i386 gibt es ein vbcc-Backend, aber das war hauptsächlich für mich zum Testen gedacht, würde ich jetzt auch nicht unbedingt empfehlen.

    Klingt sehr logisch, danke!

    Aber wie Du schon schreibst, spricht m.A.n. nichts dagegen, vbcc für 6502 und gcc für x64 zu benutzen. Sind ja beides C-Compiler und 6502-Spezifika müsste man bei einem vbccx64 oder vbcci386 ja auch anpassen.

    Stimmt. Tu ich gerade, unter Einsatz der diversen Architektur-Macros. Was vielleicht noch interessant wird, ist, ob ich es schaffe, den VBCC unter Eclipse zum Einsatz zu bekommen. Falls nicht compiliere ich ausserhalb, falls ja, veröffentlich ich vielleicht noch hier, wie ich es gemacht habe. Aber das kann noch dauern.

  • I habe Version 3 der vbcc Distribution für 6502 hochgeladen: Bitte melde dich an, um diesen Link zu sehen.

    Major changes since last update:

    • - several bug fixes
    • - improved code generation
    • - linker mask optimizations to reduce overhead of some library functions (still much room for improvement)
    • - improved attribute checks for banking
    • - C64 new features:
      • - stdio functions allow file access on 1541 compatible drives
    • - MEGA65 new features:
      • - free license for commercial usage
      • - code generator uses 32bit extensions
      • - code generator uses HW multiplier
      • - full automated banking support
      • - ROM-less library enabling full use of the entire RAM
      • - stdio functions allow reading of files on SD card
    • - BBC new features:
      • - stdio functions allow file access
      • - full automated banking support for systems with sideways RAM
      • - support for command line arguments
      • - configuration for clean return after exit
    • - CBM PET new features:
      • - added as new target

    We are happy to announce that the Museum of Electronic Games & Art e.V. (Bitte melde dich an, um diesen Link zu sehen.) has decided to sponsor the MEGA65 version of vbcc.

    This does not only help us to continue supporting and improving this port but it also allows us to relax the terms of use for the MEGA65 community. Everyone may now freely use vbcc to develop MEGA65 code for commercial as well as non-commercial usage (for details please refer to the license in the documentation).

    We thank MEGA e.V. for the confidence in vbcc and hope that this step will help in the creation of new software for the MEGA65.

  • - stdio functions allow file access on 1541 compatible drives

    Frage dazu: Wird die Datasette auch unterstützt? Bzw. ist sowas geplant, falls nicht?

    Ja, Default für __fname ist "__fnamedev=8", dafür müsstest du eine 1 übergeben.

    C128DCR mit Comet64
    Apple IIgs (defekt)
    Acorn Electron
    Oric Atmos (defekt)
    VC-20 mit UltiMem

  • - stdio functions allow file access on 1541 compatible drives

    Frage dazu: Wird die Datasette auch unterstützt? Bzw. ist sowas geplant, falls nicht?

    Ja, Default für __fname ist "__fnamedev=8", dafür müsstest du eine 1 übergeben.

    Vielen Dank für die Antwort! :thumbsup:

    Das Witzige daran ist, dass ich zufällig heute zum ersten Mal seit Monaten wieder eingeloggt habe, und das gleich zum richtigen Zeitpunkt. Das machts noch einmal netter hier. :D

  • Hallo,

    besteht denn mit dem vbcc die Möglichkeit ohnen Weiteres CC65 Libs zu benutzen?

    Ich würde gerne mit dem vbcc arbeiten und unter anderem das Tiny Graphics Interface in mein Programm einbinden.

  • Hallo,

    besteht denn mit dem vbcc die Möglichkeit ohnen Weiteres CC65 Libs zu benutzen?

    Ich würde gerne mit dem vbcc arbeiten und unter anderem das Tiny Graphics Interface in mein Programm einbinden.

    Würde mich auch interessieren. Ich schwanke grade zwischen Durex Forth und VBCC, ein Spiel mit einfacher 3D-Graphik zu implementieren.

  • Hallo,

    besteht denn mit dem vbcc die Möglichkeit ohnen Weiteres CC65 Libs zu benutzen?

    Ich würde gerne mit dem vbcc arbeiten und unter anderem das Tiny Graphics Interface in mein Programm einbinden.

    Würde mich auch interessieren. Ich schwanke grade zwischen Durex Forth und VBCC, ein Spiel mit einfacher 3D-Graphik zu implementieren.

    Hast in dem gcc 6502 Thread meine 3d Grafik auf dem c64 gesehen? Ich fand den gcc Code recht gut.

  • Hat jemand VBCC installiert? Ich komme mit der Struktur nicht klar. In der Anleitung steht sinngemäß, dass es ein root-directory vbcc gibt (z.B. in meinem Fall unter Linux /usr/share/vbcc/), in diesem ein Subdirectory "target", und in diesem hängen dann die verschiedenen Targets, wie z.B. VBCC6502, für uns hier am interessantesten.

    Aber was hängt oder liegt noch in VBCC? Es muss doch noch Inhalte ausserhalb der Target-Subdirs geben? Wo kann ich das herunterladen?

    Oder wo ist mein Irrtum? Gibt es nichts ausserhalb? Was verstehe ich falsch? Finde ich nur einen Download-Link nicht, oder habe ich ganz grundsätzlich etwas falsch verstanden?

    Ich bitte da wirklich um Hilfe, falls jemand das liest.

  • Bitte melde dich an, um diesen Link zu sehen.

    Hast Du die anderen Directories, die da beschrieben sind?

    Also bin doc usw

    Musst erst das binary Paket installieren.

  • Bitte melde dich an, um diesen Link zu sehen.

    Hast Du die anderen Directories, die da beschrieben sind?

    Also bin doc usw

    Musst erst das binary Paket installieren.

    1. Vielen vielen Dank für die schnelle Reaktion.

    2. bin ich eine Minute nach Absenden draufgekommen, dass in den Files von der Bitte melde dich an, um diesen Link zu sehen. die vollständigen Directory-Trees eh in den Zips drunter hängen. Sollte doch bald ins Bett gehen. :D

    3. Schau ich aber morgen noch an, obs so funktioniert oder ob ich doch deinen Tip auch noch brauche. Aber deine schnelle Reaktion ist wieder einmal genau das, was diese Plattform so besonders macht. ^^

  • Prima! Zeig mal, wenn Du was codest. Mag auch C auf alten Rechnern.

    Gern, sobald was da ist. Ich wollte eigentlich ein Spiel in Durex Forth implementieren, allerdings erweist sich das als fürchterlich schwierig - alleine Arrays und Structs zu definieren, ohne sich den Arbeitsspeicher zu durchlöchern :wand - also habe ich gedacht, ich steige auf C um. Werd also ein wenig 3D-Graphik brauchen, aber zum Glück keine Echtzeit.

    Schaumamal ob ich irgendwas zuwege bringe. :LOL

  • Ich habe auch schon mal was in C angefangen. Vielleicht hilft Dir da was.

    Bitte melde dich an, um diesen Link zu sehen.

  • Ich habe auch schon mal was in C angefangen. Vielleicht hilft Dir da was.

    Bitte melde dich an, um diesen Link zu sehen.

    He geil, danke! Sicher hilft mir sowas. An sich kann ich C, aber da ist sicher viel drin, was ich noch nicht im Erfahrungsschatz hab.

    Hallo,

    besteht denn mit dem vbcc die Möglichkeit ohnen Weiteres CC65 Libs zu benutzen?

    Ich würde gerne mit dem vbcc arbeiten und unter anderem das Tiny Graphics Interface in mein Programm einbinden.

    Würde mich auch interessieren. Ich schwanke grade zwischen Durex Forth und VBCC, ein Spiel mit einfacher 3D-Graphik zu implementieren.

    Hast in dem gcc 6502 Thread meine 3d Grafik auf dem c64 gesehen? Ich fand den gcc Code recht gut.

    Oh, die Antwort ist mir erst jetzt aufgefallen. Danke auch dafür! Ich werde ihn mir auf jeden Fall anschauen.

    Update:
    ich seh grade Bitte melde dich an, um diesen Link zu sehen., aber ist das dann dort, oder ein eigener? Da jedenfalls lese ich grade mit Begeisterung durch, sehr brauchbarer Erfahrungsschatz! ^^

    Hier könnte meine Signatur stehen, wenn ich eine hätte.

    Einmal editiert, zuletzt von BlondMammuth (28. November 2024 um 10:39)

  • Es gab einen deutschen und einen englischen gcc Thread. Hier der englische:

    Bitte melde dich an, um diesen Link zu sehen.

  • Hallo,

    besteht denn mit dem vbcc die Möglichkeit ohnen Weiteres CC65 Libs zu benutzen?

    Ich würde gerne mit dem vbcc arbeiten und unter anderem das Tiny Graphics Interface in mein Programm einbinden.

    Würde mich auch interessieren. Ich schwanke grade zwischen Durex Forth und VBCC, ein Spiel mit einfacher 3D-Graphik zu implementieren.

    Hast in dem gcc 6502 Thread meine 3d Grafik auf dem c64 gesehen? Ich fand den gcc Code recht gut.

    Ich such die grade, aber bin noch nicht fündig. Was genau meinst du?