Posts by BlondMammuth

    ich benutze seit einiger Zeit den vbcc, und bin begeistert, weil er tatsächlich um einiges kompatibler und exakter zu sein scheint als die Konkurrenz. Jetzt stoße ich auf einen systematischen Fehler, der genau bei der Verwendung von 64bit-integers (signed oder unsigned scheint egal zu sein?) auftritt, und zwar, als Beispiel:

    error 158 in line 20 of "src/q32.c": internal error 0 in line 3741 of file machines/6502/machine.c !!

    Ist dir der schon bekannt?

    Ja, wie Claus schon richtig bemerkt hat, unterstützt das 6502-Backend noch kein long long. Steht auch unter known problems in der Doku. :smile:

    Ist halt auf 8bit-Systemen kein so dringender Punkt und liegt ziemlich weit unten auf der Liste...

    Oh verdammt! :rtfm:
    Hätt ich doch .. :LOL

    Danke jedenfalls für die Auskunft.

    Und ich musste drüber stolpern. Ich bin genau so ein Irrer, der immer alles ausprobieren muss, und je perverser, desto besser! LOL28


    Aber ich verstehs, und brauchs auch nicht so furchtbar dringend.

    Aktuell passe ich z.B. die Floating-Point-Routinen aus dem jetzt von MS freigegebenen Basic an vbcc an, weil mir das nützlicher erscheint.

    Klingt großartig, und wäre dann eine Möglichkeit, in C absolute Kompatibilität mit Basic zu erreichen?

    Man kann natürlich die Frage stellen, ob sich der Aufwand lohnt. 64-Bit integer ist auf nicht-64-Bit-Plattformen ja schon recht exotisch. Daher ist es ja auch erst 1999 in den C-Standard aufgenommen worden. Wozu brauchst Du denn so einen riesigen Wertebereich? Ein Workaround wäre, die Zahl in eine High und eine Low Long Integer aufzuteilen und die beiden getrennt zu verarbeiten. So hat man das vor C99 gemacht.

    Ich arbeite an einem exotischen Spiel, das plattformübergreifend funktionieren soll. Ja, mittlerweile mach ich es eh so, aber ich hab mir halt gedacht: Wenn der Fehler schon auftritt, melde ich ihn halt auch. :ilikeit:

    Habe aus Neugier mal einen Blick in den Sourcecode geworfen (auf Please login to see this link. ganz unten bei current snapshots) und der Fehler tritt bei der Auswertung von Datentypen auf: char, short, long und pointer werden abgefragt, alle anderen landen in einer Fehlerausgabe. Sprich: 64 Bit werden im 6502-Port wohl nicht supported.

    Danke!!!

    OK, das erklärts vielleicht. Schaumamal ob da noch was kommt. :thumbsup:

    Hallo vbc1,

    ich benutze seit einiger Zeit den vbcc, und bin begeistert, weil er tatsächlich um einiges kompatibler und exakter zu sein scheint als die Konkurrenz. Jetzt stoße ich auf einen systematischen Fehler, der genau bei der Verwendung von 64bit-integers (signed oder unsigned scheint egal zu sein?) auftritt, und zwar, als Beispiel:

    error 158 in line 20 of "src/q32.c": internal error 0 in line 3741 of file machines/6502/machine.c !!

    Ist dir der schon bekannt? Ich hätte auf ein fehlendes cr oder newline in der letzten Zeile dieses Files getippt, aber es ist mir nicht zugänglich. Müsste ich dazu die Sourcen runterladen? Bzw. wie könnte ich das umgehen, bis er korrigiert ist?

    Danke fürs Erste und dank im Voraus!

    LG BM

    Ich habe mich fürchterlich geärgert, als ich zweimal mein Fairphone 2 zur Reparatur eingeschickt habe - reiner Hardware-Austausch auf Garantie - und es zweimal jungfräulich mit Android zurückgekommen ist. Ich hab zwar vorher gebackupt was nur ging, aber beschissenerweise ist Backup auf solchen Telephonen immer recht schwierig. So einfach einmal ein Image ziehen und wieder drüber kopieren ist leider nicht. Also haben mir die einen echten Schaden verursacht, weil ganz genau so hab ich das nimmer hingekriegt wie es vorher war. Na hätten die die Software nicht einfach in Frieden so sein lassen können, wie ICH sie mir eingerichtet habe? Ich habs denen sogar dreimal dazugeschrieben, dass sie da nichts ändern sollen.

    Ich hab dann erfahren, dass die das offenbar müssen, vertraglich gefesselt. Aber ich habe damals erneut beschlossen (nach einer Geschichte mit einem gesperrten Gmail-Account, den ich nur mit Telefonnummer entsperren könnte, was aber bei Anlegen des Accounts so nie ausgemacht war), dass Google einfach mein Feind ist und bleibt. Ich habe für diese Firma nur mehr Verachtung übrig, tut leid. Mich wundert diese Sch.. daher gar nicht.

    Und auch wenn ich Apple nicht besonders mag - SO tief ist Apple in meinem Ansehen nie gesunken wie mittlerweile Google.

    Ich warte auf eine echte (nicht-chinesische) Alternative, die leicht geht! Wenns sowas je gibt.

    Warum sollte er das auf Kosten der Community? Er fragt ja um deren Hilfe. Wenn er ein wenig kriegt, um seine Arbeit abzugelten, gut. Aber erst mit der Botschaft antreten, die Community zu befreien, dafür die Hilfe der Crowd lukrieren, und sich dann gierig dran zu bereichern, das klingt schon eher nach "Animal Farm".

    Ich denke aber nicht, dass er das vor hat. Soviel Vorschuss-Vertrauen sollte man schon haben.

    Google hat nun schon sehr viel gemacht um Costum OS nicht mehr so leicht nutzbar zu haben, auch die Auslieferung mit Costum OS ist nicht mehr werksseitig erlaubt, da sonst die ganze Charge keine Googlezertifizierung mehr bekommt. Ich nenne das erpressung. Diesen Weg geht Google schon seit einiger Zeit und immer weiter und intensiver.. Google kann man wirklich keinen GPL-Freund nennen.. Es gibt einige Gründe wieso ich Google nicht mehr nutze.

    Das ist eine ziemliche Schweinerei.

    Ha, jetzt hab ich eine Theorie. Ich habe die Libs in mein /lib-Directory gestellt, weil der Compiler sie sonst nicht gefunden hat. Vielleicht sucht er jetzt in allen Subdirectories nach irgendwelchen Libs? Dann wäre es besser, die Libs irgendwo getrennt zu haben. Aber die Beschreibung sagt, das lib-directory muss im selben dir sein wie das bin-directory. Also dürfte ich das binary nicht aus dem /usr/bin starten, weil sonst zwingend dieses lib-directory verwendet wird.

    Wenn ich recht habe. Wenn nicht, schauts wieder ganz anders aus. :roll::nixwiss:

    Jep, da bin ich auch reingerannt und hab beim entwickler nachgefragt.

    Aktuell kennt der xcbasic compiler kein sinvollen includepath oder so, nur seinen internen lib-ordner den er auch genau da (relativ zu seinem binary) haben möchte wo er initial liegt.

    Wie genau hast du das dann behoben? Denn bis jetzt ist mir das nicht gelungen.

    Ha, jetzt hab ich eine Theorie. Ich habe die Libs in mein /lib-Directory gestellt, weil der Compiler sie sonst nicht gefunden hat. Vielleicht sucht er jetzt in allen Subdirectories nach irgendwelchen Libs? Dann wäre es besser, die Libs irgendwo getrennt zu haben. Aber die Beschreibung sagt, das lib-directory muss im selben dir sein wie das bin-directory. Also dürfte ich das binary nicht aus dem /usr/bin starten, weil sonst zwingend dieses lib-directory verwendet wird.

    Wenn ich recht habe. Wenn nicht, schauts wieder ganz anders aus. :roll::nixwiss:

    SUPER, danke! :ilikeit: Werd ich mir auf jeden Fall anschauen!

    Schreib mich gerne an, wenn du Tipps bei XC-Basic brauchst.

    LazyJones, ich komm tatsächlich auf dein Angebot zurück, ich machs aber hier öffentlich, damit Dritte die Antwort auch haben, wenn sie auf dasselbe Problem stoßen. Vielleicht kannst du mir helfen.

    Mein Problem ist dieses:

    std.file.FileException@std/file.d(4757): /lib/ssl/private: Permission denied

    Jetzt frage ich mich ernsthaft: Was will ein Basic-Compiler mit meinen Privat-Zertifikaten? Warum sollte ich dem das aufmachen?

    Ich habe mich entschieden: Ich werde erst einmal xc-basic ausprobieren. Das erscheint mir simpler.

    SUPER, danke! :ilikeit: Werd ich mir auf jeden Fall anschauen!

    Schreib mich gerne an, wenn du Tipps bei XC-Basic brauchst.

    Toll, danke! :thanx::thnks:

    Ich bin jetzt in einer der Situationen, die ich am meisten liebe (nicht), nämlich in der Entscheidungsphase. Mir kommt xc-Basic sehr gut vor, ebenso Rascal. Rascal ist sehr auf Demos ausgelegt. Ich vermute, dass xc-Basic großartig compiliert, und mir kommt sowohl der Sprachumfang recht angenehm vor - er enthält so alles, was in modernen Basics vernünftig da ist - als auch hat es, wie Rascal, brauchbare Libraries.

    Hm.

    Die alte Frage: Was mach ich jetzt? :hae::LOLLOL28

    Muss die Entwicklungsumgebung auf dem C64 laufen? Ansonsten z.B. Please login to see this link.

    Kann ich nur Empfehlen. Ist wie Basic v2 mit vielen Erweiterungen und ist auch anschließend super schnell.

    Ich habe es schon für viele Programme genutzt (auch die Highscore APP im WiC64 ist mit XC-Basic programmiert) und es gibt eine Library mit der es ziemlich einfach ist "Internetfähige" Programme für das WiC64 Modul (welches auch im Vice emuliert werden kann) zu schreiben.

    SUPER, danke! :ilikeit: Werd ich mir auf jeden Fall anschauen! :thnks:

    Na und bei meinem Glück hat Rascal eine eigene Lib dafür, aber nirgends den Source-Code oder eine Beschreibung dafür.

    Gibt's sogar Videos zu: Please login to see this media element.

    Abseits von Basic ist das alles nicht so wild. ;)

    Doch, danke, die kenne ich. Aber ich hab keine Sourcen dafür gesehen, die mir zeigen würden, wie sie intern funktioniert, und noch nicht einmal eine vernünftige Dokumentation. Aber genau das wollte ich eigentlich wissen.

    Aber an sich: Variablen haben am Stack nichts verloren, außer man liest sie aus und deren Werte landen dann dort.

    Natürlich. Nenne sie "Konstanten", solange sie auf dem Stack sind. Ich meinte, ich würde gerne pointer in den Stack so definieren, dass ich von aufgerufenen Wörtern aus danach ohne große Probleme drauf zugreifen kann.

    Der Stack sollte eher nur dezent für solche Zwecke verwendet werden.

    Auch klar. Und es wäre auch in den meisten Fällen nicht zielführend. Vor allem müsste man auch voraussetzen, dass die tatsächlich definiert sind, wenn das sie verwendende Wort aufgerufen wird. Also eine unpraktikable Idee.

    Aber manchmal ist es extremst mühsam, sich zu merken, wo diese Werte, die man grade jetzt braucht, beheimatet sind. Da wäre eine Benennung schon recht nett.

    ich hab mir überlegt, da ich in FORTH und C nicht wirklich weiter gekommen bin,

    Oh, was ist passiert? Was hat das "Weiterkommen" gehindert?

    Ich geb zu, Forth ist halt wirklich etwas "kantig" und wenn man nicht wirklich wirklich völlig der Forth-Idee verschreibt, dann tut man sich schon schwer. Ich hab eigentlich für meine paar Herumprobierereien das Performance Micro Products (eine Forth/79 Variante) mit meinen Grafikbefehlen verwendet.
    Moderner und eleganter wäre vermutlich Durex-Forth, oder?

    Bei C lass ich mir das schon gut vorstellen. Wenn man nicht wirklich eine Cross-Entwicklung macht, dann ist das auf dem C64 direkt nicht wirklich lustig.

    Ich würde fast vorschlagen, falls ein Admin sich meiner erbarmt, den Thread ab JeeK's Frage in einen eigenen "Jammer-Thread" auszulagern. Es geht nicht mehr um Basic-Compiler, und ich jammere vor mich hin. Idee?

    Ich liebe Vektor-Graphiken, weil es sehr viel vom Coder abverlangt, damit das flüssig abläuft.

    Die Demo Digital World von Samar Productions nutzt sogar die CPU der 1541 zu Berechnung.

    Na und bei meinem Glück hat Rascal eine eigene Lib dafür, aber nirgends den Source-Code oder eine Beschreibung dafür. Vielleicht in einer neueren Version, aber die läuft wieder auf meiner VM nicht.

    Es ist egal, was ich versuche, irgendwo steckt immer der Hund drin. :lol27:LOL28

    Ach was, jetzt installiere ich mir extra dafür eine neue VM. Und weiß genau, dort wartet die nächste Mauer. Verdammt! :lol27::picard::thnks::krank::LOL

    und zweitens ist das, was ich vorhabe, in Forth zwar möglich, aber entsetzlich kompliziert

    Das ergänze ich noch: Mir gehts um Vektor-Graphik. Die Berechnungen gehen zwar in FORTH, aber um Himmels Willen, dazu wäre es so einfach, Variablen am Stack namentlich anzusprechen.

    Wobei ich mir grade überlege, ob ich das Ding nicht basteln könnte. Gibts in FORTH ein Wort, das einen Pointer auf das aktuelle Stack-Element zurückliefert? Dann ginge das wohl. Warum bin ich nicht schon vorher auf die Idee gekommen?

    Naja, vermutlich weil das dann furchtbar langsam laufen würde. Oder auch nicht. Naja - den Namen kann man mit einem Compile-Wort rauskürzen. Übrig bliebe ein zweiter Stack, auf dem man Pointer in den ersten Stack verwaltet. Wär auch noch langsamer. Hm.. nachdenken!