JJui 自定义运行参数

因为 mame 启动街机游戏的命令行指令比较简单,比如 mame.exe kof97

所以,简单整几条指令,就可以比较方便设置,启动多个模拟器。

自定义运行参数

设置 MAME 的不同运行方式

或者 用其它 街机模拟器 打开 游戏

可以定义多个运行参数

鼠标双击,用默认的模拟器打开游戏

.jjui\emu\1.txt
.jjui\emu\2.txt
.jjui\emu\3.txt
......
.jjui\emu\9.txt

按数字键 1 - 9 ,还有 0 ,用对应的文件中保存的指令打开游戏

其它 *.txt 文件
 新增功能
  运行参数列表显示功能
   其它的 *.txt ,可以显示在 运行参数列表 中
    选中游戏,鼠标右击,选 自定义运行方式,显示 运行参数列表
    或 按 F1 键,显示 运行参数列表

JJui 新增功能
 可以 按源代码分类设置 运行参数
  保存位置可以看 运行参数列表 中的标题处
  因为不同版本源代码有点区别,虽然差不多,但有可能不太一样

fba 模拟器

比如用 fba 模拟器,它的位置为 d:\temp\fba_029743\fba.exe

比如把 1.txt 编辑为:

command   d:\temp\fba_029743\fba.exe
%machine%
%cwd%     d:\temp\fba_029743
command   -window

命令行指令对比:

首先,打开命令行,进入 fba.exe 所在文件夹,( 下面的 %cwd% 的功能 )
然后,运行 游戏 knights

windows 的 cmd 命令行 指令:
        cd /d d:\temp\fba_029743
        fba.exe knights -window
windows 的 powershell 命令行 指令:
        cd d:\temp\fba_029743
        .\fba.exe knights -window

说明:

其中
command 后面为普通指令
        普通指令可以写很多条,写在什么位置依命令行 顺序 来
        第一条指令是模拟器本身,用模拟器的路径,表示调用 模拟器
%machine% 为 游戏名的英文缩写 ,比如 kof97
%cwd% 为工作目录,一般指定模拟器所在的文件夹
        这一条指定工作目录,不是传给模拟器的指令,
        所以位置无所谓,写在哪一行都行。
command 后面为普通指令
        普通指令可以写很多条
        普通指令可以写很多条,写在什么位置依命令行 顺序 来
        -window 指令,( fba 的这条指令表示用窗口模式打开游戏 )

mameplus 模拟器

比如把 2.txt 编辑为:

command d:\temp\mameplus_bin_x86-0.138r4674-20100518\mamep.exe
%machine%
%cwd%     d:\temp\mameplus_bin_x86-0.138r4674-20100518

说明:

其中
command 后面为普通指令
        第一条指令是模拟器本身
%machine% 为 游戏名英文缩写 ,比如 kof97
%cwd% 为工作目录,一般指定模拟器所在的文件夹
        这一条指定工作目录,不是传给模拟器的指令,
        所以位置无所谓,写在哪一行都行。

命令行对比:
  首先,打开命令行,进入 mamep.exe 所在文件夹,( 上面的 %cwd% 的功能 )
  然后,运行 游戏 knights
        windows 的 cmd 命令行:
                        cd /d "d:\temp\mameplus_bin_x86-0.138r4674-20100518"
                        mamep.exe knights
        或者:
        windows 的 powershell 命令行:
                        cd 'd:\temp\mameplus_bin_x86-0.138r4674-20100518'
                        .\mamep.exe knights

mame 模拟器 本身

正常来说,使用默认的模拟器打开游戏, 直接鼠标双击 或者 选中游戏后按回车键,进入游戏即可。 没有必要另外整一个。

但如果一个游戏有多种选项, 不想老是去 修改 设置, 也可以调用 默认的 模拟器。

比如 拳皇97,可以切换 多个 BIOS ;还可以使用 家用机 aes 运行 kof97 。

以下,使用 家用机 aes 打开 kof97 。

mame 0.162 以上,合并了 mess ,添加了很多 非街机 机种。
很常见的 neogeo 一类的 街机,它的 家用机 为 aes 。
        包含:拳皇94-2003 、合金弹头 1-5,x 、侍魂、……

以 街机模式 运行 kof97:

mame.exe kof97

以 家用机模式 运行 kof97:

mame.exe aes kof97

比如把 3.txt 编辑为:

%mame%
command   aes
%machine%
command -statename
command %g/%d_cart

说明:

仅用于 neogeo 其中的一些游戏,既可以普通街机运行,也可以在 家用机 aes 中运行。
%mame% 表示 mame 模拟器 本身,从 JJui 设置里读取
command 后面为普通指令
        此处为 aes
%machine% 为 游戏名的英文缩写 ,比如 kof97
( %cwd% 工作目录,不需要指定了,使用 JJui 里的设置 )
command 后面为普通指令
        statename %g/%d_cart 是 存档指令,不然的话,所有游戏存档都放在一个位置乱了,不同类型的游戏可能不太一样,具体参考 mame 官方说明
        两条指令分开来写

相对路径设置

比如前文说的 mameplus 的运行参数:

command   d:\temp\mameplus_bin_x86-0.138r4674-20100518\mamep.exe
%machine%

%cwd%     d:\temp\mameplus_bin_x86-0.138r4674-20100518

相对路径是两个 文件/文件夹 对比出来的,如果 JJui 文件的位置,为:

d:\temp\JJui\JJui.exe

那么:JJui 文件的位置、模拟器文件夹的位置:

d:\temp\JJui\JJui.exe
d:\temp\mameplus_bin_x86-0.138r4674-20100518

两相对比,得出相对路径

对于 d:\temp\JJui\JJui.exe 来说
文件夹 d:\temp\mameplus_bin_x86-0.138r4674-20100518
的相对路径为:
 ..\mameplus_bin_x86-0.138r4674-20100518

那么
工作文件夹可以设置为
 ..\mameplus_bin_x86-0.138r4674-20100518

注:
 两个点表示上一层文件夹
 一个点表示同一层文件夹(有的地方可以省略)

如果改为相对路径, 运行参数,可以设置为

%cwd%     ..\mameplus_bin_x86-0.138r4674-20100518

command   .\mamep.exe
%machine%
注:

工作文件夹的位置,用相对路径的话,需要相对于 JJui
模拟器的位置,用相对路径的话,需要相对于 自己设置的 工作文件夹的位置

参数

主要是:

%cwd%
%mame%
command
%machine%

运行参数,会被转为一条命令行指令

%cwd% 表示,运行 这条指令的 工作文件夹位置

其它的,将作为一个指令片段,最后,所有的指令片段 一起组成 一条命令行指令

一条命令行指令,可能是由好多 片段 组成的。通常以空格分隔的。

运行参数中设置的就是每一个指令片段。

这些指令片段,按顺序一个一个设置,最后,拼接 组成 一条命令行指令。

(通常在指令的第一部分,是可执行的程序 (这里的话,也就是模拟器程序的路径) ,注意顺序)

#

注释

以 # 号,开头的行,会被忽略

%cwd%

使用时,%cwd% 后面跟上 一个文件夹,比如:

%cwd%   C:\MAME\mame0260b_64bit

如果使用的是 JJui 已设置的 MAME 模拟器,可以不用管这个

如果使用其它的模拟器,用于设置 工作文件夹位置

%mame%

使用时,%mame% 单独占用一行,比如:

%mame%

如果使用的其它的模拟器,用不到这个

如果使用的是 JJui 中 已设置的 MAME 模拟器,这样简单点

(通常模拟器程序的路径,在指令的第一部分,注意顺序)

表示 JJui 中 已设置的MAME 模拟器的路径,作为一条 指令片段,添加到 命令行指令 中。

command

使用时,command 后面跟上 一个条指令,格式:

command     参数内容

参数内容,作为一条 指令片段,添加到 命令行指令 中。

%machine%

使用时,%machine% 单独占用一行,比如:

%machine%

表示 街机游戏的 英文名缩写

街机游戏的 英文名缩写,作为一条 指令片段,添加到 命令行指令 中。

其它

新添加的指令,用于选择 unibios (仅对于 NEOGEO 一类游戏有用)。

比如 选中 unibios40,

会自动把 -bios unibios40 这两个指令片段,添加到 命令行指令 中。

%unibios_last%

JJui 使用,单独占用一行

(JJui_sl 使用,后面需跟上 游戏机 英文名缩写)

用于,JJui 中 已设置的 MAME 模拟器,

%unibios_last_other%

JJui 使用,单独占用一行

(JJui_sl 使用,后面需跟上 游戏机 英文名缩写)

用于,其它 MAME 模拟器

(指令写在后面,因为需要从 自定义的 MAME 模拟器,读取数据)
(从 %cwd% 知道,工作目录 )
(从 指令的第一个片段,知道 模拟器 程序路径 )