Gain Access To DVD@CCESS, DVDAfterEdit Style

by Ben Weinrach

While finishing a complete re-authoring job the other day, I came to the realization that since the DVD's PGC structure was drastically changed, none of the eight(!) DVD@CCESS links would function. Oops! I procrastinated as long as possible and finally bit the bullet -- I had to figure out how to get these to things work. After some experimentation and testing, I was able to not only restore the DVD@ccess functionality, but completely reassign which PGC's triggered which URL's. This article will show you how to quickly regain control of DVD@CCESS -- the DVDAfterEdit way!

The DVD@CCESS data entries are stored in the VMG's "Text Data" area:

[inline:1=center,data entries stored]

Each link programmed in DVDSP has it's own line in DVDAfterEdit. When a DVD@CCESS-assigned PGC is played, it triggers the command, whether it's a file path, email address, or URL (please refer to the DVDSP manual for more information regarding these functions). Navigation must actually enter the PGC - moving past the Pre-Command area - in order for the command to execute. This is why DVDSP does not permit DVD@CCESS commands to be programmed for a button.

But with DVDAfterEdit, it's easy to make it seem like a button executes the command. Just duplicate the PGC with the desired button, and set the duplicate PGC as not only the button's target, but the DVD@CCESS trigger. Since the NavPacks in the duplicate PGC's are the same as the original, all of the button-commands will remain. To get everything programmed just right may require a bit more tweaking depending on the requirements of the DVD, but it's really that simple.

To program the PGC assignments in DVDAfterEdit, simply click on the field(s) shown in the image above. Content from these fields can be copied & pasted, but entirely new DVD@CCESS entries cannot be created. While this capability may appear in a future DVDAfterEdit update, in most cases the author would probably want to modify the original assets in order to inform the user of additional DVD@CCESS functionality. So how are these assignments derived?

All Bits Revealed!

[inline:2=center,bit definitions for text data]

Above are the bit definitions for the DVD@CCESS text data. Keep in mind that these definitions came about because of research and testing, not from any actual documentation - so the diagram may not be 100% accurate. Just like everything else we edit here, please remember to test thoroughly. Oh, and don't forget to include the DVD@CCESS .exe installer on the disc like the author who's DVD I just finished re-authoring! Otherwise this restored functionality won't work for a lot of potential users...

More Examples:

XESS000200020010060000021http://www.google.com = VTSM 2 PGC 6

XESS000200000010070000020http://www.tfdvd.com = VMG PGC 7

XESS000100000300010020039http://www.dvdafteredit.com/public/102.cfm = VTS 3 PGC 1 PTT 2

Some Notes:

  1. The "version info" should probably be left alone to avoid accidentally offsetting the other bits. The "2" at bit 7 is written as a "1" with DVDSP 1.XX, and you may notice that the DVDSP 2/3 DVD@CCESS .exe installer is a different version than that of DVDSP 1.XX.
  2. If bits 11 and/or 12 have assigned values, then it seems as though that bits 13 and 14 are irrelevant and should be set to "00." DVDSP sometimes puts values in all four of these bits, but if the trigger PGC is a VTSM, then the VTS number doesn't really mean anything - and vice-versa.
  3. I believe bits 13 and 14 are for the VTS #, but if the TT # (title) and VTS # are different and problems persist, try the TT # instead.
  4. If a VMG or VTSM is the trigger, a value of "1" will appear at bit 15. So for example, if a VMG PGC is the trigger, then bits 11 - 14 are set to "0000" and bit 15 is set to "1." Generally, if a VTSM is the trigger, bit 15 is still set to "1," which seems a little redundant.
  5. If the command is set to trigger at a PGC and no PTT # is specified, bits 19 - 21 will be set to "000." If chapter 1 of a track in DVDSP (or PTT 1) is set as the trigger, bits 19 - 21 are set to "001," which should have the same functionality in most cases (all cases?) as if those bits were set to "000."
  6. If a command is set to trigger at a PGC with bits 19 -21 set to "000," any related PTT's with DVD@CCESS commands (at chapter points) will not execute. In order for these following commands to execute, the PGC would need to have bits 19 - 21 set to "001" for chapter 1 (instead of "000" for the beginning of the PGC). Any PTT can execute a command as long as there is no other address associated with the parent PGC with bits 19 - 21 set to "000."
  7. The PTT is the lowest level of the DVD logical structure I found to trigger a DVD@ccess command. Assigning PG #'s or Cell #'s to the "unknown" value at bits 22 and 23 does not seem to have any effect. My guess is that these bits are currently reserved.
  8. Bits 24 and 25 represent the total number of characters for the command, up to a total of 64. If the command/address is in excess of 64 characters, the command will be truncated from right to left. Also, if these bits are set to a value lower than the number of required characters, then the URL, email address, or file path will be incomplete and will not function correctly.
  9. Each possible DVD@CCESS address can only trigger a single command.