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:

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    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?

    1ST1

  • 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.


    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    -- 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 Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    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:

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    1ST1

    Einmal editiert, zuletzt von 1ST1 (8. Mai 2024 um 00:08)

  • 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.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Screen 1: 1:11 Stunden

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    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.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    1ST1

  • 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 (10. Mai 2024 um 00:19)