PROJEKT: Rundrum-Sorglos-Paket für den MAME-Automaten: cabian

  • Um sofort die Erwartungen zu dämpfen: Es gibt kein Rundrum-Sorglos-Paket. Noch nicht. Aber das ist das Ziel, das ich mit diesem Projekt erreichen will. Nach langer Recherche vor zwei Jahren und nochmaliger langer Recherche mit ernüchterndem Ergebnis habe ich festgestellt, dass es kein schönes Softwarepaket gibt, mit dem man schnell, leicht, billig und legal MAME im eigenen Automaten ans Laufen bekommt. Von meinen Sonderwünschen ganz zu schweigen. ZXMameCD geht zwar in die richtige Richtung, aber hat mir zuviel Ballast, ist nicht leicht für Arcademonitore zu konfigurieren, ist nicht immer aktuell und hat ein Frontend, das langsam und für ein Cab nicht gut geeignet ist.


    Daher installiere ich mir nun die Software so zusammen, wie ich mir das für mein Cab wünsche. Doch damit nicht genug. Ich will, Nachfrage vorausgesetzt, daraus ein Paket machen, mit dem auch Leute mit wenig Computerkenntnissen MAME im Cab ans Laufen bekommen.


    Das Ganze wird auf linux, genauer gesagt auf debian linux basieren, ich nenne es cabian, d.h. man kann es legal und kostenlos so oft kopieren und installieren wie man möchte. Außerdem braucht es deutlich weniger Speicher als Windows und lässt sich viel einfacher von einem anderen Computer (oder Handy oder iPad) fernsteuern. Es wird einen aktuellen MAME enthalten, von USB-Stick, CD-ROM oder Festplatte laufen und 15-kHz-Monitore unterstützen.



    Features (Status)

    • linux mit aktuellem Kernel (erreicht)
    • Aktuelle MAME-Version mit Highscore-Patch (erreicht)
    • Direkter Start der Oberfläche ohne Anmeldung (erreicht)
    • Von USB-Stick lauffähig (erreicht)
    • Bootet schnell (ja, noch ;-))
    • Braucht weniger als 1 GB (ja, noch ;-))
    • Unterstützung für IR-Sender, um Fernseher anzuschalten. (funktioniert, aber kaum getestet)
    • Unterstützung für PAL- und NTSC-Röhrenfernseher sowie Arcademonitore. (funktioniert, aber kaum getestet)
    • Build-Umgebung, mit der die Distribution automatisch generiert werden kann. (Nur erste Ideen)
    • Einfacher Installer. (Nur erste Ideen)
    • Cabrio FE als Frontend. (Noch nicht begonnen)


    Wer Interesse hat, möge hier reinposten. Es ist nämlich sehr viel mehr Arbeit, eine solche Distribution zu bauen als einfach nur für mich selber eine Installation zusammenzubasteln, und wenn's niemanden interessiert, begnüge ich mich mit Letzterem :).

  • Ein Rundum-Sorglos-Paket muss IMHO eine 15kHz-Unterstützung enthalten, die sich wahlweise selbst installiert (Auswahl Arcademonitor, VGA, etc.).


    Zitat

    Unterstützung für PAL- und NTSC-Röhrenfernseher sowie Arcademonitore


    Yeah :)



    Was für eine Oberfläche ist bisher implementiert? Meinst du das OS oder schon ein Frontend oder MameUI?

  • Frontend hätte ich schon auch Lust drauf mit zu programmieren. Am liebsten würde ich Mala komplett in Java neu machen ... nur besser :D

  • Jo, sehr coole Idee. Im Nachbarforum war letztens mal einer, der ein paar Skripte geschrieben hat um damit Informationen über die 15 KHz Fähigkeiten von Grafikkarten zu bekommen. Die Informationen von ihm lassen sich sicherlich irgendwie ausnutzen für dieses Projekt.
    Eventuell wäre es ja auch eine gute Idee Lincade wieder aufzugreifen und zu aktualisieren. Die haben da schon eine Menge in die Richtung gemacht, also ein Tool um das Teil zu steuern bzw. zu installieren, soweit ich weiss. Basiert halt auf Gentoo.
    Da kann man sich sonst sicherlich was abgucken. Der HolgiB, der das gemacht hat, war hier auch mal an Board.


    @PRC: Es gibt doch auch schon einige gute Sachen: Wah!Cade z.B. Das ist in Python geschrieben. Eventuell kriegt man das auch irgendwie unter Windoof ans laufen?! Ansonsten wäre ein FE in Java natürlich eine coole Sache. Leider habe ich im Moment wenig Zeit sonst hätte ich auch Interesse daran mitzuwirken.

    [CENTER]Doch wie du jetzt dahin kommst
    ANLAUF, ALTER, ANLAUF!!!! [/CENTER]

  • Ein Rundum-Sorglos-Paket muss IMHO eine 15kHz-Unterstützung enthalten, die sich wahlweise selbst installiert (Auswahl Arcademonitor, VGA, etc.).


    Hab nur nen PAL-Fernseher per VGA2Scart zum Probieren, aber das hat toll geklappt. Super Bild und wenn ein Computermonitor (Multisync oder TFT) dranhängt, kommt er damit auch super klar (automatisch höhere Auflösung und Frequenz).


    Zitat

    Was für eine Oberfläche ist bisher implementiert? Meinst du das OS oder schon ein Frontend oder MameUI?


    Bisher gar keine. Ich will Cabrio FE (<- Klick mich, du Sau!) nehmen.


    Frontend hätte ich schon auch Lust drauf mit zu programmieren. Am liebsten würde ich Mala komplett in Java neu machen ... nur besser :D


    Guck dir doch mal Cabrio FE an (<- Klick mich, du Sau!). Da würde es für den Anfang genügen, ein debian-Paket für die neueste Version (Wheezy) zu bauen, da wäre mir schon sehr geholfen.

  • Cabrio sieht als Frontend echt gut aus. Ich hab nur gefragt weil du geschrieben hast: "Direkter Start der Oberfläche ohne Anmeldung (erreicht)"



    Wie ist das mit der Wahl des Bildschirms realisiert? Wird man gefragt, welcher Typ angeschlossen ist?

  • Cabrio sieht als Frontend echt gut aus. Ich hab nur gefragt weil du geschrieben hast: "Direkter Start der Oberfläche ohne Anmeldung (erreicht)"


    Hm, da stand ich wohl auf der Leitung. Das kommt davon, wenn man nicht hochscrollt und nur auf den aktuellen Beitrag antwortet :rolleyes:. In dem Satz meinte ich mit "Oberfläche" die grafische Benutzeroberfläche des Betriebssystems. Bzw. bei linux ist es ja nicht Bestandteil des OS. Konkret X11, noch konkreter Xorg 1.11.3.901, und zwar ohne Window Manager, d.h. keine Startleiste, keine Rahmen um Fenster, keine Kontextmenüs, kein Anmeldebildschirm, kein gar nichts. Direkt ins MAME-Frontend booten und fertig. Wenn man das Frontend beendet, fährt der Rechner herunter.


    Zitat

    Wie ist das mit der Wahl des Bildschirms realisiert? Wird man gefragt, welcher Typ angeschlossen ist?


    Mit EDID. PC-Monitore melden der Grafikkarte, wer sie sind und was sie können. Das funktioniert schon ab VGA und wenn der X-Server das erkennt, stellt er fest, dass die Timings für Festfrequenzmonitore (was die Voreinstellung ist) nicht darstellbar sind und macht seine automatische Erkennung als Fallback. Zwischen PAL, NTSC und Arcademonitor müsste man dann irgendwo im Installer auswählen. Ich weiß nicht, ob ein Arcademonitor auch ein vernünftiges Bild darstellt, wenn man ihm 50 Hz interlaced mit 15 kHz und negativen Syncs gibt, bin irgendwie davon ausgegangen.


    Frontend hätte ich schon auch Lust drauf mit zu programmieren. Am liebsten würde ich Mala komplett in Java neu machen ... nur besser :D


    Nein, das Rad wollte ich nicht unbedingt neu erfinden. Und bislang ist meine Installation sehr leichtfüßig und zwar was Plattenplatz, Speicherverbrauch und Bootzeit angeht, da wär mir eine Java Runtime ein Dorn im Auge. AdvanceMenu werde ich auch mal antesten, aber Cabrio ist natürlich ungleich hübscher. Den Zustand von Cabrio habe ich mir noch nicht angeschaut, ich kenne bislang auch nur das Video, und das sieht schon recht reif aus. Ich hoffe sehr, dass das nicht eine Bug-Hölle ist. Die Konfiguration und Dokumentation von Cabrio ist jedenfalls nichts für schwache Nerven :rolleyes:. Vielleicht könnte sich da jemand mit C-Kenntnissen mal einen Überblick verschaffen. Anyone?

  • Ich fänd´s Sau Geil, Ich plag mich immer Tierisch mit der konfigurerei.
    Allerdings bin ich auch voll der noob, von mir ist da leider keine Mithilfe zu erwarten.
    Aber ich werd´s gespannt verfolgen und würde mich freuen es irgendwann nutzen zu dürfen.
    Mach weiter so !
    Gruss

  • Also das Cabrio FE sieht ja schon nice aus, allerdings frage ich mich, wie das aussieht, wenn da keine Artworks für ein Spiel vorhanden sind. Da sind ja immer schöne Schriftzüge für jedes Spiel. Die kommen ja auch irgendwo her.
    Was spricht denn gegen Wah!Cade? Brauchst nur Python für und ein paar Python Libs dann läuft das. Und es gibt da einige schicke Themes für. Da könnten sich auch andere Leute dran beteiligen und angepasste Themes mit dem Wah!Cade eigenen Tool zur Erstellung von Themes basteln.
    Das Cabrio FE sieht ja schick aus, ist aber noch in nem Beta Zustand.

    [CENTER]Doch wie du jetzt dahin kommst
    ANLAUF, ALTER, ANLAUF!!!! [/CENTER]

  • Also das Cabrio FE sieht ja schon nice aus, allerdings frage ich mich, wie das aussieht, wenn da keine Artworks für ein Spiel vorhanden sind. Da sind ja immer schöne Schriftzüge für jedes Spiel. Die kommen ja auch irgendwo her.


    Ein paar werden mitgeliefert, ein paar kann man selber bauen, für den Rest kann man Marquees-Grafiken nehmen oder falls nicht vorhanden einfach einen Schriftzug mit dem Spieletitel automatisch generieren. Oder vielleicht macht Cabrio das sowieso schon von sich aus.


    Zitat

    Was spricht denn gegen Wah!Cade? Brauchst nur Python für und ein paar Python Libs dann läuft das.


    Ja, Wah!Cade ist nicht verkehrt. Ich muss mal schauen, was für Abhängigkeiten Wahcade hat und ob ich das so themen kann, wie ich mir das vorstelle. Ich will nicht, dass die Distro zu groß wird oder dass man auf einem TV nix mehr erkennen kann. Mal gucken.


    All diese Frontend-Projekte sind ziemlich dünn besetzt. Bei Wah!Cade ist die letzte stable Release zweieinhalb Jahre alt, die letzte Änderung am Code ein Jahr. Bei Cabrio gab es die letzte Release vor einem halben Jahr.


    Zitat

    Und es gibt da einige schicke Themes für. Da könnten sich auch andere Leute dran beteiligen und angepasste Themes mit dem Wah!Cade eigenen Tool zur Erstellung von Themes basteln.
    Das Cabrio FE sieht ja schick aus, ist aber noch in nem Beta Zustand.


    Dass es beta ist, stimmt wohl. Mal schauen, was beim Testen herauskommt. Schlanker C-Code und hübsches Carousel ist mir jedenfalls lieber als Python und die Wah!Cade-Themes, die ich bis jetzt so gesehen habe (das waren zugegeben nicht viele).


  • All diese Frontend-Projekte sind ziemlich dünn besetzt. Bei Wah!Cade ist die letzte stable Release zweieinhalb Jahre alt, die letzte Änderung am Code ein Jahr. Bei Cabrio gab es die letzte Release vor einem halben Jahr.



    Ja, das ist wohl das größte Problem. Deswegen war die Idee ein FE selber zu bauen auch nicht die allerschlechteste. Also das Wah!Cade ist eigentlich relativ ausgereift. Man kann Mamewah Themes verwenden dafür. Leider sind die alten Seiten alle Offline. Ich muss mal gucken, ob ich hier noch ein paar Themes rumfliegen hab. Ansonsten ist der mitgelieferte Editor ziemlich gut.


    Zum Thema schlanker C-Code usw.: Das ist ja nur ein Frontend. Ich finde C ist da der vollkommen falsche Ansatz. Mit Python, Java oder ähnlichem kann man da viel schneller und einfacher viel bessere Ergebnisse erzielen. In C kann man einfach zuviel falsch machen, da man auch alles von Hand zu Fuß machen muss.
    Also würde ich ein FE schreiben, würde ich nie auf die Idee kommen, dafür C zu verwenden.
    Ich bin gerade auf dem Python Trip, von daher ist mir Wah!Cade lieber :D
    Wenn ich mal wieder Zeit hab, kann ich da bestimmt auch mal in den Code reinschauen, falls du irgendwelche Probleme damit haben solltest.

    [CENTER]Doch wie du jetzt dahin kommst
    ANLAUF, ALTER, ANLAUF!!!! [/CENTER]

  • Ja, das ist wohl das größte Problem.


    Ich sehe das Problem eher bei den Entwicklern. Die versäumen es, da Community-Projekte draus zu machen, mit einem Sourcecode-Repository bei Sourceforge oder Google Code, zu dem es mehrere Admins gibt, die auch noch Contributoren freischalten können, wenn der Initiator längst das Interesse verloren hat.


    Zitat

    Man kann Mamewah Themes verwenden dafür. Leider sind die alten Seiten alle Offline.


    Ich habe keine alten Links, aber wenn du welche hast, kannst du ja mal die Wayback-Machine probieren.


    Zitat

    Zum Thema schlanker C-Code usw.: Das ist ja nur ein Frontend. Ich finde C ist da der vollkommen falsche Ansatz. Mit Python, Java oder ähnlichem kann man da viel schneller und einfacher viel bessere Ergebnisse erzielen.


    Eine schlanke Distribution, die auch auf schwachbrüstigen PCs und kleinen USB-Sticks gut läuft, ist mir wichtiger ist als schnelle Ergebnisse. :P
    Naja, mal gucken... ideal wär natürlich, wenn man im Installer wählen könnte.

  • Naja Wah!Cade wird auf Launchpad gehostet: https://code.launchpad.net/wahcade
    Das kannste ja auch einfach branchen und daran weiterbauen. Wenn du dem Typen Code zukommen lässt, wird der bestimmt mit aufgenommen.
    Was genau fehlt dir denn dabei? Ich finde, Wah!Cade ist eingentlich so ziemlich feature-complete. Natürlich geht immer noch mehr, sowas wie Unterstützung für die MALA Hardware oder so. Es gibt auch ein Wah!Cade Forum in dem manchmal noch was los ist. Ich denke, da wird lässt sich schon noch was machen, wenn man contributen möchte.


    Die Wayback Machine kenne ich natürlich und habe ich auch schon ausprobiert. Mein Bookmark war ohne skins.htm und die Seite verwendet irgendnen Javascript Menu, dass da nicht funktioniert hat. Den kompletten Link habe ich jetzt aber gefunden: http://localarcade.com/screenshotarchive/skins.htm <-- das kannste in der Wayback Machine eingeben.
    http://wiki.arcadecontrols.com/wiki/Mamewah_Skins <-- da gibts ne Beschreibung, wie die Layouts von MameWah funktionieren. Wah!Cade ist analog.


    Ja, ich denke die Python Tools werden auch auf schwachbrüstigeren Rechnern laufen. Ich hab jetzt nur aus Entwicklersicht gesagt, dass es für mich keinen Sinn macht, ein Frontend in C zu bauen, weil es viel zu aufwendig und fehleranfällig ist. Schneller und schlanker müssen C Programme auch nicht unbedingt sein :) Kommt drauf an, wie es geschrieben wurde.
    Eine Auswahl von Frontends in einer Art Installer dürfte aber das geringste Problem sein, oder? Schau doch mal bei Lincade. Ich meine, das Skript was die haben ist ziemlich cool. Das hat damals so ein Australier oder so geschrieben. Vielleicht hat der ja auch Lust nochmal ein bisschen bei deinem Projekt mitzumachen oder erlaubt dir zumindest sein Skript irgendwie zu verwenden. Viele Sachen, die du machen möchtest wurden da schon mehr oder weniger gelöst..

    [CENTER]Doch wie du jetzt dahin kommst
    ANLAUF, ALTER, ANLAUF!!!! [/CENTER]

  • Was genau fehlt dir denn dabei? Ich finde, Wah!Cade ist eingentlich so ziemlich feature-complete.


    Keine Ahnung, bin noch nicht dazu gekommen, mir das anzuschauen. Hat es Unterstützung für senkrechte Monitore, vollständig konfigurierbare Joystickbedienung und eine hübschen Carousel-Ansicht?


    Zitat

    Ich hab jetzt nur aus Entwicklersicht gesagt, dass es für mich keinen Sinn macht, ein Frontend in C zu bauen, weil es viel zu aufwendig und fehleranfällig ist.


    Och, es geht... Gerade MAME Frontends sind viel einfacher als Fensterumgebungen, und zur Not kann man immer noch GTK oder wxWidgets benutzen.


    Zitat

    Schneller und schlanker müssen C Programme auch nicht unbedingt sein :) Kommt drauf an, wie es geschrieben wurde.


    Es ist aber wirklich nicht einfach, die 15 MB des Python-Interpreters durch Code-Bloat aufzuholen :p


    Zitat

    Schau doch mal bei Lincade. Ich meine, das Skript was die haben ist ziemlich cool.


    Was macht das denn? /edit: Hm, das ist zu 80% Kram, den der debian-live-builder wohl sowieso mit drinhat, also hostname, Partitionierung, Dateisystem, Netzerk, X11.

  • Ähm, sehen alle Wah!Cade-Themes so aus wie die von MameWah? Weil keins von denen ist für ein echtes Cab geeignet. Auf nem Arcade-Monitor kannste die Schrift nicht lesen.


    So, jetzt teste ich mal Wah!Cade in der VM.


    /edit: So, hab's geschafft. Es ist nicht ganz so schlimm gekommen wie ich befürchtet habe. Trotzdem: 71 MB sind reichlich viel, auch wenn sich da vielleicht noch ein paar MB sparen lassen.


    [ATTACH=CONFIG]14760[/ATTACH]

  • Also Wah!Cade hat Unterstützung für senkrechte Monitore und die Buttonbelegung kannst du auch vollkommen frei konfigurieren. Ich benutze es in meinem Cab auch je nachdem wierum der Monitor gerade drin ist. Man kann die Ausrichtung einfach mit einer Tastenkombination ändern. Dazu dann noch eine Spieleliste in der nur vertikale Spiele sind und fertig. Funktioniert wunderbar.
    Ein Carousel Theme gibt es leider nicht dafür. Die Themes sehen schon alle so ähnlich aus wie die aus dem Link. Auf dem Cab ist das allerdings sehr gut lesbar. Die Schriftgröße lässt sich ja ohne weiteres anpassen.
    Und bei deiner Installation hast du auch ein wenig gecheatet.. da ist ja noch z.B. sdlmame dabei, das einiges an Abhängigkeiten sicherlich mitgebracht hat. Ausserdem hat Wah!Cade Unterstützung für Attract-Movies und irgendwelche Hintergrundmusik oder Soundeffekte oder sowas. Keine Ahnung. Darum sind da noch einige andere Abhängigkeiten, die du so wahrscheinlich erstmal nicht brauchst, libvorbis z.B. Ich denke das werden im Endeffekt viel weniger als die angesprochenen 71 MB sein.

    [CENTER]Doch wie du jetzt dahin kommst
    ANLAUF, ALTER, ANLAUF!!!! [/CENTER]

  • Also Wah!Cade hat Unterstützung für senkrechte Monitore und die Buttonbelegung kannst du auch vollkommen frei konfigurieren.


    Ok, gut.


    Zitat

    Ein Carousel Theme gibt es leider nicht dafür. Die Themes sehen schon alle so ähnlich aus wie die aus dem Link. Auf dem Cab ist das allerdings sehr gut lesbar. Die Schriftgröße lässt sich ja ohne weiteres anpassen.


    Ich bin der Meinung, dass Text auf einem Cab nix verloren hat. Da soll man nicht aus 7.000 Spielen auswählen sondern vielleicht aus einem Dutzend, und die hätt ich gerne grafisch dargestellt. Die Themes, die ich von Wah!Cade bis jetzt gesehen habe, waren wirklich öde.


    Zitat

    Und bei deiner Installation hast du auch ein wenig gecheatet.. da ist ja noch z.B. sdlmame dabei, das einiges an Abhängigkeiten sicherlich mitgebracht hat.


    Nein, SDLMAME waren nur ein paar kB, das ist nur ein Meta-Paket (genau wegen Paketen wie wahcade, die noch nicht mitbekommen haben, dass sdlmame nun mame heißt). Die 71 MB sind ausschießlich Wah!Cade und der Python- und GTK-Kram.


    Zitat

    Ausserdem hat Wah!Cade Unterstützung für Attract-Movies und irgendwelche Hintergrundmusik oder Soundeffekte oder sowas. Keine Ahnung. Darum sind da noch einige andere Abhängigkeiten, die du so wahrscheinlich erstmal nicht brauchst, libvorbis z.B. Ich denke das werden im Endeffekt viel weniger als die angesprochenen 71 MB sein.


    Jeder ist herzlich eingeladen, zu versuchen, das abzumagern. Video- und Sound-Unterstützung hätte ich natürlich ganz gerne. Ich würde bei iso-codes (von libgstreamer benötigt) ansetzen, das klingt reichlich unwichtig, ist aber 13 MB schwer.