• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Which system emlator should I use? I only want to play "Space Invaders"

Scheduled Pinned Locked Moved Help and Support
40 Posts 7 Posters 19.5k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H
    herb_fargus administrators @Riverstorm
    last edited by 8 Jun 2016, 22:59

    @Riverstorm yeah perhaps we should add a note about rom names with merged sets for the wiki just for those that want to play clones or in the odd case the clone works but the parent doesnt

    If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

    Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

    R 1 Reply Last reply 8 Jun 2016, 23:06 Reply Quote 0
    • R
      Riverstorm @herb_fargus
      last edited by Riverstorm 6 Sept 2016, 00:11 8 Jun 2016, 23:06

      @herb_fargus said in Which system emlator should I use? I only want to play "Space Invaders":

      @Riverstorm yeah perhaps we should add a note about rom names with merged sets for the wiki just for those that want to play clones or in the odd case the clone works but the parent doesnt

      That's a good point I never thought of that. The clone or bootleg on other hardware might work fine but the parent is broke in which case it would require a rename to a working/preferred version. Especially on these older versions of MAME.

      1 Reply Last reply Reply Quote 0
      • D
        dankcushions Global Moderator @Riverstorm
        last edited by 8 Jun 2016, 23:29

        @Riverstorm said in Which system emlator should I use? I only want to play "Space Invaders":

        @dankcushions Ok I did a quick test and it's based off the name. I used Donkey Kong 3 for my test and I merged two versions of the game. Donkey Kong 3 (US) and Donkey Kong 3 (Japan). If it was named dkong3.zip it showed up as Donkey Kong 3 (US) and launched that game fine. If I changed the name to dkong3j.zip it showed up as Donkey Kong 3 (Japan) and launched the game fine too. I think the front-end of the emulator has to be "aware" of that you're using merged sets.

        thanks for the test! but what you mean by "front end"? emulation station figures out the names by the file name and a hard-coded cross reference of 'full' names. it doesn't know anything about the contents or type of file. you could rename outrun.zip to dkong3.zip and get the same result i think :) i'm more curious as to what is actually being loaded by the emulators in this scenario.

        R 1 Reply Last reply 21 Jun 2016, 22:19 Reply Quote 0
        • R
          Riverstorm @dankcushions
          last edited by 21 Jun 2016, 22:19

          @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

          @Riverstorm said in Which system emlator should I use? I only want to play "Space Invaders":

          @dankcushions Ok I did a quick test and it's based off the name. I used Donkey Kong 3 for my test and I merged two versions of the game. Donkey Kong 3 (US) and Donkey Kong 3 (Japan). If it was named dkong3.zip it showed up as Donkey Kong 3 (US) and launched that game fine. If I changed the name to dkong3j.zip it showed up as Donkey Kong 3 (Japan) and launched the game fine too. I think the front-end of the emulator has to be "aware" of that you're using merged sets.

          thanks for the test! but what you mean by "front end"? emulation station figures out the names by the file name and a hard-coded cross reference of 'full' names. it doesn't know anything about the contents or type of file. you could rename outrun.zip to dkong3.zip and get the same result i think :) i'm more curious as to what is actually being loaded by the emulators in this scenario.

          Hey Dank, I've been on holiday and I usually don't do much with technology during that time, well, mostly. ;)

          I would call ES a front-end. Like Attract Mode, Hyperspin, Maximus Arcade, etc. there's a lot of front-ends for MAME. They just make running games a bit more aesthetically pleasing and usually easier by passing command line parameters and setting different options.

          I agree it probably does scan the folder for archives, cross references another list to add the full name in place of the shortened archive name or something similar. Unless it's an unknown archive name then it would probably leave the name as is.

          You could rename outrun.zip to dkong3.zip but it will fail immediately complaining of missing ROMs like dk3c.5h and other files from the archive.

          The only point I was trying to make above is that you can use a merged archive which could contain all the ROM files needed to run a parent, clone, bootleg, etc. Then name it accordingly and it will run successfully. The front-end/emulator doesn't care about "extra" files it just needs to contain the correct files the run the game as it's named.

          So when I dumped both the US and Japan versions of Donkey Kong 3 into one archive it could run either game completely dependent upon the name as you were saying. Once the front-end passes control to the emulator it is looking for specific ROMs within the archive needed to run that game and in this case the archive contains all the files needed to run multiple versions from the parent down to a bootleg.

          When I said front-end aware basically it would need to scan the master/parent archive looking for complete ROM sets. If it's missing a single file then it would not list the game as working. I don't know what criteria they use (one file, multiple files, complete set) to generate a game list from a merged set but I suppose it would be something like that.

          D 1 Reply Last reply 22 Jun 2016, 15:47 Reply Quote 1
          • D
            dankcushions Global Moderator @Riverstorm
            last edited by 22 Jun 2016, 15:47

            @Riverstorm the reason i asked what you meant by 'frontend' is that some people mean different things (retroarch, mame tab menu, etc) by it, but luckily my assumption you meant emulation station was correct :)

            The only point I was trying to make above is that you can use a merged archive which could contain all the ROM files needed to run a parent, clone, bootleg, etc. Then name it accordingly and it will run successfully. The front-end/emulator doesn't care about "extra" files it just needs to contain the correct files the run the game as it's named.
            So when I dumped both the US and Japan versions of Donkey Kong 3 into one archive it could run either game completely dependent upon the name as you were saying. Once the front-end passes control to the emulator it is looking for specific ROMs within the archive needed to run that game and in this case the archive contains all the files needed to run multiple versions from the parent down to a bootleg.

            ahh, i understand what you mean :) emulation station is 'dumb' in this regard because it just looks at the .zip name and then cross references it with a list of full games, and displays the title. BUT the underlying mame emulator, when launched, will take the .zip name as the game to load, and attempt to locate the relevant rom files of that game within that .zip, and either succeeds or fails. in this manner it can run all variants of a game in a merged .zip.

            so contrary to what i said before, there is no need for underlying mame emulator to present the user with a menu to choose what variant from the merged .zip you are loading - it just loads whatever one the name is for. if you want to load something other than the parent/normal, you just rename :)

            R 1 Reply Last reply 22 Jun 2016, 21:38 Reply Quote 0
            • R
              Riverstorm @dankcushions
              last edited by 22 Jun 2016, 21:38

              @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

              so contrary to what i said before, there is no need for underlying mame emulator to present the user with a menu to choose what variant from the merged .zip you are loading - it just loads whatever one the name is for. if you want to load something other than the parent/normal, you just rename :)

              Exactly! The one thing I am not quite sure on is who (front-end or emulator) contains the parent/clone relationship information to use a merged set.

              I know the current versions of MAME have approximately twice as many clones/variants as it does parents so it could be useful when using a merged set especially for different regions that want to play the game as remembered.

              D 1 Reply Last reply 22 Jun 2016, 23:11 Reply Quote 0
              • D
                dankcushions Global Moderator @Riverstorm
                last edited by 22 Jun 2016, 23:11

                @Riverstorm said in Which system emlator should I use? I only want to play "Space Invaders":

                @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

                so contrary to what i said before, there is no need for underlying mame emulator to present the user with a menu to choose what variant from the merged .zip you are loading - it just loads whatever one the name is for. if you want to load something other than the parent/normal, you just rename :)

                Exactly! The one thing I am not quite sure on is who (front-end or emulator) contains the parent/clone relationship information to use a merged set.

                emulator i guess. all emulationstation does is pass run a command line which is basically (for a libretro emulator):
                /some/dir/retroarch -L /some/dir/libretro-core.so /roms/mame/gamename.zip

                so the emulator works out what it is trying to run from the game name, and then looks for the individual files within that. so if you had this game:

                game1.zip:
                game1.rom
                game2.rom
                commonfile.rom
                

                if you call it game1.zip, mame would look for game1.rom, and commonfile.rom (and find them), and if you rename it to game2.zip, it would look for game2.rom, and commonfile.rom (and find them). that is basically my understanding of merged sets :)

                R 1 Reply Last reply 23 Jun 2016, 15:37 Reply Quote 0
                • R
                  Riverstorm @dankcushions
                  last edited by Riverstorm 23 Jun 2016, 15:37

                  @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

                  if you call it game1.zip, mame would look for game1.rom, and commonfile.rom (and find them), and if you rename it to game2.zip, it would look for game2.rom, and commonfile.rom (and find them). that is basically my understanding of merged sets :)

                  I agree completely but by renaming the archive you're basically using a non-merged or split set parent with extra files.

                  We know in non-merged and split sets that all archive names exist as an actual folder file entry so it's pretty straight forward.

                  With merged it's not quite the same. The DAT files are created from the mame.exe file in each version. That means the DAT has all the information on interdependence between the parent and clones for a merged set.

                  Is MAME aware of merged sets. When I look at the command line I don't see any way to run say dkong3j.zip from dkong3.zip. Dkong3.zip has all the dkong3j.zip ROM files in it's archive but I don't see command line parameters. A hypothetical example: mame.exe dkong3.zip dkong3j.zip where you might specify the parent and then the clone to run. MAME is aware of the children but I don't see the options to work with them.

                  That's why I was asking is the front-end delving into the archives to verify all the clones and creating lists and archives for clones on the fly which doesn't seem likely. A front-end is more like an extension of the emulator passing the command line parameters by checking boxes here and there in a GUI and sprucing up the looks. The other possibility is the emulator is handling it.

                  I mean to cross reference a list by hand and rename an archive to the correct clone almost seems silly as they are such short archaic names from the 8.3 filename era and difficult to remember. That's why I keep thinking there must be some way to run any game from a merged set with the correct command line parameters without renaming it every time. Some clones like Gauntlet you might have a dozen versions.

                  If not then it's just a nice way to save a bit of space. With a big drawback of dropping out to a command prompt to rename your archive when you want to try an alternate version. If that's the case a split set would be more appropriate.

                  D 1 Reply Last reply 23 Jun 2016, 16:24 Reply Quote 0
                  • D
                    dankcushions Global Moderator @Riverstorm
                    last edited by 23 Jun 2016, 16:24

                    @Riverstorm

                    Is MAME aware of merged sets. When I look at the command line I don't see any way to run say dkong3j.zip from dkong3.zip. Dkong3.zip has all the dkong3j.zip ROM files in it's archive but I don't see command line parameters. A hypothetical example: mame.exe dkong3.zip dkong3j.zip where you might specify the parent and then the clone to run. MAME is aware of the children but I don't see the options to work with them.
                    That's why I was asking is the front-end delving into the archives to verify all the clones which doesn't seem likely. A front-end is more like an extension of the emulator passing the command line parameters by checking boxes here and there in a GUI and sprucing up the looks of it. The other possibility is the emulator is handling it.

                    Currently, no, emulationstation has absolutely no idea what it's running. All the fancy mame names are derived from a simple cross reference, I believe, purely based on the zip name. this is why we get lots of users complaining that ES shows the mame games in its gamelist, but they still don't work. well, es is happy as long as the filename is right.. the actual contents of the files is mame's problem :)

                    we're dealing in hypotheticals here, really. mame might have ways of handling loading sets via command line (i can't find any), but you also need our forks of mame (advmame, lr-mame*) to pass the same commands, and the frontend/runcommand to provide an interface to let the user choose. right now you're stuck with renaming.

                    C R 3 Replies Last reply 23 Jun 2016, 17:07 Reply Quote 0
                    • C
                      chavatar @dankcushions
                      last edited by 23 Jun 2016, 17:07

                      @dankcushions

                      All the fancy mame names are derived from a simple cross reference
                      Can I ask how this works a little more? Genuinely trying to get my head around it!

                      C D 2 Replies Last reply 23 Jun 2016, 17:13 Reply Quote 0
                      • R
                        Riverstorm @dankcushions
                        last edited by 23 Jun 2016, 17:09

                        @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

                        we're dealing in hypotheticals here, really. mame might have ways of handling loading sets via command line (i can't find any), but you also need our forks of mame (advmame, lr-mame*) to pass the same commands, and the frontend/runcommand to provide an interface to let the user choose. right now you're stuck with renaming.

                        Good point but most MAME forks have the same core functionality plus whatever "extra" features they want to add. I would imagine if it works in MAME then all the forks would port the code over too.

                        I was more curious rather than a wanted feature. I've been using MAME since the first year of it's release and I've never used merged sets except for quick and dirty testing. I basically stick to non-merge or split. They just come with the territory when doing ROM management.

                        After typing it all out it's really a straight forward question that maybe I can post on a MAME forum to get a better understanding of their purpose and how to use them. Usually they have good creative reasons for what they had in mind or where trying to accomplish, usually! ;)

                        1 Reply Last reply Reply Quote 0
                        • C
                          chavatar @chavatar
                          last edited by 23 Jun 2016, 17:13

                          @chavatar PS Ignore the formatting, and don't dumb it down ;)

                          1 Reply Last reply Reply Quote 0
                          • caver01C
                            caver01
                            last edited by 23 Jun 2016, 17:27

                            I don't know if this helps or hurts the discussion, but for those of us who would rather manage a subset of ROMs on our systems (saves space, cleaner--no clones), I have always just generated non-merged archives as needed.

                            For example, I typically play Joust (Solid, Red Label). This is, of course, a specific clone. From a split set, you can't play joustr.zip unless you also have joust.zip (parent). But I don't want both of these in my menu. Solution: simply create a non-merged archive by unzipping both and copying the files from joust.zip into joustr.zip. Re-zip. Delete the parent. Done. Now, ES sees only Joust (Solid Red Label) and when launched, MAME finds the parent ROMs inside too.

                            If you have a merged archive (joust.zip with ALL clone components) You don't have to stop and rename it when you want to play a clone--just make a copy and give each copy the name of the clone/parent that you want to play and they will both be in the ES menu.

                            My 4-player cocktail style cabinet built as a custom "roadcase"

                            caver01C 1 Reply Last reply 23 Jun 2016, 17:32 Reply Quote 0
                            • caver01C
                              caver01 @caver01
                              last edited by 23 Jun 2016, 17:32

                              I think the points in my example have already been made, but even if MAME could launch a specific clone based on command line params, it wouldn't matter because you still need to represent the specific clones to ES which builds the menu based on the ROMs it finds. In other words, you'd have to drop an archaically-named file into the ROMs folder anyway, so it might as well be an actual ROM with the merged parts inside.

                              My 4-player cocktail style cabinet built as a custom "roadcase"

                              R 1 Reply Last reply 23 Jun 2016, 18:02 Reply Quote 0
                              • R
                                Riverstorm @dankcushions
                                last edited by 23 Jun 2016, 17:51

                                @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

                                right now you're stuck with renaming.

                                It does indeed work. I just finished building a 0.78 set (lr-mame2003) and merged dkong3.zip, dkong3j.zip and dkong3b.zip into one archive. When using -verifyroms switch it does indeed see 3 working versions.

                                C:\Temp\MAME\mame078b>mame -verifyroms
                                dkong3b : dk3b-c.1d        512 bytes ROM NEEDS REDUMP
                                dkong3b : dk3b-c.1c        512 bytes ROM NEEDS REDUMP
                                dkong3b : dk3b-v.2n        256 bytes ROM NEEDS REDUMP
                                romset dkong3b [dkong3] is best available
                                3 romsets found, 3 were OK.
                                

                                All 3 games run fine. The US and Japan version work with no issues. The bootleg on Donkey Kong Jr. hardware complains of needed ROM redumps but does run with improper colors from the Donkey Jr. color pallete (this has nothing to do with what we were trying to test but the bootleg hardware it runs on).

                                The only file present in the ROMs folder is the parent dkong3.zip but when I run mame dkong3j or mame dkong3b they work like a champ.

                                With that information we know MAME is aware and can use all variants of the parent without the "physical" file being present. Now it's just a question of populating the game directory list (not necessarily with files) as it knows to look to the parent automatically when the proper clone/child name is passed.

                                It could cut down on directory entries if you use a lot of variants by combining a parent and maybe a clone or regional version you might like to play.

                                caver01C D 2 Replies Last reply 23 Jun 2016, 18:02 Reply Quote 0
                                • caver01C
                                  caver01 @Riverstorm
                                  last edited by 23 Jun 2016, 18:02

                                  @Riverstorm said in Which system emlator should I use? I only want to play "Space Invaders":

                                  The only file present in the ROMs folder is the parent dkong3.zip but when I run mame dkong3j or mame dkong3b they work like a champ.

                                  That's actually a great test and good to know it works that way. To take advantage of the simplified directory, you now need a way to edit the menu list displayed in ES, and I think this is where practicality will win in the end. It's going to be easier in the long run to "manage" the menu by way of the files present in the ROM folder.

                                  My 4-player cocktail style cabinet built as a custom "roadcase"

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dankcushions Global Moderator @Riverstorm
                                    last edited by 23 Jun 2016, 18:02

                                    @Riverstorm said in Which system emlator should I use? I only want to play "Space Invaders":

                                    @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

                                    right now you're stuck with renaming.

                                    It does indeed work. I just finished building a 0.78 set (lr-mame2003) and merged dkong3.zip, dkong3j.zip and dkong3b.zip into one archive. When using -verifyroms switch it does indeed see 3 working versions.

                                    C:\Temp\MAME\mame078b>mame -verifyroms
                                    dkong3b : dk3b-c.1d        512 bytes ROM NEEDS REDUMP
                                    dkong3b : dk3b-c.1c        512 bytes ROM NEEDS REDUMP
                                    dkong3b : dk3b-v.2n        256 bytes ROM NEEDS REDUMP
                                    romset dkong3b [dkong3] is best available
                                    3 romsets found, 3 were OK.
                                    

                                    All 3 games run fine. The US and Japan version work with no issues. The bootleg on Donkey Kong Jr. hardware complains of needed ROM redumps but does run with improper colors from the Donkey Jr. color pallete (this has nothing to do with what we were trying to test but the bootleg hardware it runs on).

                                    The only file present in the ROMs folder is the parent dkong3.zip but when I run mame dkong3j or mame dkong3b they work like a champ.

                                    With that information we know MAME is aware and can use all variants of the parent without the "physical" file being present. Now it's just a question of populating the game directory list (not necessarily with files) as it knows to look to the parent automatically when the proper clone/child name is passed.

                                    no, we know that mame current can cope, but with retropie we're using 10+ year old versions of mame, and forks of them to boot, with their own command line interfaces. so you're stuck with renaming in retropie :)

                                    R 1 Reply Last reply 23 Jun 2016, 18:06 Reply Quote 0
                                    • R
                                      Riverstorm @caver01
                                      last edited by 23 Jun 2016, 18:02

                                      @caver01 said in Which system emlator should I use? I only want to play "Space Invaders":

                                      In other words, you'd have to drop an archaically-named file into the ROMs folder anyway, so it might as well be an actual ROM with the merged parts inside.

                                      I suppose you could store all the files in the parent and have a empty file for the variant but gosh it seems like all the pieces are there it's just getting the front-end in the know.

                                      I pretty much always use non-merged as some the "main" versions from our region are clones. That way I don't have to pull in extra versions with a split set. I am sure the MAME devs have a method to how they designate the master/parent.

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        Riverstorm @dankcushions
                                        last edited by 23 Jun 2016, 18:06

                                        @dankcushions said in Which system emlator should I use? I only want to play "Space Invaders":

                                        no, we know that mame current can cope, but with retropie we're using 10+ year old versions of mame, and forks of them to boot, with their own command line interfaces. so you're stuck with renaming in retropie :)

                                        That's why I posted the version (0.78) which is 13 years old and it works fine. It's not the emulator that needs tweaking it would be the front-end as the functionality is already in place and has been for well over 10 years. I'm not saying ES will have it anytime soon or ever. I was just pointing out that it does work after doing some testing.

                                        D 1 Reply Last reply 23 Jun 2016, 18:09 Reply Quote 0
                                        • D
                                          dankcushions Global Moderator @Riverstorm
                                          last edited by dankcushions 23 Jun 2016, 18:09

                                          @Riverstorm but that's still not what we're using. we're using LR-mame2003, which does not use that command line interface. libretro/retroarch is its own interface.

                                          R 1 Reply Last reply 23 Jun 2016, 18:43 Reply Quote 0
                                          • First post
                                            Last post

                                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                                            This community forum collects and processes your personal information.
                                            consent.not_received