Log in

View Full Version : HELP! - IFO Error in Deconstructing Harry


geffroman
29th January 2005, 22:15
Hi guys...

I get an "Illegal Navigation Command" in IFOEdit when playing Deconstructing Harry R1 NTSC.

Can anyone tell me whats wrong with this DVD?

VTSM 1 , LU 1 (en) , 1 (0:01) 7b. RootM - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 01 00 00 00 00] 1 Set gprm(1) =(mov) 0
[71 00 00 07 00 00 00 00] 2 Set gprm(7) =(mov) 0
[41 30 00 8B 8C 00 0D 01] 3 if ( gprm(13) != gprm(1) ) then { (SetSTN) Set Audio stream = gprm(11) ; Set Sub-picture stream = gprm(12) }
[71 00 00 0D 00 00 00 00] 4 Set gprm(13) =(mov) 0
[71 B0 00 00 00 01 00 00] 5 if ( gprm(0) != 0 ) then { Set gprm(0) =(mov) 1 }
[61 00 00 04 00 00 00 00] 6 Set gprm(4) =(mov) gprm(0)
[75 00 00 04 04 00 00 00] 7 Set gprm(4) *=(mul) 1024
[46 00 00 00 00 04 00 00] 8 (SetHL_BTN) Set Highlighted Button =(mov) gprm(4)
********** post commands:
[20 04 00 00 00 00 00 09] 1 LinkPGCN PGC 9
********** cell commands:

********** menu buttons commands:
VOB ID 1, Cell ID 1 (First NAV pack LBA=0)
1 Group Select button=0, Action button=0
button 1: [71 01 00 00 00 01 00 0D] Set gprm(0) =(mov) 1 ; LinkTailPGC
button 2: [71 06 00 00 00 02 04 02] Set gprm(0) =(mov) 2 ; LinkPGN Program 2, button 1 (1024)
button 3: [71 04 00 00 00 03 00 05] Set gprm(0) =(mov) 3 ; LinkPGCN PGC 5
button 4: [71 04 00 00 00 04 00 02] Set gprm(0) =(mov) 4 ; LinkPGCN PGC 2
VOB ID 2, Cell ID 1 (First NAV pack LBA=65)
1 Group Select button=0, Action button=0
button 1: [20 04 00 00 00 00 00 03] LinkPGCN PGC 3
button 2: [20 04 00 00 00 00 00 04] LinkPGCN PGC 4
button 3: [20 04 00 00 00 00 00 01] LinkPGCN PGC 1


Playback time: 00:00:01.00 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Time Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

4 1 1 2 yes no 255 0 00:00:00.15 00:00:00.15 0 0 0 64 1 1
3 2 2 2 yes no 255 0 00:00:00.15 00:00:01.00 65 0 65 127 2 1
IFOs (http://posunplugged.com/harry)

2COOL
30th January 2005, 02:41
Get current PgcEdit and do a trace. ;)

geffroman
30th January 2005, 04:49
What...? You want me to solve this for myself...? I am not that smart! :eek:

OK... got 048 and did a trace. It showed me that some value having to do with the buttons was 0 and needed to be between 1 & 4. I think I made the change but still get an error in IFOEdit preview.

Bottomline is PGCEdit is a truely amazing tool for guys smarter than me. There is just too much going on with the program that I don't understand.

Let me know if anyone can point me in the right direction. Thanx :D

2COOL
30th January 2005, 05:08
@geffroman

There are too many factors involved especially since it's a menu. If you are viewing the menu, then the pre commands had worked. If not then it's where I would look into. The problem that I see is Pre command #8. What if there was no specific button on the menu to highlight? :( Also, GPRMs 11 & 12 could be holding invalid values.

That's why I suggested doing a trace so that it would tell you which command is giving you the problem. Just load and step to your VTSM 1 , LU 1 (en) , 1.

geffroman
30th January 2005, 05:27
I got it fixed by using some advise I got for a similar situation a long time ago for "Little House on the Prairie". I changed VTS_1\Precommand-8 to NOP.

Old: (SetHL_BTNN) Set Button Nr: GPreg<4>
New: NOPI don't understand how or why this fixes the problem. It just does and someone smarter than me told me to give it a try then and it worked on this title as well.

Can anyone tell me what I did in laymen's terms?

blutach
30th January 2005, 08:39
I traced your original IFOs in PgcEdit and found nothing wrong. If there is no button to HL, big deal. But there is anyway. Your first post shows there is in both programs.

Very strange.

2COOL
30th January 2005, 22:53
OK, here's my breakdown from Pre-command 5.

________________________________________________________
5 if ( gprm(0) != 0 ) then { Set gprm(0) =(mov) 1 }

Basically, if gprm(0) is 1 or greater, then set its value to 1. If it's already at 0, then ingore command and continue.
________________________________________________________
6 Set gprm(4) =(mov) gprm(0)

Whatever gprm(0) is, gprm(4) will be set to that. So it's going to either be a 0 or 1
________________________________________________________
7 Set gprm(4) *=(mul) 1024

grpm(4) is multiplied by 1024

either

= 0 * 1024 = 0

or

= 1 * 1024 = 1024
________________________________________________________
8 (SetHL_BTN) Set Highlighted Button =(mov) gprm(4)

Set SPRM 8 to whatever gprm(4) is now

SPRM(8) = 0
SPRM(8) = 1024

The first value is invalid! And there is no button 0. SPRM(8) MUST a multiple of 1024 and the second value is valid and it's telling us button 1. The default settting for SPRM(8) is 1024. Somewhere before this PGC was accessed, gprm(0) was set at 0. By default, all GPRMs are set to 0 when DVD is inserted. ;)

@geffroman

Sorry, I should've asked to trace AND look at your gprm watch for changes.

[EDIT]IMO, this command should've been this ...
OLD:

[71 B0 00 00 00 01 00 00] 5 if ( gprm(0) != 0 ) then { Set gprm(0) =(mov) 1 }

NEW:
[71 00 00 00 00 01 00 00] 5 Set gprm(0) =(mov) 1

This way, you'll definitely get button 1 highlighted.

blutach
30th January 2005, 23:58
Touche 2COOL!

geffroman
31st January 2005, 00:13
Hi 2COOL...

I've read your post 3 times... I will read it 10 more if thatS what it takes to understand it... Ha Ha...

Thanks for taking the time... I don't think there is a single person I have learned more from over the past couple years with this DVD STUFF...

So once again... THANK YOU! :D

2COOL
31st January 2005, 00:39
The problem you have with this DVD is simliar to your other DVDs, The Little House on the Prairie.

By default when you insert your DVD, SPRM(8) is set to 1024, which corresponds to button 1. Your DVD, in question, are authored in a way the it uses a GPRM to also keep SPRM(8)'s current value. As I mentioned, SPRM(8) must be a multiple of 1024. Zero is not a multiple and is invalid. There can only be 36 buttons on a menu. So, for button 36, SPRM(8) will be holding a value of 36864.

Anyways, if the GPRM that is going to be used to take a snapshot value of SPRM(8), then its value SHOULD also be in multiples of 1024.

By default, upon DVD insert, all GPRMs are set to 0. My analysis on your DVDs is you're most likely missing this command below somewhere before the menu is accessed.

Set gprm(?) =(mov) sprm(8:Highlighted button number)

What can I say? poor authoring? There are many easy ways to correct your DVD. Just adding command above as your first Pre command in your problem menu's PGC Command table would suffice.

Again, if you know what GPRM is used for button highlighting value, use PgcEdit's trace to monitor that GPRM(?) and also SPRM(8). You'll find PgcEdit's trace function invaluable.