Seite 1 von 1

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

Verfasst: Mo 28. Apr 2014, 20:34
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).

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

Verfasst: Mo 28. Apr 2014, 21:14
von PIC18F2550
:DAUMENHOCH und ein :BIENE für die Arbeit.

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

Verfasst: Di 29. Apr 2014, 07:49
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...

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

Verfasst: Di 29. Apr 2014, 17:14
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

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

Verfasst: Di 29. Apr 2014, 17:27
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?

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

Verfasst: Di 29. Apr 2014, 18:30
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? ;)

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

Verfasst: Di 29. Apr 2014, 19:38
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! :)

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

Verfasst: Mi 30. Apr 2014, 17:34
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.