BD Region Code Removal Clarification?

Discussion in 'AnyDVD HD (Blu-ray issues)' started by YaniD, Apr 28, 2008.

  1. YaniD

    YaniD Well-Known Member

    Maybe I'm missing something, but it doesn't seem clear to me what the AnyDVD HD BD region code removal dialogue wants and what it then does with the region code.

    Is one supposed to enter the region code of the disk being played, or the region code one wants as a result?

    Is the region code actually removed completely, or set to the region code one selects above?

    I ask because inserting a region code B disc and answering "region code B" to the above dialogue results in a message something like: "region code now modded to region B"; inserting a region code B disc and answering "region code A" to the above dialogue results in a message something like: "region code now modded to region A".

    Consequently, I'm never sure what AnyDVD HD has actually done to the region code and what is going to be presented to PowerDVD. Clarification would be very helpful.
  2. Peer

    Peer Redfox Development Team Staff Member

    Enter the region (or one of the regions) the disc is allowed to play in.
    If you have a disc for region A, enter A.

    AnyDVD modifies the disc, so it always "thinks" it is running on a player set to the region you specified.
    This effectively results in a region free disc.
  3. YaniD

    YaniD Well-Known Member

    I must be thick because I still haven't quite got it, despite your explanation.

    If you set AnyDVD HD to match the region of the disc, how does this enable one to play that disc in a player set to a different region (which is the whole idea behind region free)?

    I normally have PowerDVD set to region A by default because I have more region A than B discs, but when I want to play a region B disc, I would like to keep PowerDVD on region A so I don't use up the changes (yes, I know there are ways to bypass the changes but it's more complexity I would like to avoid). In your explanation above, what would I have to set the region code to in AnyDVD HD to play a region B disc in PowerDVD region A? According to your explanation it would be region B (matching the disc), but then it doesn't match the player region A.

    Perhaps the confusion is in understanding where and how the region checking is done: the disc has a region code but the player also has a region code. AnyDVD HD can only modify the apparent region code of the disc, but since this needs to match the player region code, don't you have to tell AnyDVD HD the player region code to match to, rather than the disc region code?
  4. andy o

    andy o Well-Known Member

    The way I got it is that in your scenario, when you put region B on the disc, you are telling the disc that your player is region B, and then black vodoo magic happens, and finally your player thinks it's playing a region-free disc.
  5. jbrisbin

    jbrisbin Well-Known Member

    I think I follow what is happening.

    Recall from the original DVD that each disc declared what regions it should be played in, allowing the player software to decide whether it should be played or not and with hardware enforcement by the drive itself. So the player software had a region, the disk hardware had a region and the disc had one or more regions.

    Then players were compromised (so they would play any region), then the drives were persuaded to play any region (notably by SlySoft).

    When this happened, the studios dragged out a lame duck they called RCE. This was an attempt to use the primitive assembly language available to DVD authors to find the region of the drive (reading it from a drive register) and determine within if it matched some value, such as region 1.

    Since it was being done in software, it could be pretty obscure what the needed value should be. If the DVD code did not like the value it read from the drive register it would send you off to the "Ha Ha, you can't watch this disc screen"

    To insure success with RCE (liberating the disc) you have to fake the correct value in the register as it is read (or change the code to replace the register read with an explicit load of a constant). Since those discs avoid using the hardware method, claiming all region support, the code that hacks RCE has to know at least one region that the DVD box indicates should work. That value is supplied anytime the DVD assembly language attempts to read from the region register of the drive. Thus, RCE is easily defeated.

    Returning to the more recent BD releases, it appears that they have adopted something like the RCE approach rather than the hardware protocol supported by the original DVD spec.

    This means that the region is checked by the software (presumably Java, in this case) that is stored on the bluray disc. AnyDVD has to know what region will make the Java code happy so it can substitute it for what the drive might have told the code. So, if you have a region B disc, AnyDVD must plug in the numeric equivalent of 'B' wherever the Java code attempts to read the drive's region register.

    This is where you, the user, come in. You read the box and plug in the value you find there in the AnyDVD settings for that disc.

    If you fill in that blank with an answer that the Java code does not like it will send you to region purgatory. Give it the right one off the box label and everything should work.

    In this sense, the discs are never region free, they just think they are operating in whatever region they want to see.

    The downside is that if you get discs from all three areas, you will have to change that setting frequently to insure correct operation at playback.
  6. Peer

    Peer Redfox Development Team Staff Member

    Yes, you pretty much explained it. Except maybe for two tiny details:

    Most BD discs don't use Java. There is another byte code language present on all BD discs, similar to the one DVDs use.
    Most region coded BD discs check the region code through that byte code, some through Java and some even use both.

    AnyDVD modifies both.

    Only if you select a fixed region in AnyDVD, which I wouldn't recommend, if you have BDs from different regions.

    The way the "automatic" region code setting works is: AnyDVD will ask you for the region code of any disc you insert. It will memorize your answer and never ask you again for the region of that disc.

    There used to be an automatic detection, but that was a little unreliable - it needs to be reworked before we reactivate it.
    Also it is nearly impossible to automatically detect the region code on discs that only check the region code in Java.