Log in

View Full Version : Q: How to determine which action / menu plays a certain title - trouble w/ Dark Water


JFerguson
9th January 2006, 07:15
Hi all. Unless I'm missing something obvious, I cannot figure out the purpose of Title 14 in Dark Water, R1.

I was wondering how one would determine which action or menu button results in the playback of a certain title, like this one.

I loaded it into PGCEdit, and found this function, "Go to calling command", which for this title is as follows:

VMGM, LU 1 (en) {dummy}, pre command 9
if ( gprm(7)==gprm(5) ) then {(Jump TT) Jump to Title 14 }

which is mostly greek to me.

Appreciate any insight on this -- thanks...

blutach
9th January 2006, 11:52
That's just the command that calls it. (Compares 2 internal registers and if equal, jump to the title)

The easiest way to find out what the title is, is to go through all the menu buttons in the extras menus and see in your SW player's on screen display which title corresponds to which button.

This can also easily be done in PgcEdit (http://www.videohelp.com/~r0lZ/pgcedit/index.html)'s trace mode.

Regards

JFerguson
9th January 2006, 18:52
Yes, I've gone through all the menus with PowerDVD, to no avail. That's what prompted this question.

jeanl
10th January 2006, 03:50
You have to backtrack to find out where the title gets called from. It's really not easy, depending on the DVD... In your example, if the 2 gprms are equal, the playback jumps to your title. So now you need to find which PGC calls the one that calls your title and so on and so on...
jeanl

r0lZ
10th January 2006, 11:18
Note that I've seen some DVDs with some titles that are never played! Generally, those titles are duplicates of another title, or dummy titles with only a single, tiny black cell.

Also, take care of the easter eggs. A title that is apparently not played could be called via an hidden menu button. Examine the menus with the buttons viewer to discover the easter eggs.

In your case, backtracing through the PGCs will not be easy, since the condition to play the title is somewhat difficult to interpret.
You could try to set an automatic breakpoint on gprms 5 and 7, and then use the trace mode. Whenever gprm 5 or 7 is changed by a VM command, the trace will automatically break. Examine the value of the gprms, and if they are equal, then the confition to play the title is true.

JFerguson
12th January 2006, 08:26
Rolz, I know what you're saying about dummy titles - this one isn't a dummy, not an Easter Egg either.

Let me see if I can get a better understanding of all this. Here's a little more of the calling code:

1 Set gprm(15) =(mov) 0
2 Set gprm(1) =(mov) sprm(1:Audio stream number)
3 Set gprm(2) =(mov) sprm(2:Sub-picture stream number)
4 Set gprm(7) =(mov) 1
5 if ( gprm(7) == gprm(5) ) then { (JumpTT) Jump to Title 12 }
6 Set gprm(7) =(mov) 2
7 if ( gprm(7) == gprm(5) ) then { (JumpTT) Jump to Title 13 }
8 Set gprm(7) =(mov) 3
9 if ( gprm(7) == gprm(5) ) then { (JumpTT) Jump to Title 14 }
10 Set gprm(7) =(mov) 4

Ok, so gprm is a bank of registers, and a specific register is evaluated using subscript/offset in (). There is a sequence of statements here -- what purpose does the preceding assignment serve -- I don't know what (mov) 3 means - it seems unique relative to surrounding statements??

Thanks...

bigotti5
12th January 2006, 09:48
don't know what (mov) 3 means

This means the value 3 is written to the specified register (to GPRM7 in your case)
In the next command GPRM7 is compared to GPRM5 - if the values are equal the condition is true and the command is executed
if the condition is false the command will be ignored and the next command will be processed

in your case you have to set an automatic breakpoint (Pgcedit) on GPRM 5 and examine when GPRM 5 is set to 3 because then the condition of command 9 is true and Title 14 will be played

r0lZ
12th January 2006, 11:58
Right. gprm(7) holds here a temp value to be compared with gprm(5). It's necessary to use this trick because you cannot compare a gprm with an integer in a JumpTT command. Command 9 is therefore equivalent to this (illegal) syntax:
if ( gprm(5) == 3 ) then { (JumpTT) Jump to Title 14 }

ron spencer
12th January 2006, 19:21
what is the purpose of these black nothing titles....I see them alot...are they just to get a standalone's buffers up to speed?

r0lZ
12th January 2006, 19:40
I don't know. It's probably something left over by the authoring program, like the unreferenced dummy PGCs in the menu domains.

Might be also a title removed on a specific edition. For example, there are less FBI warnings on the european edition of some DVDs than in the US. It's easier to replace it with a black title than redoing the authoring.

Sometimes, a tiny black cell is used to add a little pause before or after a title. I saw that several times on Disney DVDs.

ron spencer
13th January 2006, 00:46
can pgcedit add a black cell of specific length...this would be cool...link movie to that cell to play black before move to next movie etc.

r0lZ
13th January 2006, 00:49
The latest beta can add a cell at the beginning or at the end of any PGC, even in a dummy PGC. It's always a single frame cell, but you can change his still time in the PGC Editor, or replace it with VobBlanker.
BTW, the latest beta is PgcEdit_winexe_0.6.3beta5.zip (http://www.videohelp.com/~r0lZ/pgcedit/beta/PgcEdit_winexe_0.6.3beta5.zip).
With previous versions, it was only possible to add a cell at the end of the PGC.

ron spencer
13th January 2006, 16:13
this works perfectly!!!! With DVDLab Pro you can make chapter playlists which makes titles from specific chapters you want to play. This is neat but means that when a chapter list ends there is not a "clean" black screen. With your new version you can add a dummy pgc, create a cell there, set the cell time and add VM commands. You would need a new pgc for each chapter playlist as the VM commands may be different, so it takes time....but man it works well!!!

When is this version out of beta? safe to use on regular basis?

Can you change the color from black during the cell time to some other color?

thanks
-rs

r0lZ
13th January 2006, 16:37
this works perfectly!!!! With DVDLab Pro you can make chapter playlists which makes titles from specific chapters you want to play. This is neat but means that when a chapter list ends there is not a "clean" black screen. With your new version you can add a dummy pgc, create a cell there, set the cell time and add VM commands. You would need a new pgc for each chapter playlist as the VM commands may be different, so it takes time....but man it works well!!!Thanks!

When is this version out of beta? safe to use on regular basis?This version should be safe. (Except perhaps the new function to bypass a menu with buttons with kill playback. I think it should work as expected most of the time, but there can be rare cases not yet fully implemented.)
I need more time to finish v0.7, and I haven't many time to devote to PgcEdit for now. But I may release an intermediate version 0.6.3 before, if the time needed to finish 0.7 is too long.


Can you change the color from black during the cell time to some other color?No. The color of the tiny cell is hardcoded, and cannot be changed. But you can, if you wish, replace the cell with VobBlanker.

ron spencer
13th January 2006, 17:07
ok thanks!!!! V0.7? what else can be added may I ask???????

interim update fine

r0lZ
13th January 2006, 17:15
I want to add an option suggested a long time ago by an user, to blank any PGC or cell, with an option to do it also from the preview.
The idea is to replace the blanked material by a tiny black cell. If such a cell already exists at the end of the VOB file, the same cell can be reused many times.
When everything is finished, PgcEdit will call FixVTS to remove the blanked material, now unreferenced, and renumber the VOB/Cell IDs sequentially.

I have also the intention to revamp completely the PGC Editor. It will be possible to select several cells at once, to remove/move/blank them easily. But this part is not easy. It's why I need some more time.

JFerguson
14th January 2006, 19:26
Thanks bigotti5 and rolz for the explanations - makes complete sense...

So, would gpmr(5) attain a value of 3 via a mov command also? I'm not sure a breakpoint is going to help me here, since I cannot find the set/jump interactively.

r0lZ
14th January 2006, 19:51
Yes. Look for Set, SetGPRMMD, CSetLnk, SetCLnk and CSetCLnk commands with a gprm(5). It is probably easier to search for "gprm(5)". Note that you must use the "All" button to search also in the menu button commands.

The breakpoint method:
Go to trace mode, and open the watch window with the GPRMs (Watch -> GPRMs.) Enable the GPRM 5 break (Breakpoints -> GPRM write breakpoints -> GPRM 5.) The number 5 should turn red in the watch window. (BTW, it is also possible to toggle the GPRM breakpoint by clicking on this number.)
Now, start the trace with the ->>> Run button. The trace will stop whenever the value of gprm(5) changes. Look in the watch window to see the actual value. Continue to trace, and use the DVD menus, until gprm(5)'s value is changed to 3. At this point, the title is ready to be played. Continue to trace. You shouls reach the title quickly.