View Full Version : What's the reason for consecutive NOP commands
2COOL
4th January 2005, 10:31
Why is that in alot of anime DVDs, there are PGCs with command tables having alot of NOP commands in a row. I've commonly seen, say, 4 to 5 NOP pre-commands from the start. What's the reasoning on this? Food for thoughts?
blutach
4th January 2005, 10:45
@2COOL
Seen this on a lot of DVDs. 2 ideas:
1. Ridiculous I know, but my thought was it is maybe a quick time lapse counter (without going into counter mode). Seems silly though - the four NOPs would be executed in a flash.
2. Division of code - easy to see - although at the start of a PGC you wouldn't need this.
M7S
4th January 2005, 11:58
could it be as easy as nops inserted instead of removed commands to not get problems with gotos?
2COOL
4th January 2005, 19:01
Here's one example of a DVD with NOPs. There are no GoTo commands here and I don't think they are used as a replacement for counters.
VTST 10 , 1 TTN 1 (17:06) Title 10 - Chapters: 23, Programs: 23, Cells: 23
********** pre commands:
[00 00 00 00 00 00 00 00] 1 NOP
[00 00 00 00 00 00 00 00] 2 NOP
[00 00 00 00 00 00 00 00] 3 NOP
[00 00 00 00 00 00 00 00] 4 NOP
[00 00 00 00 00 00 00 00] 5 NOP
[61 00 00 00 00 06 00 00] 6 Set gprm(0) =(mov) gprm(6)
[71 00 00 06 00 00 00 00] 7 Set gprm(6) =(mov) 0
[71 00 00 01 00 00 00 00] 8 Set gprm(1) =(mov) 0
[71 00 00 02 00 00 00 00] 9 Set gprm(2) =(mov) 0
[00 A2 00 00 00 01 00 00] 10 if ( gprm(0) == 1 ) then { Break }
[20 A6 00 00 00 02 00 02] 11 if ( gprm(0) == 2 ) then { LinkPGN Program 2 }
[20 A6 00 00 00 03 00 03] 12 if ( gprm(0) == 3 ) then { LinkPGN Program 3 }
[20 A6 00 00 00 04 00 04] 13 if ( gprm(0) == 4 ) then { LinkPGN Program 4 }
[20 A6 00 00 00 05 00 05] 14 if ( gprm(0) == 5 ) then { LinkPGN Program 5 }
[20 A6 00 00 00 06 00 06] 15 if ( gprm(0) == 6 ) then { LinkPGN Program 6 }
[20 A6 00 00 00 07 00 07] 16 if ( gprm(0) == 7 ) then { LinkPGN Program 7 }
[20 A6 00 00 00 08 00 08] 17 if ( gprm(0) == 8 ) then { LinkPGN Program 8 }
[20 A6 00 00 00 09 00 09] 18 if ( gprm(0) == 9 ) then { LinkPGN Program 9 }
[20 A6 00 00 00 0A 00 0A] 19 if ( gprm(0) == 10 ) then { LinkPGN Program 10 }
[20 A6 00 00 00 0B 00 0B] 20 if ( gprm(0) == 11 ) then { LinkPGN Program 11 }
[20 A6 00 00 00 0C 00 0C] 21 if ( gprm(0) == 12 ) then { LinkPGN Program 12 }
[20 A6 00 00 00 0D 00 0D] 22 if ( gprm(0) == 13 ) then { LinkPGN Program 13 }
[20 A6 00 00 00 0E 00 0E] 23 if ( gprm(0) == 14 ) then { LinkPGN Program 14 }
[20 A6 00 00 00 0F 00 0F] 24 if ( gprm(0) == 15 ) then { LinkPGN Program 15 }
[20 A6 00 00 00 10 00 10] 25 if ( gprm(0) == 16 ) then { LinkPGN Program 16 }
[20 A6 00 00 00 11 00 11] 26 if ( gprm(0) == 17 ) then { LinkPGN Program 17 }
[20 A6 00 00 00 12 00 12] 27 if ( gprm(0) == 18 ) then { LinkPGN Program 18 }
[20 A6 00 00 00 13 00 13] 28 if ( gprm(0) == 19 ) then { LinkPGN Program 19 }
[20 A6 00 00 00 14 00 14] 29 if ( gprm(0) == 20 ) then { LinkPGN Program 20 }
[20 A6 00 00 00 15 00 15] 30 if ( gprm(0) == 21 ) then { LinkPGN Program 21 }
[20 A6 00 00 00 16 00 16] 31 if ( gprm(0) == 22 ) then { LinkPGN Program 22 }
[20 A6 00 00 00 17 00 17] 32 if ( gprm(0) == 23 ) then { LinkPGN Program 23 }
********** post commands:
[30 08 00 0D 01 C0 00 00] 1 (CallSS) Call the VMGM PGC 13, resume cell 1
********** cell commands:
jeanl
4th January 2005, 19:24
My take is that's again an artifact of the authoring program. I'm not sure why it would decide to put one NOP at the top (or several), but I don't think anybody in their right mind would do that. A program, however, would have no problem doing that kind of stuff as long as it's harmless ;)
I'm pretty sure all the commercial DVDs are authored using tools, not by hands, and I would bet that the authoring guys don't really check the "code" generated by the authoring tool (I know I wouldn't, as long as the DVD worked)...
Jeanl
2COOL
4th January 2005, 20:45
You're probably right. I've read on more than one occasion that Apple's DVD Studio Pro inserts in alot of NOPs along with other unnecessary commands.
blutach
4th January 2005, 23:50
@jean
Probably answers my earlier question with respect to LinkTail PGCs.
Regards
lark
5th January 2005, 08:46
maybe those first 5 commands are 'reserved for future use' :D
regards
t :)
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.