TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Server

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Antworten
joergd
Beiträge: 124
Registriert: Fr 20. Dez 2013, 20:08
Wohnort: Ronneburg

TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Server

Beitrag von joergd »

Wie bereits in "Wohin gehts mit dem Hive?" gezeigt, habe ich die Quellen für die verschiedenen Administra-Codes der aktuellen TriOS-Version vereinheitlicht. Aus einer Quell-Datei kann man so durch verschiedene Defines (Parameter -D bei bstc) Administra-Codes mit verschiedenen Funktionalitäten (Netzwerk, Sound, SD-Card...) bauen.

Das habe ich nun noch so erweitert, daß man damit den Administra-Code der letzten Plexus-Version (2.05) erstellen kann. Das geht so:

Code: Alles auswählen

bstc -L lib -D __ADM_FAT -D __ADM_FAT_EXT -D __ADM_RTC -D __ADM_SID  -D __ADM_PLX -D __ADM_DCF -D __ADM_BLT -b -O a flash/administra/admflash.spin
mv admflash.binary ${sdsys}/plexus.adm
Damit das funktioniert, habe ich die Nummern aller Administra-Funktionen aus den verschiedenen Quellen zusammengeführt und Überlappungen beseitigt (s. glob-con.spin). Damit haben sich z.B. beim Netzwerk-Code Verschiebungen ergeben, womit die binären Netzwerk-Programme nur mit dem dazu passenden Administra-Code laufen. Wenn man alles selbst aus den kompletten Quellen erstellt oder ein komplettes Binär-Archiv nutzt, gibts aber keine Probleme. Die einzige Funktion, die sich bei TriOS und Plexus noch unterscheidet, ist die 156 (TriOS: a_sdwPosition, Plexus: sid_dmplen). Das muß ich mir noch genauer ansehen...

Damit das nicht wieder auseinanderläuft, bin ich sehr für die Nutzung einer Versionsverwaltung durch alle, welche am TriOS-Code (inkl. Plexus) arbeiten. Da ich als relativ neue Drohne auf code.google.com nicht gleich alles durcheinanderbringen wollte, habe ich erstmal meinen eigenen Git-Server genutzt. Der ist recht leistungsfähig, weswegen ich den auch als Alternative für die Nutzung von Google Code anbieten möchte. Anschauen kann sich das jeder Interessierte unter https://dev.bitquell.de/project/HIVE. Wer aktiv mitmachen will, kann sich bei mir melden und bekommt einen Account. Wem Google Code lieber ist, der kann sich ja hier auch mal äußern, dann kann ich das Ganze auch dort reinstellen.

Vor allen Dingen sollten sich alle, welche sich aktuell mit dem Administra-Code beschäftigen, bitte mal meine Änderungen ansehen. Auch alle anderen können das sehr gern mal testen. Die wesentlichen Quellen:
https://dev.bitquell.de/raw/HIVE%2FTriO ... flash.spin
https://dev.bitquell.de/raw/HIVE%2FTriO ... b-con.spin
Die kompletten aktuellen Quellen:
https://dev.bitquell.de/zip/?r=HIVE/Tri ... format=zip
Noch nicht angepaßt ist übrigens das Windows-Make-Script (make.bat). Im Linux-Script (make.sh) kann man sich aber ansehen, wie es geht.

Als nächste Schritte würde ich ein neues Binär-Release erstellen und mir mal ansehen, ob ich die Basic-Administra-Quellen auch integrieren kann. Bei Interesse erstelle ich auch gern mal ein Tutorial zur Git-Nutzung (obwohl ich das auch erst ein paar Monate nutze).
Viele Grüße

Jörg
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Se

Beitrag von PIC18F2550 »

:DAUMENHOCH und ein :BIENE für die Arbeit.
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
joergd
Beiträge: 124
Registriert: Fr 20. Dez 2013, 20:08
Wohnort: Ronneburg

Re: TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Se

Beitrag von joergd »

Den Basic-Administra-Code (Basic Version 2.1) habe ich mir inzwischen auch noch angesehen. Da scheint es keine wesentlichen Unterschiede zu Plexus zu geben, nur Bluetooth und DCF77 fehlt. Zum Compilieren sollte deswegen folg. genügen:

Code: Alles auswählen

bstc -L lib -D __ADM_FAT -D __ADM_FAT_EXT -D __ADM_RTC -D __ADM_SID  -D __ADM_PLX -b -O a flash/administra/admflash.spin
mv admflash.binary ${basic}/adm.sys
Getestet hab ich das mit Basic noch nicht...
Verschiedene auskommentierte Dinge aus den Plexus-/Basic-Sourcen (z.B. Joystick) hab ich nicht übernommen. Da kann ja vielleicht Zille mal was zu sagen, ob man da noch was braucht...
Viele Grüße

Jörg
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Se

Beitrag von zille9 »

Erst mal tolle Arbeit von Dir :DAUMENHOCH
joergd hat geschrieben:nur Bluetooth und DCF77 fehlt
...sollte auch nicht in den allgemeinen TRIOS-Code rein, ich denke dies sind die Erweiterungen, die optional bleiben sollten, da die nötige Hardware nicht zur Hive-Grundausstattung gehören.

joergd hat geschrieben:Getestet hab ich das mit Basic noch nicht...
Verschiedene auskommentierte Dinge aus den Plexus-/Basic-Sourcen (z.B. Joystick) hab ich nicht übernommen. Da kann ja vielleicht Zille mal was zu sagen, ob man da noch was braucht...
Testen kann ich übernehmen und Basic,Plexus (falls erforderlich) entsprechend anpassen.
Die auskommentierten Zeilen für Joystick und Paddels sind eigentlich nicht notwendig, da die Register direkt abgefragt werden können, diese Funktionen machen das gleiche und würden nur unnötig Kommandonummern belegen.

...so wie Du Dich ins Zeug legst, werden wir doch noch zum Weltkonzern. :RAUCHEN
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Se

Beitrag von zille9 »

@Joerg

Hab gerade in den Administra-Code geschaut, die Datei-Kopierfunktion sollten wir als festen TRIOS-Bestandteil integrieren da TRIOS in der Grundausstattung diese Funktion nicht besitzt (nur über Ram-Disk glaube ich) .
Um mit dem Platz klar zu kommen (LAN braucht einen Puffer und die Kopierfunktion ebenfalls), benutze ich in meiner Version Deinen Lan-RX-Puffer als Kopierpuffer, so geht nicht zuviel Speicher verloren, spricht was gegen diese Verfahrensweise?
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
joergd
Beiträge: 124
Registriert: Fr 20. Dez 2013, 20:08
Wohnort: Ronneburg

Re: TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Se

Beitrag von joergd »

Ich hab jetzt mal Plexus mit ins Git übernommen: https://dev.bitquell.de/summary/HIVE%2FPlexus.git. Basic kommt auch noch sowie evtl. Toolboxen und Gamespack - also eigentlich alles ;-)
zille9 hat geschrieben:Testen kann ich übernehmen und Basic,Plexus (falls erforderlich) entsprechend anpassen.
Eventuelle Änderungen könnten dann gleich ist Git, das kann ich dann aber auch erstmal übernehmen.
zille9 hat geschrieben:Hab gerade in den Administra-Code geschaut, die Datei-Kopierfunktion sollten wir als festen TRIOS-Bestandteil integrieren da TRIOS in der Grundausstattung diese Funktion nicht besitzt (nur über Ram-Disk glaube ich) . Um mit dem Platz klar zu kommen (LAN braucht einen Puffer und die Kopierfunktion ebenfalls), benutze ich in meiner Version Deinen Lan-RX-Puffer als Kopierpuffer, so geht nicht zuviel Speicher verloren, spricht was gegen diese Verfahrensweise?
Nichts.
Außer daß ich nicht genau weiß, wann der LAN-Code da reinschreibt. Vielleicht auch schon, wenn nur der Cog aktiviert ist (glaub ich aber nicht). Evtl. braucht man dann ein Locking...
zille9 hat geschrieben:...so wie Du Dich ins Zeug legst, werden wir doch noch zum Weltkonzern.
Das war doch auch das Ziel, oder nicht? ;)
Viele Grüße

Jörg
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Se

Beitrag von drohne235 »

Ich finde das toll. :) Kannst mir gleich einen Account machen. Momentan komme ich zwar nicht viel zum programmieren, aber das ändert sich manchmal von einem Tag auf den anderen. Am besten machen wir hier noch einen Fred auf für Fragen rund um GIT - ist mir auch erstmal neu.

Thema Kopierpuffer: In vielen Funktionen vom Administra Code wird ein Puffer gebraucht:

HSS braucht einen Puffer für die MOD’s
Wave brauchte zwei kleine Puffer
SID braucht einen Puffer
LAN braucht einen Puffer
COPY braucht einen Puffer

Könnte man den verbleibenden Speicher (Heap?) da nicht allgemeiner verwalten?

Kopierfunktion finde ich gut, muss ich mir mal anschauen - klingt nach einer sinnvollen Sache für TriOS und damit nach Standardcode! :)
"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
joergd
Beiträge: 124
Registriert: Fr 20. Dez 2013, 20:08
Wohnort: Ronneburg

Re: TriOS/Plexus: Vereinigung der Administra-Quellen, Git-Se

Beitrag von joergd »

drohne235 hat geschrieben: Kannst mir gleich einen Account machen. Momentan komme ich zwar nicht viel zum programmieren, aber das ändert sich manchmal von einem Tag auf den anderen. Am besten machen wir hier noch einen Fred auf für Fragen rund um GIT - ist mir auch erstmal neu.
Hab ich beides gemacht.
drohne235 hat geschrieben:Könnte man den verbleibenden Speicher (Heap?) da nicht allgemeiner verwalten?
Das habe ich mich auch schon gefragt. Ich bin aber nicht der Spezialist für solche grundsätzlichen Probleme, sondern assimiliere lieber Vorhandenes. Im Prinzip könnte man das schon schön als Task-/Enhancement-Ticket im Git eintragen.
drohne235 hat geschrieben:Kopierfunktion finde ich gut, muss ich mir mal anschauen - klingt nach einer sinnvollen Sache für TriOS und damit nach Standardcode!
Ist ja nun im Git-TriOS drin, wenn mit "-D __ADM_FAT -D __ADM_FAT_EXT" gebaut wird.
Viele Grüße

Jörg
Antworten