From 6f0ea2de3eb40bdccaa4ccc3b8cdc26a95b5076a Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 6 May 2019 10:52:07 -0700 Subject: [PATCH] Formats cleanup before adding more --- DICUI.Forms/Constants.cs | 2 +- DICUI.Forms/Options.cs | 2 +- DICUI.Forms/Windows/MainWindow.cs | 15 +- DICUI.Library/Data/Enumerations.cs | 18 +- DICUI.Library/Utilities/Converters.cs | 162 +++++------ DICUI.Library/Utilities/DumpEnvironment.cs | 10 +- DICUI.Library/Utilities/Extensions.cs | 2 +- DICUI.Library/Utilities/Parameters.cs | 6 +- DICUI.Library/Utilities/Validators.cs | 324 ++++++++++++++++++--- DICUI.Test/Utilities/ParametersTest.cs | 4 +- DICUI.Test/Utilities/ValidatorsTest.cs | 2 +- DICUI/Constants.cs | 2 +- DICUI/Options.cs | 2 +- DICUI/Windows/MainWindow.xaml.cs | 2 +- 14 files changed, 386 insertions(+), 167 deletions(-) diff --git a/DICUI.Forms/Constants.cs b/DICUI.Forms/Constants.cs index 678aef96..5539d33c 100644 --- a/DICUI.Forms/Constants.cs +++ b/DICUI.Forms/Constants.cs @@ -36,7 +36,7 @@ namespace DICUI return cd; case MediaType.DVD: case MediaType.HDDVD: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return dvd; case MediaType.BluRay: diff --git a/DICUI.Forms/Options.cs b/DICUI.Forms/Options.cs index 1d8af1ee..7f67a8ba 100644 --- a/DICUI.Forms/Options.cs +++ b/DICUI.Forms/Options.cs @@ -84,7 +84,7 @@ namespace DICUI return PreferredDumpSpeedCD; case MediaType.DVD: case MediaType.HDDVD: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return PreferredDumpSpeedDVD; case MediaType.BluRay: diff --git a/DICUI.Forms/Windows/MainWindow.cs b/DICUI.Forms/Windows/MainWindow.cs index 69b8959a..1cce692d 100644 --- a/DICUI.Forms/Windows/MainWindow.cs +++ b/DICUI.Forms/Windows/MainWindow.cs @@ -301,9 +301,11 @@ namespace DICUI.Forms.Windows .ToList() ); - List comboBoxItems = new List(); - - comboBoxItems.Add(new KnownSystemComboBoxItem(KnownSystem.NONE)); + // Initialize with the NONE system first so it appears on top + List comboBoxItems = new List + { + new KnownSystemComboBoxItem(KnownSystem.NONE) + }; foreach (var group in mapping) { @@ -538,7 +540,7 @@ namespace DICUI.Forms.Windows private void GetOutputNames() { Drive drive = DriveLetterComboBox.SelectedItem as Drive; - KnownSystem? systemType = SystemTypeComboBox.SelectedItem as KnownSystemComboBoxItem; + //KnownSystem? systemType = SystemTypeComboBox.SelectedItem as KnownSystemComboBoxItem; // TODO: Add system as part of the output path MediaType? mediaType = MediaTypeComboBox.SelectedItem as MediaType?; OutputDirectoryTextBox.Text = Path.Combine(_options.DefaultOutputPath, drive?.VolumeLabel ?? string.Empty); @@ -595,7 +597,7 @@ namespace DICUI.Forms.Windows break; case MediaType.DVD: case MediaType.HDDVD: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: preferred = _options.PreferredDumpSpeedDVD; break; @@ -625,8 +627,7 @@ namespace DICUI.Forms.Windows private void CacheCurrentDiscType() { // Get the drive letter from the selected item - Drive drive = DriveLetterComboBox.SelectedItem as Drive; - if (drive == null || drive.IsFloppy) + if (!(DriveLetterComboBox.SelectedItem is Drive drive) || drive.IsFloppy) return; // Get the current optical disc type diff --git a/DICUI.Library/Data/Enumerations.cs b/DICUI.Library/Data/Enumerations.cs index e34b597c..3e7cf225 100644 --- a/DICUI.Library/Data/Enumerations.cs +++ b/DICUI.Library/Data/Enumerations.cs @@ -75,6 +75,11 @@ BandaiApplePippin, CommodoreAmigaCD32, CommodoreAmigaCDTV, + FujitsuFMTownsMarty, + HasbroVideoNow, + HasbroVideoNowColor, + HasbroVideoNowJr, + HasbroVideoNowXP, MattelHyperscan, MicrosoftXBOX, MicrosoftXBOX360, @@ -95,6 +100,7 @@ SonyPlayStation3, SonyPlayStation4, SonyPlayStationPortable, + TandyMemorexVisualInformationSystem, VMLabsNuon, VTechVFlashVSmilePro, ZAPiTGamesGameWaveFamilyEntertainmentSystem, @@ -107,7 +113,7 @@ AcornArchimedes, AppleMacintosh, - CommodoreAmigaCD, + CommodoreAmiga, FujitsuFMTowns, IBMPCCompatible, NECPC88, @@ -143,7 +149,6 @@ KonamiTwinkle, KonamiVarious, MeritIndustriesBoardwalk, - MeritIndustriesMegaTouchAurora, MeritIndustriesMegaTouchForce, MeritIndustriesMegaTouchION, MeritIndustriesMegaTouchMaxx, @@ -173,7 +178,6 @@ SegaSystem32, SeibuCATSSystem, TABAustriaQuizard, - TandyMemorexVisualInformationSystem, TsunamiTsuMoMultiGameMotionSystem, MarkerArcadeEnd, @@ -186,12 +190,6 @@ BDVideo, DVDVideo, EnhancedCD, - EnhancedDVD, - EnhancedBD, - HasbroVideoNow, - HasbroVideoNowColor, - HasbroVideoNowJr, - HasbroVideoNowXP, HDDVDVideo, PalmOS, PhilipsCDiDigitalVideo, @@ -261,7 +259,7 @@ LaserDisc, // LD-ROM and LV-ROM variants Nintendo64DD, NintendoFamicomDiskSystem, - NintendoGameCube, + NintendoGameCubeGameDisc, NintendoWiiOpticalDisc, NintendoWiiUOpticalDisc, UMD, diff --git a/DICUI.Library/Utilities/Converters.cs b/DICUI.Library/Utilities/Converters.cs index 06672534..52c58b2c 100644 --- a/DICUI.Library/Utilities/Converters.cs +++ b/DICUI.Library/Utilities/Converters.cs @@ -252,7 +252,7 @@ namespace DICUI.Utilities case MediaType.UMD: return ".iso"; case MediaType.LaserDisc: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: return ".raw"; case MediaType.NintendoWiiUOpticalDisc: return ".wud"; @@ -333,8 +333,8 @@ namespace DICUI.Utilities return "64DD Disk"; case MediaType.NintendoFamicomDiskSystem: return "Famicom Disk System Disk"; - case MediaType.NintendoGameCube: - return "GameCube Disc"; + case MediaType.NintendoGameCubeGameDisc: + return "GameCube Game Disc"; case MediaType.NintendoWiiOpticalDisc: return "Wii Optical Disc"; case MediaType.NintendoWiiUOpticalDisc: @@ -423,8 +423,8 @@ namespace DICUI.Utilities return "64DD Disk"; case MediaType.NintendoFamicomDiskSystem: return "Famicom Disk System Disk"; - case MediaType.NintendoGameCube: - return "GameCube Disc"; + case MediaType.NintendoGameCubeGameDisc: + return "GameCube Game Disc"; case MediaType.NintendoWiiOpticalDisc: return "Wii Optical Disc"; case MediaType.NintendoWiiUOpticalDisc: @@ -584,7 +584,8 @@ namespace DICUI.Utilities case "nintendogamecube": case "nintendo gamecube": case "gamecube disc": - return MediaType.NintendoGameCube; + case "gamecube game disc": + return MediaType.NintendoGameCubeGameDisc; case "wii": case "nintendowii": case "nintendo wii": @@ -639,6 +640,16 @@ namespace DICUI.Utilities return "Commodore Amiga CD32"; case KnownSystem.CommodoreAmigaCDTV: return "Commodore Amiga CDTV"; + case KnownSystem.FujitsuFMTownsMarty: + return "Fujitsu FM Towns Marty"; + case KnownSystem.HasbroVideoNow: + return "Hasbro VideoNow"; + case KnownSystem.HasbroVideoNowColor: + return "Hasbro VideoNow Color"; + case KnownSystem.HasbroVideoNowJr: + return "Hasbro VideoNow Jr."; + case KnownSystem.HasbroVideoNowXP: + return "Hasbro VideoNow XP"; case KnownSystem.MattelHyperscan: return "Mattel HyperScan"; case KnownSystem.MicrosoftXBOX: @@ -679,6 +690,8 @@ namespace DICUI.Utilities return "Sony PlayStation 4"; case KnownSystem.SonyPlayStationPortable: return "Sony PlayStation Portable"; + case KnownSystem.TandyMemorexVisualInformationSystem: + return "Tandy / Memorex Visual Information System"; case KnownSystem.VMLabsNuon: return "VM Labs NUON"; case KnownSystem.VTechVFlashVSmilePro: @@ -694,8 +707,8 @@ namespace DICUI.Utilities return "Acorn Archimedes"; case KnownSystem.AppleMacintosh: return "Apple Macintosh"; - case KnownSystem.CommodoreAmigaCD: - return "Commodore Amiga CD"; + case KnownSystem.CommodoreAmiga: + return "Commodore Amiga"; case KnownSystem.FujitsuFMTowns: return "Fujitsu FM Towns series"; case KnownSystem.IBMPCCompatible: @@ -757,8 +770,6 @@ namespace DICUI.Utilities return "Konami PC-based Systems"; case KnownSystem.MeritIndustriesBoardwalk: return "Merit Industries Boardwalk"; - case KnownSystem.MeritIndustriesMegaTouchAurora: - return "Merit Industries MegaTouch Aurora"; case KnownSystem.MeritIndustriesMegaTouchForce: return "Merit Industries MegaTouch Force"; case KnownSystem.MeritIndustriesMegaTouchION: @@ -817,8 +828,6 @@ namespace DICUI.Utilities return "Seibu CATS System"; case KnownSystem.TABAustriaQuizard: return "TAB-Austria Quizard"; - case KnownSystem.TandyMemorexVisualInformationSystem: - return "Tandy / Memorex Visual Information System"; case KnownSystem.TsunamiTsuMoMultiGameMotionSystem: return "Tsunami TsuMo Multi-Game Motion System"; @@ -834,18 +843,6 @@ namespace DICUI.Utilities return "DVD-Video"; case KnownSystem.EnhancedCD: return "Enhanced CD"; - case KnownSystem.EnhancedDVD: - return "Enhanced DVD"; - case KnownSystem.EnhancedBD: - return "Enhanced BD"; - case KnownSystem.HasbroVideoNow: - return "Hasbro VideoNow"; - case KnownSystem.HasbroVideoNowColor: - return "Hasbro VideoNow Color"; - case KnownSystem.HasbroVideoNowJr: - return "Hasbro VideoNow Jr."; - case KnownSystem.HasbroVideoNowXP: - return "Hasbro VideoNow XP"; case KnownSystem.HDDVDVideo: return "HD-DVD-Video"; case KnownSystem.PalmOS: @@ -892,8 +889,18 @@ namespace DICUI.Utilities return "pippin"; case KnownSystem.CommodoreAmigaCD32: return "cd32"; + case KnownSystem.FujitsuFMTownsMarty: + return "fmtm"; case KnownSystem.CommodoreAmigaCDTV: return "cdtv"; + case KnownSystem.HasbroVideoNow: + return "videonow"; + case KnownSystem.HasbroVideoNowColor: + return "videonowcolor"; + case KnownSystem.HasbroVideoNowJr: + return "videonowjr"; + case KnownSystem.HasbroVideoNowXP: + return "videonowxp"; case KnownSystem.MattelHyperscan: return "hyperscan"; case KnownSystem.MicrosoftXBOX: @@ -934,6 +941,8 @@ namespace DICUI.Utilities return "ps4"; case KnownSystem.SonyPlayStationPortable: return "psp"; + case KnownSystem.TandyMemorexVisualInformationSystem: + return "vis"; case KnownSystem.VMLabsNuon: return "nuon"; case KnownSystem.VTechVFlashVSmilePro: @@ -949,8 +958,8 @@ namespace DICUI.Utilities return "archimedes"; case KnownSystem.AppleMacintosh: return "mac"; - case KnownSystem.CommodoreAmigaCD: - return "amigacd"; + case KnownSystem.CommodoreAmiga: + return "amiga"; case KnownSystem.FujitsuFMTowns: return "fmtowns"; case KnownSystem.IBMPCCompatible: @@ -1012,8 +1021,6 @@ namespace DICUI.Utilities return "konami pc"; case KnownSystem.MeritIndustriesBoardwalk: return "boardwalk"; - case KnownSystem.MeritIndustriesMegaTouchAurora: - return "megatouch aurora"; case KnownSystem.MeritIndustriesMegaTouchForce: return "megatouch force"; case KnownSystem.MeritIndustriesMegaTouchION: @@ -1072,8 +1079,6 @@ namespace DICUI.Utilities return "seibu cats"; case KnownSystem.TABAustriaQuizard: return "quizard"; - case KnownSystem.TandyMemorexVisualInformationSystem: - return "vis"; case KnownSystem.TsunamiTsuMoMultiGameMotionSystem: return "tsumo"; @@ -1089,18 +1094,6 @@ namespace DICUI.Utilities return "dvd-video"; case KnownSystem.EnhancedCD: return "enhanced cd"; - case KnownSystem.EnhancedDVD: - return "enhanced dvd"; - case KnownSystem.EnhancedBD: - return "enhanced bd"; - case KnownSystem.HasbroVideoNow: - return "videonow"; - case KnownSystem.HasbroVideoNowColor: - return "videonowcolor"; - case KnownSystem.HasbroVideoNowJr: - return "videonowjr"; - case KnownSystem.HasbroVideoNowXP: - return "videonowxp"; case KnownSystem.HDDVDVideo: return "hddvd-video"; case KnownSystem.PalmOS: @@ -1176,6 +1169,31 @@ namespace DICUI.Utilities case "commodoreamigacdtv": case "commodore amiga cdtv": return KnownSystem.CommodoreAmigaCDTV; + case "fmtm": + case "fmtownsmarty": + case "fm towns marty": + case "fujitsufmtownsmarty": + case "fujitsu fm towns marty": + return KnownSystem.FujitsuFMTownsMarty; + case "videonow": + case "hasbrovideonow": + case "hasbro videonow": + return KnownSystem.HasbroVideoNow; + case "videonowcolor": + case "videonow color": + case "hasbrovideonowcolor": + case "hasbro videonow color": + return KnownSystem.HasbroVideoNowColor; + case "videonowjr": + case "videonow jr": + case "hasbrovideonowjr": + case "hasbro videonow jr": + return KnownSystem.HasbroVideoNowColor; + case "videonowxp": + case "videonow xp": + case "hasbrovideonowxp": + case "hasbro videonow xp": + return KnownSystem.HasbroVideoNowColor; case "hyperscan": case "mattelhyperscan": case "mattel hyperscan": @@ -1316,6 +1334,17 @@ namespace DICUI.Utilities case "sonyplaystationportable": case "sony playstation portable": return KnownSystem.SonyPlayStationPortable; + case "vis": + case "tandyvis": + case "tandy vis": + case "tandyvisualinformationsystem": + case "tandy visual information system": + case "memorexvis": + case "memorex vis": + case "memorexvisualinformationsystem": + case "memorex visual information sytem": + case "tandy / memorex visual information system": + return KnownSystem.TandyMemorexVisualInformationSystem; case "nuon": case "vmlabsnuon": case "vm labs nuon": @@ -1365,13 +1394,9 @@ namespace DICUI.Utilities case "apple macintosh": return KnownSystem.AppleMacintosh; case "amiga": - case "amigacd": - case "amiga cd": case "commodoreamiga": case "commodore amiga": - case "commodoreamigacd": - case "commodore amiga cd": - return KnownSystem.CommodoreAmigaCD; + return KnownSystem.CommodoreAmiga; case "fmtowns": case "fmt": case "fm towns": @@ -1516,11 +1541,6 @@ namespace DICUI.Utilities case "meritindustriesboardwalk": case "merit industries boardwalk": return KnownSystem.MeritIndustriesBoardwalk; - case "megatouchaurora": - case "megatouch aurora": - case "meritindustriesmegatouchaurora": - case "merit industries megatouch aurora": - return KnownSystem.MeritIndustriesMegaTouchAurora; case "megatouchforce": case "megatouch force": case "meritindustriesmegatouchforce": @@ -1682,17 +1702,6 @@ namespace DICUI.Utilities case "tabaustriaquizard": case "tab-austria quizard": return KnownSystem.TABAustriaQuizard; - case "vis": - case "tandyvis": - case "tandy vis": - case "tandyvisualinformationsystem": - case "tandy visual information system": - case "memorexvis": - case "memorex vis": - case "memorexvisualinformationsystem": - case "memorex visual information sytem": - case "tandy / memorex visual information system": - return KnownSystem.TandyMemorexVisualInformationSystem; case "tsumo": case "tsunamitsumo": case "tsunami tsumo": @@ -1721,33 +1730,6 @@ namespace DICUI.Utilities case "enhanced cdrom": case "enhanced cd-rom": return KnownSystem.EnhancedCD; - case "enhanceddvd": - case "enhanced dvd": - return KnownSystem.EnhancedDVD; - case "enhancedbd": - case "enhanced bd": - case "enhancedbluray": - case "enhanced bluray": - return KnownSystem.EnhancedBD; - case "videonow": - case "hasbrovideonow": - case "hasbro videonow": - return KnownSystem.HasbroVideoNow; - case "videonowcolor": - case "videonow color": - case "hasbrovideonowcolor": - case "hasbro videonow color": - return KnownSystem.HasbroVideoNowColor; - case "videonowjr": - case "videonow jr": - case "hasbrovideonowjr": - case "hasbro videonow jr": - return KnownSystem.HasbroVideoNowColor; - case "videonowxp": - case "videonow xp": - case "hasbrovideonowxp": - case "hasbro videonow xp": - return KnownSystem.HasbroVideoNowColor; case "hddvdvideo": case "hddvd-video": case "hd-dvd-video": diff --git a/DICUI.Library/Utilities/DumpEnvironment.cs b/DICUI.Library/Utilities/DumpEnvironment.cs index 48c54bef..67dc04a5 100644 --- a/DICUI.Library/Utilities/DumpEnvironment.cs +++ b/DICUI.Library/Utilities/DumpEnvironment.cs @@ -322,7 +322,7 @@ namespace DICUI.Utilities case MediaType.DVD: case MediaType.HDDVD: case MediaType.BluRay: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return File.Exists(combinedBase + ".dat") && File.Exists(combinedBase + "_cmd.txt") @@ -480,8 +480,6 @@ namespace DICUI.Utilities { case KnownSystem.AppleMacintosh: case KnownSystem.EnhancedCD: - case KnownSystem.EnhancedDVD: - case KnownSystem.EnhancedBD: case KnownSystem.IBMPCCompatible: case KnownSystem.RainbowDisc: mappings[Template.ISBNField] = Template.OptionalValue; @@ -608,8 +606,6 @@ namespace DICUI.Utilities { case KnownSystem.AppleMacintosh: case KnownSystem.EnhancedCD: - case KnownSystem.EnhancedDVD: - case KnownSystem.EnhancedBD: case KnownSystem.IBMPCCompatible: case KnownSystem.RainbowDisc: mappings[Template.ISBNField] = Template.OptionalValue; @@ -771,8 +767,6 @@ namespace DICUI.Utilities { case KnownSystem.AppleMacintosh: case KnownSystem.EnhancedCD: - case KnownSystem.EnhancedDVD: - case KnownSystem.EnhancedBD: case KnownSystem.IBMPCCompatible: case KnownSystem.RainbowDisc: output.Add(Template.ISBNField + ": " + info[Template.ISBNField]); @@ -820,8 +814,6 @@ namespace DICUI.Utilities { case KnownSystem.AppleMacintosh: case KnownSystem.EnhancedCD: - case KnownSystem.EnhancedDVD: - case KnownSystem.EnhancedBD: case KnownSystem.IBMPCCompatible: case KnownSystem.RainbowDisc: output.Add(Template.CopyProtectionField + ": " + info[Template.CopyProtectionField]); output.Add(""); diff --git a/DICUI.Library/Utilities/Extensions.cs b/DICUI.Library/Utilities/Extensions.cs index 5abf4137..34362185 100644 --- a/DICUI.Library/Utilities/Extensions.cs +++ b/DICUI.Library/Utilities/Extensions.cs @@ -53,7 +53,7 @@ namespace DICUI.Utilities case MediaType.GDROM: case MediaType.HDDVD: case MediaType.BluRay: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return true; default: diff --git a/DICUI.Library/Utilities/Parameters.cs b/DICUI.Library/Utilities/Parameters.cs index 34c96c92..8aebbadc 100644 --- a/DICUI.Library/Utilities/Parameters.cs +++ b/DICUI.Library/Utilities/Parameters.cs @@ -150,7 +150,7 @@ namespace DICUI.Utilities // GameCube and Wii if (this[DICFlag.Raw]) { - type = MediaType.NintendoGameCube; + type = MediaType.NintendoGameCubeGameDisc; system = KnownSystem.NintendoGameCube; } @@ -1386,7 +1386,7 @@ namespace DICUI.Utilities case MediaType.BluRay: Command = DICCommand.BluRay; return; - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: Command = DICCommand.DigitalVideoDisc; return; case MediaType.NintendoWiiOpticalDisc: @@ -1486,7 +1486,7 @@ namespace DICUI.Utilities break; // Special Formats - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: this[DICFlag.Raw] = true; break; case MediaType.NintendoWiiOpticalDisc: diff --git a/DICUI.Library/Utilities/Validators.cs b/DICUI.Library/Utilities/Validators.cs index 86c03d56..3c777f48 100644 --- a/DICUI.Library/Utilities/Validators.cs +++ b/DICUI.Library/Utilities/Validators.cs @@ -25,94 +25,181 @@ namespace DICUI.Utilities { #region Consoles + // https://en.wikipedia.org/wiki/Atari_Jaguar_CD case KnownSystem.AtariJaguarCD: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Playdia case KnownSystem.BandaiPlaydiaQuickInteractiveSystem: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Apple_Bandai_Pippin case KnownSystem.BandaiApplePippin: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Amiga_CD32 case KnownSystem.CommodoreAmigaCD32: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Commodore_CDTV case KnownSystem.CommodoreAmigaCDTV: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/FM_Towns_Marty + case KnownSystem.FujitsuFMTownsMarty: + types.Add(MediaType.CDROM); + types.Add(MediaType.FloppyDisk); + break; + + // https://en.wikipedia.org/wiki/VideoNow + case KnownSystem.HasbroVideoNow: + types.Add(MediaType.CDROM); + break; + + // https://en.wikipedia.org/wiki/VideoNow + case KnownSystem.HasbroVideoNowColor: + types.Add(MediaType.CDROM); + break; + + // https://en.wikipedia.org/wiki/VideoNow + case KnownSystem.HasbroVideoNowJr: + types.Add(MediaType.CDROM); + break; + + // https://en.wikipedia.org/wiki/VideoNow + case KnownSystem.HasbroVideoNowXP: + types.Add(MediaType.CDROM); + break; + + // https://en.wikipedia.org/wiki/HyperScan case KnownSystem.MattelHyperscan: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Xbox_(console) case KnownSystem.MicrosoftXBOX: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/Xbox_360 case KnownSystem.MicrosoftXBOX360: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/Xbox_One case KnownSystem.MicrosoftXBOXOne: types.Add(MediaType.BluRay); break; + + // https://en.wikipedia.org/wiki/TurboGrafx-16 case KnownSystem.NECPCEngineTurboGrafxCD: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/PC-FX case KnownSystem.NECPCFX: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/GameCube case KnownSystem.NintendoGameCube: - types.Add(MediaType.NintendoGameCube); + types.Add(MediaType.NintendoGameCubeGameDisc); break; + + // https://en.wikipedia.org/wiki/Wii case KnownSystem.NintendoWii: types.Add(MediaType.NintendoWiiOpticalDisc); break; + + // https://en.wikipedia.org/wiki/Wii_U case KnownSystem.NintendoWiiU: types.Add(MediaType.NintendoWiiUOpticalDisc); break; + + // https://en.wikipedia.org/wiki/3DO_Interactive_Multiplayer case KnownSystem.Panasonic3DOInteractiveMultiplayer: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Philips_CD-i case KnownSystem.PhilipsCDi: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Sega_CD case KnownSystem.SegaCDMegaCD: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Dreamcast case KnownSystem.SegaDreamcast: - types.Add(MediaType.CDROM); // Low density partition + types.Add(MediaType.CDROM); // Low density partition, MIL-CD types.Add(MediaType.GDROM); // High density partition break; + + // https://en.wikipedia.org/wiki/Sega_Saturn case KnownSystem.SegaSaturn: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Neo_Geo_CD case KnownSystem.SNKNeoGeoCD: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/PlayStation_(console) case KnownSystem.SonyPlayStation: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/PlayStation_2 case KnownSystem.SonyPlayStation2: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/PlayStation_3 case KnownSystem.SonyPlayStation3: types.Add(MediaType.BluRay); types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/PlayStation_4 case KnownSystem.SonyPlayStation4: types.Add(MediaType.BluRay); break; + + // https://en.wikipedia.org/wiki/PlayStation_Portable case KnownSystem.SonyPlayStationPortable: types.Add(MediaType.UMD); - types.Add(MediaType.DVD); // TODO: Confirm this + types.Add(MediaType.CDROM); // Development discs only + types.Add(MediaType.DVD); // Development discs only break; + + // https://en.wikipedia.org/wiki/Tandy_Video_Information_System + case KnownSystem.TandyMemorexVisualInformationSystem: + types.Add(MediaType.CDROM); + break; + + // https://en.wikipedia.org/wiki/Nuon_(DVD_technology) case KnownSystem.VMLabsNuon: types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/V.Flash case KnownSystem.VTechVFlashVSmilePro: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Game_Wave_Family_Entertainment_System case KnownSystem.ZAPiTGamesGameWaveFamilyEntertainmentSystem: types.Add(MediaType.DVD); break; @@ -121,213 +208,365 @@ namespace DICUI.Utilities #region Computers + // https://en.wikipedia.org/wiki/Acorn_Archimedes case KnownSystem.AcornArchimedes: types.Add(MediaType.CDROM); + types.Add(MediaType.FloppyDisk); break; + + // https://en.wikipedia.org/wiki/Macintosh case KnownSystem.AppleMacintosh: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); types.Add(MediaType.FloppyDisk); break; - case KnownSystem.CommodoreAmigaCD: + + // https://en.wikipedia.org/wiki/Amiga + case KnownSystem.CommodoreAmiga: types.Add(MediaType.CDROM); + types.Add(MediaType.FloppyDisk); break; + + // https://en.wikipedia.org/wiki/FM_Towns case KnownSystem.FujitsuFMTowns: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/IBM_PC_compatible case KnownSystem.IBMPCCompatible: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); types.Add(MediaType.FloppyDisk); break; + + // https://en.wikipedia.org/wiki/PC-8800_series case KnownSystem.NECPC88: types.Add(MediaType.CDROM); + types.Add(MediaType.FloppyDisk); break; + + // https://en.wikipedia.org/wiki/PC-9800_series case KnownSystem.NECPC98: types.Add(MediaType.CDROM); + types.Add(MediaType.DVD); + types.Add(MediaType.FloppyDisk); break; + + // https://en.wikipedia.org/wiki/X68000 case KnownSystem.SharpX68000: types.Add(MediaType.CDROM); + types.Add(MediaType.FloppyDisk); break; #endregion #region Arcade + // https://www.bigbookofamigahardware.com/bboah/product.aspx?id=36 case KnownSystem.AmigaCUBOCD32: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Orbatak case KnownSystem.AmericanLaserGames3DO: types.Add(MediaType.CDROM); break; + + // http://system16.com/hardware.php?id=779 case KnownSystem.Atari3DO: types.Add(MediaType.CDROM); break; + + // http://newlifegames.net/nlg/index.php?topic=22003.0 + // http://newlifegames.net/nlg/index.php?topic=5486.msg119440 case KnownSystem.Atronic: types.Add(MediaType.CDROM); + types.Add(MediaType.DVD); break; + + // https://www.arcade-museum.com/members/member_detail.php?member_id=406530 case KnownSystem.AUSCOMSystem1: types.Add(MediaType.CDROM); break; + + // http://newlifegames.net/nlg/index.php?topic=285.0 case KnownSystem.BallyGameMagic: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/CP_System_III case KnownSystem.CapcomCPSystemIII: types.Add(MediaType.CDROM); break; + + // UNKNOWN case KnownSystem.GlobalVRVarious: types.Add(MediaType.CDROM); break; + + // https://service.globalvr.com/troubleshooting/vortek.html case KnownSystem.GlobalVRVortek: types.Add(MediaType.CDROM); break; + + // https://service.globalvr.com/downloads/v3/040-1001-01c-V3-System-Manual.pdf case KnownSystem.GlobalVRVortekV3: - types.Add(MediaType.DVD); // TODO: Confirm + types.Add(MediaType.CDROM); break; + + // https://www.icegame.com/games case KnownSystem.ICEPCHardware: types.Add(MediaType.DVD); break; + + // https://github.com/mamedev/mame/blob/master/src/mame/drivers/iteagle.cpp case KnownSystem.IncredibleTechnologiesEagle: types.Add(MediaType.CDROM); break; + + // UNKNOWN case KnownSystem.IncredibleTechnologiesVarious: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/E-Amusement case KnownSystem.KonamieAmusement: types.Add(MediaType.CDROM); + types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=828 case KnownSystem.KonamiFirebeat: types.Add(MediaType.CDROM); + types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=577 case KnownSystem.KonamiGVSystem: types.Add(MediaType.CDROM); break; + + // http://system16.com/hardware.php?id=575 case KnownSystem.KonamiM2: types.Add(MediaType.CDROM); break; + + // http://system16.com/hardware.php?id=586 + // http://system16.com/hardware.php?id=977 case KnownSystem.KonamiPython: - types.Add(MediaType.DVD); // TODO: Confirm + types.Add(MediaType.CDROM); + types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=976 + // http://system16.com/hardware.php?id=831 case KnownSystem.KonamiPython2: - types.Add(MediaType.DVD); // TODO: Confirm + types.Add(MediaType.CDROM); + types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=582 + // http://system16.com/hardware.php?id=822 + // http://system16.com/hardware.php?id=823 case KnownSystem.KonamiSystem573: types.Add(MediaType.CDROM); break; + + // http://system16.com/hardware.php?id=827 case KnownSystem.KonamiTwinkle: types.Add(MediaType.CDROM); break; + + // UNKNOWN case KnownSystem.KonamiVarious: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // http://www.meritgames.com/Support_Center/manuals/PM0591-01.pdf case KnownSystem.MeritIndustriesBoardwalk: - types.Add(MediaType.CDROM); // TODO: Confirm - break; - case KnownSystem.MeritIndustriesMegaTouchAurora: - types.Add(MediaType.CDROM); // TODO: Confirm - break; - case KnownSystem.MeritIndustriesMegaTouchForce: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // http://www.meritgames.com/Support_Center/Force%20Elite/PM0380-09.pdf + // http://www.meritgames.com/Support_Center/Force%20Upright/PM0382-07%20FORCE%20Upright%20manual.pdf + // http://www.meritgames.com/Support_Center/Force%20Upright/PM0383-07%20FORCE%20Upright%20manual.pdf + case KnownSystem.MeritIndustriesMegaTouchForce: + types.Add(MediaType.CDROM); + break; + + // http://www.meritgames.com/Service%20Center/Ion%20Troubleshooting.pdf case KnownSystem.MeritIndustriesMegaTouchION: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // http://www.meritgames.com/Support_Center/EZ%20Maxx/Manuals/MAXX%20Elite%20with%20coin.pdf + // http://www.meritgames.com/Support_Center/EZ%20Maxx/Manuals/MAXX%20Elite.pdf + // http://www.meritgames.com/Support_Center/manuals/90003010%20Maxx%20TSM_Rev%20C.pdf case KnownSystem.MeritIndustriesMegaTouchMaxx: - types.Add(MediaType.DVD); + types.Add(MediaType.CDROM); break; + + // http://www.meritgames.com/Support_Center/manuals/pm0076_OA_Megatouch%20XL%20Trouble%20Shooting%20Manual.pdf + // http://www.meritgames.com/Support_Center/MEGA%20XL/manuals/Megatouch_XL_pm0109-0D.pdf + // http://www.meritgames.com/Support_Center/MEGA%20XL/manuals/Megatouch_XL_Super_5000_manual.pdf case KnownSystem.MeritIndustriesMegaTouchXL: types.Add(MediaType.CDROM); break; + + // http://system16.com/hardware.php?id=546 + // http://system16.com/hardware.php?id=872 case KnownSystem.NamcoCapcomSystem256: + types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=543 case KnownSystem.NamcoCapcomTaitoSystem246: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=545 case KnownSystem.NamcoSegaNintendoTriforce: types.Add(MediaType.CDROM); // Low density partition types.Add(MediaType.GDROM); // High density partition break; + + // http://system16.com/hardware.php?id=535 case KnownSystem.NamcoSystem12: types.Add(MediaType.CDROM); break; + + // http://system16.com/hardware.php?id=900 case KnownSystem.NamcoSystem357: + types.Add(MediaType.CDROM); types.Add(MediaType.DVD); types.Add(MediaType.BluRay); break; + + // https://www.arcade-history.com/?n=the-yakyuuken-part-1&page=detail&id=33049 case KnownSystem.NewJatreCDi: types.Add(MediaType.CDROM); break; + + // http://blog.system11.org/?p=2499 case KnownSystem.NichibutsuHighRateSystem: - types.Add(MediaType.CDROM); + types.Add(MediaType.DVD); break; + + // http://blog.system11.org/?p=2514 case KnownSystem.NichibutsuSuperCD: types.Add(MediaType.CDROM); break; + + // http://collectedit.com/collectors/shou-time-213/arcade-pcbs-281/x-rate-dvd-series-17-newlywed-life-japan-by-nichibutsu-32245 case KnownSystem.NichibutsuXRateSystem: types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/Panasonic_M2 case KnownSystem.PanasonicM2: types.Add(MediaType.CDROM); types.Add(MediaType.DVD); break; + + // https://github.com/mamedev/mame/blob/master/src/mame/drivers/photoply.cpp case KnownSystem.PhotoPlayVarious: types.Add(MediaType.CDROM); break; + + // UNKNOWN case KnownSystem.RawThrillsVarious: types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=729 case KnownSystem.SegaChihiro: types.Add(MediaType.CDROM); // Low density partition types.Add(MediaType.GDROM); // High density partition break; + + // http://system16.com/hardware.php?id=907 case KnownSystem.SegaEuropaR: - types.Add(MediaType.DVD); // TODO: Confirm + types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=985 + // http://system16.com/hardware.php?id=731 + // http://system16.com/hardware.php?id=984 + // http://system16.com/hardware.php?id=986 case KnownSystem.SegaLindbergh: types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=721 + // http://system16.com/hardware.php?id=723 + // http://system16.com/hardware.php?id=906 + // http://system16.com/hardware.php?id=722 case KnownSystem.SegaNaomi: types.Add(MediaType.CDROM); // Low density partition types.Add(MediaType.GDROM); // High density partition break; + + // http://system16.com/hardware.php?id=725 + // http://system16.com/hardware.php?id=726 + // http://system16.com/hardware.php?id=727 case KnownSystem.SegaNaomi2: types.Add(MediaType.CDROM); // Low density partition types.Add(MediaType.GDROM); // High density partition break; + + // http://system16.com/hardware.php?id=975 + // https://en.wikipedia.org/wiki/List_of_Sega_arcade_system_boards#Sega_Nu case KnownSystem.SegaNu: - types.Add(MediaType.DVD); types.Add(MediaType.BluRay); break; + + // http://system16.com/hardware.php?id=910 + // https://en.wikipedia.org/wiki/List_of_Sega_arcade_system_boards#Sega_Ring_series case KnownSystem.SegaRingEdge: types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=982 + // https://en.wikipedia.org/wiki/List_of_Sega_arcade_system_boards#Sega_Ring_series case KnownSystem.SegaRingEdge2: types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=911 + // https://en.wikipedia.org/wiki/List_of_Sega_arcade_system_boards#Sega_Ring_series case KnownSystem.SegaRingWide: types.Add(MediaType.DVD); break; + + // http://system16.com/hardware.php?id=711 case KnownSystem.SegaTitanVideo: types.Add(MediaType.CDROM); break; + + // http://system16.com/hardware.php?id=709 + // http://system16.com/hardware.php?id=710 case KnownSystem.SegaSystem32: types.Add(MediaType.CDROM); break; + + // https://github.com/mamedev/mame/blob/master/src/mame/drivers/seibucats.cpp case KnownSystem.SeibuCATSSystem: types.Add(MediaType.DVD); break; + + // https://www.tab.at/en/support/support/downloads case KnownSystem.TABAustriaQuizard: types.Add(MediaType.CDROM); break; - case KnownSystem.TandyMemorexVisualInformationSystem: - types.Add(MediaType.CDROM); - break; + + // https://primetimeamusements.com/product/tsumo-multi-game-motion-system/ + // https://www.highwaygames.com/arcade-machines/tsumo-tsunami-motion-8117/ case KnownSystem.TsunamiTsuMoMultiGameMotionSystem: types.Add(MediaType.CDROM); break; @@ -336,60 +575,67 @@ namespace DICUI.Utilities #region Others + // https://en.wikipedia.org/wiki/Audio_CD case KnownSystem.AudioCD: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Blu-ray#Player_profiles case KnownSystem.BDVideo: types.Add(MediaType.BluRay); break; + + // https://en.wikipedia.org/wiki/DVD-Video case KnownSystem.DVDVideo: types.Add(MediaType.DVD); break; + + // https://en.wikipedia.org/wiki/Blue_Book_(CD_standard) case KnownSystem.EnhancedCD: types.Add(MediaType.CDROM); break; - case KnownSystem.EnhancedDVD: - types.Add(MediaType.DVD); - break; - case KnownSystem.EnhancedBD: - types.Add(MediaType.BluRay); - break; - case KnownSystem.HasbroVideoNow: - types.Add(MediaType.CDROM); - break; - case KnownSystem.HasbroVideoNowColor: - types.Add(MediaType.CDROM); - break; - case KnownSystem.HasbroVideoNowJr: - types.Add(MediaType.CDROM); - break; - case KnownSystem.HasbroVideoNowXP: - types.Add(MediaType.CDROM); - break; + + // https://en.wikipedia.org/wiki/HD_DVD case KnownSystem.HDDVDVideo: types.Add(MediaType.HDDVD); break; + + // UNKNOWN case KnownSystem.PalmOS: types.Add(MediaType.CDROM); break; + + // UNKNOWN case KnownSystem.PhilipsCDiDigitalVideo: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Photo_CD case KnownSystem.PhotoCD: types.Add(MediaType.CDROM); break; + + // UNKNOWN case KnownSystem.PlayStationGameSharkUpdates: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Doors_and_Windows_(EP) case KnownSystem.RainbowDisc: types.Add(MediaType.CDROM); break; + + // https://www.cnet.com/products/tao-music-iktv-karaoke-station-karaoke-system-series/ case KnownSystem.TaoiKTV: types.Add(MediaType.CDROM); break; + + // http://ultimateconsoledatabase.com/golden/kiss_site.htm case KnownSystem.TomyKissSite: types.Add(MediaType.CDROM); break; + + // https://en.wikipedia.org/wiki/Video_CD case KnownSystem.VideoCD: types.Add(MediaType.CDROM); break; @@ -552,7 +798,7 @@ namespace DICUI.Utilities // Partially supported types case MediaType.GDROM: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return Result.Success("{0} partially supported for dumping", type.Name()); diff --git a/DICUI.Test/Utilities/ParametersTest.cs b/DICUI.Test/Utilities/ParametersTest.cs index 0603cdd0..2e2d622a 100644 --- a/DICUI.Test/Utilities/ParametersTest.cs +++ b/DICUI.Test/Utilities/ParametersTest.cs @@ -23,7 +23,7 @@ namespace DICUI.Test.Utilities [Theory] [InlineData(KnownSystem.AppleMacintosh, MediaType.LaserDisc, true, 20, null, null)] - [InlineData(KnownSystem.NintendoGameCube, MediaType.NintendoGameCube, false, 20, null, new DICFlag[] { DICFlag.Raw })] + [InlineData(KnownSystem.NintendoGameCube, MediaType.NintendoGameCubeGameDisc, false, 20, null, new DICFlag[] { DICFlag.Raw })] [InlineData(KnownSystem.IBMPCCompatible, MediaType.DVD, false, 20, null, new DICFlag[] { })] /* paranoid mode tests */ [InlineData(KnownSystem.IBMPCCompatible, MediaType.CDROM, true, 1000, 2, new DICFlag[] { DICFlag.C2Opcode, DICFlag.NoFixSubQSecuROM, DICFlag.ScanFileProtect, DICFlag.ScanSectorProtect, DICFlag.SubchannelReadLevel })] @@ -55,7 +55,7 @@ namespace DICUI.Test.Utilities [InlineData("", null, null, null, null)] [InlineData("cd F test.bin 8 /c2 20", MediaType.CDROM, KnownSystem.IBMPCCompatible, "F", "test.bin")] [InlineData("fd A blah\\test.img", MediaType.FloppyDisk, KnownSystem.IBMPCCompatible, "A", "blah\\test.img")] - [InlineData("dvd X super\\blah\\test.iso 8 /raw", MediaType.NintendoGameCube, KnownSystem.NintendoGameCube, "X", "super\\blah\\test.iso")] + [InlineData("dvd X super\\blah\\test.iso 8 /raw", MediaType.NintendoGameCubeGameDisc, KnownSystem.NintendoGameCube, "X", "super\\blah\\test.iso")] [InlineData("stop D", null, null, "D", null)] public void DetermineFlagsTest(string parameters, MediaType? expectedMediaType, KnownSystem? expectedKnownSystem, string expectedDriveLetter, string expectedPath) { diff --git a/DICUI.Test/Utilities/ValidatorsTest.cs b/DICUI.Test/Utilities/ValidatorsTest.cs index 0eb0b7fa..6a8c7568 100644 --- a/DICUI.Test/Utilities/ValidatorsTest.cs +++ b/DICUI.Test/Utilities/ValidatorsTest.cs @@ -10,7 +10,7 @@ namespace DICUI.Test.Utilities [Theory] [InlineData(KnownSystem.BandaiApplePippin, MediaType.CDROM)] [InlineData(KnownSystem.MicrosoftXBOX, MediaType.DVD)] - [InlineData(KnownSystem.NintendoGameCube, MediaType.NintendoGameCube)] + [InlineData(KnownSystem.NintendoGameCube, MediaType.NintendoGameCubeGameDisc)] [InlineData(KnownSystem.NintendoWii, MediaType.NintendoWiiOpticalDisc)] [InlineData(KnownSystem.NintendoWiiU, MediaType.NintendoWiiUOpticalDisc)] [InlineData(KnownSystem.SonyPlayStationPortable, MediaType.UMD)] diff --git a/DICUI/Constants.cs b/DICUI/Constants.cs index 678aef96..5539d33c 100644 --- a/DICUI/Constants.cs +++ b/DICUI/Constants.cs @@ -36,7 +36,7 @@ namespace DICUI return cd; case MediaType.DVD: case MediaType.HDDVD: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return dvd; case MediaType.BluRay: diff --git a/DICUI/Options.cs b/DICUI/Options.cs index 1d8af1ee..7f67a8ba 100644 --- a/DICUI/Options.cs +++ b/DICUI/Options.cs @@ -84,7 +84,7 @@ namespace DICUI return PreferredDumpSpeedCD; case MediaType.DVD: case MediaType.HDDVD: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return PreferredDumpSpeedDVD; case MediaType.BluRay: diff --git a/DICUI/Windows/MainWindow.xaml.cs b/DICUI/Windows/MainWindow.xaml.cs index 34557de5..458e8b00 100644 --- a/DICUI/Windows/MainWindow.xaml.cs +++ b/DICUI/Windows/MainWindow.xaml.cs @@ -589,7 +589,7 @@ namespace DICUI.Windows break; case MediaType.DVD: case MediaType.HDDVD: - case MediaType.NintendoGameCube: + case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: preferred = _options.PreferredDumpSpeedDVD; break;