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

    B how to build coleco romset for fbneo ?

    Scheduled Pinned Locked Moved Help and Support
    sgm fbneo
    23 Posts 3 Posters 1.3k 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.
    • F
      Folly @stevejp1978
      last edited by Folly

      @stevejp1978

      I just tried the script and it doesn't work anymore.

      I think this work now, but I have to test it :
      (make a file make-FBneo-roms.sh containing next text and make it executable and run it with ./make-FBneo-roms.sh or run it with "bash make-FBneo-roms.sh")

      #!/bin/bash
      
      #make the directory fbneo_zips inside the rom directory
      mkdir fbneo_zips
      #list only the roms you want to convert and use every file to automate things
      ls -w1 *.rom|grep -v coleco.rom|grep -v colecoa.rom|grep -v cczz50.rom|grep -v svi.rom|while read line
      do 
      #get the crc of the rom
      crc=$(crc32 "$line")
      #read the fbneo name from the dat using the crc if there is a match, with no match the string becomes empty
      fbneo_name=$(cat '/opt/retropie/libretrocores/lr-fbneo/dats/FinalBurn Neo (ClrMame Pro XML, ColecoVision only).dat'|grep -B 4 $crc|grep "rom name"| cut -d '"' -f 2)
      #check if it isn't empty and output all the data and create the zip file
      if [[ -n "$fbneo_name" ]];then
      echo $crc $line $fbneo_name
      zip "fbneo_zips/$fbneo_name.zip" "$line" coleco.rom colecoa.rom czz50.rom svi603.rom
      fi
      #until every file is done
      done
      

      It is easier to just find the romset, just search for fbneo_roms_complete and you should find them.

      Found that you don't have to have coleco.rom,colecoa.rom,czz50.rom,svi603.rom inside the zip file.
      Seems that if you have the coleco.zip with above rom files it should work too.

      edit :
      For example mega8.zip will work if it contains :
      Mecha 8 SGM (2013)(Team Pixelboy).rom
      And you have to have coleco.zip with :
      coleco.rom,colecoa.rom,czz50.rom,svi603.rom

      1 Reply Last reply Reply Quote 0
      • F
        Folly @stevejp1978
        last edited by Folly

        @stevejp1978

        Just tested the script and much more with FBneo has changed so the script will not work !!!
        Just search for "fbneo_roms_complete" or create your .zip rom file manually.
        See edit last post.

        Have to go now.
        Good luck.

        S 1 Reply Last reply Reply Quote 0
        • S
          stevejp1978 @Folly
          last edited by

          @Folly got two czz50 roms czz50-1 and czz50-2, both as is?

          1 Reply Last reply Reply Quote 0
          • S
            stevejp1978
            last edited by

            so far so good, tried a few roms manually, 421, AE, Aerial, and Alpharoid.... Alpharoid is the only one that didn't load...
            now i have both czz50 roms (1&2) in my coleco.zip... wondering if i need a merged copy?

            F 1 Reply Last reply Reply Quote 0
            • S
              stevejp1978
              last edited by

              and to add... it loaded with bluemsx and fbneo

              F 1 Reply Last reply Reply Quote 0
              • F
                Folly @stevejp1978
                last edited by Folly

                @stevejp1978

                Here is my fixed script.
                I tested it and it seems to be working correctly.
                Also making it possible to make split roms.

                #!/bin/bash
                
                #install crc32 if not installed
                if [[ ! -f /usr/bin/crc32 ]];then
                	echo "crc32 is missing installing libarchive-zip-perl"
                	sudo apt install libarchive-zip-perl
                fi
                
                echo "Do you want to make merged roms (y) / split roms (n) ? (y/n)"
                read choice
                #make the directory fbneo_zips inside the rom directory
                mkdir fbneo_zips 2>&-
                #list only the roms you want to convert and use every file to automate things
                ls -w1 *.rom|grep -v coleco.rom|grep -v colecoa.rom|grep -v cczz50.rom|grep -v svi.rom|while read romfile
                do 
                	#get the crc32 of the rom
                	crc32=$(crc32 "$romfile")
                	#read the fbneo name from the dat using the crc32 if there is a match, with no match the string becomes empty
                	#it will list 5 lines back from finding the correct crc32 so the fbneo name can be extracted
                	#the fbneo name is used for the name of the created zip file
                	fbneo_name=$(cat '/opt/retropie/libretrocores/lr-fbneo/dats/FinalBurn Neo (ClrMame Pro XML, ColecoVision only).dat'|grep -B 5 $crc32|grep "game name"| cut -d '"' -f 2)
                	#check if it isn't empty and output all the data and create the zip file
                	echo
                	if [[ -n "$fbneo_name" ]];then
                		echo create fbneo_zips/$fbneo_name.zip with $romfile which has the crc32 $crc32
                		#remove zip file if existing and create a new one
                		rm "fbneo_zips/$fbneo_name.zip" 2>&-
                		if [[ $choice == y ]];then
                			#make merged fbneo roms (coleco roms are inside the zip file)
                			zip "fbneo_zips/$fbneo_name.zip" "$romfile" coleco.rom colecoa.rom czz50.rom svi603.rom
                		else
                			#make split fbneo roms (coleco roms are NOT inside the zip file)
                			zip "fbneo_zips/$fbneo_name.zip" "$romfile"
                		fi
                	else
                		if [[ $romfile != coleco.rom && $romfile != colecoa.rom && $romfile != czz50.rom && $romfile != svi603.rom ]];then
                			echo "$romfile has not been found, no zip file created"
                		fi
                	fi
                #until every file is done
                done
                
                1 Reply Last reply Reply Quote 0
                • F
                  Folly @stevejp1978
                  last edited by Folly

                  @stevejp1978 said in B how to build coleco romset for fbneo ?:

                  Alpharoid is the only one that didn't load...

                  Summarize :

                  Here is the alpharoid part of the dat file :

                  <game name="alpharoid" romof="coleco" sourcefile="coleco/d_coleco.cpp">
                  		<comment>Homebrew, SGM - Super Game Module</comment>
                  		<description>Alpharoid (SGM) (HB)</description>
                  		<year>1986-2018</year>
                  		<manufacturer>Opcode Games - Pony Canyon</manufacturer>
                  		<rom name="Alpharoid SGM (2018)(Opcode Games).col" size="131072" crc="6068db13"/>
                  		<rom name="coleco.rom" merge="coleco.rom" size="8192" crc="3aa93ef3"/>
                  		<rom name="colecoa.rom" merge="colecoa.rom" size="8192" crc="39bb16fc"/>
                  		<rom name="svi603.rom" merge="svi603.rom" size="8192" crc="19e91b82"/>
                  		<rom name="czz50.rom" merge="czz50.rom" size="16384" crc="4999abc6"/>
                  		<video type="raster" orientation="horizontal" width="272" height="228" aspectx="4" aspecty="3"/>
                  		<driver status="good"/>
                  	</game>
                  

                  When manually creating a zip/7z file use the game name for the archive.
                  Only add Alpharoid SGM (2018)(Opcode Games).col to the alpharoid.zip file if you want to create a split rom.
                  (in order to load correctly you need to have coleco.zip with the .rom files)
                  Or add the other .rom files if you want to create a merged rom zip/7z file then you don't need the coleco.zip file.
                  Check the crc32 before adding otherwise the rom will not work.

                  1 Reply Last reply Reply Quote 0
                  • S
                    stevejp1978
                    last edited by

                    feeling a little overwhelmed lol.
                    I understand what I have to do, but i'm very inexperienced and get lost easily.
                    so,firstly, I ran "sudo apt install libarchive-zip-perl" that was ok
                    now to make an executable 'make-FBneo-roms.sh' file and where to put it....lost haha... need to figure that out.

                    Also, I tried to go the easy route and searched and downloaded complete fb neo romset from internet archive but I don't see any SGM listed there... am I missing something?

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      Folly @stevejp1978
                      last edited by Folly

                      @stevejp1978 said in B how to build coleco romset for fbneo ?:

                      feeling a little overwhelmed lol.
                      I understand what I have to do, but i'm very inexperienced and get lost easily.

                      I can understand but bash is really awesome if you understand.
                      It's not that difficult just see it as the old msdos and creating a .bat file.
                      You can find much info on the internet.
                      Start with simple commands like ls to list the files or cd to change directory.

                      so,firstly, I ran "sudo apt install libarchive-zip-perl" that was ok

                      Super.

                      now to make an executable 'make-FBneo-roms.sh' file and where to put it....lost haha... need to figure that out.

                      Go to your coleco rom folder with :

                      cd
                      cd RetroPie/roms/coleco
                      

                      I placed the script on my github just download it in your folder with :

                      wget --backups=1 https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/refs/heads/main/00-scripts-00/make-fbneo.sh
                      

                      Then you can just run it with :

                      bash make-fbneo.sh
                      

                      Also, I tried to go the easy route and searched and downloaded complete fb neo romset from internet archive but I don't see any SGM listed there... am I missing something?

                      The sgm's are just inside the romset but not all have sgm in the name just like alpharoid that is also an sgm.

                      1 Reply Last reply Reply Quote 0
                      • S
                        stevejp1978 @Folly
                        last edited by

                        @Folly said in B how to build coleco romset for fbneo ?:

                        Check the dat file mentioned in the script.
                        Here you can find which game roms are supported and what the crc32 is.
                        Place them in a your specific rom folder, cd to that folder and run the script.

                        How do i check the dat file?
                        most of my sgm games are .col and not .rom.
                        not sure how to cherry pick from the complete romset of FBneo.
                        I've tried your script twice, failed both times... we're getting closer tho!
                        I think i need clarification on exactly what to add to the coleco rom folder and how to name it.
                        I will be buying you a beer after this!

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          Folly @stevejp1978
                          last edited by

                          @stevejp1978 said in B how to build coleco romset for fbneo ?:

                          @Folly said in B how to build coleco romset for fbneo ?:

                          Check the dat file mentioned in the script.
                          Here you can find which game roms are supported and what the crc32 is.
                          Place them in a your specific rom folder, cd to that folder and run the script.

                          How do i check the dat file?

                          If you have installed FBneo then it is here :
                          /opt/retropie/libretrocores/lr-fbneo/dats/FinalBurn Neo (ClrMame Pro XML, ColecoVision only).dat
                          Or you can view it online over here :
                          https://github.com/libretro/FBNeo/blob/master/dats/FinalBurn Neo (ClrMame Pro XML%2C ColecoVision only).dat

                          most of my sgm games are .col and not .rom.

                          The dat file also contains .col files.
                          Might be the ones you have.

                          not sure how to cherry pick from the complete romset of FBneo.
                          I've tried your script twice, failed both times... we're getting closer tho!

                          Can you explain what failed ?
                          Do you have .zip files in the roms/coleco/fbneo_zips ?

                          I think i need clarification on exactly what to add to the coleco rom folder and how to name it.

                          Just your .col and .rom files.

                          I will be buying you a beer after this!

                          That would be nice ;-)

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            stevejp1978 @Folly
                            last edited by

                            @Folly said in B how to build coleco romset for fbneo ?:

                            Can you explain what failed ?
                            Do you have .zip files in the roms/coleco/fbneo_zips ?

                            I did not have the fbneo complete rom set in that directory... no
                            moving that now.
                            I have the 'coleco.rom,colecoa.rom,czz50.rom,svi603.rom' inside the coleco rom directory.

                            1 Reply Last reply Reply Quote 0
                            • S
                              stevejp1978
                              last edited by

                              I need to dumb this down and wrap my head around what's happening here lol, lets say i only wanted to use your script for black onyz.

                              I have a .col file i downloaded called 'black_onyx_colecovision'

                              in the .dat file i'm viewing on github I'm looking at the following:

                              -description is 'Black Onyx, The (HB)'

                              -'game' is 'blackonyx'

                              • rom name is 'Black Onyx, the (2013)(Team Pixelboy).rom'

                              Now with that said there is no reference to 'blackonyx' in the 'fbneo complete romset'.
                              How to proceed using your script?
                              and how to proceed manually?
                              (crc32 looks to be already installed after entering sudo command)

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                Folly @stevejp1978
                                last edited by Folly

                                @stevejp1978

                                From your reply's I can see that you mix things up and that you don't understand.
                                Try to forget most things in this thread.

                                Let start from the beginning.

                                I will try to explain just how to manually convert one .col file to a one merged fbneo .zip file inside the linux terminal.
                                I assume you know how to get there when you need to.

                                You told me that you have a file called :
                                black_onyx_colecovision.col

                                To keep things understandable I recommend that you backup your /home/pi/RetroPie/roms/coleco and place only the necessary files in there.

                                So lets place black_onyx_colecovision.col in :
                                /home/pi/RetroPie/roms/coleco

                                I would recommend you to use that same folder and also place

                                "coleco.rom"
                                "colecoa.rom"
                                "czz50.rom"
                                "svi603.rom"

                                in :
                                /home/pi/RetroPie/roms/coleco
                                (I assume you can manage that the regular way you always do)

                                Now you have to check if your .col file has the proper crc checksum.
                                Go into the terminal and go into the coleco folder like this :

                                cd /home/pi/RetroPie/roms/coleco
                                

                                Now list you files like this :

                                ls
                                

                                The output should be :
                                black_onyx_colecovision.col colecoa.rom coleco.rom czz50.rom svi603.rom

                                Then check if the roms have the correct crc checksum like this :

                                crc32 *
                                

                                (* is a wildcard so it will check all the files)
                                (to check one file it would be : crc32 black_onyx_colecovision.col)
                                The output of "crc32 *" should be :
                                dddd1396 black_onyx_colecovision.col
                                39bb16fc colecoa.rom
                                3aa93ef3 coleco.rom
                                4999abc6 czz50.rom
                                19e91b82 svi603.rom

                                You need to check the dat file if you have the correct roms with the correct checksums.
                                This is what the dat file says :

                                <game name="blackonyx" romof="coleco" sourcefile="coleco/d_coleco.cpp">
                                		<comment>Homebrew, Published by Team Pixelboy</comment>
                                		<description>Black Onyx, The (HB)</description>
                                		<year>1987-2013</year>
                                		<manufacturer>Mystery Man - Sega</manufacturer>
                                		<rom name="Black Onyx, the (2013)(Team Pixelboy).rom" size="65536" crc="dddd1396"/>
                                		<rom name="coleco.rom" merge="coleco.rom" size="8192" crc="3aa93ef3"/>
                                		<rom name="colecoa.rom" merge="colecoa.rom" size="8192" crc="39bb16fc"/>
                                		<rom name="svi603.rom" merge="svi603.rom" size="8192" crc="19e91b82"/>
                                		<rom name="czz50.rom" merge="czz50.rom" size="16384" crc="4999abc6"/>
                                		<video type="raster" orientation="horizontal" width="272" height="228" aspectx="4" aspecty="3"/>
                                		<driver status="good"/>
                                	</game>
                                

                                From the dat file you will see that the files have the correct checksum and if you create a zip file with these files inside that you have a proper FBneo .zip file to load with FBneo.

                                Now lets make a zip file in the same coleco folder like this :

                                zip "blackonyx" "black_onyx_colecovision.col" "coleco.rom" "colecoa.rom" "czz50.rom" "svi603.rom"
                                

                                (I used double quotes to ensure that files with spaces are also found, not necessary here but could be with other files)
                                (used the blackonyx name from the dat to call the zip file the same)
                                (I added all roms to create a standalone full merged FBneo .zip rom file)

                                Now you can check if the file is created like this :

                                ls
                                

                                The output would be :
                                black_onyx_colecovision.col blackonyx.zip colecoa.rom coleco.rom czz50.rom svi603.rom

                                You will see that the zip file is created.
                                Now you can test if the rom really works.

                                Let me know if this helps.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  stevejp1978
                                  last edited by

                                  first of all, thank you very much for this SGM for dummies.

                                  first off my bios for colecoa had the same checksum as coleco...so i had to find one with the right checksum... found a .bin and just renamed it to .rom.... cool.

                                  anyways long story short. it worked for black onyx, not for alpharoid...
                                  and i couldn't zip them in the terminal, had to drag it back to the desktop and zip them there.

                                  Anywho, thank you very much for your help and as promised I would like to buy you a beer or two! got paypal i assume?

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    Folly @stevejp1978
                                    last edited by

                                    @stevejp1978

                                    Good to hear you got it working somehow and learning a thing or two.
                                    No paypal, no worries about a beer I was glad to help.
                                    Cheers !

                                    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.