Beiträge von TheRyk im Thema „Listschutz“

    Wenn Fantomas' Link aufs Wiki, Rolands Tip, es stecken zu lassen, mein Ansatz zu kompilieren oder verschrobene C16/+4 Wege (ich denke übrigens, das RAM sollte reichen ;)), Euch nicht gut genug sind, bitter sehr, hier habt Ihr auch noch alles, was auf emu-ecke.de, jetzt retro-donald.de zum Thema zu finden ist,
    Bitte melde dich an, um diesen Link zu sehen.


    "zeilenweise" hatten wir glaube ich so ähnlich, das meiste sonstige ist ohne Auto-Start imho witz- und wirkungslos, es sei denn man bringt den User dazu, vor dem LIST die Pokes selbst einzugeben.

    Wenn die ganzen Vorschläge nun nicht reichen, um den kostbaren Code unlistbar zu machen, sollte man vielleicht hinterher noch die Files auf der Disk verbergen oder einen Selbstzerstörungsmechanismus einbauen (LIST führt zu sofortigem Formatieren). ;) Damit sollten wir es erschöpfend erörtert haben.

    Nun, auch was die Größe des Kompilats angeht, weiß ich z.T. gerade erst, was ich nicht weiß. Mit Austro und vielen anderen habe ich noch wenig Erfahrungen, bei Blitz vs. Boss habe ich momentan den Eindruck, es gibt eine kritische Masse, ab welcher der Boss gegen Blitz abstinkt. Auf der anderen Seite habe ich den Verdacht, dass der Boss (braucht definitiv nicht zwingend Basic-ROM, hat eine ALLRAM-Routine) dafür auch einiges mehr optimiert, während Blitz-Kompilate scheinbar das Basic-ROM brauchen und immer irgendwo am Basicstart landen. Mehr auch hier: Bitte melde dich an, um diesen Link zu sehen.

    Aber Listschutz ist wirklich der imho unbedeutendste Effekt des Compilings. Und trotz der anderen Vorteile (Performance, Einbindung in Assembler) ersetze ich ich mittlerweile vieles direkt durch bei $C000 abgelegte Assembler-Routinen, weil es eben doch deutlich schneller in Assembler als in (kompiliertem) Basic geht, z.B. mal ein komplettes Screen samt Farbram mit Assembler von A nach B zu poken. Was ich im Moment mache, ist also eigentlich schon ziemliches Pseudo-Basic, weshalb dann überhaupt noch Basic, würde Sauhund fragen, und ich würde antworten: Aus Jux und Dollerei.

    BTT zum Thema Listschutz - warum eigentlich? Wer noch nie eine Zeile Code "geklaut" hat, der werfe den ersten Stein. Ohne fremden Source ist jegliches Erlernen irgendeiner Sprache sehr mühsam, wenn alle englischsprachigen Texte verschlüsselt wären, würden Lerner auch dabei enorm größere Schwierigkeiten haben. Interessant wird es ohnehin erst dann, wenn man das "Geklaute" umbauen muss, denn 1:1 das, was man will, machen die Fundstücke ja doch nicht, so dass man eigentlich irgendwann mal verstehen muss, was in dem "Geklauten" passiert, damit man daran herum feilen kann. Für mich gehört das zum Lernprozess dazu. Gerade hier im Forum hat es sich für manche User schon mal gelohnt, Source zu posten, weil dann ein Sensei einen auf Denkfehler aufmerksam machen kann bzw. einem evtl. zeigt, an welcher Stelle man noch unnötig kompliziert arbeitet. Trotzdem finde ich es nun auch nicht superbeklagenswert, wenn jemand seinen Code "schützt" - egal wie effektiv. Denn es gibt bereits viel mehr ungeschützten Basic-Code als ich je zu studieren bereit wäre. Der auf den ersten Blick vielleicht beeindruckende Kram wie Pirates! hilft vielleicht schon wegen des Umfangs weniger beim Lernen als die IIRC komplett listbaren Competition-Beiträge aus unserer Basic-Ecke, da sind schon etliche Sachen ziemlich High-End, hier z.B. ganz heißer Shice:
    Bitte melde dich an, um diesen Link zu sehen.

    Also Fehler beim Kompilieren treten eigentlich nur dann auf, wenn man zu wenig über den Compiler weiß. Beim Boss gibt es einen Batzen Sachen zu beachten, z.B. müssen Sachen wie DIM oder DEF am Anfang des Listings stehen, packt man sowas ans Ende, kommt der Boss damit nicht klar, trotz GOTO/GOSUB Sprüngen. Gegen so etwas kann man sich durch Studium des Handbuchs aber wappnen.

    Gesucht war ja nach einfachen Lösungen, deshalb schlug ich Skyle's Blitz vor. Der meckert wenig beim Kompilieren und generiert neue Pseudo-Zeilennummern, so dass man bei Fehlern im Kompilat zumindest noch einen Anhaltspunkt hat, wo es im Basic-Source noch hapert.

    Ein paar Vor- und Nachteile von verschiedenen Compilern kann man mittlerweile im Wiki aufgelistet finden.
    Bitte melde dich an, um diesen Link zu sehen.

    Geplauder aus meinem Nähkästchen: Sooooo einfach zurück kompilieren lässt sich Basic-Code übrigens auch wieder nicht, wie es hier teilweise gesagt wird. Disassembeln von Assembler-Compilaten (was ich auch nicht gut kann) stelle ich mir leichter vor. In erster Linie kompiliere ich persönlich aus Performance- und Assembler-Verbindungs-Gründen, weniger weil mir mein Gepfusche so peinlich ist, obwohl ich immer noch fast alles, was ich mache, in erster Linie als Coding-Übung begreife und manchmal wie im jüngsten Fall "Murder" vor allem Erfahrung sammle, wie man es besser überhaupt nicht machen sollte, Stichwort Garbage Collection. Die "String-Säge" aus dem Basic-Hauptteil von Pirates! fand ich genau so lange genial, bis ich gemerkt habe, dass man auf Strings besser ganz verzichten und den Kram lieber irgendwo hin poken sollte. Auch bei Pirates! schlägt die GC gnadenlos zu, fällt bloß nicht so doll auf bei einem Game, das ohnehin ständig nachlädt, wie Colt Seavers neulich treffend bemerkte.

    Kompilieren macht das Listing auch unmöglich und hat dazu noch Vorteile vor allem in Bezug auf Performance/Speed. Wenn Du es möglichst narrensicher/anfängerfreundlich haben willst, empfehle ich Dir Skyle's Blitz, generiert Dir automatisch eine Sys-Zeile.

    Ansonsten ja hochinteressant, wie laut her nach Basic-Source gerufen wird. Dabei gibt es sooo viel!