Mednafen Members Members   Search Search   Help Help   Register Register   Login Login   Home Home
Home » Mednafen » Development » Triggering Anti-Modchip
Show: Today's Messages  :: Show Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
Triggering Anti-Modchip [message #6381] Sun, 24 January 2021 05:12 Go to next message
Talos  [PM]
Hello everyone!

I have a question about PS emulation. Specifically, about anti-piracy features in games released post 1998. To make a long story short, Sony developed two systems to curb the use of modchips and illegal copies that where instrumental in the spread of piracy on the PlayStation. The first one is Anti-Modchip, used mostly in games released in Japan, North America and (sometimes) PAL regions, and the other one is LibCrypt, used primarily in games released in PAL regions (Europe, Australia, Oceania and South Africa) Games such as Silent Hill, Crash Team Racing, Crash Bash etc. used either one of them, depending on where they were released.

The way Anti-Modchip functions is pretty straightforward. As earlier modchips were active by default through injecting disc region data when a disc is inserted, all that it needs to trigger Anti-Modchip is by simply returning data from an active modchip when requested. When it triggers, it will show an error screen. Earlier versions had a sign with a red hand, hence the Japanese naming for this protection: Red Hand Protect. (レッドハンドプロテクト. reddo hando purotekuto, or RHP for short)

The error message looks like this.

Now, games with LibCrypt trigger in emulators just fine, because they use subchannel data on the disc to activate the measure. On the other hand, emulators usually don't trigger Anti-Modchip. I was able to trigger it without any tinkering on pSX 1.13 emulator, although because the emulator is not very accurate, the graphics for the error message are slightly different than what they should be, looking something like this.

I'm trying to document Anti-Piracy features in PlayStation games on The Cutting Room Floor. I consulted with its contributors on Discord and they suggested that I edit the source code of an emulator in such a way that it constantly injects region data. I don't have much experience editing source codes, with the only one that I had was when editing SNES 9x source code to include more SRAM.

My question is: which part of the source code would be necessary to edit, so that Mednafen triggers Anti-Modchip protection? Has anyone had any experience triggering this anti-piracy measure?

[Updated on: Sun, 24 January 2021 15:48]

Re: Triggering Anti-Modchip [message #6382 is a reply to message #6381 ] Sun, 24 January 2021 19:02 Go to previous messageGo to next message
Speedvicio  [PM]
You can bypass laserlock protection appling a sbi patch on the cd image, Mednafen can apply this patch also on the fly without touch your cd image, you need to put this patch named as the cd image in the same folder that contain the cd image.
Re: Triggering Anti-Modchip [message #6383 is a reply to message #6382 ] Mon, 25 January 2021 03:21 Go to previous messageGo to next message
Talos  [PM]
Thanks for your reply, but I'm not looking for .sbi files or patches for LibCrypt games. I'm trying to activate Anti-Modchip protection so that the game shows me this error message.
Re: Triggering Anti-Modchip [message #6384 is a reply to message #6383 ] Mon, 25 January 2021 14:14 Go to previous messageGo to next message
Administrator  [PM]
mednafen/src/psx/cdc.cpp, line 2378:
WriteResult(0x00);      // Number of SCEx strings received? (Stays at zero on music CD)

Changing 0x00 to 0xFF will probably trigger anti-modchip protections, though it's technically not replicating the exact side effects of early modchips.

[Updated on: Mon, 25 January 2021 14:19]

Re: Triggering Anti-Modchip [message #6386 is a reply to message #6384 ] Wed, 27 January 2021 13:51 Go to previous message
Talos  [PM]
Sorry for the late reply.

Thank you so much for the message. I've tested building Mednafen using Linux Mint xfce 20.1 on Oracle VM Virtual Box and applying your suggestions to the source code. It triggered Anti-Modchip exactly as I previously tested it on pSX 1.13, albeit much more accurately, as it showed the error message properly in games like the North American release of Dino Crisis, whereas on pSX 1.13 it simply crashes at the beginning, with no message whatsoever.

Here are some of the examples I've tested:

PoPoRogue (JPN) (Apparently the first game to include Anti-Modchip)
index.php?t=getfile&id=1303&private=0

Silent Hill (Japanese release)
index.php?t=getfile&id=1304&private=0

Dino Crisis (North American release)
index.php?t=getfile&id=1305&private=0

As an added bonus, I discovered that the first North American version of Dino Crisis has an error message in Japanese, despite English language release, but the 1.1 revision "fixed" it by showing the error message in English.

Once again, thank you very much for this.

[Updated on: Wed, 27 January 2021 15:33]

  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Minor SMS patch enabling vertical crop
Next Topic:macOS Big Sur - can't get 1.27.0-UNSTABLE to compile
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ ]

Current Time: Sat May 4 19:51:33 CDT 2024
.:: Contact :: Home ::.

Powered by FUDforum.
Copyright © FUDforum Bulletin Board Software