MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Pages: 1

mw
MAME Fan
Reged: 01/01/07
Posts: 76
Send PM


MAME 0.162 -listsoftware
#340834 - 06/01/15 06:28 AM


Now that MAME is consolidated with MESS, I was curious to try using clrmamepro to process the software lists.

I found something interesting, the "-listsoftware" command doesn't list all the software lists. When using this command line:


Code:

MAME64 -listsoftware > "MAME SL.xml"



You get a nice big file about 46 MB long. I thought it would contain the same information as the contents of the hash folder's 377 .xml files. But it turns out there are only 355 software lists in the "MAME SL.xml" file.

That's 22 missing software lists, and they don't appear when importing the solftware lists into clrmamepro. This is the list if items not appearing from the "MAME -listsoftware" command:


Code:

3do_m2
advantage
amiga_flop
amigaaga_flop
amigaecs_flop
amigaocs_flop
bml3_flop
cd32
cgenie_cart
dim68k
exl100
genius
lisa2
nascom_flop
pippin_flop
pippin
sawatte
snes_vkun
tandy6k
vreader
vsmile_cd
wicat



Puzzled by this result, I tried creating the individual software lists one at a time on the command line. This worked fine:


Code:

MAME64 -listsoftware abc1600 > abc1600.xml



That gave me a nice 9 KB file. Well, abc1600 wasn't missing, so I expected that to work, and it did.

How about one of the missing ones, like pippin?


Code:

MAME64 -listsoftware pippin > pippin.xml



That gave me a very tiny file. Here are the contents:


Code:

No software lists found for this system



Hmmm. What's going on?

Please try this out for yourself, this will test six at a time. Copy and paste the following into a CMD window after changing the directory to where you have unpacked the MAME 0.162 binary from the MAMEdev site:


Code:

for %f in (pippin pippin_flop n64dd nascom_flop nascom_socket abc1600) do mame64 -listsoftware %f >%f.xml

(that command is all on one line, it got wrapped by this messageboard)

Even though nascom_socket is not on the missing list, it cannot be successfully be created as a single .xml file. There are others, too. How many?

I ran these commands to check all 377:


Code:

md rehash
for %f in (hash\*.xml) do mame64 -listsoftware %~nf > rehash\%~nf.xml

(that's two lines)

There were 171 that had valid .xml files, 7 that produced the "No software lists found for this system" all by itself inside the file without any .xml code, and 199 that each produced a zero length file.

So the question is, Is this the expected behavior of the listsoftware command?

Note: This is not an attempt to find another way to discern the arcade ROMs from the MESS BIOS ROMs.

EDIT:

Found another interesting thing, some of the individually created .xml files have more than one software list inside.

For example this one, CDTV (Amiga CDTV CD-ROMs), when created with this command:

Code:

mame64 -listsoftware cdtv > rehash\cdtv.xml

Has several other amiga software lists in it:

Code:

amiga_workbench
amiga_hardware
amiga_apps
cdtv

Well, it's supposed to have "cdtv", but why are the other three in there?

So I tried removing the three amiga .xml files from the hash folder, and tried to create the cdtv by itself. This time it worked, only producing the data for cdtv in the cdtv.xml.

Moving on, I tried cd32. When the hash folder is fully populated, the resulting file has multiple software lists in it (the same extra three as "cdtv" had). When I remove the three extra ones from the hash folder, the result is an empty cd32.xml. So work-around that worked on "cdtv" isn't working for "cd32".

Edited by mw (06/01/15 10:09 AM)



etabeta
Reged: 08/25/04
Posts: 2036
Send PM


Re: MAME 0.162 -listsoftware new [Re: mw]
#340841 - 06/01/15 10:06 AM


> So the question is, Is this the expected behavior of the listsoftware command?

yes, because in some cases we add software list per dumper requests even before the corresponding driver is written, or before the system BIOS is dumped, or before the code necessary to load the dumped images is created
thus you end up with software lists which contain valid dumps and document them, without being hooked up to any MAME/MESS driver (and thus without being accessible to the -listsoftware command)

eventually, all lists will be hooked up to the emulator, but for the time being the existence of the xml allows to document all we currently know about those dumps, which is better than not having anything at all

also, you can always use the batch scan/rebuild options of cmpro to handle those xml files separately (fwiw, personally I prefer to handle *all* software lists via such option ;-) )



mw
MAME Fan
Reged: 01/01/07
Posts: 76
Send PM


Re: MAME 0.162 -listsoftware new [Re: etabeta]
#340842 - 06/01/15 10:13 AM


> > So the question is, Is this the expected behavior of the listsoftware command?
>
> yes, because in some cases we add software list per dumper requests even before the
> corresponding driver is written, or before the system BIOS is dumped, or before the
> code necessary to load the dumped images is created
> thus you end up with software lists which contain valid dumps and document them,
> without being hooked up to any MAME/MESS driver (and thus without being accessible to
> the -listsoftware command)
>
> eventually, all lists will be hooked up to the emulator, but for the time being the
> existence of the xml allows to document all we currently know about those dumps,
> which is better than not having anything at all
>
> also, you can always use the batch scan/rebuild options of cmpro to handle those xml
> files separately (fwiw, personally I prefer to handle *all* software lists via such
> option ;-) )

OK, thanks for responding.

Yes, I have used the batch mode.

I guess all that work in clrmamepro to handle the [SOFT] systems isn't fully utilized yet, due to the issues you point out.



etabeta
Reged: 08/25/04
Posts: 2036
Send PM


Re: MAME 0.162 -listsoftware new [Re: mw]
#340943 - 06/02/15 02:36 PM


> I guess all that work in clrmamepro to handle the [SOFT] systems isn't fully utilized
> yet, due to the issues you point out.

well, in fact it works as intended: softlists which are not hooked up to the emulator cannot be accessed by the option -listsoftware (which pass through the emulation)
you can either decide to scan them separately, or to ignore them until we hook them up to the emulator... of course, we hope you decide for the former



mw
MAME Fan
Reged: 01/01/07
Posts: 76
Send PM


Re: MAME 0.162 -listsoftware new [Re: etabeta]
#340973 - 06/02/15 09:08 PM


From you explanation, I gather there are various levels in softwarelist support. Candidates for software list inclusion could be categorized as follows:

  1. Not listed in a .xml file of the hash folder.
  2. Listed in a commented-out area of a .xml file in the hash folder.
  3. Listed in the main body of a .xml file in the hash folder, but not wired into MAME.
  4. Listed in the main body of a .xml file in the hash folder, and wired into MAME, but has the supported="no" tag.
  5. Listed in the main body of a .xml file in the hash folder, and wired into MAME, and does not have the supported="no" tag.

And of course, some may be nodumps or baddumps.

The reason that categories 2 and 3 exist is to provide partial documentation for eventual inclusion as categories 4 or 5.

And any candidate could be loaded by name from either the command line or internal GUI when in category 5. If the candidate was in the other categories, it might be able to be loaded by full path\filename, provided that it's structure was compatible with the default wiring of that particular driver in MAME. And only categories 4 and 5 will produce output with the -listsoftware command.

Is that about it?

My original assumption was that MAME -listsoftware produced the de-commented contents of the various .xml files in the hash folder. That is, categories 3, 4, and 5 as listed above.

Thank you for clearing that up.

Edited by mw (06/02/15 09:12 PM)


Pages: 1

MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 493 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 2237