I just walked myself over to install MAME on the Playstation 3 and I thought, I should post how to get MAME working with Yellow Dog Linux 5. I also got many of the help from pages on internet especially this one and this one. Much part of this post is taken from these links and I thank them and fully credit them for their work.
I agree that SDLMame 0.79 works way better than any later version. So it is a choice for you. Here goes:
– Log in (as a user or root, you should know root’s password). Its generally not a good idea to work as root in Linux, so avoid it as much as possible; Instead use ‘su’.
– You need to have YUM configured correctly in order for this to work right because there are some dependecies that will be resolved automatically if YUM is configured right.
– So first go and follow the YUM & PUP section on this page. If you get YUM &PUP working, you can do a search for MAME SDL and if you can’t then you can download MAME SDL from the following link:
MAME SDL 0.106
http://bordeaux.freshrpms.net/rpm.html?id=1236
MAME SDL 0.79
http://rpmfind.net/linux/RPM/freshrp…-1.fr.ppc.html
If yum is installed correctly you should have no problems installing those two files. Also, YDL has everything installed including zlib, so you will only require to download libSDL version 1.2.x or later. If you have YUM configured correctly, then YDL will automatically download any dependecies and install them or you can downlod libSDL from rpmfind or YDL’s own RPM repository here
Once you have all of that setup (you have mameSDL installed), you need to create the following folders and then configure mame to use them:
– xmamerc file (mame’s resource configuration file- holds all the values including your joystick and full screen and audio modes)
– roms folder (a folder to place your roms)
– cfg folder (folder to have cfg’s stored, you will have other mame related folders too)
Now we create the following folders. I have created these folders as I saw them on the posts I linked and am OK with them, however, you can change them too if you want.
– /usr/share/mame (for xamemerc)
– /usr/share/mame/roms (for roms )
– /root/.xmame/cfg (a folder that contains the actual user defined controls for your ps3 remote. It stores them as default.cfg so if you mess up while you are setting your remote settings. Just delete this file and any other file that is specific to the rom you set your controls for).
OK, now that you are familiar with the folders that we will use go to
/usr/share/xmame
in this folder right click and go to create document and name the new document as
xmamerc
Once you did that. Open your ‘xmamerc’ file and paste the following into it
######################### ######################### ########################### xmame running parameters ### ### Digital sound related #### dsp-plugin <null> (not set)timer 0 ### Sound mixer related #### sound-mixer-plugin <null> (not set) ### Video Related ###bpp 0arbheight 0heightscale 1widthscale 1effect 2autodouble 1scanlines 0artwork 1use_backdrops 1use_overlays 1use_bezels 1artwork_crop 0artwork_resolution 0frameskipper 0throttle 1frames_to_run 0sleepidle 1autoframeskip 1maxautoframeskip 8frameskip 0brightness 1.000000pause_brightness 0.650000gamma 1.000000norotate 0ror 0rol 0autoror 0autorol 0flipx 0flipy 0 ### Vector Games Related #### vectorres <null> (not set)beam 1.000000flicker 0.000000antialias 1translucency 1 ### SDL Related ###fullscreen 1doublebuf 0vidmode_w -1vidmode_h -1modenumber -1 ### X11-window Related ### ### XFree86 DGA Related ### ### Video Mode Selection Related ###keepaspect 1displayaspectratio 1.3333333333333 ### Sound Related ###sound 1samples 1samplefreq 44100bufsize 3.000000volume -3# audiodevice SDL# mixerdevice <null> (not set) ### Input Related ###joytype 7analogstick 1joydevname /dev/input/js0mouse 1ugcicoin 0usbpspad 1rapidfire 0# ctrlr <null> (not set) ### Fileio Related ###rompath /usr/share/mame/romssamplepath /usr/share/mame/samplesinipath /usr/share/mame/inicfg_directory $HOME/.xmame/cfgnvram_directory $HOME/.xmame/nvrammemcard_directory $HOME/.xmame/memcardinput_directory $HOME/.xmame/inphiscore_directory $HOME/.xmame/histate_directory $HOME/.xmame/staartwork_directory /usr/share/mame/artworksnapshot_directory .diff_directory $HOME/.xmame/diffctrlr_directory /usr/share/mame/ctrlrcheat_file /usr/local/share/mame/cheat.dathiscore_file /usr/local/share/mame/hiscore.dathistory_file /usr/share/mame/history.datmameinfo_file /usr/share/mame/mameinfo.dat# record <null> (not set)# playback <null> (not set) ### Mame Related ###defaultgame robbylanguage englishfuzzycmp 1cheat 0skip_disclaimer 1skip_gameinfo 0crconly 0bios default# state <null> (not set) ### Frontend Related ###clones 1 ### Internal verification list commands (only for developers) ### ### Rom Identification Related ### ### General Options ###loadconfig 0 ### SDL keymapping ##### sdlmapkey <sdlcode>,<scancode>## SDLcode means the HEX code of the key as it appears in# include/SDL/SDL_keysym.h# Scancode means the hexadecimal code that represents the value used for Xmame# in keyboard inputs, as defined in src/unix/keyboard.h xmame source file# # An example: map space as "firebutton" (Mame predefines it as KEY_LCONTROL)# in symbolic SDL/Mame notation it should be:## sdlmapkey SDLK_SPACE,KEY_LCONTROL## So, looking in X11/keysymdef.h and src/unix/keyboard.h, we'll write# sdlmapkey 0x0020,0x001d## (Other example). To use the F8 key to insert a coin, you should use# sdlmapkey 0x0121,0x0006 ### Suggested French (azerty) SDL keymap mods by Luc Saillard.## SDLK_WORLD_18 ² => KEY_TILDE#sdlmapkey 0x00b2,0x0029# SDLK_AMPERSAND => KEY_1#sdlmapkey 0x0026,0x0002# SDLK_WORLD_73 é => KEY_2#sdlmapkey 0x00e9,0x0003# SDLK_QUOTEDBL => KEY_3#sdlmapkey 0x0022,0x0004# SDLK_QUOTE => KEY_4#sdlmapkey 0x0027,0x0005# SDLK_LEFTPAREN => KEY_5#sdlmapkey 0x0028,0x0006# SDLK_MINUS => KEY_6#sdlmapkey 0x002d,0x0007# SDLK_WORLD_73 è => KEY_7#sdlmapkey 0x00e8,0x0008# SDLK_UNDERSCORE => KEY_8#sdlmapkey 0x005f,0x0009# SDLK_WORLD_71 ç => KEY_9#sdlmapkey 0x00e7,0x000a# SDLK_WORLD_64 à => KEY_10#sdlmapkey 0x00e0,0x000b# SDLK_RIGHTPAREN => KEY_11#sdlmapkey 0x0029,0x000c# SDLK_EQUALS => KEY_12#sdlmapkey 0x003d,0x000d # SDLK_A => KEY_Q#sdlmapkey 0x0041,0x0010# SDLK_Z => KEY_W#sdlmapkey 0x005a,0x0011# SDLK_CARET => KEY_OPENBRACE#sdlmapkey 0x005e,0x001a# SDLK_DOLLAR => KEY_CLOSEBRACE#sdlmapkey 0x0024,0x001b # SDLK_Q => KEY_A#sdlmapkey 0x0051,0x001e# SDLK_M => KEY_COLON#sdlmapkey 0x004d,0x0027# SDLK_WORLD_89 ù => KEY_QUOTE#sdlmapkey 0x00f9,0x0028# SDLK_ASTERISK => KEY_TILDE#sdlmapkey 0x002a,0x0029 # SDLK_W => KEY_Z#sdlmapkey 0x0057,0x002c# SDLK_COMMA => KEY_M#sdlmapkey 0x002c,0x0032# SDLK_SEMICOLON => KEY_COMMA#sdlmapkey 0x003b,0x0033# SDLK_COLON => KEY_STOP#sdlmapkey 0x003a,0x0034# SDLK_EXCLAIM => KEY_SLASH#sdlmapkey 0x0021,0x0035############################################################################ |
Now hit save and your ‘xmamerc’ file should look like mine. You can use this file to manipulate mame settings for Joypad, screen and sound. I already configured this file to work in full screen and have the best possiible display on the PS3 on YDL 5 and that includes sound.
Once all of this is done; You need to put some working roms in your /usr/share/mame/roms folder. The roms are usualy in zip format. PLEASE DO NOT ASK FOR ROMS, YOU WILL NOT GET ANY HELP! You can search for some legal roms to check your MAME installation though.
All done, lets PLAY!!!
Open up the terminal and type
xmame.SDL <romname>
where <romname> represents the actual rom itself rom.zip for example ‘rygar’, and BAMMM you got yourself a working arcade emulator on the PS3 YDL linux.
To edit your PS3 remote, hit TAB on your keyboard, once the emulator starts, this will open up a menu with the inputs you want with the ‘xmamerc’ file. The emulator will recognize your PS3 controller. If you mess up, remember, all you have to do is delete the ‘default.cfg’ file, I told you about earlier.
A good link to setting up your controls is below:
http://www.mame.net/mamefaq.html#h03
Some FAQs:
Q. I can’t see the .xmame folder?
A. Folders starting with a ‘.’ are hidden in linux, so you will need show them explictly.
Q. My PS3 controller won’t work.
A. Try deleting the default.cfg file and then retry. Oh and one more thing, as far as I know, you need to have the PS3 controller plugged with the USB wire .
Q. YUM keeps giving me an error.
A. Yeah, YUM is not correctly configured by default in PS3, follow the guide, I linked above. If YUM GUI keeps giving you errors, you can use the ‘yum’ command in the Command Terminal to perform the search and install operations.
Q. My Screen size in 1080p is soooo small :S. How do I stretch it?
A. Well, Software stretching is something you can’t do with MAME 0.79 but you can switch PS3′s video mode by either booting in 480i/p or using the command ‘ps3videomode -v <number>’. For more information on the ‘ps3videomode’ command, please refer to this page. I have not tried MAME 0.106, but I think there are Software Stretch options in later versions of MAME, so hunt around.
Q. I need more help.
A. Go ahead, ask. But don’t ask anything that’s already mentioned in the above post.
M.H.A.Q.S.
Related posts: