Sega Genesis Collection (playstation2, psp) - farmerbb/RED-Project GitHub Wiki

Create the folder you want to place the roms.

Mount the game ISO using WinCDEmu.

Copy all the .SR files from the 0CLASSIC folder inside the ISO into the folder you created.

Place quickbms.exe into the same folder.

Save the following as extract_sgc_roms.bat in the same folder:

@echo off
setlocal enabledelayedexpansion

rem Path to QuickBMS executable
set quickbms_path="quickbms.exe"

rem Path to your BMS script
set bms_script="sr.bms"

rem Path to the directory containing .SR files
set sr_directory="."

rem Output directory
set output_directory="roms"

rem Loop through all .SR files in the directory
for %%f in (%sr_directory%\*.SR) do (
    echo Processing %%f
    %quickbms_path% %bms_script% "%%f" %output_directory%
)

echo All files processed.
pause

Save the following as sr.bms in the same folder:

# Extract Genesis rom files from .SR archives found in
# Sega Genesis Collection for ps2 and PSP
# These are stored in the 0CLASSIC folder inside the ISO

comtype zlib

getct HEADER string 0x0a
string ELEMENTS S HEADER FILES DUMMY START_OFF

for i = 0 < FILES
    getct ENTRY string 0x0a
    string ELEMENTS S ENTRY OFFSET SIZE CHANNELS FREQUENCY BITS NAME
    
    set EXT extension NAME
    if EXT == "QZ"
        math OFFSET + START_OFF
        
        # Read decompressed size
        goto OFFSET
        get DECOMPRESSED_SIZE long
        
        math OFFSET + 4  # Skip the 4-byte decompressed size header
        math ZSIZE = SIZE
        math ZSIZE -= 4  # Adjust ZSIZE to account for the skipped header
        
        string NAME -= ".68k.QZ"
        string NAME += ".bin"
        
        clog NAME OFFSET ZSIZE DECOMPRESSED_SIZE
    endif
next i

Finally double click extract_sgc_roms.bat to run the extraction which will prompt you to create the roms folder and proceed to extract all the roms.

Alternatively, you can use offzip.exe to deflate the compressed roms contained in 0CLASSIC folder following the instructions below (but it's much more manual work and messy):

https://gamebanana.com/tuts/12861