Log in

View Full Version : Narnia root menu editing question


FredThompson
7th April 2006, 03:13
I'd like to edit the Narnia menus such that VTSM 1, LU 1, 18 will play when the root menu is first launched. It appears, the flow immediately goes to VTSM 1, LU 1, 19 which loops.

Here are the pre-commands for 18:[20 94 00 0A 00 02 00 13] 1 if ( gprm(10) & 2 ) then { LinkPGCN PGC 19 }
[7A 00 00 0A 00 02 00 00] 2 Set gprm(10) |=(or) 2
[75 00 00 0B 04 00 00 00] 3 Set gprm(11) *=(mul) 1024
[46 00 00 00 00 0B 00 00] 4 (SetHL_BTN) Set Highlighted Button =(mov) gprm(11)
PgcEdit puts a "10b" to the right of this segment. The defined root is VTSM 1, LU 1, 1 like this:[00 B1 00 09 00 00 00 03] 1 if ( gprm(9) != 0 ) then { Goto line 3 }
[30 06 00 04 00 C0 00 00] 2 (JumpSS) Jump to VMGM PGC 4
[00 00 00 00 00 00 00 00] 3 NOP
[00 91 00 0A 00 04 00 16] 4 if ( gprm(10) & 4 ) then { Goto line 22 }
[00 00 00 00 00 00 00 00] 5 NOP
[61 00 00 0E 00 81 00 00] 6 Set gprm(14) =(mov) sprm(1:Audio stream number)
[61 70 0E 0C 00 0E 00 04] 7 if ( gprm(14) < gprm(4) ) then { Set gprm(12) =(mov) gprm(14) }
[71 70 0E 0E 03 E7 00 04] 8 if ( gprm(14) < gprm(4) ) then { Set gprm(14) =(mov) 999 }
[00 00 00 00 00 00 00 00] 9 NOP
[61 00 00 0F 00 82 00 00] 10 Set gprm(15) =(mov) sprm(2:Sub-picture stream number)
[61 00 00 00 00 82 00 00] 11 Set gprm(0) =(mov) sprm(2:Sub-picture stream number)
[61 00 00 01 00 0D 00 00] 12 Set gprm(1) =(mov) gprm(13)
[61 40 00 0D 00 0F 00 07] 13 if ( gprm(0) >= gprm(7) ) then { Set gprm(13) =(mov) gprm(15) }
[71 40 00 0F 03 E7 00 07] 14 if ( gprm(0) >= gprm(7) ) then { Set gprm(15) =(mov) 999 }
[61 70 00 0D 00 0F 00 05] 15 if ( gprm(0) < gprm(5) ) then { Set gprm(13) =(mov) gprm(15) }
[71 70 00 0F 03 E7 00 05] 16 if ( gprm(0) < gprm(5) ) then { Set gprm(15) =(mov) 999 }
[00 A1 00 0E 03 E7 00 16] 17 if ( gprm(14) == 999 ) then { Goto line 22 }
[00 B1 00 00 00 3F 00 16] 18 if ( gprm(0) != 63 ) then { Goto line 22 }
[61 00 00 0F 00 00 00 00] 19 Set gprm(15) =(mov) gprm(0)
[61 00 00 0D 00 01 00 00] 20 Set gprm(13) =(mov) gprm(1)
[00 00 00 00 00 00 00 00] 21 NOP
[20 B4 00 09 00 01 00 04] 22 if ( gprm(9) != 1 ) then { LinkPGCN PGC 4 }
[71 04 00 0B 00 02 00 12] 23 Set gprm(11) =(mov) 2 ; LinkPGCN PGC 18
Would someone please show me where to edit this? I'm very familiar with programming but don't really understand much about what sure look like DVD-nav-specific structures.

setarip_old
7th April 2006, 03:33
@Fred Thompson

Just noticed - there ARE two different versions of the active menu available. One is activated as "Root menu" and the other is activated as "Title menu"

FredThompson
7th April 2006, 04:24
They both go to the same loop.

The menu structure is screwed up. You'll also find the subtitles menu is enabled when you're looking at the root menu but it just goes to the Tinkerbell sequence.

setarip_old
7th April 2006, 06:15
They both go to the same loop.They don't on my Region 1 version (Original and DVD Decrypter + VOBBlanker rip). If I press the "Title menu" button on my remote, I see one version of the menu - and if I press the "Root menu" button, I see the other version...

FredThompson
7th April 2006, 10:11
Hmmm...I wonder if PowerDVD isn't parsing these properly. Do you have it? If so, does it work properly for you?

Mine is region 1 disc and also rip via DVDFab Decrypter.

Does the code on your rip look like mine?

setarip_old
7th April 2006, 20:45
First try playing your original, purchased DVD on a standalone DVD player and see if when you press the "Title menu" button on your remote, you see one version of the menu - and if you press the "Root menu" button, you see the other version.

If you do see the two different versions (as I do), then check your burned copy in the same way on your standalone. If it behaves differently in this regard, it would seem that you've improperly altered that portion of the code...Mine is region 1 disc and also rip via DVDFab Decrypter.I did not use DVDFab Decrypter. As I said previously, I used DVD Decrypter v.3.5.4 to rip ALL files in "File" mode and then used VOBBlanker to "Process all" of the ripped DVD "package" of files...

FredThompson
7th April 2006, 23:36
The original disc doesn't show the longer menu when played with PowerDVD. Both "remote buttons" show the shorter video. That's why I asked if you have the same result with your original and PowerDVD. Maybe PowerDVD doesn't parse properly. Looking at it now, I see what I typed could have been read differently.

I'll try it in a standalone player, as well.

setarip_old
8th April 2006, 00:25
I'll try it in a standalone playerYes, please do that...

I don't have PowerDVD - but my ancient WinDVD, as well as VLC player, likewise doesn't display the lengthier beginning of the "Title menu". Instead they display 2 1/2 seconds of blankscreen and then the "Root menu". So, my guess is that it's a "software player only thing" and when you play it on your standalone, you'll be able to access the two different displays...

**EDIT** Surprisingly, Windows Media Player 9 DOES initially play the lengthier "Title menu"...

setarip_old
8th April 2006, 00:40
BTW - Click on the "lion's head" on the top part of the menu frame ;>}

Further information - This is getting enjoyable ;>}

The simplest way to see the lengthier version of the menu - even with software players - is to let the initial "coming attractions" play through. When they've finished, the menu shown is the lengthier one!

FredThompson
8th April 2006, 02:18
Yeah, I saw the lion's head button when I was poking around in PgcEdit. It's almost invisible during regular playback. That also got me looking for hidden buttons to run the longer menu intro.

You're right, there is a slight delay of blank video. I just assumed that was the player getting started.

Yup, things work fine in my hardware player. This is really odd. I wonder if there's some common base to the software players and it doesn't include all the navigation.

setarip_old
8th April 2006, 02:49
I wonder if there's some common base to the software players and it doesn't include all the navigation.Perhaps for some, or most - but as I said:

1) You CAN access it with Windows Media Player 9

2) You CAN access it by allowing the "coming attractions" to run to their conclusion

blutach
8th April 2006, 09:24
@FredThompson

Just use PgcEdit (http://www.videohelp.com/~r0lZ/pgcedit/index.html)'s jump to PGC upon DVD Insert Macro.

Select the PGC you want on the left pane (PGC 18) and press Ctl-Shift-t. This turns the PGC red. Then start trace (Ctrl-T) and trace to your desired PGC. Execute from the menu bar: PGC - Jump to PGC Upon DVD Insert.

OK and Save and it will always start with this PGC.

Guide on PgcEdit (http://www.videohelp.com/~r0lZ/pgcedit/index.html) site, written by a real drongo.

http://www.digital-digest.com/~blutach/gl1.gif

Regards

kmac61
8th April 2006, 18:00
The pgcediit method is surprisingly simple - takes about 1 min.
the title will start in long version of main menu (power dvd)

FredThompson
8th April 2006, 23:55
Grrr...something just ain't right, I tell ya.

I've gone through and when I hit PGC 18, the macro says there is a jump outside the local area (actually, similar words) and to continue to trace until I hit the PGC again then rerun the macro. Well, that never happens. There's a continuous loop of PGC 19.

My PGC 18, after the macro, looks like this:********** pre commands:
[20 94 00 0A 00 02 00 13] 1 if ( gprm(10) & 2 ) then { LinkPGCN PGC 19 }
[7A 00 00 0A 00 02 00 00] 2 Set gprm(10) |=(or) 2
[75 00 00 0B 04 00 00 00] 3 Set gprm(11) *=(mul) 1024
[46 00 00 00 00 0B 00 00] 4 (SetHL_BTN) Set Highlighted Button =(mov) gprm(11)
********** post commands:
[61 00 00 0B 00 88 00 00] 1 Set gprm(11) =(mov) sprm(8:Highlighted button number)
[76 00 00 0B 04 00 00 00] 2 Set gprm(11) /=(div) 1024
[20 04 00 00 00 00 00 13] 3 LinkPGCN PGC 19
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC @kmac61, is that the same as yours?

edit: I replaced the first line with NOP and it works but I'm not sure that doesn't "break" something. There's a slight jump when the loop restarts.

blutach
9th April 2006, 13:50
@FredThompson

I guess you enter PGC18 for the first time with bit 1 of gprm(10) being set. If that is the case, precommand 1 is the same as a straight Link PGC 19 and the cell is never played. If indeed you want to start at 18, then changing the first precommand to NOP (or deleting it) will achieve this.

We can't tell for sure without info on the button commands in 18 and 19 (PgcEdit (http://www.videohelp.com/~r0lZ/pgcedit/index.html) can give you info on this to print here), but assuming the button commands are LinkTailPGC, if you press a button during playback of 18, then you're gunna link to 19 (post command 3) and continue from there. I also assume that this is the case if no button is selected.

So, best you post the info on button commands for 18 & 19 where we can give you a definitive answer. Also, it would be a good idea to post the state of your registers as you enter PGC 18.

Regards

ron spencer
9th April 2006, 14:27
interesting thread

kmac61
9th April 2006, 17:45
Fred - here is what I ended up with (don't know how to put in nice blue box)
title starts on long menu - if you click on lion head goes to shorter clip with no menu buttons, clicking anywhere on screen returns to long menu with buttons
00 B1 00 02 FE FE 00 14] 1 if ( gprm(2) != 65278 ) then { Goto line 20 }
[71 00 00 02 00 00 00 00] 2 Set gprm(2) =(mov) 0
[71 00 00 00 00 FF 00 00] 3 Set gprm(0) =(mov) 255
[71 00 00 01 00 00 00 00] 4 Set gprm(1) =(mov) 0
[71 00 00 02 00 00 00 00] 5 Set gprm(2) =(mov) 0
[71 00 00 03 00 00 00 00] 6 Set gprm(3) =(mov) 0
[71 00 00 04 00 04 00 00] 7 Set gprm(4) =(mov) 4
[71 00 00 05 00 43 00 00] 8 Set gprm(5) =(mov) 67
[71 00 00 06 00 43 00 00] 9 Set gprm(6) =(mov) 67
[71 00 00 07 00 44 00 00] 10 Set gprm(7) =(mov) 68
[71 00 00 08 00 00 00 00] 11 Set gprm(8) =(mov) 0
[71 00 00 09 00 01 00 00] 12 Set gprm(9) =(mov) 1
[71 00 00 0A 00 05 00 00] 13 Set gprm(10) =(mov) 5
[71 00 00 0B 00 01 00 00] 14 Set gprm(11) =(mov) 1
[71 00 00 0C 00 00 00 00] 15 Set gprm(12) =(mov) 0
[71 00 00 0D 00 3F 00 00] 16 Set gprm(13) =(mov) 63
[71 00 00 0E 03 E7 00 00] 17 Set gprm(14) =(mov) 999
[71 00 00 0F 03 E7 00 00] 18 Set gprm(15) =(mov) 999
[51 00 00 80 BF 00 00 00] 19 (SetSTN) Set Audio stream = 0 ; Set Sub-picture stream = 63:forced
[00 00 00 00 00 00 00 00] 20 NOP
[20 94 00 0A 00 02 00 13] 21 if ( gprm(10) & 2 ) then { LinkPGCN PGC 19 }
[7A 00 00 0A 00 02 00 00] 22 Set gprm(10) |=(or) 2
[75 00 00 0B 04 00 00 00] 23 Set gprm(11) *=(mul) 1024
[46 00 00 00 00 0B 00 00] 24 (SetHL_BTN) Set Highlighted Button =(mov) gprm(11)
********** post commands:
[61 00 00 0B 00 88 00 00] 1 Set gprm(11) =(mov) sprm(8:Highlighted button number)
[76 00 00 0B 04 00 00 00] 2 Set gprm(11) /=(div) 1024
[20 04 00 00 00 00 00 13] 3 LinkPGCN PGC 19
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

blutach
9th April 2006, 18:04
Interesting that grpm (10) = 5 on entry, which would make the first line of the original precommands false and enable PGC18 to be played.

Regards