Skip to content

Instantly share code, notes, and snippets.

@damieng
Created August 29, 2016 06:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save damieng/10455243c49c4945b7cb3c9f2b2a567f to your computer and use it in GitHub Desktop.
Save damieng/10455243c49c4945b7cb3c9f2b2a567f to your computer and use it in GitHub Desktop.
Dump Amstrad CPC and Spectrum +3 disks using Kryoflux
@echo off
:WARMUP
set DTC_GameTitle=none
set DTC_NumberOfDisks=1
set DTC_Publisher=none
set DTC_ReleaseType=none
set DTC_Year=none
set DTC_Platform=none
set DTC_RecommendedModel=none
:QUESTIONS
cls
echo.
echo SPS Kryoflux CPC/Spectrum Dump Tool 0.7 DG
echo.
:SETNAME
set /p DTC_GameTitle= Game Title [%DTC_GameTitle%] *Required*:
if "%DTC_GameTitle%" == "" GOTO SETNAME
if "%DTC_GameTitle%" == "none" GOTO SETNAME
set /p DTC_NumberOfDisks= Number of Disks [%DTC_NumberOfDisks%]:
set /p DTC_Publisher= Publisher and/or Developer [%DTC_Publisher%]:
set /p DTC_ReleaseType= Retail, Budget or Compilation (with name) [%DTC_ReleaseType%]:
set /p DTC_Year= Year [%DTC_Year%]:
:SETPLATFORM
set /p DTC_Platform= Platform (Spectrum, CPC, etc) [%DTC_Platform%] *Required*:
if "%DTC_Platform%" == "" GOTO SETPLATFORM
if "%DTC_Platform%" == "none" GOTO SETPLATFORM
set /p DTC_RecommendedModel= Recommended Model (+3, 464, 6128+ etc) [%DTC_RecommendedModel%]:
echo.
set /p DTC_AllCorrect= Is This Correct(Y/N)?:
if "%DTC_AllCorrect%" == "Y" goto BUILDTEXTFILE
if "%DTC_AllCorrect%" == "y" goto BUILDTEXTFILE
if "%DTC_AllCorrect%" == "yes" goto BUILDTEXTFILE
goto QUESTIONS
:BUILDTEXTFILE
set DTC_PlatformFileName=[%DTC_Platform%]
mkdir "%DTC_GameTitle%%DTC_PlatformFileName%"
echo Game Title: %DTC_GameTitle% >"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Number of Disks: %DTC_NUmberOfDisks% >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Publisher and/or Developer: %DTC_Publisher% >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Retail, Budget or Compilation (with name): %DTC_ReleaseType% >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Year: %DTC_Year% >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Country of Release: UK >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Language(s): English >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Platform: %DTC_Platform% >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Media Type (3inch, 3.5Inch, 5.25Inch etc): 3inch >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Recommended Model (+3, 464, 6128+ etc): %DTC_RecommendedModel% >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Place of Purchase: none >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Game Working: none >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo NTSC or PAL: PAL >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
echo Any Extra Information: none >>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
set DTC_RemainingDisks=%DTC_NumberOfDisks%
if %DTC_RemainingDisks% GTR 0 goto PREPENV
goto COOLDOWN
:PREPENV
set DTC_CurrentDisk=1
set DTC_DumpDrive=0
:DUMPDISK
echo.
if %DTC_DumpDrive% NEQ 1 set DTC_DumpDrive=0
echo Insert %DTC_GameTitle% Disk %DTC_CurrentDisk% Side A into drive %DTC_DumpDrive% then
pause
echo Disk %DTC_CurrentDisk% Side A Label: "%DTC_CurrentDiskLabel%">>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
dtc -f"%DTC_GameTitle%[%DTC_Platform%]\%DTC_GameTitle%%DTC_PlatformFileName%(%DTC_CurrentDisk%of%DTC_NumberOfDisks%)" -g0 -e41 -i0 -g0 -e41 -i4 -g0 -e41 -i2 -l8 -d%DTC_DumpDrive%
set DTC_CurrentDiskLabel=
echo.
echo Side Dump Complete!
echo Insert %DTC_GameTitle% Disk %DTC_CurrentDisk% Side B into drive %DTC_DumpDrive% then
pause
echo Disk %DTC_CurrentDisk% Side B Label: "%DTC_CurrentDiskLabel%">>"%DTC_GameTitle%%DTC_PlatformFileName%\%DTC_GameTitle%%DTC_PlatformFileName%.txt"
dtc -f"%DTC_GameTitle%[%DTC_Platform%]\%DTC_GameTitle%%DTC_PlatformFileName%(%DTC_CurrentDisk%of%DTC_NumberOfDisks%)" -g1 -e41 -i0 -g1 -e41 -i4 -g1 -e41 -i2 -l8 -d%DTC_DumpDrive%
set /a DTC_CurrentDisk=%DTC_CurrentDisk%+1
set /a DTC_remainingDisks=%DTC_RemainingDisks%-1
if %DTC_RemainingDisks% GTR 0 goto DUMPDISK
Set DTC_AnotherGame=Y
set /p DTC_AnotherGame= Would you like to dump another game (Y/N)? [%DTC_AnotherGame%]:
if %DTC_AnotherGame%==yes set DTC_AnotherGame=Y
if %DTC_AnotherGame%==y set DTC_AnotherGame=Y
if %DTC_AnotherGame% NEQ Y goto COOLDOWN
goto QUESTIONS
:COOLDOWN
set DTC_GameTitle=
set DTC_NumberOfDisks=
set DTC_Publisher=
set DTC_ReleaseType=
set DTC_Year=
set DTC_Platform=
set DTC_RecommendedModel=
set DTC_RemainingDisks=
set DTC_CurrentDisk=
set DTC_PlatformFileName=
set DTC_AnotherGame=
set DTC_AllCorrect=
set DTC_DumpDrive=
echo done!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment