Unbekannten Compiler entdeckt

Es gibt 191 Antworten in diesem Thema, welches 31.064 mal aufgerufen wurde. Der letzte Beitrag (23. Mai 2024 um 20:54) ist von muffi.

  • Ja, ich komme ja noch nicht einmal so weit, dass ich einen Filenamen angeben kann!

    Ich habe jetzt genau das Gleiche wie Du gemacht: leeres D64, nur den Compiler und das Monopoly drauf. Bevor ich überhaupt Gelegenheit bekomme einen Filenamen einzugeben, bekomme ich den Error-Screen wie in Post Bitte melde dich an, um diesen Link zu sehen.. Da stimmt was nicht im Staate Dänemark.

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Nachdem ich allen anderen Blödsinn geistig jetzt mal ausgeschlossen habe, bliebt nur noch eine Möglichkeit: das Kernal!

    Also im Vice das Standard-Kernal genommen statt Jiffy. Und siehe da...!

    Das ist ja kaum zu glauben! Das Ding taugt wohl wirklich ned viel. Eine geklaute Runtime sehe ich jetzt aber nicht ganz so schlimm, für den Java-Compiler gibt es ja auch eine Fülle von Sprachen. Nur mit dem Unterschied, dass der in manchen Varianten sogar komplett frei ist, das dürfte die Runtime vom Austro wohl eher nicht gewesen sein :wink:

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Der Austrospeed funktioniert bei dir doch, deshalb müsste der CD-Compiler auch funktionieren. Aber offensichtlich stimmt mit deiner WinVice-Konfiguration was nicht oder es liegt an etwas anderen.

    Wie du schon sagtes, da stimmt was nicht im Staate Dänemark.

    Ach, Jiffydos macht in Handumdrehen Probleme. Bei manchen Compilern sollte man nur die oiginal Kernalroutinen nutzen.:)

    Da ist nicht nur die Runtime geklaut, sondern der ganze Compiler. Einzig den Savename und die SYS-Adresse wurden geändert.

  • Nicht nur der Austrospeed, sondern alle Compiler der Austro-Familie machen bei mir keine Probleme im Vice - bis auf den CD-Compiler, den ich aber nicht zu der Familie zählen kann. Am Cevi übrigens das gleiche Bild. Ich muss das CD-Ding mal durch den Decompiler jagen und mal sehen, was der in der fraglichen Zeile macht ;)

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Keiner meiner Austro-Decompiler konnte das Ding vernünftig decompilieren. 100% Austro ist es wohl nicht, aber wohl in weiten Teilen geklaut. Der Austr-Decompiler 3.2 von 2016 schafft es zumindest, einen Quelltext von 81 Blocks zu generieren.

    Und: eine Zeile 8120 gibt es gar nicht (die ersten paar Zeilen des Decompilats):

    Code
    8104 clr
    8105 syspeek(45)+peek(46)*256-2586
    8122 rem
    8123 z=0

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Ich habe in meinen Fundus eine mal kopierte Anleitung des TINY-Basic-Compiler für VC-20 und C-64 gleichzeitig, auf deutsch, Die eigentliche Software stammt von Abacus Software, wurde meine ich dann auf deutsch von DATA Becker verkauft (?). Vielleicht fehlt oder hilft das ja weiter ...

    Na dann stell es doch mal rein :wink:

    Habe aktuell leider keine Scanmöglichkeit, aber wir finden einen Weg. Muss das Ding ja auch erst mal ausbuddeln ...

    Nebenbei: den eigentlichen Compiler habe ich zwar auch, aber die VC-20 Version. Keine Ahnung ob ich diese Kassette je gesichert habe ...

  • @cb-warrior

    Also wenn es ums Scannen geht, dann kriegen wir das auch hin. Und wenn es sich lohnt (für 2 Din A4-Seiten lohnt es fast nicht), schick mir das, ich scanne es schonend (ich habe schon viele Bücher und Zeitschriften gescannt) und schicke es wieder zurück...

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • ...REM Befehl werden ignoriert... Naja, es gibt auch eine bestimmte Sorte von Codern, bei denen die Sprünge wie GOTO oder GOSUB auf REM-Zeilen zeigen. Das muss der Compiler erkennen und ggf. ändern.

    Naja, es kann nicht ALLES gehen das im Interpreter geht!

    Wenn man das macht, dann ist der Compiler nicht mehr effektiv.

    Ja, ich mache das z.B. so mit dem Anspringen von REMs. Ich weiß, dass viele hier das als schräg ansehen...ich finde die andere Variante schräg. Die REMs dienen bei mir als Header für Funktionen im Code und natürlich springe ich die dann auch an.

    Das hier gesehene Problem beim Compilieren von REM-Zeilen existiert gar nicht. Die Zeile mit REM hat einfach dieselbe Adresse wie die erste Zeile mit Code, die danach kommt. Man erhöht beim Generieren einfach den Adresszähler nicht, das ist alles. Ein kompletter No-Brainer, es ist nicht einmal zusätzlicher Aufwand.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • In dem Fall sollte das Basic-Listing etwas anders aussehen als das Original, insbesondere keine GOTOs und so weiter.

    Ich weiß nicht, ob _ich_ sowas einen Compiler nennen würde, aber das Ding scheint schon etwas zu tun, was prinzipiell einen Effekt haben dürfte.

    Ich habe mir die Arbeit also dann doch nochmal gemacht. Ne, also was der BASS-Compiler da macht, ist mir vollkommen unklar. Wie gehabt, das compilierte Programm unterbrochen und siehe da:

    Code
    422 gosub25000:printsn$(23)
    425 geta$:ifa$<>" "then425
    430 print"S";:fora=24to40:print"^"sn$(a)
    :next
    440 gosub25090:printsn$(41)

    Noch nicht einmal Sprünge sind optimiert. Ich frage mich wirklich ernsthaft, was das Ding eigentlich macht.

    Möglicherweise das langwierigste und komplizierteste Basic-Kopierprogramm der Welt? :krank:

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Heureka! Ich habe es geschafft, mit der zuerst geposteten Version (nur echt mit den 4 Durchgängen) was zu kompilieren. Einmal das übliche "Hallo Welt"-BASIC-Programm und einmal POKEn in den Bildschirmspeicher. Alles Komplexere wurde entweder mit einem "Formula too complex"-error im Compiler beendet oder lief durch, um dann mit "Zeile nicht gefunden" am Ende nicht lauffähig zu sein. Außerdem mag der Compiler kein, ich nenne es mal, BIFen, also ":" an den Anfang der Zeile schreiben.

    Egal, die einzigen jemals mit diesem Compiler erzeugten Programme hängen an...

  • Compilierzeit zum Hallo Welt ca. 8 Min 57 Sek? :D

    Weiß nicht....ALT+W im Emulator halt und ich habe die Quellen direkt auf der Compilerdiskette abgelegt, dann entfällt das Gewechsel.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Keiner meiner Austro-Decompiler konnte das Ding vernünftig decompilieren. 100% Austro ist es wohl nicht, aber wohl in weiten Teilen geklaut. Der Austr-Decompiler 3.2 von 2016 schafft es zumindest, einen Quelltext von 81 Blocks zu generieren.

    Und: eine Zeile 8120 gibt es gar nicht (die ersten paar Zeilen des Decompilats):

    Code
    8104 clr
    8105 syspeek(45)+peek(46)*256-2586
    8122 rem
    8123 z=0

    Es ist auch eine Menge an Assembler Code enthalten. Ich habe das mal so aufbereitet, dass ich das komplette Basic fehlerfrei decompilieren konnte. Im Anhang befindet sich die PetCat Datei.

  • Es ist auch eine Menge an Assembler Code enthalten. Ich habe das mal so aufbereitet, dass ich das komplette Basic fehlerfrei decompilieren konnte. Im Anhang befindet sich die PetCat Datei.

    Bei Dir fehlt die ominöse Zeile 8120 aber genauso :whistling:

    Ist jedenfalls sehr merkwürdig mit dem Ding. Das ist, glaube ich, das einzige Programm, dass nicht mit Jiffydos kann!

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Compilierzeit zum Hallo Welt ca. 8 Min 57 Sek? :D

    Weiß nicht....ALT+W im Emulator halt und ich habe die Quellen direkt auf der Compilerdiskette abgelegt, dann entfällt das Gewechsel.

    Wenn ich nach dem Speedup bei meinem Rechner gehe, bleiben immer noch 2 Minuten übrig :wink:

    Apropos, ich habe es in meiner Verzweiflung gestern auch mal mit dem SuperCPU-Vice probiert. Da zeigt er nicht mehr die richtige Zeilennummer an, das schaut schon fast so aus, als ob das quasi eher zufällig hin- und her springt. Fehlermeldungen hatte ich zwar keine, aber den Versuch dann doch recht schnell abgebrochen. Was soll da schon raus kommen...

    Früher waren 64k unglaublich viel, heute reicht es nicht mal mehr für "Hello, world!".

  • Nö, das ist richtig decompiliert. das "8122 rem**se" ist eine Austro-Compiler Direktive.

    59 (STOP key enabled compiler directive) REM ** SE

    5a (STOP key disabled compiler directive) REM ** SA

  • So Freunde,

    ich habe auch einen mir bislang nicht bekannten Compiler gefunden - dachte ich. Er nennt sich C64 Ultra Fast Basic Compiler.

    Bei Starten verhält er sich wie der CD-Compiler, sprich, es kommt nur ein lapidares ?OUT OF MEMORY ERROR IN 8120, mit Original-Rom läuft er und siehe da - Skyles Blitz!

  • Nebenbei: den eigentlichen Compiler habe ich zwar auch, aber die VC-20 Version. Keine Ahnung ob ich diese Kassette je gesichert habe ...

    Hier nur mal nebenbei ein D64 von der VC-20 Version des Tiny Basic Compiler. Benötigt entweder +3 KB oder +8 KB und höher.

  • Anbei der CD-Compiler, der unter Jiffydos nicht funktionierte. Ich habe den Codemurks mal so abgeändert, dass es nun mit Jiffydos funktioniert.:)

    Den kann manl sich nun auch in ein d81-image kopieren starten.