Archive for the ‘Software’ Category.

TriOS#04: Der Unbekannte

Er zieht im Hintergrund die Fäden: Der Programmloader im TriOS.

Inhalt:

1. Wie funktioniert der Programmloader und der TriOS Autostart?
2. Wie konfiguriere ich den Spin Compiler?
3. Wie kann ich TriOS komplett per Batch compilieren?
4. Wann verwende ich Batch, wann die IDE?
5. Programmbeispiel: TriOS Hallo Welt!
6. Programmbeispiel: Apfelmännchen

Link BST: http://www.fnarfbargle.com/bst.html

 

TriOS#3: Ladytalk

Wie kommunizieren Regnatix, Bellatrix und Administra im Hive? In dieser Folge werden wir dieses dunkle Geheimnis lüften!

 

Update: Editor #1

Habe mal wieder angefangen, einen Editor zu programmieren. Irgendwie fehlt ja sowas in TriOS und allgemein auf dem Hive noch. Na, mal schauen, wie weit ich dieses mal komme… 😉

 

 

Trios#2: SOURCE Version – Quellen der Weisheit ;)

Was findet man wo in den Quelltexten von TriOS? In dieser Folge schauen wir etwas genauer hin. Aber gleich vorweg: Ich muss die Videos zur Source-Version von TriOS in mehrere Abschnitte aufteilen – wird sonst einfach zu lang.

Ist denn schon wieder Freitag? ;)

Jo, pünklich zum Wochenende ein neues Video:

TriOS – BIN Version – Installation und Anwendung

Hier nun der erste Teil einer neuen Serie zum Thema Software, Programmierung und Anwendung. In dieser Folge geht es um die BIN Version von TriOS (enthält nur die Binarys und keine Quelltexte) und damit vorerst um die Installation und Anwendung. Also keine große Sache. Im Prinzip habe ich das Thema Installation ja schon ein wenig im Aufbaututorial „010 – Lizenz zum Löten! – Lang lebe die Königin!“ anklingen lassen, hier nun in entsprechender Ausführlichkeit und mit eine kleinen Einweisung in TriOS, die Kommandozeile „Regime“ und diverse Zusatzprogramme und Games. Viel Spaß! 🙂

Das Basic-Gefühl

Kannte ich noch nicht, finde es aber ziemlich lustig und irgendwie beschleicht mich da so ein anheimelndes Gefühl… 😉

basic-gefühl

Das sieht Verda’BMP’t gut aus…

Rechtzeitig zum Treffen in Garitz konnte ein weiteres Schmankerl für TRIOS-Basic assimiliert werden. Es wurde ein Grafiktreiber mit 160x120Pixel und 64 Farben pro Pixel als Mode4 Treiber ins Basic-Werkzeugköfferchen aufgenommen. Dieser erlaubt die Darstellung von Farbbildern in genannter Auflösung, da hier anders, als in den bisherigen Treibern, jeder Pixel eine andere Farbe besitzen darf.

Nun wünschte ich mir, die geschaffenen Pixelkunstwerke auch irgendwie speichern und, was noch besser wäre, auch  wieder laden zu können. Diese Dateien sollten aber auch in einem Format vorliegen, welches jeder PC versteht. Das Windows-Bitmap-Format schien für dieses Unterfangen die beste Lösung. Der Dateiaufbau ist recht simpel zu verstehen und propellerisch mit einem überschaubaren  Aufwand realisierbar. Das Ergebnis hat mich selbst überrascht, BMP-Datei mit 160×120 Pixel in 24bit-Farbauflösung in den Hive ->Befehl eingegeben ->Bild auf dem Bildschirm (siehe Screenshots).screenshots

 Das Speichern und Laden im Mode 4 funktioniert hervorragend, benötigt aber etwas Zeit, da jeder einzelne Pixel in die 3 RGB Farben zerlegt bzw. wieder zusammengesetzt werden muss . Im Mode 2 und 3 kann bisher nur gespeichert werden, Mode 0 und 1 wird zur Zeit noch nicht unterstützt, da diese Treiber vollkommen anders aufgebaut sind. Zudem wird der Speicherplatz in Regnatix langsam knapp aber es bleibt abzuwarten, was noch so alles an Ideen heranreift. TRIOS-Basic 3.0 wird auf jeden Fall die Kreativität anheizen und die Leistungsfähigkeit des Hive mehr als je zuvor demonstrieren. Alle, die zum Treffen nach Garitz kommen, können sich schon mal einen kleinen Ausblick am lebenden Objekt gönnen. Bis dahin ….

Zille9

Langsam wird’s …

Und hier wieder ein kleiner Einblick in die Entwicklungsarbeit von TRIOS-Basic. Die Arbeit ist kurz vor dem Abschluss, sollten die laufenden Test’s erfolgreich sein. Die Liste der neu hinzugekommenen Funktionen liest sich zumindest nicht schlecht.

  • lange Variablennamen verfügbar (ein Variablenname kann so lang sein, wie eine Basiczeile)
  • dynamische Verwaltung der Variablen, dadurch wurde Platz im RAM frei, der vom User genutzt werden kann)
  • Stringfunktionen entsprechen in der Schreibweise nun dem Standard (Print left$(a$,5)…Name$=Right$(Nachname$,5))
  • Bit-Operationen direkt ausführbar  :  a=b<<2, n=a&b
  • Strings können die Länge einer Basiczeile annehmen
  • REDEFINE-Befehl geschaffen, um den Fontsatz im Modus 1 und 2 zu modifizieren
  • das Editieren einer Basiczeile ist jetzt einfacher, es kann Text eingefügt oder gelöscht werden, nach Return wird die bestehende Zeile übernommen, egal wo sich der Cursor befindet
  • im Modus 0, dem Standard-Basic-Treiber wurde die Darstellung komplett auf Tile-Fonts umgestellt, dadurch ist mehr Platz auf dem Bildschirm und sieht einfach besser aus als der Monsterfont von Parallax
  • mathematische Funktionen entsprechen der korrekten Schreibweise : a=sin(b), c=sqr(z)…

Das ist nur ein kleiner Ausblick. Motivation war es, eine möglichst hohe Kompatibilität zu Standard-Basicinterpretern herzustellen. Der Erfolg spricht für sich, war es doch so möglich, das Programm GLOBUS vom KC85 (siehe auch bei Micromite) mit nur sehr wenigen Änderungen auch auf den Hive unter Trios-Basic zu portieren. Aber seht selbst ….

Globus_Mode1 im Modus 1 mit 320×256 Pixel

Globus_Mode2im Modus 2 mit 512×384 Pixel

Einiges ist noch zu tun, da Fehler ja nie ganz ausgeschlossen werden können. Trios-Basic muss sich im Labor noch bewähren und das Handbuch benötigt ebenfalls ein Update. Es wird also noch etwas dauern, bis die Final-Version zum Download bereitsteht, aber man kann getrost sagen: Langsam wird’s …. 🙂

Zille9

Widerstand ist zwecklos…

…dachte ich aber manche Spezies zeigen sich erstaunlich widerstandsfähig, wenn es darum geht, in das Kollektiv aufgenommen zu werden. Aber fangen wir ganz von vorn an.

MicromiteNachdem (der, die, das ?) Micromite erfolgreich assimiliert wurde, war es an der Zeit, eine Testumgebung für den Patienten zu erschaffen. Entstanden ist ein Erweiterungsboard, welches direkt am Hive oder am Venatrix-Erweiterungsbus (ja.. dieser existiert momentan nur als Testgerät und ist noch nicht über das Alpha-Stadium hinweggekommen) betrieben werden kann und ähnlich dem Micromite-Companion, ein Steckboard beherbergt, das für erste Experimente herhalten soll.

Die Anpassung an Hive- bzw. Venatrix-BUS erfolgt über Jumper. Zusätzlich besteht die Möglichkeit, das Testboard (eine 3,3V Spannungsquelle vorausgesetzt) vollkommen Hive-unabhängig zu betreiben. Eine Terminalverbindung erfolgt dann mit dem Prop-Plug-Anschluss (rechts im Bild). Nach erfolgreicher Inbetriebnahme und Korrektur eines (bei meinen Projekten mittlerweile schon obligatorischen) Fehlers im Layout konnte das erste Testprojekt anlaufen. Um meinen Netzwerk-impotenten Hive zu heilen erstand ich in der Bucht zwischenzeitlich zwei niedliche kleine WLAN-Seriell-Platinchen mit dem ESP8266-Chip Onboard. Dieser soll auf einfachste Weise eine WLAN zu Seriell-Verbindung herstellen können, ohne das man sich mit Netzwerkgedöns herumschlagen muss. Klingt gut, also zwei paypalisiert und ran an’s Werk. Ganz so simpel stellte sich die Angelegenheit dann doch nicht heraus. Trotz lumpiger 4-Draht-Verbindung, wollte keine Reaktion auf AT-Befehle erfolgen. Schon fast am verzweifeln, spielte ich einfach mit den Baudraten herum (obwohl überall im Netz nur 57600 oder 115200 angegeben waren). Und ei gucke da, bei 9600 kam auf den AT-Befehl ein lesbares OK zurück. Was soll das denn, dachte ich so. Hatte ich wieder ein Freitags-Nachmittags-Schlechtwettermodell erwischt? Nach weiterer Recherche im Netz stieß ich auf einen nicht dokumentierten Befehl, der es erlaubt, die Baudrate des Moduls zu ändern. Das war ja einfach, hat mich aber mehrere Stunden Grübelei und wieder ein paar Haare gekostet. Das Verbinden mit meinem Router war dann problemlos, nur was jetzt?

Nun wurde es spannend, denn Oldbitcollector hat sich im Basic des Micromite, einen IRC-Clienten gebastelt und genau den wollte ich testen. Guckst Du unten 🙂

Es funktioniert ……

IRC3

 

 

 

 

…. die Welt kann so schön sein 😉

– oder Widerstand ist zwecklos 🙂

Zille9

Neues TriOS, neues GIT

Nach der Veröffentlichung der neuen TriOS-Version ist diese nun auch auf dem GIT-Server eingearbeitet. Neben TriOS sind dort auch die wichtigsten anderen Software-Projekte des Hive  (Basic, Plexus und die 3 Toolboxen) mit dem gerade aktuellen Stand hinterlegt. Damit haben wir nun die Chance, gemeinsam an diesen Projekten Änderungen vorzunehmen. Das funktioniert allerdings nur, wenn alle, die an den o.g. Projekten mitarbeiten, ihre Änderungen in die GIT-Repositories einchecken. Weitere Informationen gibts unter „Software-Verwaltung“ und im dazugehörigen Foren-Thread.

TriOS – R57

Lange überfallig: eine neue Version von TriOS. Momentan zu einem recht ungünstigen Zeitpunkt, da wir ja mit einem Umzug von SVN zu GIT experimentieren. Aber es waren einfach noch zu viel Code in der Queue.

Was gibt es an Neuerungen:

  1. PlexBus
  2. Netzwerkcode
  3. Dokumentation
  4. BIN/SOURCE-Paket

Mit dem PlexBus können nun zum Beispiel Erweiterungen wie die Sepia-Karte oder die kleine Joystickkarte von Zille9 angeschlossen und im System verwaltet werden. Passend gibt es das Tool „perplex“, um manuell mit dem I/O-Bus zu experimentieren. Zudem enthält die Toolbox einige kleine Programmierbeispiele in Spin für Einsteiger und auch TriOS-Basic und die Plexus-GUI können ja schon damit umgehen.

Endlich Netzwerkcode! 🙂 Der Code von Jörg war auch ein entscheidender Grund für die Veröffentlichung, da ich eine Integration für die nächste Folge im Videotutorial brauche. FTP und IRC-Client sind nun in dieser TriOS Version enthalten. Einstellungen der Netzwerkparameter (IP, Maske, Gateway…) erfolgen über das Tool „ipconfig“.

Ach ja – Stichwort Dokumentation: Alle Dokumentationen sind nun in den Ordner „doku“ gewandert und haben eine neue Struktur bekommen. Ich denke so lässt sich das besser verwalten und pflegen.

BIN und SOURCE Pakete: TriOS gibt es nun in zwei Paketen. Das BIN-Paket ist für reine Nutzer gedacht und enthält nur die Dokumentation, Flashdateien und alle Dateien um eine SD-Karte für TriOS zu erstellen. Das geht schnell und ist sehr übersichtlich – ein paar Klick’s und fertig ist das Update.

Im SOURCE-Paket befinden sich zusätzlich alle Quelltexte und die Skripte um automatisch das System komplett zu compilieren.

So, das waren die wichtigsten Neuerungen. Zudem sind natürlich wieder viele kleine Änderungen und Fehlerbereinigungen enthalten.

Viel Spaß! 🙂


Beschreibung:TriOS (PropForth, Standard Regime) Bin
Installationsdateien des einfachen Spin-Betriebssystems für den Hive
TriOS (PropForth, Standard Regime) Bin r57 - dr235
Version:r57 - dr235 vom: 22.06.2014
Dateigröße:279.37 kB


Beschreibung:TriOS (PropForth, Standard Regime) Source
Quelltexte des einfachen Spin-Betriebssystems für den Hive - letzte Version. Integrierte Programmiersprache Forth. (Ältere Versionen sind auf der google code Webseite zum TriOS zu finden: http://code.google.com/p/hive-trios/ )
TriOS (PropForth, Standard Regime) Source r57 - dr235
Version:r57 - dr235 vom: 22.06.2014
Dateigröße:967.22 kB

 

Toolbox 3

Einige überfällige Veröffentlichungen: Das Boing-Demo und der TriBorg-Player – nichts neues, aber mit der Toolbox 3 jetzt im gepflegten Paket. Zusätzlich einige Programmierbeispiele für den PlexBus und die Sepia-Karte und abschließend ein (hoffentlich) inspirierendes Demo von einem textbasierten GUI-Code.

 

boing-1

triborg-1 triborg-2guidemo-1plexbus-1


Beschreibung:Toolbox 3
Boing-Demo, TriBorg-Player, PlexBus Programmierbeispiele für Sepia-Karte, GUI-Demo
Toolbox 3 22-06-2014-dr235
Version:22-06-2014-dr235 vom: 22.06.2014
Dateigröße:1.18 MB