dolphin/Source/Core/DiscIO
MayImilae dcc10cff11 Remove Boot from DVD Backup
This should be a fairly easy merge, assuming I didn’t mess anything up. TL:DR no one uses it and it’s not great.

Boot from DVD Backup is an ancient feature with origins in the Megacommit. Back then, GameCube and Wii games were quite large relative to drives of the time. For example, in 2008, the most common hard drive sizes were 320GB and 512GB. On the 320GB drive I personally had at the time, as little as 42 Wii ISOs could have filled it entirely! And that’s ignoring any other files one might want to put onto a drive. Backup DVDs allowed users to burn relatively cheap DVD media and store their GameCube and Wii dumps in a Dolphin accessible way that didn’t eat into their precious HDD space. It had compromises, even then, but in 2008… I mean honestly users probably wouldn’t even notice those compromises with how Dolphin barely even worked at all back then.

Obviously, today the storage space concerns are not as big of an issue. According to seagate the average hard drive it sells today is 8TB. For typical laptops purchased now, the -minimum- selection for storage is usually 1TB. You can even buy a name brand 4TB external hard drive for $100. GC and Wii ISOs are not as big as they once were, relatively anyway. Plus flash drives and SD cards are super cheap and way faster than disc drives ever were. For anyone that has limited drive space, removable flash media can fulfill this offloading role far better than backup DVD media ever could.

Also no one has DVD drives anymore. That’s kind of an important detail.

But to see if Booting from DVD Backup even still worked, I decided to give it a try. I have an ASUS BW-16D1HT, a badass Bluray XL reading and burning drive, connected to my Windows 11 Threadripper 5975WX machine. A super fast drive on a super fast machine is as good as it possibly can get for this feature. So I bought a spindle of DVD-Rs, burned a couple of discs and gave it a try. Surprisingly, it does still work. However, as expected, it introduces a lot of stuttering. Testing Prime 1 and Prime 3, in both games stuttering was introduced whenever the DVD Drive had to suddenly seek. Spikes of 50ms occurred constantly, but I observed 150ms and even over 1000ms stutters! The worst was a three second stutter, when loading Elysia in Prime 3. I could even hear the stutters - any time the drive suddenly made a harsh seeking noise, the game would have a hard stutter. It worked but, it has some serious compromises.

Boot from DVD Backup isn’t great, using removable flash media or external hard drives is a FAR better option for anyone with limited storage space today, and no one can even use this feature anymore because their computers don’t even have disc drives. It’s time for Boot from DVD Backup to go!

So I did my best on the cleanup but I’m bound to have left some bits. Especially in translation - I didn’t get any warnings or anything there that could help point me to where to clean that up. Please review!
2023-01-16 18:32:43 -08:00
..
Blob.cpp Remove Boot from DVD Backup 2023-01-16 18:32:43 -08:00
Blob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
CISOBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
CISOBlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
CMakeLists.txt Remove Boot from DVD Backup 2023-01-16 18:32:43 -08:00
CompressedBlob.cpp DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
CompressedBlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
DirectoryBlob.cpp DirectoryBlob: Fix partition size mixup for encrypted Wii discs. 2022-08-10 20:43:52 +02:00
DirectoryBlob.h DirectoryBlob: Fix partition size mixup for encrypted Wii discs. 2022-08-10 20:43:52 +02:00
DiscExtractor.cpp DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
DiscExtractor.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DiscScrubber.cpp DiscIO: Adjust GetDataSizeType logic for NFS 2022-08-04 22:00:59 +02:00
DiscScrubber.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
DiscUtils.cpp Fix non-constexpr format strings 2022-01-13 11:11:08 -08:00
DiscUtils.h DolphinTool: CLI utility interface and disc image tools 2021-12-03 15:40:19 -06:00
Enums.cpp Show vWii System Menu version in Menu Bar 2022-10-22 13:36:55 +02:00
Enums.h Show vWii System Menu version in Menu Bar 2022-10-22 13:36:55 +02:00
FileBlob.cpp DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
FileBlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
Filesystem.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Filesystem.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FileSystemGCWii.cpp Use Common::ToLower and Common::ToUpper 2022-01-16 17:00:12 -08:00
FileSystemGCWii.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GameModDescriptor.cpp Core: Add a Maker field for GameModDescriptors. 2022-01-02 06:06:53 +01:00
GameModDescriptor.h Core: Add a Maker field for GameModDescriptors. 2022-01-02 06:06:53 +01:00
LaggedFibonacciGenerator.cpp licensing: convert "public domain" to CC0 1.0 2021-07-05 04:43:55 +02:00
LaggedFibonacciGenerator.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
MultithreadedCompressor.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NANDImporter.cpp Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
NANDImporter.h Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
NFSBlob.cpp Merge pull request #10997 from JosJuice/nfs-check 2022-08-22 15:14:15 +02:00
NFSBlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
RiivolutionParser.cpp DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
RiivolutionParser.h DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
RiivolutionPatcher.cpp HW/Memmap: Refactor Memory to class, move to Core::System. 2022-12-03 13:27:02 +01:00
RiivolutionPatcher.h DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
ScrubbedBlob.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ScrubbedBlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
TGCBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
TGCBlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
Volume.cpp introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
Volume.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
VolumeDisc.cpp introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
VolumeDisc.h introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
VolumeFileBlobReader.cpp Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
VolumeFileBlobReader.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
VolumeGC.cpp DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
VolumeGC.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
VolumeVerifier.cpp VolumeVerifier: fix bogus "serial/version missing" error 2022-10-29 21:32:57 +01:00
VolumeVerifier.h DiscIO: Adjust GetDataSizeType logic for NFS 2022-08-04 22:00:59 +02:00
VolumeWad.cpp DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
VolumeWad.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
VolumeWii.cpp DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
VolumeWii.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
WbfsBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
WbfsBlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
WIABlob.cpp DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
WIABlob.h DiscIO: Replace IsDataSizeAccurate with GetDataSizeType 2022-08-04 22:00:59 +02:00
WIACompression.cpp introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
WIACompression.h introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
WiiEncryptionCache.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiEncryptionCache.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
WiiSaveBanner.cpp IOFile: Make origin parameter to Seek() an enum class. 2022-01-29 06:49:21 +01:00
WiiSaveBanner.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00