Neues Betriebsystem (Spielekonsole)

  • orb:

    Die Aussage, das .NET speziell für die Windowswelt gemacht wurde, ist imho nicht korrekt. .NET wurde eigentlich als Zwischenframework (wie z. B. Java) entwickelt und es gab ganz früh mal einen direkten Ableger für Unix - Systeme direkt von MS (daher kompiliert man .NET Programme auch in MSIL (~Art Bytecode).

    Das wurde nur nicht weiter verfolgt, weil es nicht direkt in die Zielsetzung von Microsoft gepasst hat.

    Zudem ist Mono schon wirklich sehr weit. Viele Programme, die in .NET geschrieben wurden, laufen schon einwandfrei unter Linux. Zudem gibt es inzwischen auch viele Linux - Programme, die in .NET Sprache geschrieben sind und massiv auf Mono/ .NET aufsetzen (Banshee, F-Spot, ...).

    Jedoch muss man, gerade auf dem Pi, mit Mono aufpassen. Da gibts vor allem bei Datumsgeschichten aufgrunde von Gleitkommazahlhandling noch einigen Ausbaubedarf.

    Gruß
    Fury

  • mccarthy
    Gerne, Beta-Tester braucht man immer.


    Fury
    Danke für deinen Beitrag.
    Dann steig ich auch mal tiefer in die Materie ein.
    Also da haben alle ARM platformen nicht so eine freude damit.

    Hintergrund ist die FPU… da gibt es auf den ARM Platformen zwei Varianten.
    Einmal -mfloat-abi=softfp und -mfloat-abi=hard, bedeutet das der Compiler, in unserem Fall GCC,
    die Funktions Parameter per FPU oder mit den normalen Registern übergibt (calling conventions).
    Berechnet wird immer mit der Gleitkommaeinheit, per -mfpu=vfp.

    Parameter Übergabe per FPU mag die JIT gar nicht. Damit hat aber auch die Java Runtime zu kämpfen,
    darum bekommt man die auch nur mit den softfp distros. Aber das Problem haben die mittlerweile recht gut gelöst,
    deshalb gibt es mono auch auf android und ios.

    Aber danke dass du mich nochmal auf die Problematik aufmerksam machst.
    Ich kompiliere mono derzeit mit diesen Parametern…
    -Ofast -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=softfp -mfpu=vfp
    Und die test-suite von mono läuft ohne Fehler durch.


    Grüße
    Andreas

    Einmal editiert, zuletzt von Teamdevel (8. August 2013 um 14:01)

  • Hi,
    hatte ich, glaube ich, dazu geschrieben. Wenn es von einem .so immer nur eine Version gibt, dann funtionieren evtl. andere Komponenten die auf eine neuere/ältere aufsetzen, nicht (mehr). Schnittstellenproblematik halt ... deshalb auch der dll-Vergleich.

    cu,
    -ds-

    Ich denke, das ist eher eine Frage der Art der Programmierung. Ich habe selbst vor über 20 Jahren angefangen zu programmieren, als es noch keine Vererbungen, OOP, Multithreading, Versioning, .... gab.

    Wenn ein Programmierer die Kompatibilität wahrt, ist das kein Problem und Versioning überflüssig. Klar, irgendwann blässt sich der Code auf, wenn man alles berücksichtigen will, was bis dato da war aber irgendwo muss man auch mal einen Cut machen. Zudem verändert sich der PI ja so gut wie nicht in der Hardware. Da läuft man kaum Gefahr, dass man Projekte schreibt, die irgendwann nicht mehr vernünftig oder gar nicht mehr laufen.

    Selbst wenn sich was ändern sollte, kann ja jeder Dank identischer Hardware updaten.

    Ok, wir haben im Moment 2 PI Versionen. Hier ist aber eher die Menge des RAMs der wesentliche Unterschied. Hier kann man IMHO von einem Revision A Besitzer davon ausgehen, dass er auf Revision B umsteigt, sollte es zu eng werden. Das kostet nicht viel und der Rest kann weiter verwendet werden, ohne groß irgendwas umzukonfigurieren. Wenn ich bedenke, wie bekloppt viele von der PS3 auf die PS4 umsteigen und dass mit völlig neuer Hardware und Software und einem extremen Kostenfaktor.

    Ich habe jetzt auch auf "wenig Interesse" geklickt aber nur, weil mich die Zockerthematik diesbezüglich so gut wie gar nicht interessiert.

    Ansonsten Respekt für das Vorhaben und gutes Gelingen.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Outlaw

    Zudem verändert sich der PI ja so gut wie nicht in der Hardware.
    Da läuft man kaum Gefahr, dass man Projekte schreibt, die irgendwann nicht mehr vernünftig oder gar nicht mehr laufen.


    Das wahr auch einer meiner beweg gründe… bei Versioning macht
    sich, meiner meinung, die Unix gemeinde selbst was vor…
    Genau wider hier passiert.
    Fehlende Pakete compilieren UltraStar.
    Linked version of libavutil is not yet supported!


    Und jetzt die frage… was ist leichter… sich die neue so bzw. dll runterladen.
    Oder die ganzen libraries und deren Abhängigkeiten kompilieren und Gefahr laufen
    sein System zu zerschießen!?

    Es hat schon seinen Grund warum MS und das Android system darauf verzichten,
    oder Apple ganz ein anderes system benutzt.
    Aber das soll hier jetzt nicht zur Glaubensfrage werden!


    Zu den Games

    Zum Zocken und Games allgemein muss ich noch was loswerden.
    Ich hoffe manche zocker sind jetzt nicht beleidigt,
    aber mich interessiert gaming auch nicht wirklich.
    Das letzte spiel auf das ich mich erinnern kann war Worms, glaub ich.

    Aber was ich will, ist eine platform bereitstellen…
    Mich interessieren eher Apps wie eine Maps Anwendung, Kommunikation, Skype usw…
    Aber Games ziehen halt immer noch am besten und
    können zwischendurch ganz lustig sein, denke ich.


    Grüße
    Andreas

    Einmal editiert, zuletzt von Teamdevel (5. August 2013 um 22:15)

  • Will euch mal am laufenden halten.

    Also die NET Runtime (mono) funktioniert bisher zu 100% korrekt.
    In den Bildern seht ihr einmal, dass jetzt die Umgebungs Variablen richtig zurückgegeben werden. z.B.

    [font="Courier New"]Environment[/font][font="Courier New"].GetFolderPath(Environment.SpecialFolder.MyPictures);[/font]

    gibt [font="Courier New"]"/Applications/MeineApp/Pictures"[/font] zurück oder

    [font="Courier New"]Environment[/font][font="Courier New"].GetFolderPath(Environment.SpecialFolder.ApplicationData);[/font]

    gibt [font="Courier New"]"/Applications/MeineApp"[/font] zurück.


    Mathematische Berechnungen funktionieren einwandfrei.
    Keine float probleme und es wird mit der FPU gerechnet, das sehe ich an der assembler ausgabe.

    [font="Courier New"]…[/font]
    [font="Courier New"]flds s8, [r1, #0][/font]
    [font="Courier New"]flds s12, [r2, #0][/font]
    [font="Courier New"]flds s9, [r1, #4][/font]
    [font="Courier New"]flds s13, [r2, #4][/font]
    [font="Courier New"]flds s10, [r1, #8][/font]
    [font="Courier New"]fadds s12, s8, s12[/font]
    [font="Courier New"]fadds s13, s9, s13[/font]
    [font="Courier New"]fadds s14, s10, s14[/font]
    [font="Courier New"]…[/font]

    Datums Werte werden richtig zurückgegeben.
    Binformats aktiviert, heißt ich brauche nicht mehr mono ./Anwendung.exe eingeben sondern nur mehr ./Anwendung.exe
    Und auf dem letzten Bild seht ihr noch die Controller die momentan zum Einsatz kommen.
    Sorry für die schlechte Bild Qualität, hatte nichts Besseres zur Verfügung.


    Bin jetzt von der Arbeit aus zwei Wochen unterwegs, werde die interessierten aber
    Sicher am laufenden halten.



    grüße
    Andreas

    Einmal editiert, zuletzt von Teamdevel (8. August 2013 um 19:22)

  • Das ist ja alles schön und gut.
    Auch das die neuen Konsolen nicht mehr Leistung haben als der Raspberry hat mich überrascht.
    Aber welche Spiele laufen dann auf deinem OS?

    Die sukzessive Akkumulation von Fremdwörtern suggeriert pseudo intelligente Kompetenzen

  • Na, was soll denn die Leichenfledderei? Der Thread ist > 2 Jahre alt, ich bezweifele doch sehr, dass da noch was rumkommt.

  • Wenn er schreibt, dass er set 2 Jahren daran arbeitet....
    Ein Versuch ist es Wert.

    Die sukzessive Akkumulation von Fremdwörtern suggeriert pseudo intelligente Kompetenzen

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!