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… 😉