Log inUsernamePassword
Log me on automatically each visit    
Register
Register
Log in to check your private messages
Log in to check your private messages
Zaurus 中文论坛 Forum Index » pdaXrom & debain & openBSD

This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.
pdaxrom上的模拟器终极手册(完美模拟FC/SFC/MD,基本完美模拟GBA)//// 13楼更新新版gpSP Goto page 1, 2  Next
View previous topic :: View next topic  
Author Message
lonelyp



Joined: 14 Nov 2006
Posts: 260

小企鹅: 8158

PostPosted: 2007-Feb-08 Thu, am11:45 Reply with quote
 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
View user's profile Send private message Visit poster's website
rogerbaker



Joined: 10 Nov 2006
Posts: 24

小企鹅: 839

PostPosted: 2007-Feb-09 Fri, am9:10 Reply with quote
 Post subject:

好人阿 ,赶紧写完吧。最好把模拟器包放上来阿!全体z友倒立拜求了
Back to top
View user's profile Send private message
plum



Joined: 03 Jan 2007
Posts: 129
Location: 河南 郑州
小企鹅: 3482

PostPosted: 2007-Feb-09 Fri, pm12:04 Reply with quote
 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
View user's profile Send private message Visit poster's website AIM Address30332348 MSN Messenger
ryebread



Joined: 13 Nov 2006
Posts: 107

小企鹅: 1836

PostPosted: 2007-Feb-09 Fri, pm12:28 Reply with quote
 Post subject:

好东西,回去 就装喽:)虽然有PSP
Back to top
View user's profile Send private message
lonelyp



Joined: 14 Nov 2006
Posts: 260

小企鹅: 8158

PostPosted: 2007-Feb-25 Sun, pm7:27 Reply with quote
 Post subject:

所需软件下载和示意图,高亮显示的脚本代码请看原文,我懒得用phpBB代码转过来了

原文地址:
http://wells.osall.com/blog/index.php?uid=1&m=content&p=394


ps,转载请注明出处,谢谢
========================================================

这又是一篇欠了两个星期的作业Smile,今天把它补上了吧。

由于使用了开放源代码的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来方便的玩模拟器了Smile

你可以到我的文件库下载我的 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
View user's profile Send private message Visit poster's website
rogerbaker



Joined: 10 Nov 2006
Posts: 24

小企鹅: 839

PostPosted: 2007-Feb-27 Tue, pm11:07 Reply with quote
 Post subject:

太好了 顶!
Back to top
View user's profile Send private message
lonelyp



Joined: 14 Nov 2006
Posts: 260

小企鹅: 8158

PostPosted: 2007-Feb-28 Wed, pm7:49 Reply with quote
 Post subject:

注意,
安装此ipk前
还要安装如下软件包:
bzip2
libstdcxx5_compat_5.0.7

_________________
my Blog: http://wells.osall.com

请支持我的开源项目Sylvan: http://sylvan.osall.com
Back to top
View user's profile Send private message Visit poster's website
rogerbaker



Joined: 10 Nov 2006
Posts: 24

小企鹅: 839

PostPosted: 2007-Mar-01 Thu, am9:00 Reply with quote
 Post subject:

感谢楼主
gba_bios.bin文件哪里有?
Back to top
View user's profile Send private message
rogerbaker



Joined: 10 Nov 2006
Posts: 24

小企鹅: 839

PostPosted: 2007-Mar-01 Thu, am9:13 Reply with quote
 Post subject:

解决了 随便找了个考进去就可以了
Back to top
View user's profile Send private message
zauru1862s



Joined: 25 Mar 2007
Posts: 4

小企鹅: 113

PostPosted: 2007-Apr-18 Wed, pm2:21 Reply with quote
 Post subject:

非常感谢,用了模拟器,z就变成了游戏机(象NDS)

发现一个bug
SFC模拟器:
。。。。
* 6-9的数字键 保存(4个存档栏)
* Shift+ 6-9的数字键 读取存档
。。。。
应该是
。。。。
* Shift+6-9的数字键 保存(4个存档栏)
* 6-9的数字键 读取存档
。。。。
Back to top
View user's profile Send private message
lonelyp



Joined: 14 Nov 2006
Posts: 260

小企鹅: 8158

PostPosted: 2008-Jan-09 Wed, pm1:49 Reply with quote
 Post subject: GBA模拟器gpSP最新版更新

gpSP在去年年底出了新版
我试了一下,比原版本性能又提高不少,大家可以试试看
使用办法:
把压缩包里的文件替换原文件
并给他可执行权限( # chmod +x gpsp )

我懒得重新打包了,就这么着吧Smile



gpsp.zip
 Description:
gbsp 0.9 SDL - 3

Download
 Filename:  gpsp.zip
 Filesize:  202.3 KB
 Downloaded:  193 Time(s)


_________________
my Blog: http://wells.osall.com

请支持我的开源项目Sylvan: http://sylvan.osall.com
Back to top
View user's profile Send private message Visit poster's website
plum



Joined: 03 Jan 2007
Posts: 129
Location: 河南 郑州
小企鹅: 3482

PostPosted: 2008-Jan-09 Wed, pm3:47 Reply with quote
 Post subject: Re: GBA模拟器gpSP最新版更新

lonelyp wrote:
gpSP在去年年底出了新版
我试了一下,比原版本性能又提高不少,大家可以试试看
使用办法:
把压缩包里的文件替换原文件
并给他可执行权限( # chmod +x gpsp )

我懒得重新打包了,就这么着吧Smile

新版本已经使用,运行游戏是恶魔城晓页圆舞曲
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
View user's profile Send private message Visit poster's website AIM Address30332348 MSN Messenger
lonelyp



Joined: 14 Nov 2006
Posts: 260

小企鹅: 8158

PostPosted: 2008-Jan-13 Sun, pm8:27 Reply with quote
 Post subject:

我改了一下源代码,把它弄成全屏的了。
重新编译了一下,编译参数针对C1K以上机型优化了一下,
试试看吧
我在3K1上试感觉很不错了,
和0.9第二版比声音也同步了,速度也不错
可以接受

所以我把我的GBA在taobao卖了……
哈哈

用这个版本玩通了一遍GBA的《逆转裁判》
觉得这个游戏很不错
想在Sylvan初版阶段性完成后
用AJAX技术把这个游戏移植成网页游戏,呵呵
到时候再说了



gpsp.zip
 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
View user's profile Send private message Visit poster's website
plum



Joined: 03 Jan 2007
Posts: 129
Location: 河南 郑州
小企鹅: 3482

PostPosted: 2008-Jan-16 Wed, pm6:37 Reply with quote
 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
View user's profile Send private message Visit poster's website AIM Address30332348 MSN Messenger
lonelyp



Joined: 14 Nov 2006
Posts: 260

小企鹅: 8158

PostPosted: 2008-Jan-16 Wed, pm8:38 Reply with quote
 Post subject:

plum: rpwt 又一次神奇的出现……
_________________
my Blog: http://wells.osall.com

请支持我的开源项目Sylvan: http://sylvan.osall.com
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:     
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Zaurus 中文论坛 Forum Index » pdaXrom & debain & openBSD All times are GMT + 8 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:   
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

[ 页面生成时间: 秒 ] :: [ 次查询 ] :: [ ]
Powered by phpBB © 2001, 2002 phpBB Group
iCGstation v1.0 Template By Ray © 2003, 2004 iOptional