Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quirk with MAME games that require BIOS files #177

Open
ColetteDiskette opened this issue Jan 15, 2025 · 4 comments
Open

Quirk with MAME games that require BIOS files #177

ColetteDiskette opened this issue Jan 15, 2025 · 4 comments
Labels
bug Something isn't working

Comments

@ColetteDiskette
Copy link

ColetteDiskette commented Jan 15, 2025

As it stands right now, it seems oxyromon won't consider a MAME game complete unless all the BIOS files are also there. Here's what I mean:

Say I have cotton2.zip. It has all the files expected to be in cotton2.zip:

mpr20116.1
mpr20117.2
mpr20118.3
mpr20119.4
mpr20120.5
mpr20121.6
mpr20122.7
mpr20123.8

I do oxyromon import-roms cotton2.zip. It will detect all of those ROM files and place them in a folder called cotton2. If I do oxyromon convert-roms -s "MAME" -f ZIP, it will not make a ZIP of that game.

What oxyromon seems to want to do is also have the contents of stvbios.zip and segabill.zip since those are dependencies for cotton2. If I then import those two BIOS ZIPs, they will import as stvbios.zip and segabill.zip. I then have to copy those files back over to the directory I'm importing from and import them AGAIN. At this point, oxyromon will ask me which game to assign each file in them to, and I can assign them to cotton2. If I do that, then do oxyromon convert-roms -s "MAME" -f ZIP again, it will make a new cotton2.zip that has the contents of the normal cotton2.zip, stvbios.zip, and segabill.zip.

Here's the problem with this. MAME (at least not the libretro core) doesn't give a crap about BIOS files that are in the same ZIP as the game. They will be ignored. That cotton2.zip will not launch unless I have stvbios.zip and segabill.zip alongside it, so by doing things the way oxyromon seems to want them, I'm having to duplicate BIOS files for no good reason.

I like a non-merged set, and doing oxyromon rebuild-roms -m NON_MERGED -a doesn't change this at all (as I would expect it wouldn't since I can't think of a merging style that puts the BIOS files in; not even merged does this.)

oxyromon info output:

Version: 0.20.1

Dependencies:
  7-zip: found (24.09)
  bchunk: not found
  chdman: found (0.273)
  ctrtool: not found
  dolphin-tool: found (unknown)
  flips: not found
  maxcso: found (1.13.0)
  nsz: not found
  wit: not found
  xdelta3: not found

Systems: 1
Games: 47530
Roms: 347334
@alucryd alucryd self-assigned this Jan 17, 2025
@alucryd alucryd added the bug Something isn't working label Jan 17, 2025
@alucryd alucryd removed their assignment Jan 17, 2025
@alucryd
Copy link
Owner

alucryd commented Jan 17, 2025

Thanks for the report. I must admit I'm less savvy when it comes to MAME but I'm getting there. Looking into it.

@alucryd
Copy link
Owner

alucryd commented Jan 23, 2025

Found a regression in MAME DATs imports, the parent information wasn't properly saved anymore. Fixed in the dev branch. This at least resolves the ROM import issue as well. I need to run additional tests to see if rebuild-roms behaves correctly.

Edit: Hmm, there's still a bug where oxyromon re-imports MAME ROMs when updating the DAT.

@alucryd
Copy link
Owner

alucryd commented Jan 24, 2025

@ColetteDiskette Should be all good with the newly released 0.20.2. Please let me know how it goes. Will look into using the parent/clone information in sort-roms next for people who aren't interested in clones.

@ColetteDiskette
Copy link
Author

Awesome! I appreciate everything! I'm in the middle of another project for now, but once I get back to my ROM stuff, I'll let you know!😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants