logo-2

Hive - Das Computerabenteuer der besonderen Art: 24 RISC-Prozessoren, VGA-Grafik, Video-Ausgang, Stereosound, über 1 MB RAM, SD-Card-Laufwerk, LAN, PS/2-Maus und Tastatur, freie Software, einfach und unkompliziert in verschiedenen Sprachen programmierbar... - und das alles auf einer kleinen Eurocard, als minimalistischer Bausatz, keine SMD-Bauelemente, von jedem Bastler in wenigen Stunden aufzubauen. Du hast die Kontrolle über jeden Pin und jedes Byte in diesem System - fühl dich frei und mache etwas Großes damit!

Technische Daten:hier lang >>>
Reif für den Hive? Ein Eignungstest: hier lang >>>
Das Design: hier lang >>>

"We are Borg. You will be assimilated. Resistance is futile." ;)

Der erste Außeneinsatz

mental ist nun in einer startbaren Alphaversion angekommen und wird damit für erste Experimente in die freie Wildbahn entlassen, womit eine Minidokumentation fällig wird.

Verfügbar ist dieser "Erste-Schritte"-Text, eine umfangreiche Referenztabelle der aktuell implementierten Worte in mental und ein Text mit Überlegungen und Einsichten aus dem "Maschinenraum" (1 - Der Weltraum, unendliche Weite) des Systems. Beide Texte beziehen sich auf die Alphaversion, können also in der weiteren Entwicklung von der Realität überholt werden. Zudem gibt es hier noch keine systematische Einweisung, sondern vorerst nur einige nutzbare Beispiele, die den Weg für den Neugierigen ebnen sollen. Es wird also noch nicht genau erklärt, wie diese forthähnliche Sprache im Detail funktioniert, sondern nur auf Besonderheiten und Abweichungen eingegangen.

Der erste Außeneinsatz... Weiterlesen

mental Alphaversion zum Experimentieren

Ich war die letzten Tage eine fleißige Drohne und habe ein nutzbare Version zusammengeschnürt und sogar noch ein paar Texte für den Einstieg geschrieben. Die spannenden Sachen wie Sound und Grafik fehlen noch, aber denen kann ich mich ja nun endlich zuwenden...

Link: Fred im Forum zum Thema für Rückmeldungen und Fragen


Beschreibung:mental Alpha V0.A
Zur Installation bitte im Verzeichnis DOC nachlesen!
mental Alpha V0.A 20.05.2013
Version:20.05.2013 vom: 20.05.2013
Dateigröße:4.66 MB

Der Weltraum. Unendliche Weiten. Wir schreiben das Jahr 2013.

emblem

So komme ich mir manchmal bei meinen Experimenten mit dem Hive vor: Allein TriOS als einfaches Mini-OS ist eine kleine Welt für sich und  mental erscheint mir wie ein Paralleluniversum…

Nun ja, diese aktuelle Version von mental bezeichne ich mal als Alphaversion. Startbar unter TriOS oder auch völlig eigenständig nutzbar, indem der Chipcode im Flash gespeichert wird. Eine Minidokumentation "Der erste Außeneinsatz" ist ebenfalls verfügbar. Ohne Grafik und Sound kann man zwar noch nicht so viel spannende Sachen damit machen, aber das steht als nächstes auf dem Plan - immer schön einen Schritt nach dem anderen.

Im folgenden Text werde ich die Entstehung und inneren Mechanismen von mental ein wenig genauer beleuchten. Interessant für Neugierige, aber mit Sicherheit auch für Einsteiger in die Programmierung der Cogs in Assembler. Wer nicht so der Typ "Scotty" ist und mental nur nutzen möchte, sollte besser nicht den Maschinenraum betreten und gleich mit dem Text "Der erste Außeneinsatz" fortfahren! Alle Boardingenieure sind aber herzlich eingeladen zu einem Rundgang...

Alles begann im Jahr 2008...  Weiterlesen

Und hier noch, quasi als Rundumversorgung, die passende Musik für den Artikel, frisch am Hive aufgenommen, folgend die DMP-Dateien um die Musi selbst auf dem Hive mit dem SID-Player anzuhören.


Beschreibung:Star Trek Musik im DMP-Format
Star Trek Musik im DMP-Format 20-05-2013-dr235
Version:20-05-2013-dr235 vom: 20.05.2013
Dateigröße:14.71 kB


Beschreibung:1_der_weltraum_unendliche_weite Artikel im PDF-Format
1_der_weltraum_unendliche_weite Artikel im PDF-Format 20-05-2013-dr235
Version:20-05-2013-dr235 vom: 20.05.2013
Dateigröße:1.69 MB

Hive aus dem Replikator

6ZIfpHJ

 

Naja, nicht ganz. Das Mainboard ist immer noch liebevoll handgelötet. Aber dennoch ein Eigenbaucomputer in einem Eigenbaugehäuse, auch wenn es wahrscheinlich noch ein Prototyp von Drohne363 ist. Unbestätigte Gerüchte berichten sogar von einem Borg Cube Gehäuse... ;)

Link: Weitere Infos im Forum.

TriOS – Revision 56

Neue Version, Detailinformationen zu den Änderungen im Forum. Alte Versionen sind natürlich immer noch auf der TriOS-Seite verfügbar. Änderungen im Überblick:

  • Filemanger
  • Fensterfunktionen
  • Anpassungen rund um TV und VGA Modus
  • mental-Loader

 

ACHTUNG: Toolbox 1 & 2 und TriBorg müssen eventuell neu compiliert werden um korrekt zu arbeiten!

Link: Informationen zu den Revisionen im Forum
Link: Codeverwaltung TriOS


Beschreibung:TriOS (PropForth, Standard Regime)
Quelltexte und Installationsdateien 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) r56 - dr235
Version:r56 - dr235 vom: 11.05.2013
Dateigröße:832.99 kB

 

Basic geht in die zweite Runde

Basic-LogoNachdem nun viele Stunden an Entwicklung verflossen sind, hat TRIOS-BASIC in der Version 2.0 das Licht der Welt erblickt und buhlt jetzt um die Gunst der Hive-User.  Dies ist auch der Versuch, alle die einen Hive haben aber mit Forth nicht so richtig warm werden oder nicht wissen, was sie jetzt mit ihrem Hive anstellen sollen, zum tüfteln zu animieren. Dabei soll TRIOS-BASIC keine Konkurrenz zu Forth oder anderen Sprachen sein. Vielmehr soll die Begeisterung, den Hive für seine Projekte zu nutzen geweckt werden. Es wurde versucht, die Syntax der Befehle so einfach und vom Ergebnis, so effizient wie möglich zu gestalten, damit auch ohne große Programmierkünste, etwas brauchbares entsteht. Mit Hilfe des Handbuches und den beigepackten Beispielen (z.Bsp. ist ein DMP-File-Player als Basic-Programm enthalten, welcher mit der Maus bedient werden kann), soll der Einstieg so einfach wie möglich sein. Für alle Hardcore-Basic-User ist auch eine Flashvariante verfügbar, um den Hive, ähnlich einem ehemaligen Homecomputer, als reinen Basic-Computer zu betreiben.

Im Download-Bereich wird es dazu regelmäßige Updates geben. Scheut euch nicht Fragen, Kritik oder gefundene Fehler loszuwerden. Niemand wird allein gelassen.

 

Das mfs als mentale Brücke zu Regime… ;)

Irgendwann musste es ja so kommen: Auf dem Tisch ist kein Platz für zwei Hives und das ständige Umstöpseln nervt, wenn man zwischen der mentalen und der TriOS-Welt wechselt. Also muss ein Loader her, um TriOS bei Bedarf eine Gehirnwäsche zu verpassen - denn so ganz möchte man ja im mentalen Alltag auch nicht auf Boulder Dash und TriBorg verzichten...

Gesagt, getan! Mit dem kleinen Progrämmchen welches ich das Wochenende erstellt habe, kann nun einfach das mental-System unter TriOS gestartet werden. Ein wenig Vorarbeit war aber vorher noch nötig: Da mental ein blockorientiertes Dateisystem nutzte, um direkt auf den Datenräger zuzugreifen, war so ein Wechsel zur FAT16/32 Welt nicht so einfach möglich. Ein solcher direkter Zugriff auf den Datenträger ist zwar sehr schnell, einfach und leicht zu parallelisieren, aber auch völlig inkompatibel und erfordert so wieder komplexe Methoden, um Daten zwischen den verschiedenen Welten auszutauschen. Als stand schon recht frühzeitig die Frage im Raum, wie man zum Beispiel die mühsam programmierten Quelltexte sichern kann. Zwischenzeitlich habe ich einfach vom gesamten Datenträger (der SD-Card) ein Image gezogen, aber das ist auf der einen Seite recht langsam und auf der anderen Seite weckt die Frage "Datenträger formatieren?" beim Einlegen der Karte doch ein komisches Gefühl... ;) Aber ich bin ja durchaus manchmal ein Mensch des goldenen Mittelwegs: Also habe ich für mental das (m)ental (f)ile (s)ystem - kurz mfs - etabliert, welches eine praktische Schnittmenge zwischen den Vor- und Nachteilen der erschiedenen Welten darstellt.

mental-loader

Wie funktioniert es: mental nutzt nun sogenannte "Tapes" als strukturierte Datenbereiche. Tapes sind im Prinzip zusammenhängende, unfragmentierte Datenbereiche auf dem Datenträger - quasi ein zusammenhängedes Band von Screens. mental kann auf der einen Seite direkt und blockweise in Form von Screens auf deren Inhalt zugreifen und auf der anderen Seite verschiedene Tapes über einen symbolischen Namen mit name use ansprechen, Screen 0 ist dabei immer der erste Screen des Tapes und die Tapegrenze kann nicht überschrieben werden, bzw. endet in einem Systemfehler. Das Wort tapes listet alle verfügbaren Tapes auf dem Datenträger auf. Unter TriOS und auf dem Host-PC sind die Tapes dank des FAT16/32-Frames von fsrw ganz normal als Datei sichtbar und können wie diese kopiert, gesichert und übertragen werden. Es ist einzig darauf zu achten, dass die Tape-Dateien immer fortlaufend und im Stück auf einen leeren Datenträger kopiert oder zusammengestell werden, damit sie nie fragmentieren, was im Extremfall zu Datensalat führt. Klingt etwas kompliziert, ist aber in der Handhabung sehr einfach und unkompliziert, wenn man das Prinzip verstanden hat: SD-Card leeren, dann einfach alle nötigen Tapes auf die Karte kopieren die benötigt werden. Zum Schluss noch die Systemdateien um TriOS zu starten und evtl. weiter Daten. Da die Daten auf dem Hive ja allsamt sehr klein sind , geht das alles sehr schnell. Also für mich fühlt sich momentan das Handling ziemlich gut an, da so eine recht praktikable und unkomplizierte Brücke zwischen den Welten geschlagen ist! :)

Wie geht es nun weiter mit mental: Momentan arbeite ich an einem Snapshot um die aktuell Version zu einem Paket zu schnüren und als Alphaversion zur Verfügung zu stellen.  Es fehlt noch eine Minidokumentation, welche ich gerade schreibe. Folgende Sachen sind realisiert:

  • Compiler
  • Interpreter
  • Grundwortschatz
  • Quelltexteditor
  • Quellextverwaltung
  • Autostart
  • TriOS-Loader

Damit kann man autark auf dem Hive arbeiten. Natürlich fehlen in dieser frühen Phase noch die spannenden Sachen, wie eine Bibliotheksverwaltung, Sound, Grafik usw. aber man kann es unter TriOS starten, erste Experimente machen und masochistische Drohnen können ein wenig in meinen kruden Quelltexten schnorren... ;)

 

 

Wenn euch jemand fragt, was ihr mit dem komischen Hive-Ding da macht…

Wenn euch jemand fragt, was ihr mit dem komischen Hive-Ding da so macht, dann könnt ihr jetzt mit vollem Ernst antworten: "Nun ja, ich beschäftige mich nebenher mit experimenteller Medienarchäologie!" Ok, man ist also so etwas wie ein Indiana Jones des Computerzeitalters auf der Suche nach dem verborgenen Schatz der vergangenen Zukunft in den Ruinen versunkener digitaler Kulturen... ;)

Aber jetzt mal ganz ernsthaft: Dieses Video ist ein einführender Vortrag von Prof. Dr. Wolfgang Ernst und Dr. Stefan Höltgen zur Vortragsreihe "SHIFT - RESTORE - ESCAPE" an der Humboldt-Universität zu Berlin. Einfach mal ansehen und sacken lassen - es lohnt sich, denn bei einigen Aspekten geht es auch um jene Ideen, die hinter den Projekten hier stehen. Ich hoffe die Vorträge werden irgendwann auch als Video verfügbar sein - wir werden das beobachten.

 

fm – Filemanager

Nach einigen internen Aufräumarbeiten am Code von TriOS und den Neuerungen von U-Held (Fenster/Anpassung TV-Modus), sind nun kleine Tools mit einer textbasierten strukturierteren Benutzeroberfläche kein Problem mehr. Als erstes habe ich mir einen schon lange fälligen Filemanager vorgenommen. Keine uneigennützige Wahl, denn ich brauche ihn als Basis für einige Tools, um eine Brücke zwischen TriOS und mental zu bauen. Ziel ist es, mental als nutzbare Programmiersprache unter TriOS startbar zu machen.

In jedem Fall können solche Tools jetzt sehr einfach und fast schon komfortabel mit den Fensterfunktionen in Spin erstellt werden. Einige nutzbare GUI-Objekte wie ein variables Dateilistenfenster habe ich schon als Objekt ausgelagert - einfach im nächsten Tool weiter zu verwenden. Keine großen Sachen, aber Kleinvieh macht auch Mist. In der nächsten Revision R56 wird der Filemanager beiliegen.

Neue Version TriBorg-Player, Änderung Regime


Beschreibung:TriBorg - SID-Player
Ein SID-Player mit Grafik im G0/TV-Modus
TriBorg - SID-Player 02-03-2013-dr235
Version:02-03-2013-dr235 vom: 07.04.2012
Dateigröße:21.62 kB

Nach einigen Tagen Abstinenz habe ich nun wieder ein wenig Hand angelegt und den TriBorg-Player verbessert. Das Programm ist ja ursprünglich als Programmloader gestartet und zu einem SID-Player mutiert. Dennoch gab es noch einige Altlasten: So mussten die Dateien des Players und auch die DMP-Files im Hauptverzeichnis liegen. Mit einer kleinen Änderung kann nun der Player auch aus einem Verzeichnis gestartet werden. Alle DMP-Files in diesem Verzeichnis werden dann in die Playliste übernommen und abgespielt. Mit ESC gelingt nun wieder der "geordnetet Rücksturz zur Erde" - man landet also wieder wie es sich gehört in der Kommandozeile von Regime.

Soll der Player automatisch von SD-Card starten, so kann eine Kopie von "triborg.bin" als "reg.sys" im Hauptverzeichnis gespeichert werden. In diesem Fall müssen sich natürlich alle anderen Dateien ebenfalls dort befinden. Mit ESC wird dann der Player neu gestartet.

Bei dieser Gelegenheit habe ich auch gleich noch die Kommandozeile "Regime" angepasst: Auch dort kann nun ein anderer Code in Administra geladen werden, ohne das sich das aktuelle Verzeichnis ändert, in welchem man sich gerade befindet. Vor der Änderung befand man sich nach dem Laden eines neuen Administra-Codes immer wieder im Hauptverzeichnis, da das Medium neu eingebunden wurde. Regime merkt sich nun das aktuelle Verzeichnis, startet den Code und wechselt dann wieder an die korrekte Stelle im Verzeichnisbaum. Praktisch ist das zum Beispiel immer dann, wenn man in einem Verzeichnis mit Mediendateien wie SID- oder AY-Soundfiles schnell den Administra-Code mit der passenden Soundkarte laden möchte - geht jetzt problemlos ohne wildes hin- und herwechseln in den Verzeichnissen. :)

 

Grafik in Forth programmieren

img_0854
img_0853

Sehr schöne Sache: U-Held hat einen ersten Schritt zur Anbindung der G0-Grafiklib an PropForth erstellt. Unter Spin habe ich ja schon mit G0Test und TriBorg mit den Funktionen experimentiert. Die Funktionen in der Forth-G0-Lib sind noch nicht vollständig, aber die grundlegenden Wörter um den G0-Treiber komfortabel zu starten und zu initialisieren sind realisiert. Die anderen Funktionen sind mehr oder weniger Fleißarbeit. Die Programmierung ist auch recht einfach, wie wir gleich sehen werden. Wer also gern in Forth Programme oder Games mit Grafik schreiben möchte, erfährt mehr nach dem Knick...

Continue reading ‘Grafik in Forth programmieren’ »

TriOS-Basic Version 1.10

Ist schon ein paar Tage her (hab gerade wenig Zeit) und die meisten werden es sich schon aus dem Forum besorgt haben. Kurz die Neuerungen in Stichworten:

  • Speichererweiterung auf 512kb -> Hinweis für Nutzer der Ramdisk-Funktion: Ram-Bank1 wird von TRIOS-Basic genutzt und überschrieben, also für Ram-Disk "NICHT" Ram-Bank1 benutzen
  • Anzahl der möglichen Basic-Zeilen wurde auf 999_999 erhöht (das sollte wohl reichen :D )
  • Stringvariablen verfügbar: Ab sofort werden Strings unterstützt (#a ... #z)
  • neue Befehle: -STR l, STR r, STR m (entspricht strleft, strright, midstr)
  • LEN(string) ermittelt die Länge eines Strings (die maximale Länge eines Strings darf 150 Zeichen betragen, längere Strings werden abgeschnitten)
  • STRCOMP(string1,string2) vergleicht zwei Strings und gibt entweder -1(strings sind gleich) oder 0(strings sind ungleich) zurueck
  • Input-Befehl um Stringeingabe erweitert
  • kleinere Fehler bei Windows-Funktionen beseitigt
  • Basicprogramme werden ab sofort im eRam abgelegt, dadurch ist der gesamte Regnatix-Speicher für's TRIOS-Basic frei (ca. die hälfte ist noch frei für Erweiterungen)

Wie üblich weitere Infos im Forum: TriOS-Basic


Beschreibung:TriOS-Basic
Basic für TriOS von Zille9 - Infos im Forum: http://hive-project.de/board/viewtopic.php?f=6&t=767
TriOS-Basic 2.002
Version:2.002 vom: 03.05.2013
Dateigröße:2.8 MB

Sepia-IO: Funktionen, Schaltplan, Pinbelegungen

Hier nun Schaltplan, Bestückungsplan, Pinbelegungen der Buchsen und eine kurze Übersicht der Funktionen, etwas ausführlicher dann in einem späteren Tutorial:

Continue reading ‘Sepia-IO: Funktionen, Schaltplan, Pinbelegungen’ »

Prototyp IO-Karte “Sepia”

Aktuell arbeite ich wie angekündigt an einer IO-Erweiterung für den Hive. An diesem Wochenende habe ich den ersten Prototypen aufgebaut und wie es bis jetzt ausschaut, funktioniert alles perfekt.

 

Gleich vorweg und um alle Bedenken zu zerstreuen: Wie man unschwer auf den Bildern erkennen kann, ist es völlig problemlos möglich, mit der Karte (bis zu vier) digitale Joysticks mit einem ganz einfachen Adapter direkt am Hive anzuschließen! Aber es geht natürlich noch einiges mehr... ;) Continue reading ‘Prototyp IO-Karte “Sepia”’ »

Infos zum Propeller II von Chip Gracey

Im Propeller update BLOG hat sich Chip Gracey mit einigen Informationen zum Bootverhalten und dem internen ROM gemeldet: Im ROM enthalten ist ein Bootloader für einen angeschlossenen SPI-Flash oder die serielle Schnittstelle mit SHA256/HMAC Authentifizierung, um den Code schützen zu können. Da der Flash nun SPI verwendet, dürfte sich die Bootzeit aus dem Flash deutlich verkürzen, obwohl ich das nie als Problem angesehen habe. Wahrscheinlich ist einfach der Code einfacher, da SPI ja ekanntlich einfacher gestrickt ist.

Aber viel interessanter: Continue reading ‘Infos zum Propeller II von Chip Gracey’ »

Was ist Tachyon?

.:.:-- TACHYON --:.:.

 

Hmm, hab ich doch in dem Beitrag zum Geschwindigkeitsvergleich glatt vergessen zu erwähnen was Tachyon überhaupt ist. Ok, das holen wir hier mal nach! Lassen wir einfach Peter Jakacki - dem Entwickler von Tachyon - zu Wort kommen: "TACHYON - A Fast and small Forth byte code VM". Tachyon ist also wie m ein Forth-Derivat mit einigen wirklich interessanten Eigenschaften.  Das primäre Ziel ähnelt PropForth: Es soll ein interaktives Entwicklungswerkzeug sein, welches auf einem Propellerchip läuft und typisch über die serielle Schnittstelle und ein Terminalprogramm auf einem Hostcomputer bedient wird. Man kann es also nicht wirklich mit m und mental vergleichen, welches ja dem Hive mit seinen drei Propellerchips auf den Leib geschneidert ist. Im Gegensatz zu PropForth ist Tachyon sehr schnell und wahrscheinlich auch recht klein - genaue Zahlen zum Speicherverbrauch habe ich aber leider noch nicht. Da es aber ein klassisches Forthmodell ist, dürfte es auch mehr Speicher belegen als der m-Core, welcher ja viele Aufgaben nebenläufig auf die beiden Slaves verteilt. Continue reading ‘Was ist Tachyon?’ »

Kleines Basic-Demo von Zille zu Fenstern und Sound

Sorry, das zweite Video kommt heute aus meinem Darkroom... ;) Naja, ich hoffe man kann dennoch ein wenig erkennen, zumindest habe ich die Boxen ordentlich aufgedreht, was am Licht gefehlt hat.

Mal ein paar Screenshots vom Basic:

Neue FemtoBasic-Version

Hab die Version selbst noch nicht getestet, aber die Änderungsliste klingt wirklich sehr vielversprechend.

Mehr im Forum.

Update: Also ich hab es mir gerade angeschaut: ES IST PHANTASTISCH! Integrierte Hilfe, Statuszeile, cooler Sound und viel Speicher frei. Echt, das im Autostart und man glaubt an einem alten Homecomputer zu sitzen. Wobei die Leistung sich so einfach anfühlt: ein Befehl (play "axe.dmp) und Basic spielt nebenher satte SID-Trackermusi ab, während der Basicinterpreter unbeeindruckt weiterläuft. So stelle ich mir die Nutzung der verteilten Fähigkeiten auf dem Hive vor. Wenn man die DMP's noch in mono abspielt, bleiben sogar noch drei Kanäle für Soundeffekte parallel zur Musik - hab ich nicht explizit getestet, aber sollte so sein und war so geplant mit den beiden SIDCog's.

Auch die Hilfe ist toll, sogar mit kleinen Beispielcodes - perfekt um sofort loszulegen. Ich hab das zwar den Hinweis auf Fenster in der Änderungsliste gelesen, aber nicht erwartet, dass Zille9 das schon im Basic selbst verwendet hat... :)

Schade das ich grad keine vernünftige Kamera hab, sonst würde ich das mal in einem kleinen Clip zeigen. Wirklich eine coole Sache!