Issues occurred when attempting to backup these prototypes which made us question the integrity of the dumps we created. Besides the typical bad dump that can be remedied through trial and error on different burners with different read speeds, we were constantly presented with an issue where each game would just stop functioning after a certain point (usually during a level change). With no PS1 developer hardware to test with, we were unsure if the games were physically at fault for causing these issues, or if it was a sign of some form of copy protection.



MediEvil marked one of the earliest attempts to thwart pirates with the copy protection method known as “libcrypt”. With this method, unique non-Yellow Book data is stored in subchannels on the disc itself. Games with libcrypt issue special, undocumented firmware commands to perform reads from the subchannel data, and check if it contains the unique data. This was a relatively effective copy protection mechanism for its time, since most pirate releases (even today) do not include the subchannel data, which is not contained in a typical "bin/cue" dump.



It’s also difficult to perfectly extract subchannel data with common CD/DVD readers. Unlike data channels, which use extensive error correction algorithms, most of the subchannels are not error corrected, resulting in pretty much every dump being different (without error correction, reading raw data on CDs with a laser is very error prone!). Most burners also have a difficult time burning subchannel data back to CD-Rs as well. As an effect, at the time, the only way to bypass this copy protection was to debug the game and physically alter the game’s code through a patch to avoid these checks.



After we were sure that the data track (the .img) was being dumped consistently, we decided to debug the games with no$psx to figure out what was going on. To make a long story short, both of the MediEvil prototypes actually use a form of SCEx copy protection where the check is done at the software level rather than just at the BIOS level. This copy protection involves comparing the letters “SCEx” (where “x” is the region of the game or console) with what’s stored on the disc against what’s stored in the BIOS. This check occurs when loading into a new level or quitting the game.



MediEvil II on the other hand doesn’t seem to be using libcrypt. The February prototype seems to work fine and doesn’t seem to check between level changes. The December prototype seems to hang when loading levels even from the cheat menu. However, the prototype seems to work fine in PCSX while any other emulator hangs.



However, even with the correct conditions the game would still refuse to load into another level. Luckily, by disassembling the games, we found that each prototype can be unlocked to work as normal by inputting an “unlock” or “cheat” code combination while the game is paused, which you can see for yourself by checking out the articles for each prototype. While we still aren’t confident that we fully understand what’s going on, it’s possible that the developers intentionally “sabotaged” their builds of the game by disallowing anyone from playing the game on anything besides a developer console, which has the ability to mimic specific regions. It’s also possible that the copy protection is set to always hang to prevent people other than the intended parties from accessing the rest of the game’s contents without knowing how to activate the in game cheats.



Up until this point, we have dumped all CD/DVD based prototypes so far with CloneCD using both a Lite-On LH-20A1L and a HLDS GSA-U10N, drives that have historically low error rates. These particular dumps were created shortly before drx had to move overseas. The move has been a temporary set back since most of the stuff we intend to release is still in progress. The subchannel data will have to be redumped using different methods in order to ensure that the problems we were seeing aren’t caused by the dumps themselves. We consider the dumps okay for release, but we intend to redump everything in the future with a different standard so that we can ensure the best possible dumps. There is some promising software being developed, such as DiscImageCreator by the Redump project.

