Hello, Guest the thread was called420 times and contains 10 replays

last post from Targas at the

BASIC 65-Verdichter "Cactus 65-Compactor"

  • Ich hatte heute ein paar freie Stunden und habe diese dem BASIC 65 gewidmet. Mir kam die Idee, einen sogenannten "Compactor" zu versuchen, also ein Programm, das ein vorhandenes BASIC 65-Programm "verdichtet".


    In diesem konkreten Fall ging es mir in einer ersten Version 0.1 (also so ungefähr "kann eh noch fast nix") erst einmal darum, die Leerzeichen in einem BASIC 65-Programm zu entfernen, sofern sie nicht in einem REM-Kommentar oder innerhalb eines Stringquotes (") stehen. Der BASIC 65-Interpreter benötigt diese nicht, im Gegenteil, diese kosten ihm "unnötig" Zeit, da er sie erkennen und überspringen muss.


    Also, in der ersten Version 0.1 kann der "Cactus 65-Compactor" ein BASIC 65-Programm, dessen Dateinamen man am Anfang angibt, so modifizieren, dass alle "unnötigen" Leerzeichen entfernt werden und das modifizierte Programm mit dem Namensanhängsel "-cp" auf die Diskette geschrieben wird. Falls der Dateiname länger als 13 Zeichen ist, werden davon nur die ersten 13 Zeichen verwendet, damit das Kürzel noch in die maximal 16 Zeichen für einen Dateinamen passt.


    forum64.de/wcf/index.php?attachment/338743/


    forum64.de/wcf/index.php?attachment/338744/


    forum64.de/wcf/index.php?attachment/338745/


    Sonst macht das Programm nichts. :)


    Falls irgendwas schief läuft, egal was, dann wird "error in line <xy>" ausgegeben. Komfort ist was für Weicheier, hier geht es erstmal nur darum, dass es funktioniert! :D


    Ach so: Die Bildschirmfotos habe ich aus Bequemlichkeit mit dem BASIC 65.EX gemacht, weil ich überwiegend damit arbeite. Das Programm funktioniert aber natürlich auch mit dem Standard-ROM 920376.


    Der Geschwindigkeitsvorteil hält sich hier in geringen Grenzen, er ist aber definitiv spür- und messbar. Zum Beispiel bei den beiden Testprogrammen, die mit auf der Diskette sind, waren die "verdichteten" Versionen so 5% bis 6% als die jeweiligen Originalversionen. Das hängt natürlich auch davon ab, wie großzügig man in seinem Programm die Leerzeichen verwendet hat.


    forum64.de/wcf/index.php?attachment/338746/


    Mal schauen, es gibt natürlich noch weiteres Optimierungspotential (z.B. Zeilennummer ab 1 in 1er-Schritten oder REM-Kommentare entfernen), was aber dann etwas mehr Arbeit benötigt, weil man dann Zeilensprünge usw. anpassen muss. Vielleicht habe ich dafür ja auch mal Zeit und Lust ... dann gibt es ein Update des Cactus 65-Compactors.


    Die Diskette hängt hier als D81-Image mit an.

  • Prima, aber wo hängt die Diskette an? Am Kaktus?

  • Ich hoffe, es klappt nun mit dem Image als Anhang.


    Ich kann zurzeit nur mit dem Smartphone im Forum posten und das Internet hier wirkt so "stabil", als ob die Datenpakete mittels Brieftauben transportiert werden. :whistling:


    Zumindest ist das Wetter gut! :D

    Klingt nach Urlaub in der Karibik. Oder Knast auf SingSing..

  • Hauptsache der MEGA65 ist mit dabei. :D

    Wüsstest ihr schon, dass es keine Kabeltrommeln mit 200 km langem Stromkabel zu kaufen gibt? In keinem Baumarkt zu finden. ;(

    Das schöne am MEGA65 mit portablen LED Monitor ähnlich wie bei einem Laptop ist doch, das der sogar mit einer Powerbank läuft. :D