Dreamcast Iso Fix Batch File
Dreamcast Iso Fix Batch File
(
echo. >> %workDirMulti%/DP3.ini
echo [Game_ID] >> %workDirMulti%/DP3.ini
echo. >> %workDirMulti%/DP3.ini
echo XGame_ID='610-9999' >> %workDirMulti%/DP3.ini
echo XGame_Ver='V0.999' >> %workDirMulti%/DP3.ini
set volumeName=%compilationFolder%
set gameName=%parseGameNameResult%
set gameFolder=%gameWorkingDir%
set extractedFolder=%compilationFolder%
exit /b
:parse_game_name
set internal_val=%~1
call :parse_game_name_internal %internal_val: =_%
set parseGameNameResult=!parseGameNameResult!!val!
set "val=_"
exit /b
:parse_game_name_internal
for /f "tokens=1* delims=_-:;," %%i in ("%~1") do (
set val=%%i
set val=!val:~0,1!
set parseGameNameResult=%parseGameNameResult%%val%
call :parse_game_name_internal %%j
)
exit /b
:cdi_to_data_data_folder
set filename=%1
set /a shouldCreateCDI=%2
set initialFileFormat=Audio-Data
if "%shouldCreateCDI%"=="" set shouldCreateCDI=1
set gameFolder="%gameWorkingDir%\%gameName%"
mkdir %gameFolder%
cd %gameFolder%
set launchDir=%~dp0
set workDir=%cd%
echo workDir=%workDir%
set sessionNumber=02
if "%trackNumber%"=="01" set sessionNumber=01
set isoFileName=s%sessionNumber%t%trackNumber:~-2%.iso
echo lba=%lba%
echo isoFileName=%isoFileName%
set archiveForExtraction=fixed.iso
::if not exist fixed.iso if exist s01t01.bin set archiveForExtraction=s01t01.bin
set bootFile=""
if %bootFile%=="" (
echo Can't locate boot file ^(1ST_READ.BIN or 0WINCEOS.BIN^). Please pick boot file manually
call :pick_dialog -filter "All Files (*.*)|*.*" -title "Pick boot file (equivalent of 1ST_READ.BIN or
0WINCEOS.BIN)"
for %%i in (!fileNameList!) do set "bootFile=%%~nxi"
)
set bootSector=IP.BIN
echo bootFile="%bootFile%"
cd %launchDir%
exit /b
:bootable_cdi_from_folder
echo.
echo Creating CDI data-data file...
cd %gameFolder%
set volumeName=%gameName:~0,32%
echo volumeName=%volumeName%
if "%manualModification%"=="enabled" (
set /p WAIT=It's time to modify selfboot folder's content. When Ready press ENTER to proceed with creation
of CDI image...
)
echo.
echo Creating bootable ISO from folder...
"%launchDir%\mkisofs" -C 0,0 -G %extractedFolder%\IP.BIN -V %volumeName% -joliet -rock -l -o data.iso
%extractedFolder% >nul
call :delete_folder %extractedFolder% > nul
echo.
echo Creating CDI from ISO... Please Wait...
"%launchDir%\cdi4dc" data.iso %gameName%.cdi -d >nul
echo Creation of %gameName%.cdi is finished.
echo Full path to CDI image is %cd%\%gameName%.cdi
cd %launchDir%
exit /b
:delete_folder
if "%keepFiles%"=="false" (
set folderToDelete=%~1
set folderToDelete=!folderToDelete:"=!
set folderToDelete=!folderToDelete:'=!
echo Deleting folder !folderToDelete!
del /s /f /q "!folderToDelete!" >nul
for /f %%f in ('dir /ad /b "!folderToDelete!"') do rd /s /q "!folderToDelete!"\%%f >nul
rd /s /q "!folderToDelete!" >nul
)
exit /b