TiBeN / ia-rcade

Use MAME with roms from archive.org
Apache License 2.0
103 stars 8 forks source link

Missing dependencies for rom clones #4

Closed nblondiau closed 8 years ago

nblondiau commented 8 years ago

The reference version for console roms in MAME is always the Euro/PAL version (which is a shame because PAL versions often are botched 50Hz ports), other regions versions being considered as clones. More info on this in this emuchat thread.

The romsets hosted by archive.org are split sets, meaning the archive of a clone rom sometimes does not contains all the needed files to run, it needs its parent rom as well.

In this illustration, megamnx2u refuses to run until megamnx2 is also available.

$ cksum /opt/mame/ia-mame 
1931967913 625090 /opt/mame/ia-mame
$ ia-mame snes megamnx2u
INFO: Download missing rom files: [dsp1leg, dsp2leg, dsp3leg, seta10leg, seta11leg, dsp4leg, snes, dsp1bleg, dsp1leg_hi]
INFO: Machine: Super Nintendo Entertainment System / Super Famicom (NTSC)
INFO: Downloading dsp1leg.zip - 4kB / ??kB, progress: 0%
INFO: Downloading dsp2leg.zip - 2kB / ??kB, progress: 0%
INFO: Downloading dsp3leg.zip - 3kB / ??kB, progress: 0%
INFO: Downloading seta10leg.zip - 2kB / ??kB, progress: 0%
INFO: Downloading seta11leg.zip - 17kB / ??kB, progress: 0%
INFO: Downloading dsp4leg.zip - 3kB / ??kB, progress: 0%
INFO: Downloading snes.zip - 0kB / ??kB, progress: 0%
INFO: Downloading dsp1bleg.zip - 4kB / ??kB, progress: 0%
INFO: Downloading dsp1leg_hi.zip - 4kB / ??kB, progress: 0%
INFO: Download missing software file: megamnx2u
INFO: Name: Mega Man X2 (USA)
INFO: Publisher: Capcom
INFO: Media interface: snes_cart
INFO: Downloading megamnx2u.zip - 978kB / 978kB, progress: 100%
cx4.bin NOT FOUND (tried in snes snes/megamnx2u snes/megamnx2 megamnx2u megamnx2)
FATALERROR: Required files are missing, the machine cannot be run.
$ ia-mame snes megamnx2
INFO: Download missing software file: megamnx2
INFO: Name: Mega Man X2 (Euro)
INFO: Publisher: Capcom
INFO: Media interface: snes_cart
INFO: Downloading megamnx2.zip - 981kB / 981kB, progress: 100%
Average speed: 99.90% (3 seconds)
$ ia-mame snes megamnx2u
Average speed: 99.59% (2 seconds)

Edit: My MAME version is 0.162.

TiBeN commented 8 years ago

Good catch, i was not aware of that. Thank you. I've not tried myself your example (i believe you) but i had a look at snes.xml hash and found a "cloneof" attribute:

<software name="megamnx2u" cloneof="megamnx2">

So the fix should be pretty easy to implement. I add this on the todo and implement it asap.

TiBeN commented 8 years ago

This has been implemented on master branch since 5712f7118245df562c0a8232a3a2c84bbe18975d