How to change default Language Menu Unit
Courtesy of 2CL
Tool I used:
IFOedit 0.95/0.96
Most of the time, DVDs have just one Language Menu Unit (LMU), preferably English, but sometimes you’ll encounter some with more than one. Normally, the menus should all look alike with the difference of the words are in different languages. Unfortunately, there is no selection menu to choose the one you really want. I know that some DVD players can let you set the preferred language so if the language is detected in your LMUs, it will display the menu in question.
In this guide, I used Terminator 3: Rise of the Machines (region 1) as my example. It has two LMUs, English as default and French. Again, there is no LMU selection menu present. The menus are in VTS_05 so opening VTS_05_0.IFO with IfoEdit and browsing to VTS Overview / Menu Language Unit, this is what I have.
Figure 1.
Code:
Menu Language Units: 2
Language Menu Unit 1: [English]
Language Menu Unit 2: [Français]
Language Menu Unit 1: [English]
Menu 1: [Root-Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 2: [Audio Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 3: [Chapter (PTT) Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 4: [entry only] (Programs: 6) (Cells: 6) (uses VOB-IDs: 1)
Menu 5: [entry only] (Programs: 5) (Cells: 5) (uses VOB-IDs: 2)
Menu 6: [entry only] (Programs: 10) (Cells: 10) (uses VOB-IDs: 3)
Menu 7: [entry only] (Programs: 8) (Cells: 8) (uses VOB-IDs: 4)
Language Menu Unit 2: [Français]
Menu 1: [Root-Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 2: [Audio Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 3: [Chapter (PTT) Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 4: [entry only] (Programs: 6) (Cells: 6) (uses VOB-IDs: 5)
Menu 5: [entry only] (Programs: 5) (Cells: 5) (uses VOB-IDs: 6)
Menu 6: [entry only] (Programs: 10) (Cells: 10) (uses VOB-IDs: 7)
Menu 7: [entry only] (Programs: 8) (Cells: 8) (uses VOB-IDs: 8)
We need French to be our new default so below is what our end result would look like.
Figure 2.
Code:
Menu Language Units: 1
Language Menu Unit 1: [Français]
Language Menu Unit 1: [Français]
Menu 1: [Root-Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 2: [Audio Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 3: [Chapter (PTT) Menu] (entry PGC) (Programs: 0) (Cells: 0)
Menu 4: [entry only] (Programs: 6) (Cells: 6) (uses VOB-IDs: 5)
Menu 5: [entry only] (Programs: 5) (Cells: 5) (uses VOB-IDs: 6)
Menu 6: [entry only] (Programs: 10) (Cells: 10) (uses VOB-IDs: 7)
Menu 7: [entry only] (Programs: 8) (Cells: 8) (uses VOB-IDs: 8)
From the start, here’s how I went about doing this.
__________________________________________________________
1. Open up your IFO in question with IfoEdit.
__________________________________________________________
2. Go to / VTSM_PGCI_UT. You should have like what I have below.
Figure 3.
Code:
[00000000] Number of VTSM_PGCI_LUs (Language Units) 2
[00000004] End byte of VTSM_PGCI_LUs table 8947
[00000008] LU_1: Video Title Set Menu Language Code en
language_1: English
[0000000b] LU_1: Video Title Set Menu Existence mask 168
existant menus:
Root Menu: yes
Sub-picture Menu: no
Audio Menu: yes
Angle Menu: no
Chapter (PTT) Menu: yes
[0000000c] LU_1: Video Title Set Menu Language start byte 24
[00000010] LU_2: Video Title Set Menu Language Code fr
language_2: Français
[00000013] LU_2: Video Title Set Menu Existence mask 168
existant menus:
Root Menu: yes
Sub-picture Menu: no
Audio Menu: yes
Angle Menu: no
Chapter (PTT) Menu: yes
[00000014] LU_2: Video Title Set Menu Language start byte 4486
Notice the start addresses for the two LUs above.
English : [00000008]
Français: [00000010]
__________________________________________________________
3. Click on “HexEdit” button. You will have your HexEdit Module pop up and you will something like below. I’m just showing the first 4 lines. I highlighted the addresses and associated hex and ascii values to let you see what we need to be concerned about.
Figure 4.
Code:
00000000 00 02 00 00 00 00 22 F3 ......”.
00000008 65 6E 00 A8 00 00 00 18 en......
00000010 66 72 00 A8 00 00 11 86 fr......
00000018 00 07 00 00 00 00 11 6D .......m
__________________________________________________________
4. We want 65 6E 00 A8 00 00 00 18 to be changed as our French, 66 72 00 A8 00 00 11 86. So select and only highlight 66 72 00 A8 00 00 11 86 with your mouse.
__________________________________________________________
5. Do a Ctrl-C to copy values
__________________________________________________________
6. Now, select and highlight 65 6E 00 A8 00 00 00 18.
__________________________________________________________
7. Do a Ctrl-V to paste.
Your end results should look like this now.
Figure 5.
Code:
00000000 00 02 00 00 00 00 22 F3 ......”.
00000008 66 72 00 A8 00 00 11 86 fr......
00000010 66 72 00 A8 00 00 11 86 fr......
00000018 00 07 00 00 00 00 11 6D .......m
__________________________________________________________
8 Press OK to set.
__________________________________________________________
9. IfoEdit does not automatically refresh when hexediting so as a personal trick, double-click on “Show Reserved values” checkbox bottom left and we should have it like below.
Figure 6.
Code:
[00000000] Number of VTSM_PGCI_LUs (Language Units) 2
[00000004] End byte of VTSM_PGCI_LUs table 8947
[00000008] LU_1: Video Title Set Menu Language Code fr
language_2: Français
[0000000b] LU_1: Video Title Set Menu Existence mask 168
existant menus:
Root Menu: yes
Sub-picture Menu: no
Audio Menu: yes
Angle Menu: no
Chapter (PTT) Menu: yes
[0000000c] LU_1: Video Title Set Menu Language start byte 4486
[00000010] LU_2: Video Title Set Menu Language Code fr
language_2: Français
[00000013] LU_2: Video Title Set Menu Existence mask 168
existant menus:
Root Menu: yes
Sub-picture Menu: no
Audio Menu: yes
Angle Menu: no
Chapter (PTT) Menu: yes
[00000014] LU_2: Video Title Set Menu Language start byte 4486
_________________________________________________________
10. We just want only one LU so change the “Number of VTSM_PGCI_LUs (Language Units)” to 1.
Figure 7.
Code:
OLD > Number of VTSM_PGCI_LUs (Language Units) 2
NEW > Number of VTSM_PGCI_LUs (Language Units) 1
__________________________________________________________
11. Browse back to your VTS Overview / Menu Language Unit and we now have accomplished our mission (Figure 2).
__________________________________________________________
12. Save your IFO and BUP
__________________________________________________________
13. Repeat steps above for VIDEO_TS.IFO / VMGM_PGCI_UT.
__________________________________________________________
14. Play to test.
__________________________________________________________
That’s it.