Sign in with
Sign up | Sign in
Your question

Can't copy Mame Roms to Ubuntu Roms folder

Last response: in Linux/Free BSD
October 8, 2009 3:58:14 AM

Maybe someone here can help me out.
I am very new to Linux and it's file system so I need baby steps.

I have dowloaded Mame for linux and the front end program. It runs just fine.

What I may have done wrong is with the instructions below, I'm not sure what they want me to do with the roms directory. Here is a cut and paste of the instructions.

IMPORTANT: First we need to make Gxmame knows where the Xmame is. Go to Option > Directories, and in “Gxmame Directories” we need to say where the Xmame is, under “Xmame executable” we need to add the Xmame executable. If you are using ubuntu, the path is “/usr/games/xmame.SDL“. After that, we need to say where the roms folder is, so add it on the “ROMs path” (you can add as many paths as you want).

I changed the path to xmame.sdl just fine.
What I'm not sure about is why or how you would need to change the ROMS path????
What does (you can add as many paths as you want) mean? I see no way to add paths in the first place.

If I try to copy my ROMS to /usr/share/games/xmame/roms I always get a permission denied error.

What have I done wrong?
a b 5 Linux
October 8, 2009 11:05:04 PM

sudo cp *.rom /usr/share/games/xmame/roms

It'll ask you for your password and will copy all the .rom files to the /usr/share/games/xmame/roms system directory. Replace *.rom with the actual suffix of your rom files.

sudo allows you to run commands as the super user, also known as the "root" user.

Watch out root can torch the system by accident by entering, pasting or running the wrong command. You should avoid running sudo and doing anything as root unless it's really necessary.

You can read up on the manual and info pages to find out what different commands do, for e.g. :

man cp

info cp

cp --help

Some commands also accept the --help parameter which will print out a brief description of the options you can pass to the command you're running.

It's best not to run random commands you find on forums and the internet without checking them first because they might not do what you expect them to.

Good luck :) 
October 9, 2009 1:35:09 AM

Thanks. I was trying to do it like windows with a simple copy and paste.
Why is that not possible in Linux? Am I missing something?

My mame ROMS are all on a CD currently. What is the best way to get them from the CD to my mame ROMS folder?
Can I use the *.zip command to copy them all at once? For instance one of my ROMS is named
How will it know to grab them from the CD?

Sorry for so many questions, but I am still way to green at this to figure it out on my own.
Related resources
a b 5 Linux
October 9, 2009 8:47:35 AM

You can still copy and paste but for better security you're not allowed to do anything to system directories unless you're the super user "root". By default ubuntu keeps the super user account partly locked down.

If you don't care about security you can enable root logins and log in as root on the GUI. You probably shouldn't but you can if you need to.

The cp I suggested was a shortcut, it'd be better if you copied your roms under your home directory instead.

You ought to be able to run xmame -fullscreen roms/ or xmame-sdl -fullscreen roms/

The mame front-end installed on your system should be able to take the path to the rom file as a parameter, check your documentation to see what options you're supposed to use.

  1. man command
  3. info command
  5. command --help

replace command with xmame, xmame-sdl, xmame-x, xmame-svga and see what you get.

Although gxmame or whatever you're using ought to have it's own option somewhere to do this by clicking instead.

I haven't used it so, I can't give you exact instructions.

Good luck :) 
a b 5 Linux
October 9, 2009 8:52:04 AM

When you insert a cd into your drive ubuntu usually mounts it for you automatically and opens it in the GUI for you, so you can just copy paste your roms from that window into your home directory.

Or you can click on computer and then the drive.

Keep the questions coming.

Good luck :) 

Best solution

a b 5 Linux
October 9, 2009 11:15:57 AM

xmame.SDL -help
warning: no mixer plugins available
Usage: xmame [game] [options]

*** Video Related ***
-video-mode / -vidmod <int> Select video mode:
0 = SDL (left-alt + insert)
-[no]fullscreen Select fullscreen mode (left-alt + page-down)
-arbheight / -ah <int> Scale video to exactly this height (0 =
disable), this overrides the heightscale and
scale options
-widthscale / -ws <int> Set X-Scale factor (increase: left-shift +
insert, decrease: left-shift + delete)
-heightscale / -hs <int> Set Y-Scale factor (increase: left-shift +
home, decrease: left-shift + end)
-scale / -s <arg> Set X- and Y-Scale to the same factor
(increase: left-shift + page-up, decrease:
left-shift + page-down)
-effect / -ef <int> Video effect:
0 = none (default)
1 = scale2x (smooth scaling effect)
2 = lq2x (low quality filter)
3 = hq2x (high quality filter)
4 = 6tap2x (6-tap filter with h-scanlines)
5 = scan2 (light scanlines)
6 = rgbscan (rgb scanlines)
7 = scan3 (deluxe scanlines)
8 = fakescan (black scanlines)
(increase: left-ctrl + page-up, decrease:
left-ctrl + page-down)
-[no]autodouble / -[no]adb Enable/disable automatic scale doubling for 1:2
pixel aspect ratio games
-frameskipper / -fsr <int> Select which autoframeskip and throttle
routines to use. Available choices are:
0 Dos frameskip code (left-ctrl + insert)
1 Enhanced frameskip code by William A. Barath
(left-ctrl + home)
-[no]throttle / -[no]th Enable/disable throttle
-frames_to_run / -ftr <int> Sets the number of frames to run within the
-[no]sleepidle / -[no]si Enable/disable sleep during idle
-[no]autoframeskip / -[no]afs Enable/disable autoframeskip
-maxautoframeskip / -mafs Set highest allowed frameskip for autoframeskip
-frameskip / -fs <int> Set frameskip when not using autoframeskip
-brightness / -brt <float> Set the brightness correction (0.5 - 2.0)
-pause_brightness / -pbrt Additional pause brightness
-gamma / -gc <float> Set the gamma correction (0.5 - 2.0)
-[no]norotate / -[no]nr Do not apply rotation
-[no]ror / -[no]rr Rotate screen clockwise
-[no]rol / -[no]rl Rotate screen counter-clockwise
-[no]autoror Automatically rotate screen clockwise for
vertical games
-[no]autorol Automatically rotate screen counter-clockwise
for vertical games
-[no]flipx / -[no]fx Flip screen left-right
-[no]flipy / -[no]fy Flip screen upside-down

*** Use additional game artwork? ***
-[no]artwork / -[no]art Global artwork enable/disable
-[no]use_backdrops / Use backdrop artwork
-[no]use_overlays / Use overlay artwork
-[no]use_bezels / -[no]bezel Use bezel artwork
-[no]artwork_crop / Crop artwork to game screen only.
-artwork_scale / -artscale Artwork Scaling (1 or 2x)

*** Vector Games Related ***
-vectorres / -vres <arg> Always scale vectorgames to XresxYres, keeping
their aspect ratio. This overrides the scale
-beam / -B <float> Set the beam size for vector games
-flicker / -f <float> Set the flicker for vector games
-intensity <float> Set intensity in vector games
-[no]antialias / -[no]aa Enable/disable antialiasing
-[no]translucency / -[no]t Enable/disable tranlucency
-hardware-vectors / -hwvec Use the video card to draw the vectors in
<int> vector games:
0 never
1 auto
2 always
-mngwrite <string> Save video in specified mng file

*** Aspect ratio handling ***
-[no]keepaspect / -[no]ka Try to keep the correct aspect ratio
-[no]perfectaspect / -[no]pa Automatically set yarbsize to get the perfect
aspect ratio
-displayaspectratio / -dar Set the display aspect ratio of your monitor.
<float> This is used for -keepaspect. The default =
1.3333333333333 (4/3). Use 0.75 (3/4) for a
portrait monitor

*** SDL Related ***
-[no]doublebuf Use double buffering to reduce flicker/tearing
-[no]grabinput / -[no]gi Select input grabbing (left-ctrl + delete)
-[no]alwaysusemouse / -[no]aum Always use mouse movements as input, even when
not grabbed and not fullscreen (default
-[no]cursor / -[no]cu Show/don't show the cursor
-sdlmapkey / -sdlmk <arg> Set a specific key mapping, see xmamerc.dist

*** Video Mode Selection Related ***
-disablemode / -dm <arg> Don't use mode XRESxYRESxDEPTH this can be used
to disable specific video modes which don't
work on your system. The xDEPTH part of the
string is optional and can be set to 15,16,24
and 32. This option may be used more then once
-forcemode / -fm <arg> Force use of mode XRESxYRESxDEPTH The DEPTH can
be to 15,16,24 and 32.

*** Input device options ***
-joytype / -jt <int> Select type of joystick support to use:
0 No joystick
1 Standard joystick
5 SDL joystick
-[no]analogstick / -[no]as Use Joystick as analog for analog controls
-joydevname / -jdev <string> Joystick device prefix (defaults to /dev/js)
-[no]ugcicoin Enable/disable UGCI(tm) Coin/Play support
-lircrc <string> LIRC config file
-[no]lirc Enable/disable LIRC support
-[no]steadykey / -[no]steady Enable steadykey support
-a2d_deadzone / -a2d <float> Minimal analog value for digital input
-ctrlr <string> Preconfigure for specified controller
-digital <string> Mark certain joysticks or axes as digital
-[no]usbpspad / -[no]pspad The joystick(s) are USB PS gamepads
-[no]rapidfire / -[no]rapidf Enable rapid-fire support for joysticks

*** Sound Related ***
-[no]samples / -[no]sam Use/don't use samples (if available)
-samplefreq / -sf <int> Set the playback sample-frequency/rate
-bufsize / -bs <float> Number of frames of sound to buffer
-volume / -v <int> Set volume to <int> db, (-32 (soft) - 0(loud) )
-audiodevice / -ad <string> Use an alternative audiodevice
-mixerdevice / -md <string> Use an alternative mixerdevice

*** Digital sound related ***
-dsp-plugin / -dp <string> Select which plugin to use for digital sound
-list-dsp-plugins / -ldp List available sound-dsp plugins
-[no]timer / -[no]ti Use / don't use timer-based audio (normally it
will be used automagically when necessary)

*** Sound mixer related ***
-sound-mixer-plugin / -smp Select which plugin to use for the sound mixer
-list-mixer-plugins / -lmp List available sound mixer plugins

*** File I/O-related ***
-rompath / -rp <string> Search path for rom files
-samplepath / -sp <string> Search path for sample files
-inipath <string> Search path for ini files
-cfg_directory <string> Directory to save configurations
-nvram_directory <string> Directory to save nvram contents
-memcard_directory <string> Directory to save memory card contents
-input_directory <string> Directory to save input device logs
-hiscore_directory <string> Directory to save hiscores
-state_directory <string> Directory to save states
-artwork_directory <string> Directory for Artwork (Overlays etc.)
-snapshot_directory <string> Directory for screenshots (.png format)
-diff_directory <string> Directory for hard drive image difference files
-ctrlr_directory <string> Directory to save controller definitions
-comment_directory <string> Directory to save comment files
-cheat_file <string> Cheat filename
-hiscore_file <string> no help available
-record / -rec <string> Set a file to record keypresses into
-playback / -pb <string> Set a file to playback keypresses from
-stdout-file / -out <filename> Set a file to redirect stdout to
-stderr-file / -err <filename> Set a file to redirect stderr to
-[no]log / -[no]L Generate error.log

*** MAME Related ***
-defaultgame / -def <string> Set the default game started when no game is
given on the command line (only useful in the
config files)
-language / -lang <string> Select the language for the menus and osd
-[no]cheat / -[no]c Enable/disable cheat subsystem
-[no]skip_gameinfo Skip displaying the game info screen
-[no]validate / -[no]valid Validate all game drivers
-bios <string> Change system bios
-state <string> state to load
-[no]autosave Enable automatic restore at startup and save at

*** Frontend Related ***
-list / -l List supported games matching gamename, or all,
gamename may contain * and ? wildcards
-listfull / -lf Like -list, with full description
-listgames / -lg Like -list, with manufacturer and year
-listdetails / -ld Like -list, with detailed info
-listgamelist / -lgl Like -list, with specially formatted extra info
for generating gamelist.mame
-listsourcefile / -lsf Like -list, with driver sourcefile
-listcolors / -lcol Like -list, with the number of colors used
-listromsize / -lrs Like -list, with the year and size of the roms
-listpalettesize / -lps Like -list, with the year and palette size of
the roms used
-listroms / -lr Like -list, but lists used ROMs
-listcrc / -lcrc Like -list, but lists used ROMs with CRC-32s
-listsha1 / -lsha1 Like -list, but lists used ROMs with SHA-1s
-listmd5 / -lmd5 Like -list, but lists used ROMs with MD5s
-listsamples / -ls Like -list, but lists used audio samples
-listsamdir / -lsd Like -list, but lists dir where samples are
taken from
-verifyroms / -vr Verify ROMs for games matching gamename, or
all, gamename may contain * and ? wildcards
-verifyromsets / -vrs Like -verifyroms, but less verbose
-verifysamples / -vs Like -verifyroms but verify audio samples
-verifysamplesets / -vss Like -verifysamples, but less verbose
-[no]clones / -[no]cl Show / don't show bootlegs/clones in the above
list commands
-listclones / -lcl Like -list, but lists the clones of the
specified game
-listxml / -lx List all available info on drivers in XML
-listcpu / -lc List cpu usage statics per year

*** Internal verification list commands (only for developers) ***
-listdupcrc / -ldc Like -list, but lists ROMs with identical crc
-listwrongorientation / -lwo Like -list, but lists any games which use the
orientation flags wrongly
-listwrongmerge / -lwm Like -list, but lists any games which use the
clone_of field wrongly
-listwrongfps / -lwf Like -list, but lists any games which use the
FPS field wrongly
-sortname / -srtn Sort roms by name
-sortdriver / -srtd Sort roms by driver name

*** Rom Identification Related ***
-ident / -id Identify unknown romdump, or unknown romdumps
in dir/zip
-isknown / -ik Check if romdump or romdumps in dir/zip are

*** General Options ***
-[no]loadconfig / -[no]lcf Load (don't load) configfiles
-showconfig / -sc Display running parameters in rc style
-manhelp / -mh Print commandline help in man format, useful
for manpage creation
-version / -V Display version
-help / -? Show this help


Config Files are parsed in the following order:
/etc/xmame/xmamerc Global configuration config file
${HOME}/.xmame/xmamerc User configuration config file
/etc/xmame/xmame-SDLrc Global per display method config file
${HOME}/.xmame/xmame-SDLrc User per display method config file
/etc/xmame/rc/<game>rc Global per game config file
${HOME}/.xmame/rc/<game>rc User per game config file

M.A.M.E. - Multiple Arcade Machine Emulator
Copyright (C) 1997-2006 by Nicola Salmoria and the MAME Team
xmame port maintained by Lawrence Gold

October 9, 2009 5:54:47 PM

Awesome response.
I will have to read over it tomorrow as I am on my way to Dallas right now.
Thanks for all the detail. :)