mirror of
https://github.com/SabreTools/MPF.git
synced 2026-02-05 13:49:40 +00:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
106f16d703 | ||
|
|
b251ae7927 | ||
|
|
3a749b67e3 | ||
|
|
3abc277aab | ||
|
|
894f2c6fde | ||
|
|
8c43615235 | ||
|
|
bbf51a7f94 | ||
|
|
515e58fae8 | ||
|
|
f3319f4ee2 | ||
|
|
e2789ddd11 | ||
|
|
1c04f6e30c | ||
|
|
c7d4d319ce | ||
|
|
13a5f02082 | ||
|
|
a188cad6ee | ||
|
|
039cbf6de4 | ||
|
|
c0cf207776 | ||
|
|
16ae5e1c66 | ||
|
|
bfca66951d | ||
|
|
5b777c3bb5 | ||
|
|
4b840ebe4f | ||
|
|
d38c5cd051 | ||
|
|
7fa9c5c296 | ||
|
|
3a28bc798a |
13
App.config
13
App.config
@@ -1,6 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="DICUI.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<DICUI.Properties.Settings>
|
||||
<setting name="
|
||||
" serializeAs="String">
|
||||
<value>Release_ANSI\\DiscImageCreator.exe</value>
|
||||
</setting>
|
||||
</DICUI.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
@@ -109,19 +109,10 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
|
||||
@@ -5,32 +5,32 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:DICUI"
|
||||
mc:Ignorable="d"
|
||||
Title="Disc Image Creator GUI" Height="350" Width="500">
|
||||
Title="Disc Image Creator GUI" Height="400" Width="600">
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="4*"/>
|
||||
<ColumnDefinition Width="13*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="3*"/>
|
||||
<RowDefinition Height="4*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,5,5.2,5.4" HorizontalAlignment="Stretch" Header="Settings"/>
|
||||
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,4.6,5.2,4.8" HorizontalAlignment="Stretch" Header="Controls"/>
|
||||
<GroupBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,5.2,5.2,4.8" HorizontalAlignment="Stretch" Header="Status"/>
|
||||
|
||||
|
||||
<GroupBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="5" HorizontalAlignment="Stretch" Header="Informations Input"/>
|
||||
<GroupBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="5" HorizontalAlignment="Stretch" Header="Control"/>
|
||||
<GroupBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Margin="5" HorizontalAlignment="Stretch" Header="Status"/>
|
||||
|
||||
|
||||
<Grid Grid.Row="0" Grid.Column="0" Margin="15,25,15,10">
|
||||
<Grid Grid.Row="0" Grid.Column="0" Margin="15,25,15.2,10.4" Grid.ColumnSpan="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="3*"/>
|
||||
<ColumnDefinition Width="2.5*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
@@ -42,7 +42,7 @@
|
||||
<Label Grid.Row="3" Grid.Column="0" VerticalAlignment="Center">Drive Letter</Label>
|
||||
<Label Grid.Row="4" Grid.Column="0" VerticalAlignment="Center">Drive Speed</Label>
|
||||
|
||||
<ComboBox x:Name="CB_DiscType" Grid.Row="0" Grid.Column="1" Height="22" Text="Bandai Playdia Quick Interactive System" SelectionChanged="CB_DiscType_SelectionChanged">
|
||||
<ComboBox x:Name="cmb_DiscType" Grid.Row="0" Grid.Column="1" Height="22" Text="Bandai Playdia Quick Interactive System" DropDownClosed="cmb_DiscType_DropDownClosed" SelectionChanged="cmb_DiscType_SelectionChanged">
|
||||
<ComboBoxItem Content="Unknown"/>
|
||||
<ComboBoxItem Content="---------- Consoles ----------" IsEnabled="False"/>
|
||||
<ComboBoxItem Content="Bandai Playdia Quick Interactive System"/>
|
||||
@@ -66,10 +66,7 @@
|
||||
<ComboBoxItem Content="Apple Macintosh (CD-Rom)"/>
|
||||
<ComboBoxItem Content="Apple Macintosh (DVD-Rom)"/>
|
||||
<ComboBoxItem Content="Fujitsu FM Towns series"/>
|
||||
<ComboBoxItem Content="IBM PC Compatible (CD-Rom) No Copy Protection"/>
|
||||
<ComboBoxItem Content="IBM PC Compatible (CD-Rom) SecuROM"/>
|
||||
<ComboBoxItem Content="IBM PC Compatible (CD-Rom) Detectable Protection"/>
|
||||
<ComboBoxItem Content="IBM PC Compatible (CD-Rom) C2 Error Protection"/>
|
||||
<ComboBoxItem Content="IBM PC Compatible (CD-Rom)"/>
|
||||
<ComboBoxItem Content="IBM PC Compatible (DVD-Rom)"/>
|
||||
<ComboBoxItem Content="NEC PC-88"/>
|
||||
<ComboBoxItem Content="NEC PC-98"/>
|
||||
@@ -85,46 +82,49 @@
|
||||
<ComboBoxItem Content="Tomy Kiss-Site"/>
|
||||
<ComboBoxItem Content="Video CD"/>
|
||||
</ComboBox>
|
||||
<TextBox x:Name="TXT_OutputFilename" Grid.Row="1" Grid.Column="1" Height="22"></TextBox>
|
||||
<TextBox x:Name="TXT_OutputDirectory" Grid.Row="2" Grid.Column="1" Height="22" Width="290" HorizontalAlignment="left" Text="ISO" ></TextBox>
|
||||
<Button x:Name="BTN_OutputDirectoryBrowse" Grid.Row="2" Grid.Column="1" Height="22" Width="50" HorizontalAlignment="Right" Content="Browse" Click="BTN_OutputDirectoryBrowse_Click" ></Button>
|
||||
<ComboBox x:Name="CB_DriveLetter" Grid.Row="3" Grid.Column="1" Height="22" Width="60" HorizontalAlignment="left">
|
||||
|
||||
</ComboBox>
|
||||
<ComboBox x:Name="CB_DriveSpeed" Grid.Row="4" Grid.Column="1" Height="22" Width="60" HorizontalAlignment="left" SelectionChanged="CB_DriveSpeed_SelectionChanged">
|
||||
|
||||
<TextBox x:Name="txt_OutputFilename" Grid.Row="1" Grid.Column="1" Height="22"></TextBox>
|
||||
|
||||
<TextBox x:Name="txt_OutputDirectory" Grid.Row="2" Grid.Column="1" Height="22" Width="345" HorizontalAlignment="left" Text="ISO" ></TextBox>
|
||||
<Button x:Name="BTN_OutputDirectoryBrowse" Grid.Row="2" Grid.Column="1" Height="22" Width="50" HorizontalAlignment="Right" Content="Browse" Click="BTN_OutputDirectoryBrowse_Click" ></Button>
|
||||
|
||||
<ComboBox x:Name="cmb_DriveLetter" Grid.Row="3" Grid.Column="1" Height="22" Width="397" HorizontalAlignment="left" SelectionChanged="cmb_DriveLetter_SelectionChanged"></ComboBox>
|
||||
|
||||
<ComboBox x:Name="cmb_DriveSpeed" Grid.Row="4" Grid.Column="1" Height="22" Width="60" HorizontalAlignment="left" SelectionChanged="cmb_DriveSpeed_SelectionChanged">
|
||||
<ComboBoxItem Content="4"/>
|
||||
<ComboBoxItem Content="8"/>
|
||||
<ComboBoxItem Content="16"/>
|
||||
<ComboBoxItem Content="48"/>
|
||||
<ComboBoxItem Content="Custom"/>
|
||||
</ComboBox>
|
||||
|
||||
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Row="1" Grid.Column="0" Margin="15,20,15,10">
|
||||
<Grid Grid.Row="1" Grid.Column="0" Margin="15,19.6,15.2,9.8" Grid.ColumnSpan="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Button x:Name="BTN_Start" Grid.Row="0" Grid.Column="0" Height="22" Width="150" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Start Dumping" Click="BTN_Start_Click" IsEnabled="False" />
|
||||
<Button x:Name="BTN_Search" Grid.Row="0" Grid.Column="1" Height="22" Width="150" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Scan for disks" Click="BTN_Search_Click" />
|
||||
|
||||
<Button x:Name="btn_Start" Grid.Row="0" Grid.Column="0" Height="22" Width="150" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Start Dumping" Click="btn_Start_Click" IsEnabled="False" />
|
||||
<Button x:Name="btn_Search" Grid.Row="0" Grid.Column="1" Height="22" Width="150" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Scan for disks" Click="btn_Search_Click" />
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Row="2" Grid.Column="0" Margin="15,20,15,10">
|
||||
<Grid Grid.Row="2" Grid.Column="0" Margin="15,20.2,15.2,9.8" Grid.ColumnSpan="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Label x:Name="LBL_Status" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Waiting for CD or DVD..." />
|
||||
|
||||
<Label x:Name="lbl_Status" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Waiting for CD or DVD..." />
|
||||
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
|
||||
|
||||
</Window>
|
||||
|
||||
@@ -6,36 +6,49 @@ using WinForms = System.Windows.Forms;
|
||||
using System.Diagnostics;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
namespace DICUI
|
||||
{
|
||||
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public String discType;
|
||||
public String processArguments;
|
||||
public String dicPath = "Programs\\DiscImageCreator.exe";
|
||||
public String driveLetter;
|
||||
public String outputDirectory;
|
||||
public String outputFileName;
|
||||
public String driveSpeed;
|
||||
public Boolean isCDRom = false;
|
||||
public Boolean isPSX = false;
|
||||
public Boolean isXboneOrPS4 = false;
|
||||
|
||||
public void ScanForDisk()
|
||||
{
|
||||
BTN_Search.IsEnabled = false;
|
||||
CB_DriveLetter.Items.Clear();
|
||||
btn_Search.IsEnabled = false;
|
||||
cmb_DriveLetter.Items.Clear();
|
||||
foreach (var d in DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.CDRom))
|
||||
{
|
||||
if (d.IsReady == true)
|
||||
{
|
||||
TXT_OutputFilename.Text = d.VolumeLabel;
|
||||
txt_OutputFilename.Text = d.VolumeLabel;
|
||||
|
||||
if (TXT_OutputFilename.Text == "")
|
||||
if (txt_OutputFilename.Text == "")
|
||||
{
|
||||
TXT_OutputFilename.Text = "unknown";
|
||||
txt_OutputFilename.Text = "unknown";
|
||||
}
|
||||
CB_DriveLetter.Items.Add(d.Name.Replace(":\\", ""));
|
||||
CB_DriveLetter.SelectedIndex = 0;
|
||||
TXT_OutputDirectory.Text = "ISO" + "\\" + TXT_OutputFilename.Text + "\\";
|
||||
LBL_Status.Content = "CD or DVD found ! Choose your Disc Type";
|
||||
BTN_Start.IsEnabled = true;
|
||||
CB_DriveSpeed.Text = "8";
|
||||
cmb_DriveLetter.Items.Add(d.Name + d.VolumeLabel);
|
||||
cmb_DriveLetter.SelectedIndex = 0;
|
||||
txt_OutputDirectory.Text = "ISO" + "\\" + txt_OutputFilename.Text;
|
||||
lbl_Status.Content = "CD or DVD found ! Choose your Disc Type";
|
||||
btn_Start.IsEnabled = true;
|
||||
cmb_DriveSpeed.Text = "8";
|
||||
}
|
||||
else
|
||||
{
|
||||
LBL_Status.Content = "No CD or DVD found !";
|
||||
cmb_DriveLetter.Items.Add(d.Name + " (No Disc Found or Not supported by Windows)");
|
||||
}
|
||||
BTN_Search.IsEnabled = true;
|
||||
btn_Search.IsEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,41 +60,42 @@ namespace DICUI
|
||||
if (result == WinForms.DialogResult.OK)
|
||||
{
|
||||
String sPath = folderDialog.SelectedPath;
|
||||
TXT_OutputDirectory.Text = sPath;
|
||||
txt_OutputDirectory.Text = sPath;
|
||||
}
|
||||
}
|
||||
|
||||
public async void StartDumping()
|
||||
{
|
||||
String VAR_Type = "";
|
||||
String VAR_Switches = "";
|
||||
String VAR_DriveLetter = CB_DriveLetter.Text;
|
||||
String VAR_OutputDirectory = TXT_OutputDirectory.Text;
|
||||
String VAR_OutputFilename = TXT_OutputFilename.Text;
|
||||
String VAR_DriveSpeed = CB_DriveSpeed.Text;
|
||||
Boolean VAR_IsPSX = false;
|
||||
Boolean VAR_IsXBOXorPS4 = false;
|
||||
BTN_Start.IsEnabled = false;
|
||||
|
||||
switch (Convert.ToString(CB_DiscType.Text))
|
||||
driveLetter = cmb_DriveLetter.Text;
|
||||
outputDirectory = txt_OutputDirectory.Text;
|
||||
outputFileName = txt_OutputFilename.Text;
|
||||
driveSpeed = cmb_DriveSpeed.Text;
|
||||
btn_Start.IsEnabled = false;
|
||||
|
||||
switch (Convert.ToString(cmb_DiscType.Text))
|
||||
{
|
||||
#region Consoles
|
||||
|
||||
case "Bandai Playdia Quick Interactive System":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Bandai / Apple Pippin":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Commodore Amiga CD / CD32 / CDTV":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Mattel HyperScan":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Microsoft XBOX":
|
||||
// Placeholder for later use
|
||||
@@ -90,17 +104,19 @@ namespace DICUI
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Microsoft XBOX One":
|
||||
VAR_Type = "bd";
|
||||
VAR_Switches = "";
|
||||
VAR_IsXBOXorPS4 = true;
|
||||
discType = "bd";
|
||||
processArguments = "";
|
||||
isXboneOrPS4 = true;
|
||||
break;
|
||||
case "NEC PC-Engine / TurboGrafx CD":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "NEC PC-FX / PC-FXGA":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Nintendo GameCube":
|
||||
// Placeholder for later use
|
||||
@@ -112,48 +128,55 @@ namespace DICUI
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Panasonic 3DO":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Philips CD-i":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Sega CD / Mega CD":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Sega Dreamcast":
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Sega Saturn":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "SNK Neo Geo CD":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Sony PlayStation":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
VAR_IsPSX = true;
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
isPSX = true;
|
||||
break;
|
||||
case "Sony PlayStation 2 (CD-Rom)":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Sony PlayStation 2 (DVD-Rom)":
|
||||
VAR_Type = "dvd";
|
||||
VAR_Switches = "";
|
||||
discType = "dvd";
|
||||
processArguments = "";
|
||||
break;
|
||||
case "Sony PlayStation 3":
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Sony PlayStation 4":
|
||||
VAR_Type = "bd";
|
||||
VAR_Switches = "";
|
||||
VAR_IsXBOXorPS4 = true;
|
||||
discType = "bd";
|
||||
processArguments = "";
|
||||
isXboneOrPS4 = true;
|
||||
break;
|
||||
case "Sony PlayStation Portable":
|
||||
// No-op - PSP can't be dumped with DIC
|
||||
@@ -162,8 +185,9 @@ namespace DICUI
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "VTech V.Flash - V.Smile Pro":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "ZAPiT Games Game Wave Family Entertainment System":
|
||||
// Placeholder for later use
|
||||
@@ -177,45 +201,37 @@ namespace DICUI
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Apple Macintosh (CD-Rom)":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Apple Macintosh (DVD-Rom)":
|
||||
VAR_Type = "dvd";
|
||||
VAR_Switches = "";
|
||||
discType = "dvd";
|
||||
processArguments = "";
|
||||
break;
|
||||
case "Fujitsu FM Towns series":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
// TODO: Can protection be determined by a check automatically?
|
||||
case "IBM PC Compatible (CD-Rom) No Copy Protection":
|
||||
VAR_Type = "dvd";
|
||||
VAR_Switches = "/c2";
|
||||
break;
|
||||
case "IBM PC Compatible (CD-Rom) SecuROM":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2 /ns";
|
||||
break;
|
||||
case "IBM PC Compatible (CD-Rom) Detectable Protection":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2 /sf";
|
||||
break;
|
||||
case "IBM PC Compatible (CD-Rom) C2 Error Protection":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2 /ss";
|
||||
case "IBM PC Compatible (CD-Rom)":
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20 /ns /sf /ss";
|
||||
break;
|
||||
case "IBM PC Compatible (DVD-Rom)":
|
||||
VAR_Type = "dvd";
|
||||
VAR_Switches = "";
|
||||
discType = "dvd";
|
||||
processArguments = "";
|
||||
break;
|
||||
case "NEC PC-88":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "NEC PC-98":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Sharp X68000":
|
||||
// Placeholder for later use
|
||||
@@ -232,8 +248,9 @@ namespace DICUI
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Sega Lindbergh":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Sega Naomi":
|
||||
// Placeholder for later use
|
||||
@@ -254,52 +271,55 @@ namespace DICUI
|
||||
#region Others
|
||||
|
||||
case "Audio CD":
|
||||
VAR_Type = "audio";
|
||||
break;
|
||||
case "IBM PC Compatible(CD - Rom) No Copy Protection":
|
||||
VAR_Type = "cd";
|
||||
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "BD-Video":
|
||||
VAR_Switches = "";
|
||||
discType = "bd";
|
||||
processArguments = "";
|
||||
break;
|
||||
case "DVD-Video":
|
||||
VAR_Type = "dvd";
|
||||
discType = "dvd";
|
||||
break;
|
||||
case "PalmOS":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Philips CD-i Digital Video":
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Photo CD":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "PlayStation GameShark Updates":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Tao iKTV":
|
||||
// Placeholder for later use
|
||||
break;
|
||||
case "Tomy Kiss-Site":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
case "Video CD":
|
||||
VAR_Type = "cd";
|
||||
VAR_Switches = "/c2";
|
||||
discType = "cd";
|
||||
isCDRom = true;
|
||||
processArguments = "/c2 20";
|
||||
break;
|
||||
|
||||
#endregion
|
||||
|
||||
case "Unknown":
|
||||
default:
|
||||
VAR_Type = "";
|
||||
VAR_Switches = "";
|
||||
discType = "";
|
||||
processArguments = "";
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -307,46 +327,61 @@ namespace DICUI
|
||||
() =>
|
||||
{
|
||||
Process process = new Process();
|
||||
process.StartInfo.FileName = "Release_ANSI\\DiscImageCreator.exe";
|
||||
process.StartInfo.Arguments = VAR_Type + " " + VAR_DriveLetter + " \"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + "\" " + VAR_DriveSpeed + " " + VAR_Switches;
|
||||
process.StartInfo.FileName = dicPath; // TODO: Make this configurable in UI
|
||||
process.StartInfo.Arguments = discType + " " + driveLetter + " \"" + outputDirectory + "\\" + outputFileName + "\" " + driveSpeed + " " + processArguments;
|
||||
Console.WriteLine(process.StartInfo.Arguments);
|
||||
process.Start();
|
||||
process.WaitForExit();
|
||||
});
|
||||
|
||||
if (VAR_IsXBOXorPS4 == true)
|
||||
if (isXboneOrPS4 == true)
|
||||
{
|
||||
using (StreamWriter writetext = new StreamWriter("PS4orXBOXONE.bat"))
|
||||
// TODO: Add random string / GUID to end of batch file name so that multiple instances can run at once
|
||||
using (StreamWriter writetext = new StreamWriter("XboneOrPS4.bat"))
|
||||
{
|
||||
writetext.WriteLine("sg_raw.exe -v -r 4100 -R " + VAR_DriveLetter + ":" + "ad 01 00 00 00 00 00 00 10 04 00 00 -o \"PIC.bin\"");
|
||||
writetext.WriteLine("sg_raw.exe -v -r 4100 -R " + driveLetter + ": " + "ad 01 00 00 00 00 00 00 10 04 00 00 -o \"PIC.bin\"");
|
||||
}
|
||||
Process processps4orxboxone = new Process();
|
||||
processps4orxboxone.StartInfo.FileName = "PS4orXBOXONE.bat";
|
||||
processps4orxboxone.Start();
|
||||
processps4orxboxone.WaitForExit();
|
||||
Process processXboneOrPS4 = new Process();
|
||||
processXboneOrPS4.StartInfo.FileName = "XboneOrPS4.bat";
|
||||
processXboneOrPS4.Start();
|
||||
processXboneOrPS4.WaitForExit();
|
||||
}
|
||||
if (VAR_IsPSX == true)
|
||||
if (isPSX == true)
|
||||
{
|
||||
// TODO: Add random string / GUID to end of batch file name so that multiple instances can run at once
|
||||
using (StreamWriter writetext = new StreamWriter("PSX.bat"))
|
||||
{
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + ".bin" + "\" > " + "\"" + VAR_OutputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + " (Track 1).bin" + "\" > " + "\"" + VAR_OutputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + " (Track 01).bin" + "\" > " + "\"" + VAR_OutputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "\"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + ".bin" + "\" > " + "\"" + VAR_OutputDirectory + "\\" + "psxt001z1.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "\"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + " (Track 1).bin" + "\" > " + "\"" + VAR_OutputDirectory + "\\" + "psxt001z2.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "\"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + " (Track 01).bin" + "\" > " + "\"" + VAR_OutputDirectory + "\\" + "psxt001z3.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "--libcrypt " + "\"" + VAR_OutputDirectory + "\\" + VAR_OutputFilename + ".sub\" > " + "\"" + VAR_OutputDirectory + "\\" + "libcrypt.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "--libcryptdrvfast " + VAR_DriveLetter + " > " + "\"" + VAR_OutputDirectory + "\\" + "libcryptdrv.log");
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + outputDirectory + "\\" + outputFileName + ".bin" + "\" > " + "\"" + outputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + outputDirectory + "\\" + outputFileName + " (Track 1).bin" + "\" > " + "\"" + outputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + outputDirectory + "\\" + outputFileName + " (Track 01).bin" + "\" > " + "\"" + outputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "\"" + outputDirectory + "\\" + outputFileName + ".bin" + "\" > " + "\"" + outputDirectory + "\\" + "psxt001z1.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "\"" + outputDirectory + "\\" + outputFileName + " (Track 1).bin" + "\" > " + "\"" + outputDirectory + "\\" + "psxt001z2.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "\"" + outputDirectory + "\\" + outputFileName + " (Track 01).bin" + "\" > " + "\"" + outputDirectory + "\\" + "psxt001z3.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "--libcrypt " + "\"" + outputDirectory + "\\" + outputFileName + ".sub\" > " + "\"" + outputDirectory + "\\" + "libcrypt.txt");
|
||||
writetext.WriteLine("psxt001z" + " " + "--libcryptdrvfast " + driveLetter + " > " + "\"" + outputDirectory + "\\" + "libcryptdrv.log");
|
||||
}
|
||||
Process processpsx = new Process();
|
||||
processpsx.StartInfo.FileName = "PSX.bat";
|
||||
processpsx.Start();
|
||||
processpsx.WaitForExit();
|
||||
}
|
||||
BTN_Start.IsEnabled = true;
|
||||
|
||||
|
||||
if (isCDRom == true)
|
||||
{
|
||||
// TODO: Add random string / GUID to end of batch file name so that multiple instances can run at once
|
||||
using (StreamWriter writetext = new StreamWriter("CDRom.bat"))
|
||||
{
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + outputDirectory + "\\" + outputFileName + ".bin" + "\" > " + "\"" + outputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + outputDirectory + "\\" + outputFileName + " (Track 1).bin" + "\" > " + "\"" + outputDirectory + "\\" + "edccchk1.txt");
|
||||
writetext.WriteLine("edccchk" + " " + "\"" + outputDirectory + "\\" + outputFileName + " (Track 01).bin" + "\" > " + "\"" + outputDirectory + "\\" + "edccchk1.txt");
|
||||
|
||||
}
|
||||
Process processpsx = new Process();
|
||||
processpsx.StartInfo.FileName = "CDRom.bat";
|
||||
processpsx.Start();
|
||||
processpsx.WaitForExit();
|
||||
}
|
||||
btn_Start.IsEnabled = true;
|
||||
}
|
||||
|
||||
public MainWindow()
|
||||
@@ -355,7 +390,7 @@ namespace DICUI
|
||||
ScanForDisk();
|
||||
}
|
||||
|
||||
private void BTN_Start_Click(object sender, RoutedEventArgs e)
|
||||
private void btn_Start_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
StartDumping();
|
||||
}
|
||||
@@ -365,24 +400,63 @@ namespace DICUI
|
||||
BrowseFolder();
|
||||
}
|
||||
|
||||
private void BTN_Search_Click(object sender, RoutedEventArgs e)
|
||||
private void btn_Search_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ScanForDisk();
|
||||
}
|
||||
|
||||
private void CB_DiscType_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
|
||||
|
||||
|
||||
private void cmb_DiscType_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
|
||||
{
|
||||
LBL_Status.Content = "Ready to dump";
|
||||
|
||||
|
||||
lbl_Status.Content = "Ready to dump";
|
||||
}
|
||||
|
||||
private void CB_DriveSpeed_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
|
||||
private void cmb_DriveSpeed_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
|
||||
{
|
||||
if (CB_DriveSpeed.SelectedIndex == 4)
|
||||
// TODO: Figure out how to keep the list of items while also allowing the custom input
|
||||
if (cmb_DriveSpeed.SelectedIndex == 4)
|
||||
{
|
||||
CB_DriveSpeed.Items.Clear();
|
||||
CB_DriveSpeed.IsEditable = true;
|
||||
|
||||
cmb_DriveSpeed.Items.Clear();
|
||||
cmb_DriveSpeed.IsEditable = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void cmb_DiscType_DropDownClosed(object sender, EventArgs e)
|
||||
{
|
||||
switch (Convert.ToString(cmb_DiscType.Text))
|
||||
{
|
||||
|
||||
case "Sony PlayStation 4":
|
||||
cmb_DriveSpeed.Items.Clear();
|
||||
cmb_DriveSpeed.IsEnabled = false;
|
||||
break;
|
||||
case "Microsoft XBOX One":
|
||||
cmb_DriveSpeed.Items.Clear();
|
||||
cmb_DriveSpeed.IsEnabled = false;
|
||||
break;
|
||||
default:
|
||||
cmb_DriveSpeed.IsEnabled = true;
|
||||
cmb_DriveSpeed.Items.Clear();
|
||||
cmb_DriveSpeed.Items.Add("4");
|
||||
cmb_DriveSpeed.Items.Add("8");
|
||||
cmb_DriveSpeed.Items.Add("16");
|
||||
cmb_DriveSpeed.Items.Add("48");
|
||||
cmb_DriveSpeed.Items.Add("Custom");
|
||||
cmb_DriveSpeed.SelectedIndex = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void cmb_DriveLetter_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
|
||||
{
|
||||
driveLetter = cmb_DriveLetter.SelectedValue.ToString().Substring(0, 1);
|
||||
Console.WriteLine(driveLetter);
|
||||
btn_Start.IsEnabled = true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
26
Properties/Settings.Designer.cs
generated
26
Properties/Settings.Designer.cs
generated
@@ -1,26 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DICUI.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.6.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
39
README.md
39
README.md
@@ -1,26 +1,43 @@
|
||||
# DICUI
|
||||
This is my current progress on my C# Disc Image Creator UI.
|
||||
|
||||
I am using Disc Image Creator, created by Sarami, and would like to thanks him for this great software.
|
||||
|
||||
You can get the latest code and released on his github right here:
|
||||
https://github.com/saramibreak/DiscImageCreator
|
||||
|
||||
I'm a hobbyist programmer, so this code might not be optimal, feel free to make your recommendation / Pull request.
|
||||
|
||||
I would like this project to be a community project, so if you have some time and knowledge to give, I'll be glad to add you to the contributor of this project :)
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
Currently working on the project:
|
||||
|
||||
ReignStumble - Lead Developer
|
||||
|
||||
|
||||
darksabre76 - Contributer
|
||||
|
||||
NHellFire - Contributer
|
||||
|
||||
Dizzzy - Concept/Ideas/Beta tester
|
||||
|
||||
|
||||
|
||||
2018-05-12
|
||||
|
||||
-----------Initial Build V.1.0-------------
|
||||
|
||||
Download here: https://github.com/reignstumble/DICUI/blob/master/Downloads/DICUI_1.0.zip
|
||||
--------------------------------------------------------------------------
|
||||
2018-05-18
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
2018-05-13
|
||||
|
||||
-----------Latest Build V.1.01b-------------
|
||||
Version 1.02b released:
|
||||
|
||||
Download here: https://github.com/reignstumble/DICUI/blob/master/Downloads/DICUI_1.01b.zip
|
||||
- Fixed XBOX One and PS4 Drive Speed issue. (1.02)
|
||||
- Started implementing DiscImageCreator Path selection. (1.02)
|
||||
- Conforming my naming for objects and variable. (1.02)
|
||||
- Added missing DLL (1.02b)
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
2018-05-14
|
||||
--------------------------------------------------------------------------
|
||||
Version 1.01d released:
|
||||
|
||||
|
||||
Download the latest release here:
|
||||
https://github.com/reignstumble/DICUI/releases
|
||||
|
||||
Reference in New Issue
Block a user