Archive for the ‘Software’ Category.

Toolbox 2

Futter für den Hive. Wie bei der ersten Toolbox genügt es den Inhalt des Ordners „SDCARD“ auf ein passendes Medium zu kopieren. Dieses mal ist das Paket durch die Mediendateien allerdings recht groß geworden, aber es lohnt sich. Wie gehabt, sind zu den Programmen wieder alle Quelltexte für eigene Experimente enthalten. Enthalten sind folgende Sachen:

  • Sounddateien im HSS, DMP (SID), WAV, YM und SFX-Format.
  • Demos: 3dmulti, vecdem
  • Games: Boulder Dash, Shoot
  • Anwendungen: StarTracker


Continue reading ‘Toolbox 2’ »

TriOS R48 – Grafikmodus G0

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.

Continue reading ‘TriOS R48 – Grafikmodus G0’ »

Testprogramm für Grafikmodus 0

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.

TriOS – Bibliotheken


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’ »

Hive und jetzt? – Einstieg in die Propeller- und Hive-Programmierung

Der Hive ist aufgebaut, TriOS läuft und was nun? Wie es scheint ist ein Einstieg in die Programmierung doch recht schwierig, wenn man einen fertigen Hive in seiner Ganzheit vor sich stehen hat.  Deshalb möchte ich hier einige grundlegende Ressourcen für einen Einstieg in die Programmierung des Propellerchips zusammenstellen.

Im Prinzip verfolgt auch schon der Artikel Build your OS – Bellatrix-Code und Build your OS – Regnatix-Code dieses Ziel, aber richtet dort den Fokus schon auf den fertigen Hive als Computer. Sinnvoller ist es aber, als erstes mit einem einzelnen Propeller ohne weitere Anbindung anzufangen. Ich werde dabei hier keine 1:1-Anleitung und keinen fertigen Code in den Artikel setzen, sondern vielmehr Links zu diversen Texten und Tutorials zusammenstellen, welche viele Demos mit umfangreicher Erklärung enthalten. Die meisten Texte sind dabei in englischer Sprache, was aber nicht abschrecken sollte – in den meisten Fällen kann man mit minimalsten Kentnissen der Sprache den technischen Hintergrund erfassen. Continue reading ‘Hive und jetzt? – Einstieg in die Propeller- und Hive-Programmierung’ »

TriOS = Regime + Forth

Ein kleiner Etappensieg auf dem Weg zur Weltherrschaft: Ich habe PropForth in TriOS integriert. Klingt nicht sehr spektakulär, ist aber eine ziemlich coole Sache. Das Forth residiert dabei zusammen mit dem Loader im unteren EEPROM und ist somit sofort nach dem Einschalten des Gerätes nutzbar. Für die Nutzung von Forth ist es also nicht mehr nötig, einen ROM mit 64K zu verwenden.

Continue reading ‘TriOS = Regime + Forth’ »

So einfach kann es sein…

…komplexere Funktionen in PropForth zu realisieren:

: ls dir 0 begin .entry lscnt 0= until drop padbl cr ;

Und was machts? Klar, ein ls-Kommando, um das Verzeichnis auf SD-Card im Spaltenformat anzuzeigen. Ist ja wohl der Hammer! Am Anfang war die Funktion natürlich nicht so einfach, sondern eher unübersichtlich, verschachtelt und erstreckte sich über mehrere Zeilen. Aber nach einem zweiten Anlauf wurde es dann dieser Einzeiler.Keine Ahnung ob das jetzt vernünftiger Code ist, aber mir gefällt es enorm. Ich muss sagen, ich verliebe mich gerade wieder neu über beide Ohren in Forth… 🙂 Continue reading ‘So einfach kann es sein…’ »

Multitasking

Kurzer Zwischenbericht zum PropForth: Da die momentane Version ja bestehenden Spin-Code in Administra und Bellatrix nutzt, geht es ziemlich flott vorwärts. Ich habe eine erste Version eines Satzes von Worten erstellt, um das Businterface zu steuern:

Continue reading ‘Multitasking’ »

RTC-Branch eingerichtet

Pünktlich vor dem ersten Glas Bowle zum Jahreswechsel habe ich mein R14-Board fertig bestückt und getestet.  Nun tickt auch bei mir endlich eine Uhr im Hive. Um die Software von Stephan zu testen, habe ich gleich noch einen neuen Zweig zur Integration des RTC im TriOS im Repository eingerichtet. Und es funktioniert prima. 🙂 Fehlt jetzt nur noch eine Anzeige von Datum und Zeit in der Kopfzeile von Regime.

Eine funktionierende Version kann jetzt also unter branches/trios-rtc ausgecheckt werden.

Verspätetes Weihnachtsgeschenk

Hey, da hat es mich doch wieder gepackt: ich bin dabei eines der neuen R14-Boards zusammenlöten. Und wie es so ist, war mir der Bastelkeller dieses mal nicht heilig und ich hab die paar Sachen die dafür gebraucht werden in die gute Stube geschafft – ist ja nicht wirklich viel, wie man auf dem Bild sehen kann. Das der Hive ein „Küchentischdesign“ hat ist ja nun schon hinlänglich bekannt und bewiesen, weshalb ich zum Erstaunen der Familie gerade einfach mal teste, wie es mit dem „Weihnachtstischdesign“ aussieht! So sitzen wir jetzt bei Tee und Gebäck um den neu errichteten Bastelaltar und alle schauen mir zu… 😉 Continue reading ‘Verspätetes Weihnachtsgeschenk’ »

Versionsverwaltung TriOS

Da ich beim programmieren mehr so ein einsamer Wolf bin, hab ich in Bezug auf eine Versionsverwaltung immer etwas mächtig geschludert. Hab mir aber vorgenommen mich zu bessern und will ja auch was dabei lernen… Also habe ich die Projektseite auf google-code auf den aktuellen Stand gebracht und mir vorgenommen, nur noch sauber mit dem SVN zu arbeiten. Macht natürlich nur Sinn, wenn noch mehr mitarbeiten, denn sonst bin ich einfach schneller so wie ich es lokal organisiere.

Auf google-code gibt es zusätzlich ein Wiki, welches sich gut für die TriOS-Dokumentation eignet. Außerdem findet sich dort ein Issue-Bereich, in welchem Fehler , Probleme, Ideen oder einfach nur Fragen verwaltet werden können.

Für die Einsteiger mit neuem Board: In der Sektion „Download“ auf der google-code-Seite finden sich immer aktuelle Archive mit den Installationsdateien. Wer TriOS nur installieren möchte, verwendet das BIN-Archiv ohne Quelltexte: dort enthalten sind die Binarys zum flashen in die drei EEPROMS und der Inhalt einer bootfähigen SD-Card. Aber ich glaub mal, das die meisten eh mehr in den Quelltexten wühlen wollen… 😉 Wer also selbst mit Hand anlegen möchte am TriOS, sollte sich eine aktuelle Quelltextversion auschecken. Ich hab zum einlesen mal ein paar Links dazu zusammengestellt – muss mich ja selbst erstmal ein wenig dazu belesen.

Prop: Jupiter ACE

Nun ist es also soweit: die aktuelle Version 3.4 von PropForth enthält die erste Version der Jupiter ACE Erweiterung mit VGA und Keyboard Support. Mit dieser Version kann man also einen einzelnen Propellerchip zu einem vollwertigen Forth-Computer machen, mit welchem man ohne Host einen Compiler, Interpreter, Assembler und ein einfaches Betriebssystem zur Verfügung hat.

Ich hab das natürlich gleich auf meinem Demoboard getestet. Die Installation ist extrem einfach:

Continue reading ‘Prop: Jupiter ACE’ »