(m)ental - aktueller Stand

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
Micha
Beiträge: 812
Registriert: Sa 24. Mär 2012, 21:45
Wohnort: Merseburg
Kontaktdaten:

Re: (m)ental - aktueller Stand

Beitrag von Micha »

In der "make.bat" setze ich deshalb extra die Attribute der Tapes im Verzeichnis bin. Hast du sie von dort auf die SD-Card kopiert?
Ich hab die Stand-Alone Variante von mental installiert. Ich glaub die tap Dateien hatte ich aus dem Verzeichnis tapes geholt. Eigentlich bräuchte man die bei dieser Art der Installation garnicht, könnte sie sich ja bei Bedarf erzeugen. Sind ja nicht mehr als leere Containerdateien für 64 Quelltext-Screens.

Im Augenblick überleg ich krampfhaft, was ich eigentlich mit m anfangen könnte. Klassische Forth-Geschichte: wir haben hier die Lösung, aber was genau war gleich noch mal das Problem???

Ne schöne Sache als Demo wär ein einfaches Spiel im Textmodus - sowas wie Pong oder Wurmi oder Tetris. Mir fehlt momentan allerdings der Durchblick, wie man den Textbildschirm ansteuern könnte - also z.B. den Cursor an eine bestimmte Position setzen. Soweit ich es aus der Befehlsübersicht verstehe gibts solche fertigen Textscreen Befehle noch nicht?
Also vonder Sache här tätch jetz ma behaupten "Mischn ägomplischd" un so...
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: (m)ental - aktueller Stand

Beitrag von drohne235 »

Naja, ist halt noch die Alphaversion, da gibt es noch keine Lib's und solche Sachen. Momentan sind halt folgende Sachen realisiert:

Compiler
Interpreter
Grundwortschatz
Quelltexteditor
Quellextverwaltung
Autostart
TriOS-Loader

Als Übung könnte man sich eine eigene Textlib schreiben. Die Steuercodes findest du in der Referenztabelle x_referenz.ods auf der zweiten Tabelle "Bellatrix". Die Steuercodes für die Bildschirmposition würden wie folgt aussehen:

bel:setx (x--) $00 b! $06 b! b! ;
bel:sety (y--) $00 b! $07 b! b! ;

Mit der Eingabe

10 bel:set hallo

kannst du das dann testen.

Als nächstes kommt aber ein generischer Treiber, mit welchem jeder Kommunikationsvorgang mit den Slaves beschrieben werden kann. Die Funktion zum setzen sähe dann wahrscheinlich so aus:

bel:setx $6 $0 $09993 tupel ; (x -- ) x-position setzen

Der Wert $09993 beschreibt dabei den Kommunikationsablauf: drei Schritte mit dem Befehlscode 9 (b!). Muss dann noch schauen ob und wie ich ein Wort wie needs realisiere und wo ich diese Bibliotheken dann verwalte. Eventuell kommen die grundlegenden Sachen mit in das SYS-Tape. Aber das muss ich erst noch testen, ist wahrscheinlich in der Version B0.1 dann drin.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: (m)ental - aktueller Stand

Beitrag von drohne235 »

Update mental 28.04.2018: https://hive-project.de/content/5057


28.04.2018-dr235
- dir verbessert
- files und watch nach sys.m verschoben
- code aufgeräumt für sternenzeit-20.180.428

06.10.2014-dr235
- fatengine 2.0 multifilesupport
- dmp-player

13.07.2014-dr235
- umstellung auf fatengine 2.0
- integration ins systemverzeichnis
- dir/cd eingefügt
- lib-dateien
- chipcodes jetzt m{adm|bel|reg}.sys
- blockdateien jetzt *.m
- reboot/bye --> core

11.07.2014-dr235
- fatengine 2.0 singlefile

22.05.2013-dr235
- bella akzeptiert jetzt % und $ als Präfix von zahlenwerten
- stop? zugefügt
- words kann angehalten werden
- kommunikationsworte komplettiert
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Antworten