reg-ios.spin

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: reg-ios.spin

Beitrag von PIC18F2550 »

Ok aus der sicht mas das wieder sinn.
Währe es da nicht besser die drei Systeme in den Quellen in unterschiedliche Verzeichnisse zu packen?
Diese Vermaschung bringt mich nähmlich bei meiner Lösungssuche in den Quelltexten immer wieder auf Irrwege.
drohne235 hat geschrieben:Aber es wäre durchaus auch ein Experiment, ein universelleres System neu zu programmieren - da will ich niemanden aufhalten... :mrgreen:
Ich nehme an du ziehlst damit auf mein Loader Experiment. ;)
Das universelle endet aber hier wenn ein Projekt geladen wird unabhängig welches es ist.
Und das einzige Manko ist die letzte Word-Zelle-im hRAM und der belegte COG.
Dafür steht fast der gesamte hRAM und eRAM zur verfügung.
Der eRAM wird dabei garnicht angefast.

Genug geplaudert weitermachen! ;)
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: reg-ios.spin

Beitrag von drohne235 »

Aus meiner Sicht gibt es nur zwei (nicht drei) Syteme: TriOS und mental. Beide sind durchaus getrennt, aber da ich mental auch vom TriOS aus starten möchte, gibt es halt einen m-Loader in TriOS. mental ist ansonsten völlig getrennt von TriOS, keine Ahnung wo du die beiden Systeme sonst noch "vermischt": http://hive-project.de/content/2920
"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
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: reg-ios.spin

Beitrag von PIC18F2550 »

Hi drohne235,

TriOS, mental und Plexus oder sind Trios & Plexus kompartiebel(weis ich jetzt nicht genau das müsste ich noch genauer untrsuchen)
Das Plexus nur eine Oberfläche ist ist mir schon klar.


mit Systemstandard meine ich hauptsächlich diesen Abschnitt

Code: Alles auswählen

#$FB    x_mgrGetSpec                                    'spezifikation abfragen
        x_mgrALoad                                      'neuen code booten
        x_mgrGetCogs                                    'freie cogs abfragen
        x_mgrGetVer                                     'codeversion abfragen
        x_mgrReboot             '255                    'neu starten
Bei Administra und Bellatrix solten dan spezifische Grundfunktionen auch in den oberen Bereich verschoben werden.
Wo sie dann in allen Treibern zur verfügung stehen sollten.
Im Prinzip ist das nur eine neuordnung der global Dateien.

Systemschnittstelle
Beispiel Bellatrix
g0 unterstützt nicht die b_cmd funktion ($00, Comando,...) es wird einfach ignoriert .
Eine kleine Erweiterung (umleitung) auf ersatzfunktionen würde beim Programmieren die Arbeit etwas erleichtern.
Damit muß nicht das gesamte sortiment übernommen werden:
-Printchar
-Printstr
-PrintATchr
-PrintATstr
-CLS
-readROW
-readCOL
-CUR_ON_OFF
Das würde Reichen um überhaupt unabhängig mit irgend einer Anzeige Arbeiten zu können.

Aber im endeffekt ist das eine Entscheidung die ich nicht zu entscheiden habe sondern beruht nur auf meine Erfahrungen.
Und damit soll es gut sein denn das ist hier nicht das Thema. ;)
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: reg-ios.spin

Beitrag von drohne235 »

Der G0-Treiber ist ein reiner Grafiktreiber für Vektorgrafik und funktioniert nach einem völlig anderen Prinzip als zum Beispiel ein tilebasierter Texttreiber. So wird Text nicht einfach ausgegeben, sondern man überträgt den String und Vektorobjekte in einen freien Heap in Bellatrix. Das Bild wird im dynamischen Modus bei jedem Bildwechsel in einem von zwei Puffern neu gerendert um flickerfreie Animationen zu ermöglichen. Textfunktionen im klassischen Sinn sind - wenn überhaup - nur im statischen Modus sinnvoll und möglich. Ich fand es dabei wichtig, einen möglichst großen Heap zu haben, denn dort werden ja letztlich die darzustellenden Objekte gespeichert.

Insofern ist der G0-Treiber ein schlechtes Beispiel für das was du zum Ausdruck bringen möchtest, aber ich verstehe in welche Richtung du denkst.
Aber im endeffekt ist das eine Entscheidung die ich nicht zu entscheiden habe sondern beruht nur auf meine Erfahrungen.
Nun, TriOS ist Opensource: Die Quelltexte liegen für jeden zugänglich bei google-code. Tue dir keinen Zwang an und erstelle eine angepasste Version, bei welcher du deinen Entscheidungen Ausdruck verleihst. Ich persönlich freue mich über jede funktionierende neue Software für den Hive. Ich denke, sofern die grundlegende Kompatibilität zum BIN-Format für die drei Chips vorhanden bleibt, ist das ok, denn es können dann über einen Loader Programme wie der Startracker, TriBorg, Boulder Dash und mental einfach gestartet werden.
"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