Behavior of MT-32/CM-32 ROM detection #2246
-
For the unversioned ROMs, I drop them in from an 'exulted' source. So far, so good: Using MAME 0.251 sets for versioned ROMs (mt32.zip, cm32l.zip) yields this detection from Staging 0.80.1 (Note: mt32_2.0.4.ic28 had to be renamed to mt32_2.0.4.ic28.bin to be detected--looks to be an issue with the MAME set): However, there is a bit of a name conflict for Windows users, as the unversioned CM32 is named 'CM32L_CONTROL.ROM'/'CM32L_PCM.ROM' while the versioned CM 102 is named 'cm32l_control.rom'/'cm32l_pcm.rom'. Renaming the _pcm file to something else leads to detection, but haven't tested functionality. Here's a fully working MT-32/CM-32 setup filelist with SHA256 hashes: My question is are Windows users expected to rename the versioned 102 PCM file if they also want to use the unversioned ROMs, or is this a potential improvement for Staging? First solution that pops up in my head is a recursive search for these files in designated directories: 'versioned', 'unversioned', or something similar. I doubt the MAME folks will adjust anything, but maybe they would. Just wanted to point it out here. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 12 replies
-
The expected ROM filenames with their hashes are listed here: Answering your question, there's no "expectation"; everybody can do whatever they want 😎 We never said "go unzip the MAME ROM zip files, and it will work" — the user needs to ensure the correct ROMs are present in the ROM folder with the appropriate filenames, as described on the wiki. Just to clear things up: "unversioned" ROM support is only there for compatibility with other ports, older pre-made game packs, and projects like eXoDOS that use a variety of DOSBox forks, so they need to take a least common denominator approach. If you're setting up games from scratch yourself and don't care about game packs made by others, there's no good reason to use unversioned ROMs at all. |
Beta Was this translation helpful? Give feedback.
-
@keenanweaver , maybe mention this slightly miss-named ROM in the MT-32 wiki page, incase users don't catch it? On the code side, it was pretty tedious to add handling for the versioned ROMs, because it involves pairs of files that make up the control ROM and even sometimes high and low file parts for the PCM ROM. The good news is that getting a "checkbox" in the |
Beta Was this translation helpful? Give feedback.
-
I originally tried it; it meant having to duplicate the checksum test from MT32's code into our own code, but it's also could generate a lot of disk reads for disorganized users that toss their ROMs locally in the same directory as their game -- so it would scan CDROM image and such. On the other hand, that's one way to get the entire game into the read cache :-) |
Beta Was this translation helpful? Give feedback.
-
We've revamped our MT-32 handling in 0.81.1. This is no longer an issue, I think. |
Beta Was this translation helpful? Give feedback.
The expected ROM filenames with their hashes are listed here:
https://github.com/dosbox-staging/dosbox-staging/wiki/MIDI#mt32emu
Answering your question, there's no "expectation"; everybody can do whatever they want 😎 We never said "go unzip the MAME ROM zip files, and it will work" — the user needs to ensure the correct ROMs are present in the ROM folder with the appropriate filenames, as described on the wiki.
Just to clear things up: "unversioned" ROM support is only there for compatibility with other ports, older pre-made game packs, and projects like eXoDOS that use a variety of DOSBox forks, so they need to take a least common denominator approach. If you're setting up games from sc…