pouët.net

Flames for falcon 030 by Martin Steen

**************************************************************************


                   F L A M E S   F O R   F A L C O N  0 3 0


                                Version 1.1

***************************************************************************


  I. FLAMES - der Kamin im Computer                             16.10.94

  Feuer auf dem Bildschirm - wie funktioniert das?
  FLAMES ist eigentlich kein Demoprogramm, sondern eher eine Simulation,
  die dem bekannten "Life"-Spiel sehr ähnlich ist.
  
  Der zugrundeliegende Algorithmus sieht kurz gefasst so aus:
  
  x0 bis X4 bezeichnen vier benachbarte Pixel des Urspungsbildes, y0 bis y4
  sind Pixel des zu berechnenden Bildes.       
  
  Ursprungsbild        folgendes Bild
  
        x0                  y0
     x1 x2 x3      --->  y1 y2 y3    wobei y0 = (x0+x1+x3+x4)/4 
        x4                  y4
  
  Der obere Pixel (y0) ergibt sich also aus der Summe der Umgebung des mit-
  tleren Pixels geteilt durch vier. Daraus erklärt sich auch, warum das 
  Feuer sich nach oben ausbreitet. Jeder Pixel kann einen Wert von 0 bis
  255 annehmen. Je grösser der Wert eines Pixels, desto heller erscheint er.
  
  Am Anfang ist das ganze Bild gelöscht; wie aber fängt jetzt das Feuer
  überhaupt an zu brennen? Hier kommt der Zufallsgenerator ins Spiel, der
  das Feuer auch in Gang hält. Dafür werden in den unteren drei Zeilen des
  Feldes überall zufällig "Zünder" plaziert, wobei ein "Zünder" eine Gruppe
  aus sehr hellen Pixeln (Wert 255) ist. Dabei bestimmt der Zufallsgenerator
  nicht nur die horizontale Position der Zünder, sondern auch die Anzahl.
   
  
  II. Technische Information

  FLAMES 030 ist die 68030-Version eines Assembler-Programms für den 80386.
  Diese Version läuft nur auf dem Falcon, da es den HiColor-Modus nutzt.
  Ich habe auch eine Version für den 256-Farben-Modus geschrieben, diese
  ist jedoch deutlich langsamer. Am schnellsten ist FLAMES allerdings auf
  einem DOS-Rechner, hier beträgt die Geschwindigkeit auf einem 486DX/2-66
  mindestens 30 Bilder/sec. - dies liegt allerdings nicht nur am schnelleren
  Prozessor, sondern an der für dieses Programm sehr vorteilhaften
  Byte-To-Pixel-Organisation der VGA-Karte.
  
  Auf meinem 32MHz-Falcon beträgt die Geschwindigkeit ca. 9 Bilder/sec.,
  während die Schrift angezeigt wird läuft das Programm noch etwas lang-
  samer. Eine normale 16MHz-Maschine schafft etwa 7 Bilder/sec.
  Die 256-Farben Version kommt auf ca. 4,6 Bilder/sec., dafür läuft sie
  wahrscheinlich auch auf einem Atari TT (leider habe ich keinen TT um das
  auszuprobieren). Eine Version, die die Bitplanes mit DSP-Unterstützung
  umrechnet habe ich auch noch, leider ist diese noch langsamer (wegen der
  langsamen Datenübertragung von und zum DSP).
   
  Um das Programm zu starten, mu₧ der Screenblaster deaktiviert werden, da
  die Auflösung automatisch umgeschaltet wird (320 x 200, 65536 Farben). 
  
    Viel Spass, Martin
     
--------------------------------------------------------------------------  
  Credits: 80386 Version coded by Bernhard Schmitz
           Inspired by FIRE coded by Jare of VageliSTeam
           
--------------------------------------------------------------------------
  Contact: martin_steen @ wob.maus.de 
  
  
--------------------------------------------------------------------------