Mame ist ein Emulator für die Arcade-Maschinen aus den Spielhallen. Nicola Salmoria begann 1997 mit Mame. Es entstandaus einer ganzen Reihe Emulatoren, die für jeweils nur ein Spiel
geschrieben worden waren. Diese Einzelemulatoren wurdenkombiniert zu einem "Multispiele
Emulator". Dies ist dieaktuelle Form von Mame, kein Projekt eines Einzelnen, sondernes arbeiten über 100 Personen daran.
Mame wurde geschaffen von Nicola Salmoria.
Siehe auch das offizielle Mame Readme (readme.mame)
Mess ist, wie Mame, ein Emulator für virtuelle Maschinen. Im Unterschied zu Mame emuliert Mess Computer und Konsolen.
Sieh auch das offizielle Mess Readme (readme.mess)
Xmame/Xmess sind die Unix/X11-Portierungen des Mame- undMessprojektes. Somit sind Mame/Mess verfügbar auf*ix-Maschinen, die XWindows
X11R6 unterstützen(ebenfalls SVGAlib/ggi/XF86-DGA/OpenGL/SDL).
Die erste Mame-Konvertierung stammt von Allard Van Der Bas,Dick the Ridder, Juan Antonio
Marmnez und Hans de Goede..
XMame/XMess wird zur Zeit gepflegt von Lawrence Gold.
Keine wesentlichen.
Xmame/Xmess basieren auf dem Sourcecode von Mame/Mess.Aus technischen Gründen, die den Rahmen dieses Dokumentssprengen würden, kann der
Mame/Mess-Sourcecode nicht unterUnix übersetzt werden.Deshalb existiert das Xmame/Xmess-Projekt. Jedes mal, wennMame/Mess upgedatet wird, wird das Coding unter Unix getestet(und gepatched, falls dies nötig ist). Somit sind dieXmame-/Xmess-Releases immer auf dem selben Stand, wie dieOriginale.
Es existieren keinerlei Pläne für eine unabhängigeEntwicklung von Xmame/Xmess.
XMame läuft auf Low-End und auf High-End CPU's, benutzt aligned Integer-Zugriff wenn nötig und ist auchcompatibel mit 64-bit CPU's. Die aktuelle Liste der unterstützten CPU's im Makefile ist:
Das Hinzufügen von Unterstützung anderer CPU's (falls nötig) sollte einfach sein.
Die folgenden Unix-Plattformen werden im Speziellen unterstützt:
Der Eintrag "generic unix" sollte für jedes Standard Unixfunktionieren, aber kein Sound, da derzeit kein einziger Standard für Sound unter Unix existiert.
Auf allen Plattformen wird nun zlib benötigt, weil die DOS-Versiondies nun auch benutzt. Wenn Du die zlib nicht hast, dann kannst Dudie mitgelieferte
benutzen. Es müssen nur die betreffenden Zeilenim Makefile auskommentiert werden.
Die folgenden Anzeigearten werden unterstützt, wobei X11 alsEinzige auf allen Plattformen läuft, ausser OpenStep, wo nur die OpenStep
Bitmaps funktionieren:
Die folgenden Kombinationen aus Architektur/BS/Anzeige werden derzeit aktiv unterstützt. Bitte an den jeweilsZuständigen Mailen, wenn Probleme mit einer
bestimmtenKombination aus Architektur/BS/Anzeige beim Übersetztenoder anderen Problemen auftreten. Eine Mail
an
Lawrence
gold@aros.net bei allgemeinen Problemen (z.B. X11).
<gold@aros.net>
<gold@aros.net><sgoethel@jausoft.com>
<gold@aros.net>
<gold@aros.net>
<cpg@aladdin.de>
<cpg@aladdin.de>
<ldardini@usl4.toscana.it>
<sid@skater.htu.tuwien.ac.at>
<sid@skater.htu.tuwien.ac.at>
<c9710216@studentmail.newcastle.edu.au>
<dave@dtsp.co.nz>
<cpg@aladdin.de>
<rosenhau@mailserv.sm.go.dlr.de>
<xmame@frogface.ddns.org>
<pete@toybox.twisted.org.uk>
<jolletx@cybercable.fr>
<ddingus@uswest.net>* Dies wird bei der Benutzung des Eintrages "generic unix" im Makefile unterstützt und bietet keinen Sound.
Wir suchen immer nach Leuten, die neue Kombinationen ausArchitektur/BS/Anzeigeart testen und auch aufkommende Fragendazu beantworten können. Dies kostet nicht viel Zeit undkann anderen Leute enorm weiterhelfen. Wenn Du Interesse hast,dann eine Mail an
Lawrence
gold@aros.net.
Xmame/Xmess sollten laufen in einem 8bpp Pseudo-Farben-Display und in einem 16, 24 oder 32bpp True Color Display.Wenn der X-Server keine dieser "Displays" unterstützt, dannwird Xmame/Xmess auch nicht funktionieren.
Um herauszufinden, was der X-Server unterstützt, kann mandas Tool xdpyinfo benutzen. Mehr Info auf der Manpagevon xdpyinfo.
Ein Aufruf von Xmame/Xmess kann so aussehen:
xmame pacman -sound -nojoy -frameskip 2 -heightscale 3
\
-widthscale 2
Meist wird man die gleiche Einstellung für jedes Spielnutzen.Xmame/Xmess liest diese Datei für dieGrundeinstellungen der Parameter, die gesetzt werden
können.Auf diese Weise müssen nur die Parameter beim Aufrufangegeben werden, die überschrieben werden sollen.
Ein anderer Grund für xmamerc/xmessrc ist die Umbelegungvon Tasten. Einige Unix-Tastaturen weichen stark vonPC-Tastaturen ab. Um dies abzufangen,
kann man inxmamerc/xmessrc Tasten belegen/umbelegen, die aufUnix-Tastaturen nicht vorhanden sind.
Die Syntax ist recht einfach:
"Schlüsselwort Wert"
Siehe auch in
xmamerc.dist für die meisten derSchlüsselwörter. Fast alle Kommandozeilen-Optionenkönnen als Schlüsselwörter (ohne das -) benutzt
werden,benutze einfach den Wert 0 oder 1 für Kommandozeilen-Optionen, die als Gegenstück die verneinende Option
(-no[option]) haben.Üblicherweise beginnen Kommentarzeilen mit einem "#".
Du kannst natürlich eine Konfigurationsdatei erstellen mit allen Einstellungen. Eine Vorlage kann
erzeugt werden mit
xmame -showconfig > ~/.xmame/xmamerc
Xmame/Xmess suchen in einem durch ":" getrennten Pfadnach Roms/Samples/Artwork.
Der Defaultpfad ist XMAMEROOT und wirdwährend des Compilierens gesetzt im Makefile.
Dieser Pfadkann durch einen beliebigen Pfad in xmamerc/xmessrc überschrieben werden. Dies kann wiederum durch die
Kommandozeilen-Option -rompath überschrieben werden.
Xmame/Xmess durchsuchen jedes Verzeichnis in dieser Pfadangabenach Roms/Samples auf folgende Weise:
<dir>/spielname.zip (enthält Dateiname.ext)
<dir>/spielname/dateiname.ext
<dir>/spielname/dateiname.ext.gz (enthält Dateiname.ext)
<dir>/spielname/dateiname.zip (enthält Dateiname.ext)
Ein Beispiel: es wird nach der Datei rom0001.1 gesucht, dieein Teil des Spiels Pacman ist. Xmame/Xmess suchen in jedemVerzeichnis des Suchpfades nach:
<dir>/pacman.zip (enthält rom0001.1)
<dir>/pacman/rom0001.1
<dir>/pacman/rom0001.1.gz (enthält rom0001.1)
<dir>/pacman/rom0001.zip (enthält rom0001.1)
Bemerkung: Wenn Deine NeoGeo-Spiele die Datei neogeo.rom nicht finden,dann kopiere es in ein Verzeichnis namens neogeo im Suchpfad nach Romsoder packe es in die Datei neogeo.zip im Suchpfad nach Roms.
Diese Sektion betrifft nur XMess, dass das Lesen/Schreiben auf Disketten-Images unterstützt und dabei versucht das Image zum Lesen/Schreiben zu öffnen.
XMess sucht zuerst nach den Images mit dem Namen, der in der Kommandozeile eingegeben wurde:
<path>/image.ext
Dabei ist path der Pfad zu dem Image. Auf diesem Weg können auch absolute
und relative Dateinamen benutzt werden von der Kommandozeile aus, die nicht im
Suchpfad nach Images sind.
Dann sucht XMess jedes Verzeichnis im Suchpfad für roms/samples auf folgende
Art und Weise:
<dir>/image.ext
Bemerkung: beim Lesen/Schreiben von Images darf das Image nicht gepackt sein.
XMess beginnt die Suche nach Cartridges/Disketten vom aktuellen Verzeichnis aus folgendermaßen:
<path>/image.ext
<path>/image.ext.gz (enthält image.ext)
<path>/image.zip (enthält image.ext)
Dabei ist path der Pfad zu dem Image. Auf diesem Weg können auch absolute
und relative Dateinamen benutzt werden von der Kommandozeile aus, die nicht im
Suchpfad sind.
Dann durchsucht XMess jedes Verzeichnis im Suchpfad für Cartridges/Images auf
folgende Art und Weise:
<dir>/image.ext
<dir>/image.ext.gz (enthält image.ext)
<dir>/image.zip (enthält image.ext)
Abschließend sucht XMess im Rompfad wie oben beschrieben mit dem Systemtyp nach
dem Spielenamen.
Beispiel: Wir wollen mario.nes spielen mit der NES Emulation von XMess. Wir würden dann eintippen: "xmess nes mario.nes". XMess beginnt die Suche im aktuellen Verzeichnis nach
mario.nes
mario.nes.gz (enthält mario.nes)
mario.zip (enthält mario.nes)
Danach sucht Xmess in jedem Verzeichnis Deines Rompfades nach
<dir>/mario.nes
<dir>/mario.nes.gz (enthält mario.nes)
<dir>/mario.zip (enthält mario.nes)
Abschließend sucht XMess in jedem Verzeichnis Deines Rompfades nach
<dir>/nes.zip (enthält mario.nes)
<dir>/nes/mario.nes
<dir>/nes/mario.nes.gz (enthält mario.nes)
<dir>/nes/mario.zip (enthält mario.nes)
Da XMess zuerst im aktuellen Verzeichnis nach Cartridges/Disketten sucht, kann auch eine Cartridge/Diskette angegeben werden, die nicht im Rompfad ist. Beispielsweise:
"xmess nes ../mario.nes"
XMess sucht nach
../mario.nes
../mario.nes.gz (enthält mario.nes)
../mario.zip (enthält mario.nes)
und wird ebenfalls den gesamten Rompfad wie oben beschrieben nach ../mario.nes als Dateiname durchsuchen. Aber das ist nicht sonderlich hilfreich.
XMame/XMess durchsuchen jedes Verzeichnis im Rompfad nach Artwork auf folgende Art und Weise:
<dir>/artwork.png
<dir>/artwork.png.gz (enthält artwork.png)
<dir>/artwork.zip (enthält artwork.png)
Dann suchen XMame/XMess im Rompfad wie bei Roms/Samples.
Beispiel: Wir wollen foo spielen, dass bar.png nutzt. XMame/XMess beginnen die Suche in jedem Verzeichnis des Rompfades nach
<dir>/bar.png
<dir>/bar.png.gz (enthält bar.png)
<dir>/bar.zip (enthält bar.png)
Danach suchen XMame/XMess in jedem Verzeichnis des Rompfades nach
<dir>/foo.zip (enthält bar.png)
<dir>/foo/bar.png
<dir>/foo/bar.png.gz (enthält bar.png)
<dir>/foo/bar.zip (enthält bar.png)
Xmame sucht nach den folgenden Konfigurationsdateien und wertet jede,die gefunden wird, aus. Somit kann eine später ausgewerteteKonfigurationsdatei die Optionen einer früher gelesenen überschreiben:
XMAMEROOT/xmamerc
XMAMEROOT/xmame-DISPLAY_METHODrc
${HOME}/.xmame/xmamerc
${HOME}/.xmame/xmame-DISPLAY_METHODrc
${HOME}/.xmame/rc/<gamename>rc
XMAMEROOT wird während des Übersetzens gesetzt, siehe
Makefile.
ANZEIGE_METHODE (DISPLAY_METHOD), für die XMame übersetzt wurde, dies kann sein: x11, svgalib, ggi, xgl, xfx, svgafx,
openstep oder SDL.
Für XMess natürlich einfach XMame durch XMess ersetzen ;-)
Die Dateien zur Spiele-Konfiguration werden benutzerabhängigabgelegt in:
${HOME}/.xmame/cfg/<game>.cfg resp
${HOME}/.xmess/cfg/<game>.cfg
Die Dateien zum Spielestatus werden userabhängig abgelegt in:
${HOME}/.xmame/sta/<game>.sta resp
${HOME}/.xmess/sta/<game>.sta
NVram Dateien werden benutzerabhängig gespeichert unter:
${HOME}/.xmame/nvram/<game>.nv resp
${HOME}/.xmess/nvram/<game>.nv
Memory Cards werden benutzerabhängig gespeichert in
${HOME}/.xmame/mem/<filename>.mem resp
${HOME}/.xmess/mem/<filename>.mem
Wobei <filename> durch den Spieletreiber vorgegeben ist.
Screenshots können erzeugt werden durch Drücken von F12 und werdenim PNG-Format im aktuellen Arbeitsverzeichnis gespeichert (cwd), alsodas Verzeichnis, von dem aus XMame/XMess aufgerufen wurde.
Dies kann abgeändert werden durch den Eintrag screenshotdir inxmamerc/xmessrc.
Dies kann wiederum abgeändert werden durch die Kommandozeilen-Option -screenshotdir.
Die Bilder werden gespeichert als:
<screenshotdir>/<game>xxxx.png
Dabei ist xxxx eine Zahl.
Die Highscores werden gespeichert in XMAMEROOT, definiertim Makefile beim Compilieren. Dieses Spooldirectorykann überschrieben werden durch den
Eintrag in xmamerc bzw.xmessrc. Dieser Eintrag kann wiederum überschrieben werdendurch die Kommandozeilen-Option -spooldir.
Somit einfach die Berechtigung des Spoolverzeichnissessetzen auf
drwxrwsr-x root games <spooldir>
mittels chown.Dann noch ein setgid xmame/xmess auf game und schon funktioniert es. (Bei Verständnisproblemen die Manpagevon chown und setgid lesen !!!!)
Man kann auch die Group-ID bei xmame/xmess mittelschgrp game xmame.x11 (für die X11-Version) setzen.Dies funktioniert aber NICHT bei der SVGAlib
und XF86-DGA Version. Diese benötigen suid root !!
Verbesserungsvorschläge willkommen.
Für diese Versionen einfach ${HOME}/.xmame oder${HOME}/.xmess als spooldir in xmamerc/xmessrc angeben.
Anmerkung: Damit Hiscores funktionieren, muss XMame natürlichdie Datei hiscore.dat finden können.
Wenn Du die Hiscores nutzen willst, dann muss XMame die Dateihiscore.dat laden können, um an die Informationen heranzukommen.
Der Standard ist hierbei XMAMEROOT/hiscore.dat . XMAMEROOT wirdwährend des Compilieren gesetzt, siehe hierzu im Makefile.Dies kann neu gesetzt werden durch den Eintrag hiscorefile in derDatei xmamerc, falls vorhanden. Dies kann natürlich auch wiederneu gesetzt werden durch die
Kommandozeilen-Option -hiscorefile beim Start von XMame.
Die Datei hiscore.dat ist verfügbar auf der Mame-Homepage: http://www.mame.net
Wenn Cheats benutzt werden sollen, dann muß Mame die Datei cheat.dat laden, um die Informationen zu haben.
Voreingestellt ist XMAMEROOT/cheat.dat . XMAMEROOT wird während des Compilierens gesetzt, siehe Makefile.Diese Einstellung kann überschrieben
werden durch denEintrag cheatfile in xmamerc, wenn vorhanden. Wiederrumkann dies ersetzt werden durch die Kommandozeilen-Option -cheatfile.
Die Datei cheat.dat ist verfügbar auf der Mame-Homepage: http://www.mame.net
Wenn Du einige nette Hintergrundinformationen zu den Spielenwillst, dann muß xmame die Datei history.dat laden.
Voreingestellt ist XMAMEROOT/history.dat . XMAMEROOT wirdwährend des Übersetzens gesetzt, siehe hierzu im Makefile.Dies kann überschrieben werden durch den Eintrag historyfilein der xmamerc. Dieses kann wiederrum überschrieben werden durchden Schalter -historyfile
beim Aufruf von Xmame.
Die Datei history.dat ist verfügbar auf der Mame-Homepage: http://www.mame.net
Aufzeichnungen von den Eingaben werden unter dem Dateinamengespeichert, der hinter den Schaltern
-record / -playback angegeben wird, immer relativ zum aktuellen Pfad.
"xmame/xmess -showconfig | more" eintippen und prüfen, obder angezeigte Pfad zu den Roms und der Pfad zum spooldir
korrekt ist und ob dort auch die Berechtigung zum Lesen und Schreiben vorhanden ist.Andererseits noch einmal xmamerc/xmessrc prüfen.
Und nicht vergessen, xmess durchsucht auch das aktuelleVerzeichnis.
Um XMame zu starten:
xmame [Optionen] <gamename> [weitere Optionen]
Für XMess:
xmess [Optionen] <systemname> [weitere Optionen] \
<disk/romimage(s)> [weitere Optionen]
Alle Optionen sind sozusagen optional ;-))
Xmame/Xmess unterstützt die meisten Kommandozeilenoptionen der MSDOS-Version(näheres siehe in readme.mame /
readme.mess) und natürlich ein paar eigene. Tippe xmame -help | more für die
komplette Liste ein.
Bei Xmess benötigen einige Systeme nicht disk/romimage,die meisten jedoch schon.
Für eine Liste der verfügbaren Parameter einfach
/usr/games/xmame -help | more
eintippen(falls xmame in /usr/games zu finden ist)
Xmame/Xmess unterstützt die meisten Parameter derMSDOS-Version und natürlich ein paar eigene.
In der Datei readme.mame / readme.mess ist mehr über dieParameter nachzulesen.
Xmame/Xmess benutzen die selben Tasten wie die DOS-Version: die folgenden Tasten funktionieren in allen Emulatoren:
` oder ~ Einstieg in das OnScreen Display für Lautstärkeänderungen,
Helligkeitsregelung, ...
Tab Einstieg ins Configurationsmenü. Tab oder ESC drücken, um zurück
zur Emulation zu gelangen
P Pause
F3 Reset
F4 Zeigt die Spielegrafik an. Mit den Cursor Tasten können die Farben
geändert werden.
F4 oder Esc um zurück zu kommen.
F8 Frame Skip reduzieren (Bilder auslassen)
F9 Frame Skip erhöhen
F10 Throttle an oder aus
F10 + shift Idle Sleeping an oder aus
F11 Anzeige der Frames an oder aus
F11 + shift Profiler Anzeige an oder aus
F12 Bildschirminhalt speichern (snapshot)
ESC Emulator verlassen.
XMame hat zwei verschiedene Algorithmen für auto frameskipping,diese können mit der Option -frameskipper ausgewählt werden,und mit folgenden Tatenkombinationen:
Tastenkombination: Wirkung:
STRG-Links + Einfügen Standard DOS Frameskipper
STRG-Linux + POS1 Frameskipper William Barath
Die Anzeigeskalierung von XMame kann im laufenden Betrieb mit folgenden Tastenkombinationen geändert werden:
Tastenkombination: Ergebnis:
SHIFT-Links + Einfg Breite erhöhen
SHIFT-Links + Entf Breite verringern
SHIFT-Links + Pos1 Höhe vergrößern
SHIFT-Links + Ende Höhe verringern
SHIFT-Links + Bild auf Anzeige vergrößern
SHIFT-Links + Bild ab Anzeige verkleinern
Unter X11 kann XMame zwischen verschiedenen Anzeigemodiwährend "des laufenden Betriebes" wechseln:
Tastenkombination: Bringt Dich zu:
ALT-Links + Einfg Normales Fenster
ALT-Links + Pos1 DGA Fullscreen Modus
Unter SDL kann XMame zwischen den verschienden Modi zur Laufzeit wechseln:
Tastenkombination: Ergebnis:
ALT-Links + Return Schaltet zwischen Fenster- und Fullscreenmodus um
Unter X11 in einem Fenster kann man nun auch die Mausaktivieren, um sie zum Spielen
benutzen zu können.Drücke dazu Alt-Links und Bild-Ab um die Maus
zu aktivierenund drücke die Tastenkombination nochmals, um die Mauswieder zu deaktivieren.
Mit dem Parameter -bufsize (als Kommandozeilen-Option) oderals Schlüsselwort in der Konfigurationdatei (xmamerc) kannman die Anzahl Frames von Audio zum Buffer angeben. DieGrundeinstellung ist 2 frames.
Dieser Wert sollte bei Jedem passen, aber wenn immer nochProbleme auftreten, dann weiterlesen.
Wenn die Buffergröße zu klein ist, dann wird der Buffer gezwungen, sich zwischen den Frames zu Leeren, was dann zuverzögerter Soundausgabe oder zu abgehacktem Sound führen kann. In diesem Fall kann das Erhöhen des Wertes der Buffergröße auf beispielsweise 2.5 helfen.
Wenn jedoch die Buffergröße zu gross ist, dann werden soviele Audiodaten gepuffert, dass die Soundausgabe verzögertklingt. Z.B. ist das Einwerfen einer Münze erst nach 0.5Sekunden zu Hören, nachdem die Taste "Insert Coin" gedrücktwurde. In diesem Fall verringere den Werte bei der Buffergröße auf beispielsweise 1.5.
Bitte lasst mich wissen, wenn ein Ändern dieser Werte
notwendig ist, weil es geplant ist diesen Parameter in einer zukünftigenVersion von XMame wieder zu
entfernen.
-fakesound
benutzen.PROMs enthalten spezielle Informationen für Spiele. Diesewaren in Mame-Versionen < 0.34 in Mame selbst enthalten.Diese Informationen wurden wieder aus Mame entfernt und sindin den neueren Versionen der ROM-Files, die so etwasbenötigen, schon enthalten.
Wenn Du Deine vorhandenen ROMs nutzen willst, dann können die PROMs in einer einzigen Datei gefunden werden unter:
Xmame/Xmess ist ein übersetztes C-Programm, dass Hardwareemuliert. Software, die Hardware emuliert, ist nun mal nichtso schnell. Hier sind nun einige Tipps für höhere Geschwindigkeit:
Du kannst natürlich auch versuchen, XMame/XMess mit mehr optimiertenEinstellungen neu zu übersetzen. Die folgenden Ratschläge könnennicht funktionieren oder können auf einigen Maschinen oder einigenInstallationen nicht möglich sein. Natürlich kann, in den Fällen woes funktioniert, eine
merklich bessere Performance bei XMame/XMess eintreten.
Um diese "Verbesserungen" einsetzen zu können, muss nur die DateiMakefile editiert werden. Diese Datei ist bei XMame mit dabei.Anschließend muss der Sourcecode neu übersetzt werden. Wenn derSourdecode zum zweiten mal übersetzt wird, dann muss nach demEditieren von makefile.unix
make clean
make
make install
ausgeführt werden, um die neuen Einstellungen zu aktivieren.
Versuche beim Übersetzen inline zu aktivieren und entferne/füge den Kommentar bei diesen beiden Zeilen hinzu:
# IL = '-DINLINE=static inline'
IL = -DINLINE=static
Für einen gehörigen "Schub" versuche DGA zu aktivieren und entferneden Kommentar bei folgender Zeile
DGA = 1
Starte dann XMame als Benutzer root und drücke "CursorLinks-ALT-EINFG"
um in den DGA-Modus zu wechseln. Dies sollte um Einiges schneller sein
und benötigt/nutzt nicht xsync ;-)
Um in den Fenstermodus zurückzukommen ohne das Spiel zu verlassen drücke
ALT-Links + Einfg.
Der Vorteil von DGA ist, dass es Direct Grafics Access ist und somitdirekt in den Framebuffer schreibt (Denke an DircetX und GDI unter
Windows). So sollte es einen Tick schneller sein, unabhängig davon, obDu einen wirklichen guten beschleunigten X-Server hast, was genausoschnell sein könnte. Drücke F11 um die aktuelle Framerate anzuzeigen,obwohl es meist schwer festzustellen ist (meist nur wahrnehmbar), essollte doch eine kleine Geschwindigkeitserhöhung vorhanden sein.
Nebenbei schaltet DGA automatisch in den richtigen Modus entferntjeglichen "Müll" der Fenstermanager, aber das kann auch ohne DGAerreicht werden (es wird ein solches Feature möglicherweise spätergeben, weil es ganz leicht Fullscreen erlaubt, ohne dass man dazuroot sein muss).
Füge den Modus 320x240 hinzu, der eine nette Fullscreen-Anzeige beim Scaling scale = 1 möglich macht ;-)
Nicht vergessen, dass noch die Mode-Lines in der Section "Display"bei "Screen" Deiner X-Config Datei gesetzt werden müssen um im DGA-Modus
bildschirmfüllend darzustellen. XMame sucht sich den bestenModus heraus, den es finden kann. Du wirst also eine Zeile wie
Modes "1024x768" "800x600" "640x480" "320x240" "256x224"
haben, denn jedes Spiel, das in eine 320x240-Auflösung passtkann in dieser Auflösung dargestellt werden, usw. Nicht vergessen,dass die X-Config Datei mehrere Stellen mit dem Namen "Screen" habenkann. Die Modi müssen dann natürlich bei der Stelle editiert werden,die der X-Server beim Start benutzt. Es ist natürlich nicht ganz soeinfach, da man X auch noch mitteilen muss, welche Monitoreinstellungenfür diese Auflösungen benötigt werden. Dies geschieht in den Modeline-Einträgen im Bereich "Monitor" der X-Config Datei.
Siehe auch in /contrib/tools/modelines für einen Satz verückter
Modi, speziell für XMame in DGA. Sie sollten auf jedem beliebigen
Multisync Monitor funktionieren, aber benutze sie NICHT auf einem alten Festfrequenz Monitor (gut, wenn Du es nicht lassen kannst es trotzdem zu versuchen, ich werden NICHT für einen neuen Monitor zahlen)
Du kannst auch versuchen, nasm zu installieren und XMame/XMess mitASM-Core zu übersetzen, dies hilft auch ein wenig.
(Bemerkung für SuSE-Besitzer: das Paket nasm-09x befindet sich in der Serie d)
Eigentlich wenig. XMame ist eine Portierung von DOS und ist nur designed für
Single-Thread. Ein klein wenig schneller könnte XMame auf einer SMP-Maschine
schon laufen, weil XMame dann länger eine CPU für sich hat. Aber das passiert
mit allen CPU-intensiven Programmen. Und alles was man einstellt, dass eine
Applikation mehr CPU-Zeit bekommt (höhere Priorität, killen unnötiger
Prozesse, ...) funktioniert auch bei XMame.
Nun könnte man an dieser Stelle denken, "Sicherlich könnte man einen
Thread haben für die Emulation und einen anderen zur Beschleunigung der
grafischen Ausgabe". Ja, aber da sind einige ernsthafte Einschränkungen zu
beachten. Die erste ist die Synchronisation zwischen den Threads, die aber
benötigt wird damit alles reibungslos läuft. Wenn das nicht glatt läuft, dann
frisst der Overhead jeglichen Vorteil wieder auf. Ausserdem muss das Ganze als
portables Thread Interface implementiert werden. Das bedeutet POSIX Threads. Es
ist somit erheblicher Aufwand für fast keinen Effekt. Aber wenn Du der Meinung
bist, sowas zu implementieren, dann sind Patches dazu in der XMame Mailingliste
natürlich herzlich willkommen ... ;-)
Xmame/Xmess benutzt automatische Kalibrierung. Aber man kann spezielle Programme zum Kalibrieren benutzen. (jscal - beimJoystick-Module dabei - funktioniert ausgezeichnet ...)
Anmerkung:
Ab Kernel 2.4.x braucht man jscal 2.0.0. Dies findet man auf http://www.suse.cz.
Die XF86Config muß editiert werden, um die XInput-Sektion zuaktivieren. Näheres bietet die Manpage von XF86Config.
Echt einfach. Um beispielsweise die Manpage von XF86Config zu lesen, einfach man XF86Config eintippen. ;)
XMame/XMess-Versionen neuer als 0.35 benutzen zlib für einigePackroutinen. Leider haben viele Linux Distributionen eineveraltete Version von zlib installiert unter/usr/X11R6/lib/libz.a und die neue Version installiert unter/usr/lib/libz.a. Wenn dies bei Dir der Fall ist, dann kannproblemlos die Version unter
/usr/X11R6/lib/libz.a gelöschtwerden. Wenn Du Dir da nicht sicher bist, verschiebe einfach/usr/X11R6/lib/libz.a an eine andere Stelle.
Löschen oder nur Verschieben von /usr/X11R6/lib/libz.a solltedieses Problem beheben.
Sieh auch: FAQ: Warum bekomme ich
"get zlib.h not found" ?
XMame/XMess-Versionen neuer als 0.35 benutzen zlib für einigePackroutinen.
Zlib ist Standard auf den meisten Unix-Systemen. Für Leute, die sich nicht mit zlib herumärgern wolle, oder keine veraltete Versionhaben wollen, ist nun bei XMame/XMess eine abgespeckte Version vonzlib mit dabei. Entferne die Kommentare bei der betreffendenStelle im Makefile um dies zu benutzen.
Läuft bei Dir eine aktuelle Version von KDE, z.B. 2.1.1 ? Im KDE Fenstermanager ist vermutlich ein Fehler, der bei einigen X11-Anwendungen verhindert, dass deren Hauptfenster aufgeht. Du kannst entweder die SDL-Version von XMame nehmen, oder folgenden Workaround probieren, der bei etlichen Leuten funktioniert hat:
xmame.x11 -rid `xwininfo -root | grep xwininfo: | awk '{print $4}'`
Update: Es wurde uns mitgeteilt, dass seit KDE 2.2b1 dieser Fehler nicht mehr
auftritt.
Auf der Xmame/Xmess-Homepage ist immer die aktuellsteVersion verfügbar.
Adresse: http://x.mame.net
Auf meiner Homepage ist ebenfalls der Sourcecodeverfügbar (Ausweichadresse, falls x.mame.net überlastetist).
Adresse: http://www.bingo-ev.de/~rh474
Siehe Mail
in diesem Dokument.
Bitte prüfe die offiziellen Readme's von Mame und Mess. Vielleicht ist Deine
Frage dort schon beantwortet:
Wenn das auch nicht weiterhilft, dann stelle doch Deine Frage in der Mailing
Liste oder schicke eine Mail an den XMame/XMess Koordinator. Siehe dazu
unter
Mail
für mehr Information.