这篇文章的意图是介绍如何在你的XBOX上建立一个个性化的EvolutionX的系统菜单,我们会介绍menu.ini的相关的语法以及如何他们内部是如何工作的。我们假设你已经有了一份EvolutionX的拷贝,如果你没有,就请你先找到EvolutionX,你只要给少许的努力就能够找到的,但是不要问我:)jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
2 建立一个Evolution的启动盘jPD7?8Դvgsky.com
在开始在CD/DVD上使用EvolutionX之前,你需要先烧录一张EvolutionX的碟片,我们已经测试过的介质包括了:CD-RW, DVD-R, DVD+R, DVD-RW and DVD+RW,当然如果你的xbox是1.1版本的话,那还支持普通的CDR的。jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
我们的建议是你用UDF 128格式来烧录,虽然XFS格式也可以,但是UDF128格式可以同时被xbox和pc读取的,而XFS格式的在电脑上读取必须还要安装其他的一些第三方软件。一些地方下载的EvolutionX已经是打包好的了(通常是XFS的iso格式的),那么你如果要改变其内容就必须用工具(如 xiso)把ISO文件解压出来,修改好后再刻录。jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
3 Evox.ini jPD7?8Դvgsky.com
在evox的执行文件的目录下有一个evox.ini的文件,这个是EvolutionX的配置文件,它告诉EvolutionX如果构建菜单,采用何种Skin等等jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
3.1 INI中的定义项目jPD7?8Դvgsky.com
[Misc]jPD7?8Դvgsky.com
顾名思义就是定义启动EvolutionX的时候一些杂项设定jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
AutoLaunchGamesjPD7?8Դvgsky.com
是否自动运行游戏,当xbox检测到游戏放入DVD驱动器后是否运行游戏,其功能和windows的autorun差不多,缺省值是NojPD7?8Դvgsky.com
jPD7?8Դvgsky.com
AutoLaunchDVDjPD7?8Դvgsky.com
类似于AutolaunchGames,但是运行的是下面定义的DVDPLAYER参数所定义的播放器程序,默认值是No,这时还是停留在EvoX的menu上jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
DVDPlayerjPD7?8Դvgsky.com
指定DVD播放器的位置(.xbe), 该值可以更改为任何有效的位置,无论是安装了在硬盘上还是在光碟上(比如 d:\mydvdplayer\default.xbe)jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
AutoLauchAudiojPD7?8Դvgsky.com
AudioPlayerjPD7?8Դvgsky.com
和上面的作用一样,设置自动播放CD的功能,缺省值是NojPD7?8Դvgsky.com
jPD7?8Դvgsky.com
MSDashBoardjPD7?8Դvgsky.com
这个用来告诉EvoX原厂的MS Dashboard的文件名,以便调节一些xbox的设定的时候调用这个ms的dashboard,xbox的硬盘里的dashboard的原名应该为XBOXDASH.XBEjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
SkinNamejPD7?8Դvgsky.com
定义EvoX的Skin(外观),我们驾驶你已经在启动介质的根目录下面用skins的目录,EvoX会扫描这个目录并读取其中的子目录当中的skin.ini文件,并且采用skin.ini里面的设置来配置skin,缺省值是Evox2,就是说起动的时候EvoX会读取根目录的skins\Evox2\skin.ini里面的设置来设定skin。jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
IGRjPD7?8Դvgsky.com
就是In Game Rest功能,无需过多解释了吧,在游戏中手柄重启功能,默认值是NojPD7?8Դvgsky.com
jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
[Network]jPD7?8Դvgsky.com
用于设置Xbox的网络配置部分,设置的参数决定了如何从网络访问你的xbox,要注意的时这部分的设置生效的前提是启动xbox的时候网线必须插上而不是启动完再插上去,很多玩家都是启动完了才发现没有插网线,此时插上去是不会启动网络的,必须重启xbox。jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
SetupNetworkjPD7?8Դvgsky.com
这个参数告诉EvoX是否加载网络驱动模块,No的话下面的参数将无效,缺省值是YesjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
StaticIPjPD7?8Դvgsky.com
是否采用静态IP,设置为Yes的话将采用下面配置IP地址和Subnetmask来配置网卡,如果设置为No,那么启动的时候就用DHCP分配的地址,前提是你的网络拥有DHCP服务器,缺省值是No,这个是很多玩家忽略的地方,就算下面配置了IP,如果这个没有改成Yes,都无法连上Xbox。jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
IpjPD7?8Դvgsky.com
定义静态IP,当上面的StaticIP参数设置为Yes的时候,该参数就生效。缺省值为192.168.0.3 (我们无法在这里提供完整的网络配置的介绍,你自己必须有一定的网络知识,知道你的设置的ip能被你的pc访问到)jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
SubnetmaskjPD7?8Դvgsky.com
为静态Ip地址定义网络掩码,如果你不知道你在设置什么,请确保和你的pc的设置一样。缺省值是255.255.255.0jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
DefaultgatewayjPD7?8Դvgsky.com
在静态ip设置为Yes的时候生效,设置你的默认网关,缺省值是192.168.0.1 (正确设置网关可以让你的Xbox访问外网)jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
DNS1jPD7?8Դvgsky.com
DNS2jPD7?8Դvgsky.com
定义主辅DNS服务器的ip地址,这个设置仅当你需要域名解释的时候生效,缺省值是0.0.0.0jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
[Clock]jPD7?8Դvgsky.com
设置Xbox时钟的相关选项jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
JumpToMsDashjPD7?8Դvgsky.com
如果开机时候检测到时钟未被设置时,是否执行MsDashboard让玩家手动设置时钟,Yes的时候会自动跳至前面设置的MsDashboard中指定的.xbe,默认值是No,所以很多玩家说装了EvoX就不用你设置时钟了jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
JumpIfNoLinkjPD7?8Դvgsky.com
当开机检测到没有网络连接的时候是否跳转到MSDashboard,默认值时NojPD7?8Դvgsky.com
jPD7?8Դvgsky.com
Use24jPD7?8Դvgsky.com
是否采用24小时的表示方法来表示时间,No的话就用12小时+AP/PM来表示系统时间,默认值时YesjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
SNTP_ServerjPD7?8Դvgsky.com
指定一个简单网络时间协议服务器,这种服务器会自动帮客户机校正时间,默认值是216.244.192.3jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
[FTP]jPD7?8Դvgsky.com
设置FTP服务器的参数jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
EnablejPD7?8Դvgsky.com
是否开启FTP服务器,默认值是YesjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
PasswordjPD7?8Դvgsky.com
设置Ftp服务器的登陆密码jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
[RDTOOLS]jPD7?8Դvgsky.com
定义远程调试参数jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
EnablejPD7?8Դvgsky.com
设置EvoX是否加载Remote Debug Tools,默认值是YesjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
NamejPD7?8Դvgsky.com
设置RDtools连接到机器上的Remote Debug Name,默认值是EvoXjPD7?8Դvgsky.com
懂得玩RDTOOLS的玩家估计也没有必要看这篇文章了,因为他们的水平一定比我高很多:)jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
[BIOS]jPD7?8Դvgsky.com
设置检测和刷新BIOS相关的参数jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
ROMjPD7?8Դvgsky.com
定义不同的BIOS的版本和CRC校验和jPD7?8Դvgsky.com
语法 ROM="<bios版本和名字>", "CRC校验和"jPD7?8Դvgsky.com
例子:ROM = "EvoX 2.0",0x76fd88337b8d8c1f116f85f3984b98b6jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
FlashjPD7?8Դvgsky.com
EvoX内置的刷新bios功能的参数,不熟悉的朋友不要改动jPD7?8Դvgsky.com
Flash=0xabcd,ab=厂商代码(manufactory id),cd=芯片代码(device id),"flash芯片制造商的信息",<flash的大小>jPD7?8Դvgsky.com
flash=例子:Flash = 0x01d5,"AMD - Am29F080B",0x100000jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
CurrentjPD7?8Դvgsky.com
让EvoX显示你当前的bios的版本信息jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
[SKIN_ORIGINAL]jPD7?8Դvgsky.com
定义缺省默认的Skin(外观)的参数,更多的信息可以查http://www.evoxskin.comjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
# <Time> (显示Xbox当前的时间)jPD7?8Դvgsky.com
# <IP> (显示Xbox当前配置的Ip)jPD7?8Դvgsky.com
# <Name> (显示Xbox dashboard的名称)jPD7?8Դvgsky.com
# <Version> (显示EvoX的版本)jPD7?8Դvgsky.com
# <CD> (显示Xbox DVD驱动器里面的介质信息)jPD7?8Դvgsky.com
# <BIOSVer> (显示Xbox的Bios版本)jPD7?8Դvgsky.com
# <KernelVer> (显示 Xbox’s kernel 版本)jPD7?8Դvgsky.com
# <RDName> (显示Remote Debus user name – 请阅读上面有关[RDTOOLS]的设定)jPD7?8Դvgsky.com
# <SpaceC> (显示Xbox C盘空间)jPD7?8Դvgsky.com
# <SpaceE> (显示Xbox E盘空间)jPD7?8Դvgsky.com
# <SpaceF> (显示Xbox F盘空间)jPD7?8Դvgsky.com
# <SpaceX> (显示Xbox X盘空间)jPD7?8Դvgsky.com
# <SpaceY> (显示Xbox Y盘空间)jPD7?8Դvgsky.com
# <SpaceZ> (显示Xbox Z盘空间)jPD7?8Դvgsky.com
以上的参数均会在EvoX skin上面显示,具体显示位置与Skin的设置有关jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
TextjPD7?8Դvgsky.com
设置显示文字的参数jPD7?8Դvgsky.com
Text=<离屏幕左边的位置>,<离屏幕顶端的位置>,<文字透明度>,<字体颜色,语法和html相同>,<左顶格还是右顶格,0是左顶格,1是右顶格>, "文字内容"jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
例子1:jPD7?8Դvgsky.com
Text = 30,37,0.5,0x000000,0,"<Time>"jPD7?8Դvgsky.com
显示 Xbox 的时间 (<TIME>) 在屏幕的30,37的位置,用0.5透明度的黑色字体,左顶格jPD7?8Դvgsky.com
Text = 28,39,0.5,0x808080,0,"<Time>"jPD7?8Դvgsky.com
显示 Xbox 的时间在屏幕的28,39的位置,用0.5透明度的灰色字体,左顶格,结合上面的一个text从而做成了一个淡淡的阴影效果jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
3.2 MenujPD7?8Դvgsky.com
[MENU]jPD7?8Դvgsky.com
这个区段定义屏幕中下部的系统菜单,这个部分是最容易理解和diy的,但是必须要知道的是EvoX在执行了任何xbe文件后(无论是Apps还是Game)就会退出EvoX而且无法返回的了,唯一回到EvoX的方法就是ResetjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
通常我们会看到有以下类似的菜单jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
Section "Root"jPD7?8Դvgsky.com
{jPD7?8Դvgsky.com
Item "MS Dashboard",@3jPD7?8Դvgsky.com
Item "Reboot",@5jPD7?8Դvgsky.com
Item "Power Off",@10jPD7?8Դvgsky.com
Section "System Utils"jPD7?8Դvgsky.com
{jPD7?8Դvgsky.com
Item "Settings",@9jPD7?8Դvgsky.com
Item "Flash BIOS",@1jPD7?8Դvgsky.com
Item "Backup",@11jPD7?8Դvgsky.com
Item "Skins",@13jPD7?8Դvgsky.com
# Section "Install Menu"jPD7?8Դvgsky.com
# {jPD7?8Դvgsky.com
# Item "Install 4043",@210jPD7?8Դvgsky.com
# Item "Action 11",@211jPD7?8Դvgsky.com
# Item "Action 12",@212jPD7?8Դvgsky.com
# }jPD7?8Դvgsky.com
}jPD7?8Դvgsky.com
Section "Launch Menu"jPD7?8Դvgsky.com
{jPD7?8Դvgsky.com
Section "Games"jPD7?8Դvgsky.com
{jPD7?8Դvgsky.com
Line "- Auto Items -",2jPD7?8Դvgsky.com
SortStart jPD7?8Դvgsky.com
AutoAddItem "f:\games\"jPD7?8Դvgsky.com
SortEndjPD7?8Դvgsky.com
# SortAlljPD7?8Դvgsky.com
jPD7?8Դvgsky.com
}jPD7?8Դvgsky.com
Section "Apps"jPD7?8Դvgsky.com
{jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
# Item "DVDX","f:\Applications\dvdx\default.xbe"jPD7?8Դvgsky.com
SortAlljPD7?8Դvgsky.com
AutoAddItem "f:\applications\"jPD7?8Դvgsky.com
}jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
}jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
}jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
首先简单分析一下这段典型的菜单设置jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
最上层的根菜单(root)有5个子项jPD7?8Դvgsky.com
MS DashboardjPD7?8Դvgsky.com
RebootjPD7?8Դvgsky.com
Power OffjPD7?8Դvgsky.com
System UtilsjPD7?8Դvgsky.com
Launch MenujPD7?8Դvgsky.com
jPD7?8Դvgsky.com
其中3个是action,2个是子菜单,2个子菜单是jPD7?8Դvgsky.com
System UtilsjPD7?8Դvgsky.com
Launch MenujPD7?8Դvgsky.com
因为你可以看到他们也是用section"<menu name>"来定义的jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
其中Sytem Utils的子菜单又包括了5个子项,分别是jPD7?8Դvgsky.com
SettingsjPD7?8Դvgsky.com
Flash BIOSjPD7?8Դvgsky.com
BackupjPD7?8Դvgsky.com
SkinsjPD7?8Դvgsky.com
Install MenujPD7?8Դvgsky.com
jPD7?8Դvgsky.com
这里的Install Menu子菜单里面又包括了jPD7?8Դvgsky.com
Install 4043jPD7?8Դvgsky.com
Action 11jPD7?8Դvgsky.com
Action 12jPD7?8Դvgsky.com
但是你会发觉实际运行的时候是看不到这个Install Menu的,因为我们用注释符号"#"标注了他们,在evox.ini 里面"#"是注释符,后面的语句都被认为是注释而忽略的,习惯编程的朋友就很容易理解的了jPD7?8Դvgsky.com
你现在已经开始明白这种分层的菜单结构了,那么我们将继续讲解具体的语法和参数jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
3.2 菜单参数jPD7?8Դvgsky.com
首先你必须知道下面几天编写菜单的规则jPD7?8Դvgsky.com
1 整个菜单结构必须以 Section "Root" 开始,这是定义根菜单的部分,没有根菜单,就没有子菜单了jPD7?8Դvgsky.com
2 菜单部分必须以大括号{}开始和结束,一个section必须配一对大括号jPD7?8Դvgsky.com
3 符号#意味着该行不被evox读取,就是说该行内容被忽略jPD7?8Դvgsky.com
5 注意编写的习惯,善用tab键来对不同层次的菜单进行缩进,虽然这样对于evox执行没有任何帮助,但是你会发现这样会是配置文件更容易被人读懂(这个是编程规范)jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
菜单中的关键字及其语法jPD7?8Դvgsky.com
@ 执行默认的内建EvoX指令,下面的列表会支出我已经知道的内置的指令,比如@10就是关机jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
Item 定义屏幕文字,后接一个指令或者动作jPD7?8Դvgsky.com
例子:Item "HomeBrewGame1","D:\mygame\default.xbe"jPD7?8Դvgsky.com
屏幕上会显示HomeBrewGame1,如果用户选择后执行就会执行D:\mygame\default.xbejPD7?8Դvgsky.com
jPD7?8Դvgsky.com
Section 定义一个子菜单,菜单名用双引号标出jPD7?8Դvgsky.com
例子:Section “My Sub-menu”jPD7?8Դvgsky.com
屏幕上会出现My Sub-menu, 用户选择后进入下一层菜单jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
Line 定义一行提示文字,无任何实质性的定义和动作,只是输出一行文字jPD7?8Դvgsky.com
例子:Line "- Auto Items –",2jPD7?8Դvgsky.com
在屏幕输出"- Auto Items -"jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
SortStart jPD7?8Դvgsky.com
SortEnd 这两个关键字告诉EvoX对夹在两个关键字当中的内容进行按首字母自动排序jPD7?8Դvgsky.com
SortAll 告诉EvoX本Section的菜单全部都按首字母排列jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
AutoAddItems "<驱动器:\目录>"jPD7?8Դvgsky.com
搜索目录下面的xbe文件,包括下一级子目录,自动把xbe文件添加到菜单里面jPD7?8Դvgsky.com
例子:AutoAddItems “d:\homebrew\”jPD7?8Դvgsky.com
搜索d盘homebrew目录以及下一级子目录的default.xbe文件,如果找到就自动加入菜单选择jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
[Action_N]jPD7?8Դvgsky.com
自定义动作设置,如果前面菜单中Item后面有出现@210(其中的2是表示自定义,10才是动作序号,不要搞错了),则表示跳转到Action_10继续执行指令jPD7?8Դvgsky.com
以下是一个比较复杂的例子jPD7?8Դvgsky.com
[Action_10]jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
LogFile = "c:\exii.log"jPD7?8Դvgsky.com
Info "Prepare Hard Disc With F"jPD7?8Դvgsky.com
Warning "This will format all drives"jPD7?8Դvgsky.com
Warning "This will only copy original Dashboard"jPD7?8Դvgsky.com
Progress "Now Preparing New HD"jPD7?8Դvgsky.com
#jPD7?8Դvgsky.com
# This will format alle drivesjPD7?8Դvgsky.com
#jPD7?8Դvgsky.com
ConfigSector "\hd.bin"jPD7?8Դvgsky.com
Format c:jPD7?8Դvgsky.com
Format e:jPD7?8Դvgsky.com
Format f:jPD7?8Դvgsky.com
Format x:jPD7?8Դvgsky.com
Format y:jPD7?8Դvgsky.com
Format z:jPD7?8Դvgsky.com
copy "\cdrive\" "c:\"jPD7?8Դvgsky.com
copy "\placeholder\" "f:\"jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
Logfile 指定C盘的exii.log记录这个action的相关*作jPD7?8Դvgsky.com
Info 显示提示文字jPD7?8Դvgsky.com
Warning 是提示警告,并且要用户选择Yes or No的jPD7?8Դvgsky.com
Progress 是显示一个*作的进度栏jPD7?8Դvgsky.com
ConfigSector 用一个bin文件来配置你的硬盘的boot sector,装全新硬盘必须的步骤,当然如果这步在pc上用工具*作也可以jPD7?8Դvgsky.com
Format 格式化硬盘,注意使用,之所以该例子前面用warning提示,就是因为这里的*作不会提示的yes 和 no的哦jPD7?8Դvgsky.com
copy 无用多说了吧,拷贝指令,例子中的"\cdrive\"表示EvoX所在的根目录下的cdrive目录jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
其他相关的可以放入Action区块的指令还有jPD7?8Դvgsky.com
FlashBIOS "\bios\evox V2.4.bin" jPD7?8Դvgsky.com
用bin文件刷新biosjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
Rename "123.a" "321.b"jPD7?8Դvgsky.com
重命名123.a 为 321.bjPD7?8Դvgsky.com
jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
3.2.2 EvoX内建的(@)指令 jPD7?8Դvgsky.com
jPD7?8Դvgsky.com
@1= Flash the BIOSjPD7?8Դvgsky.com
@2= 用户自定义*作,如 @210 表示执行 action 10 jPD7?8Դvgsky.com
@3= 运行MSDashboard jPD7?8Դvgsky.com
@4= 执行菜单jPD7?8Դvgsky.com
@5= 重启xboxjPD7?8Դvgsky.com
@6= 网络jPD7?8Դvgsky.com
@7= 查看硬盘infojPD7?8Դvgsky.com
@9= 进入EvoX setting页jPD7?8Դvgsky.com
@10= 关机jPD7?8Դvgsky.com
@11= 备份到xbox的 C:\BackupjPD7?8Դvgsky.com
@13= SkinsjPD7?8Դvgsky.com
jPD7?8Դvgsky.com


