ich kenn da noch einen der C Programme in ASM wandeln kann
Ja, den kenn' ich auch!
Mir geht's aber eher drum, das gleich so zu haben, wie man es eben von Hand in asm schreibt - bzw. auch, was eigenes zu machen, wie gesagt, Dein Plasma probiere ich dann mal gleich wie es ist in C aus... den Compiler-Output schaue ich mir aber trotzdem mal an, interessiert mich schon, wie der das so "schreibt"
"Mein erstes Plasma" ist jetzt auch fertig:
das ist toootal simpel, nur zwei Funktionen überlagert - dementsprechend "wabert" es auch nicht richtig, sondern "fließt" nur in eine Richtung, und ist auch noch sehr "gerade", eher "Blasen" als "Plasma"... da schau' ich jetzt weiter, wie ich noch ne schöne Verzerrung rein bekomme...
die 8-Bit-Sinus-Tabelle ist von Mikrocontroller.net, hat lange gedauert, eine zu finden, Google liefert viel Foren-Threads, wo über sowas *gelabert* wird, aber kaum dass dann mal echt einer *eine anhängt*...
am längsten gebraucht habe ich für die Farbtabelle - die ist liebevoll von Hand getippt (ich muss mich jetzt echt mal mit dem Excel anfreunden...) - und auch in 8 Bit, weil modulo 256 ist in asm viel einfacher als moulo 768
hier auch der Gedankengang, ob bei meiner geringen Auflösung ne größere Farbtabelle überhaupt was bringt - ist halt so, ich habe z.B. 4 Pixel Abstand zwischen Rot und Blau, mithin 4 Farbwerte, da bringt's mir auch nix, wenn in der Tabelle 200 Werte zwischen Rot und Blau sind, ich "picke" ja doch nur ein paar raus...
klar, bei ner höheren (Bild-)Auflösung spielt das wieder eher ne Rolle, wenn so ne Blase gleich 50 Pixel Durchmesser hat, dann braucht man natürlich auch mehr Farben in der Tabelle... ich stelle hier jedenfalls keine Stufugkeit oder "Ausgefranstheit" fest...
witzig: ich hatte mir in der Tabelle erst mal ein paar "Stützpunkte" rein gemacht, der Rest war noch schwarz - damit gibt es auch einen sehr coolen Effekt:
in der Theorie (siehe Bilder im verlinkten Thread) müssten bei sowas ja dann farbige "Ringe" entstehen, aber das Blitzen kommt eben dadurch, dass die Tabelle "durchgesprungen" wird, gar nicht fein aufgelöst Wert nach Wert entnommen wird - das würde mit ner 768-Werte-Tabelle hier genauso blitzen...
Aber ich denke du wirst da etwas enttäuscht sein, weil einfach die Variablentiefe nicht besonders groß ist und damit die Animation sich nicht soooo viel verändert...
Ja, wie gesagt, hängt halt von der Auslegung ab, da werde ich mal rumprobieren - im Video oben ist übrigens gar keine Paletten-Rotation dabei, hatte ich mit auch schon, das ist schon ein Unterschied, ohne hat es mir hier besser gefallen...
In GCC gibt es leider keine 24 Bit Variable und in 8 Bit ASM schreibt man sich ja so was eh selbst.
Ja - das ist aber immer ne "große Umstellung" ob ich was in 8 Bit mache oder mehr - hier z.B. kann ich alle Parameter innerhalb der Routine in Registern halten, bei 24 Bit-Rechnungen müsste ich dann wieder viel in's RAM schubsen...
ich glaube, ich konzentriere mich jetzt mal auf die Optimierung meines 8-Bit-Plasmas - bringt wohl mehr, als wenn ich versuche, Deinen Algo auf meine 6x5 Pixel zu pressen... - dann haben wir beide Varianten schön ausgefeilt, meine in asm für 8 Bit, und Deine für höhere Auflösung in C
Kommst Du eigentlich auch zum AOS nach Dresden..? - bzw. ich besuche den Nino dann mal, da könnten wir uns ja auch in Leipzig treffen, und ich mir Deine Matrix und Plasma mal in echt ansehen...