Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. My bare hosting costs are currently not met so please consider donating by either clicking this text or the Patreon link on the right.

Patreon

Recommended Posts

Posted

I know there has been a feature request to have multiple versions of MAME (actually, requested MANY times). I was just wondering, assuming that Tom is considering incorporation of this feature at some point, if this would be best incorporated as one or more MAME emu's setup as overrides.

What I'm thinking is that Zinc and Model2 are probably hard coded, which is why this feature hasn't been incorporated. If a new system were incorporated though, it would basically do the same thing as those 2. I would think that the new MAME emu's could have a filter list used for an override so that all roms could (if desired) be held in the same location. In that way, you would just put together a text list for each rom that should be used for that version of MAME over the default.

I am posting this just to see if this seems like a good approach or if it's completely stupid :unsure:

Posted

I would love that! I am going bugging trying to get all of my mame roms to work. I finally have a version, Mame32 .107, that plays all of the ones I want but now all of the old space invaders games have no sound. If I play with Mame 0.123, I get sound and color.

Posted

Well, apparently this topic isn't that popular. I decided that I wanted to just make it work for now rather than waiting for it to be incorporated, so I put together the start of a wrapper. The problem is that I'm not very good with the CLI for AHK. If someone could take a look at this and help refine it, that would be much appreciated.

Currently, it can take the romname and select the correct version of MAME to launch, but it can't handle any of the arguments that are passed with MAME from GameEx. These are required to do list updates and run the screen saver. Here's what I have:

EDIT: I figured it out. Here is the complete script that should work:

; This script will take a MAME command line arguments (the rom name, rom path, etc.) 
; and check to see if it needs to be run in a special version of MAME. If so, it will
; launch the rom in that version and wait for MAME to exit. At that point, it
; will kill the script.


#NoTrayIcon
#SingleInstance ignore


MAME_Analog_Path := "C:\Emu\MAME-rotary\mameanalogXP.exe"
MAME_Path := "C:\Emu\MAME\MAME.exe"

Loop, %0% ; For each parameter:
{
if A_Index = 1
{
RomName := %A_Index%
}
else if A_Index > 1
{
param := %A_Index% ; Fetch the contents of the variable whose name is contained in A_Index.
Arguments = %Arguments% %param%
}
}

; Run in MAME Analog+?
Loop, read, C:\Emu\MAME\Rotary.txt
{

If RomName = %A_LoopReadLine%
{
run %MAME_Analog_Path% %RomName% %Arguments%,,,MAME_PID
WinWait, ahk_pid %MAME_PID%
WinWaitClose ;Wait until MAME is exited

ExitApp
}
}


; Run in standard MAME
run %MAME_Path% %RomName% %Arguments%,,,MAME_PID
WinWait, ahk_pid %MAME_PID%
WinWaitClose ;Wait until MAME is exited

And the Rotary.txt file is:

bermudat
bermudao
bermudaa
gwar
gwara
gwarb
ikari
tnk3
victroad
worldwar
ikari3
sercharu
sercharj
searchar
btlfield
btlfldb
timesold
timesol1
hbarrel
hbarrelw
midres
midresb
midresj
midresu
gondo
downtown
downtowp
downtow2
ikarijp
ikarijpb

Posted
Well, apparently this topic isn't that popular. I decided that I wanted to just make it work for now rather than waiting for it to be incorporated, so I put together the start of a wrapper. The problem is that I'm not very good with the CLI for AHK. If someone could take a look at this and help refine it, that would be much appreciated.

Currently, it can take the romname and select the correct version of MAME to launch, but it can't handle any of the arguments that are passed with MAME from GameEx. These are required to do list updates and run the screen saver. Here's what I have:

I almost responded to your original post, Believe it or not, I do have restraint sometimes. It would have gone like this:

I am posting this just to see if this seems like a good approach or if it's completely stupid :unsure:

It better not be completely stupid, that's my area! :lol:

But so far as what you are working on, I was setting up more stuff yesterday, and I thought it might be nice to have all of the Arcade emulators integrated like Model 2, and zinc. From what I can tell, Raine, Nebula, Winkawaks, and others all use Mame roms, So why not have the option of one list, with each emulator running the games that it does "best". How hard would it be to do what you are doing for other emulators? Are you planning on setting this up as a emulator group when you are done? I guess if you are, then you would have to set up mame as an emulator twice, Because I don't think you can have the "built-in" mame in a group.

Posted

This script has not been tested with GameEx yet as it got too late last night (my wife was getting mad :ph34r:). But, it does launch MAME and MAME Analog+ as desired. This loader is designed to be used in place of calling out the MAME executable in GameEx so there will be one list (the main MAME list) that works with multiple emulators (like the built in Zinc and Model 2 support). Basically, if these files are put in your MAME directory, the path's updated, and the script compiled (I don't think GameEx will work without it being an executable), it should launch either MAME or MAME Analog+ based on the list.

It would be pretty easy to set it up to do more emulators if that were desired although I have no plans to do it. I am simply putting this out there so that if anyone else wants to take the next step of making it work with Raine, Nebula, etc. they have a stepping off point. I was also hoping that someone experienced in writing wrappers could take a look and suggest any improvements (or improve it and post).

Posted
This script has not been tested with GameEx yet as it got too late last night (my wife was getting mad :ph34r:). But, it does launch MAME and MAME Analog+ as desired. This loader is designed to be used in place of calling out the MAME executable in GameEx so there will be one list (the main MAME list) that works with multiple emulators (like the built in Zinc and Model 2 support). Basically, if these files are put in your MAME directory, the path's updated, and the script compiled (I don't think GameEx will work without it being an executable), it should launch either MAME or MAME Analog+ based on the list.

It would be pretty easy to set it up to do more emulators if that were desired although I have no plans to do it. I am simply putting this out there so that if anyone else wants to take the next step of making it work with Raine, Nebula, etc. they have a stepping off point. I was also hoping that someone experienced in writing wrappers could take a look and suggest any improvements (or improve it and post).

Well I'm not familiar with AHK as much as I use to be. Haven't tampered with it in years. But I am familiar with AI and can try to help out since they are kinda similar in some ways. But It seems like an easy task. Its just a matter of maintaining the lists.

The only problem I see is when the roms required to run in the other emulator are different then the mame ones.

Posted
Well I'm not familiar with AHK as much as I use to be. Haven't tampered with it in years. But I am familiar with AI and can try to help out since they are kinda similar in some ways. But It seems like an easy task. Its just a matter of maintaining the lists.

The only problem I see is when the roms required to run in the other emulator are different then the mame ones.

I'm not a programmer but...I see everything as being separate still on my computer. Different files for the various emulators\roms, etc. Its just that by checking a list, GX would launch the appropriate emulator.

The only reason I see to have every emulator separate is to say "I've got 99 emulators set up" which you still will have, it would just be harder to show people. Personally for ease of use, I'd rather have GX choose the "best" emulator for me....And do away with all of the duplications of games. Of course the dupe's could be eliminated by deleting the roms.

Posted
I'm not a programmer but...I see everything as being separate still on my computer. Different files for the various emulators\roms, etc. Its just that by checking a list, GX would launch the appropriate emulator.

The only reason I see to have every emulator separate is to say "I've got 99 emulators set up" which you still will have, it would just be harder to show people. Personally for ease of use, I'd rather have GX choose the "best" emulator for me....And do away with all of the duplications of games. Of course the dupe's could be eliminated by deleting the roms.

Or simply just filtering them out. I have them setup as different emulators as well.

Posted

The idea here is that you can set up the emulators any way you want. You could have one MAME directory with multiple versions in the same root using all the same files. Or, you could have different installations of MAME as well as Raine, Nebula, etc.

GameEx sends some stuff on the command line that could be filtered off. For instance, the rom path may not be appropriate. In my case, I use the same roms, but it's certainly feasible that the emulator could require older dumps to work correctly. If that were the case, the script could ignore the rom path and just send the rest. It's just a matter of checking to see if the string starts with "-rompath" or not. Probably a good idea to eliminate it though. I personally have that set in my MAME.ini file anyway, so it's just duplication.

Posted

I just wanted to bump this to let everyone know that this WORKS GREAT!!!

If you want to use more than one emulator for the MAME rom set, you can do it nice and clean now! So hears what you do:

1) Set up the emulators you want to use.

2) Create a list of all the roms you want to use with that emulator (Rotary.txt, Guns.txt, Raine.txt, etc.).

3) Edit the MAME_Loader.ahk file to set the correct path for your emulator(s). If you have more than one, you will need to copy the loop used to check the game list file and create more path and exe variables. Compile the loader and store it in the same directory with the rom filter files you created in step 2.

4) Enable and set up AdvancedMAME in GameEx to point to the MAME_Loader.exe.

5) That's it!

This is a basic script, but if you have a question, I can try to answer. If it's very complicated, I may need help from one of the more advanced programmers here...

Posted
I just wanted to bump this to let everyone know that this WORKS GREAT!!!

If you want to use more than one emulator for the MAME rom set, you can do it nice and clean now! So hears what you do:

1) Set up the emulators you want to use.

2) Create a list of all the roms you want to use with that emulator (Rotary.txt, Guns.txt, Raine.txt, etc.).

3) Edit the MAME_Loader.ahk file to set the correct path for your emulator(s). If you have more than one, you will need to copy the loop used to check the game list file and create more path and exe variables. Compile the loader and store it in the same directory with the rom filter files you created in step 2.

4) Enable and set up AdvancedMAME in GameEx to point to the MAME_Loader.exe.

5) That's it!

This is a basic script, but if you have a question, I can try to answer. If it's very complicated, I may need help from one of the more advanced programmers here...

This sounds cool. I will be trying this soon... I volunteer myself to make lists for all of the emulators based on the information at http://nonmame.retrogames.com/

I've got some things going on, but I will have them done by midweek....

Thanks Bkenobi!

Posted

If you find any problems with the script, let me know. The only problem I've run into at this point is that the auto-generated game info overlay displayed in screen saver mode doesn't work for AdvancedMAME. I put in a feature request for this, so maybe it's something that can be worked around.

Hmmm, I was just thinking. If you use the overlay for screen saver and you see a game you want to play and hit coin1 so that GameEx doesn't quit the game, the overlay still remains. I wonder if that's something Tom could detect and automatically do something to turn off the overlay.

Posted

I wanted to bump this to see if anyone had tried it. One of the reasons I wrote this was because there were a couple requests for this functionality of late. For example, a couple people indicated they wanted to pick 32- or 64-bit MAME for specific games.

I'm using it for my own needs, but hopefully someone will find it useful...

Posted
I wanted to bump this to see if anyone had tried it. One of the reasons I wrote this was because there were a couple requests for this functionality of late. For example, a couple people indicated they wanted to pick 32- or 64-bit MAME for specific games.

I'm using it for my own needs, but hopefully someone will find it useful...

I'm going to try it, I've just been lazy this week, Working on getting my artwork together, and jukebox. I wanted to do something that potentially required less brain power. I still need to make those lists for you too....

Posted
This sounds cool. I will be trying this soon... I volunteer myself to make lists for all of the emulators based on the information at http://nonmame.retrogames.com/

I've got some things going on, but I will have them done by midweek....

Thanks Bkenobi!

Sorry about the delay....Here are the text files for Bkenobi's Mame Loader.

I pretty much used the .map files where I could, If I should have include all versions of the rom, let me know, and I'll update.

See 2 Posts Down

Posted

Nice work.

Btw, although you put text at the bottom of at least one of these, the file should still work fine. The only problem with this is that the loader looks for the passed rom name that is supplied by the GameEx [ROM] argument. Basically, it sends the name of the rom sans the extension. So instead of "outrun.zip", GameEx will send "outrun". I programmed the loader so that it accepts that naming and thus it will fail to load these alternate versions.

Essentially what I'm saying in a very long winded way is that these files need to be just the rom name without the extension.

  • 2 months later...
Posted

I was just reading the details of the MultiMAME application. That thing looks really cool, but pretty intense learning curve for a newbie. If anyone has some experience with it, I would love to see what you've done! The MAME_Loader is far simpler and lacks the list building capabilities.

There was another thread within the last month that discussed the desire to put Daphne directly in the MAME list. You can kludge something together with MAME_Loader and some work with the database, but it's not very friendly. From the description of the capabilities of MultiMAME, it sounds like it's possible to have it generate a list.xml file with the desired content (including PC games if desired...).

I don't want to dump a bunch of time into another program if it doesn't do what I think it does (I'm both lazy and short on time ;) ), so if anyone can at least comment on the capabilities, that would be helpful for me and possibly others as well!

Posted
I was just reading the details of the MultiMAME application. That thing looks really cool, but pretty intense learning curve for a newbie. If anyone has some experience with it, I would love to see what you've done! The MAME_Loader is far simpler and lacks the list building capabilities.

There was another thread within the last month that discussed the desire to put Daphne directly in the MAME list. You can kludge something together with MAME_Loader and some work with the database, but it's not very friendly. From the description of the capabilities of MultiMAME, it sounds like it's possible to have it generate a list.xml file with the desired content (including PC games if desired...).

I don't want to dump a bunch of time into another program if it doesn't do what I think it does (I'm both lazy and short on time ;) ), so if anyone can at least comment on the capabilities, that would be helpful for me and possibly others as well!

MultiMAME rocks. After fighting with it for a few days, I now successfully have all the Daphne games working in Gameex under the regular Mame menu (instead of its own separate area). I'm tickled pink with it. Next I'm going to try to get Pong in there (using DICE).

Woo hoo!

Posted
MultiMAME rocks. After fighting with it for a few days, I now successfully have all the Daphne games working in Gameex under the regular Mame menu (instead of its own separate area). I'm tickled pink with it. Next I'm going to try to get Pong in there (using DICE).

Woo hoo!

Sweet glad to hear that! This is exactly what I was hoping to do. Would you mind posting how you got the Daphne games to show up in the Mame list? :D
Posted

He had to construct an XML file for MultiMAME that tells it how to load things. It's rather complicated... Fortunately, the MultiMAME homepage has a guide on how to get Daphne to load with MAME like you are talking about. I don't know how it knows to create the list, but that's just part of what it does I guess. Since JellyBelly is now an expert, hopefully he won't mind sharing his knowledge to help others get going. I looked at their website, but felt a bit overwhelmed for the amount of time I was willing to invest at the time.

Posted
He had to construct an XML file for MultiMAME that tells it how to load things. It's rather complicated... Fortunately, the MultiMAME homepage has a guide on how to get Daphne to load with MAME like you are talking about. I don't know how it knows to create the list, but that's just part of what it does I guess. Since JellyBelly is now an expert, hopefully he won't mind sharing his knowledge to help others get going. I looked at their website, but felt a bit overwhelmed for the amount of time I was willing to invest at the time.

I'll be happy to write up a faq and put together a package for getting multimame to run with other emulators.

I've got Nebula and Mjolnir working with Multimame now. Sadly a few emulators will never work with it -- Viva Nonno does not accept command line arguments, so it's out. And Sparcade is a DOS program, so it's out as well.

Posted
I'll be happy to write up a faq and put together a package for getting multimame to run with other emulators.

I've got Nebula and Mjolnir working with Multimame now. Sadly a few emulators will never work with it -- Viva Nonno does not accept command line arguments, so it's out. And Sparcade is a DOS program, so it's out as well.

That would be great! I just want to get Daphne to work with it pretty much. And I only play a few Laerdisc games so it shouldn't be too much work though I know I'm wrong :lol:

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...