Archive for the ‘Software’ Category.

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

Digitaler $%&°*#$-Vergleich und andere spaßige Sachen

Irgendwann will man es halt wissen: Wie schnell ist denn jetzt die selbst geschriebene Programmiersprache auf dem Eigenbaucomputer? Naja, halt der typische digitale $%&°*#$-Vergleich……;) Und da ich heut ein wenig Langeweile habe und draußen so trübes Wetter ist, wollte ich mich halt ein wenig an tachyonischen Geschwindigkeitswerten meines Forthsystems berauschen und ergötzen.

Nun gut, die Werte sind ganz brauchbar, obgleich ich da so ein verdammtes amerikanisches Forth kenne, welches da noch deutlich einen drauflegt. Hab noch keine Ahnung wie er das veranstaltet. Aber dafür ist der Hive mit mental völlig autark programmierbar, ohne einen Hostcomputer oder ähnliche feige Hilfsmittel. Ätsch! 🙂

Was ist also in dem Clip zu sehen?: Ein kleines Demo, welches die Funktion von meinem mental-Forth auf dem Hive-Computer zeigt. Nix großes, einfach nur zur Ansicht der Funktion des Quelltexteditors, Compilers und Interpreters am Beispiel eines „Hello World!“ und eines Fibonacci-Benchmarks mit ganz brauchbaren Werten für so ein Gerät.

Der Quelltexteditor läuft komplett im Bellatrix-Chip (der Hive basiert auf drei Mikrocontrollern) und kennt neben dem farbigen Modus zur Eingabe von Forth-Quelltexten auch einen reinen Textmodus. Mit dem Kommando „br“ (browse) wird der Screenbrowser aufgerufen um in den Screens zu „surfen“, diese zu editieren, speichern usw. Ist so ein typisches gewachsenes „Werkstatt-Tool“ und ungemein praktisch.

Wie man sieht, ist mental durchaus schon benutzbar und man kann schon völlig autark am Hive ohne einen Hostcomputer programmieren. Zudem belegt der Core von dem zu sehenden Forth gerade mal 3694 Bytes, mit den komfortablen Tools wie im Video sind es gerade mal 4432 Bytes! Hey, als Laie und für ein erstes selbst gestricktes Forth ist das ganz brauchbar!…:) Aber unabhängig davon ist mental noch weit entfernt von einem fertigen Status. Letztlich ist es ja auch nicht so wichtig, da es sich ja mehr um ein persönliches Lern- und Spaßprojekt handelt. Just for Fun!

Es ist vollbracht – TRIOS-BASIC 2.1

Seit dem letzten Update ist schon einige Zeit vergangen. Die Zeit wurde effektiv genutzt, um unser TRIOS-Basic an die Spitze der Basic-Interpreter-Charts (zumindest auf dem Propeller) zu katapultieren. Viele Neuerungen sind hinzugekommen, Altlasten abgeworfen und Fehler beseitigt. Hier eine kleine Aufstellung der Neuerungen/Änderungen

 

  1. -Fliesskomma-Funktion ist jetzt genauer, Zahlenbereich von 1E-38 bis 1E+38
  2. -Window-Funktion zusammengefasst und flexibler, so kann z.Bsp. das Aussehen der Fenster mit Tile-Fonts individuell angepasst werden,  verschiedene Fenstertypen können ausgewählt werden (mit Rahmen, ohne Rahmen, mit Titel oder Statusleiste oder Scrolleiste). Das Aussehen ist an PLEXUS orientiert.
  3. -DATA,READ,RESTORE Funktion zur Datenverarbeitung vorhanden
  4. -BACKUP,RECOVER um Bildschirmbereiche zu sichern und wiederherzustellen
  5. -Mit FUNC erstellst Du Benutzerfunktionen, denen bis zu 4 Variablen zur Berechnung übergeben werden können
  6. -der RENUM-Befehl erlaubt eine Neunummerierung des Basicprogramms (Sprungmarken müssen aber selbst angepasst werden).
  7. -der PORT-Befehl gestattet den Zugriff auf die (optional angeschlossene) Sepia-oder Joystick-Karte
  8. -mit dem XBUS-Befehl kannst du auch Funktionen aus TRIOS erreichen, die nicht im Basic vorhanden sind, du kommunizierst damit auf dem HIVE-Bus direkt mit den Propeller-Chips
  9. -BUTTON-Befehl umgebaut, jetzt sind Text- und Icon-Buttons möglich
  10. -mit dem erweiterten LOAD-Befehl ist es jetzt möglich Programmteile nachzuladen, auch während des laufenden Programms
  11. -MKFILE ermöglicht das Erstellen von Dateien
  12. -der CHDIR-Befehl wurde überarbeitet, jetzt kannst Du Dich in allen Verzeichnissen frei bewegen
  13. -mit BLOAD werden BIN-Dateien aus dem Basic heraus gestartet
  14. -die String-Verarbeitung wurde zusammengefasst und fehlerbereinigt
  15. -INPUT-Befehl wurde überarbeitet und verbessert
  16. -die INKEY-Abfrage ist jetzt fehlerfrei (ab und zu war noch ein ungewolltes Zeichen im Puffer)

Vom Befehlsumfang sollte der vorläufige Endstand erreicht sein, was unseren Basic-Interpreter zum wohl umfangreichsten in der Propeller-Welt sein läßt. 🙂

Leider gibt es noch keine Demo, um die neuen Funktionen zu demonstrieren. Es gibt aber für alle neuen(und alten) Funktionen entsprechende Beispielprogramme im Basic-Ordner. Ich wünsche allen Basic-Freunden viel Spaß und Entwicklerdrang mit TRIOS-BASIC 2.1.

euer Zille9


Beschreibung:TriOS-Basic
Basic für TriOS von Zille9 - Infos im Forum: http://hive-project.de/board/viewtopic.php?f=6&t=767 BASIC-Runtime, Anpassung für Ram-Upgrade
TriOS-Basic
Version: vom: 24.11.2015
Dateigröße:4.84 MB

IRC-Client

irc-screenSeit Ende 2013 verfügt der Hive nun auch über einen Netzwerk-Stack. Damit wurde auch das letzte Stück Hardware nutzbar. Fehlte nur noch entsprechende Software – außer dem Konfigurations-Programm für die IP-Adresse und einem FTP-Client gab es nichts, was die neuen Möglichkeiten nutzen würde. Das ist nun anders: Ein vollständiger IRC-Client für den Hive steht in einer ersten Version zur Verfügung.

Beim IRC (Internet Relay Chat) handelt es sich um eines der ältesten Protokolle im Internet, die Anfänge gehen bis ins Jahr 1988 zurück. Paßt also doch irgendwie zu einem Retro Style Computer. Der Hive IRC Client ermöglicht es, an einem der vielen IRC-Netzwerke (Freenode, German-Elite, …) aktiv teilzunehmen.

Welchen Vorteil bietet nun die Nutzung des Hive als IRC-Client? Im Normalfall kann man Mitteilungen in einem der vielen Kanäle (Channel, Chaträume) nur dann empfangen, wenn man mit dem IRC-Server verbunden ist. Um nichts zu verpassen, müßte man also seinen PC mit gestartetem IRC-Client ständig laufen lassen. Das merkt man spätestens bei der nächsten Stromrechnung. Alternative wäre die Nutzung eines Proxies (Bouncer) bzw. das Lesen des Chat-Logs (falls verfügbar). Oder eben die Verwendung des Hive. Nützlich für diese Anwendung: Der Hive IRC-Client verfügt über einen internen Puffer, welcher (per default) die letzten 1000 Chatzeilen speichert. Durch diesen Puffer kann man einfach mit den Cursortasten scrollen. Weiterhin gibt es eine Benachrichtigung bei neuen Mitteilungen: Bei Eingang einer neuen Nachricht beginnt die Regnatix-LED zu blinken und ein Sound wird abgespielt.irc-am-hive

Somit rechtfertigt sich nun auch der Trend zum Zweit-Hive – einer zum Zocken, Proggen und Basteln und der andere zum Chatten. Fehlt nur noch eine zentrale Anlaufstelle für alle Drohnen im IRC. Zum Testen gibts einen eigenen IRC-Server (Adresse findet man in der Dokumentation, welche im Download enthalten ist). Ansonsten bietet sich der Hive-Channel bei German-Elite an (irc.german-elite.net,  Port: 6667, #hive).

Der IRC-Client ist im Paket des aktuellen Netzwerk-Stacks enthalten, den Download gibts im ersten Beitrag des entsprechenden Foren-Threads. Für Fragen, Anregungen, Wünsche oder Fehlermeldungen zum IRC-Client gibts einen weiteren Foren-Thread.

Viel Spaß beim Chatten wünscht Jörg

Plexus 2.0 im Sack

SAMSUNG

Damit dem Hive auch ein kleines Weihnachtsgeschenk zuteil wird, steht nun Plexus, in der Version 2.0 zum Download bereit. Änderungen erfolgten hauptsächlich unter der Haube aber auch optisch ist der Versionsaufstieg erkennbar. Der größte Vorteil dürfte sein, das Plexus nun unter TRIOS lauffähig ist, was ein Flashen der EEPROMS, wie es in den Vorgängerversionen nötig war, überflüssig macht. Einfach eine freie SD-Karte mit den Plexus-Dateien füllen und den Hive booten. Damit ist die Brücke zu TRIOS geschlagen und das Arbeiten mit dem Hive ohne nerviges Umflashen möglich. Für alle, die eine SEPIA-Erweiterungskarte besitzen oder dies planen, ist nun ein Testprogramm für die grundlegenden Funktionen der Karte integriert. Auch die grundsätzliche Unterstützung der Venatrix-Bus-Erweiterung, welche demnächst veröffentlicht werden soll, ist vorhanden. Ich wünsche euch viel Spaß im Umgang mit eurem Hive und hoffe, euch mit Plexus ein nützliches Tool zur Verfügung gestellt zu haben.

zille9


Beschreibung:PLEXUS-Update
Grafische Shell für den Hive, Anpassung des Bellatrix-Treibers für Ram Upgrade
PLEXUS-Update
Version: vom: 24.11.2015
Dateigröße:1.9 MB

 

Hätten’s dös g’wusst?

Heute hab ich mich mal dem Rausch der Applikationen hingegeben – also: wie war das mit der Computerei in den 80er Jahren. Keine Frage – an einem Feierabend kann man da erst mal nur ganz schwach an der Oberfläche kratzen. Hatte schon vor paar Tagen die typischen Anwendungen an die ich mich noch erinnern konnte auf den CPMputer draufgeladen, siehe Bild. Heute hab ich nun ein wenig damit rumgespielt, die Dinger VT-100 terminaltauglich zu installieren. Was mehr oder weniger geklappt hat – bei SuperCalc war sogar ein VT-100 als Auswahl dabei.

Mit den alten Anwendungen konnte man schon vieles erreichen, wenn man sich etwas geschickt anstellte. Wenn man allerdings mit der Bedienung – natürlich ohne Handbuch – „ins kalte Wasser geworfen wird“, kann es auch mal hakeln, so wie bei mir heute – da hab ich vollkommen naiv den Editor von TurboPascal gestartet. Aber wie komm ich jetzt aus dem Ding wieder raus? Also ohne Reset oder Stecker ziehen. Dank Tante Google hab ich dann gefunden, dass ^Kd den Zaubertrick bewirkt. Hätten’s dös g’wusst?

Wird wirklich höchste Zeit dass endlich die Weihnachtsferien kommen. Wenn man *nebenbei* noch arbeiten muss bleibt einfach viel zuwenig Zeit zum spielen übrig 🙁

Wie hier im Thread angekündigt: http://hive-project.de/board/viewtopic.php?f=15&t=955 steht übrigens immer noch das Angebot, eine Sammelbestellung für Platinen auf den Weg zu bringen. Würde ich ab ca. 10 Interessenten machen…

CPM_Anwendungen