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

    Explaination of rom hierarchy in FBA DAT file

    Scheduled Pinned Locked Moved Help and Support
    fbalphadatfilefba
    9 Posts 4 Posters 2.6k 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.
    • retrocakeR
      retrocake
      last edited by retrocake

      Can someone explain the rom hierarchy in the FBA DAT file? I know that some entries are language specific, so those specific romsets can be deleted as I will never use them. From what I can tell, the "root" (ie, without "romof"), appears to be the latest and/or most widely accepted version, where as the others simply have the modified/additional files in their romset to create a new version. Also, what is the difference between "cloneof" and "romof"?

      Second, take for instance the following:

      <game name="capbowl">
      	<description>Capcom Bowling (set 1)</description>
      	<year>1988</year>
      	<manufacturer>Incredible Technologies / Capcom</manufacturer>
      	<rom name="u6" size="32768" crc="14924c96"/>
      	<rom name="gr0" size="32768" crc="ef53ca7a"/>
      	<rom name="gr1" size="32768" crc="27ede6ce"/>
      	<rom name="gr2" size="32768" crc="e49238f4"/>
      	<rom name="sound.u30" size="32768" crc="8c9c3b8a"/>
      </game>
      <game name="capbowl2" cloneof="capbowl" romof="capbowl">
      	<description>Capcom Bowling (set 2)</description>
      	<year>1988</year>
      	<manufacturer>Incredible Technologies / Capcom</manufacturer>
      	<rom name="program_rev_3_u6.u6" size="32768" crc="9162934a"/>
      	<rom name="gr0" merge="gr0" size="32768" crc="ef53ca7a"/>
      	<rom name="gr1" merge="gr1" size="32768" crc="27ede6ce"/>
      	<rom name="gr2" merge="gr2" size="32768" crc="e49238f4"/>
      	<rom name="sound.u30" merge="sound.u30" size="32768" crc="8c9c3b8a"/>
      </game>
      <game name="capbowl3" cloneof="capbowl" romof="capbowl">
      	<description>Capcom Bowling (set 3)</description>
      	<year>1988</year>
      	<manufacturer>Incredible Technologies / Capcom</manufacturer>
      	<rom name="3.0_bowl.u6" size="32768" crc="32e30928"/>
      	<rom name="grom0-gr0.gr0" size="32768" crc="2b5eb091"/>
      	<rom name="grom1-gr1.gr1" size="32768" crc="880e4e1c"/>
      	<rom name="grom2-gr2.gr2" size="32768" crc="f3d2468d"/>
      	<rom name="sound_r2_u30.u30" size="32768" crc="43ac1658"/>
      </game>
      <game name="capbowl4" cloneof="capbowl" romof="capbowl">
      	<description>Capcom Bowling (set 4)</description>
      	<year>1988</year>
      	<manufacturer>Incredible Technologies / Capcom</manufacturer>
      	<rom name="bfb.u6" size="32768" crc="79f1d083"/>
      	<rom name="grom0-gr0.gr0" size="32768" crc="2b5eb091"/>
      	<rom name="grom1-gr1.gr1" size="32768" crc="880e4e1c"/>
      	<rom name="grom2-gr2.gr2" size="32768" crc="f3d2468d"/>
      	<rom name="bfb.u30" size="32768" crc="6fe2c4ff"/>
      </game>
      

      What exactly does "set 1" through "set 4" actually mean? And the listed files in set don't really seem to override, and there doesn't appear to be a common file among all romsets that acts as the boot rom. I'm confused by this.

      arcadez2003A 1 Reply Last reply Reply Quote 0
      • arcadez2003A
        arcadez2003 @retrocake
        last edited by

        @retrocake said in Explaination of rom hierarchy in FBA DAT file:

        Can someone explain the rom hierarchy in the FBA DAT file? I know that some entries are language specific, so those specific romsets can be deleted as I will never use them. From what I can tell, the "root" (ie, without "romof"), appears to be the latest and/or most widely accepted version, where as the others simply have the modified/additional files in their romset to create a new version. Also, what is the difference between "cloneof" and "romof"?

        No difference per say other than that Roms with this tag would require the parent eg set 1 in order to work unless you make them the parent but thats another story :)

        @retrocake said in Explaination of rom hierarchy in FBA DAT file:

        What exactly does "set 1" through "set 4" actually mean? And the listed files in set don't really seem to override, and there doesn't appear to be a common file among all romsets that acts as the boot rom. I'm confused by this.

        It means 4 versions of this game have been dumped from the original Arcade pcb's

        Arcade Addict

        retrocakeR 1 Reply Last reply Reply Quote 0
        • retrocakeR
          retrocake @arcadez2003
          last edited by

          @gamez-fan

          So, regarding my first question, does the official FBA DAT file provided by lr-fbalpha organize the hierarchy so that the parent of a romset is the most current/preferred? It appears to be organized that way.

          The entire point of my questioning is to determine which romset zips I can remove so that I don't have duplicate games in my game list in RetroPie. If the parent is preferred, then I can just delete the all the children. Unless RetroPie's FBA interface can automatically choose the preferred romset and hide everything else. That would be a great option to have.

          arcadez2003A 1 Reply Last reply Reply Quote 0
          • arcadez2003A
            arcadez2003 @retrocake
            last edited by

            @retrocake said in Explaination of rom hierarchy in FBA DAT file:

            @gamez-fan

            So, regarding my first question, does the official FBA DAT file provided by lr-fbalpha organize the hierarchy so that the parent of a romset is the most current/preferred? It appears to be organized that way.

            The entire point of my questioning is to determine which romset zips I can remove so that I don't have duplicate games in my game list in RetroPie. If the parent is preferred, then I can just delete the all the children. Unless RetroPie's FBA interface can automatically choose the preferred romset and hide everything else. That would be a great option to have.

            The parent is always the prefered Rom due it usually being the newest revison of a game they have dumped, but sometimes a clone can have benefits due to that version
            of a game being uncencored, BTW you need to grab a handy programe called Romcentre or even CLRMAMEPRO with those you can specify what type of Roms you want to
            favour eg parent and set the programe to delete the clones while it scans your Roms folder.

            Arcade Addict

            retrocakeR 1 Reply Last reply Reply Quote 0
            • retrocakeR
              retrocake @arcadez2003
              last edited by

              @gamez-fan said in Explaination of rom hierarchy in FBA DAT file:

              a handy programe called Romcentre or even CLRMAMEPRO with those you can specify what type of Roms you want to
              favour eg parent and set the programe to delete the clones while it scans your Roms folder.

              whhaaaaaaat?!?!?!?! :) :) :) :) :)

              @gamez-fan, you're my favorite person in the world right now.

              RionR retrocakeR 2 Replies Last reply Reply Quote 0
              • RionR
                Rion @retrocake
                last edited by

                @retrocake You should check out @markwkidd 's excellent tool Simple Arcade Multifilter - app for MAME and FB Alpha ROM sets

                FBNeo rom filtering
                Mame2003 Arcade Bezels
                Fba Arcade Bezels
                Fba NeoGeo Bezels

                1 Reply Last reply Reply Quote 2
                • retrocakeR
                  retrocake @retrocake
                  last edited by

                  @retrocake said in Explaination of rom hierarchy in FBA DAT file:

                  Romcentre or even CLRMAMEPRO

                  It looks like Romcentre and CLRMAMEPRO are closed source binaries. I won't use those. Thanks, though.

                  1 Reply Last reply Reply Quote 0
                  • retrocakeR
                    retrocake
                    last edited by

                    Why can't I just do this?

                    cp original_roms/*.zip roms/
                    
                    grep cloneof FB\ Alpha\ v0.2.97.42\ \(ClrMame\ Pro\ XML\).dat | sed -rn 's/.* name="([a-z0-9]+)" .*/\1/p' >> remove_roms.txt
                    
                    grep neogeo FB\ Alpha\ v0.2.97.42\ \(ClrMame\ Pro\ XML\).dat | sed -rn 's/.* name="([a-z0-9]+)" .*/\1/p' >> remove_roms.txt
                    
                    for file in `cat remove_roms.txt`; do rm roms/$file.zip;done;
                    
                    B 1 Reply Last reply Reply Quote 0
                    • B
                      barbudreadmon @retrocake
                      last edited by

                      @retrocake said in Explaination of rom hierarchy in FBA DAT file:

                      Why can't I just do this?

                      cp original_roms/*.zip roms/
                      
                      grep cloneof FB\ Alpha\ v0.2.97.42\ \(ClrMame\ Pro\ XML\).dat | sed -rn 's/.* name="([a-z0-9]+)" .*/\1/p' >> remove_roms.txt
                      
                      grep neogeo FB\ Alpha\ v0.2.97.42\ \(ClrMame\ Pro\ XML\).dat | sed -rn 's/.* name="([a-z0-9]+)" .*/\1/p' >> remove_roms.txt
                      
                      for file in `cat remove_roms.txt`; do rm roms/$file.zip;done;
                      

                      Yes, it would remove clones and neogeo games. If you search on this forum, i think you can also find a list of clones worth keeping (i kinda remember seeing topics about this).
                      Also, it is worth mentioning sometimes parent roms are marked as NW (non working) and are in the romset only to allow their clones to work
                      Actually, if you want to write your own script to filter games out, i would recommend writing something that parse https://github.com/libretro/fbalpha/blob/master/gamelist.txt since the NW information is present.

                      FBNeo developer - github - forum

                      1 Reply Last reply Reply Quote 1
                      • 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.