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.1k 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

      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.