BLOG > Zaurus / ARM > Zaurus 游戏模拟大全
Zaurus 游戏模拟大全
文章信息
关键字:pdaxrom;zaurus;emu
本文版本:6
最后修改于 2007-02-27 22:51:03
这又是一篇欠了两个星期的作业:),今天把它补上了吧。
由于使用了开放源代码的Linux作为操作系统,这使得Zaurus可以使用丰富的各种应用程序,当然也包括了各种家用游戏机的模拟器程序。我成功地在 Zaurus C3100上模拟了包括 NES、SNES、Sega MD 和 GBA 在内的家用游戏机。其中GBA模拟器令人印象深刻,和同级别CPU的Windows Mobile平台的PocketPC相比,性能好了不少。这也从一个侧面反映出了Zaurus的硬件性能和Linux地执行效率是有多么的好。
下面就说明一下如何使用这些模拟器:
SDL软件包可以在 pdaXrom的官方feed 或者 tyrannozaurus的feed 找到下载(那些sdl开头的软件包以及libz)。
除了上面列出的几个软件包以外,这些模拟器还需要安装如下的其他软件包支持:
znester可以完美的模拟NES游戏机,也就是任天堂经典的红白机FC。
安装znester后,使用如下命令启动模拟器:
-fs 参数是全屏, -qv 是放大屏幕到 320x240的QVGA模式
在游戏过程中:
snes9x是大名鼎鼎的SNES模拟器,在各个操作系统平台都有移植。它能够完美的模拟SNES游戏机,也就是超级任天堂SFC。
安装 snes9x 后,使用如下命令启动模拟器可以全屏玩游戏:
在启动模拟器之前,使用xrandr -s 1命令将屏幕缩放成 320x200 的QVGA模式,游戏完成后再使用 xrandr -s 0 恢复成 640x480 的VGA模式,来达到全屏玩游戏的效果。
在游戏过程中:
dgen可以模拟Sega MD,在C3100上,CPU以 416Mhz运行时,X环境下略有跳帧。由于使用SDL,所以可以不进入X在纯文本模式下运行此模拟器,这时性能比在X下要好一些。基本都能流畅进行游戏(终于可以流畅的玩到大航海时代2的中文版啦!)。
使用如下命令可以全屏玩游戏:
其中,-f 参数为打开全屏模式,如果模拟器无法自动进入全屏模式的话。按下 Alt + Enter可以手动进入全屏模式。
在游戏过程中:
本来我是想用VisualBoyAdvance这个GBA模拟器的,无奈它的性能太差,无法流畅的模拟GBA游戏。后来发现了这个gpSP模拟器,能够在C3100上关闭音频模拟的情况下不超频流畅玩GBA游戏,如果要打开声音模拟,则需要超频到614Mhz。
gpSP原本是为PSP开发的GBA模拟器,由于它是开源软件,所以被移植到了Linux上来了。要执行这个模拟器,你必须要有一个gba_bios.bin文件放在执行目录下才能够正常使用。
gpSP有自己的ROM选择界面,所以可以直接使用gpsp命令启动模拟器后选择ROM文件,也可以使用 gpsp ROM文件名 来直接运行ROM。
输入如下命令可以全屏启动gpsp:
进入模拟器后,可以进入ROM选择界面:
选中ROM后,按OK键启动ROM,这时如果按下Cancel键的话,可以进入设置界面。
进入第一项图像和声音选项可以设置是否要模拟声音等开关。
将声音模拟关掉,以便流畅的进行游戏,不过设定frameskip貌似没有任何效果。
gpSP的按键可以通过设置$GPSPKEYS这个环境变量来设置。
我们在进入gpSP模拟器之前输入如下的命令的话
就指定了如下按键映射:
你可以自己设定$GPSPKEYS这个环境变量中的键值来设置按键映射
上面介绍了这四种游戏模拟器的使用办法。不过要实现全屏玩游戏的话,每次都得输入很多的命令。于是我写了一系列脚本来简化操作。
首先说明一下,我的脚本默认是认为你的所有游戏的ROM文件都是放在SD卡上的如下目录的:
下面就看看这些脚本吧:
文件名:FC
BASH代码:
文件名:SFC
BASH代码:
文件名:SEGA_MD
BASH代码:
文件名:GBA
BASH代码:
文件名:emu
BASH代码:
把这些脚本放到/usr/local/bin目录下,并给它们可以执行的权限,这样,不管你在那个目录,只要输入一个emu命令,就能通过菜单选择的方式玩到你要玩的游戏了哦,而且,不进入X环境同样也能使用这个脚本哦。
脚本首先会问你要玩哪一种模拟器,选择后将列出你的卡上的该种模拟器的所有ROM文件供你选择。选择后便进入全屏模式玩游戏啦。
最后,为了方便大家,我把这些模拟器和我的脚本打成了一个ipk软件包,大家只要安装了这个软件包,就可以在终端下输入emu来方便的玩模拟器了:)
你可以到我的文件库下载我的 emu-package 。
由于使用了开放源代码的Linux作为操作系统,这使得Zaurus可以使用丰富的各种应用程序,当然也包括了各种家用游戏机的模拟器程序。我成功地在 Zaurus C3100上模拟了包括 NES、SNES、Sega MD 和 GBA 在内的家用游戏机。其中GBA模拟器令人印象深刻,和同级别CPU的Windows Mobile平台的PocketPC相比,性能好了不少。这也从一个侧面反映出了Zaurus的硬件性能和Linux地执行效率是有多么的好。
下面就说明一下如何使用这些模拟器:
- NES模拟器:znester
- SNES模拟器:snes9x
- MD模拟器:DGen
- GBA模拟器:gpSP
SDL软件包可以在 pdaXrom的官方feed 或者 tyrannozaurus的feed 找到下载(那些sdl开头的软件包以及libz)。
除了上面列出的几个软件包以外,这些模拟器还需要安装如下的其他软件包支持:
- bzip2
- libstdcxx5_compat_5.0.7
NES模拟器——znester
znester可以完美的模拟NES游戏机,也就是任天堂经典的红白机FC。
安装znester后,使用如下命令启动模拟器:
# znester -fs -qv ROM文件名
-fs 参数是全屏, -qv 是放大屏幕到 320x240的QVGA模式
在游戏过程中:
- 方向键 控制方向
- X键 模拟 A键
- Z键 模拟 B键
- OK键 模拟 Start
- 空格键 模拟 Select
- 7键 保存进度
- 0键 读入保存的进度
- Cancel键 退出
SNES模拟器——snes9x
snes9x是大名鼎鼎的SNES模拟器,在各个操作系统平台都有移植。它能够完美的模拟SNES游戏机,也就是超级任天堂SFC。
安装 snes9x 后,使用如下命令启动模拟器可以全屏玩游戏:
# xrandr -s 1
# snes9x ROM文件名
# xrandr -s 0
# snes9x ROM文件名
# xrandr -s 0
在启动模拟器之前,使用xrandr -s 1命令将屏幕缩放成 320x200 的QVGA模式,游戏完成后再使用 xrandr -s 0 恢复成 640x480 的VGA模式,来达到全屏玩游戏的效果。
在游戏过程中:
- 方向键 控制方向
- D键 模拟 A键
- C键 模拟 B键
- S键 模拟 X键
- X键 模拟 Y键
- A键 模拟 L键
- Z键 模拟 R键
- OK键 模拟 Start
- 空格键 模拟 Select
- Cancel键 退出
- 1-5的数字键 背景显示开关
- 6-9的数字键 保存(4个存档栏)
- Shift+ 6-9的数字键 读取存档
- 0数字键 是否显示 FPS
- Shift+r Reset
- Tab键 Turbo开关
Sega MD 模拟器——DGen
dgen可以模拟Sega MD,在C3100上,CPU以 416Mhz运行时,X环境下略有跳帧。由于使用SDL,所以可以不进入X在纯文本模式下运行此模拟器,这时性能比在X下要好一些。基本都能流畅进行游戏(终于可以流畅的玩到大航海时代2的中文版啦!)。
使用如下命令可以全屏玩游戏:
# xrandr -s 1
# dgen -f ROM文件名
# xrandr -s 0
# dgen -f ROM文件名
# xrandr -s 0
其中,-f 参数为打开全屏模式,如果模拟器无法自动进入全屏模式的话。按下 Alt + Enter可以手动进入全屏模式。
在游戏过程中:
- 方向键 控制方向
- A键 模拟 A键
- S键 模拟 B键
- D键 模拟 C键
- Q键 模拟 X键
- W键 模拟 Y键
- E键 模拟 Z键
- OK键 模拟 Start
- Backspace键 模拟 Mode
- Cancel键 退出
GBA模拟器——gbSP
本来我是想用VisualBoyAdvance这个GBA模拟器的,无奈它的性能太差,无法流畅的模拟GBA游戏。后来发现了这个gpSP模拟器,能够在C3100上关闭音频模拟的情况下不超频流畅玩GBA游戏,如果要打开声音模拟,则需要超频到614Mhz。
gpSP原本是为PSP开发的GBA模拟器,由于它是开源软件,所以被移植到了Linux上来了。要执行这个模拟器,你必须要有一个gba_bios.bin文件放在执行目录下才能够正常使用。
gpSP有自己的ROM选择界面,所以可以直接使用gpsp命令启动模拟器后选择ROM文件,也可以使用 gpsp ROM文件名 来直接运行ROM。
输入如下命令可以全屏启动gpsp:
# export GPSPKEYS=97,115,274,273,276,275,13,32,122,120
# xrandr -s 1
# gpsp
# xrandr -s 0
# xrandr -s 1
# gpsp
# xrandr -s 0
进入模拟器后,可以进入ROM选择界面:
选中ROM后,按OK键启动ROM,这时如果按下Cancel键的话,可以进入设置界面。
进入第一项图像和声音选项可以设置是否要模拟声音等开关。
将声音模拟关掉,以便流畅的进行游戏,不过设定frameskip貌似没有任何效果。
gpSP的按键可以通过设置$GPSPKEYS这个环境变量来设置。
我们在进入gpSP模拟器之前输入如下的命令的话
# export GPSPKEYS=97,115,274,273,276,275,13,32,122,120
就指定了如下按键映射:
- 方向键 控制方向
- X键 模拟 A键
- Z键 模拟 B键
- C键 模拟 X键
- D键 模拟 Y键
- A键 模拟 L键
- S键 模拟 R键
- OK键 模拟 Start
- 空格键 模拟Select
- Cancel 退出模拟器
- 5 保存
- 7 读入进度
- Backspace 回到gpSP菜单
- 1 nowait
你可以自己设定$GPSPKEYS这个环境变量中的键值来设置按键映射
# export GPSPKEYS=L,R,Down,Up,Left,Right,Start,Select,B,A
上面介绍了这四种游戏模拟器的使用办法。不过要实现全屏玩游戏的话,每次都得输入很多的命令。于是我写了一系列脚本来简化操作。
首先说明一下,我的脚本默认是认为你的所有游戏的ROM文件都是放在SD卡上的如下目录的:
- NES ROM: /mnt/card/roms/fc
- SNES ROM: /mnt/card/roms/sfc
- Sega MD ROM: /mnt/card/roms/md
- GBA ROM: /mnt/card/roms/gba
下面就看看这些脚本吧:
文件名:FC
BASH代码:
- #!/bin/bash
- ##############################
- # FC emulator script #
- ##############################
- # by Wells Wang #
- # 2007-02-10 #
- ##############################
- ROMPATH="/mnt/ide3/roms/fc"
- EMU="znester"
- ARGS="-fs -qv"
- PS3="Please select ROM file: "
- echo "Your FC ROM folder is: "$ROMPATH
- if [ -d $ROMPATH ]; then
- echo "ROMPATH detected!"
- else
- echo "WRONG ROM PATH! Please correct ROMPATH in `which FC` file."
- exit 1
- fi
- cd $ROMPATH
- echo "Please select a FC ROM file:"
- ROMS="`ls|sed -e 's/\\ /\\^/g' - `"
- #echo $ROMS
- select ROM in $ROMS; do
- if [ $ROM ]; then
- FILENAMECMD="echo \"$ROM\" |sed -e 's/\\^/\\ /g' -"
- FILENAME=`eval $FILENAMECMD`
- echo "You've selected $FILENAME"
- $EMU $ARGS "$FILENAME"
- break
- else
- echo "Invalid selection, press [Ctrl + C] to quit."
- fi
- done
文件名:SFC
BASH代码:
- #!/bin/bash
- ##############################
- # SFC emulator script #
- ##############################
- # by Wells Wang #
- # 2007-02-10 #
- ##############################
- ROMPATH="/mnt/ide3/roms/sfc"
- EMU="snes9x"
- ARGS=""
- PS3="Please select ROM file: "
- echo "Your SFC ROM folder is: "$ROMPATH
- if [ -d $ROMPATH ]; then
- echo "ROMPATH detected!"
- else
- echo "WRONG ROM PATH! Please correct ROMPATH in `which SFC` file."
- exit 1
- fi
- cd $ROMPATH
- echo "Please select a SFC ROM file:"
- echo "Press Fn+2 to enlarge screen in fullscreen mode."
- ROMS="`ls|sed -e 's/\\ /\\^/g' - `"
- #echo $ROMS
- select ROM in $ROMS; do
- if [ $ROM ]; then
- FILENAMECMD="echo \"$ROM\" |sed -e 's/\\^/\\ /g' -"
- FILENAME=`eval $FILENAMECMD`
- echo "You've selected $FILENAME"
- /usr/X11R6/bin/xrandr -s 1
- $EMU $ARGS "$FILENAME"
- /usr/X11R6/bin/xrandr -s 0
- break
- else
- echo "Invalid selection, press [Ctrl + C] to quit."
- fi
- done
文件名:SEGA_MD
BASH代码:
- #!/bin/bash
- ##############################
- # SEGA MD emulator script #
- ##############################
- # by Wells Wang #
- # 2007-02-10 #
- ##############################
- ROMPATH="/mnt/ide3/roms/md"
- EMU="dgen"
- ARGS="-f"
- PS3="Please select ROM file: "
- echo "Your SEGA MD ROM folder is: "$ROMPATH
- if [ -d $ROMPATH ]; then
- echo "ROMPATH detected!"
- else
- echo "WRONG ROM PATH! Please correct ROMPATH in `which SEGA_MD` file."
- exit 1
- fi
- cd $ROMPATH
- echo "Please select a MD ROM file:"
- echo "Press [Alt+Enter] to enable fullscreen mode."
- ROMS="`ls|sed -e 's/\\ /\\^/g' - `"
- #echo $ROMS
- select ROM in $ROMS; do
- if [ $ROM ]; then
- FILENAMECMD="echo \"$ROM\" |sed -e 's/\\^/\\ /g' -"
- FILENAME=`eval $FILENAMECMD`
- echo "You've selected $FILENAME"
- /usr/X11R6/bin/xrandr -s 1
- $EMU $ARGS "$FILENAME"
- /usr/X11R6/bin/xrandr -s 0
- break
- else
- echo "Invalid selection, press [Ctrl + C] to quit."
- fi
- done
文件名:GBA
BASH代码:
- #!/bin/bash
- ##############################
- # GBA emulator script #
- ##############################
- # by Wells Wang #
- # 2007-02-10 #
- ##############################
- ROMPATH="/mnt/ide3/roms/gba/"
- echo "Your GBA ROM folder is: "$ROMPATH
- if [ -d $ROMPATH ]; then
- echo "ROMPATH detected!"
- else
- echo "WRONG ROM PATH! Please correct ROMPATH in `which GBA` file."
- exit 1
- fi
- cd $ROMPATH
- if [ -f "gba_bios.bin" ]; then
- echo "GBA BIOS file detected!"
- else
- if [ -f "~/.emu/gba_bios.bin" ]; then
- cp ~/.emu/gba_bios.bin .
- else
- echo "Can not find GBA BIOS file, please download it and put it into GBA ROM folder."
- exit 1
- fi
- fi
- export GPSPKEYS=97,115,274,273,276,275,13,32,122,120
- /usr/X11R6/bin/xrandr -s 1
- gpsp
- /usr/X11R6/bin/xrandr -s 0
文件名:emu
BASH代码:
- #!/bin/bash
- ##############################
- # Emulator Launch Script #
- ##############################
- # by Wells Wang #
- # 2007-02-10 #
- ##############################
- SCRIPTPATH="/mnt/ide/usr/local/bin/"
- EMUS="FC SFC SEGA_MD GBA"
- PS3="Please select an emulator: "
- echo "Welcome to my GAME WORLD !"
- echo "Which emulator do you want to launch?"
- select EMU in $EMUS; do
- if [ $EMU ]; then
- $SCRIPTPATH$EMU
- break
- else
- echo "Invalid selection, press [Ctrl + C] to quit."
- fi
- done
把这些脚本放到/usr/local/bin目录下,并给它们可以执行的权限,这样,不管你在那个目录,只要输入一个emu命令,就能通过菜单选择的方式玩到你要玩的游戏了哦,而且,不进入X环境同样也能使用这个脚本哦。
脚本首先会问你要玩哪一种模拟器,选择后将列出你的卡上的该种模拟器的所有ROM文件供你选择。选择后便进入全屏模式玩游戏啦。
# emu
Welcome to my GAME WORLD !
Which emulator do you want to launch?
1) FC
2) SFC
3) SEGA_MD
4) GBA
Please select an emulator: 2
Your SFC ROM folder is: /mnt/ide3/roms/sfc
ROMPATH detected!
Please select a SFC ROM file:
Press Fn+2 to enlarge screen in fullscreen mode.
1) DarkHalf.zip 6) RoundTable.zip 11) ff5sc.zip
2) FF6.zip 7) SecretOfEvermore.zip 12) tdcz.zip
3) FIFA^98.zip 8) ct.zip 13) zelda.zip
4) PaoPaoLong.zip 9) dhh2.zip
5) RomaceSaga3.zip 10) dq6cn.zip
Please select ROM file: 11
Welcome to my GAME WORLD !
Which emulator do you want to launch?
1) FC
2) SFC
3) SEGA_MD
4) GBA
Please select an emulator: 2
Your SFC ROM folder is: /mnt/ide3/roms/sfc
ROMPATH detected!
Please select a SFC ROM file:
Press Fn+2 to enlarge screen in fullscreen mode.
1) DarkHalf.zip 6) RoundTable.zip 11) ff5sc.zip
2) FF6.zip 7) SecretOfEvermore.zip 12) tdcz.zip
3) FIFA^98.zip 8) ct.zip 13) zelda.zip
4) PaoPaoLong.zip 9) dhh2.zip
5) RomaceSaga3.zip 10) dq6cn.zip
Please select ROM file: 11
最后,为了方便大家,我把这些模拟器和我的脚本打成了一个ipk软件包,大家只要安装了这个软件包,就可以在终端下输入emu来方便的玩模拟器了:)
你可以到我的文件库下载我的 emu-package 。
日历
| 年 月 | ||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
| 29 | 30 | 31 | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 1 | 2 |
日志分类
搜索日志
订阅我的日志
友情链接
[做人要厚道,看帖要回帖,点击发表评论]
显示评论
隐藏评论
评论列表
发布于 2007-02-25 17:55:43 |



