B how to build coleco romset for fbneo ?
-
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
-
@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 addAlpharoid 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. -
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?
-
@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 likels
to list the files orcd
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 likealpharoid
that is also ansgm
. -
@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! -
@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).datmost 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 ;-)
-
@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. -
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) -
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.romThen 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.romYou 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 theblackonyx
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.colblackonyx.zip
colecoa.rom coleco.rom czz50.rom svi603.romYou will see that the zip file is created.
Now you can test if the rom really works.Let me know if this helps.
-
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?
-
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 !
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.