
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://quickplay.sourceforge.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Butter100fly</id>
	<title>Quickplay - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://quickplay.sourceforge.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Butter100fly"/>
	<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php/Special:Contributions/Butter100fly"/>
	<updated>2026-04-20T11:08:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Main_Page&amp;diff=3447</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Main_Page&amp;diff=3447"/>
		<updated>2024-04-30T10:33:57Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MESS1.png|500px]]      [[Image:MAME_ARCADE3.png|500px]]&lt;br /&gt;
&lt;br /&gt;
QuickPlayWiki is the main source of end-user documentation for Quickplay, the multi-emulator frontend.&lt;br /&gt;
&lt;br /&gt;
==[[Welcome|Welcome]] ==&lt;br /&gt;
Thanks for checking out QuickPlay, the Windows universal-emulator frontend. In case you&#039;re not sure what a &#039;frontend&#039; is in retro-gaming, basically QuickPlay is a tool for managing and launching roms from many systems, from one program instead of using different emulators to launch their own roms. Its different to RetroArch, MAME, BizHawk, Mednafen and the like because QuickPlay&#039;s backend is about launching emulators and managing your games (whether they are arcade, home-computer or console games). It doesn&#039;t try to itself be an emulator, so it launches all of those emulators, and many more.....QuickPlay is a also a Frontend of Frontends, meaning that it can pull in files from other emulation projects that have their own frontends for the systems and game formats they support. Why would you want this? In order to have all your games in one place so you can easily play, search, find and manage them from a single place: no single emulation project is ever going to support every system....&lt;br /&gt;
&lt;br /&gt;
QuickPlay is different from other frontends because it has, upfront, an emulation-finding function - the EFinder: it scans your filesystem(s) for emulators, and then you scan your filesystem(s) for games and link them to the found emulators. You can be up and running in minutes. But its not prescriptive: adding an emulator to the EFinder is just a case of using the UI to select a system, and linking it to the name of an .exe on your pc.&lt;br /&gt;
&lt;br /&gt;
This is also a different proposition from the other huge monolithic frontends you can get on Windows: its doesn&#039;t want to be an immersive Media-Centre. Its very lightweight (the download is about 30 meg) and good for finding and searching and collecting, at the expense of itself suppporting GFX-heavy features (no wheels here!) and videos. Think of QuickPlay more as a playable catalogue of your games rather than an an arcade-machine that&#039;s always on attract mode. Its also very portable and easy to manage, so is a great choice if you want to have the same setup on multiple computers. It is very powerful yet very friendly. &lt;br /&gt;
&lt;br /&gt;
There is special support for many types of game sets, in particular [http://mamedev.org/ MAME], the [http://docs.mamedev.org/usingmame/usingmame.html MAME softlists], the [http://cowering.blogspot.co.uk/search/label/GoodSuite%20Updates Good sets] and [http://www.bu22.com/ GameBase] collections, and also supports modern PC Games, the RetroArch games and media players, Comic Book Readers, Game Music Players and more. &lt;br /&gt;
&lt;br /&gt;
QuickPlay also has a unique and thorough approach to all the age-old problems associated with playing CD/DVD based games on emulators, where the problems to solve always include issues like:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;managing all the multiple CD/DVD image formats that are out there&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;mounting images as virtual drives (and how this sometimes makes games or audio work when just passing a .cue file to the emulator didn&#039;t)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;how to unpack CD/DVD images from archives, and&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;how to pull the images from NAS boxes and unpack and play them locally&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The QuickPlay MultiLoader solved all these problems, long ago, in a way that avoids setting multiple things in multiple fiddly menus: select to load some kind of image file with an emulator using the multiloader, and we work out what to do&lt;br /&gt;
&lt;br /&gt;
If you have more than one emulator you use and more than one game you play on each, you&#039;re going to find QuickPlay useful. The below guides cover everything mentioned above:&lt;br /&gt;
&lt;br /&gt;
== [[FAQ | FAQs]] ==&lt;br /&gt;
&lt;br /&gt;
== [[:Category:User_Guides | User Guides]] ==&lt;br /&gt;
* [[Quick_Start | Quick Start Guide]]&lt;br /&gt;
* [[Upgrading | Upgrade my existing QuickPlay Install]]&lt;br /&gt;
* [[Adding Roms | add ROMS to QuickPlay]]&lt;br /&gt;
* [[EFind | Edit the EFinds]]&lt;br /&gt;
* [[Folder_Options | Using Folder Options]]&lt;br /&gt;
* [[Media_Panel | Use the Media Panel to add Screenshots etc]]&lt;br /&gt;
* [[Multi_Directory_Scanner | use the Multi-Directory Scanner]]&lt;br /&gt;
* [[Preferences_Options | Understanding QuickPlay&#039;s preferences]]&lt;br /&gt;
* [[joypad | Joypad Support]]&lt;br /&gt;
* [[Troubleshooting | Troubleshooting Guide]]&lt;br /&gt;
* [[Zip_Utils | Zip Utilities]]&lt;br /&gt;
* [[Multiloader Guide | Loading CD/DVD Games]]&lt;br /&gt;
&lt;br /&gt;
== [[:Category:Synctool_Guide | &#039;&#039;&#039;NEW&#039;&#039;&#039;: Synctool Guide]] ==&lt;br /&gt;
* [[Synctool_Guide | Using the new Synctool Functionality]]&lt;br /&gt;
&lt;br /&gt;
== [[:Category:MAME_Guides | MAME Guides]] ==&lt;br /&gt;
* [[MAME| How to setup MAME / RetroArch MAME]]&lt;br /&gt;
* [[MAME_DAT_SETUP | How to setup the MAME Dat Files in the QuickPlay Media Panel]]&lt;br /&gt;
* [[MESS | How to setup the Home Console and Home Computer Systems in MAME / RetroArch MAME]]&lt;br /&gt;
* [[RetroarchMameMod | How to setup RetroArch for MAME In QuickPlay]]&lt;br /&gt;
* [[MameFilePaths | Understanding Mame File Path Options]]&lt;br /&gt;
&lt;br /&gt;
== [[:Category:Emulator_Guides | Guides for Specific Emulators/Sets/Topics]] ==&lt;br /&gt;
* [[systemini | Setup the game information files (for 30 systems inc. NES, SNES, GBA, Genesis)]]&lt;br /&gt;
* [http://forums.quickplayfrontend.com/viewtopic.php?f=5&amp;amp;t=1074 Gamebase sets in QuickPlay]&lt;br /&gt;
* [http://forums.quickplayfrontend.com/viewtopic.php?f=5&amp;amp;t=1074 WinUAELoader sets in QuickPlay]&lt;br /&gt;
* [http://forums.quickplayfrontend.com/viewtopic.php?f=9&amp;amp;t=1075 Goodmerge Screenshot sets]&lt;br /&gt;
* [http://forums.quickplayfrontend.com/viewtopic.php?f=5&amp;amp;t=1073 Non-MAME Arcade Romdatas]&lt;br /&gt;
* [[PinMAME | PinMAME]]&lt;br /&gt;
* [[PC_Games | PC Games]]&lt;br /&gt;
* [[Zinc | Zinc ]] &lt;br /&gt;
* [[Project_64 | Project 64]]&lt;br /&gt;
* [[Nebula | Nebula]]&lt;br /&gt;
&lt;br /&gt;
== [[:Category:Technical_Documents | Technical Documents]] ==&lt;br /&gt;
* [[Compiling | Compiling]]&lt;br /&gt;
* [[Command_Line_Parameters | Command Line Parameters]]&lt;br /&gt;
* [[System_Font_Support | System Font Support]]&lt;br /&gt;
&lt;br /&gt;
== Historical Guides ==&lt;br /&gt;
* [[QuickPlay New Features Guide | QuickPlay New Features Guides]]&lt;br /&gt;
* [[Features | List of Features]]&lt;br /&gt;
* [[QuickPlay_Roadmap | QuickPlay Roadmap]]&lt;br /&gt;
* [[Launching_CD_Images | CD Image Setup]]&lt;br /&gt;
* [[Supported_Emulators | Supported Emulators]]&lt;br /&gt;
* [[History | History of QuickPlay]]&lt;br /&gt;
* [[Links | Links]]&lt;br /&gt;
*[http://sourceforge.net/projects/quickplay/forums/forum/416870 Old Sourceforge Forum Pages]&lt;br /&gt;
&lt;br /&gt;
[[Image:Arcade2_march11.gif|500px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Multiloader_Guide&amp;diff=3445</id>
		<title>Multiloader Guide</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Multiloader_Guide&amp;diff=3445"/>
		<updated>2024-04-30T09:57:02Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== How can I play CD/DVD Games with QuickPlay? ==&lt;br /&gt;
Well, if you have a game on a physical CD/DVD, a DVD Player in your PC that can play it, and you want to play that disc with some emulator, just setup QuickPlay to launch the emulator with just one parameter - the one that says &amp;quot;load from the physical CD/DVD drive letter&amp;quot; for instance &amp;lt;code&amp;gt;../epsxe.exe --cd&amp;lt;/code&amp;gt;, and set the emulator up to load from your DVD&#039;s drive letter. &lt;br /&gt;
&lt;br /&gt;
But often you&#039;ve got your disc game as an image file in some format (.iso, .cue/.bin and many many more...). Lets say you just have a .bin/.cue file locally, the image file is unzipped, and you want to just pass the runnable file i.e.: .cue, .iso, .gcz to your emulator (check outside of QuickPlay that this works in the emulator to your satisfaction). In this case, you can choose the .cue file as the game when you scan for roms in QuickPlay, and you can just choose the standard emulator for that system in QuickPlay (i.e.: you don&#039;t need to choose the &#039;MultiLoader&#039; version of that Emulator, though it will work if you do, the Multiloader handles all cases....)&lt;br /&gt;
&lt;br /&gt;
But it often gets more complicated: although many emulators will directly play many image formats for disc systems, some still don&#039;t, some image types don&#039;t work with some emulators, and some games don&#039;t work right (in subtle ways like losing game audio). In addition, most emulators don&#039;t let you load images directly from a zip file. &lt;br /&gt;
&lt;br /&gt;
So even though you can easily set up QuickPlay to pass a .iso to an emulator using just the normal commands for adding roms, the QuickPlay MultiLoader was made to be a single thing to point disc files to in order to get them played with any emulator, given any combination of these problem situations. You don&#039;t need to &#039;set&#039; anything against any individual game or emulator to cope with these situations, as you do with other frontends, you just select the &#039;Multiloader&#039; emulator for that system.&lt;br /&gt;
&lt;br /&gt;
QuickPlay&#039;s multiloader does these:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt; Accesses almost all types of CD/DVD image formats, whether or not the image has been compressed as .7z, .zip, .rar, or proprietary formats such as those used by dolphin or psp emulators&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt; Unzips if necessary, checking the file unzips ok where it can&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt; Works out the runnable file in the image&amp;lt;/li&amp;gt;&lt;br /&gt;
			THEN&lt;br /&gt;
        &amp;lt;li&amp;gt;passes the image to Daemon Tools and passes your daemon tools&#039; virtual DVD-drive&#039;s letter to the emu (eg: drive letter  K:\)&amp;lt;/li&amp;gt;&lt;br /&gt;
			OR&lt;br /&gt;
	&amp;lt;li&amp;gt;Passes the runnable file to your emulator&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
QuickPlay will automatically configure the MultiLoader for many emulators when you run an Efind. When you use the EFind that comes with QuickPlay it will setup emulators load from CD/DVD (the emulators say &amp;quot;MultiLoader&amp;quot; at the end). For instance, if QuickPlay sees you have RetroArch installed, it will setup a MultiLoader for RetroArch&#039;s Saturn emulator (as well as many others). Or, If you have a CD/DVD-based emulator that isn&#039;t found via QuickPlay&#039;s existing EFinds, you can also set it up as an emulator from within QuickPlay yourself, and save it as an EFind so you can search for it again in future&lt;br /&gt;
&lt;br /&gt;
The Multiloader works  just fine with Synctool in QuickPlay: if your compressed game is on remote storage, you don&#039;t really want to run it from there, even those emulators (like some RetroArch ones) that can download the whole image first (so you don&#039;t get caching issues whilst playing) are just going to pull the whole image each time you play. Instead, enable Synctool in quickplay and you&#039;ll pull the image to your machine and it will stay there, and Multiloader will load it&lt;br /&gt;
&lt;br /&gt;
== How to setup your PC so the MultiLoader works ==&lt;br /&gt;
&lt;br /&gt;
If you want to decompress images you need [https://www.7-zip.org/download.html 7zip] installed&lt;br /&gt;
&lt;br /&gt;
[[File:7zip_app.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
If you want to mount images or zips to pass to an emulator, you need the latest [https://www.daemon-tools.cc/products/dtLite Daemon Tools Lite] installed (10.10 when I was writing this). Daemon Tools change their command line often, so make sure you have the latest version&lt;br /&gt;
&lt;br /&gt;
[[File:DaemonToolsWebSite.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
both are free just download and make sure they&#039;re installed - Daemon Tools needs a bit of care so read below first:&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s all the fuss about Daemon Tools Lite with QuickPlay Frontend? ===&lt;br /&gt;
&lt;br /&gt;
Every emulator frontend needs to use some virtual drive software. We use Daemon Tools for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;dttext&amp;quot;&amp;gt;Currently Supported Version of Deamon Tools Lite:&amp;lt;/span&amp;gt;   &amp;lt;span href=&amp;quot;https://www.daemon-tools.cc/products/dtLite&amp;quot; id=&amp;quot;dtver&amp;quot;&amp;gt;[https://www.daemon-tools.cc/products/dtLite 10.10]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Why does every emulator frontend need to use some virtual drive software? Many emulators let me pass a disc image file directly? ===&lt;br /&gt;
You often find directly passing the iso/cue etc doesn&#039;t work properly or isn&#039;t flexible enough for the file you&#039;ve got. For every emulator of a CD/DVD-based system, there&#039;s yet another implementation of disc-reading algorithms, solving the same old problems again and again in slightly different ways. Sometimes it works with your filetype, sometimes it doesn&#039;t. Sometimes the audio all works, sometimes not. Often, multi-disc loading is a problem so you get so far in a game only to find that it breaks when you insert disc 2. So, where we have the option, why not have a single thing that&#039;s really good at dealing with disc images, that presents itself to your emulator, rather than rely on a load of emulators all writing their own image reading algorithms? You can use QuickPlay without Dameon Tools Lite, sure (You can even use QuickPlay without 7-zip installed). But if you install it you&#039;ll get  the best consistent disc-reading functionality available to use with all emulators, plus you can make full use of the powerful QuickPlay Multiloader capabilities.  Windows has never been great at mounting image files, and DT has ALWAYS been great at doing so. &lt;br /&gt;
&lt;br /&gt;
There are some downsides to Daemon Tools though, as there are with any 3rd party virtual drive software for any emulator frontend. So you need to know how to deal with each issue:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;they do have ad-ware options in their install, its only a single offer, which you NEED to say no to by ticking or not ticking the right box. &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; they change their command line almost every version, you need to be using v10.8 at the moment for the latest QuickPlay, (I usually update the Daemon Tools version once or twice a year as they cycle their command-lines and the name of the command line executable you actually call)&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; you do get annoyed with windows alerts that Demon Tools uses to try and make you pay for it, usually by saying there&#039;s a new version available (which for the reason above, you probably don&#039;t want to install right away, you want to install the new version when you upgrade QuickPlay), they don&#039;t happen very often but there&#039;s sure to be a way to turn them off&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; they have a lot of silly payware opportunities in their ui. But you can just set Dameon Tools up as described here and then never go into their UI again - the QuickPlay MultiLoader takes care of mounting and unmounting the virtual drive for you&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its worth putting up with these things. At the time of writing this: every frontend needs virtual drive software.....&lt;br /&gt;
&lt;br /&gt;
== How to setup Daemon Tools Lite ==&lt;br /&gt;
You will need to setup a default drive in Daemon Tools (see screenshot) for QuickPlay to use when loading games. If K:/ isn’t a suitable drive letter for this drive for you, then you’ll have to change to a more suitable drive in: qp/tools/Multiloader/Multiloader.ini (i.e.: open that file in notepad and look for the drive letter assignment to K and change it to whatever you like). You also need to then change that in the config files of any emulator that needs to know the drive letter its loading from.&lt;br /&gt;
&lt;br /&gt;
Its important for many emulators that you keep the same drive letter for the daemon tools virtual drive, and important for some emulators that it is a SCSI drive. So we need to create a SCSI drive (installing the driver as necessary) and tick all options to persistently mount the drive as the same drive letter. So, in order to use DT’s drive in QuickPlay, please setup a drive in DT just like this screenshot. &amp;lt;b&amp;gt;You get to that &#039;add drive&#039; dialog by right clicking in the lower third  bar (where it says &#039;quick mount&#039; and selecting &#039;add drive&#039;)&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DaemonTools1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
Whenever you load Daemon Tools with an emu, you need daemon tools and the emu you&#039;re using to agree which drive to load from - so now you need to look in the emu&#039;s config for where to set which drive the emu looks to, and set it to K:&lt;br /&gt;
&lt;br /&gt;
== Daemon Tools and SCSI/IDE Drives ==&lt;br /&gt;
A recent thing to think about is that Spectre mitigation changes to the Windows Kernel has made it very difficult for projects like Daemon Tools to do IDE and SCSI emulation, some old emulators (for instance EPSXE) do need a SCSI drive emulated. Some options you have:&lt;br /&gt;
 &amp;lt;ol&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;update: https://daemon-help.com/installation/windows_1903/ - the registry changes here will fix this for now and your SCSI and IDE drives will be creatable in DT again (eventually SCSI and IDE drives will be phased out of DT he says, but that might take a while)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;change the Multiloader to pass directly to the Emu and not try to mount in DT (change 0 to 1 as the last call the Multiloader emulators makes (that&#039;s the &#039;pass directly to emulator&#039; flag))&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; don&#039;t use those emulators&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt;use DTs native DT drive type and see if your emulator accepts that&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tell me more about how the Multiloader works? ==&lt;br /&gt;
&lt;br /&gt;
See the MultiLoader&#039;s readme in Tools/Multiloader if you want to know how to setup the multiloader for some emulator that hasn&#039;t already been setup in an EFind (do tell us about it though at the forums so we can update the Efind)&lt;br /&gt;
&lt;br /&gt;
== Where does the MultiLoader extract Zips to? ==&lt;br /&gt;
&lt;br /&gt;
By default the cache directory is C:/QPGame, you can change this if you edit the multiloader ini file (tools/multiloader/multiloader.ini)&lt;br /&gt;
&lt;br /&gt;
[[File:qp_game_dir.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Tell me about the cache and how I can run discs from my NAS box? ==&lt;br /&gt;
&lt;br /&gt;
By default QuickPlay caches archived disc images locally in a temp directory - this is designed for if you run a NAS box or similar, so cd/dvd images that you&#039;ve downloaded to your laptop will stay on your laptop in the cache. The reason for this is twofold: firstly you can be without network and still keep on playing your games, and secondly if you hold your games as zips somewhere on a network its not a good idea to mount the zip remotely, or to unzip the iso to a remote location, or to try to unzip a remote zip to a local location. Instead, the thing to do is to copy the zip to a local cache and to then process it locally. &lt;br /&gt;
&lt;br /&gt;
[[File:multiloader_cmd.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The cache is on by default. This is recommended if you want to cache remote archives locally. The downside of the cache is you then have to maintain it yourself (i mean delete your isos and zips manually when you don&#039;t want them locally any more) but there is a flag in the ini you can set to wipe the cache every time you exit a game.&lt;br /&gt;
&lt;br /&gt;
Bear in mind also that you can delete the iso after playing a game, but if you delete the zip, then QuickPlay will download it again and re-extract the iso next time you run i.e: even if the iso is still in the temp dir (the reason for this is that we need to read what&#039;s in the archive to know what the iso is called). So you have to keep the zip hanging around...&lt;br /&gt;
&lt;br /&gt;
To know what needs to be cached, the multiloader uses Window&#039;s builtin robocopy, and looks for &#039;&#039;symlinks&#039;&#039;. The core way the cache works is by this simple rule: if the rom you&#039;re trying to load with the multiloader is a symlink, the multiloader will assume that the file is not on the local machine and will copy the zip to the cache directory before processing it. But if the file isn&#039;t a symlink, it will assume the file is somewhere on your local filesystem and will process it directly from there (for instance, if you&#039;re mounting the actual iso rather than the zip, it will then use 7zip to unzip the iso to the cache directory, so be aware there will still be files in the cache that need manually deleting if you don&#039;t turn caching off. &lt;br /&gt;
&lt;br /&gt;
In order to have fine-grained control of what is and is not a symlink I really recommend LinkShellExtension[http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html] its a really great tool that windows users should be proud to have! In particular you can make multiple symlinks at the same time in windows explorer by right clicking in the source and destination directories. &lt;br /&gt;
&lt;br /&gt;
[[File:llink_shell_extn.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Now that QuickPlay implements a cache for CD/DVD, new things become possible - for instance here&#039;s just one idea: if you can make your games available to you when you&#039;re out of the house (for instance over webDav or FTP or similar) you can use Netdrive[http://www.netdrive.net/] to mount the store as if it were a local drive, and then point QuickPlay to some symlinks that link to that drive. Then if you&#039;re away from home, selecting a CD/DVD game in QuickPlay will download your game and keep it locally for as long as you need it.&lt;br /&gt;
&lt;br /&gt;
=== I don&#039;t want to use the cache, how do I turn it off ===&lt;br /&gt;
&lt;br /&gt;
open tools/multiloader/multiloader.ini and change CLEANTEMP to &amp;quot;yes&amp;quot;. Now the cache gets wiped every time you finish with a game&lt;br /&gt;
&lt;br /&gt;
== Why is there a multiloader for emulators that don&#039;t need a file extracted or mounted? Like with Dolphin I can just pass a .gcz and it loads... ==&lt;br /&gt;
In case your game is on your NAS box: Because we can now cache those systems&#039; games too, so you can store games you are playing on your laptop, if you pass them through the multiloader. Do let us know on the forums any filetypes that need adding here&lt;br /&gt;
&lt;br /&gt;
== Some notes for advanced use ==&lt;br /&gt;
&lt;br /&gt;
* remember that 7zip and Deamon tools need to be at the default install locations ie: C:\Program Files\7zip\7zip.exe - the functions that use the progs won&#039;t work unless they are&lt;br /&gt;
* If you want to use an earlier version of Daemon Tools Lite than we support here, earlier versions of QuickPlay probably used it, you can download them and look in Tools/Multiloader.bat, or just ask Daemon Tools what its command lines are and alter yourself the three variables in the Multiloader.bat (they are very clearly labelled).&lt;br /&gt;
* some of the more &amp;quot;exotic&amp;quot; game names you might want to select &amp;quot;use short name (8:3) for exe&#039;s&amp;quot; in QP and/or call &amp;quot;shortrom&amp;quot; - this just makes the command line shorter as over a certain character limit it will refuse to work or error. This only applies to a very few systems&#039; games&lt;br /&gt;
* And advantage is you can change the multiloader code yourself (mostly useful because daemon tools love changing their command line every minor revision) - open tools/multiolader_imp.bat&lt;br /&gt;
* Any problems? In task manager close QUICKPLAY MULTILOADER.exe and/or cmd.exe to get quickplay responsive again&lt;br /&gt;
* If you blank the location of the extract directory in the MultiLoader config file, the zip will always extract to a shortname folder in the ROM directory&lt;br /&gt;
* When you have to change disc in a game, for the moment you&#039;ll just have to do this manually. If you&#039;re caching your game, once you&#039;ve saved your gaems, you can tell quickplay to load the second disc with the emulator first, then the image will be available in the cache to manually mount&lt;br /&gt;
* If the disc image is uncompressed, not available locally AND consists of more than one file, things may not work out for you. How do we know what files make up your image set from the source location? We could follow the links in a .cue i guess, or look for matching filenames with different extensions that follow some pattern. But its a non-trivial problem. Its advised that you zip up your images if running from a remote location&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3443</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3443"/>
		<updated>2024-04-30T09:27:46Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlay&#039;s data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing it&#039;s important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (for BIOS files, just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instructions (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different MAME system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
In the long term, I have two potential fixes to this I might be able to make: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Folder_Options&amp;diff=3441</id>
		<title>Folder Options</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Folder_Options&amp;diff=3441"/>
		<updated>2024-04-30T08:45:42Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an overview of the folder options available&lt;br /&gt;
&lt;br /&gt;
==General Options==&lt;br /&gt;
&lt;br /&gt;
===Folder Mirroring===&lt;br /&gt;
&lt;br /&gt;
[[Image:folder_options1.png|500 px]]&lt;br /&gt;
&lt;br /&gt;
QuickPlay offers the ability to configure a QuickPlay folder to mirror a folder on your hard-disk. This means that if you regularly download new ROMs, instead of constantly going to the &#039;Scan Roms&#039; method, you can configure your mirror directory and with the click of a button Quickplay will make sure its data accurately reflects the files in your hard disk folders! To set up this extremely useful feature, simply create a directory as shown above. Now click on that directory, and then press the &#039;Folder Options&#039; button just above the folder listing. A new dialog will open which contains a lot of options. Go to the &#039;Directory Mirroring&#039; panel, and click the check box. This will activate all the options, now all you need to do is select the directory on your drive you want to mirror, select the default emulator, and a default filter search string (*.zip is the default), and then press OK. Now to mirror the directory press the &#039;Re-scan directory&#039; button on the toolbar. Your ROM listings will then fill up! If you ever want to rescan, simply select the folder you want to rescan and press the &#039;rescan&#039; button. Its as simple as that.&lt;br /&gt;
&lt;br /&gt;
===Folder Listing Icon===&lt;br /&gt;
If you want a particular folder in the tree to have a different icon (instead of the icon of a folder), enable the checkbox and then select the icon you want to use. If you want to add your own icons, simply close this form, and copy your icons into the &#039;icons&#039; folder in directory you installed Quickplay to. If you&#039;re using MAME, Once you&#039;ve done a MAME Scan in the Arcade menu, all the home computer and console systems&#039; icons that MAME has are available from this dropdown&lt;br /&gt;
&lt;br /&gt;
===Background Image===&lt;br /&gt;
&lt;br /&gt;
[[Image:backgrounds_dialog.png|500 px]]&lt;br /&gt;
&lt;br /&gt;
By enabling this checkbox and selecting an image file you can specify a background for the ROM listings. Best of all it shouldn&#039;t slow down the loading times by that much. You can download backgrounds from the Quickplay homepage&lt;br /&gt;
&lt;br /&gt;
== GoodMerge Support ==&lt;br /&gt;
&lt;br /&gt;
[[Image:folder_options2.png|500 px]]&lt;br /&gt;
&lt;br /&gt;
If your folder has games catagorized by [https://en.wikipedia.org/wiki/GoodTools the Good Tools] and merged using [http://goodmerge.sourceforge.net/ the Goodmerge tool], you can &#039;collect&#039; roms from the same set together in your roms view, and you can automatically pick specific regional versions of games to run, or working games out of a set that may contain bad dumps. You can configure these options here.&lt;br /&gt;
&lt;br /&gt;
[[Image:goodmerge_roms.png|500 px]]&lt;br /&gt;
&lt;br /&gt;
==Real Icons==&lt;br /&gt;
&lt;br /&gt;
[[Image:folder_options2.png|500 px]]&lt;br /&gt;
&lt;br /&gt;
A guy called _MAMU makes Icons for Mame, they are amazing. You can point to your MAME/Extras/Icons folder here and then MAME-related romsets will have Icons (this works by QuickPlay recording the &#039;mamename&#039; of a mame game and also recording what that game&#039;s &#039;parent&#039; is if its from a set.&lt;br /&gt;
&lt;br /&gt;
[[Image:icons.PNG|500 px]]&lt;br /&gt;
&lt;br /&gt;
[[category:User_Guides]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3439</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3439"/>
		<updated>2024-04-29T12:56:21Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlay&#039;s data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (for BIOS files, just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instructions (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different MAME system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
In the long term, I have two potential fixes to this I might be able to make: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3436</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3436"/>
		<updated>2022-03-24T21:59:32Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: note its me who can fix other-game-names other-systems running, not you!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (for BIOS files, just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instructions (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different MAME system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
In the long term, I have two potential fixes to this I might be able to make: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3435</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3435"/>
		<updated>2022-03-24T21:57:51Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: /* I tried to run a MAME romdata game with &amp;#039;parameters to run&amp;#039; in a non-MAME Emulator, but it didn&amp;#039;t like the command-line args passed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (for BIOS files, just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instructions (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different MAME system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3434</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3434"/>
		<updated>2022-03-24T21:57:20Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: /* I tried to run a MAME romdata game with &amp;#039;parameters to run&amp;#039; in a non-MAME Emulator, but it didn&amp;#039;t like the command-line args passed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (for BIOS files, just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instructions (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3433</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3433"/>
		<updated>2022-03-24T21:56:36Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: /* What is all that extra console output when the romdatas are printing if I choose to print filepaths? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (for BIOS files, just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3432</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3432"/>
		<updated>2022-03-24T21:56:10Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (for bios files, just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3431</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3431"/>
		<updated>2022-03-24T21:52:18Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: clarify synctool extra logging&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console when printing a RomData file, if you are able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files locally so that synctool will work for you (really just making sure you have the full &#039;MAME Roms&#039; on your hard-disk if at all possible will mean that SyncTool will have all the other files it needs to just pull down the CD/DVD images on their own and work fine) . &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3430</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3430"/>
		<updated>2022-03-24T21:48:34Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s  [[Synctool_Guide | Synctool]], but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3429</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3429"/>
		<updated>2022-03-24T21:46:49Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead printing &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath column in a RomData line, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3428</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3428"/>
		<updated>2022-03-24T21:44:52Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: explain ./qp.exe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If after all this, QuickPlay STILL can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print &#039;./qp.exe&#039; as the filepath, the reason for that is that QuickPlay does need a valid file in the filepath option to run anything, so its own file is the one file we know will definitely exist on your filesystem - it means QuickPlay doesn&#039;t know a filepath for this rom (bear in mind some arcade roms actually have no file of their own as they are embedded, so even if you have turned on the printing of filepaths here, you still may see this sometimes in the path column&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3427</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3427"/>
		<updated>2022-03-24T21:39:12Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms (most people will have the default *.zip roms) &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3426</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3426"/>
		<updated>2022-03-24T21:37:43Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re still getting all this so far ;-)....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3425</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3425"/>
		<updated>2022-03-24T21:37:08Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hope you&#039;re unserstanding this so far....now there&#039;s just a couple of other things to consider here before every filepath for all your MAME Roms will print exactly right, take a look at the two settings you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3424</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3424"/>
		<updated>2022-03-24T21:34:58Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in &#039;&#039;&#039;is the main point&#039;&#039;&#039; of this functionality, and makes all the filepaths print correctly in QuickPlay&#039;s MAME RomData files: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but there&#039;s just a couple of other things to consider here, which you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3423</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3423"/>
		<updated>2022-03-24T21:33:27Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow. If there&#039;s an erroro displayed here then I&#039;m not sure how your MAME installation is working at all, since it appears to have no config file at all?&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in is the main point of this: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but there&#039;s just a couple of other things to consider here, which you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3422</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3422"/>
		<updated>2022-03-24T21:31:30Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePaths checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in is the main point of this: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but there&#039;s just a couple of other things to consider here, which you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3421</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3421"/>
		<updated>2022-03-24T21:30:15Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: add text to print filepaths&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below that you can&#039;t have more than one path for a single rom type, which means if you do something like splitting &#039;roms&#039; into arcade roms and bios roms in two folders, you&#039;ll have to symlink or change stuff to fit in with our convention here - this will work for most people, but as ever, not all), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in is the main point of this: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but there&#039;s just a couple of other things to consider here, which you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3420</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3420"/>
		<updated>2022-03-24T21:25:51Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....(I did a lot of online research when adjusting this feature for what users have as their mame rompath paths, and the results shocked me - I found &#039;everything but the kitchen sink&#039; as we say in England) - more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below, you can&#039;t have more than one path for a rom type), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in is the main point of this: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but there&#039;s just a couple of other things to consider here, which you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MESS&amp;diff=3419</id>
		<title>MESS</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MESS&amp;diff=3419"/>
		<updated>2022-03-24T21:08:33Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MAME-MESS-a2600.png|500px]]&lt;br /&gt;
[[File:MAME-MESS-MSX.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Can you describe QuickPlay&#039;s MAME/RetroArch-Mame Support?==&lt;br /&gt;
Within MAME is both all the world&#039;s arcade games, but also a great many home console and home computer games. Its an amazing resource! MAME&#039;s own UI is not great at telling you about the non-arcade stuff, since the MAME/MESS merge a few years back (the home computer and console emulators used to be a separate project entirely, which only produced a MESS binary), its been quite difficult in MAME to actually separate out the systems that are home pc and console from arcade games, which is kind of cool but you need to treat these things very differently. That&#039;s what we do now for QuickPlay. &lt;br /&gt;
&lt;br /&gt;
The [[MAME | arcade machine setup process]] is about helping you to make your own MAME Romdata files, choosing which ROMS you want to present. That&#039;s fine for MAME&#039;s arcade machine games, but I realised long ago that dealing with the home computer and console games is a process of much more basic filtering as well as specialising, and not really for the end user who wants to play games. For instance we have to pick the right Commodore 64 emulator from like 300 in order to load NTSC floppies, we need to make sure that Genesis US isn&#039;t chosen to play MegaDrive Japan games (its region-locked so the game won&#039;t play), we need to make sure that A2600 games get set up against either the PAL and NTSC emulators or the games will look/play wrong, and we need to ensure the Thomson TO7 gets loaded first with the basic cartridge it needed before it could load any games from cassette or floppy disk. And I could go on, and on......Added to these configurations that QuickPlay can do for you, a lot of games in the MAME Software lists (just as in any retro collection!) don&#039;t work, a lot of systems don&#039;t work, or the devices that load games in those devices don&#039;t work. Phew! But, in MAME, there is labelling for things that don&#039;t work, so they can be excluded by QuickPlay before you see them...&lt;br /&gt;
&lt;br /&gt;
So that&#039;s why, for console and home-computer games in MAME, QuickPlay does all the work up front: For every system that says it has working softlists, the games that say they work are available, and the right system setup is used as an emulator call in QuickPlay to get things to load. Here&#039;s C64&#039;s romdata for MAME:&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-c64.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Now do be advised here that MAME is the ultimate &#039;&#039;&#039;emulator&#039;&#039;&#039;, its not a &#039;&#039;&#039;simulator&#039;&#039;&#039;, so to load C64 games you are going to need to google what the load commands were, and use them (actually, often MAME has this information in its own dat files, you can use the UI toggle once you load the system and see if that infomation exists). For cassette games, you are going to have to &#039;press play&#039; on cassette, and then turn throttling off to speed up the game load if you don&#039;t want to wait. MAME has keyboard shortcuts to do all these things just look up its basic documentation, and remember there&#039;s a notes field in the Media Panel in QuickPlay against each system for you to note down how to load things as you go. If that sounds complicated, just think how complicated it feels when you are doing the same thing for the 150th time.....its more like a coffee machine where you press basically the same buttons to make the coffee, only its every brand of coffee for every coffee machine ever made ;-)&lt;br /&gt;
&lt;br /&gt;
QuickPlay approaches the Console and Home PC MAME support very differently from other Frontends. Mostly that&#039;s a product of QuickPlay&#039;s EFinder system, when its so easy to setup and configuring all the MAME emulators in bulk, it leads on to higher-level stuff pretty quickly.  So we are doing filtering and selecting that, as far as i&#039;m aware, you won&#039;t find anywhere else. The idea is to only see games that WORK, to try and make things work if they require extra config, and to allow MAME&#039;s softlists to sit beside all your other retro-game emulators and games&lt;br /&gt;
&lt;br /&gt;
When you do an E-Find scan for MAME emulators after doing a MAME Scan in QuickPlay, you get two kinds of emulators: one kind runs the MAME softlists for a systems (so will be called &#039;A200 NTSC Softlist` and others which are general-purpose emulators (have a look in the &#039;homepage&#039; field in emulator settings for which filetypes these support) so they will be like &#039;A2600 PAL Europe Cart&#039; (i.e.: each &#039;emulator&#039; runs a different device like Cartridge (CART), Cassette (CASS), Floppy Disk (DISC) and so on...&lt;br /&gt;
&lt;br /&gt;
Because RetroArch has a MAME core, everything I just said applies to RetroArch too. All setup and ready to go, you just need to make [[RetroArchMameMod | a couple of config changes to RetroArch]]&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Standalone Loading (non softlists)===&lt;br /&gt;
* automatically finds Mame/Mess/UME/Retroarch emulators that you have and sets them up in QuickPlay - not just softlists. Everything!&lt;br /&gt;
* ...but only sets up emulators that actually work&lt;br /&gt;
* Tags each &#039;emulator&#039; with the device it supports, filters out mame &#039;devices&#039; that aren&#039;t about loading games eg: midi, printer &lt;br /&gt;
* Sets up a &#039;type system&#039; to sensibly collect machines of the same type together &lt;br /&gt;
* Gives you some text in the emulator setup to tell you what file extensions the emulator supports&lt;br /&gt;
* Turns machine names into something a little easier than MAME&#039;s very-complete but often very-long names - its &#039;Commodore&#039; not &#039;Commodore Business Machines LLC&#039;&lt;br /&gt;
* Removes machines that don&#039;t have games for them (I looked online, it took ages)&lt;br /&gt;
* For machines which need some kind of media in order to load games (like a basic cartridge), ensures we call those first&lt;br /&gt;
&lt;br /&gt;
===Softlists===&lt;br /&gt;
* Only makes softlists for systems that work, and that have the right device for the softlist, and that device also works&lt;br /&gt;
* Doesn&#039;t make softlist for games that say they don&#039;t work (in the softlist&#039;s hash)&lt;br /&gt;
* removes softlists that have no games, and don&#039;t seem likely to ever have games&lt;br /&gt;
* picks the most suitable emulator to use to run each softlist&lt;br /&gt;
* Sets up the right emulator for the right region in individual softlists (is aware that &#039;Sweden&#039; is in &#039;Europe&#039; and the &#039;Europe&#039; is &#039;PAL&#039;)&lt;br /&gt;
* sets the corresponding icon file in MAME Extras to use for each softlist&lt;br /&gt;
* adds comments for each game that were in the mame xml. Omits Japanese comments&lt;br /&gt;
* Uses retroarch&#039;s &#039;full mame&#039; support, so you aren&#039;t limited to cartridge-console games only&lt;br /&gt;
* tweaks the chosen mame emulators for softlists for computable reasons and non-computable reasons (we want an MSX that non-Japaenese people can load games on)&lt;br /&gt;
* Fixes MAME&#039;s &#039;softlist gamename&#039; conflict problem, where two games on the same system have the same MAME call, but may be for two different media devices (and could be different games eg: SMB2 on NES cart/Famicom disc)&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-to7.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
&lt;br /&gt;
* Firstly make sure MAME/RetroArch are setup correctly to load games themselves (to setup in RetroArch see [[RetroArchMameMod | the instructions for modding RetroArch to use full MAME]])&lt;br /&gt;
* Then please follow the instructions for [[MAME | MAME initial setup in QuickPlay]] to set QuickPlay&#039;s MAME Options up and get yourself a Mame Scan (the MAME Scan sets you up to create both arcade and home computer/console sets). In particular just ignore the section &#039;Arcade and Softlist Printing Options&#039; for now (leave it disabled), and read about the implications of enabling that later in its own section here&lt;br /&gt;
* Notice that when a MAME Scan has finished, you&#039;re advised to do an E-Find Scan - this is because the MAME Scan has found all of the Home Computer and Console Emulators that MAME is capable of running and has made you a MAME efind file (in the Efind folder in QuickPlay&#039;s root directory) customised to your MAME version called Mess_Mame.ini or Mess_RetroArch.ini. So that&#039;s why you now should run a new EFind, because that new E-Find file exists now, so run an efind for all systems in some folder that includes somewhere the MAME or RetroAch executable.&lt;br /&gt;
&lt;br /&gt;
[[File:Efind2.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
* It should find just over 5000 emulators . One reason there are so many is because there is an emulator for each media device a system had (eg: Cassette, Floppy, Cartridge) and ones also for Softlists if the system has a softlist. That&#039;s just how MAME works, you almost always need to specify the media device in the call. The other reason there are so many is that: YOU JUST GOT SOOO MANY NEW WORKING EMULATORS, ALL AT ONCE ;-) Here&#039;s a scan after making both a MAME, and a RetroArch MAME EFind file: &lt;br /&gt;
&lt;br /&gt;
[[File:Efind.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
* Now you have two new things:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; The ability to use MAME&#039;s (non-softlist) emulators to run any rom you like, you can simply use your thousands of new emulators in QuickPlay to load your games! So  [[Adding_Roms | find some roms as normal]] (here&#039;s a tip: check out the homepage field in each (non-softlist) emulator in the emulator setup: it tells you what file formats are supported,  [[Media_Panel | setup the media panel]] for your systems as normal&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:RetroArch-MESS-apple2gs.png|500px]]&lt;br /&gt;
[[File:RetroArch-MESS-Odyssey2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; You got the ability to create the MAME Softlists. So let&#039;s do that now. These are the lists of suppported games for each system that MAME supplies, in QuickPlay we&#039;re going to print out a folder for each system, and inside that folder there will be folders for each softlist that system supports. All you need to do now is pick a source folder that the Softlists are going it get written to. So go into the Roms sidebar (Left hand side of QuickPlay) and make/select a folder to be the root of the Softlist Folders, this can be your existing MAME folder, or any other folder (nothing is written to the root, the only folder that gets printed in the path you select is one called &#039;MAME Softlists&#039; or &#039;Retroarch MAME Softlists&#039; and under that will be...a lot of folders of games ;-) ).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* Go to &#039;Arcade Roms&#039; &amp;gt; &#039;Print MAME / RetroArch MESS Softlist Romdatas in Current Dir&#039;, select the Mame Emulator you&#039;re going to use to run the games (remember for RetroArch this must be straight &#039;MAME&#039;, not UME, not MESS, not MAME2009 etc) and hit go.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_softlist_printer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* Everything should &#039;just work now&#039;. Remember that softlist calls just call MAME with a &#039;mameName&#039; like &#039;smb&#039; instead of file path. Which means if it works in MAME, it&#039;ll work in QuickPlay. If you want to get more compicated and run MAME&#039;s softlist roms with non-MAME emulators, or if you want to use QuickPlay&#039;s synctool functionality (so you can store all those Softlist CHDs somewhere than on your laptop&#039;s hard-drive), then you&#039;ll need to turn softlist generation on in the [[Mame Options|MAME]] and think about what type of ROMS you have - [[MameFilePaths | read about it later]])&lt;br /&gt;
&lt;br /&gt;
* Setup the media panel etc to your liking (I find it helps to use the notes field against systems to say how to load Floppys and Cassettes. Although I used to have a C64, I can&#039;t often remember what it needs to load from the floppy (its LOAD &amp;quot;*&#039;,8,1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FAQ===&lt;br /&gt;
&#039;&#039;&#039;If you can setup the folder icons, why can&#039;t you auto-setup the media panel with screenshots, history/trivia and all the other info that MAME provides?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Its definitely possible, but it was too much work to do everything above and then work that out too. The media panel data is encoded with hex and pascal strings and all sorts. Roadmapped for &#039;quite soon&#039;. For now do it yourself. The other problem here is a philosophical one: the more QuickPlay hardcodes the things provided to it by other Frontend/Emulator/Frameworks, the less power you, the user, has to make your own setups in QuickPlay. QuickPlay is not just a MAME Frontend, so if you make your own assets attached to &amp;quot;Commodore 64/128&amp;quot;, we don&#039;t want to overwrite them with MAMEs, assume that MAME has auto-generated them, or try and later pick apart your own additions with MAMEs.  This is a problem in many areas of software: how do you gain automatic configuration, but not lose power to make things of your own?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The softlists aren&#039;t working?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just hit here http://forums.quickplayfrontend.com/ you&#039;ll get help quickly, &#039;&#039;&#039;but before you do, please just check that&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Did you choose the right MAME Emulator in the dialog boxes? Make it as &#039;straight&#039; MAME as you can...&lt;br /&gt;
* Did you first do an EFind to find a MAME Emulator, then run a MAME Scan using that emulator with the MAME XML, then do another EFind to find all those MAME Console and Home Computer Emulators. If your Softlists don&#039;t launch, saying the exe doesn&#039;t exist, that&#039;s probably why.... &lt;br /&gt;
* Does the game you want to play in fact work in MAME/RetroArch outside of QuickPlay? &lt;br /&gt;
* Does it work on the command line?  (You can right click a rom in QuickPlay to show you the command-line its going to run, and right click the command line to copy it)&lt;br /&gt;
&lt;br /&gt;
===Tips===&lt;br /&gt;
* For RetroArch, because I went for the &#039;experimental&#039; command line option to get things working, you have every system, but bear in mind that RetroArch&#039;s configuration takes precedence over MAME&#039;s configuration, which can be good and bad. Its bad when you want to access a keyboard key for a computer but its been mapped to &#039;Fullscreen&#039; in RetroArch for instance (you might still be able to use the MAME menu for lock the keyboard out, haven&#039;t tried yet)&lt;br /&gt;
&lt;br /&gt;
* If you are re-running the softlist-folder generation process because you&#039;ve upgraded to a new version of MAME, &#039;&#039;&#039;please don&#039;t forget after a MAME Scan, to re-run the EFinder and overwrite your current MAME Emulators&#039;&#039;&#039;, or your list of emulators will be out of date for the new softlists you&#039;re about to make - its tempting to just go straight to generating the softlists after a new scan of the MAME XML, but then the softlists that get made won&#039;t agree quite with the emulators you have&lt;br /&gt;
&lt;br /&gt;
===General (non-QuickPlay) advise for setting up MAME for home computers and console games===&lt;br /&gt;
&lt;br /&gt;
We want to be able to click-and-play a MAME softlist game from QuickPlay and its amazing when you can, but that means setting up MAME for your systems a bit (like setting up a particular systems for your particular joypad, for instance)&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; If you want to know technical details about how to load games on a computer system, open MAMEs menu and look for the dats for the system, you can also [http://www.progettoemma.net/mess/index.html search the MESS info online] In a few cases, the infomation you want might actually be collected against a parent or child, so check those too. Sometimes the information hasn&#039;t been collected in MAME yet, so you have to google&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;these next tips are about the ini and cfg files in MAME, if you want to set up controllers for computer systems (console controls mostly work well in MAME, better than in RetroArch imho):&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Writeconfig in the mame ini has ALWAYS been a problem. [http://docs.mamedev.org/ You should read about ini and cfg files in MAME]. &#039;&#039;&#039;The setting &#039;writeconfig&#039; is actually about the ini files in MAMEs ini directory, not about the .cfg files in the cfg directory&#039;&#039;&#039;. Ideally you want it on (set to 1) so you can change settings to make computers and things work, but once its on everything you do gets saved. The most annoying is that the last game stays loaded in whatever device it was in, causing havoc. To make matters worse, MAME&#039;s ini system is a Class-Object based one, meaning that if you have writeconfig enabled, every time you play a system, a new config is going to get saved based on the current state of the master mame.ini, so you&#039;re going to get lots of subtly different ini files in your ini folder over time.  Ultimately you CAN&#039;T have writeconfig turned on. Turn it off (at the top of mame.ini in MAME&#039;s root folder, set writeconfig to 0 &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  So now you can police the ini files in MAME&#039;s ini directory, you should know the .cfg files in MAME&#039;s cfg directory are mostly useful for setting joypads for each system. There are two choices with MAME now: you can make yourself a controller preset or make yourself a config for each systems, [http://docs.mamedev.org/ see MAME&#039;s own documentation about this]. I only know about not using controller presets, but there is a way if you are using presets to overcome the problem in windows where the GUID of your joypads change if you unplug them - see [http://docs.mamedev.org/advanced/devicemap.html?highlight=controller this link] and [https://github.com/mamedev/mame/issues/1107 this issue]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; don&#039;t bother trying to setup joypads for the early consoles that had a controller with keypad including 1-9 on them, its not worth it, they are all a little bit different in what keys they have and which keys are actually fire. Just forget it&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don&#039;t use controller presets, some tips for configuring joypads in MAMEs .cfg files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; If you don&#039;t use a preset for your controller, you&#039;ll be making a lot of .cfg files, when you need to setup your joypad, be aware you can&#039;t &#039;protect&#039; your configs in this directory in the same way you just did the .ini files when you set writeconfig to off. In order to make sure MAME might not, for instance, decide your second joypad isn&#039;t plugged in and reset all your player 2 controls, you&#039;ll need to, in Windows, set the ini file for that system to be read-only. I&#039;d advise spending some time NOT doing any joypad configuring at first: Just load some softlist games and get a feel for what you might want to change, then one day, plan some time to check each softlist in QuickPlay and get it working as you&#039;d like, then set read-only when its right. Then never worry about it again&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; also if you use the .cfg approach to setting up your joypad, be aware that .cfg files HAVE NO INHERITANCE, whereas .ini files do. This means that if you want to set joypad controls for a2600 and a2600p (the PAL Atari 2600) you need TWO .cfg files, but only one .ini file (for a2600 because a2600p is a &#039;cloneof&#039; a2600 and will read its ini).  I think the reason for this is that the &#039;child&#039; machines of a &#039;parent&#039; system might have any number of differences, but share basic emulation configuration (like whether the keyboard should, by default, map MAMEs controls to it, or whether you need to press a button for it to do that). You can set the same controls for the a2600 and a2600p by just copying the a2600.cfg to a2600p.cfg and altering the machine name in the .cfg itself to read a2600&#039;&#039;&#039;p&#039;&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; so that sounds like a big hassle, right, setting up the joypad for every system? It is...don&#039;t worry about it at first, just load some games for a while with a keyboard to hand, get a feeling for things, and remember that each time you do a new one, a few more hundred games are potentially available to you. So plan to do them in one go: start at the top of the MAME softlists, setup a system&#039;s controls, set the .cfg file as read-only, move on till you are done&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-PV1000.png|500px]]&lt;br /&gt;
[[File:RetroArch-MESS-x68000.png|500px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3418</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3418"/>
		<updated>2022-03-22T22:11:09Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below, you can&#039;t have more than one path for a rom type), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in is the main point of this: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve specified that they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but there&#039;s just a couple of other things to consider here, which you can find on the second tab of the filepaths :&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3417</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3417"/>
		<updated>2022-03-22T22:07:57Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: even more of mame rom path type ui description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
= Understanding the MAME Path printing option =&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the Arcade and Softlist Printing Options settings. The options apply the same to both Arcade and Softlist printing.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below, you can&#039;t have more than one path for a rom type), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators and not use any non-MAME emulators at all (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Rompath&#039;&#039;&#039; - this is just a read-only field showing you a (non-relative version of) the rompath setting in your MAME installation&#039;s ini file. The paths in here will be used by the dropdowns that follow&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;ROM type dropdowns (x4)&#039;&#039;&#039; - filling these in is the main point of this: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve put they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in.  If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in. (I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but there&#039;s more:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3416</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3416"/>
		<updated>2022-03-22T21:54:58Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Path printing option ==&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
== How MAME in QuickPlay works == &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
=== Launching a game ===&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
=== Using mame.ini&#039;s rompath variable ===&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
So here&#039;s the thing: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve put they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in.&lt;br /&gt;
&lt;br /&gt;
(I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the new Arcade and Softlist Printing Options settings. Unusually the options apply the same to both Arcade and Softlist printing (usually they are two very different kinds of thing), that&#039;s why they are in the main Mame Options Menu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3415</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3415"/>
		<updated>2022-03-22T21:53:37Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Path printing option ==&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. It is optional, you can just leave the filepath printing tickbox unticked and carry on. Read on for why you might want it:&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
=== How MAME in QuickPlay works === &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
==== Launching a game ====&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
== Using mame.ini&#039;s rompath variable ==&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
So here&#039;s the thing: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve put they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in.&lt;br /&gt;
&lt;br /&gt;
(I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the new Arcade and Softlist Printing Options settings. Unusually the options apply the same to both Arcade and Softlist printing (usually they are two very different kinds of thing), that&#039;s why they are in the main Mame Options Menu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3414</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3414"/>
		<updated>2022-03-22T21:50:50Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Path printing option ==&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Path Printing Options&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
=== How MAME in QuickPlay works === &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
==== Launching a game ====&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
== Using mame.ini&#039;s rompath variable ==&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
So here&#039;s the thing: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve put they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in.&lt;br /&gt;
&lt;br /&gt;
(I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the new Arcade and Softlist Printing Options settings. Unusually the options apply the same to both Arcade and Softlist printing (usually they are two very different kinds of thing), that&#039;s why they are in the main Mame Options Menu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3413</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3413"/>
		<updated>2022-03-22T21:39:54Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: more changes for rompath type ui change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Path printing option ==&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Printing Options&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
=== How MAME in QuickPlay works === &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
==== Launching a game ====&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
== Using mame.ini&#039;s rompath variable ==&lt;br /&gt;
One final thing its important to understand is MAME&#039;s rompath and MAME&#039;s ROM types. Since you have setup MAME so that it works outside of QuickPlay, you&#039;ll be aware of MAME&#039;s configuration file: Mame.ini. QuickPlay needs to read this Mame.ini - This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or system/mess realtive to the RetroArch executable, in the case of RetroArch). One of the first settings in Mame.ini is &#039;rompath&#039; - that&#039;s the setting this is ALL about:&lt;br /&gt;
&lt;br /&gt;
[[File:Mame_ini.png|500px]]&lt;br /&gt;
&lt;br /&gt;
MAME is pretty flexible in how you organise your rompaths, a bit too flexible really. So in here you&#039;ve specified all the paths to all your MAME roms, if you didn&#039;t alter this setting then you have a relative path &#039;roms&#039; to the &#039;roms&#039; folder in your MAME install folder, and that&#039;s the only place your MAME roms can be. But you might have set all sorts of other folders that MAME roms live in.....more on that in a bit.&lt;br /&gt;
&lt;br /&gt;
Next, let&#039;s talk about MAME rom types: we deal with four types of ROM here: ROMS (arcade and system bios roms), CHDs (arcade discs), Software List Roms (Console/Home Computer roms) and Software List CHDs (CD and DVD roms for Consoles/Home Computers). These might all be in your MAME roms folder, that&#039;s quite valid, but its probably more likely you have them in separate folders.&lt;br /&gt;
&lt;br /&gt;
So here&#039;s the thing: for us to print valid filepaths for each game in MAME, we need to know, for each of these four romtypes, which folder you&#039;ve put they live in. So if you&#039;ve ticked that you want rompaths to be printed, for the MAME Emulator you tell QuickPlay to use in your MAME Options, we read the rompath from its Mame.ini and ask you to fill in the folder that each of the four romtypes is in&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
If you really do have all of these in the &#039;roms&#039; folder in your MAME installation, set all four of the dropdowns to &#039;roms&#039;. Otherwise set each type to the folder that type lives in.&lt;br /&gt;
&lt;br /&gt;
(I&#039;m afraid we only support one folder for each type, so if you&#039;ve got more than one folder for each type you&#039;ll have to use symlinks so they all appear to QuickPlay as one folder)&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the new Arcade and Softlist Printing Options settings. Unusually the options apply the same to both Arcade and Softlist printing (usually they are two very different kinds of thing), that&#039;s why they are in the main Mame Options Menu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_ini.png&amp;diff=3412</id>
		<title>File:Mame ini.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_ini.png&amp;diff=3412"/>
		<updated>2022-03-22T21:18:43Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3411</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3411"/>
		<updated>2022-03-22T20:34:20Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: begin to edit mame file paths for new filepath type ui settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Path printing option ==&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Printing Options&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
=== How MAME in QuickPlay works === &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a subset of that massive file (plus info from any ini files in your mame extras folder) that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print all of them again (you will lose any customisations you made to the romdatas though, if in doubt, diff them) &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
==== Launching a game ====&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator, so if you have that EFind-ed with QuickPlay, a romdata with filepaths for each games makes it so you can right-click and launch any individual game with Retroarch&#039;s x6800 core&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location. Now you don&#039;t need your whole MAME set and all those CHDs on your hard disk!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the new Arcade and Softlist Printing Options settings. Unusually the options apply the same to both Arcade and Softlist printing (usually they are two very different kinds of thing), that&#039;s why they are in the main Mame Options Menu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using mame.ini&#039;s rompath variable ==&lt;br /&gt;
The last thing its important to understand, is that QuickPlay will need to find out from MAME what your rompaths are, in order to print them. Now MAME is pretty flexible in how you organise your rompaths, a bit too flexible really, so unless you follow a convention its impossible to know in advance the rompath to any particular rom, but you probably do follow the convention.&lt;br /&gt;
&lt;br /&gt;
In order for filePath printing to work, you need to have the MAME paths read correctly from MAME&#039;s ini file. This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or systems/mess realtive to the RetorArch executable, in the case of RetroArch)&lt;br /&gt;
&lt;br /&gt;
There are 4 different kinds of ROMS in MAME: &#039;ROMS&#039;, &#039;CHDs&#039;, &#039;Software List ROMS&#039;, and &#039;Software List CHDs&#039;. The folder names are usually called those. QuickPlay will look for folders named exactly as those four, in the rompath variable in your mame.ini, and use those to make the filepaths for those types of ROM when it prints MAME romdatas. &lt;br /&gt;
&lt;br /&gt;
It is also possible to also have all your MAME roms in one folder (usually just called &#039;ROMS&#039;). If there&#039;s only one folder in your rompath variable, QuickPlay will look there for all types of ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MESS&amp;diff=3410</id>
		<title>MESS</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MESS&amp;diff=3410"/>
		<updated>2022-03-22T20:24:28Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: link for filepaths in MESS page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MAME-MESS-a2600.png|500px]]&lt;br /&gt;
[[File:MAME-MESS-MSX.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Can you describe QuickPlay&#039;s MAME/RetroArch-Mame Support?==&lt;br /&gt;
Within MAME is both all the world&#039;s arcade games, but also a great many home console and home computer games. Its an amazing resource! MAME&#039;s own UI is not great at telling you about the non-arcade stuff, since the MAME/MESS merge a few years back (the home computer and console emulators used to be a separate project entirely, which only produced a MESS binary), its been quite difficult in MAME to actually separate out the systems that are home pc and console from arcade games, which is kind of cool but you need to treat these things very differently. That&#039;s what we do now for QuickPlay. &lt;br /&gt;
&lt;br /&gt;
The [[MAME | arcade machine setup process]] is about helping you to make your own MAME Romdata files, choosing which ROMS you want to present. That&#039;s fine for MAME&#039;s arcade machine games, but I realised long ago that dealing with the home computer and console games is a process of much more basic filtering as well as specialising, and not really for the end user who wants to play games. For instance we have to pick the right Commodore 64 emulator from like 300 in order to load NTSC floppies, we need to make sure that Genesis US isn&#039;t chosen to play MegaDrive Japan games (its region-locked so the game won&#039;t play), we need to make sure that A2600 games get set up against either the PAL and NTSC emulators or the games will look/play wrong, and we need to ensure the Thomson TO7 gets loaded first with the basic cartridge it needed before it could load any games from cassette or floppy disk. And I could go on, and on......Added to these configurations that QuickPlay can do for you, a lot of games in the MAME Software lists (just as in any retro collection!) don&#039;t work, a lot of systems don&#039;t work, or the devices that load games in those devices don&#039;t work. Phew! But, in MAME, there is labelling for things that don&#039;t work, so they can be excluded by QuickPlay before you see them...&lt;br /&gt;
&lt;br /&gt;
So that&#039;s why, for console and home-computer games in MAME, QuickPlay does all the work up front: For every system that says it has working softlists, the games that say they work are available, and the right system setup is used as an emulator call in QuickPlay to get things to load. Here&#039;s C64&#039;s romdata for MAME:&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-c64.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Now do be advised here that MAME is the ultimate &#039;&#039;&#039;emulator&#039;&#039;&#039;, its not a &#039;&#039;&#039;simulator&#039;&#039;&#039;, so to load C64 games you are going to need to google what the load commands were, and use them (actually, often MAME has this information in its own dat files, you can use the UI toggle once you load the system and see if that infomation exists). For cassette games, you are going to have to &#039;press play&#039; on cassette, and then turn throttling off to speed up the game load if you don&#039;t want to wait. MAME has keyboard shortcuts to do all these things just look up its basic documentation, and remember there&#039;s a notes field in the Media Panel in QuickPlay against each system for you to note down how to load things as you go. If that sounds complicated, just think how complicated it feels when you are doing the same thing for the 150th time.....its more like a coffee machine where you press basically the same buttons to make the coffee, only its every brand of coffee for every coffee machine ever made ;-)&lt;br /&gt;
&lt;br /&gt;
QuickPlay approaches the Console and Home PC MAME support very differently from other Frontends. Mostly that&#039;s a product of QuickPlay&#039;s EFinder system, when its so easy to setup and configuring all the MAME emulators in bulk, it leads on to higher-level stuff pretty quickly.  So we are doing filtering and selecting that, as far as i&#039;m aware, you won&#039;t find anywhere else. The idea is to only see games that WORK, to try and make things work if they require extra config, and to allow MAME&#039;s softlists to sit beside all your other retro-game emulators and games&lt;br /&gt;
&lt;br /&gt;
When you do an E-Find scan for MAME emulators after doing a MAME Scan in QuickPlay, you get two kinds of emulators: one kind runs the MAME softlists for a systems (so will be called &#039;A200 NTSC Softlist` and others which are general-purpose emulators (have a look in the &#039;homepage&#039; field in emulator settings for which filetypes these support) so they will be like &#039;A2600 PAL Europe Cart&#039; (i.e.: each &#039;emulator&#039; runs a different device like Cartridge (CART), Cassette (CASS), Floppy Disk (DISC) and so on...&lt;br /&gt;
&lt;br /&gt;
Because RetroArch has a MAME core, everything I just said applies to RetroArch too. All setup and ready to go, you just need to make [[RetroArchMameMod | a couple of config changes to RetroArch]]&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Standalone Loading (non softlists)===&lt;br /&gt;
* automatically finds Mame/Mess/UME/Retroarch emulators that you have and sets them up in QuickPlay - not just softlists. Everything!&lt;br /&gt;
* ...but only sets up emulators that actually work&lt;br /&gt;
* Tags each &#039;emulator&#039; with the device it supports, filters out mame &#039;devices&#039; that aren&#039;t about loading games eg: midi, printer &lt;br /&gt;
* Sets up a &#039;type system&#039; to sensibly collect machines of the same type together &lt;br /&gt;
* Gives you some text in the emulator setup to tell you what file extensions the emulator supports&lt;br /&gt;
* Turns machine names into something a little easier than MAME&#039;s very-complete but often very-long names - its &#039;Commodore&#039; not &#039;Commodore Business Machines LLC&#039;&lt;br /&gt;
* Removes machines that don&#039;t have games for them (I looked online, it took ages)&lt;br /&gt;
* For machines which need some kind of media in order to load games (like a basic cartridge), ensures we call those first&lt;br /&gt;
&lt;br /&gt;
===Softlists===&lt;br /&gt;
* Only makes softlists for systems that work, and that have the right device for the softlist, and that device also works&lt;br /&gt;
* Doesn&#039;t make softlist for games that say they don&#039;t work (in the softlist&#039;s hash)&lt;br /&gt;
* removes softlists that have no games, and don&#039;t seem likely to ever have games&lt;br /&gt;
* picks the most suitable emulator to use to run each softlist&lt;br /&gt;
* Sets up the right emulator for the right region in individual softlists (is aware that &#039;Sweden&#039; is in &#039;Europe&#039; and the &#039;Europe&#039; is &#039;PAL&#039;)&lt;br /&gt;
* sets the corresponding icon file in MAME Extras to use for each softlist&lt;br /&gt;
* adds comments for each game that were in the mame xml. Omits Japanese comments&lt;br /&gt;
* Uses retroarch&#039;s &#039;full mame&#039; support, so you aren&#039;t limited to cartridge-console games only&lt;br /&gt;
* tweaks the chosen mame emulators for softlists for computable reasons and non-computable reasons (we want an MSX that non-Japaenese people can load games on)&lt;br /&gt;
* Fixes MAME&#039;s &#039;softlist gamename&#039; conflict problem, where two games on the same system have the same MAME call, but may be for two different media devices (and could be different games eg: SMB2 on NES cart/Famicom disc)&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-to7.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
&lt;br /&gt;
* Firstly make sure MAME/RetroArch are setup correctly to load games themselves (to setup in RetroArch see [[RetroArchMameMod | the instructions for modding RetroArch to use full MAME]])&lt;br /&gt;
* Then please follow the instructions for [[MAME | MAME initial setup in QuickPlay]] to set QuickPlay&#039;s MAME Options up and get yourself a Mame Scan (the MAME Scan sets you up to create both arcade and home computer/console sets). In particular just ignore the section &#039;Arcade and Softlist Printing Options&#039; for now (leave it disabled), and read about the implications of enabling that later in its own section here&lt;br /&gt;
* Notice that when a MAME Scan has finished, you&#039;re advised to do an E-Find Scan - this is because the MAME Scan has found all of the Home Computer and Console Emulators that MAME is capable of running and has made you a MAME efind file (in the Efind folder in QuickPlay&#039;s root directory) customised to your MAME version called Mess_Mame.ini or Mess_RetroArch.ini. So that&#039;s why you now should run a new EFind, because that new E-Find file exists now, so run an efind for all systems in some folder that includes somewhere the MAME or RetroAch executable.&lt;br /&gt;
&lt;br /&gt;
[[File:Efind2.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
* It should find just over 5000 emulators . One reason there are so many is because there is an emulator for each media device a system had (eg: Cassette, Floppy, Cartridge) and ones also for Softlists if the system has a softlist. That&#039;s just how MAME works, you almost always need to specify the media device in the call. The other reason there are so many is that: YOU JUST GOT SOOO MANY NEW WORKING EMULATORS, ALL AT ONCE ;-) Here&#039;s a scan after making both a MAME, and a RetroArch MAME EFind file: &lt;br /&gt;
&lt;br /&gt;
[[File:Efind.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
* Now you have two new things:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; The ability to use MAME&#039;s (non-softlist) emulators to run any rom you like, you can simply use your thousands of new emulators in QuickPlay to load your games! So  [[Adding_Roms | find some roms as normal]] (here&#039;s a tip: check out the homepage field in each (non-softlist) emulator in the emulator setup: it tells you what file formats are supported,  [[Media_Panel | setup the media panel]] for your systems as normal&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:RetroArch-MESS-apple2gs.png|500px]]&lt;br /&gt;
[[File:RetroArch-MESS-Odyssey2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; You got the ability to create the MAME Softlists. So let&#039;s do that now. These are the lists of suppported games for each system that MAME supplies, in QuickPlay we&#039;re going to print out a folder for each system, and inside that folder there will be folders for each softlist that system supports. All you need to do now is pick a source folder that the Softlists are going it get written to. So go into the Roms sidebar (Left hand side of QuickPlay) and make/select a folder to be the root of the Softlist Folders, this can be your existing MAME folder, or any other folder (nothing is written to the root, the only folder that gets printed in the path you select is one called &#039;MAME Softlists&#039; or &#039;Retroarch MAME Softlists&#039; and under that will be...a lot of folders of games ;-) ).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* Go to &#039;Arcade Roms&#039; &amp;gt; &#039;Print MAME / RetroArch MESS Softlist Romdatas in Current Dir&#039;, select the Mame Emulator you&#039;re going to use to run the games (remember for RetroArch this must be straight &#039;MAME&#039;, not UME, not MESS, not MAME2009 etc) and hit go.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_softlist_printer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* Everything should &#039;just work now&#039;. Remember that softlist calls just call MAME with a &#039;mameName&#039; like &#039;smb&#039; instead of file path. Which means if it works in MAME, it&#039;ll work in QuickPlay. If you want to get more compicated and run MAME&#039;s softlist roms with non-MAME emulators, then you&#039;ll need to turn softlist generation on in the [[Mame Options|MAME]] and think about what type of ROMS you have - [[MameFilePaths | read about it later]])&lt;br /&gt;
&lt;br /&gt;
* Setup the media panel etc to your liking (I find it helps to use the notes field against systems to say how to load Floppys and Cassettes. Although I used to have a C64, I can&#039;t often remember what it needs to load from the floppy (its LOAD &amp;quot;*&#039;,8,1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FAQ===&lt;br /&gt;
&#039;&#039;&#039;If you can setup the folder icons, why can&#039;t you auto-setup the media panel with screenshots, history/trivia and all the other info that MAME provides?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Its definitely possible, but it was too much work to do everything above and then work that out too. The media panel data is encoded with hex and pascal strings and all sorts. Roadmapped for &#039;quite soon&#039;. For now do it yourself. The other problem here is a philosophical one: the more QuickPlay hardcodes the things provided to it by other Frontend/Emulator/Frameworks, the less power you, the user, has to make your own setups in QuickPlay. QuickPlay is not just a MAME Frontend, so if you make your own assets attached to &amp;quot;Commodore 64/128&amp;quot;, we don&#039;t want to overwrite them with MAMEs, assume that MAME has auto-generated them, or try and later pick apart your own additions with MAMEs.  This is a problem in many areas of software: how do you gain automatic configuration, but not lose power to make things of your own?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The softlists aren&#039;t working?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just hit here http://forums.quickplayfrontend.com/ you&#039;ll get help quickly, &#039;&#039;&#039;but before you do, please just check that&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Did you choose the right MAME Emulator in the dialog boxes? Make it as &#039;straight&#039; MAME as you can...&lt;br /&gt;
* Did you first do an EFind to find a MAME Emulator, then run a MAME Scan using that emulator with the MAME XML, then do another EFind to find all those MAME Console and Home Computer Emulators. If your Softlists don&#039;t launch, saying the exe doesn&#039;t exist, that&#039;s probably why.... &lt;br /&gt;
* Does the game you want to play in fact work in MAME/RetroArch outside of QuickPlay? &lt;br /&gt;
* Does it work on the command line?  (You can right click a rom in QuickPlay to show you the command-line its going to run, and right click the command line to copy it)&lt;br /&gt;
&lt;br /&gt;
===Tips===&lt;br /&gt;
* For RetroArch, because I went for the &#039;experimental&#039; command line option to get things working, you have every system, but bear in mind that RetroArch&#039;s configuration takes precedence over MAME&#039;s configuration, which can be good and bad. Its bad when you want to access a keyboard key for a computer but its been mapped to &#039;Fullscreen&#039; in RetroArch for instance (you might still be able to use the MAME menu for lock the keyboard out, haven&#039;t tried yet)&lt;br /&gt;
&lt;br /&gt;
* If you are re-running the softlist-folder generation process because you&#039;ve upgraded to a new version of MAME, &#039;&#039;&#039;please don&#039;t forget after a MAME Scan, to re-run the EFinder and overwrite your current MAME Emulators&#039;&#039;&#039;, or your list of emulators will be out of date for the new softlists you&#039;re about to make - its tempting to just go straight to generating the softlists after a new scan of the MAME XML, but then the softlists that get made won&#039;t agree quite with the emulators you have&lt;br /&gt;
&lt;br /&gt;
===General (non-QuickPlay) advise for setting up MAME for home computers and console games===&lt;br /&gt;
&lt;br /&gt;
We want to be able to click-and-play a MAME softlist game from QuickPlay and its amazing when you can, but that means setting up MAME for your systems a bit (like setting up a particular systems for your particular joypad, for instance)&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; If you want to know technical details about how to load games on a computer system, open MAMEs menu and look for the dats for the system, you can also [http://www.progettoemma.net/mess/index.html search the MESS info online] In a few cases, the infomation you want might actually be collected against a parent or child, so check those too. Sometimes the information hasn&#039;t been collected in MAME yet, so you have to google&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;these next tips are about the ini and cfg files in MAME, if you want to set up controllers for computer systems (console controls mostly work well in MAME, better than in RetroArch imho):&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Writeconfig in the mame ini has ALWAYS been a problem. [http://docs.mamedev.org/ You should read about ini and cfg files in MAME]. &#039;&#039;&#039;The setting &#039;writeconfig&#039; is actually about the ini files in MAMEs ini directory, not about the .cfg files in the cfg directory&#039;&#039;&#039;. Ideally you want it on (set to 1) so you can change settings to make computers and things work, but once its on everything you do gets saved. The most annoying is that the last game stays loaded in whatever device it was in, causing havoc. To make matters worse, MAME&#039;s ini system is a Class-Object based one, meaning that if you have writeconfig enabled, every time you play a system, a new config is going to get saved based on the current state of the master mame.ini, so you&#039;re going to get lots of subtly different ini files in your ini folder over time.  Ultimately you CAN&#039;T have writeconfig turned on. Turn it off (at the top of mame.ini in MAME&#039;s root folder, set writeconfig to 0 &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  So now you can police the ini files in MAME&#039;s ini directory, you should know the .cfg files in MAME&#039;s cfg directory are mostly useful for setting joypads for each system. There are two choices with MAME now: you can make yourself a controller preset or make yourself a config for each systems, [http://docs.mamedev.org/ see MAME&#039;s own documentation about this]. I only know about not using controller presets, but there is a way if you are using presets to overcome the problem in windows where the GUID of your joypads change if you unplug them - see [http://docs.mamedev.org/advanced/devicemap.html?highlight=controller this link] and [https://github.com/mamedev/mame/issues/1107 this issue]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; don&#039;t bother trying to setup joypads for the early consoles that had a controller with keypad including 1-9 on them, its not worth it, they are all a little bit different in what keys they have and which keys are actually fire. Just forget it&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don&#039;t use controller presets, some tips for configuring joypads in MAMEs .cfg files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; If you don&#039;t use a preset for your controller, you&#039;ll be making a lot of .cfg files, when you need to setup your joypad, be aware you can&#039;t &#039;protect&#039; your configs in this directory in the same way you just did the .ini files when you set writeconfig to off. In order to make sure MAME might not, for instance, decide your second joypad isn&#039;t plugged in and reset all your player 2 controls, you&#039;ll need to, in Windows, set the ini file for that system to be read-only. I&#039;d advise spending some time NOT doing any joypad configuring at first: Just load some softlist games and get a feel for what you might want to change, then one day, plan some time to check each softlist in QuickPlay and get it working as you&#039;d like, then set read-only when its right. Then never worry about it again&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; also if you use the .cfg approach to setting up your joypad, be aware that .cfg files HAVE NO INHERITANCE, whereas .ini files do. This means that if you want to set joypad controls for a2600 and a2600p (the PAL Atari 2600) you need TWO .cfg files, but only one .ini file (for a2600 because a2600p is a &#039;cloneof&#039; a2600 and will read its ini).  I think the reason for this is that the &#039;child&#039; machines of a &#039;parent&#039; system might have any number of differences, but share basic emulation configuration (like whether the keyboard should, by default, map MAMEs controls to it, or whether you need to press a button for it to do that). You can set the same controls for the a2600 and a2600p by just copying the a2600.cfg to a2600p.cfg and altering the machine name in the .cfg itself to read a2600&#039;&#039;&#039;p&#039;&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; so that sounds like a big hassle, right, setting up the joypad for every system? It is...don&#039;t worry about it at first, just load some games for a while with a keyboard to hand, get a feeling for things, and remember that each time you do a new one, a few more hundred games are potentially available to you. So plan to do them in one go: start at the top of the MAME softlists, setup a system&#039;s controls, set the .cfg file as read-only, move on till you are done&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-PV1000.png|500px]]&lt;br /&gt;
[[File:RetroArch-MESS-x68000.png|500px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MESS&amp;diff=3409</id>
		<title>MESS</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MESS&amp;diff=3409"/>
		<updated>2022-03-22T20:19:10Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: added softlist printer screeny&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MAME-MESS-a2600.png|500px]]&lt;br /&gt;
[[File:MAME-MESS-MSX.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Can you describe QuickPlay&#039;s MAME/RetroArch-Mame Support?==&lt;br /&gt;
Within MAME is both all the world&#039;s arcade games, but also a great many home console and home computer games. Its an amazing resource! MAME&#039;s own UI is not great at telling you about the non-arcade stuff, since the MAME/MESS merge a few years back (the home computer and console emulators used to be a separate project entirely, which only produced a MESS binary), its been quite difficult in MAME to actually separate out the systems that are home pc and console from arcade games, which is kind of cool but you need to treat these things very differently. That&#039;s what we do now for QuickPlay. &lt;br /&gt;
&lt;br /&gt;
The [[MAME | arcade machine setup process]] is about helping you to make your own MAME Romdata files, choosing which ROMS you want to present. That&#039;s fine for MAME&#039;s arcade machine games, but I realised long ago that dealing with the home computer and console games is a process of much more basic filtering as well as specialising, and not really for the end user who wants to play games. For instance we have to pick the right Commodore 64 emulator from like 300 in order to load NTSC floppies, we need to make sure that Genesis US isn&#039;t chosen to play MegaDrive Japan games (its region-locked so the game won&#039;t play), we need to make sure that A2600 games get set up against either the PAL and NTSC emulators or the games will look/play wrong, and we need to ensure the Thomson TO7 gets loaded first with the basic cartridge it needed before it could load any games from cassette or floppy disk. And I could go on, and on......Added to these configurations that QuickPlay can do for you, a lot of games in the MAME Software lists (just as in any retro collection!) don&#039;t work, a lot of systems don&#039;t work, or the devices that load games in those devices don&#039;t work. Phew! But, in MAME, there is labelling for things that don&#039;t work, so they can be excluded by QuickPlay before you see them...&lt;br /&gt;
&lt;br /&gt;
So that&#039;s why, for console and home-computer games in MAME, QuickPlay does all the work up front: For every system that says it has working softlists, the games that say they work are available, and the right system setup is used as an emulator call in QuickPlay to get things to load. Here&#039;s C64&#039;s romdata for MAME:&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-c64.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Now do be advised here that MAME is the ultimate &#039;&#039;&#039;emulator&#039;&#039;&#039;, its not a &#039;&#039;&#039;simulator&#039;&#039;&#039;, so to load C64 games you are going to need to google what the load commands were, and use them (actually, often MAME has this information in its own dat files, you can use the UI toggle once you load the system and see if that infomation exists). For cassette games, you are going to have to &#039;press play&#039; on cassette, and then turn throttling off to speed up the game load if you don&#039;t want to wait. MAME has keyboard shortcuts to do all these things just look up its basic documentation, and remember there&#039;s a notes field in the Media Panel in QuickPlay against each system for you to note down how to load things as you go. If that sounds complicated, just think how complicated it feels when you are doing the same thing for the 150th time.....its more like a coffee machine where you press basically the same buttons to make the coffee, only its every brand of coffee for every coffee machine ever made ;-)&lt;br /&gt;
&lt;br /&gt;
QuickPlay approaches the Console and Home PC MAME support very differently from other Frontends. Mostly that&#039;s a product of QuickPlay&#039;s EFinder system, when its so easy to setup and configuring all the MAME emulators in bulk, it leads on to higher-level stuff pretty quickly.  So we are doing filtering and selecting that, as far as i&#039;m aware, you won&#039;t find anywhere else. The idea is to only see games that WORK, to try and make things work if they require extra config, and to allow MAME&#039;s softlists to sit beside all your other retro-game emulators and games&lt;br /&gt;
&lt;br /&gt;
When you do an E-Find scan for MAME emulators after doing a MAME Scan in QuickPlay, you get two kinds of emulators: one kind runs the MAME softlists for a systems (so will be called &#039;A200 NTSC Softlist` and others which are general-purpose emulators (have a look in the &#039;homepage&#039; field in emulator settings for which filetypes these support) so they will be like &#039;A2600 PAL Europe Cart&#039; (i.e.: each &#039;emulator&#039; runs a different device like Cartridge (CART), Cassette (CASS), Floppy Disk (DISC) and so on...&lt;br /&gt;
&lt;br /&gt;
Because RetroArch has a MAME core, everything I just said applies to RetroArch too. All setup and ready to go, you just need to make [[RetroArchMameMod | a couple of config changes to RetroArch]]&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
===Standalone Loading (non softlists)===&lt;br /&gt;
* automatically finds Mame/Mess/UME/Retroarch emulators that you have and sets them up in QuickPlay - not just softlists. Everything!&lt;br /&gt;
* ...but only sets up emulators that actually work&lt;br /&gt;
* Tags each &#039;emulator&#039; with the device it supports, filters out mame &#039;devices&#039; that aren&#039;t about loading games eg: midi, printer &lt;br /&gt;
* Sets up a &#039;type system&#039; to sensibly collect machines of the same type together &lt;br /&gt;
* Gives you some text in the emulator setup to tell you what file extensions the emulator supports&lt;br /&gt;
* Turns machine names into something a little easier than MAME&#039;s very-complete but often very-long names - its &#039;Commodore&#039; not &#039;Commodore Business Machines LLC&#039;&lt;br /&gt;
* Removes machines that don&#039;t have games for them (I looked online, it took ages)&lt;br /&gt;
* For machines which need some kind of media in order to load games (like a basic cartridge), ensures we call those first&lt;br /&gt;
&lt;br /&gt;
===Softlists===&lt;br /&gt;
* Only makes softlists for systems that work, and that have the right device for the softlist, and that device also works&lt;br /&gt;
* Doesn&#039;t make softlist for games that say they don&#039;t work (in the softlist&#039;s hash)&lt;br /&gt;
* removes softlists that have no games, and don&#039;t seem likely to ever have games&lt;br /&gt;
* picks the most suitable emulator to use to run each softlist&lt;br /&gt;
* Sets up the right emulator for the right region in individual softlists (is aware that &#039;Sweden&#039; is in &#039;Europe&#039; and the &#039;Europe&#039; is &#039;PAL&#039;)&lt;br /&gt;
* sets the corresponding icon file in MAME Extras to use for each softlist&lt;br /&gt;
* adds comments for each game that were in the mame xml. Omits Japanese comments&lt;br /&gt;
* Uses retroarch&#039;s &#039;full mame&#039; support, so you aren&#039;t limited to cartridge-console games only&lt;br /&gt;
* tweaks the chosen mame emulators for softlists for computable reasons and non-computable reasons (we want an MSX that non-Japaenese people can load games on)&lt;br /&gt;
* Fixes MAME&#039;s &#039;softlist gamename&#039; conflict problem, where two games on the same system have the same MAME call, but may be for two different media devices (and could be different games eg: SMB2 on NES cart/Famicom disc)&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-to7.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
&lt;br /&gt;
* Firstly make sure MAME/RetroArch are setup correctly to load games themselves (to setup in RetroArch see [[RetroArchMameMod | the instructions for modding RetroArch to use full MAME]])&lt;br /&gt;
* Then please follow the instructions for [[MAME | MAME initial setup in QuickPlay]] to set QuickPlay&#039;s MAME Options up and get yourself a Mame Scan (the MAME Scan sets you up to create both arcade and home computer/console sets). In particular just ignore the section &#039;Arcade and Softlist Printing Options&#039; for now (leave it disabled), and read about the implications of enabling that later in its own section here&lt;br /&gt;
* Notice that when a MAME Scan has finished, you&#039;re advised to do an E-Find Scan - this is because the MAME Scan has found all of the Home Computer and Console Emulators that MAME is capable of running and has made you a MAME efind file (in the Efind folder in QuickPlay&#039;s root directory) customised to your MAME version called Mess_Mame.ini or Mess_RetroArch.ini. So that&#039;s why you now should run a new EFind, because that new E-Find file exists now, so run an efind for all systems in some folder that includes somewhere the MAME or RetroAch executable.&lt;br /&gt;
&lt;br /&gt;
[[File:Efind2.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
* It should find just over 5000 emulators . One reason there are so many is because there is an emulator for each media device a system had (eg: Cassette, Floppy, Cartridge) and ones also for Softlists if the system has a softlist. That&#039;s just how MAME works, you almost always need to specify the media device in the call. The other reason there are so many is that: YOU JUST GOT SOOO MANY NEW WORKING EMULATORS, ALL AT ONCE ;-) Here&#039;s a scan after making both a MAME, and a RetroArch MAME EFind file: &lt;br /&gt;
&lt;br /&gt;
[[File:Efind.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
* Now you have two new things:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; The ability to use MAME&#039;s (non-softlist) emulators to run any rom you like, you can simply use your thousands of new emulators in QuickPlay to load your games! So  [[Adding_Roms | find some roms as normal]] (here&#039;s a tip: check out the homepage field in each (non-softlist) emulator in the emulator setup: it tells you what file formats are supported,  [[Media_Panel | setup the media panel]] for your systems as normal&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:RetroArch-MESS-apple2gs.png|500px]]&lt;br /&gt;
[[File:RetroArch-MESS-Odyssey2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; You got the ability to create the MAME Softlists. So let&#039;s do that now. These are the lists of suppported games for each system that MAME supplies, in QuickPlay we&#039;re going to print out a folder for each system, and inside that folder there will be folders for each softlist that system supports. All you need to do now is pick a source folder that the Softlists are going it get written to. So go into the Roms sidebar (Left hand side of QuickPlay) and make/select a folder to be the root of the Softlist Folders, this can be your existing MAME folder, or any other folder (nothing is written to the root, the only folder that gets printed in the path you select is one called &#039;MAME Softlists&#039; or &#039;Retroarch MAME Softlists&#039; and under that will be...a lot of folders of games ;-) ).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
* Go to &#039;Arcade Roms&#039; &amp;gt; &#039;Print MAME / RetroArch MESS Softlist Romdatas in Current Dir&#039;, select the Mame Emulator you&#039;re going to use to run the games (remember for RetroArch this must be straight &#039;MAME&#039;, not UME, not MESS, not MAME2009 etc) and hit go.&lt;br /&gt;
&lt;br /&gt;
[[File:mame_softlist_printer.png|500px]]&lt;br /&gt;
&lt;br /&gt;
* Everything should &#039;just work now&#039;. Remember that softlist calls just call MAME with a &#039;mameName&#039; like &#039;smb&#039; instead of file path. Which means if it works in MAME, it&#039;ll work in QuickPlay&lt;br /&gt;
&lt;br /&gt;
* Setup the media panel etc to your liking (I find it helps to use the notes field against systems to say how to load Floppys and Cassettes. Although I used to have a C64, I can&#039;t often remember what it needs to load from the floppy (its LOAD &amp;quot;*&#039;,8,1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FAQ===&lt;br /&gt;
&#039;&#039;&#039;If you can setup the folder icons, why can&#039;t you auto-setup the media panel with screenshots, history/trivia and all the other info that MAME provides?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Its definitely possible, but it was too much work to do everything above and then work that out too. The media panel data is encoded with hex and pascal strings and all sorts. Roadmapped for &#039;quite soon&#039;. For now do it yourself. The other problem here is a philosophical one: the more QuickPlay hardcodes the things provided to it by other Frontend/Emulator/Frameworks, the less power you, the user, has to make your own setups in QuickPlay. QuickPlay is not just a MAME Frontend, so if you make your own assets attached to &amp;quot;Commodore 64/128&amp;quot;, we don&#039;t want to overwrite them with MAMEs, assume that MAME has auto-generated them, or try and later pick apart your own additions with MAMEs.  This is a problem in many areas of software: how do you gain automatic configuration, but not lose power to make things of your own?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The softlists aren&#039;t working?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just hit here http://forums.quickplayfrontend.com/ you&#039;ll get help quickly, &#039;&#039;&#039;but before you do, please just check that&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Did you choose the right MAME Emulator in the dialog boxes? Make it as &#039;straight&#039; MAME as you can...&lt;br /&gt;
* Did you first do an EFind to find a MAME Emulator, then run a MAME Scan using that emulator with the MAME XML, then do another EFind to find all those MAME Console and Home Computer Emulators. If your Softlists don&#039;t launch, saying the exe doesn&#039;t exist, that&#039;s probably why.... &lt;br /&gt;
* Does the game you want to play in fact work in MAME/RetroArch outside of QuickPlay? &lt;br /&gt;
* Does it work on the command line?  (You can right click a rom in QuickPlay to show you the command-line its going to run, and right click the command line to copy it)&lt;br /&gt;
&lt;br /&gt;
===Tips===&lt;br /&gt;
* For RetroArch, because I went for the &#039;experimental&#039; command line option to get things working, you have every system, but bear in mind that RetroArch&#039;s configuration takes precedence over MAME&#039;s configuration, which can be good and bad. Its bad when you want to access a keyboard key for a computer but its been mapped to &#039;Fullscreen&#039; in RetroArch for instance (you might still be able to use the MAME menu for lock the keyboard out, haven&#039;t tried yet)&lt;br /&gt;
&lt;br /&gt;
* If you are re-running the softlist-folder generation process because you&#039;ve upgraded to a new version of MAME, &#039;&#039;&#039;please don&#039;t forget after a MAME Scan, to re-run the EFinder and overwrite your current MAME Emulators&#039;&#039;&#039;, or your list of emulators will be out of date for the new softlists you&#039;re about to make - its tempting to just go straight to generating the softlists after a new scan of the MAME XML, but then the softlists that get made won&#039;t agree quite with the emulators you have&lt;br /&gt;
&lt;br /&gt;
===General (non-QuickPlay) advise for setting up MAME for home computers and console games===&lt;br /&gt;
&lt;br /&gt;
We want to be able to click-and-play a MAME softlist game from QuickPlay and its amazing when you can, but that means setting up MAME for your systems a bit (like setting up a particular systems for your particular joypad, for instance)&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; If you want to know technical details about how to load games on a computer system, open MAMEs menu and look for the dats for the system, you can also [http://www.progettoemma.net/mess/index.html search the MESS info online] In a few cases, the infomation you want might actually be collected against a parent or child, so check those too. Sometimes the information hasn&#039;t been collected in MAME yet, so you have to google&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;these next tips are about the ini and cfg files in MAME, if you want to set up controllers for computer systems (console controls mostly work well in MAME, better than in RetroArch imho):&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Writeconfig in the mame ini has ALWAYS been a problem. [http://docs.mamedev.org/ You should read about ini and cfg files in MAME]. &#039;&#039;&#039;The setting &#039;writeconfig&#039; is actually about the ini files in MAMEs ini directory, not about the .cfg files in the cfg directory&#039;&#039;&#039;. Ideally you want it on (set to 1) so you can change settings to make computers and things work, but once its on everything you do gets saved. The most annoying is that the last game stays loaded in whatever device it was in, causing havoc. To make matters worse, MAME&#039;s ini system is a Class-Object based one, meaning that if you have writeconfig enabled, every time you play a system, a new config is going to get saved based on the current state of the master mame.ini, so you&#039;re going to get lots of subtly different ini files in your ini folder over time.  Ultimately you CAN&#039;T have writeconfig turned on. Turn it off (at the top of mame.ini in MAME&#039;s root folder, set writeconfig to 0 &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;  So now you can police the ini files in MAME&#039;s ini directory, you should know the .cfg files in MAME&#039;s cfg directory are mostly useful for setting joypads for each system. There are two choices with MAME now: you can make yourself a controller preset or make yourself a config for each systems, [http://docs.mamedev.org/ see MAME&#039;s own documentation about this]. I only know about not using controller presets, but there is a way if you are using presets to overcome the problem in windows where the GUID of your joypads change if you unplug them - see [http://docs.mamedev.org/advanced/devicemap.html?highlight=controller this link] and [https://github.com/mamedev/mame/issues/1107 this issue]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; don&#039;t bother trying to setup joypads for the early consoles that had a controller with keypad including 1-9 on them, its not worth it, they are all a little bit different in what keys they have and which keys are actually fire. Just forget it&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you don&#039;t use controller presets, some tips for configuring joypads in MAMEs .cfg files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; If you don&#039;t use a preset for your controller, you&#039;ll be making a lot of .cfg files, when you need to setup your joypad, be aware you can&#039;t &#039;protect&#039; your configs in this directory in the same way you just did the .ini files when you set writeconfig to off. In order to make sure MAME might not, for instance, decide your second joypad isn&#039;t plugged in and reset all your player 2 controls, you&#039;ll need to, in Windows, set the ini file for that system to be read-only. I&#039;d advise spending some time NOT doing any joypad configuring at first: Just load some softlist games and get a feel for what you might want to change, then one day, plan some time to check each softlist in QuickPlay and get it working as you&#039;d like, then set read-only when its right. Then never worry about it again&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; also if you use the .cfg approach to setting up your joypad, be aware that .cfg files HAVE NO INHERITANCE, whereas .ini files do. This means that if you want to set joypad controls for a2600 and a2600p (the PAL Atari 2600) you need TWO .cfg files, but only one .ini file (for a2600 because a2600p is a &#039;cloneof&#039; a2600 and will read its ini).  I think the reason for this is that the &#039;child&#039; machines of a &#039;parent&#039; system might have any number of differences, but share basic emulation configuration (like whether the keyboard should, by default, map MAMEs controls to it, or whether you need to press a button for it to do that). You can set the same controls for the a2600 and a2600p by just copying the a2600.cfg to a2600p.cfg and altering the machine name in the .cfg itself to read a2600&#039;&#039;&#039;p&#039;&#039;&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; so that sounds like a big hassle, right, setting up the joypad for every system? It is...don&#039;t worry about it at first, just load some games for a while with a keyboard to hand, get a feeling for things, and remember that each time you do a new one, a few more hundred games are potentially available to you. So plan to do them in one go: start at the top of the MAME softlists, setup a system&#039;s controls, set the .cfg file as read-only, move on till you are done&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:MAME-MESS-PV1000.png|500px]]&lt;br /&gt;
[[File:RetroArch-MESS-x68000.png|500px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MAME&amp;diff=3408</id>
		<title>MAME</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MAME&amp;diff=3408"/>
		<updated>2022-03-22T20:11:08Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: change mame arcade screeny&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAME has got to be the biggest Emulation project in the world ever. MAME&#039;s own UI has improved a lot recently, but its still got some way to go to match the power of a traditional retro-gaming frontend, for instance it only let&#039;s you make a three-filter-combo to search for games, and it can&#039;t integrate any non-mame emulator&#039;s games into what it does. QuickPlay lets you choose things so you can search easily through your game sets, including MAME games, and play them. QuickPlay has two separate processes for MAME: Arcade vs Home-Console/PC - because if you just rely on the MAME Arcade style output  (like MAME&#039;s own UI does) for home computer and console systems, its very hard to know what Console/Home PC games exist in MAME, how to find them, and what games work for them. So let&#039;s cover Arcade here and then you can go to the page on  [[MESS | How to setup the Home Console and Home Computer Systems in MAME / RetroArch MAME]] to set up the home stuff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; QuickPlay does not set MAME/Retroarch&#039;s MAME up for you - so the first thing you have to do is have MAME/RetroArch&#039;s MAME setup correctly so that everything works outside of QuickPlay. There are tons of tutorials online about how to do this. MAME needs to be able to load games and you need to have a MAME Extras directory (it contains things we&#039;ll need like the History.dat and other dat files (in the folder &#039;dats&#039;), ini files like nplayers and mess (in the folder &#039;folders&#039;),  and Icons in the &#039;Icons&#039; folder) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;In particular, make sure you have a good set of ini files (&#039;support files&#039;) in the MAME Extras folder &#039;folders&#039;: files like &amp;lt;b&amp;gt;arcade.ini&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;arcade_NOBIOS.ini&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;mamescore.ini&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;nplayers.ini&amp;lt;/b&amp;gt;, if you didn&#039;t get them with MAME, you can download links for them [http://www.progettosnaps.net/support/ from ProgrettoSnaps], where you can also download the support files pack to put in your &#039;folders&#039; folder (note the last two files there are not included in this pack, you have to download them from the other sites linked). Having these files enables QuickPlay to enrich the metadata it can use to sort MAME files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; If you&#039;ll be setting up Retroarch&#039;s MAME instead of MAME directly, Retroarch&#039;s own MAME calls have been limited so many things aren&#039;t possible, but we CAN tell RetroArch to behave like full MAME very easily: please follow the instuctions in [[RetroarchMameMod]] to add those config settings and make yourself a MAME ini in RetroArch&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run an EFind in QuickPlay [[Quick_Start | (see the Quick Start help page to learn how to do this) ]] to find your Mame or Retroarch Emulator&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:1_EFIND_ARCADE.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Once you have a MAME emulator, go to the &#039;Arcade ROMS&#039; menu and select &#039;Mame Options&#039;, here we need to supply QuickPlay with the things necessary to do a MAME scan: &lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;a Mame XML File - click the link on the page to go to the MAME Github repository to download the XML for the version of MAME you have installed (the same file works for RetroArch&#039;s MAME). once you&#039;ve downloaded that file, unzip it somewhere and link to the XML file here&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;the location of your  MAME Extras directory, and &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt; which of your MAME Emulators you want to use (from the list we just found in the previous step) &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(If this is your first time doing this, just ignore the section &#039;Arcade and Softlist Printing Options&#039; for now. Its got nothing to do with scanning, [[MameFilePaths | read about it later]])&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  hit the button &#039;Choose XML File and Start Scan&#039;. The scan will take some time, and will finish with a popup reminder to do another EFind if you want to print out the Home Console/PC list. Ignore this popup for now (we&#039;re doing the arcade set) and instead note that the MAME version scanned should be in big red letters now, and ok the dialog boxes. Keep ignoring the section &#039;Arcade and Softlist Printing Options&#039;, you can read about that later &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Make a new folder in the &#039;ROMs&#039; sidebar (on the left of QuickPlay) and select it. Our MAME roms will live in here. Now go back into the &#039;Arcade ROMS&#039; menu and hit &#039;Print MAME / RetroArch MAME Romdata in current Folder&#039; &lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:mame_arcade_printer.png|500px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The &#039;Exclude Filters&#039; tickboxes work like this: if you&#039;ve ticked &#039;Mature&#039; then the romdata output will not contain mature games. The tickboes here represent commonly-filtered fields from a MAME set, note things like &#039;Preliminary&#039; and &#039;Clones&#039;, these will filter out games that don&#039;t work and duplicate games. The &#039;Subfolder Collections&#039; tickboxes work like this: if you tick &#039;Genre&#039; then the output folder will have a subfolder in it called Genre, which will contain other subfolders like &#039;Shooter&#039;, &#039;Fighting&#039;, &#039;Driving&#039; etc, and each of those folders will contain a romdata with those MAME games in&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Make your tickbox selections, pick a MAME Emulator from the list of Arcade Emulators, and the romdatas will be printed, depending on your selections this may be very quick or take some time&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:4_ARCADE_SCAN_DONE.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  If you have more specific requirements than the filters that have been exposed, there is an option instead to use MAME File Manager to generate the MAME list. See the [https://github.com/phweda/MFM/releases/ MFM Release]. Printing an MFM list (MFM outputs a flatfile list of MAME names, coulnd&#039;t be simpler) is just like printing a MAME Arcade Romdata from QuickPlay: select a folder to act on and then go to &#039;Arcade ROMS&#039; &amp;gt; &#039;Print MAME File Manager Text File In Current Dir&#039; and Select a MAME emulator&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now we have our MAME romdata, we can setup the [[Media_Panel]]. There are sections for most all of the folders in MAME Extras, and also sections for each of the dat files that make up the &#039;Dats&#039; folder in Mame Extras - turn all of these on in the media panel and point them to their respective folders in your MAME extras. Notice in this screenshot that the Mame Command dat file has been setup with the type &amp;quot;Mame Command Dat File&amp;quot;. Notice also the &#039;for Mame Clones Use parent rom for scan&#039; tickbox, which you generally want on, particularly for screenshots&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:5_ARCADE_MEDIA_PANEL_SETUP.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now notice that its very easy to go back into the &#039;Print MAME / RetroArch MAME Romdata in current Folder&#039; menu item and re-print over the old folder or make a new folder and print a new set of choices in it. It isn&#039;t just intended for you to go there when you upgrade etc, you can even go there every gaming session and make yourself a new set of choices. But please don&#039;t make too many subfolder collections: for intance the &#039;Company&#039; subfolder collection makes hundreds of subfolders and you will see QuickPlay slow down if you print too many of these - in general print as many &#039;Exclude Filters&#039; as you like, but try to have just one set of each &#039;Subfolder Collection&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now go and setup the Home Computer and Console Systems that come with MAME/RetroArch MAME by following [[MESS | How to setup the Home Console and Home Computer Systems in MAME / RetroArch MAME]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:10_FINISHED.png|300px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MAME&amp;diff=3407</id>
		<title>MAME</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MAME&amp;diff=3407"/>
		<updated>2022-03-21T21:29:36Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: change mame options screeny&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAME has got to be the biggest Emulation project in the world ever. MAME&#039;s own UI has improved a lot recently, but its still got some way to go to match the power of a traditional retro-gaming frontend, for instance it only let&#039;s you make a three-filter-combo to search for games, and it can&#039;t integrate any non-mame emulator&#039;s games into what it does. QuickPlay lets you choose things so you can search easily through your game sets, including MAME games, and play them. QuickPlay has two separate processes for MAME: Arcade vs Home-Console/PC - because if you just rely on the MAME Arcade style output  (like MAME&#039;s own UI does) for home computer and console systems, its very hard to know what Console/Home PC games exist in MAME, how to find them, and what games work for them. So let&#039;s cover Arcade here and then you can go to the page on  [[MESS | How to setup the Home Console and Home Computer Systems in MAME / RetroArch MAME]] to set up the home stuff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; QuickPlay does not set MAME/Retroarch&#039;s MAME up for you - so the first thing you have to do is have MAME/RetroArch&#039;s MAME setup correctly so that everything works outside of QuickPlay. There are tons of tutorials online about how to do this. MAME needs to be able to load games and you need to have a MAME Extras directory (it contains things we&#039;ll need like the History.dat and other dat files (in the folder &#039;dats&#039;), ini files like nplayers and mess (in the folder &#039;folders&#039;),  and Icons in the &#039;Icons&#039; folder) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;In particular, make sure you have a good set of ini files (&#039;support files&#039;) in the MAME Extras folder &#039;folders&#039;: files like &amp;lt;b&amp;gt;arcade.ini&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;arcade_NOBIOS.ini&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;mamescore.ini&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;nplayers.ini&amp;lt;/b&amp;gt;, if you didn&#039;t get them with MAME, you can download links for them [http://www.progettosnaps.net/support/ from ProgrettoSnaps], where you can also download the support files pack to put in your &#039;folders&#039; folder (note the last two files there are not included in this pack, you have to download them from the other sites linked). Having these files enables QuickPlay to enrich the metadata it can use to sort MAME files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; If you&#039;ll be setting up Retroarch&#039;s MAME instead of MAME directly, Retroarch&#039;s own MAME calls have been limited so many things aren&#039;t possible, but we CAN tell RetroArch to behave like full MAME very easily: please follow the instuctions in [[RetroarchMameMod]] to add those config settings and make yourself a MAME ini in RetroArch&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run an EFind in QuickPlay [[Quick_Start | (see the Quick Start help page to learn how to do this) ]] to find your Mame or Retroarch Emulator&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:1_EFIND_ARCADE.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Once you have a MAME emulator, go to the &#039;Arcade ROMS&#039; menu and select &#039;Mame Options&#039;, here we need to supply QuickPlay with the things necessary to do a MAME scan: &lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;a Mame XML File - click the link on the page to go to the MAME Github repository to download the XML for the version of MAME you have installed (the same file works for RetroArch&#039;s MAME). once you&#039;ve downloaded that file, unzip it somewhere and link to the XML file here&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;the location of your  MAME Extras directory, and &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt; which of your MAME Emulators you want to use (from the list we just found in the previous step) &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(If this is your first time doing this, just ignore the section &#039;Arcade and Softlist Printing Options&#039; for now. Its got nothing to do with scanning, [[MameFilePaths | read about it later]])&lt;br /&gt;
&lt;br /&gt;
[[File:mame_options_1.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  hit the button &#039;Choose XML File and Start Scan&#039;. The scan will take some time, and will finish with a popup reminder to do another EFind if you want to print out the Home Console/PC list. Ignore this popup for now (we&#039;re doing the arcade set) and instead note that the MAME version scanned should be in big red letters now, and ok the dialog boxes. Keep ignoring the section &#039;Arcade and Softlist Printing Options&#039;, you can read about that later &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Make a new folder in the &#039;ROMs&#039; sidebar (on the left of QuickPlay) and select it. Our MAME roms will live in here. Now go back into the &#039;Arcade ROMS&#039; menu and hit &#039;Print MAME / RetroArch MAME Romdata in current Folder&#039; &lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:3_PRINT_ARCADE_ROMDATA.png|500px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The &#039;Exclude Filters&#039; tickboxes work like this: if you&#039;ve ticked &#039;Mature&#039; then the romdata output will not contain mature games. The tickboes here represent commonly-filtered fields from a MAME set, note things like &#039;Preliminary&#039; and &#039;Clones&#039;, these will filter out games that don&#039;t work and duplicate games. The &#039;Subfolder Collections&#039; tickboxes work like this: if you tick &#039;Genre&#039; then the output folder will have a subfolder in it called Genre, which will contain other subfolders like &#039;Shooter&#039;, &#039;Fighting&#039;, &#039;Driving&#039; etc, and each of those folders will contain a romdata with those MAME games in&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Make your tickbox selections, pick a MAME Emulator from the list of Arcade Emulators, and the romdatas will be printed, depending on your selections this may be very quick or take some time&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:4_ARCADE_SCAN_DONE.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  If you have more specific requirements than the filters that have been exposed, there is an option instead to use MAME File Manager to generate the MAME list. See the [https://github.com/phweda/MFM/releases/ MFM Release]. Printing an MFM list (MFM outputs a flatfile list of MAME names, coulnd&#039;t be simpler) is just like printing a MAME Arcade Romdata from QuickPlay: select a folder to act on and then go to &#039;Arcade ROMS&#039; &amp;gt; &#039;Print MAME File Manager Text File In Current Dir&#039; and Select a MAME emulator&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now we have our MAME romdata, we can setup the [[Media_Panel]]. There are sections for most all of the folders in MAME Extras, and also sections for each of the dat files that make up the &#039;Dats&#039; folder in Mame Extras - turn all of these on in the media panel and point them to their respective folders in your MAME extras. Notice in this screenshot that the Mame Command dat file has been setup with the type &amp;quot;Mame Command Dat File&amp;quot;. Notice also the &#039;for Mame Clones Use parent rom for scan&#039; tickbox, which you generally want on, particularly for screenshots&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:5_ARCADE_MEDIA_PANEL_SETUP.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now notice that its very easy to go back into the &#039;Print MAME / RetroArch MAME Romdata in current Folder&#039; menu item and re-print over the old folder or make a new folder and print a new set of choices in it. It isn&#039;t just intended for you to go there when you upgrade etc, you can even go there every gaming session and make yourself a new set of choices. But please don&#039;t make too many subfolder collections: for intance the &#039;Company&#039; subfolder collection makes hundreds of subfolders and you will see QuickPlay slow down if you print too many of these - in general print as many &#039;Exclude Filters&#039; as you like, but try to have just one set of each &#039;Subfolder Collection&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now go and setup the Home Computer and Console Systems that come with MAME/RetroArch MAME by following [[MESS | How to setup the Home Console and Home Computer Systems in MAME / RetroArch MAME]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:10_FINISHED.png|300px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_arcade_printer.png&amp;diff=3406</id>
		<title>File:Mame arcade printer.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_arcade_printer.png&amp;diff=3406"/>
		<updated>2022-03-21T21:13:39Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_mfm_printer.png&amp;diff=3405</id>
		<title>File:Mame mfm printer.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_mfm_printer.png&amp;diff=3405"/>
		<updated>2022-03-21T21:13:23Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_options_2.png&amp;diff=3404</id>
		<title>File:Mame options 2.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_options_2.png&amp;diff=3404"/>
		<updated>2022-03-21T21:12:38Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_softlist_printer.png&amp;diff=3403</id>
		<title>File:Mame softlist printer.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_softlist_printer.png&amp;diff=3403"/>
		<updated>2022-03-21T21:11:59Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_options_1.png&amp;diff=3402</id>
		<title>File:Mame options 1.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Mame_options_1.png&amp;diff=3402"/>
		<updated>2022-03-21T20:19:17Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3401</id>
		<title>Synctool Guide</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3401"/>
		<updated>2019-10-19T08:58:14Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Synctool Instructions=&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_in_operation.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==What is this?==&lt;br /&gt;
Its a service that will take two folder locations: a &#039;remote&#039; and a &#039;local&#039;, and any rom you ask quickplay to load from your &#039;local&#039; will be compared against the remote - if its absent or different, it will get synced to the local path with the same folders created as existed on the remote - so if I have on my remote location: /sega games/sega saturn/panzer dragoon.zip, I will get /sega games/sega saturn/panzer dragoon.zip on the local location on my laptop. That&#039;s all it is. That&#039;s what it is...&lt;br /&gt;
&lt;br /&gt;
==So why would I want that?==&lt;br /&gt;
because you have some games somewhere other than the computer you&#039;re on right now (probably you&#039;re on a laptop right now and you have some games you own digitised on a NAS box or some kind of online storage), and the laptop doesn&#039;t have enough storage to fit all the games on. &lt;br /&gt;
&lt;br /&gt;
Or more simply if you want to share a single folder of games amongst more than one computer without moving each file to each place before using QuickPlay&lt;br /&gt;
&lt;br /&gt;
Synctool works well if you sync your QuickPlay install via some method between your computers, I like https://freefilesync.org/ for this. Say I have both a home PC and a laptop: if I setup realtime sync from freefilesync to sync my QuickPlay (and emulators), then I turn Synctool on for the laptop, whatever games I add on either computer to a romdata in QuickPlay will be available to both, but on the laptop, the game will sync if its not in the local folder you&#039;ve setup for your games&lt;br /&gt;
&lt;br /&gt;
Basically the big idea is this: If you got a new machine tomorrrow, by using Synctool you could have all your games playable just by getting QuickPlay and some emulators on the machine. If you got used to that way of doing things, then maybe you&#039;d just always keep your games on the remote storage.&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_menuitem.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Right...so come on: who would want this?==&lt;br /&gt;
Well, interestingly there are some considerations here, I can see some people wondering why on earth they would want this, but other people wondering how they ever lived without this. here are some considerations to help decide if this is for you:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Are you a collector?&#039;&#039;&#039;&lt;br /&gt;
If you aren&#039;t a collector, you might wonder why you&#039;d want to have a set of roms on some disk somewhere and be able to get a small subset of those on a device. You only have six games, why would they not fit on your laptop? Or, put more philosophically: if you think its pretty easy to get any game you want anyway without having to actually own them all and have them ripped on a big disk, this def isn&#039;t for you...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your CD/DVD game images zipped?&#039;&#039;&#039;&lt;br /&gt;
This is often found with the above - you aren&#039;t a collector and so you might just have iso or bin/cue files uncompressed, so why would you want a tool that can only sync single files?&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your games in one folder (probably called &#039;Games&#039;)?&#039;&#039;&#039;&lt;br /&gt;
again often the kind of thing a non-collector doesn&#039;t see the use for, but if you have one Games folder, and if its nicely organised by System just like your romdatas in QuickPlay..well. you could try symlinks i guess to make this useful to you...but really we want to sync your nicely organised &#039;Games&#039; folder...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you only ever want to run quickplay at home?&#039;&#039;&#039;&lt;br /&gt;
Maybe you don&#039;t have a laptop, you do but you don&#039;t use it for games, you don&#039;t travel much, or go on holiday often. You live in one room and never compute anywhere else. Then this isn&#039;t for you&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you actually have lots of storage on your laptop?&#039;&#039;&#039;&lt;br /&gt;
lucky you, you probably don&#039;t travel much with your laptop then...it seems as if Moore&#039;s Law has topped out for laptop storage though, there are incredible new media cards, but if your game collection grows over time, its probably a bigger force than Moore&#039;s law is to laptop storage&lt;br /&gt;
&amp;lt;li&amp;gt;  &#039;&#039;&#039;Do you have a remotely-accessible disk with games on, like a NAS box?&#039;&#039;&#039;&lt;br /&gt;
if not, this won&#039;t make any sense....&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How can I use this?==&lt;br /&gt;
You&#039;ll  need some way of having a remote set of games, and they need to be collected together in a single folder. Once you have that all you need to do is be able to map them on your machine somehow. You can use anything you like: Originally i tried to do a WebDAV proxying and caching thing, but i reckoned you&#039;d have some other ideas, you might use VPN, or some kind of remote SMB, or SSH, FTP, SFTP. I like using http://www.netdrive.net/ (not free!) to do the folder mapping for this type of storage, but there are many other ways. You just need to be able to map your remote games folder under a drive or folder on your &#039;laptop&#039;, and have a corresponding folder locally on the laptop where the games are going to go - so drive D:\Games is the remote, and any file under it QuickPlay gets asked to run is going to sync to C:\Games, for instance. &lt;br /&gt;
&lt;br /&gt;
==Understanding the settings file==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_form.PNG|600px]] &lt;br /&gt;
&lt;br /&gt;
There are two ways to &#039;enable&#039; synctool (disabled by default). Firstly you can check the Global Enable. But if you DO sync QuickPlay between multiple PCs, you probably only want synctool enabled on the laptop, and it wil be really annoying to have to keep turning it off on your other machines. Hence you can make a list instead of hostnames to have Synctool enabled for&lt;br /&gt;
&lt;br /&gt;
If you do enable Synctool via one of those methods, then you wil have to have two different paths on your machine to setup as the remote and local&lt;br /&gt;
&lt;br /&gt;
==Understanding the Flip Filepaths menu item==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_flip_menuitem.PNG]] &lt;br /&gt;
&lt;br /&gt;
When you start to use Synctool, you&#039;ll come across the situation where you setup some new games on some machine, probably against your remote location, and you want to make them local so that Synctool will work (and so that QuickPlay will show you which games Synctool has synced locally (which you can see in a romdata file with the romdata missing icon against each romdata entry). You will want to &#039;flip&#039; the filepaths in your romdata so that they change all &#039;remote&#039; locations into &#039;local&#039; ones. You might have setup something elaborate under one folder, so you might want a lot of paths suddenly made local (or remote). So you use this menu item.&lt;br /&gt;
&lt;br /&gt;
Select one of your folders in the sidebar in QuickPlay, and select this option, and in every romdata in that folder or any subfolders under that folder, paths will flip from all remote to all local or vice versa. So you can setup new games against the real roms at the remote location, but then switch the romdata to local, effectively &#039;engaging&#039; synctool. Or you can stop trying to pull games down to your local machine by flipping paths from local to remote, then they will always stay on the NAS (for instance some romset you are bored of but want to keep for reference or something like that)&lt;br /&gt;
&lt;br /&gt;
==What if I run out of room in my destination folder?==&lt;br /&gt;
We fully support symlinks anwhere in the destination path, so just make a symlink to another folder on another drive - this is great for having a nice store of non-disc based games and then a separate place to store images&lt;br /&gt;
&lt;br /&gt;
==Does this replace anything we already had?==&lt;br /&gt;
Actually yes, for years the QuiikPlay CD/DVD Multiloader  has supported something similar for CD/DVD games for particular Emulators of particular Systems. It worked via Symlinks effectively meaning &#039;i want to download this file from the server&#039;, and it put all its downloaded files in the root of C:/QPGame. One thing I found really unsatisfactory about this approach was the games ended up such that you didn&#039;t know what game was for what system. With this new functionality, the folder structure from the &#039;server&#039; is always matinained, so you know what games you have from what system. And QuickPlay will tell you what games exist locally when you look at a Romdata. So now the QuickPlay Multiloader just deals with what it always should have done: unpacking images, working out how to mount them and passing them to Emulators.&lt;br /&gt;
&lt;br /&gt;
==What do I do if I want to cancel a download?==&lt;br /&gt;
It can be that your connection is so slow you give up trying to download an image, you can press ctrl+c to close the terminal session. If it still doesn&#039;t close fast enough you can click to close the command line window (which may not close the window straight away but will kick QuickPlay back to life)&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Currently displaying download progress is impossible, this is a technical limitation of the technology used. We do print the size of the file being downloaded, so if you&#039;re going to download big things, maybe do a speedtest from a website beforehand, and that will give you an idea of how long things might take. The copy itself is the native OS Copy function of Windows, so its fast....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;An interesting situation occurs when you want to right click and look at rom information. Since John never concieved of my idea of syncing roms between locations, he inspects zip files immediately to give QuickPlay and you information about what&#039;s contained in them (some of that information is quite important at the time too), so the availability of the archive in the right-click menu is assumed at running time. So regrettably, synctool has to go fetch the rom before displaying the info. In time this can be fixed, but for now just have a really strong desire to play the game before you right-click and ask for game information ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Just as before, its quite hard to do a cleanup of the partially-downloaded file if it fails. If a download is interrupted, you can of course do a successful downlaod over the top of it. But if you can&#039;t do that, now when you right-click in QuickPlay and choose to &#039;explore ROM directory&#039;, you get taken straight to the partially-downloaded file, so you can delete any partial downloads like that, just a couple of clicks...&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if my server gets corrupted somehow and the game is fine on my local pc?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I lied slightly above, there&#039;s one case in which the ROM will not sync even though the files are different, if the file is smaller on the server. You might have a valid reason for that situation, but generally we&#039;re trying to catch just this situation where something&#039;s happened to the server copy and we might be about to wipe your good copy, this feature should warn you instead...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help - I didn&#039;t want to flip a load of romdatas but i just did?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just run the same flip again and the filepaths will all be back to what they were before&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if I didn&#039;t see what happened and my game hasn&#039;t run&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look in the log file in quickplay&#039;s root:&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_logs.png|600px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3400</id>
		<title>MameFilePaths</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MameFilePaths&amp;diff=3400"/>
		<updated>2019-10-13T20:20:36Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: /* Lanching a game */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:mametool_softlist_filepaths_full.PNG|1000px|left|File Options]]&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Path printing option ==&lt;br /&gt;
In Mame Options, there&#039;s a section &#039;Arcade and Softlist Printing Options&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_options_new.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Before we start, it helps to understand how the MAME functionality in QuickPlay works - so i&#039;ll try and explain how everything gets printed one-time upfront at first, and then remains static:&lt;br /&gt;
&lt;br /&gt;
=== How MAME in QuickPlay works === &lt;br /&gt;
&lt;br /&gt;
First you scan a MAME XML as a one-off thing into QuickPlay, creating a smaller file that QuickPlay uses to print things with. You then tell QuickPlay to print a set of Arcade Romdata files and/or a set of Software List Romdata files, and QuickPlay uses that file it made when it scanned the MAME XML. These romdatas are &#039;printed&#039;, once, in QuickPlays data folder as romdata.dat files and displayed in QuickPlay. If you want to change anything in them, its easiest to just delete them, change some option, and print them again. &lt;br /&gt;
&lt;br /&gt;
So once these romdata files are printed, no more interaction with MAME happens until you actually play games.&lt;br /&gt;
 &lt;br /&gt;
==== Lanching a game ====&lt;br /&gt;
Now you understand how that works, let&#039;s think about what happens when you load a MAME game from QuickPlay&lt;br /&gt;
&lt;br /&gt;
When QuickPlay calls MAME (or MAME-in-RetroArch), it doesn&#039;t &#039;need&#039; filepaths: it calls &#039;mame.exe mamename&#039; where mamename is a code the mame team made up to launch a particular game with (&#039;bublbobl&#039; for the game &#039;Bubble Bobble&#039; for instance). This is the same for arcade or home computers/consoles. There&#039;s a mamename for everything. Of course we can use the (non-softlist) MAME Emulators we found during an EFind scan to try and run any Rom and any romdata in QuickPlay, so its entirely possible to pass MAME filepaths, but when we print off things from the MAME XML, every single game described by the MAME team is given a &#039;mamename&#039;, so we don&#039;t need this.  &lt;br /&gt;
&lt;br /&gt;
So, why might we want to also point to a filepath for these printed romdatas? There are two reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;so that we might launch it with another emulator! If we try and launch a game with no filepath in an emulator that&#039;s not a MAME emulator, it will never work, yet there are many cases where we might want to open a rom the MAME team has collected with some other emulator. For instance the RetroArch team did some great work on a standlone Sharp x6800 emulator that&#039;s much faster than MAME&#039;s emulator right now, so if you have that EFind-ed with QuickPlay, you can right click and launch that&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;So that we can do something with the filepath: in particular in QuickPlay now (after release 4.7.0) we can ask QuickPlay&#039;s [[Synctool_Guide | Synctool]] to fetch the file specified at the filepath from some remote location&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all other MAME functions in QuickPlay, the filePaths functionality doesn&#039;t ever inspect what romfiles you have on your disk, it just prints what the mame.xml says should be the paths. If you want to only print ROMS you have, then look at the MameFileManager option in the Arcade Roms menu.&lt;br /&gt;
&lt;br /&gt;
== Understanding the MAME Printing Options settings ==&lt;br /&gt;
Now you understand how that works, let&#039;s look at the new Arcade and Softlist Printing Options settings. Unusually the options apply the same to both Arcade and Softlist printing (usually they are two very different kinds of thing), that&#039;s why they are in the main Mame Options Menu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Print MAME Filepaths&#039;&#039;&#039; - If you want gain the benefits described above, turn it on! However, there are reasons you might not want to have filepath&#039;s in your romdata: we require that you setup your MAME Rompaths in a certain way to print them (see below), RetroArch has complex MAME requirements so it might be difficult (never impossible!) to get ROM files in the right place and BIOS files in the right place to do what you want, or you might care about only having MAME emulators (entirely possible and awesome in QuickPlay) so you don&#039;t want or need any filePath&#039;s checked at any point. So the filepaths functionality is off by default, just enable it and save if you want to use it when printing romdata files &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Filetype&#039;&#039;&#039; - Usually mame roms are zipped. But its also possible to 7zip your romsets (this saves a bit of space). Altering this setting will literally print either &#039;*.zip&#039; or &#039;*.7z&#039; at the end of each filepath recorded against a MAME Romdata in QuickPlay, so set it to the same format as your roms &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; &#039;&#039;&#039;Mame Roms Merge Type&#039;&#039;&#039; - You can read about this elsewhere: its a fundamental choice for MAME Roms of all kinds (including CHDs) and what type of Roms you have WILL affect what the filepaths are. If you have merged roms your filepaths will always be &#039;parent&#039; names, if you don&#039;t you will first look to load &#039;child&#039; names. You have to know which you have in order for filePath printing to work. (note &#039;fully-merged&#039; is the same as &#039;merged&#039; and any other option name probably means you do not have merged roms). Set this to match the Roms you have on disk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using mame.ini&#039;s rompath variable ==&lt;br /&gt;
The last thing its important to understand, is that QuickPlay will need to find out from MAME what your rompaths are, in order to print them. Now MAME is pretty flexible in how you organise your rompaths, a bit too flexible really, so unless you follow a convention its impossible to know in advance the rompath to any particular rom, but you probably do follow the convention.&lt;br /&gt;
&lt;br /&gt;
In order for filePath printing to work, you need to have the MAME paths read correctly from MAME&#039;s ini file. This currently works if you have a mame.ini/mess.ini in the same directory as the mame executable QuickPlay found in an EFind (or if the ini file is in system/mame/ or systems/mess realtive to the RetorArch executable, in the case of RetroArch)&lt;br /&gt;
&lt;br /&gt;
There are 4 different kinds of ROMS in MAME: &#039;ROMS&#039;, &#039;CHDs&#039;, &#039;Software List ROMS&#039;, and &#039;Software List CHDs&#039;. The folder names are usually called those. QuickPlay will look for folders named exactly as those four, in the rompath variable in your mame.ini, and use those to make the filepaths for those types of ROM when it prints MAME romdatas. &lt;br /&gt;
&lt;br /&gt;
It is also possible to also have all your MAME roms in one folder (usually just called &#039;ROMS&#039;). If there&#039;s only one folder in your rompath variable, QuickPlay will look there for all types of ROMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== tips ==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;If your rompath situation doesn&#039;t match what I just described, and QuickPlay can&#039;t work out what a rompath is going to be, it will fallback to not really printing a rompath and instead print what it always used to &#039;./qp.exe&#039; as the filepath (which effectively means we just don&#039;t know what your rompath is, you&#039;ll have to follow convention to get this working&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Whatever you do for naming your rompaths, be aware that some chd names, particularly Software List CHD names, can be very long. Minimise your path name length to allow for these (e.g.: prefer &#039;D:/Mame/Roms&#039; over &#039;D:/OldGames/AllIndividualEmulators/MAME Assets/Content Files/MAME Gamefiles/MAME ROMS&#039; or you will blow Window&#039;s MAX_PATH limit)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; Filepath printing is supported for RetroArch but there are a large number of factors and potential setups going on (in particular RetroArch require that the bios file for a non-arcade system always can be found in the parent folder of a softlist ROM), so unless you have all your ROMS and in a single folder, you might want to disable filepath printing for Mame-In-Retroarch, or design yourself some symlink mechanism that satisfies that rule. But as long as you follow [[RetroarchMameMod | the guide on how to setup RetroArch for MAME In QuickPlay]] you should have a mame.ini file that QuickPlay will read, so you might have luck!&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
&lt;br /&gt;
=== What is all that extra console output when the romdatas are printing if I choose to print filepaths? ===&lt;br /&gt;
[[File:mametool_arcade_cli_reminders.PNG|200px|thumb|left|arcade is printing]] &lt;br /&gt;
[[File:mametool_softlist_cli_reminders.PNG|200px|thumb|right|softlists are printing]] &lt;br /&gt;
One point of printing filepaths is so we have named files to pass to QuickPlay&#039;s Synctool, but consider this: a romdata entry can contain only one filepath, and so Synctool only syncs one file, which isn&#039;t how MAME really works. With Mame there can also be:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt; BIOS files / device files / parent files - needed for the rom to run&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Other disks to a CHD package - we only print disk 1&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So when there&#039;s some helpful info about other files you could download in order for the romdata item we just printed to run or be fully played, at the moment the best we can do is print that to the console, so ifor now i&#039;ve printed them out, so f you lare able you can open your mametool_logfile.txt and scrape that info out after doing a print and work out some way to copy the necessary files. &lt;br /&gt;
&lt;br /&gt;
[[File:mametool_softlist_log_reminders.PNG|300px|center|border]] &lt;br /&gt;
&lt;br /&gt;
Generally if you have merged roms you just need to get your BIOS/device files onto your local pc somehow. Ultimately, file syncing is best for MAME CHDs because of this issue, you can try and fit your MAME and Softlist Roms on your local machine, and then sync the massively larger CHDs when needed.&lt;br /&gt;
&lt;br /&gt;
=== I tried to run a MAME romdata game with &#039;parameters to run&#039; in a non-MAME Emulator, but it didn&#039;t like the command-line args passed ===&lt;br /&gt;
&lt;br /&gt;
There is a small conflict with the &#039;other-game-name&#039; functionality: mame has a problem where the same &#039;mamename&#039; has been used on, effectively, more than one game for the same system, so if we call a game by its softlist &#039;mamename&#039; only, we might run the wrong rom (eg: the disk Famicom version of Super Mario 2 instead of the NES cart version). in order to fix this, I hardcoded further loading instrucitons (namely which device to load from) in the &#039;parameters to run&#039; against only those items which conflict. However the &#039;parameters to run&#039; in QuickPlay run irrespective of which emulator you choose to run a Romdata item with. Now if you want to run it with a different mame system, which is entirely valid, you might want this, but if you want to run it outside of MAME, you definitely dont. &lt;br /&gt;
&lt;br /&gt;
So if you want to run a game that has mame calls in the &#039;parameters&#039; in the romdata, change its emulator to the one you want, and clear the parameters (or to do this temporarily: right click the rom and clear the parameters before running, and set the MAME emulator back afterwards). &lt;br /&gt;
&lt;br /&gt;
There are two potential fixes to this: either/or make these device calls at the emulator level (so we call the &#039;CART&#039; version of the NES Softlist emulator in MAME) or make it so parameters don&#039;t carry over if you select a different emulator (there would probably have to be an exclusion for &#039;another mame emulator&#039; though...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:mametool_arcade_filepaths.PNG|1000px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3399</id>
		<title>Synctool Guide</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3399"/>
		<updated>2019-10-13T20:18:26Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Synctool Instructions=&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_in_operation.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==What is this?==&lt;br /&gt;
Its a service that will take two folder locations: a &#039;remote&#039; and a &#039;local&#039;, and any rom you ask quickplay to load from your &#039;local&#039; will be compared against the remote - if its absent or different, it will get synced to the local path with the same folders created as existed on the remote - so if I have on my remote location: /sega games/sega saturn/panzer dragoon.zip, I will get /sega games/sega saturn/panzer dragoon.zip on the local location on my laptop. That&#039;s all it is. That&#039;s what it is...&lt;br /&gt;
&lt;br /&gt;
==So why would I want that?==&lt;br /&gt;
because you have some games somewhere other than the computer you&#039;re on right now (probably you&#039;re on a laptop right now and you have some games you own digitised on a NAS box or some kind of online storage), and the laptop doesn&#039;t have enough storage to fit all the games on. &lt;br /&gt;
&lt;br /&gt;
Or more simply if you want to share a single folder of games amongst more than one computer without moving each file to each place before using QuickPlay&lt;br /&gt;
&lt;br /&gt;
Synctool works well if you sync your QuickPlay install via some method between your computers, I like https://freefilesync.org/ for this. Say I have both a home PC and a laptop: if I setup realtime sync from freefilesync to sync my QuickPlay (and emulators), then I turn Synctool on for the laptop, whatever games I add on either computer to a romdata in QuickPlay will be available to both, but on the laptop, the game will sync if its not in the local folder you&#039;ve setup for your games&lt;br /&gt;
&lt;br /&gt;
Basically the big idea is this: If you got a new machine tomorrrow, by using Synctool you could have all your games playable just by getting QuickPlay and some emulators on the machine. If you got used to that way of doing things, then maybe you&#039;d just always keep your games on the remote storage.&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_menuitem.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Right...so come on: who would want this?==&lt;br /&gt;
Well, interestingly there are some considerations here, I can see some people wondering why on earth they would want this, but other people wondering how they ever lived without this. here are some considerations to help decide if this is for you:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Are you a collector?&#039;&#039;&#039;&lt;br /&gt;
If you aren&#039;t a collector, you might wonder why you&#039;d want to have a set of roms on some disk somewhere and be able to get a small subset of those on a device. You only have six games, why would they not fit on your laptop? Or, put more philosophically: if you think its pretty easy to get any game you want anyway without having to actually own them all and have them ripped on a big disk, this def isn&#039;t for you...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your CD/DVD game images zipped?&#039;&#039;&#039;&lt;br /&gt;
This is often found with the above - you aren&#039;t a collector and so you might just have iso or bin/cue files uncompressed, so why would you want a tool that can only sync single files?&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your games in one folder (probably called &#039;Games&#039;)?&#039;&#039;&#039;&lt;br /&gt;
again often the kind of thing a non-collector doesn&#039;t see the use for, but if you have one Games folder, and if its nicely organised by System just like your romdatas in QuickPlay..well. you could try symlinks i guess to make this useful to you...but really we want to sync your nicely organised &#039;Games&#039; folder...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you only ever want to run quickplay at home?&#039;&#039;&#039;&lt;br /&gt;
Maybe you don&#039;t have a laptop, you do but you don&#039;t use it for games, you don&#039;t travel much, or go on holiday often. You live in one room and never compute anywhere else. Then this isn&#039;t for you&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you actually have lots of storage on your laptop?&#039;&#039;&#039;&lt;br /&gt;
lucky you, you probably don&#039;t travel much with your laptop then...it seems as if Moore&#039;s Law has topped out for laptop storage though, there are incredible new media cards, but if your game collection grows over time, its probably a bigger force than Moore&#039;s law is to laptop storage&lt;br /&gt;
&amp;lt;li&amp;gt;  &#039;&#039;&#039;Do you have a remotely-accessible disk with games on, like a NAS box?&#039;&#039;&#039;&lt;br /&gt;
if not, this won&#039;t make any sense....&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How can I use this?==&lt;br /&gt;
You&#039;ll  need some way of having a remote set of games, and they need to be collected together in a single folder. Once you have that all you need to do is be able to map them on your machine somehow. You can use anything you like: Originally i tried to do a WebDAV proxying and caching thing, but i reckoned you&#039;d have some other ideas, you might use VPN, or some kind of remote SMB, or SSH, FTP, SFTP. I like using http://www.netdrive.net/ (not free!) to do the folder mapping for this type of storage, but there are many other ways. You just need to be able to map your remote games folder under a drive or folder on your &#039;laptop&#039;, and have a corresponding folder locally on the laptop where the games are going to go - so drive D:\Games is the remote, and any file under it QuickPlay gets asked to run is going to sync to C:\Games, for instance. &lt;br /&gt;
&lt;br /&gt;
==Understanding the settings file==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_form.PNG|600px]] &lt;br /&gt;
&lt;br /&gt;
There are two ways to &#039;enable&#039; synctool (disabled by default). Firstly you can check the Global Enable. But if you DO sync QuickPlay between multiple PCs, you probably only want synctool enabled on the laptop, and it wil be really annoying to have to keep turning it off on your other machines. Hence you can make a list instead of hostnames to have Synctool enabled for&lt;br /&gt;
&lt;br /&gt;
If you do enable Synctool via one of those methods, then you wil have to have two different paths on your machine to setup as the remote and local&lt;br /&gt;
&lt;br /&gt;
==Understanding the Flip Filepaths menu item==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_flip_menuitem.PNG]] &lt;br /&gt;
&lt;br /&gt;
When you start to use Synctool, you&#039;ll come across the situation where you setup some new games on some machine, probably against your remote location, and you want to make them local so that Synctool will work (and so that QuickPlay will show you which games Synctool has synced locally (which you can see in a romdata file with the romdata missing icon against each romdata entry). You will want to &#039;flip&#039; the filepaths in your romdata so that they change all &#039;remote&#039; locations into &#039;local&#039; ones. You might have setup something elaborate under one folder, so you might want a lot of paths suddenly made local (or remote). So you use this menu item.&lt;br /&gt;
&lt;br /&gt;
Select one of your folders in the sidebar in QuickPlay, and select this option, and in every romdata in that folder or any subfolders under that folder, paths will flip from all remote to all local or vice versa. So you can setup new games against the real roms at the remote location, but then switch the romdata to local, effectively &#039;engaging&#039; synctool. Or you can stop trying to pull games down to your local machine by flipping paths from local to remote, then they will always stay on the NAS (for instance some romset you are bored of but want to keep for reference or something like that)&lt;br /&gt;
&lt;br /&gt;
==What if I run out of room in my destination folder?==&lt;br /&gt;
We fully support symlinks anwhere in the destination path, so just make a symlink to another folder on another drive - this is great for having a nice store of non-disc based games and then a separate place to store images&lt;br /&gt;
&lt;br /&gt;
==Does this replace anything we already had?==&lt;br /&gt;
Actually yes, for years the QuiikPlay CD/DVD Multiloader  has supported something similar for CD/DVD games for particular Emulators of particular Systems. It worked via Symlinks effectively meaning &#039;i want to download this file from the server&#039;, and it put all its downloaded files in the root of C:/QPGame. One thing I found really unsatisfactory about this approach was the games ended up such that you didn&#039;t know what game was for what system. With this new functionality, the folder structure from the &#039;server&#039; is always matinained, so you know what games you have from what system. And QuickPlay will tell you what games exist locally when you look at a Romdata. So now the QuickPlay Multiloader just deals with what it always should have done: unpacking images, working out how to mount them and passing them to Emulators.&lt;br /&gt;
&lt;br /&gt;
==What do I do if I want to cancel a download?==&lt;br /&gt;
It can be that your connection is so slow you give up trying to download an image, you can press ctrl+c to close the terminal session. If it still doesn&#039;t close fast enough you can click to close the command line window (whih may not close the window straight away but will kick QuickPlay back to life&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Currently displaying download progress is impossible, this is a technical limitation of the technology used. We do print the size of the file being downloaded, so if you&#039;re going to download big things, maybe do a speedtest from a website beforehand and that will give you an idea of how long things might take. The copy itself is the native OS copy of Windows, so its fast....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;An interesting situation occurs when you want to right click and look at rom information. Since John never concieved of my idea of syncing roms between locations, he inspects zip files to give QuickPlay and you information about what&#039;s contained in them, some of it is quit important at the time too, and its availability in the right-clikc menu is assumed later at running time. So regrettably synctool has to go fetch the rom before displaying the info. It can be fixed but for now just have a string desire to get the game before you right-click ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Just as before, its quite hard to do a cleanup of the partially-downloaded file if it fails. If a download is interrupted, you can of course do a successful downlaod over the top of it. But if you can&#039;t do that, now when you right-click in QuickPlay and choose to &#039;explore ROM directory&#039; you get taken straight to the partially-downloaded file, so you can delete it that way if you want &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if my server gets corrupted somehow and the game is fine on my local pc?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I lied slightly above, there&#039;s one case in which the ROM will not sync even though the files are different, if the file is smaller on the server. You might have a valid reason for that situation, but generally we&#039;re trying to catch just this situation where something&#039;s happened to the server copy and we might be about to wipe your good copy, this feature should warn you instead...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help - I didn&#039;t want to flip a load of romdatas but i just did?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just run the same flip again and the filepaths will all be back to what they were before&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if I didn&#039;t see what happened and my game hasn&#039;t run&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look in the log file in quickplay&#039;s root:&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_logs.png|600px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=MAME&amp;diff=3398</id>
		<title>MAME</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=MAME&amp;diff=3398"/>
		<updated>2019-10-13T20:02:16Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAME has got to be the biggest Emulation project in the world ever. MAME&#039;s own UI has improved a lot recently, but its still got some way to go to match the power of a traditional retro-gaming frontend, for instance it only let&#039;s you make a three-filter-combo to search for games, and it can&#039;t integrate any non-mame emulator&#039;s games into what it does. QuickPlay lets you choose things so you can search easily through your game sets, including MAME games, and play them. QuickPlay has two separate processes for MAME: Arcade vs Home-Console/PC - because if you just rely on the MAME Arcade style output  (like MAME&#039;s own UI does) for home computer and console systems, its very hard to know what Console/Home PC games exist in MAME, how to find them, and what games work for them. So let&#039;s cover Arcade here and then you can go to the page on  [[MESS | How to setup the Home Console and Home Computer Systems in MAME / RetroArch MAME]] to set up the home stuff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; QuickPlay does not set MAME/Retroarch&#039;s MAME up for you - so the first thing you have to do is have MAME/RetroArch&#039;s MAME setup correctly so that everything works outside of QuickPlay. There are tons of tutorials online about how to do this. MAME needs to be able to load games and you need to have a MAME Extras directory (it contains things we&#039;ll need like the History.dat and other dat files (in the folder &#039;dats&#039;), ini files like nplayers and mess (in the folder &#039;folders&#039;),  and Icons in the &#039;Icons&#039; folder) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;In particular, make sure you have a good set of ini files (&#039;support files&#039;) in the MAME Extras folder &#039;folders&#039;: files like &amp;lt;b&amp;gt;arcade.ini&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;arcade_NOBIOS.ini&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;mamescore.ini&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;nplayers.ini&amp;lt;/b&amp;gt;, if you didn&#039;t get them with MAME, you can download links for them [http://www.progettosnaps.net/support/ from ProgrettoSnaps], where you can also download the support files pack to put in your &#039;folders&#039; folder (note the last two files there are not included in this pack, you have to download them from the other sites linked). Having these files enables QuickPlay to enrich the metadata it can use to sort MAME files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; If you&#039;ll be setting up Retroarch&#039;s MAME instead of MAME directly, Retroarch&#039;s own MAME calls have been limited so many things aren&#039;t possible, but we CAN tell RetroArch to behave like full MAME very easily: please follow the instuctions in [[RetroarchMameMod]] to add those config settings and make yourself a MAME ini in RetroArch&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Run an EFind in QuickPlay [[Quick_Start | (see the Quick Start help page to learn how to do this) ]] to find your Mame or Retroarch Emulator&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:1_EFIND_ARCADE.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Once you have a MAME emulator, go to the &#039;Arcade ROMS&#039; menu and select &#039;Mame Options&#039;, here we need to supply QuickPlay with the things necessary to do a MAME scan: &lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;a Mame XML File - click the link on the page to go to the MAME Github repository to download the XML for the version of MAME you have installed (the same file works for RetroArch&#039;s MAME). once you&#039;ve downloaded that file, unzip it somewhere and link to the XML file here&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;the location of your  MAME Extras directory, and &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt; which of your MAME Emulators you want to use (from the list we just found in the previous step) &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(If this is your first time doing this, just ignore the section &#039;Arcade and Softlist Printing Options&#039; for now. Its got nothing to do with scanning, [[MameFilePaths | read about it later]])&lt;br /&gt;
&lt;br /&gt;
[[File:2_MAME_OPTIONS.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  hit the button &#039;Choose XML File and Start Scan&#039;. The scan will take some time, and will finish with a popup reminder to do another EFind if you want to print out the Home Console/PC list. Ignore this popup for now (we&#039;re doing the arcade set) and instead note that the MAME version scanned should be in big red letters now, and ok the dialog boxes. Keep ignoring the section &#039;Arcade and Softlist Printing Options&#039;, you can read about that later &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Make a new folder in the &#039;ROMs&#039; sidebar (on the left of QuickPlay) and select it. Our MAME roms will live in here. Now go back into the &#039;Arcade ROMS&#039; menu and hit &#039;Print MAME / RetroArch MAME Romdata in current Folder&#039; &lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:3_PRINT_ARCADE_ROMDATA.png|500px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The &#039;Exclude Filters&#039; tickboxes work like this: if you&#039;ve ticked &#039;Mature&#039; then the romdata output will not contain mature games. The tickboes here represent commonly-filtered fields from a MAME set, note things like &#039;Preliminary&#039; and &#039;Clones&#039;, these will filter out games that don&#039;t work and duplicate games. The &#039;Subfolder Collections&#039; tickboxes work like this: if you tick &#039;Genre&#039; then the output folder will have a subfolder in it called Genre, which will contain other subfolders like &#039;Shooter&#039;, &#039;Fighting&#039;, &#039;Driving&#039; etc, and each of those folders will contain a romdata with those MAME games in&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Make your tickbox selections, pick a MAME Emulator from the list of Arcade Emulators, and the romdatas will be printed, depending on your selections this may be very quick or take some time&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:4_ARCADE_SCAN_DONE.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  If you have more specific requirements than the filters that have been exposed, there is an option instead to use MAME File Manager to generate the MAME list. See the [https://github.com/phweda/MFM/releases/ MFM Release]. Printing an MFM list (MFM outputs a flatfile list of MAME names, coulnd&#039;t be simpler) is just like printing a MAME Arcade Romdata from QuickPlay: select a folder to act on and then go to &#039;Arcade ROMS&#039; &amp;gt; &#039;Print MAME File Manager Text File In Current Dir&#039; and Select a MAME emulator&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now we have our MAME romdata, we can setup the [[Media_Panel]]. There are sections for most all of the folders in MAME Extras, and also sections for each of the dat files that make up the &#039;Dats&#039; folder in Mame Extras - turn all of these on in the media panel and point them to their respective folders in your MAME extras. Notice in this screenshot that the Mame Command dat file has been setup with the type &amp;quot;Mame Command Dat File&amp;quot;. Notice also the &#039;for Mame Clones Use parent rom for scan&#039; tickbox, which you generally want on, particularly for screenshots&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:5_ARCADE_MEDIA_PANEL_SETUP.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now notice that its very easy to go back into the &#039;Print MAME / RetroArch MAME Romdata in current Folder&#039; menu item and re-print over the old folder or make a new folder and print a new set of choices in it. It isn&#039;t just intended for you to go there when you upgrade etc, you can even go there every gaming session and make yourself a new set of choices. But please don&#039;t make too many subfolder collections: for intance the &#039;Company&#039; subfolder collection makes hundreds of subfolders and you will see QuickPlay slow down if you print too many of these - in general print as many &#039;Exclude Filters&#039; as you like, but try to have just one set of each &#039;Subfolder Collection&#039;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  Now go and setup the Home Computer and Console Systems that come with MAME/RetroArch MAME by following [[MESS | How to setup the Home Console and Home Computer Systems in MAME / RetroArch MAME]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:10_FINISHED.png|300px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3397</id>
		<title>Synctool Guide</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3397"/>
		<updated>2019-10-13T20:00:01Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Synctool Instructions=&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_in_operation.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==What is this?==&lt;br /&gt;
Its a service that will take two folder locations: a &#039;remote&#039; and a &#039;local&#039;, and any rom you ask quickplay to load from your &#039;local&#039; will be compared against the remote - if its absent or different, it will get synced to the local path with the same folders created as existed on the remote - so if I have on my remote location: /sega games/sega saturn/panzer dragoon.zip, I will get /sega games/sega saturn/panzer dragoon.zip on the local location on my laptop. That&#039;s all it is. That&#039;s what it is...&lt;br /&gt;
&lt;br /&gt;
==So why would I want that?==&lt;br /&gt;
because you have some games somewhere other than the computer you&#039;re on right now (probably you&#039;re on a laptop right now and you have some games you own digitised on a NAS box or some kind of online storage), and the laptop doesn&#039;t have enough storage to fit all the games on. &lt;br /&gt;
&lt;br /&gt;
Or more simply if you want to share a single folder of games amongst more than one computer without moving each file to each place before using QuickPlay&lt;br /&gt;
&lt;br /&gt;
Synctool works well if you sync your QuickPlay install via some method between your computers, I like https://freefilesync.org/ for this. Say I have both a home PC and a laptop: if I setup realtime sync from freefilesync to sync my QuickPlay (and emulators), then I turn Synctool on for the laptop, whatever games I add on either computer to a romdata in QuickPlay will be available to both, but on the laptop, the game will sync if its not in the local folder you&#039;ve setup for your games&lt;br /&gt;
&lt;br /&gt;
Basically the big idea is this: If you got a new machine tomorrrow, by using Synctool you could have all your games playable just by getting QuickPlay and some emulators on the machine. If you got used to that way of doing things, then maybe you&#039;d just always keep your games on the remote storage.&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_menuitem.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Right...so come on: who would want this?==&lt;br /&gt;
Well, interestingly there are some considerations here, I can see some people wondering why on earth they would want this, but other people wondering how they ever lived without this. here are some considerations to help deide if this is for you:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Are you a collector?&#039;&#039;&#039;&lt;br /&gt;
If you aren&#039;t a collector, you might wonder why you&#039;d want to have a set of roms on some disk somewhere and be able to get a small subset of those on a device. You only have six games, why would they not fit on your laptop? Or, put more philosophically: if you think its pretty easy to get any game you want anyway without having to actually own them all and have them ripped on a big disk, this def isn&#039;t for you...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your CD/DVD game images zipped?&#039;&#039;&#039;&lt;br /&gt;
This is often found with the above - you aren&#039;t a collector and so you might just have iso or bin/cue files uncompressed, so why would you want a tool that can only sync single files?&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your games in one folder (probably called &#039;Games&#039;)?&#039;&#039;&#039;&lt;br /&gt;
again often the kind of thing a non-collector doesn&#039;t see the use for, but if you have one Games folder, and if its nicely organised by System just like your romdatas in QuickPlay..well. you could try symlinks i guess to make this useful to you...but really we want to sync your nicely organised &#039;Games&#039; folder...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you only ever want to run quickplay at home?&#039;&#039;&#039;&lt;br /&gt;
Maybe you don&#039;t have a laptop, you do but you don&#039;t use it for games, you don&#039;t travel much, or go on holiday often. You live in one room and never compute anywhere else. Then this isn&#039;t for you&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you actually have lots of storage on your laptop?&#039;&#039;&#039;&lt;br /&gt;
lucky you, you probably don&#039;t travel much with your laptop then...it seems as if Moore&#039;s Law has topped out for laptop storage though, there are incredible new media cards, but if your game collection grows over time, its probably a bigger force than Moore&#039;s law is to laptop storage&lt;br /&gt;
&amp;lt;li&amp;gt;  &#039;&#039;&#039;Do you have a remotely-accessible disk with games on, like a NAS box?&#039;&#039;&#039;&lt;br /&gt;
if not, this won&#039;t make any sense....&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How can I use this?==&lt;br /&gt;
You&#039;ll  need some way of having a remote set of games, and they need to be collected together in a single folder. Once you have that all you need to do is be able to map them on your machine somehow. You can use anything you like: Originally i tried to do a WebDAV proxying and caching thing, but i reckoned you&#039;d have some other ideas, you might use VPN, or some kind of remote SMB, or SSH, FTP, SFTP. I like using NetDrive (not free!) to do the folder mapping for this type of storage, but there are many other ways. You just need to be able to map your remote games folder under a drive or folder on your &#039;laptop&#039;, and have a corresponding folder locally on the laptop where the games are going to go - so drive D:\Games is the remote and its going to sync to C:\Games, for instance. &lt;br /&gt;
&lt;br /&gt;
==Understanding the settings file==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_form.PNG|600px]] &lt;br /&gt;
&lt;br /&gt;
There are two ways to &#039;enable&#039; synctool (disabled by default). Firstly you can check the Global Enable. But if you DO sync QuickPlay between multiple PCs, you probably only want synctool enabled on the laptop, and it wil be really annoying to have to keep turning it off on your other machines. Hence you can make a list instead of hostnames to have Synctool enabled for&lt;br /&gt;
&lt;br /&gt;
If you do enable Synctool via one of those methods, then you wil have to have two different paths on your machine to setup as the remote and local&lt;br /&gt;
&lt;br /&gt;
==Understanding the Flip Filepaths menu item==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_flip_menuitem.PNG]] &lt;br /&gt;
&lt;br /&gt;
When you start to use Synctool, you&#039;ll come across the situation where you setup some new games on some machine, probably against your remote location, and you want to make them local so that Synctool will work (and so that QuickPlay will show you which games Synctool has synced locally (which you can see in a romdata file with the romdata missing icon against each romdata entry). You will want to &#039;flip&#039; the filepaths in your romdata so that they change all &#039;remote&#039; locations into &#039;local&#039; ones. You might have setup something elaborate under one folder, so you might want a lot of paths suddenly made local (or remote). So you use this menu item.&lt;br /&gt;
&lt;br /&gt;
Select one of your folders in the sidebar in QuickPlay, and select this option, and in every romdata in that folder or any subfolders under that folder, paths will flip from all remote to all local or vice versa. So you can setup new games against the real roms at the remote location, but then switch the romdata to local, effectively &#039;engaging&#039; synctool. Or you can stop trying to pull games down to your local machine by flipping paths from local to remote, then they will always stay on the NAS (for instance some romset you are bored of but want to keep for reference or something like that)&lt;br /&gt;
&lt;br /&gt;
==What if I run out of room in my destination folder?==&lt;br /&gt;
We fully support symlinks anwhere in the destination path, so just make a symlink to another folder on another drive - this is great for having a nice store of non-disc based games and then a separate place to store images&lt;br /&gt;
&lt;br /&gt;
==Does this replace anything we already had?==&lt;br /&gt;
Actually yes, for years the QuiikPlay CD/DVD Multiloader  has supported something similar for CD/DVD games for particular Emulators of particular Systems. It worked via Symlinks effectively meaning &#039;i want to download this file from the server&#039;, and it put all its downloaded files in the root of C:/QPGame. One thing I found really unsatisfactory about this approach was the games ended up such that you didn&#039;t know what game was for what system. With this new functionality, the folder structure from the &#039;server&#039; is always matinained, so you know what games you have from what system. And QuickPlay will tell you what games exist locally when you look at a Romdata. So now the QuickPlay Multiloader just deals with what it always should have done: unpacking images, working out how to mount them and passing them to Emulators.&lt;br /&gt;
&lt;br /&gt;
==What do I do if I want to cancel a download?==&lt;br /&gt;
It can be that your connection is so slow you give up trying to download an image, you can press ctrl+c to close the terminal session. If it still doesn&#039;t close fast enough you can click to close the command line window (whih may not close the window straight away but will kick QuickPlay back to life&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Currently displaying download progress is impossible, this is a technical limitation of the technology used. We do print the size of the file being downloaded, so if you&#039;re going to download big things, maybe do a speedtest from a website beforehand and that will give you an idea of how long things might take. The copy itself is the native OS copy of Windows, so its fast....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;An interesting situation occurs when you want to right click and look at rom information. Since John never concieved of my idea of syncing roms between locations, he inspects zip files to give QuickPlay and you information about what&#039;s contained in them, some of it is quit important at the time too, and its availability in the right-clikc menu is assumed later at running time. So regrettably synctool has to go fetch the rom before displaying the info. It can be fixed but for now just have a string desire to get the game before you right-click ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Just as before, its quite hard to do a cleanup of the partially-downloaded file if it fails. If a download is interrupted, you can of course do a successful downlaod over the top of it. But if you can&#039;t do that, now when you right-click in QuickPlay and choose to &#039;explore ROM directory&#039; you get taken straight to the partially-downloaded file, so you can delete it that way if you want &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if my server gets corrupted somehow and the game is fine on my local pc?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I lied slightly above, there&#039;s one case in which the ROM will not sync even though the files are different, if the file is smaller on the server. You might have a valid reason for that situation, but generally we&#039;re trying to catch just this situation where something&#039;s happened to the server copy and we might be about to wipe your good copy, this feature should warn you instead...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help - I didn&#039;t want to flip a load of romdatas but i just did?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just run the same flip again and the filepaths will all be back to what they were before&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if I didn&#039;t see what happened and my game hasn&#039;t run&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look in the log file in quickplay&#039;s root:&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_logs.png|600px]]&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Synctool_in_operation.png&amp;diff=3396</id>
		<title>File:Synctool in operation.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Synctool_in_operation.png&amp;diff=3396"/>
		<updated>2019-10-13T19:55:54Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=File:Synctool_logs.png&amp;diff=3395</id>
		<title>File:Synctool logs.png</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=File:Synctool_logs.png&amp;diff=3395"/>
		<updated>2019-10-13T19:55:34Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3394</id>
		<title>Synctool Guide</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3394"/>
		<updated>2019-10-13T19:29:06Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Synctool Instructions=&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_menuitem.PNG]]&lt;br /&gt;
&lt;br /&gt;
==What is this?==&lt;br /&gt;
Its a service that will take two folder locations: a &#039;remote&#039; and a &#039;local&#039;, and any rom you ask quickplay to load from your &#039;local&#039; will be compared against the remote - if its absent or different, it will get synced to the local path with the same folders created as existed on the remote - so if I have on my remote location: /sega games/sega saturn/panzer dragoon.zip, I will get /sega games/sega saturn/panzer dragoon.zip on the local location on my laptop. That&#039;s all it is. That&#039;s what it is...&lt;br /&gt;
&lt;br /&gt;
==So why would I want that?==&lt;br /&gt;
because you have some games somewhere other than the computer you&#039;re on right now (probably you&#039;re on a laptop right now and you have some games you own digitised on a NAS box or some kind of online storage), and the laptop doesn&#039;t have enough storage to fit all the games on. &lt;br /&gt;
&lt;br /&gt;
Or more simply if you want to share a single folder of games amongst more than one computer without moving each file to each place before using QuickPlay&lt;br /&gt;
&lt;br /&gt;
Synctool works well if you sync your QuickPlay install via some method between your computers, I like https://freefilesync.org/ for this. Say I have both a home PC and a laptop: if I setup realtime sync from freefilesync to sync my QuickPlay (and emulators), then I turn Synctool on for the laptop, whatever games I add on either computer to a romdata in QuickPlay will be available to both, but on the laptop, the game will sync if its not in the local folder you&#039;ve setup for your games&lt;br /&gt;
&lt;br /&gt;
Basically the big idea is this: If you got a new machine tomorrrow, by using Synctool you could have all your games playable just by getting QuickPlay and some emulators on the machine. If you got used to that way of doing things, then maybe you&#039;d just always keep your games on the remote storage.&lt;br /&gt;
&lt;br /&gt;
==Right...so come on: who would want this?==&lt;br /&gt;
Well, interestingly there are some considerations here, I can see some people wondering why on earth they would want this, but other people wondering how they ever lived without this. here are some considerations to help deide if this is for you:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Are you a collector?&#039;&#039;&#039;&lt;br /&gt;
If you aren&#039;t a collector, you might wonder why you&#039;d want to have a set of roms on some disk somewhere and be able to get a small subset of those on a device. You only have six games, why would they not fit on your laptop? Or, put more philosophically: if you think its pretty easy to get any game you want anyway without having to actually own them all and have them ripped on a big disk, this def isn&#039;t for you...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your CD/DVD game images zipped?&#039;&#039;&#039;&lt;br /&gt;
This is often found with the above - you aren&#039;t a collector and so you might just have iso or bin/cue files uncompressed, so why would you want a tool that can only sync single files?&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your games in one folder (probably called &#039;Games&#039;)?&#039;&#039;&#039;&lt;br /&gt;
again often the kind of thing a non-collector doesn&#039;t see the use for, but if you have one Games folder, and if its nicely organised by System just like your romdatas in QuickPlay..well. you could try symlinks i guess to make this useful to you...but really we want to sync your nicely organised &#039;Games&#039; folder...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you only ever want to run quickplay at home?&#039;&#039;&#039;&lt;br /&gt;
Maybe you don&#039;t have a laptop, you do but you don&#039;t use it for games, you don&#039;t travel much, or go on holiday often. You live in one room and never compute anywhere else. Then this isn&#039;t for you&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you actually have lots of storage on your laptop?&#039;&#039;&#039;&lt;br /&gt;
lucky you, you probably don&#039;t travel much with your laptop then...it seems as if Moore&#039;s Law has topped out for laptop storage though, there are incredible new media cards, but if your game collection grows over time, its probably a bigger force than Moore&#039;s law is to laptop storage&lt;br /&gt;
&amp;lt;li&amp;gt;  &#039;&#039;&#039;Do you have a remotely-accessible disk with games on, like a NAS box?&#039;&#039;&#039;&lt;br /&gt;
if not, this won&#039;t make any sense....&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How can I use this?==&lt;br /&gt;
You&#039;ll  need some way of having a remote set of games, and they need to be collected together in a single folder. Once you have that all you need to do is be able to map them on your machine somehow. You can use anything you like: Originally i tried to do a WebDAV proxying and caching thing, but i reckoned you&#039;d have some other ideas, you might use VPN, or some kind of remote SMB, or SSH, FTP, SFTP. I like using NetDrive (not free!) to do the folder mapping for this type of storage, but there are many other ways. You just need to be able to map your remote games folder under a drive or folder on your &#039;laptop&#039;, and have a corresponding folder locally on the laptop where the games are going to go - so drive D:\Games is the remote and its going to sync to C:\Games, for instance. &lt;br /&gt;
&lt;br /&gt;
==Understanding the settings file==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_form.PNG|600px]] &lt;br /&gt;
&lt;br /&gt;
There are two ways to &#039;enable&#039; synctool (disabled by default). Firstly you can check the Global Enable. But if you DO sync QuickPlay between multiple PCs, you probably only want synctool enabled on the laptop, and it wil be really annoying to have to keep turning it off on your other machines. Hence you can make a list instead of hostnames to have Synctool enabled for&lt;br /&gt;
&lt;br /&gt;
If you do enable Synctool via one of those methods, then you wil have to have two different paths on your machine to setup as the remote and local&lt;br /&gt;
&lt;br /&gt;
==Understanding the Flip Filepaths menu item==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_flip_menuitem.PNG]] &lt;br /&gt;
&lt;br /&gt;
When you start to use Synctool, you&#039;ll come across the situation where you setup some new games on some machine, probably against your remote location, and you want to make them local so that Synctool will work (and so that QuickPlay will show you which games Synctool has synced locally (which you can see in a romdata file with the romdata missing icon against each romdata entry). You will want to &#039;flip&#039; the filepaths in your romdata so that they change all &#039;remote&#039; locations into &#039;local&#039; ones. You might have setup something elaborate under one folder, so you might want a lot of paths suddenly made local (or remote). So you use this menu item.&lt;br /&gt;
&lt;br /&gt;
Select one of your folders in the sidebar in QuickPlay, and select this option, and in every romdata in that folder or any subfolders under that folder, paths will flip from all remote to all local or vice versa. So you can setup new games against the real roms at the remote location, but then switch the romdata to local, effectively &#039;engaging&#039; synctool. Or you can stop trying to pull games down to your local machine by flipping paths from local to remote, then they will always stay on the NAS (for instance some romset you are bored of but want to keep for reference or something like that)&lt;br /&gt;
&lt;br /&gt;
==What if I run out of room in my destination folder?==&lt;br /&gt;
We fully support symlinks anwhere in the destination path, so just make a symlink to another folder on another drive - this is great for having a nice store of non-disc based games and then a separate place to store images&lt;br /&gt;
&lt;br /&gt;
==Does this replace anything we already had?==&lt;br /&gt;
Actually yes, for years the QuiikPlay CD/DVD Multiloader  has supported something similar for CD/DVD games for particular Emulators of particular Systems. It worked via Symlinks effectively meaning &#039;i want to download this file from the server&#039;, and it put all its downloaded files in the root of C:/QPGame. One thing I found really unsatisfactory about this approach was the games ended up such that you didn&#039;t know what game was for what system. With this new functionality, the folder structure from the &#039;server&#039; is always matinained, so you know what games you have from what system. And QuickPlay will tell you what games exist locally when you look at a Romdata. So now the QuickPlay Multiloader just deals with what it always should have done: unpacking images, working out how to mount them and passing them to Emulators.&lt;br /&gt;
&lt;br /&gt;
==What do I do if I want to cancel a download?==&lt;br /&gt;
It can be that your connection is so slow you give up trying to download an image, you can press ctrl+c to close the terminal session. If it still doesn&#039;t close fast enough you can click to close the command line window (whih may not close the window straight away but will kick QuickPlay back to life&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Currently displaying download progress is impossible, this is a technical limitation of the technology used. We do print the size of the file being downloaded, so if you&#039;re going to download big things, maybe do a speedtest from a website beforehand and that will give you an idea of how long things might take. The copy itself is the native OS copy of Windows, so its fast....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;An interesting situation occurs when you want to right click and look at rom information. Since John never concieved of my idea of syncing roms between locations, he inspects zip files to give QuickPlay and you information about what&#039;s contained in them, some of it is quit important at the time too, and its availability in the right-clikc menu is assumed later at running time. So regrettably synctool has to go fetch the rom before displaying the info. It can be fixed but for now just have a string desire to get the game before you right-click ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Just as before, its quite hard to do a cleanup of the partially-downloaded file if it fails. If a download is interrupted, you can of course do a successful downlaod over the top of it. But if you can&#039;t do that, now when you right-click in QuickPlay and choose to &#039;explore ROM directory&#039; you get taken straight to the partially-downloaded file, so you can delete it that way if you want &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if my server gets corrupted somehow and the game is fine on my local pc?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I lied slightly above, there&#039;s one case in which the ROM will not sync even though the files are different, if the file is smaller on the server. You might have a valid reason for that situation, but generally we&#039;re trying to catch just this situation where something&#039;s happened to the server copy and we might be about to wipe your good copy, this feature should warn you instead...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help - I didn&#039;t want to flip a load of romdatas but i just did?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just run the same flip again and the filepaths will all be back to what they were before&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3393</id>
		<title>Synctool Guide</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3393"/>
		<updated>2019-10-13T19:28:03Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Synctool Instructions=&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_menuitem.PNG]]&lt;br /&gt;
&lt;br /&gt;
==What is this?==&lt;br /&gt;
Its a service that will take two folder locations: a &#039;remote&#039; and a &#039;local&#039;, and any rom you ask quickplay to load from your &#039;local&#039; will be compared against the remote - if its absent or different, it will get synced to the local path with the same folders created as existed on the remote - so if I have on my remote location: /sega games/sega saturn/panzer dragoon.zip, I will get /sega games/sega saturn/panzer dragoon.zip on the local location on my laptop. That&#039;s all it is. That&#039;s what it is...&lt;br /&gt;
&lt;br /&gt;
==So why would I want that?==&lt;br /&gt;
because you have some games somewhere other than the computer you&#039;re on right now (probably you&#039;re on a laptop right now and you have some games you own digitised on a NAS box or some kind of online storage), and the laptop doesn&#039;t have enough storage to fit all the games on. &lt;br /&gt;
&lt;br /&gt;
Or more simply if you want to share a single folder of games amongst more than one computer without moving each file to each place before using QuickPlay&lt;br /&gt;
&lt;br /&gt;
Synctool works well if you sync your QuickPlay install via some method between your computers, I like https://freefilesync.org/ for this. Say I have both a home PC and a laptop: if I setup realtime sync from freefilesync to sync my QuickPlay (and emulators), then I turn Synctool on for the laptop, whatever games I add on either computer to a romdata in QuickPlay will be available to both, but on the laptop, the game will sync if its not in the local folder you&#039;ve setup for your games&lt;br /&gt;
&lt;br /&gt;
Basically the big idea is this: If you got a new machine tomorrrow, by using Synctool you could have all your games playable just by getting QuickPlay and some emulators on the machine. If you got used to that way of doing things, then maybe you&#039;d just always keep your games on the remote storage.&lt;br /&gt;
&lt;br /&gt;
==Right...so come on: who would want this?==&lt;br /&gt;
Well, interestingly there are some considerations here, I can see some people wondering why on earth they would want this, but other people wondering how they ever lived without this. here are some considerations to help deide if this is for you:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Are you a collector?&#039;&#039;&#039;&lt;br /&gt;
If you aren&#039;t a collector, you might wonder why you&#039;d want to have a set of roms on some disk somewhere and be able to get a small subset of those on a device. You only have six games, why would they not fit on your laptop? Or, put more philosophically: if you think its pretty easy to get any game you want anyway without having to actually own them all and have them ripped on a big disk, this def isn&#039;t for you...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your CD/DVD game images zipped?&#039;&#039;&#039;&lt;br /&gt;
This is often found with the above - you aren&#039;t a collector and so you might just have iso or bin/cue files uncompressed, so why would you want a tool that can only sync single files?&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your games in one folder (probably called &#039;Games&#039;)?&#039;&#039;&#039;&lt;br /&gt;
again often the kind of thing a non-collector doesn&#039;t see the use for, but if you have one Games folder, and if its nicely organised by System just like your romdatas in QuickPlay..well. you could try symlinks i guess to make this useful to you...but really we want to sync your nicely organised &#039;Games&#039; folder...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you only ever want to run quickplay at home?&#039;&#039;&#039;&lt;br /&gt;
Maybe you don&#039;t have a laptop, you do but you don&#039;t use it for games, you don&#039;t travel much, or go on holiday often. You live in one room and never compute anywhere else. Then this isn&#039;t for you&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you actually have lots of storage on your laptop?&#039;&#039;&#039;&lt;br /&gt;
lucky you, you probably don&#039;t travel much with your laptop then...it seems as if Moore&#039;s Law has topped out for laptop storage though, there are incredible new media cards, but if your game collection grows over time, its probably a bigger force than Moore&#039;s law is to laptop storage&lt;br /&gt;
&amp;lt;li&amp;gt;  &#039;&#039;&#039;Do you have a remotely-accessible disk with games on, like a NAS box?&#039;&#039;&#039;&lt;br /&gt;
if not, this won&#039;t make any sense....&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How can I use this?==&lt;br /&gt;
You&#039;ll  need some way of having a remote set of games, and they need to be collected together in a single folder. Once you have that all you need to do is be able to map them on your machine somehow. You can use anything you like: Originally i tried to do a WebDAV proxying and caching thing, but i reckoned you&#039;d have some other ideas, you might use VPN, or some kind of remote SMB, or SSH, FTP, SFTP. I like using NetDrive (not free!) to do the folder mapping for this type of storage, but there are many other ways. You just need to be able to map your remote games folder under a drive or folder on your &#039;laptop&#039;, and have a corresponding folder locally on the laptop where the games are going to go - so drive D:\Games is the remote and its going to sync to C:\Games, for instance. &lt;br /&gt;
&lt;br /&gt;
==Understanding the settings file==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_form.PNG|600px]] &lt;br /&gt;
&lt;br /&gt;
There are two ways to &#039;enable&#039; synctool (disabled by default). Firstly you can check the Global Enable. But if you DO sync QuickPlay between multiple PCs, you probably only want synctool enabled on the laptop, and it wil be really annoying to have to keep turning it off on your other machines. Hence you can make a list instead of hostnames to have Synctool enabled for&lt;br /&gt;
&lt;br /&gt;
If you do enable Synctool via one of those methods, then you wil have to have two different paths on your machine to setup as the remote and local&lt;br /&gt;
&lt;br /&gt;
==Understanding the Flip Filepaths menu item==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_flip_menuitem.PNG]] &lt;br /&gt;
&lt;br /&gt;
When you start to use Synctool, you&#039;ll come across the situation where you setup some new games on some machine, probably against your remote location, and you want to make them local so that Synctool will work (and so that QuickPlay will show you which games Synctool has synced locally (which you can see in a romdata file with the romdata missing icon against each romdata entry). You will want to &#039;flip&#039; the filepaths in your romdata so that they change all &#039;remote&#039; locations into &#039;local&#039; ones. You might have setup something elaborate under one folder, so you might want a lot of paths suddenly made local (or remote). So you use this menu item.&lt;br /&gt;
&lt;br /&gt;
Select one of your folders in the sidebar in QuickPlay, and select this option, and in every romdata in that folder or any subfolders under that folder, paths will flip from all remote to all local or vice versa. So you can setup new games against the real roms at the remote location, but then switch the romdata to local, effectively &#039;engaging&#039; synctool. Or you can stop trying to pull games down to your local machine by flipping paths from local to remote, then they will always stay on the NAS (for instance some romset you are bored of but want to keep for reference or something like that)&lt;br /&gt;
&lt;br /&gt;
==What if I run out of room in my destination folder?==&lt;br /&gt;
We fully support symlinks anwhere in the destination path, so just make a symlink to another folder on another drive - this is great for having a nice store of non-disc based games and then a separate place to store images&lt;br /&gt;
&lt;br /&gt;
==Does this replace anything we already had?==&lt;br /&gt;
Actually yes, for years the QuiikPlay CD/DVD Multiloader  has supported something similar for CD/DVD games for particular Emulators of particular Systems. It worked via Symlinks effectively meaning &#039;i want to download this file from the server&#039;, and it put all its downloaded files in the root of C:/QPGame. One thing I found really unsatisfactory about this approach was the games ended up such that you didn&#039;t know what game was for what system. With this new functionality, the folder structure from the &#039;server&#039; is always matinained, so you know what games you have from what system. And QuickPlay will tell you what games exist locally when you look at a Romdata. So now the QuickPlay Multiloader just deals with what it always should have done: unpacking images, working out how to mount them and passing them to Emulators.&lt;br /&gt;
&lt;br /&gt;
==What do I do if I want to cancel a download?==&lt;br /&gt;
It can be that your connection is so slow you give up trying to download an image, you can press ctrl+c to close the terminal session. If it still doesn&#039;t close fast enough you can click to close the command line window (whih may not close the window straight away but will kick QuickPlay back to life&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Currently displaying download progress is impossible, this is a technical limitation of the technology used. We do print the size of the file being downloaded, so if you&#039;re going to download big things, maybe do a speedtest from a website beforehand and that will give you an idea of how long things might take. The copy itself is the native OS copy of Windows, so its fast....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;An interesting situation occurs when you want to right click and look at rom information. Since John never concieved of my idea of syncing roms between locations, he inspects zip files to give QuickPlay and you information about what&#039;s contained in them, some of it is quit important at the time too, and its availability in the right-clikc menu is assumed later at running time. So regrettably synctool has to go fetch the rom before displaying the info. It can be fixed but for now just have a string desire to get the game before you right-click ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Just as before, its quite hard to do a cleanup of the partially-downloaded file if it fails. If a download is interrupted, you can of course do a successful downlaod over the top of it. But if you can&#039;t do that, now when you right-click in QuickPlay and choose to &#039;explore ROM directory&#039; you get taken straight to the partially-downloaded file, so you can delete it that way if you want &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What if my server gets corrupted somehow and the game is fine on my local pc?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I lied slightly above, there&#039;s one case in which the ROM will not sync even though the files are different, if the file is smaller on the server. You might have a valid reason for that situation, but generally i&#039;m trying to catch just this situation where something&#039;s happened to the server copy and we might be about to wipe your good copy, this should warn you instead...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help - I didn&#039;t want to flip a load of romdatas but i just did?&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just run the same flip again and the filepaths will all be back to what they were before&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
	<entry>
		<id>http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3392</id>
		<title>Synctool Guide</title>
		<link rel="alternate" type="text/html" href="http://quickplay.sourceforge.net/wiki/index.php?title=Synctool_Guide&amp;diff=3392"/>
		<updated>2019-10-13T19:27:34Z</updated>

		<summary type="html">&lt;p&gt;Butter100fly: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Synctool Instructions=&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_menuitem.PNG]]&lt;br /&gt;
&lt;br /&gt;
==What is this?==&lt;br /&gt;
Its a service that will take two folder locations: a &#039;remote&#039; and a &#039;local&#039;, and any rom you ask quickplay to load from your &#039;local&#039; will be compared against the remote - if its absent or different, it will get synced to the local path with the same folders created as existed on the remote - so if I have on my remote location: /sega games/sega saturn/panzer dragoon.zip, I will get /sega games/sega saturn/panzer dragoon.zip on the local location on my laptop. That&#039;s all it is. That&#039;s what it is...&lt;br /&gt;
&lt;br /&gt;
==So why would I want that?==&lt;br /&gt;
because you have some games somewhere other than the computer you&#039;re on right now (probably you&#039;re on a laptop right now and you have some games you own digitised on a NAS box or some kind of online storage), and the laptop doesn&#039;t have enough storage to fit all the games on. &lt;br /&gt;
&lt;br /&gt;
Or more simply if you want to share a single folder of games amongst more than one computer without moving each file to each place before using QuickPlay&lt;br /&gt;
&lt;br /&gt;
Synctool works well if you sync your QuickPlay install via some method between your computers, I like https://freefilesync.org/ for this. Say I have both a home PC and a laptop: if I setup realtime sync from freefilesync to sync my QuickPlay (and emulators), then I turn Synctool on for the laptop, whatever games I add on either computer to a romdata in QuickPlay will be available to both, but on the laptop, the game will sync if its not in the local folder you&#039;ve setup for your games&lt;br /&gt;
&lt;br /&gt;
Basically the big idea is this: If you got a new machine tomorrrow, by using Synctool you could have all your games playable just by getting QuickPlay and some emulators on the machine. If you got used to that way of doing things, then maybe you&#039;d just always keep your games on the remote storage.&lt;br /&gt;
&lt;br /&gt;
==Right...so come on: who would want this?==&lt;br /&gt;
Well, interestingly there are some considerations here, I can see some people wondering why on earth they would want this, but other people wondering how they ever lived without this. here are some considerations to help deide if this is for you:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Are you a collector?&#039;&#039;&#039;&lt;br /&gt;
If you aren&#039;t a collector, you might wonder why you&#039;d want to have a set of roms on some disk somewhere and be able to get a small subset of those on a device. You only have six games, why would they not fit on your laptop? Or, put more philosophically: if you think its pretty easy to get any game you want anyway without having to actually own them all and have them ripped on a big disk, this def isn&#039;t for you...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your CD/DVD game images zipped?&#039;&#039;&#039;&lt;br /&gt;
This is often found with the above - you aren&#039;t a collector and so you might just have iso or bin/cue files uncompressed, so why would you want a tool that can only sync single files?&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you have all your games in one folder (probably called &#039;Games&#039;)?&#039;&#039;&#039;&lt;br /&gt;
again often the kind of thing a non-collector doesn&#039;t see the use for, but if you have one Games folder, and if its nicely organised by System just like your romdatas in QuickPlay..well. you could try symlinks i guess to make this useful to you...but really we want to sync your nicely organised &#039;Games&#039; folder...&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you only ever want to run quickplay at home?&#039;&#039;&#039;&lt;br /&gt;
Maybe you don&#039;t have a laptop, you do but you don&#039;t use it for games, you don&#039;t travel much, or go on holiday often. You live in one room and never compute anywhere else. Then this isn&#039;t for you&lt;br /&gt;
&amp;lt;li&amp;gt; &#039;&#039;&#039;Do you actually have lots of storage on your laptop?&#039;&#039;&#039;&lt;br /&gt;
lucky you, you probably don&#039;t travel much with your laptop then...it seems as if Moore&#039;s Law has topped out for laptop storage though, there are incredible new media cards, but if your game collection grows over time, its probably a bigger force than Moore&#039;s law is to laptop storage&lt;br /&gt;
&amp;lt;li&amp;gt;  &#039;&#039;&#039;Do you have a remotely-accessible disk with games on, like a NAS box?&#039;&#039;&#039;&lt;br /&gt;
if not, this won&#039;t make any sense....&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How can I use this?==&lt;br /&gt;
You&#039;ll  need some way of having a remote set of games, and they need to be collected together in a single folder. Once you have that all you need to do is be able to map them on your machine somehow. You can use anything you like: Originally i tried to do a WebDAV proxying and caching thing, but i reckoned you&#039;d have some other ideas, you might use VPN, or some kind of remote SMB, or SSH, FTP, SFTP. I like using NetDrive (not free!) to do the folder mapping for this type of storage, but there are many other ways. You just need to be able to map your remote games folder under a drive or folder on your &#039;laptop&#039;, and have a corresponding folder locally on the laptop where the games are going to go - so drive D:\Games is the remote and its going to sync to C:\Games, for instance. &lt;br /&gt;
&lt;br /&gt;
==Understanding the settings file==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_options_form.PNG|600px]] &lt;br /&gt;
&lt;br /&gt;
There are two ways to &#039;enable&#039; synctool (disabled by default). Firstly you can check the Global Enable. But if you DO sync QuickPlay between multiple PCs, you probably only want synctool enabled on the laptop, and it wil be really annoying to have to keep turning it off on your other machines. Hence you can make a list instead of hostnames to have Synctool enabled for&lt;br /&gt;
&lt;br /&gt;
If you do enable Synctool via one of those methods, then you wil have to have two different paths on your machine to setup as the remote and local&lt;br /&gt;
&lt;br /&gt;
==Understanding the Flip Filepaths menu item==&lt;br /&gt;
&lt;br /&gt;
[[File:synctool_flip_menuitem.PNG]] &lt;br /&gt;
&lt;br /&gt;
When you start to use Synctool, you&#039;ll come across the situation where you setup some new games on some machine, probably against your remote location, and you want to make them local so that Synctool will work (and so that QuickPlay will show you which games Synctool has synced locally (which you can see in a romdata file with the romdata missing icon against each romdata entry). You will want to &#039;flip&#039; the filepaths in your romdata so that they change all &#039;remote&#039; locations into &#039;local&#039; ones. You might have setup something elaborate under one folder, so you might want a lot of paths suddenly made local (or remote). So you use this menu item.&lt;br /&gt;
&lt;br /&gt;
Select one of your folders in the sidebar in QuickPlay, and select this option, and in every romdata in that folder or any subfolders under that folder, paths will flip from all remote to all local or vice versa. So you can setup new games against the real roms at the remote location, but then switch the romdata to local, effectively &#039;engaging&#039; synctool. Or you can stop trying to pull games down to your local machine by flipping paths from local to remote, then they will always stay on the NAS (for instance some romset you are bored of but want to keep for reference or something like that)&lt;br /&gt;
&lt;br /&gt;
==What if I run out of room in my destination folder?==&lt;br /&gt;
We fully support symlinks anwhere in the destination path, so just make a symlink to another folder on another drive - this is great for having a nice store of non-disc based games and then a separate place to store images&lt;br /&gt;
&lt;br /&gt;
==Does this replace anything we already had?==&lt;br /&gt;
Actually yes, for years the QuiikPlay CD/DVD Multiloader  has supported something similar for CD/DVD games for particular Emulators of particular Systems. It worked via Symlinks effectively meaning &#039;i want to download this file from the server&#039;, and it put all its downloaded files in the root of C:/QPGame. One thing I found really unsatisfactory about this approach was the games ended up such that you didn&#039;t know what game was for what system. With this new functionality, the folder structure from the &#039;server&#039; is always matinained, so you know what games you have from what system. And QuickPlay will tell you what games exist locally when you look at a Romdata. So now the QuickPlay Multiloader just deals with what it always should have done: unpacking images, working out how to mount them and passing them to Emulators.&lt;br /&gt;
&lt;br /&gt;
==What do I do if I want to cancel a download?==&lt;br /&gt;
It can be that your connection is so slow you give up trying to download an image, you can press ctrl+c to close the terminal session. If it still doesn&#039;t close fast enough you can click to close the command line window (whih may not close the window straight away but will kick QuickPlay back to life&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Currently displaying download progress is impossible, this is a technical limitation of the technology used. We do print the size of the file being downloaded, so if you&#039;re going to download big things, maybe do a speedtest from a website beforehand and that will give you an idea of how long things might take. The copy itself is the native OS copy of Windows, so its fast....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;An interesting situation occurs when you want to right click and look at rom information. Since John never concieved of my idea of syncing roms between locations, he inspects zip files to give QuickPlay and you information about what&#039;s contained in them, some of it is quit important at the time too, and its availability in the right-clikc menu is assumed later at running time. So regrettably synctool has to go fetch the rom before displaying the info. It can be fixed but for now just have a string desire to get the game before you right-click ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Just as before, its quite hard to do a cleanup of the partially-downloaded file if it fails. If a download is interrupted, you can of course do a successful downlaod over the top of it. But if you can&#039;t do that, now when you right-click in QuickPlay and choose to &#039;explore ROM directory&#039; you get taken straight to the partially-downloaded file, so you can delete it that way if you want &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;What if my server gets corrupted somehow and the game is fine on my local pc?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I lied slightly above, there&#039;s one case in which the ROM will not sync even though the files are different, if the file is smaller on the server. You might have a valid reason for that situation, but generally i&#039;m trying to catch just this situation where something&#039;s happened to the server copy and we might be about to wipe your good copy, this should warn you instead...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Help - I didn&#039;t want to flip a load of romdatas but i just did?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just run the same flip again and the filepaths will all be back to what they were before&lt;/div&gt;</summary>
		<author><name>Butter100fly</name></author>
	</entry>
</feed>