Beiträge von Ratte im Thema „80 x 50 Pixel im Textmodus malen“

    Anbei der Source von "Testcore2"

    Laufzeit: 11 Min. 1,1 Sek.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Anbei der Source vom "Testcore1"

    Laufzeit: 41 Min 14,4 Sek.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Viel Spaß mit dem neusten sinnlosesten Tool .... TUTMARK20.

    Es benötigt locker eine halbe Stunde für einen Durchlauf.

    Coredateien können selbst entworfen werden.

    Möglich variablen alles mit P am Anfang.

    Es können in der 10000 Routine Dataen eingelesen werden (Datawüsten) der Pointer liegt richtig.

    Theoretisch kann man die 11000 Punktroutine auch in Asm einbauen (10000 Datawüste zum einpoken).

    Mehr im neuen Jahr.

    Gruß

    André

    Nö, geht nicht anders. Ist halt Basic. ;)

    Auf dem Amiga hab ich vielleicht eine Woche mit dem beigelegten AmigaBasic rumprobiert.

    Dann fiel mir das viel schnellere und wirkliche gelungene GFA-Basic in die Finger.

    Damit hat das Coden dann auch wieder Spaß gemacht.

    Hab mich dann aber recht zeitig auf 68k-Assembler gestürzt.

    Ich habe die letzten Tage an einem kleinem Benchmark mit integriertem Funktionstest gesessen.

    Nichts aufregendes nur ein wenig (grobes) eye candy zu dem Thema.

    Damit ihr auch etwas Spaß an dem Thema habt.

    Ich muss noch etwas Feinschliff betreiben und werde wohl in den nächsten 24h das Prg uppen.

    Hab seit den Amiga-Tagen keinen solchen Spaghetti-Code mehr ausgeworfen.

    Ich glaube fast, dass es bei Basic V2 gar nicht anders geht ... :D

    Ich habe mein GOTO-Monster debugged.

    Als Datei im Anhang.

    Ich hab da so eine Idee .... bald sind Herbstferien in NRW.

    :D

    Ich hätte jetzt nicht gedacht, dass es sooooo ein Interesse weckt.

    :)

    Aber warum nicht .... wollen wir nicht mal eine Competition daraus machen und den schnellsten Basic-Code für das Problem finden?

    :thumbsup:

    Zu der "IF-THEN Problematik" ... der Basic-Interpreter lässt es einen spüren, wenn die Bedingung erst am Ende eine langen Abfragekette eintrifft.

    Im zweiten Listing (die lange Version) ist es viel performanter, da ich zwei Sachen dafür eingebracht habe.

    - Das Zerlegen der Abfrage mehrmals in gleich große Teilstücke, was in Summe einen schnelleren Durchlauf ermöglicht.

    (Zeilen 10160-10260)

    - ON x GOTO ist das nächste an Zauberei ....

    Wenn ich ehrlich sein soll, dieses ist mein erster Code, wo ich den Befehl jemals verwendet habe.

    Der Befehl ist im Grunde ein TURBO-IF-THEN-GOTO, der Interpeter hat ab nur einen Token zu dekodieren.

    Man muss nur vorher x in das passende Format bringen.

    (Ich verwende es hier zum setzen löschen & invertieren ... der folgende GOTO-Befehl ist dann Parameter 3 RO (read only) und setzt pm auf 0 oder 1)

    When coding IS fun ... :P

    wenn ich den ganzen Bildschirm zeilenweise fülle, erscheint bei der 2., 4. .6. usw. Zeile regelmäßige Fehlmuster.

    Ahhh ... schau an, dafür sind Foren gut.

    Bugs jagen ... Danke für den Hinweis.

    (Für ein "Gefällt mir" fehlt mir die Berechtigung .. bin zu neu hier)

    Mit der Pixelroutine wollte ich meinem Sohn etwas zum coden in die Hand geben.

    Aufgabenstellung wie ... mach mal eine Line-Funktion damit.

    Oder Kreise zeichen .. die Basics halt.

    :D

    schnellere version faktor 6-8x

    Mahlzeit,

    gelegentlich muss man mal Schwachsinn ausprobieren.

    Aus einer kleinen Langeweile im Urlaub entstanden.

    Eine Punktroutine für den Textmode Auflösung 80 x 50 Pixel.

    px=.. (0-79)

    py=.. (0-49)

    pm=.. 0 pixel löschen / 1 pixel setzen / 2 pixel invertieren / 3 pixel auslesen (ergebnis in pm 0/1)

    aufruf über

    gosub10000

    todo: test mit array de/codierung, mal sehen ob es noch schneller geht ... :D

    Im Anhang ist das Basic-Programm mit einem Benchmark (schwer übertrieben).

    In der Version wird die ursprüngliche Pixelroutine verwendet.

    Wenn im Listing die Zeile 10000 verändert wird (es reicht ein 10000 rem) springt die schnellere Routine an.

    Gruß

    Ratte