Page 1 of 1

QuickPlay on MAME 0223

Posted: Tue Aug 18, 2020 6:52 am
by hasseno
Hey there!

Thank you for the software. It's actually one of the easiest i've used since, especially when scanning different rom directories.

Does this support the latest (at the moment) Mame 0.223 version? I'm actually trying to setup the MAME part but still without success.
I'm using QuickPlay 4.7.5.

1. Then downloaded the MAME from mamedev. Also mame0223lx.zip as it needs the XML file.
2. Tried linking the MAME folder on step 1. Failed.
3. Manually created the extras directory inside MAME folder (dats,folders,icons). Works.
4. Selected the MAME emulator on the choice box. Done.
5. Tried to add the XML file. Failed. "The MAME XML was not read. Check source files, check mametool_logfile.txt in the root of the QuickPlay folder, try again, or call at the forums for help." Could not also find any logfile in QP folder.
6. Tried reading the forums regarding this issue. Read a few like this one or this one.
7. Grabbed some .ini files in Progettosnaps. Noticed it's outdated. Opened the file in N++. Seems just a list of roms.
8. Grabbed some icon files in Progettosnaps. Dumped it in icons folder.
9. Grabbed some .dat files in Progettosnaps. Noticed it is outdated. Placed it in dats folder anyway.
10. Tried to add the XML file. Failed.
11. Took a break. Grab some coffee.

12. Look up the documentation for MAME. Found a section for the extras. Noticed it just links to progetoo anyways. Grabbed them.
13. Took a break again.
14. Since QP v4.7.5 is not working, grabbed the version 4.6.5 since it was mentioned in the thread that it work.
15. Loaded the 0.223 xml file. Success. Huh...
- end.

So now i gotta figure out how to list just my available mame roms in QuickPlay, or is that not possible?

Re: QuickPlay on MAME 0223

Posted: Wed Aug 19, 2020 2:12 pm
by butter100fly
Hi. What is/was your QuickPlay install path please (your full path to quickplay?) when you had the problem? I mention this because I have recently noticed a bug where mametool won't work properly if you have a space in the QuickPlay path (and because you say a log file wasn't created)

if that wasn't it, i would need a logfile or some other way of seeing the output produced to see where the problem is...when you say 'failed' I need to know why it failed in order to troubleshoot. Some users have managed to capture the cmd window before it exits to get this info also, but I've still not figured out how they do that :oops:

Also when you say 'success', what does success mean? You did have a fully working MAME with all the extras setup etc before you even started with QuickPlay right? If MAME hasn't been setup as fully working with your games etc, QuickPlay won't be able to successfully make Romdatas that work either, in particular we need your rom paths from your mame.ini - I worry that 'success' may mean you got a success message from an old version on Mametool, but not actually a successful outcome (i've done a lot of work on mametool since that old version).

any and all screenshots would help!

Re: QuickPlay on MAME 0223

Posted: Thu Aug 20, 2020 1:46 pm
by hasseno
Hey there!

What i mean success is that the xml was successfully loaded. and can generate the arcade folders. As well as play the arcade roms from QP.
When you mentioned about spaces, you are, in fact, correct about it! I was renaming the folder name and it has spaces, that must be why i had errors. The last attempt was no more renaming.
With that in mind, i did a fresh install/extract on QP, without spaces this time.

Here's what works (at the very minimum).
1. Setup the MAME first.
2. Extract the MAME (v0.223) to a folder, no spaces to the folder name. [ d:\Emulation\MAME0223 ]
3. Run MAME at least once. Then exit right afterwards. This is to let MAME create some default settings.
4. Create the extras folder in MAME. [ d:\Emulation\MAME0223\extras ]
5. Create "dats" folder in extras in MAME. [ d:\Emulation\MAME0223\extras\dats ]
6. Create "folders" folder in extras in MAME. [ d:\Emulation\MAME0223\extras\folders ]
7. Create "icons" folder in extras in MAME. [ d:\Emulation\MAME0223\extras\icons ]
8. If you have mame roms, dump them in the roms folder of the MAME. [ d:\Emulation\MAME0223\roms ]

9. Setting up QP.
10. Extract the QP (v4.7.5 as of this time) to a folder, making sure that the folder name has no spaces. [ d:\Emulation\QuickPlay ]
11. Run QP and there should be a wizard menu. Select the Emulator Find option.
12. Select scan directory, and choose the directory of the MAME when selecting the directory. [ d:\Emulation\MAME0223 ]
13. Click Next, then also begin. It should detect emulator entries for the MAME. Select those and exit the menu.
14. When asked for the roms, you can do that later, so just select exit.
15. select Arcade ROMS, then select the options.
16. In the MAMEs extras directory, select the extras folder that you have created in MAME. That would be [ d:\Emulation\MAME0223\extras ]
- by this point, QP should accept your selected directory if you have created the 4 folders (extras,dats,folders,icons) -
17. On the MAME emulator to call, select the only available entry.
18. Choose the xml file. That would be mame0223.xml for the MAME0223 version.

At this point, it should open a command window with a message that it would take a while. There should be no problems and will successfully load the XML file.
Afterwards, you can select the "Print MAME / Retroarch romdata in current dir" and it will create a listing of your arcade roms.
The paths would be correct and the missing roms will be "./qp.exe" indicating that you do not have that rom. You can delete it afterwards.
So, it seems that the xml file can be loaded as long as you met the required 4 folders.

For the full metadata, this is what i can identify based on trial and error.
To populate the PLAYERS field, you need to put nplayers.ini in the extras/folders in MAME.
To populate the GAME TYPE field, you need to put catlist.ini in the extras/folders in MAME.
To populate the LANGUAGE field, you need to put language.ini in the extras/folders in MAME.

For the media paths, you would require the dat files, which is another configuration by itself.

One caveat though. I have a couple of snapshots of the games using MAME. When i checked the snap folder, it contains the folder name of the rom, and inside the folder are the snapshots.
I don't know how to set those snapshots in QuickPlay since they are in a folder.
Sorry for the long post.

I've attached the logfile for reference.
p.s. the logfile would only be created when the command window is loaded.

Re: QuickPlay on MAME 0223

Posted: Sat Aug 22, 2020 11:02 am
by butter100fly
Great glad the space issue was the reason. Thanks indeed for the detailed description of your process (i think you did but just checking you did read the wiki page before doing all this? http://quickplay.sourceforge.net/wiki/index.php/MAME).

be assured that fixing the space issue is the very next thing to fix in QuickPlay, its not something in the Mame functionality that causes this, and I'll be able to use your finding of an old version that doesn't suffer the problem to narrow down where to fix it.

I can also think on your description regarding the MAME metadata process, you see I think I underestimated user's desires to print out MAME Romdata's without MAME's metadata information in them, and I think I overestimated people's ability to obtain a MAME release that includes a pre-made Extras folder (lots of people seem to go hunting around for individual files, and manually put them in Extras, so I had to go back and write a recursive file tree walker to try and look for those files, and i've fielded quite a number of posts on this issue now). But those estimations are why, when I made mametool, I enforced that you HAD to have those folders, because I figured if you want a frontend for MAME, you'd want it in part for the Extra metadata, that you probably just had sitting there. But I was wrong. This does seem to continually cause problems. So I've basically forced you to hack around my requirement, and as you say, if you want the metadata, you can download it later and run the mame tool again to pick it up....I certainly don't want to 'invisibly' print metadata only if found, as that's confusing, what do you think the solution is here?

Re: QuickPlay on MAME 0223

Posted: Sat Aug 22, 2020 4:05 pm
by hasseno
Hey there!

Yep. I've lost count how many times i've re-read that article, until you mentioned about the space naming issue. I did not read the MameFilePaths though.

With regards to the requirements / 4 folders, i personally think that, it stems from the fact that the majority of the (new) users will grab the latest MAME from the official website. Once they extract and use that version from the official website, there is no EXTRAS folder present of the MAME. This, would most likely be the culprit on why the 1st step on the Arcade ROMS section is failing. Also, there is no guarantee that other MAME 'derivatives' would contain said folders too. Once the user is made aware of the "missing" items, then the likely recourse is to search the internet for it, progettosnaps or some other resources.

If there is an official "build" with those "extras" folders, then i think you would not have an issue on the 1st step, or for the rest of the steps.

I think there is no harm in making those DAT files and INI files a requirement in the Acade ROMS option. Those files are really critical on some of the functions in QuickPlay. The INI files are required on displaying the metadata of the Arcade ROMs, as well as printing the romlists. The DAT files are critical in displaying the different media panels. I agree that it can be improved upon, but the current functionality is already sufficient. Plus, if we follow the standardization in MAME, then it works well.

I think it would only have issues if the user sets its MAME differently, or want to set it up according to his style, like having different folders for ROMs, another for CHDs, etc.. For this scenario, the user would most likely grab some rom files from different sources on the internet and dump them in different folders. Or in my case, i only have a few select MAME roms. If given the choice, i would rather have the options that i have for other emulator roms, such as NES or SNES roms, where i simply have to mirror the directory for my roms. But i cannot use it for MAME roms (because i need the metadata names of the MAME roms, hence i have to go to the Arcade ROMs option).

Here's the current setup i have for QuickPlay
Image

QuickPlay is so versatile that i decided to use it to track my epub collections too, sorry if that was not your intention of how QP is to be used. I previously used Daminion to track the epub files, but your software is soo much better. Custom icons are also easy to add in the program, and your emulator management isn't limited to the current entries that i can also define my own entries, which is a plus for me.

p.s.
As for the bypassing the requirements on the arcade roms settings, well... that's that. After you mentioned the spacing issue, i did go back and retried it with my MAME with complete ini and dat files, so it works there, but wasn't satisfied with the result because i don't know what made it work, hence i tried it with a fresh download/install and found out that only the 4 folders are the minimum requirement for it to work. There were lots of missing data though, so that's the negative of it all.

Re: QuickPlay on MAME 0223

Posted: Wed Sep 02, 2020 8:47 pm
by butter100fly
Thanks for that: I think I understand you - you think its good to keep the metadata scraping requirement from MAME's files just like it is in QuickPlay at the moment, but be more clear about it - so QuickPlay should say to you: 'you do know you need these 4 files otherwise I can't make the rom list properly, here's what will happen if other metadata files are missing' and so on - so keep what QuickPlay actually produces the same, but be more explanatory about the 'Extras' directory requirement? It was never my intention that new users would have to scour the internet for individual EXTRAS files, since there is quite a lot of knowledge of 'mame-lore' required for those who seek these files individually, and I wish that didn't have to be my problem really! That's why it would be really helpful for new 'MAME-ers' to be able to find Mame EXTRAS themselves (e.g.: by googling) and not get led down the wrong path by downloading MAME from MAME dev and starting to find files individually themselves. But I also take your point that people who are more familiar with MAME may have special requirements (but surely they could still find a matching EXTRAS package for their MAME version?). If you have any more thoughts please do let me know, as I still don't really know how to tackle this issue and it keeps coming back to bite me and take up my time, which could be better spent!

Actually the old process for MAME in QuickPlay worked just like you said: it looked for your roms on disk and then tried to add all the necessary metadata, but this was always fundamentally flawed even though it seems at first as if that would be the obvious thing to do, because that's not how MAME works, the old process became truly horrible over time (for instance putting a load of 0kb files on your disk for no reason!), that's why I redesigned it to specifically not care about the files you have on disk, because MAME doesn't. I figured If you want to interface with MAME, you have to work how MAME works: and that's by only pulling games from the mame.xml. Some reasons why:

1) mame roms can be split, split-merged and fully merged. The 'roms' files you end up with are very different in those cases, and don't represent the games mame has
2) there are very many games in mame that have no corresponding rom 'files' on your hard drive, some of them are just bios some are contained in other roms (particularly if you have a fully-merged set)
3) some games like CHDs have more than one file - a rom file and a chd and a bios file - how would we organise a scan that determines if you 'have' a game, do we need to scan all directories recursively for all files in a set? QuickPlay isn't a MAME rom manager!

There are other reasons! That's why the xml for mame is the source of truth, not rom files on your drive. Mame is just different to other things, and needs to be treated as such. However, if you do want to create a list for just the roms you have on disk, I included the option of using the program 'MAME File Manager' to produce a filtered romlist to work with, you could use this to produce a list of just those games you have on disk, the list of games MAME File Manager produces is just a line delimited text file of mame names, so you could even bypass MAME file manager entirely if you just produce this list yourself and supply it to QuickPlay. So there is still the option of working from disk if you really really want to...

Re: QuickPlay on MAME 0223

Posted: Wed Sep 09, 2020 7:06 am
by hasseno
Hey there!

I've been testing how MAME (official) understands ROM files. Regardless if it is non merged, split, or merged. Here's what i got from it.

Non-merged - all games and all their children/clones/bootlegs are totally separate zip files, each including all needed bios and driver files. MAME has no issues on this.
Split - parent zips are complete, child/clone/bootleg zips contain only the roms that are different from the parent set. MAME also has no issues on this.
Merged - parent/clones/bootlegs of a game are all in a single zip file.
  • This is interesting. The official MAME build cannot properly display merged roms. It will, instead, display the game based on the rom filename, which is usually the parent. I tried this with (1941) merged romfile which has 3 clones. In the official MAME, it displays the Parent only. Using other frontends such as Arcade64, it can understand and properly display merged romfiles.
For QuickPlay, i have not successfully created a parent <--> clone list for merged roms. Maybe i'm missing some steps or something.
There are no issues for non-merged files, as they have distinct filenames.
For split files, that is also not an issue as long as the parent rom is present.

For those dependency files such as bios, CHD, etc., Quickplay doesn't have that function as it's just a list.
Though just as an idea, you can use the MAME parameter "-verifyroms" to check if your rom will work or not. Add a "verify rom" option that verifies the arcade roms and export the result back in QP. I don't consider it a necessity though.

For non-merged and split, QP should have no issues.
For merged, then it would behave just like the official MAME and display the "parent" rom.

I am more inclined to use the import/export custom ROM data though. If it can include importing/exporting the name, then it's all good. (still waiting for that specific update)
Though crazily enough, one can "insert" the bios dependencies on the rom files and repack it back. It doesn't break the rom, as long as the CRC check passes on MAME. then it will work.
Weird, or maybe that's just how it works.

Re: QuickPlay on MAME 0223

Posted: Sun Sep 20, 2020 3:14 pm
by butter100fly
I think I'll probably have to answer your post here properly when i'm next looking at MAME coding, the many requirements and workings of MAME aren't a simple matter, and aren't really something I can keep in my head all at once, certainly you can generate a list of all ROMS regardless of parent or clone in QuickPlay, since each rom has its own xml entry. And i'm sure in MAME i've seen a list of roms with clones actually indented off the parent (or maybe that was MAME-UI). Maybe in QuickPlay if you have a merged set, print a full set with clones, and print and sort by filepath, you might be able to sort the roms windows by the filepath column and get a similar parent/clone relationship list - What I do personally is generate two MAME arcade rom lists in QuickPlay, one filtered list with only parents (for day-to-day use) and one full list (for exploration). Works very well for me. I'll say again there are other reasons why years of generating mame rom lists leads me to the conclusion that we have to go from the MAME xml rather than files on a file system, i'd rather go from files too, but that's not how MAME works. When I remember all the reasons, i'll let you know :D

I feel a tad disappointed really because I thought, with the availability of MAME Extras packages and their fixed and pre-obtained sources of metadata, and a scan of the source-of-truth MAME XML, we'd got to the point that getting a MAME frontend configured had finally turned into a (relatively) quick and easy thing. That was the high point of my MAME Tool really: just point me at an Extras and and XML, make sure MAME actually launches games itself, and then we get ourselves to a 'higher level' of setting up a MAME Frontend (deciding what filters we'd like, deciding what softlists actually work and are worth displaying, that sort of thing). THAT was such a radically different thing from how things have been in the past. I still believe that changing my documentation or something might lead users in the right direction....I just can't work out what to say atm!