CD/DVD not detected on application launch

DRM Types

Essentially speaking, there are 2 types of disc based DRM -- one is sector referenced software based, the other is mechanical device 'dwell angular' -- the latter form of disc based DRM the Mac SCSI driver does not support (and it doesn't always work on linux).

Software Centered DRM

In some cases, wherein you have to have the disk in the drive to play the game and it works, they are using the software centered method based on filesystem block location.

ISO9660 filesystems have a set number of data blocks, and the game executable is expecting to find some software data at some certain block number, or in a most simple case it's just checking the correctly named disc is in the drive, these systems typically work on both Mac and Linux.

Dwell Angular DRM

Conversely, if they are using the mechanical dwell angular system, then the software executable takes no notice of the filesystem (or block location/numbers) at all.

The software interrogates the actual device itself, to determine the physical positioning of the disc spinning in the drive, and tries to read data from that physical location -- sometimes, that location is outside of the filesystem on the disc itself, or instead embedded in 'holes' within the filesystem itself.

These will never work on the Mac, because the Mac SCSI driver does not allow this 'raw mechanical' access to the optical drive. Although linux does allow this kind of device access, the physical disc location is determined by time. In so many milliseconds after it sees a location marker, it attempts to access data at that physical location (this is known as dwell time).

This doesn't always work in Linux either because the timing mechanism that's measuring the milliseconds is calculated on constants that are part of a 'real' windows kernel/driver arrangement - the linux constants differ, and therefore the DRM software goes looking for the data at the wrong time or in consequence at the wrong position on the disc media.

It is also worth mentioning here that sometimes, the original game developer releases an official 'patch' for some games, that removes the DRM routine from the game executable - a lot of the time this is only done because the newer release windows kernels no longer have the same builtin data constants that the DRM was built for/relies; it works with a win98 windows kernel/drivers but not with the winxp pairing.

In most countries it is illegal to remove/circumvent such DRM systems unless the original game developer lawfully permits such -- that typically is only the case when a game developer does release an 'official' patch.

The saddest part of this, the actual game software itself probably will run in CrossOver/Wine -- it's just the disc based DRM stopping the show. For this reason, and especially so in the case of the Mac, it is always preferable to buy non-disc based game titles (ie; Steam based games, direct/digital download versions, etc.) They still have DRM embedded in the game software, but we don't have to deal with the physical/mechanical device access that stops us from getting these things to work.

Special thanks to Don for the disk based copy protection explanation, we couldn't have put it better ourselves!

Last modified on 2023-09-28 21:58:11 UTC by Andrew Balfour