View previous topic :: View next topic |
Author |
Message |
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
Posted: 2007-Feb-08 Thu, am11:45 |
|
Post subject: pdaxrom上的模拟器终极手册(完美模拟FC/SFC/MD,基本完美模拟GBA)//// 13楼更新新版gpSP |
|
先放图,
教程已更新在5楼!!!
在zaurus上玩模拟器,应该是小事一桩,因为Linux系统上有着许许多多的开源模拟器。因为PPC上的游戏模拟器的表现让我对zaurus的模拟器的性能不抱很大期望。但是不试不知道,zaurus和pdaXrom让我太吃惊了!
各位看看吧
我的环境是 SL-C3100(CPU PXA270 416MHz), pdaXrom 1.1 beta3
1。FC - znester 完美模拟 (图像声音流畅,可全屏玩,支持zip压缩rom,截图的时候忘了切换到全屏了)
2。SFC - snes9x 完美模拟 (图像声音流畅,可全屏玩,支持zip压缩rom)
FF6
3。Sega MD - DGen 完美模拟 (图像流畅,声音除在加载程序时(场景切换)略微有破音,其余正常,可全屏玩,支持zip压缩rom)
终于可以在PDA流畅的玩到大航海时代2的中文版了
4。GBA - VisualBoyAdvance不能接受的模拟
但是 gpSP 令人惊讶的性能!基本完美模拟(不超频(416MHz)状态下,声音有断续,图像流畅;超频到624MHz,完美模拟!自带rom选择界面,可全屏玩,支持zip压缩rom)
gpSP rom选择画面
gpSP option选项
gpSP 图像声音选项
模拟zelda小人帽,我没超频,达到惊人的30fps
令人惊叹的gpSP!我的GBA可以退休了……
所有安装设定以及优化脚本,请继续关注本贴(让我慢慢写,嘿嘿)
_________________ my Blog: http://wells.osall.com
请支持我的开源项目Sylvan: http://sylvan.osall.com
Last edited by lonelyp on 2008-Jan-13 Sun, pm8:28; edited 3 times in total |
|
Back to top |
|
rogerbaker
Joined: 10 Nov 2006 Posts: 24
小企鹅: 839
|
Posted: 2007-Feb-09 Fri, am9:10 |
|
Post subject: |
|
好人阿 ,赶紧写完吧。最好把模拟器包放上来阿!全体z友倒立拜求了
|
|
Back to top |
|
plum
Joined: 03 Jan 2007 Posts: 129 Location: 河南 郑州 小企鹅: 3482
|
Posted: 2007-Feb-09 Fri, pm12:04 |
|
Post subject: |
|
顶!!!!!!
_________________ http://www.imobile365.com
Zaurus C1k+4G CF+Cell CF wifi+2G SD
ubuntu 7.10
WIndows XP Which in the VBOX under the ubuntu |
|
Back to top |
|
ryebread
Joined: 13 Nov 2006 Posts: 107
小企鹅: 1836
|
Posted: 2007-Feb-09 Fri, pm12:28 |
|
Post subject: |
|
好东西,回去 就装喽:)虽然有PSP
|
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
Posted: 2007-Feb-25 Sun, pm7:27 |
|
Post subject: |
|
所需软件下载和示意图,高亮显示的脚本代码请看原文,我懒得用phpBB代码转过来了
原文地址:
http://wells.osall.com/blog/index.php?uid=1&m=content&p=394
ps,转载请注明出处,谢谢
========================================================
这又是一篇欠了两个星期的作业 ,今天把它补上了吧。
由于使用了开放源代码的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软件包和libz软件包。因为这些模拟器都使用SDL API来作为图形/声音/输入输出的接口的,而libz则提供了对直接读取Zip格式压缩的ROM文件的支持。
SDL软件包可以在 pdaXrom的官方feed 或者 tyrannozaurus的feed 找到下载(那些sdl开头的软件包以及libz)。
NES模拟器——znester
NES: Super Mario Bros
znester可以完美的模拟NES游戏机,也就是任天堂经典的红白机FC。
安装znester后,使用如下命令启动模拟器:
# znester -fs -qv ROM文件名
-fs 参数是全屏, -qv 是放大屏幕到 320x240的QVGA模式
在游戏过程中:
* 方向键 控制方向
* X键 模拟 A键
* Z键 模拟 B键
* OK键 模拟 Start
* 空格键 模拟 Select
* 7键 保存进度
* 0键 读入保存的进度
* Cancel键 退出
SNES模拟器——snes9x
SNES: Final Fantasy 6
snes9x是大名鼎鼎的SNES模拟器,在各个操作系统平台都有移植。它能够完美的模拟SNES游戏机,也就是超级任天堂SFC。
安装 snes9x 后,使用如下命令启动模拟器可以全屏玩游戏:
# xrandr -s 1
# 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开关
游戏的存档文件会被放在用户目录下的.snes96_snapshots目录中。
Sega MD 模拟器——DGen
Sega MD: 大航海时代2 中文版
dgen可以模拟Sega MD,在C3100上,CPU以 416Mhz运行时,X环境下略有跳帧。由于使用SDL,所以可以不进入X在纯文本模式下运行此模拟器,这时性能比在X下要好一些。基本都能流畅进行游戏(终于可以流畅的玩到大航海时代2的中文版啦!)。
使用如下命令可以全屏玩游戏:
# xrandr -s 1
# 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键 退出
dgen的配置文件在用户目录下的.dgen/dgenrc
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
进入模拟器后,可以进入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
如果你的ROM不放在这些目录,则必须修改我的脚本中的 ROMPATH这个变量的值。
下面就看看这些脚本吧:
文件名:FC
Code: |
#!/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
Code: |
#!/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
Code: |
#!/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
Code: |
#!/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
Code: |
#!/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文件供你选择。选择后便进入全屏模式玩游戏啦。
Code: |
# 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
|
最后,为了方便大家,我把这些模拟器和我的脚本打成了一个ipk软件包,大家只要安装了这个软件包,就可以在终端下输入emu来方便的玩模拟器了
你可以到我的文件库下载我的 emu-package 。
http://wells.osall.com/blog/index.php?uid=1&m=content&p=394
_________________ my Blog: http://wells.osall.com
请支持我的开源项目Sylvan: http://sylvan.osall.com |
|
Back to top |
|
rogerbaker
Joined: 10 Nov 2006 Posts: 24
小企鹅: 839
|
Posted: 2007-Feb-27 Tue, pm11:07 |
|
Post subject: |
|
太好了 顶!
|
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
|
Back to top |
|
rogerbaker
Joined: 10 Nov 2006 Posts: 24
小企鹅: 839
|
Posted: 2007-Mar-01 Thu, am9:00 |
|
Post subject: |
|
感谢楼主
gba_bios.bin文件哪里有?
|
|
Back to top |
|
rogerbaker
Joined: 10 Nov 2006 Posts: 24
小企鹅: 839
|
Posted: 2007-Mar-01 Thu, am9:13 |
|
Post subject: |
|
解决了 随便找了个考进去就可以了
|
|
Back to top |
|
zauru1862s
Joined: 25 Mar 2007 Posts: 4
小企鹅: 113
|
Posted: 2007-Apr-18 Wed, pm2:21 |
|
Post subject: |
|
非常感谢,用了模拟器,z就变成了游戏机(象NDS)
发现一个bug
SFC模拟器:
。。。。
* 6-9的数字键 保存(4个存档栏)
* Shift+ 6-9的数字键 读取存档
。。。。
应该是
。。。。
* Shift+6-9的数字键 保存(4个存档栏)
* 6-9的数字键 读取存档
。。。。
|
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
|
Back to top |
|
plum
Joined: 03 Jan 2007 Posts: 129 Location: 河南 郑州 小企鹅: 3482
|
Posted: 2008-Jan-09 Wed, pm3:47 |
|
Post subject: Re: GBA模拟器gpSP最新版更新 |
|
lonelyp wrote: | gpSP在去年年底出了新版
我试了一下,比原版本性能又提高不少,大家可以试试看
使用办法:
把压缩包里的文件替换原文件
并给他可执行权限( # chmod +x gpsp )
我懒得重新打包了,就这么着吧 |
新版本已经使用,运行游戏是恶魔城晓页圆舞曲
1 新版本不能有效全屏,只是变了分辨率
2 新版本跳帧似乎有点问题,帧数不低但是人物像慢动作
3 新版本性能似乎有改善,仅仅限于玩RPG游戏的时候
报告完毕,仅仅在我的c1000上测试如此,
_________________ http://www.imobile365.com
Zaurus C1k+4G CF+Cell CF wifi+2G SD
ubuntu 7.10
WIndows XP Which in the VBOX under the ubuntu |
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
Posted: 2008-Jan-13 Sun, pm8:27 |
|
Post subject: |
|
我改了一下源代码,把它弄成全屏的了。
重新编译了一下,编译参数针对C1K以上机型优化了一下,
试试看吧
我在3K1上试感觉很不错了,
和0.9第二版比声音也同步了,速度也不错
可以接受
所以我把我的GBA在taobao卖了……
哈哈
用这个版本玩通了一遍GBA的《逆转裁判》
觉得这个游戏很不错
想在Sylvan初版阶段性完成后
用AJAX技术把这个游戏移植成网页游戏,呵呵
到时候再说了
Description: |
我修改好的 GPSP for pdaxrom 0.9 SDL v3 全屏版 C3k1测试ok
编译参数针对C1k及以上机型优化,CXX0或者7500C可能无法正常运行,请测试 |
|
 Download |
Filename: |
gpsp.zip |
Filesize: |
202.73 KB |
Downloaded: |
159 Time(s) |
_________________ my Blog: http://wells.osall.com
请支持我的开源项目Sylvan: http://sylvan.osall.com |
|
Back to top |
|
plum
Joined: 03 Jan 2007 Posts: 129 Location: 河南 郑州 小企鹅: 3482
|
Posted: 2008-Jan-16 Wed, pm6:37 |
|
Post subject: |
|
测试结果是性能还是不如原来的版本快,我看看是不是SDL的问题,升级下SDl看看去
_________________ http://www.imobile365.com
Zaurus C1k+4G CF+Cell CF wifi+2G SD
ubuntu 7.10
WIndows XP Which in the VBOX under the ubuntu |
|
Back to top |
|
lonelyp

Joined: 14 Nov 2006 Posts: 260
小企鹅: 8158
|
|
Back to top |
|
|