Ich habe gerade R48 von TriOS released. Diese Version enthält nun den Grafikmodus G0 – neben den verschiedenen Textmodi der erste standardisierte Grafikmodus auf dem Hive. Mit dem Tool „g0test“ kann der Modus getestet werden und man bekommt dort auch einen Eindruck von den Möglichkeiten. Der G0-Modus ist über das IOS direkt und sehr komfortabel in Anwendungen nutzbar. Als Einstieg für erste Experimente mag der Quelltext von g0test dienen.
So, nun ist also auch Grafik auf dem Hive so einfach wie die verschiedenen Soundformate nutzbar: Egal ob Diagramme, Kurven, Animationen oder Games – das kann jetzt alles sehr einfach und mit ordentlicher Darstellungsgeschwindigkeit realisiert werden. Der G0-Modus ist rasterorientiert, aber mit seiner superschnellen Vektorengine primär in Richtung Vektorgrafik gedacht. Die maximale Leistung erreicht er bei Vektorobjekten (g0_vec) mit einer Leistung von ~18.000 Linien pro Sekunde. Das sind natürlich Maximalwerte, wenn man diese Funktion in einer Schleife mit festen Parametern aufruft. Aber durch entsprechende Parallelisierung kommt man mit den Propchips durchaus auch real in diese Nähe, wenn es nötig sein sollte. Das Testprogramm spricht die G0 Funktionen ganz klassisch in einer einfachen Routine unter Nutzung nur einer COG an.
Momentan werkle ich am Grafikmodus 0 für den Hive. Kurz die Eckdaten:
TV-Modus 256 x 192 Pixel
Farben: Tile (16×16 Pixel) sind 4 aus 64 Farbe wählbar
Einbindung des Graphics-Objektes für schnelle Vektorgrafik
Animation: zwei Screens für flickerfreie Darstellung von Animationen
Einbindung der Grafikfunktionen per IOS
Keyboard ODER Maus verfügbar (beides geht nicht)
Bei der Darstellung von Vektorobjekten spielt der Hive so richtig seine Muskeln aus: über den Bus werden dabei nur Metadaten übertragen und die komplexen Anweisungen werden lokal in Bellatrix verarbeitet. So kann mit einem Befehl von Regnatix ein Vektorobjekt mit beliebigem Drehwinkel und Skalierung gezeichnet werden. Für meine Tests verwende ich ja gern das Vektorobjekt eines sechseckigen Sterns. Der Hive kann dabei ~1500 Sterne pro Sekunde zeichnen. Jeder Stern besteht aus 12 Linien, was eine Zeichenleistung von ~18000 Linien pro Sekunde macht! Na wenn das nicht geil ist, weiss ich auch nicht…
Alle Grafikoperationen sind nun im IOS direkt für die Anwendung verfügbar. Das nicht optimierte Testprogramm im folgenden Video ist nur 5,5 KByte groß und nutzt nur eine einzige COG in Regnatix – es sind also noch sehr viele Ressourcen frei! Zu sehen sind der Reihe nach alle grundlegenden verfügbaren Grafikoperationen und ein paar Gimmicks. Wie gesagt, handelt es sich nur um ein Testprogramm, welches ich bei der Enwicklung verwendet habe, um die Funktionen zu prüfen, weshalb es sicher keinen Schönheitswettbewerb gewinnt, aber es zeigt vielleicht ein wenig, in welche Richtung es geht.
Nach einer gründlichen Aufräumaktion im TriOS ist diese Toolbox 1 das erste Paket einer ganzen Serie von Anwendungen, Democodes, Tools und Mediendateien für den Hive. Viele Fragmente gab es bisher schon auf meiner Festplatte oder sind bei der Programmierung vom TriOS entstanden, aber meist hatten sie mehr einen experimentellen Charakter oder es fehlten noch Kleinigkeiten. Einige wenige Dateien sind Beispiele von Parallax oder aus der Community, die ich an den Hive angepasst habe. In dieser Toolbox enthalten sind Codebeispiele aus folgenden Themenbereichen:
Neuigkeiten von TriOS: Nach einiger Zeit der Arbeit am System erschien mir die allgemeine Struktur der Quelltexte zu unübersichtlich und zu aufgebläht. Viele Fragmente und Programme die eigentlich nichts mit dem System zu tun hatten, haben sich heimlich bei den Experimenten eingeschlichen. Dazu wollte ich endlich ein Bibliothekskonzept für die Quelltexte realisieren, da Brad’s Spin Tool ja nun die entsprechenden Möglichkeiten bietet. Also war eine umfangreiche Aufräumarbeit nötig, um dem Ganzen wieder die nötige Struktur und Klarheit zu geben. Zeit den Softwarebastelkeller aufzuräumen! 🙂 Was wollte ich also? Continue reading ‘TriOS – Bibliotheken’ »