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. |
5th October 2004, 14:18 | #1 | Link |
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.... |
5th October 2004, 19:27 | #2 | Link |
Registered User
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. |
5th October 2004, 20:06 | #3 | Link |
PgcEdit daemon
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) "" 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 |
5th October 2004, 20:18 | #4 | Link |
Registered User
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 |
5th October 2004, 20:29 | #5 | Link |
PgcEdit daemon
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 |
5th October 2004, 20:56 | #6 | Link |
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.
|
5th October 2004, 21:54 | #8 | Link | |
Registered User
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
|
Quote:
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 |
|
5th October 2004, 22:11 | #9 | Link | |
PGC Navigator in Training
Join Date: Oct 2002
Location: NTSC Land
Posts: 3,552
|
@jeanl
Quote:
In VIDEO_TS.IFO / VMG_PTT_SRPT Code:
Title_1: Parental ID field 0 Code:
VTS_PGC_1: Category Parental ID mask 0
__________________
2COOL |
|
5th October 2004, 22:17 | #10 | Link | |
Registered User
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
|
Quote:
Trial and error is our fate, and in fact, reverse-engineering this beast is half of the fun anyway Jeanl |
|
5th October 2004, 22:28 | #11 | Link |
PGC Navigator in Training
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 Code:
[00 01 00 00 00 00 00 03] 1 Goto line 3
__________________
2COOL Last edited by 2COOL; 5th October 2004 at 23:40. |
6th October 2004, 03:02 | #12 | Link |
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! |
6th October 2004, 03:21 | #13 | Link |
Registered User
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 |
6th October 2004, 06:26 | #14 | Link |
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 |
6th October 2004, 07:50 | #15 | Link | |||
PGC Navigator in Training
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:
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:
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:
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. |
|||
6th October 2004, 08:26 | #16 | Link | |
Registered User
Join Date: Sep 2004
Location: California, USA
Posts: 2,079
|
the whole thing is definitely puzzling...
Quote:
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. |
|
6th October 2004, 14:10 | #17 | Link |
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.... |
6th October 2004, 14:13 | #18 | Link |
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.
|
6th October 2004, 23:13 | #20 | Link |
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! |
|
|