MameCab/Help: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Zeile 22: Zeile 22:
* es muss sich um Mame-Roms handeln. Man kann, wenn einer die Zeit findet und Langeweile hat, auch gerne weiter Emulatoren einbauen. Im moment ist es nur Mame
* es muss sich um Mame-Roms handeln. Man kann, wenn einer die Zeit findet und Langeweile hat, auch gerne weiter Emulatoren einbauen. Im moment ist es nur Mame
=== Frontend ===  
=== Frontend ===  
Es wird ein Frontend benoetigt... naja, eigentlich nicht, aber waere schon toll, wenn man die games per JoyStick auswaehlen kann und nicht immer das Keyboard anschliessen muss. Unterstuetzt wird im Moment Python mit pygtk wenn ihr das in C schreiben wollt auch gut. Anforderung dafuer ist a) es muss ein bild von dem Spiel dargestellt werden koennen b) fuer jedes game muss die kommandozeile einzeln einstellbar sein. die Steuertasten UPARROW,DOWNARROW,LEFTARROW,RIGHTARROW und Space stehen zur Verfuegung. Ferner sollte es vielleicht die moeglichkeit geben eine Kategorie auszuwaehlen, muss aber nicht sein. Wichtig ist die Tupel (image,name,exec-commandline) die in Form von einer Datei vorhanden sein sollte.  
Es wird ein Frontend benoetigt... naja, eigentlich nicht, aber waere schon toll, wenn man die games per JoyStick auswaehlen kann und nicht immer das Keyboard anschliessen muss. Unterstuetzt wird im Moment Python mit pygtk wenn ihr das in C schreiben wollt auch gut. Anforderung dafuer ist a) es muss ein bild von dem Spiel dargestellt werden koennen b) fuer jedes game muss die kommandozeile einzeln einstellbar sein. die Steuertasten UPARROW,DOWNARROW,LEFTARROW,RIGHTARROW und Space stehen zur Verfuegung. Ferner sollte es vielleicht die moeglichkeit geben eine Kategorie auszuwaehlen, muss aber nicht sein. Wichtig ist die Tupel (image,name,exec-commandline) die in Form von einer Datei vorhanden sein sollte.<br>
Ich versuche das mal etwas genauer zu beschreiben. Im Moment ist es, dass ein Spiel im X11 ueber die kommandozeile "/usr/games/bin/sdlmame rtype" gestartet werden muss. dabei wird von sdlmame eine default-config eingelesen und das spiel rtype gestartet. Jedoch ist es so, dass einige Spiele mit zusaetzlichen Parametern gestartet werden muessen die dann z.B. so aussehen "/usr/games/bin/sdlmame -speed 1.2 -aspekt 3:4 raiden". Es sollte also moeglich sein fuer jedes spiel eine eigene kommandline auszufuehren. Bei mir ist es so, dass ich nicht alle Spiele kenne und eher eine Auswahl, was ich spielen moechte ueber ein Bild oder ueber einen Namen treffe. Daher waere es schoen, wenn man genau diese beiden Merkmale hat, um eben eine commandline auszufuehren und so das Spiel zu starten. Optisch handelt es sich um einen Arcadeautomaten, daher waere es sinnvoll dieses Frontend auch fuer einen arcadeautomaten angemessen aussehen zu lassen. D.h es sollte vielleicht kein std-3d-effekt verwendet werden um eine Scrollbar darzustellen, wie sie die meisten anwendungen benutzen. Ich denke, dass hier eine 2d-Darstellung besser ist. Die Steuerung des Frontends pasiert ueber die Tastatur, oder besser gesagt, die digitalen JoySticks verhalten sich gegenueber dem eingebautem Computer wie eine normale PS-Tastatur. Dabei werden allerdings nicht alle Zeichen einer Normalen Tastatur uebertragen, sonder ein paar. Es macht fuer mich keinen sinn beiden Spielern eine Moeglichkeit der Spielauswahl zu geben. Die Tastatureingaben die vom erstem Spieler uebermittelt werden sind:<br>
* Pfeiltaste nach oben (UPARROW) wenn der JoyStick nach oben gedruckt wird
* Pfeiltaste nach unten (DOWNARROW) wenn der JoyStick nach unten gedruckt wird
* LEFTARROW, RIGHTARROW
* Leertaste wenn der knopf Aktion3 auf dem Arcadeautomaten gedrueckt wird
* Alt wenn der Knopf Aktion2 auf dem Arcadeautomaten gedrueckt wird
* Strg wenn der Knopf Aktion1 auf dem Arcadeautomaten gedrueckt wird
* "1" wenn auf den "Einspieler" Knopf am Arcadeautomaten gedrueckt wird
Wie das im Detail aussehen soll ist mir relativ gleich, wenn du damit zufrieden bist, bin ich es auch :) es sollte nur recht einfach moeglich sein die liste der Commandlines/Name/Bild zu verwalten. Da muss keine Datenbank hinter, sondern es reicht eine einfach Textdatei mit einem Eintrag pro Zeile oder so. Als kann kriterium koennte man kategorien fuer spiele implementieren. Dann sollte das ganze vielleicht so aussehen, das man die Commandline/Name/Bild assoziation in eine kategorie-Datei schreibt. Again, wie die technischen Details aussehen ist mir eigentlich egal. Wenn das ganze so ablaufen muss, dass das Frontend sich nach dem Aufruf der Commandline beendet, dann soll mir das auch recht sein. Wozu gibt es while(1)-loops in der bash. Wie die Navigation im Frontend aussieht ist auch voellig freigestellt. Es sollte nur vielleicht nicht so sein, dass man den JoyStick runter drueckt und das ausgewaehlte spiel gestartet wird und man Aktion3 druecken muss um sich nach unten zu bewegen. Der Gedanke ist in etwa so: Hoch/Runter Auswahl eines Spiels (vielleicht mit HighlightBar oder Pfeil um die Auswahl visuell anzuzeigen). Links/Rechts um durch die Kategorien zu blaettern, Aktion1 oder Aktion2 oder Aktion3 um die Auswahl zu bestaetigen und das Spiel/die Commandline zu starten
 
=== Kinomode ===
=== Kinomode ===
Darstellung des aktuellen Spiels auf einem anderem Monitor (weiterleitung von audio/video via ip)
Darstellung des aktuellen Spiels auf einem anderem Monitor (weiterleitung von audio/video via ip)
=== Rage ===
=== Rage ===
Es gibt ne USB-Rackete im Labor! irgendwo am Automaten befestigen und auf die gerade Spielende Person abfeuern.
Es gibt ne USB-Rackete im Labor! irgendwo am Automaten befestigen und auf die gerade Spielende Person abfeuern.

Version vom 27. Januar 2009, 15:54 Uhr

Help needed

Hardware

  • Die JoySticks und die Knoepfe haben in irgendeiner Art eine ColaDusche bekommen. Man muesste mal die Controler ausbauen und sauber machen. Kontackspray kann da auch hilfreich sein. Die Microcontroler dahinter braeuchten auch mal nen check :)
  • Wenn man in das Geraet rein schaut, kann man an dem Monitor vorbei direkt ins Gehaeuse sehen. Auch das muss nicht sein. Eine schwarze Pappe so zugeschnitten, dass man den Monitor noch sieht, aber nicht mehr in das Gehaeuse schauen kann waere super.
  • Der obere Teil hat ein Logo von "Merkurvision" und das 5 mal. Teilweise sind das bemahlte Folien, teilweise wurde direkt das Glas bemahlt. Waere toll, wenn man nen Laborlogo machen koennte und ein paar Arcadefiguren oder so. Die Hauptfarbe sollte jedoch schwarz sein, weil der ganze Automat schwarz ist
  • Ich habe gerade von Schuschmann erfahren, dass es ok ist, wenn das Geraet einen Hauptschlater bekommt. D.h. einen Schalter der eine interne Steckerleiste ein oder aus schaltet. Im Moment ist es noch so, dass der Automat am Strom haengen und die Klappe vorne zu sein muss, dann ist das Geraet an, aber eben immer an! Der Hauptschlater der eingebaut werden muss hat zum einen die Aufgabe das Geraet auch ausschalten zu koennen ohne den Stecker ziehen zu muessen, zum anderem wird eine Verteilerdose im Innerem benoetigt um den PC betreiben zu koennen.
  • Arbeitsspeicher!! Im Moment wird einfach Arbeitsspeicher benoetigt. Die Kiste hat im Moment 2x64MB SDRAM bei 100MHz. Wenn also noch jemand SDRAM hat her damit :) Ferner sind auf dem Board auch noch zwei DDR1-Ram Slots vollstaendig ungenutzt. Wenn jemand solchen ram hat dann nehmen wir den auch :)
  • Der Automat hat zwei Schloesser. Das eine sorgt dafuer, dass oben zu bleibt, das andere dafuer das unten zu bleibt. Oder zumindest sollten sie das tun. Es muss kein hochsicherheitsschloss sein, das da eingebaut werden muss, es geht lediglich um einen geschter Mechanismus her, der dafuer sorgt, dass ein solides Schliessgeraeusch gibt wenn man den Automaten zu macht. Primaeraufgabe: das teil soll nicht durch ungeschicktes Treten aufspringen.
  • an vielen Stellen ist der Lack abgeplatzt. Der Automat sollte neu angemalt werden. vorzugsweise in schwarz.
  • Aufgrund der hohen Spannung einiger Teile im Innerem hat sich da etwa 1kg Staub angesammelt. Dieser muss vorsichtig entfernt werden. Nein bitte keinen Stuabsauger rein halten oder mit dem Ventilator nachfueren. Ein trockenes Tuch sollte es tun.
  • Die ControlerKarte, die letzendlich erlaubt, dass man da einen PC anschliessen kann ist leicht instabiel. Sie neigt dazu, dass sie sich vollstaendig abschaltet. Das muss mal ueberprueft werden

Software

Wie ihr wisst, ist es, da es sich um ein oeffentliches Projekt handelt zwingent notwendig, dass ihr auch im Besitz der entsprechenden Brechtigung seid Software bereit zustellen. Ich moechte hierbei ganz besonders auf die Roms verweisen!

Roms

bitte eine Auswahl treffen. Es gibt ein paar Kriterien fuer die Roms

  • die Kiste ist nicht die schnellste also seit nicht enttaeucht, wenn das Rom nicht so gut laeuft. Viel mehr an Performance ist aus der Kiste nicht mehr raus zu holen, es sei denn es gibt Ram ;)
  • ihr muesst damit rechnen, dass die Roms eine 'alternative' Aufloesung haben werden. Ferner brauchen wir fuer jedes Rom eine Angabe darueber ob es horizontal oder vertikal betrieben werden muss. Dazu einfach ein Beispiel: das Spiel RType laeuft bei einer aufloesung von 368x288 das ist eine Aufloesung von 4:3 genauso wie 368x240. Ein Spiel das eine Aufloesung von 224x280, wie z.B. Raiden, ist 3:4 genau diese Angaben werden benoetigt. Also einfach die Frage, ob der Monitor eher Horizontal oder Vertikal sein sollte.
  • eine 'Artwork' von dem Spiel ist gerne gesehen, so, dass man einfach mit einem Bild mal eben tausend worte spaaren kann :)
  • es gibt Spiele die brauchen mehr als einen Monitor. Wie z.b. GDarius ... vergesst es! Dass sieht einfach nur scheisse aus auf einem Monitor den Inhalt von drei Monitoren darzustellen!
  • Wir haben nur eine begrenzte Anzahl von BIO-Systemen (BIOS) die fuer die Roms benoetigt werden. Wenn ihr eins habt, das wir nicht haben... jo, spielen wir gerne ein.
  • es muss sich um Mame-Roms handeln. Man kann, wenn einer die Zeit findet und Langeweile hat, auch gerne weiter Emulatoren einbauen. Im moment ist es nur Mame

Frontend

Es wird ein Frontend benoetigt... naja, eigentlich nicht, aber waere schon toll, wenn man die games per JoyStick auswaehlen kann und nicht immer das Keyboard anschliessen muss. Unterstuetzt wird im Moment Python mit pygtk wenn ihr das in C schreiben wollt auch gut. Anforderung dafuer ist a) es muss ein bild von dem Spiel dargestellt werden koennen b) fuer jedes game muss die kommandozeile einzeln einstellbar sein. die Steuertasten UPARROW,DOWNARROW,LEFTARROW,RIGHTARROW und Space stehen zur Verfuegung. Ferner sollte es vielleicht die moeglichkeit geben eine Kategorie auszuwaehlen, muss aber nicht sein. Wichtig ist die Tupel (image,name,exec-commandline) die in Form von einer Datei vorhanden sein sollte.
Ich versuche das mal etwas genauer zu beschreiben. Im Moment ist es, dass ein Spiel im X11 ueber die kommandozeile "/usr/games/bin/sdlmame rtype" gestartet werden muss. dabei wird von sdlmame eine default-config eingelesen und das spiel rtype gestartet. Jedoch ist es so, dass einige Spiele mit zusaetzlichen Parametern gestartet werden muessen die dann z.B. so aussehen "/usr/games/bin/sdlmame -speed 1.2 -aspekt 3:4 raiden". Es sollte also moeglich sein fuer jedes spiel eine eigene kommandline auszufuehren. Bei mir ist es so, dass ich nicht alle Spiele kenne und eher eine Auswahl, was ich spielen moechte ueber ein Bild oder ueber einen Namen treffe. Daher waere es schoen, wenn man genau diese beiden Merkmale hat, um eben eine commandline auszufuehren und so das Spiel zu starten. Optisch handelt es sich um einen Arcadeautomaten, daher waere es sinnvoll dieses Frontend auch fuer einen arcadeautomaten angemessen aussehen zu lassen. D.h es sollte vielleicht kein std-3d-effekt verwendet werden um eine Scrollbar darzustellen, wie sie die meisten anwendungen benutzen. Ich denke, dass hier eine 2d-Darstellung besser ist. Die Steuerung des Frontends pasiert ueber die Tastatur, oder besser gesagt, die digitalen JoySticks verhalten sich gegenueber dem eingebautem Computer wie eine normale PS-Tastatur. Dabei werden allerdings nicht alle Zeichen einer Normalen Tastatur uebertragen, sonder ein paar. Es macht fuer mich keinen sinn beiden Spielern eine Moeglichkeit der Spielauswahl zu geben. Die Tastatureingaben die vom erstem Spieler uebermittelt werden sind:

  • Pfeiltaste nach oben (UPARROW) wenn der JoyStick nach oben gedruckt wird
  • Pfeiltaste nach unten (DOWNARROW) wenn der JoyStick nach unten gedruckt wird
  • LEFTARROW, RIGHTARROW
  • Leertaste wenn der knopf Aktion3 auf dem Arcadeautomaten gedrueckt wird
  • Alt wenn der Knopf Aktion2 auf dem Arcadeautomaten gedrueckt wird
  • Strg wenn der Knopf Aktion1 auf dem Arcadeautomaten gedrueckt wird
  • "1" wenn auf den "Einspieler" Knopf am Arcadeautomaten gedrueckt wird

Wie das im Detail aussehen soll ist mir relativ gleich, wenn du damit zufrieden bist, bin ich es auch :) es sollte nur recht einfach moeglich sein die liste der Commandlines/Name/Bild zu verwalten. Da muss keine Datenbank hinter, sondern es reicht eine einfach Textdatei mit einem Eintrag pro Zeile oder so. Als kann kriterium koennte man kategorien fuer spiele implementieren. Dann sollte das ganze vielleicht so aussehen, das man die Commandline/Name/Bild assoziation in eine kategorie-Datei schreibt. Again, wie die technischen Details aussehen ist mir eigentlich egal. Wenn das ganze so ablaufen muss, dass das Frontend sich nach dem Aufruf der Commandline beendet, dann soll mir das auch recht sein. Wozu gibt es while(1)-loops in der bash. Wie die Navigation im Frontend aussieht ist auch voellig freigestellt. Es sollte nur vielleicht nicht so sein, dass man den JoyStick runter drueckt und das ausgewaehlte spiel gestartet wird und man Aktion3 druecken muss um sich nach unten zu bewegen. Der Gedanke ist in etwa so: Hoch/Runter Auswahl eines Spiels (vielleicht mit HighlightBar oder Pfeil um die Auswahl visuell anzuzeigen). Links/Rechts um durch die Kategorien zu blaettern, Aktion1 oder Aktion2 oder Aktion3 um die Auswahl zu bestaetigen und das Spiel/die Commandline zu starten

Kinomode

Darstellung des aktuellen Spiels auf einem anderem Monitor (weiterleitung von audio/video via ip)

Rage

Es gibt ne USB-Rackete im Labor! irgendwo am Automaten befestigen und auf die gerade Spielende Person abfeuern.