gwbasic: Mandelbrod Prgramm von CGA SCREEN 1 auf SCREEN 2 umschreiben?

  • Hallo, ich habe hier ein GW-BASIC Programm, welches in CGA 320x200 in 4 Farben die Mandelbrotmenge errechnet und darstellt:


    Das schaltet in Zeile 30 mit Screen 1 in CGA 320x200x4 um, so sieht das aus:



    Wie müsste es umgeschrieben werden, dass es in SCREEN 2 (640x200 monochrom) bildschirmfüllend läuft?


    Klar ist Zeile 10, dort muss ZEROX=320 geändert werden. Aber wie müssen in den Zeilen 170 und 180 die Farben für die PSET-Befehle angepasst werden, da es in dem Modus ja nur Schwarz und Weiß gibt? Wahrscheinblich braucht es auch zwei SCALE# Variablen, für X und Y in den Zeilen 50 und 70?

  • in Zeile 170 und 180 muß einfach stehen


    Code
    170 PSET (X, Y), 1
    180 PSET (X, 2*ZEROY-Y), 1


    50 und 70 sollten eigentlich so bleiben können, da du ja ZEROX angepaßt hast in Zeile 30 10

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Wenn Du es als Benchmark benutzen willst, solltest Du die Ergebnisse in Array schreiben und erst danach plotten. Sonst mißt Du möglicherweise eher die Unterschiede in den Plotroutinen (Punkt setzen) als das eigentlich Gerechne.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries


  • XSkalierung läßt sich auch in Zeile 50 noch anpassen. Dann kann man sich zwei "SCALE#" sparen.



    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Die Änderung sieht schonmal so aus, nachdem ich in Zeile 50 nochmal durch 2 geteilt habe, um das Apfelmännchen doppelt so breit zu strecken:



    Der Poqet-PC berechnet das auch gerade, der wird "etwas" länger brauchen... (ich glaub, so viel musste der noch nie auf einmal rechnen...)


    Schön wäre aber, dass je nach Variable I die weiße Fläche auch wieder schwarz wäre.


    Aber auch das geht, wenn ich in den Zeilen 170 und 180 nicht ",1" nehme, sonder ", 1-(i mod 2)". So sieht das dann aus:


    1ST1

    Einmal editiert, zuletzt von 1ST1 ()

  • Jetzt muss ich hier nochmal nachfassen. Hatte ja angedeutet, dass ich den Poqet-PC das auch mal rechnen lassen habe. Nunja, eigentlich kann man im Handbuch von dem Palmtop nachlesen, dass die zwei AA-Batterien wegen ausgeklügeltem Powermanagement mehrere Wochen bis Monate durchhalten sollen. Man darf ihn halt nicht mit so komplexen Berechnungen quälen, das Programm lief nur ca. 80% durch, dann war er leer, hatte den Kleinen ja auch schon vorher mit anderen Sachen strapaziert... Bei dem Programm hat er eben keine Chance, sein Powermanagement zu bemühen, weil während der Ausführung keine Tastatureingaben erforderlich sind - der stoppt nämlich immer die CPU, wenn er auf eine Eingabe wartet, und wird vom Interrupt des Keyboardcontrollers wieder aufgeweckt, primitiv, aber wirkungsvoll. Heute hab ich es mit frischen Batterien nochmal versucht, er hat dieses Mal SCREEN 1 (320x200 in 4 Graustufensimulationen) und SCREEN 2 (640x200 monochrom) komplett durchlaufen, dabei wurde er unten durchaus ein bisschen warm und hat jetzt immer noch Saft.


    Screen 1: 1:11 Stunden


    Screen 2: 2:22 Stunden, wegen doppelter Auflösung auch doppelt so lang


    Mal sehen, wie lange die Batterien jetzt noch halten. Übrigens, PC-Basic rechnet in Screen 2 das Apfelmännchen in etwas über 12 Minuten durch, beim obigen Screenshot war irgendwas schief gelaufen.


  • PC-Basic rechnet in Screen 2 das Apfelmännchen in etwas über 12 Minuten durch


    Kommt ja immer drauf an, auf welchem Rechner ...



    Die 2:22 h sind aber schon heftig. Das sind nämlich ja eigentlich sogar doppelt soviel, weil das Programm nur die Hälfte in Y Richtung wirklich berechnet und einfach die eine Hälfte zweimal zeichnet.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    Einmal editiert, zuletzt von ThoralfAsmussen ()