Hab ich auch schon mal gemacht:
z.B. loading$,8
Schönen Gruß.
Es gibt 161 Antworten in diesem Thema, welches 22.427 mal aufgerufen wurde. Der letzte Beitrag (
Hab ich auch schon mal gemacht:
z.B. loading$,8
Schönen Gruß.
BladeRunner:
Schade, ich dachte jetzt das du das Handbuch unbedingt haben willst.
Glaub mir, von Dir möchte ich nahezu nichts haben.
Glaub ich, aber ich hab den Trick ja auch mit :sys45762: gepostet.
Lies genau, bytebreaker. Keine Erläuterung nötig dass der Code nicht geht wenn man ihn anders aufruft. Selbst falls BIF das vorher klar war (was ich nicht glaube) hielte er es dann nicht nötig drauf hinzuweisen. QED.
Transparenter Code ist für Loser!
Falls man den Schreibzugriff vermeiden will müßte man den Code kopieren und dann in einem anderm Speicherbereich aufrufen oder
auf mein bekanntes ROM-RAM-Copy Verfahren zurückgreifen.
Du meinst eher "dir bekannt" - deine Codes sind nicht bekannt, sie sind nur berüchtigt.
BladeRunner:
Gewöhnlich poste ich Tricks, die keine Nebenwirkungen haben.
Wie z.B. ROM-RAM-Copy
Hierbei hat man keinerlei Speicher-Verluste im Basic-RAM.
Und durch das Programm hat man sogar zusätzlichen Speicherplatz für Sprites, Bitmap, Zeichensätze oder mehrere Bildschirme gewonnen.
Schönen Gruß.
Wenn du dich nur für Assembler interessierst, dann bist du vielleicht in der BASIC-ECKE falsch abgebogen.
Schönen Gruß.
@ Bladerunner
Ich bin nicht naiv und kann BIFs Verhalten einordnen. BIFs ROM-RAM-Trick hat mir bei meinem Minesweeper-Klon geholfen den ich in V2 Basic geschrieben habe, vor allem wegen dem Zeichensatz. Nach 75 Mal nachhaken habe ich dann auch kapiert wie ich dieses Werkzeug sinnvoll einsetzen muss, inkl. Verschiebung aller Bildschirm-Adressen.
Das krasse Gegenteil zu BIF ist z.B. Mike. Der ist sich wiederum nicht zu schade, mit Hand, Fuß und Umsicht Dinge zu erklären, auch noob-tauglich. Wo Licht ist, lässt sich Schatten wohl nicht verhindern. Ich habe mir den Code von BIF trotzdem weggespeichert. Ich weiß genau, dass BIF sich mit seinen kryptischen Schnipseln selbst feiert und er kauzig ist. Das heißt aber doch nicht, dass seine Schnipsel deshalb alle durch die Bank wertlos sind.
Wenn mir etwas wirklich zu blöd ist und die Zeit nicht wert dann ignoriere ich es eben. Egal wie sophisticated und tricky es daher kommt.
Ich weiß genau, dass BIF sich mit seinen kryptischen Schnipseln selbst feiert und er kauzig ist. Das heißt aber doch nicht, dass seine Schnipsel deshalb alle durch die Bank wertlos sind.
Nein, das nicht. Das Problem ist: Um kompetent entscheiden zu können, ob ein BIF-Schnipsel wertlos ist oder nicht, braucht man bereits so viel Wissen...
...dass man den Schnipsel dann eh nicht mehr nötig hat.
Das ist ja das Gute an Forum64.de
Durch die guten Leute die hier sind, gibt es einen "Wikipedia-Effekt". Schwachsinn bleibt nicht lange stehen, auch nicht verschwurbelter und verschlüsselter Schwachsinn. Es gibt nur einen BIF, aber einige mehr Erleuchtete, die richtig einordnen können was er schreibt. Danach richte ich mich dann auch.
Grundsätzlich finde ich es mal ganz schön bescheuert,
daß hier einige Leute einen nebenwirkungsfreien Code einfordern.
Ein Speicherlöschprogramm ist genau so nebenwirkungsfrei, wie der POKE-Befehl.
Genau wie beim POKE-Befehl muß man bei der Anwendung natürlich den Speicheraufbau kennen und wissen an welche Adresse man poke´t.
Poke und Ram-DEL eignen sich grundsätzlich nur für fortgeschrittene Programmierer mit gewissen Speicherkenntnissen.
Diese banale Tatsache sollte eigentlich klar sein.
Schönen Gruß.
:popkorn:
Hallo Leute,
hier mal ein wenig OT. Ich finde manchmal die Sticheleien in Richtung BIF und seine Rückantworten erheiternd. Ich finde es ebenfalls toll, dass BIF seine Beiträge zu Programmierfragen postet. Auch wenn diese nicht wirklich gut bis gar nicht kommentiert sind, bieten diese doch hier immer eine reichlich genutzte Kommentiervorlage! Manchmal meine ich sogar, BIF amüsiert sich über einige Kommentare. Trotzdem sollten ein paar Leutchen auf ihren Blutdruck achten! Und vielleicht auch auf die eigene Wortwahl! Es wäre schade, wenn wir uns in diesem Forum an den Hals gehen müssten! Dafür ist uns unser Hobby doch viel zu wertvoll und wichtig!
BIF: Wenn Du Deine Codeschnipsel für uns Programmieranfänger und -fortgeschrittene mal kräftig kommentieren würdest, dann könnten die Anfänger unter uns damit viel mehr anfangen! So muss ich den Kritikern leider Recht geben, dass man von Dir dankenswerterweise eine Problemlösung serviert bekommt, sich den angedachten Sinn aber durch Andere erst erschließen lassen muss. Bitte erkläre doch zukünfitig, was Dein Programm an welcher Stelle macht und warum Du diesen Weg gewählt hast! Vielleicht kannst Du diese Anregung für zukünftige Postings mal berücksichtigen?!?!
Ich selbst komme aus dem BASIC-Lager, der Version 7.0 und freue mich über jede Anregung, die ein Programm effektiver machen kann.
Liebe Grüße!
ThomBraxton
...und jetzt wieder weiterposten.......
Also, was ich sagen wollte ist:
Bei einem Speicherlöschprogramm muß der Programmierer dafür sorgen, daß es Nebenwirkungsfrei ist.
Das ist auch beim Basic-Befehl Poke so.
Ein Beispiel hat ja Bytebreaker schon gepostet.
Wenn man beim Füllen des Bildschirms(1024) den Bereich b statt mit b=1000 mit b=2000 angibt, dann wird das Basic-Programm, das ab 2048 im Speicher liegt überschrieben.
Schönen Gruß.
Bitte erkläre doch zukünfitig, was Dein Programm an welcher Stelle macht und warum Du diesen Weg gewählt hast!
Dann müsste er sich ja ändern...
Wieviel hunderte Mal wurde er schon darum gebeten?
Ich frage mich, wie BIF im Berufsleben klarkommt (falls er sowas hat). Wenn er sich dort auch so stur und arschkackig gegenüber anderen verhält, muss er ja ein netter Kollege/Mitarbeiter sein...
Ich poste meine Listings in der Basic-Ecke, und nicht in der ASSembler-Ecke.
Wenn jemand mehr wissen will, als ich gepostet habe, muß er entweder eine Frage stellen,
oder den ROM-Code lesen.
Schönen Gruß.
Ansonsten empfehle ich natürlich beim Thema Speicherlöschen,
sich mit dem Speicheraubau des C64 zu befassen.
Anwendungsgebiet für´s Speicherlöschen gibt es theoretisch viele.
Wie z.B. Bitmap, Bildschirm, Farbram, Arrays lösen oder SID löschen.
Schönen Gruß.
SID löschen
Den lassen wir schön brennen.
BIF ist ein Forschungsprojekt zur Gewinnung von Erkenntnissen bezüglich Interaktionsverhaltens und Kommunikation in Foren (Beobachtungsstudie von Interaktion in Foren = BIF)
In randomisierten Zeitabständen werden dazu undokumentierte Thesen veröffentlicht und dann beobachtet, wie der Retro Freak (Homo Sapiens Nerdii) in seinem natürlichen Umfeld reagiert.
Als Humordrüse anwärmen und durch....
Gesendet von meinem CBM 3032 mit gemischten Gefühlen
Wenn du dich nur für Assembler interessierst, dann bist du vielleicht in der BASIC-ECKE falsch abgebogen.
Schönen Gruß.
Basic: Beginner’s All-purpose Symbolic Instruction Code
Da steht was von Anfänger drin - und meine (wiederholte) Kritik bezieht sich darauf dass deine Machwerke für die Zielgruppe nicht zu gebrauchen sind. Diese Kritik kommt auch nicht von mir alleine, sondern von nahezu allen die in deinen Threads so antworten ("Ein Geisterfahrer kommt iInen entgegen? Was denn, das sind doch Hunderte!")
Ich habe nichts gegen Basic und ich interessiere mich auch dafür. Nur ist das vergewaltigen des Interpreters eben kein Basic mehr. Auch das wird dir immer wieder von nahezu allen hier bescheinigt, und wie immer wird es dich auch diesmal nicht interessieren.
Basic hat seine Berechtigung, ich nutze es wenn ich mal kurz was testen möchte. Prototyping von einzelnen Algorithmen zB. Aber wenn es um schnell geht - zumindest wenn man nicht hirnfrei und hemmungslos in Zeropage und Co. rumwüten möchte und dabei teils unvorhersehbare Konsequenzen in Kauf nimmt- ist Assembler das Mittel der Wahl.
Und wenn man schon solche Kernal-Katastrophen produziert und sie teilen möchte, sollte man es mit Hand und Fuß tun und genau dokumentieren was die Dinger tun, welche Nebenbedingungen gelten und wie zum Geier man sie anwendet.
Aber wie immer könnte ich auch diesmal mit einem Stein reden statt mit Dir. Beim Stein ist eine Verhaltensänderung oder sowas wie Einsicht wahrscheinlicher.
BladeRunner:
Dazu habe ich schon meine Meinung gesagt:
1. SYS,POKE,PEEK und USR sind fester und offizieller Bestandteil des Basic V2.
2. Wenn ich eine System-ROM-Rouitine anspringe, dann benutze ich Unterprogramme die ein fester und offizieller Teil des Basic-Betriebssystems sind.
Nämlich so fest und offiziell, daß sie zum ROM-Code gehören.
Schönen Gruß.
Klar sind diese Befehle Teil des Basic-Interpreters.
Und ebenso hat das Kernal eine fette Ladung Routinen zu bieten, die den Laden am Laufen halten.
Grundsätzlich ist auch eine Verwendung dieser Routinen durchaus brauchbar und kann sinnvoll sein.
ABER:
Der Code hier im Thread zeigt schon direkt wie heikel das sein kann. Ersetze unbedarft den direkten Aufruf durch eine Variable und *BUMM*. Weil die Routine die du da anspringst nicht dafür geschaffen wurde sie so zu nutzen wie Du sie nutzt.
Es ist fehleranfällig und funktioniert nur in einem sehr eng gesteckten Rahmen. Das ist einfach gefährlich und schlechter Stil.
Nun kannst Du sagen: Mir Wurst, ich weiss ja worauf ich so achten muss. Mag sein, dass Du es weisst. Schön für Dich. Aber dann solltest Du diese Randbedingungen auch offen darlegen wenn Du deine Codes auf einer offenen Plattform wie diesem Forum anbietest. Sonst fliegt dem nächsten dein Code um die Ohren und er hat keine Ahnung was da schief läuft.
Basic besteht aus einer Abfolge von Befehlen die vom Interpreter ausgewertet und dann genutzt werden. Das ist nach meinem Verständnis (und ich wage zu behaupten dass ich damit nicht alleine bin) das was man als valides Basicprogramm sehen kann. Du vermengst Basic mit (im ROM enthaltenen) Maschinenroutinen die eigentlich nicht für die Nutzung unter Basic vorgesehen wurden sondern im System sind um eben jenes am Laufen zu halten. Um sie nutzen zu können musst Du Pointer und Vektoren verbiegen und teilweise Nebeneffekte hinnehmen die unter Umständen einen totalen Crash zur Folge haben.
Das ist kein Basic mehr, denn Du schleust Teile des Programmes am Interpreter vorbei.
Wie schon erwähnt wäre dagegen aber nicht mal was einzuwenden, wenn nicht immer wieder keinerlei Erklärung zum Code käme (Wenn Du was präsentieren willst: Gerne, aber mach es doch so dass es mehr bringt als nur dein Ego zu polieren) und: Hacks in allen Ehren, aber wenn es mir auf Speed ankommt (was ja oft deine Motivation / Argumentation ist) dann nehme ich halt direkt den Rennwagen Assembler und nicht den Käfer den ich mit einer Nitroeinspritzung kurz überdrehen kann bevor er ausbrennt.
Noch dazu - aber auch das ist wieder eine Wiederholung - wo Du deine eigene Massgabe (Geschwindigkeit) mit so lecker dingen wie überflüssigen Doppelpunkten konterkarierst.
Also du stellst mit deinen Posts hier verschiedene Thesen in den Raum, ohne ein einziges konkretes Beispiel zu nennen.
Also von welcher System-Routine und von welcher Zeropage-Adresse geht denn deiner Meinung nach die größte Gefahr der Vergewaltigung aus?
Und welche System-Routine ist denn deiner Meinung nach kein Basic mehr?
Das könnten wir ja mal gemeinsam klären.
Schönen Gruß.