Disc Drive emulation: Difference between revisions
No edit summary |
|||
| Line 5: | Line 5: | ||
{{for|compressing, compress formats and emulator support|Save disk space for ISOs}} | {{for|compressing, compress formats and emulator support|Save disk space for ISOs}} | ||
While the aim is to retain the original copy protection, making the game believe the original disc is present: the virtual/emulated drive is performing "emulation" of the drive itself to deliver the preserved protection data to the game. If the MDF/MDS image is correctly ripped ''(a near-'perfect' replica)'' with proper settings ''(like enabling subchannel and DPM capture)'' with using capable hardware, and the software that mount the disc image correctly interprets the DPM and subchannel data ''(emulators, hypervisors, or virtual drive software with optical drive hardware emulation capability)'', games should be run without [[#Emulation|emulation of copy protection]] or [[#Bypassing_copy_protection|NoCD/NoDVD executable patches]]. SecuROM may require precise DPM timing, which emulation settings help simulate. Also, SafeDisc may expect specific error codes or sector access patterns, which the virtual drive must emulate. However, success is not guaranteed even in these cases: as the game’s protection code may still expect drive-specific behaviors ''(or by a drive with specific characteristics or firmware)'' that virtual drive solutions ''(emulators, hypervisors, or virtual drive software with optical drive hardware emulation capability)'' does not provide, causing the protection check to fail. If that is the case; mount the image in virtual drive software like Alcohol 120% or Daemon Tools [[#Emulation|with emulation]] settings (e.g., SecuROM, SafeDisc, SCSI/IDE mode) to mimic the behaviour. For instance, [[Windows_NT_5.x_emulators#Hypervisors|VirtualBox’s parser is very strict, it does not recognize the multi-track disc image or FLAGS DCP, so it throws: VERR_NOT_SUPPORTED. VMware on the other hand only supports ISO images]]. | While the aim is to retain the original copy protection, making the game believe the original disc is present: the virtual/emulated drive is performing "emulation" of the drive itself to deliver the preserved protection data to the game. If the MDF/MDS image is correctly ripped ''(a near-'perfect' replica)'' with proper settings ''(like enabling subchannel and DPM capture)'' with using capable hardware, and the software that mount the disc image correctly interprets the DPM and subchannel data ''(emulators, hypervisors, or virtual drive software with optical drive hardware emulation capability)'', games should be run without [[#Emulation|emulation of copy protection]] or [[#Bypassing_copy_protection|NoCD/NoDVD executable patches]]. SecuROM may require precise DPM timing, which emulation settings help simulate. Also, SafeDisc may expect specific error codes or sector access patterns, which the virtual drive must emulate. However, success is not guaranteed even in these cases: as the game’s protection code may still expect drive-specific behaviors ''(or by a drive with specific characteristics or firmware)'' that virtual drive solutions ''(emulators, hypervisors, or virtual drive software with optical drive hardware emulation capability)'' does not provide, causing the protection check to fail. If that is the case; mount the image in virtual drive software like Alcohol 120% or Daemon Tools [[#Emulation|with emulation]] settings (e.g., SecuROM, SafeDisc, SCSI/IDE mode) to mimic the behaviour. For instance, [[Windows_NT_5.x_emulators#Hypervisors|VirtualBox’s parser is very strict, it does not recognize the multi-track disc image or FLAGS DCP, so it throws: VERR_NOT_SUPPORTED. VMware on the other hand only supports ISO images]]. [[Ymir]] (v0.2.0 and later) introduces [[High_and_low-level_emulation|low-level]] CD Block emulation, which requires a valid CD Block ROM and enhances accuracy for CD drive operations and game commands.[https://github.com/StrikerX3/Ymir/releases/tag/v0.2.0] | ||
;Niche Cases | ;Niche Cases | ||
| Line 67: | Line 67: | ||
| colspan="15" {{Unknown}} | | colspan="15" {{Unknown}} | ||
|} | |} | ||
<references group=N2/> | <references group=N2/> | ||