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
Can the MESS and MAME helpers be unified? #90
Comments
The 'ume' target in the mame/mess makefile allows a combined build to be created. That will take forever though. |
Does building MAME go faster if there are object files around from a previous MESS build? Is there any overlap? |
Yes there is a great deal of overlap. |
It will not be surprising to know the changes I did to make it do MAME instead of MESS were trivial. For GENHELPERS, I did this: root@teamarchive0:/1/JSMESS/jsmess# diff -btw mamehelpers/genhelpers.sh helpers/genhelpers.sh
33c33
< make TARGET=mame SYMBOLS=1 -j4
---
> make TARGET=mess SYMBOLS=1 -j4
41c41
< mv mame64 ../../mamehelpers/
---
> mv mess64 ../../helpers/
82,84c82,84
< mv mangled-all-resolved.txt ../../../../mamehelpers/
< mv mangled-all-unresolved.txt ../../../../mamehelpers/
< mv all-resolved.txt ../../../../mamehelpers/
---
> mv mangled-all-resolved.txt ../../../../helpers/
> mv mangled-all-unresolved.txt ../../../../helpers/
> mv all-resolved.txt ../../../../helpers/
89c89
< cd ../../mamehelpers
---
> cd ../../helpers And for STARTMAKE, I did: 7c7
< echo "Generates MAME tiny makefiles given a system name."
---
> echo "Generates MESS tiny makefiles given a system name."
21c21
< MESS64NAME=mame64
---
> MESS64NAME=mess64
65c65
< echo "MAME may have provided some suggestions, try those?"
---
> echo "MESS may have provided some suggestions, try those?" |
Someday I'll understand Github's way to pre-format. Regardless, the most glaring and specific differece is the building of MAME64 instead of MESS64, and running all the checks and changes against that. You could easily have a script that makes two sub-directories for each set of .txt files, and ultimately, you could combine the two .txt files since ultimately, it would be pulling from them. I don't know how important it is to do this, with the ability to say "build an atari 800" and then turning around and saying "now build me a joust". But I can definitely say the scripts all work fine, when given the two runtimes. Oh, and as a bonus, building those two runtimes will double that initial compile work. |
Just surround a code block with ```` (in its own line) as explained at https://help.github.com/articles/github-flavored-markdown . |
Thanks. Fixed. |
The MAMEHELPERS directory is now part of the build, with the related copies of the files now in their own directories. The problems are notable but not insurmountable with things like building except that if we ever get a driver collision, we're sad. For the moment, I happen to think this situation is quite fine. With two *HELPERS directories, I can swap between them and build into the same environment with no pain. (I've been doing it.) |
MAME and MESS are already enforcing that no drivers be named the same anyway because of Haze's UME stuff. |
One notable discovery I made while doing a "build smallest memory footprint" matrix build - it appears if you run something in one "helper" that is only in the other "helper", it will wipe out said machine's makefile. So that's one argument for unification. Maybe if it uses the binary to see if something even exists, and based on which binary, it "does the right thing"? |
Apparently JSMAME "just works," at least for the one system @textfiles tried it on:
Does a separate "mame64" executable have to be built? Is there a way to generate all object files and a unified set of helpers? What's the real difference between the two sets of helpers and the object files and the executables?
The text was updated successfully, but these errors were encountered: