Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > (HD) DVD, Blu-ray & (S)VCD > IFO/VOB Editors
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 5th October 2004, 14:18   #1  |  Link
maksa
Registered User
 
Join Date: Apr 2004
Location: NTSC R1
Posts: 173
Parental Control Skip

I have backed up Predator I and removed with DVD Stripper all the junk before Main Menu. But if the parental control on my DVD is set below "unlimited" it gets stuck in a black screen, wont even show pasword menu from the standalone. I tried to modify VIDEO_TS.IFO to play meny right away (2Cool's Guide, but doesn't work. ANy ideas how to completely skip parental control.

Regards....
maksa is offline   Reply With Quote
Old 5th October 2004, 19:27   #2  |  Link
jeanl
Registered User
 
jeanl's Avatar
 
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
I'v never done that before but if I were you, I'd open my DVD with Pgcedit and try to find the commands where the player's parental control level is looked up (sprm(13)). Pgcedit has a search field at the bottom of the main window. Then I'd try to modify the commands to act as if the player's parental control was set to unlimited (I believe that would be 15). Check for details here and here.
Also (and maybe simpler), you could actually set the parental control in the player from the first-play PGC by simply adding this as your first line in the precommands:
[00 03 00 00 00 00 0F 02] 1 (SetTmpPML) Set parental level =(mov) 15(none), Goto line 2
but this might require you to enter a passwd upon playback

Let us know if you manage to do it, that could help lots more people...

Jean

Last edited by jeanl; 5th October 2004 at 19:34.
jeanl is offline   Reply With Quote
Old 5th October 2004, 20:06   #3  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
I'm not sure the SetTmpPML will work. This command sets the temporary parental level, ie. SetTmpPML checks the parental level from a specific PGC, but do not change the SPRM 13. However, I'm not sure about that. BTW, is it somebody here able to clarify?

I think the global parental level for the whole DVD is stored in the VMG_PTL_MAIT table, and is not modifiable via commands. IMHO, to get rid of the parental control, you have to delete the whole table. Actually, it is possible to remove this table with a trick in PgcEdit:
1) Load the DVD in PgcEdit.
2) Control-Double-Middle-Click (yes, you must press Control and double click with the middle mouse button!) on the "PGC" selector menubutton. This will open a console, used normally to debug.
3) In the console, type in exactly
Code:
set ::raw_sectors(0,VMG_PTL_MAIT) ""
and press Return.
4) Save the DVD.

Let me know if it works for you. If so, I will add a "Remove parental control" menu in PgcEdit. It's so simple!

You should also search for SetTmpPML commands in the PGCs, and replace them with GOTOs.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline   Reply With Quote
Old 5th October 2004, 20:18   #4  |  Link
jeanl
Registered User
 
jeanl's Avatar
 
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
I must say I'm confused as to how parental control works (i.e. what are the interactions between the VMG_PTL_MAIT table and SPRM 13.
However I found this interesting thread (look at the bottom), where someone successfully used IFOEdit to remove parental control altogether.
I'm still totally confused! It'd be great if someone could clarify.
Jeanl
jeanl is offline   Reply With Quote
Old 5th October 2004, 20:29   #5  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
@jeanl

The thread you mentionned is probably right.
To get rid of the parental control, you have to delete the whole table or reset the parental level to 0 in the table. I think deleting the whole table is still a good solution, because it is obvious that there is no parental control if there is no table.
However, I don't know the behavior of SetTmpPML if the table is missing.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline   Reply With Quote
Old 5th October 2004, 20:56   #6  |  Link
maksa
Registered User
 
Join Date: Apr 2004
Location: NTSC R1
Posts: 173
I have tried what Jeanl suggested....and

it didn't work. Than I tried to change value for all levels in all VTS to 0 (one guy suggested 32657 - 8000 HEX) and it didn't work. SPRM13 i don't know how to change. I'll try erasing VMG_PTL_MAIT table as r0IZ suggested and report. Thanks for your effort.
maksa is offline   Reply With Quote
Old 5th October 2004, 21:08   #7  |  Link
2COOL
PGC Navigator in Training
 
2COOL's Avatar
 
Join Date: Oct 2002
Location: NTSC Land
Posts: 3,552
@maksa

Try this in IfoEdit. In your VIDEO_TS.IFO / VMGM_MAT, set this value to 0.
Code:
[000000cc] 	Start offset of VMG_PTL_MAIT	0	[00000000]
__________________
2COOL
2COOL is offline   Reply With Quote
Old 5th October 2004, 21:54   #8  |  Link
jeanl
Registered User
 
jeanl's Avatar
 
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
Quote:
Try this in IfoEdit. In your VIDEO_TS.IFO / VMGM_MAT, set this value to 0.
[000000cc] Start offset of VMG_PTL_MAIT 0 [00000000]
I understand that this indicates that there's no parental control table. But apparently, there are parental control masks for each titles in the TT_SRPT table! Is it going to work if there's no VMG_PTL_MAIT table, but each title still has a mask?
Do you guys know where to find a good description of how parental control actually works? I'm puzzled about a few things:
- How does the VMG_PTL_MAIT work? (is it that the player compares its current control level with the corresponding mask and checks that the title is playable under this level?). Does bit n of the mask indicate that title n is playable? Does this involve SPRM(13) directly (or is it all done "under the hood" with no specific pre/post commands)?
- If so, when is SPRM(13) used? It is to branch to alternate content (or skip) depending on the parental level?
- What are the parental control masks in TT_SRPT and how are they used?

I checked DVD-Replica and and DVDSourceforge.net but couldn't get any useful info...
Jeanl
jeanl is offline   Reply With Quote
Old 5th October 2004, 22:11   #9  |  Link
2COOL
PGC Navigator in Training
 
2COOL's Avatar
 
Join Date: Oct 2002
Location: NTSC Land
Posts: 3,552
@jeanl

Quote:
Originally posted by jeanl
But apparently, there are parental control masks for each titles in the TT_SRPT table! Is it going to work if there's no VMG_PTL_MAIT table, but each title still has a mask?
I'm not the expert on this matter but if there is anything other than a zero, then try zeroing the masks out just in case. I forgot about the masks.

In VIDEO_TS.IFO / VMG_PTT_SRPT
Code:
Title_1: Parental ID field	0
In VTS_*_0.IFO / VTS_PGCITI
Code:
VTS_PGC_1: Category Parental ID mask	0
Since we don't have any hardcore specs to reference, we just have to trial and error for now.
__________________
2COOL
2COOL is offline   Reply With Quote
Old 5th October 2004, 22:17   #10  |  Link
jeanl
Registered User
 
jeanl's Avatar
 
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
Quote:
Since we don't have any hardcore specs to reference, we just have to trial and error for now.
You know what, I once took a look at the official technical reference and believe me, it's not extremely helpful unless you're willing to invest hours to try to understand it!
Trial and error is our fate, and in fact, reverse-engineering this beast is half of the fun anyway

Jeanl
jeanl is offline   Reply With Quote
Old 5th October 2004, 22:28   #11  |  Link
2COOL
PGC Navigator in Training
 
2COOL's Avatar
 
Join Date: Oct 2002
Location: NTSC Land
Posts: 3,552
There's also the SetTmpPML commands in the PGCs to contend with. Just do a search for "SetTmpPML" in PgcEdit and when you find any, double-click on them to edit and check on [X] none.
Code:
BEFORE:

[00 03 00 00 00 00 01 03]   1  (SetTmpPML) Set parental level =(mov) 1, goto line 3 

AFTER:

[00 03 00 00 00 00 0F 03]   1  (SetTmpPML) Set parental level =(mov) 15(none), Goto line 3
If the first edit don't work, then convert to GoTo command. Alphabetically > GoTo.
Code:
[00 01 00 00 00 00 00 03]   1  Goto line 3

__________________
2COOL

Last edited by 2COOL; 5th October 2004 at 23:40.
2COOL is offline   Reply With Quote
Old 6th October 2004, 03:02   #12  |  Link
maksa
Registered User
 
Join Date: Apr 2004
Location: NTSC R1
Posts: 173
Tried everything...& finally did it!

Tried all you guys suggested. Step-by-step, then sequentially, applied first advice, than second, than,3rd & 4th, didn't work. It hangs PowerDVD when set for PG level less than "Unlimited". Tried all of them together, same. Cleared in each VTS__.IFO VMGR_PG_UT value of PARENTAl ID MASK from 128 to 0. Same. Maybe Predator I is authored so every PGC has its own parental lock. It passes Main Menu and when you press Play Film or anything else goes to dummy VTS07 and hangs there.

So, I was pissed, and beware of pissed Serb. Went back to PGCEdit. Removed VMG_PTL_MAIT Table as r0IZ suggested. But that is not enough! On Unofficial DVD Specs site, they say SPRM(13) is parental control. It is given by standalone (or software player) and it is R/W. So, I looked in the structure of the DVD, line by line, and replaced coomands refering to SPRM(13) e.g.

Set gprm(0)=mov sprm(13arental level) with constant value 8:
Set gprm(0)=mov 8 ".."

Seems logical because sprm(13) is read from hardware and used in conditional jumps in DVD commands. Simply erasing it would disturb further commands. I think this fooled DVD into thinking that Parental level is set to Adult(8). That is not all. SPRM(13) could be changed (R/W), so you have to check any instances of seting that register. I found one in VTS1 (film) setting gprm(13) to SPRM(13). Replaced that too with 8. But, still things to do. Remember Teporary parental Command. You have to change all instances to level 15. Saved the DVD. Tried it on PowerDVD set to G and it worked. Tomorrow I'll try it on DVD-RW and Ronin & Cyberhome that I have.

Word of caution is that sprm13 could be referred anywhere in the DVD. Some DVDs have seamles Parental Control, so they change angle depending on the setting of the player. Some others are simple. This one wasn't so simple, but kill the bastard.

Hope it helps,
thank you all!
maksa is offline   Reply With Quote
Old 6th October 2004, 03:21   #13  |  Link
jeanl
Registered User
 
jeanl's Avatar
 
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
Yepeeee! You conquered the beast!
AH! Good job.
It appears in this case, parental control was done on a "command" basis, probably PGC by PGC. That was my naive assumption (that you'd find commands here and there refering to SPRM(13)), since I didn't know about the VMG_PTL_MAIT Table.
As usual with the DVD specs, it's probably true that there's many different ways of doing parental control (one being the VMG_PTL_MAIT Table, another using SPRM(13) in commands).
I'm puzzled that the code was indeed setting SPRM(13), as I thought that this would pop a menu on your player asking for a passwd (I think I read that on DVD-Replica, or somewhere else).

Let us know how it goes with the other DVDs! Maybe r0lZ can come up with a nifty macro that would kill the beast in all cases

Jeanl
jeanl is offline   Reply With Quote
Old 6th October 2004, 06:26   #14  |  Link
sweetness
member
 
Join Date: Feb 2004
Posts: 346
@maksa
try not to blank the parental control screen in your menu,where your dvd hangs(i think there's something in those button commands that you blanked) if you clear all the tables and leave that screen untouched it shouldn't hang there and it make things alot easier.
__________________
some guides
sweetness is offline   Reply With Quote
Old 6th October 2004, 07:50   #15  |  Link
2COOL
PGC Navigator in Training
 
2COOL's Avatar
 
Join Date: Oct 2002
Location: NTSC Land
Posts: 3,552
Re: Tried everything...& finally did it!

@maksa

I wish I had your DVD to check it out but since I don't, I have to do it virtually. Now, there's something on my mind about your last post ...

Quote:
Originally posted by maksa
So, I looked in the structure of the DVD, line by line, and replaced coomands refering to SPRM(13) e.g.

Set gprm(0)=mov sprm(13: parental level) with constant value 8:
Set gprm(0)=mov 8 ".."

Why did you use the value of 8? 8 is definitely for Adults.
Reference: http://www.dvd-replica.com/DVD/vmgpml.php

Why not 15? This would make it "none" for parental level.
Reference: http://dvd.sourceforge.net/dvdinfo/sprm.html

Quote:
I found one in VTS1 (film) setting gprm(13) to SPRM(13). Replaced that too with 8.
Again, gprm(13) should've been set to 15 here.
Code:
OLD:
[61 00 00 0D 00 8D 00 00]   #  Set gprm(13) =(mov) sprm(13: parental level)

NEW: 
[71 00 00 0D 00 0F 00 00]   #  Set gprm(13) =(mov) 15 ".."
Quote:
Remember Teporary parental Command. You have to change all instances to level 15.
You did it right in this area.

I hope you can test this with your DVD again with all instances of sprm(13: parental level) holding values of 15 instead.
__________________
2COOL

Last edited by 2COOL; 6th October 2004 at 07:55.
2COOL is offline   Reply With Quote
Old 6th October 2004, 08:26   #16  |  Link
jeanl
Registered User
 
jeanl's Avatar
 
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
the whole thing is definitely puzzling...
Quote:
Set gprm(0)=mov sprm(13: parental level) with constant value 8:
@2COOL:
doesn't this means you're reading from sprm(13) which (I think) hold the current parental level in the player? So isn't it right to replace it by 8 (adult) as if the player had its parental control level set to adult, so anything will play no matter what its parental control is?

Or am I not understanding the meaning of SPRM(13)...
Jeanl

Last edited by jeanl; 6th October 2004 at 08:39.
jeanl is offline   Reply With Quote
Old 6th October 2004, 14:10   #17  |  Link
maksa
Registered User
 
Join Date: Apr 2004
Location: NTSC R1
Posts: 173
@ 2Cool

I have tried setting it to 15. As a matter of fact next command is:

set gprm(0)=&(and)gprm(0),15 (or something like that).

So it compares old value of gprm(0) with 15, so it should work. But it didn't for some reason. 8 worked (I think) because I fooled DVD command sequence into thinking that player is set for adult and Predator is certainly set for that. My guess is that I skipped some command checking it again for PL setting and when you put 15 it doesn't match. When you put 8, result should be "TRUE" for that conditional skip - maybe they put permanent value of 8 on DVD somewhere, but it doesn't make sense. In all honesty, my standalones do not have setting for 15, highest is 8 and there is no option for "unlimited".
Tepm. PAr. Command did work even with 1 once you have removed VTS_PG_MAIT table. Why, I have no clue, but I left it 15 just in case.

WORD OF CAUTION: I have tried RW last night in Ronin 802 & Cyberhome 305 and it works OK. But those players are know to play anything short of the Oreo cookies. Someone should try it on "brand" names DVD players.

Regards everyone....
maksa is offline   Reply With Quote
Old 6th October 2004, 14:13   #18  |  Link
maksa
Registered User
 
Join Date: Apr 2004
Location: NTSC R1
Posts: 173
@ Jean

sprm(13) is given from the standalone and it is Parental level. I have replaced it with 8 (Adult), but it doesn't refer to standalone anymore. Value is given permanently. But in same cases, sprm(13) could be changed in program flow, so that has to be checked and modified for the sake of TepPArCmd.
maksa is offline   Reply With Quote
Old 6th October 2004, 18:11   #19  |  Link
jeanl
Registered User
 
jeanl's Avatar
 
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
Quote:
But those players are know to play anything short of the Oreo cookies.
that was funny!!!
jeanl is offline   Reply With Quote
Old 6th October 2004, 23:13   #20  |  Link
maksa
Registered User
 
Join Date: Apr 2004
Location: NTSC R1
Posts: 173
Did one more...Love Actually!

Hey kids out there! This is NOT to circumvent Parental Control, just to make life easier for us adults (no passwords). I don't beleive in machine controling my kids, I do that myself. Both my DVD players have setting to 8, but my kids (13 & 8) are allowed to warch Predator, Love Actually and the Big Fish, but not allowed to watch Clockwork Orange (UK DVD - no Parental Lock anyways!). And they respect that!

Anyway, same story:
1. Reset VMG_PTML_MAIT table to 0 (console mode).
2. Replaced instances that call sprm(13) to fixed value "8".
3. Replaced SetTmpPML from 8 to 15.
4. Saved DVD.

Bingo, PowerDVD passed it with setting on G, first time!
maksa is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:28.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.