Archive for Mai 2013

Es kommt Bewegung in’s Spiel

Basic-LogoNachdem die ersten Versuche, Spiele mit einigen bewegten Objekten im Basic zu programmieren, zu der ernüchternden Erkenntnis geführt haben, das ein Basic-Interpreter, der auch noch in Spin programmiert wurde, viel zu langsam für solch ein Unterfangen ist, habe ich nach Wegen gesucht, dieses Manko irgendwie zu umschiffen. Also warum nicht alle Bewegung dahin verlagern, wo sie auch erzeugt werden soll, nach Bellatrix. Das hat mehrere Vorteile, erstens wird Regnatix nicht mit den Berechnungen für die Bewegung belastet, der Speicher in Regnatix bleibt frei und die Geschwindigkeit steigt dramatisch, da nicht jeder Befehl über den Bus laufen muss.

Das Ergebnis kann sich durchaus sehen lassen. Im Video ist das erste Level des Spieles Climber ,diesmal in Basic programmiert zu sehen, bei dem die Geschwindigkeit sogar drastisch reduziert werden musste. Im nächsten Basic-Update wird es möglich sein bis zu 8 Gegnerfiguren zu definieren , dabei muss sich der Programmierer um Kollisionsabfrage oder die Bewegung der Tiles nicht kümmern. Er gibt nur Startparameter ein und startet per Befehl die Bewegung, alles andere übernimmt Bellatrix.

Zugegeben, es ist kein Softscrolling aber es bewegt sich was 😉

Video >>>>

 

Übrigens wird jetzt standesgemäß am Hive programmiert:

hive6hive2 HIVE1a

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) 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

 

Basic geht in die zweite Runde

Nachdem 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.