主题 : 移植GBA模拟器到2440上 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 4162
精华: 2
发帖: 41
金钱: 320 两
威望: 122 点
贡献值: 11 点
综合积分: 122 分
注册时间: 2009-03-01
最后登录: 2015-09-12
楼主  发表于: 2010-05-26 12:00

 移植GBA模拟器到2440上


转一篇未经本人验证的文章《移植GBA模拟器到2440上》,希望对大家有用
来自:http://jiangdi007.blog.163.com/blog/static/65269167201042411595568/

1.需要的源代码:

  VisualBoyAdvance-1.7.2

  libpng

  zlib

  libSDL

  arm-linux交叉编译器

  下载地址:

都已上传到网盘 http://e.ys168.com/?lofyer

- libpng: http://www.libpng.org/pub/png/libpng.html
- zlib: http://www.gzip.org/zlib/
- libSDL: http://www.libsdl.org

2.移植

   移植ZLIB,解压缩源代码

   #cd zlib-1.2.3

   #./configure --prefix=/usr/local/arm/3.4.1/arm-linux

   修改maklefile中:

  CC=arm-linux-gcc
  AR=arm-linux-ar
  RANLIB=arm-linux-ranlib

  #make;make install

  移植libpng:

  解压缩源代码

  #cd libpng-1.2.35

  # export LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib

  #export CFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include

  #./configure --host=arm-linux --prefix=/usr/local/arm/3.4.1/arm-linux

    移植SDL:

   解压缩源代 码

#cd SDL-1.2.13

#./configure --prefix=/usr/local/arm/3.4.1/arm-linux --disable-video-qtopia --   disable-video-dummy --disable-video-fbcon --disable-video-dga --disable-arts --   disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm --   target=arm-linux --host=arm-linux --enable-video-fbcon

   #make;make install

  移植VisualBoyAdvance-1.7.2

#cd VisualBoyAdvance-1.7.2

#./configure --host=arm-linux --target=arm-linux

#make;make install

在 VisualBoyAdvance-1.7.2/src/sdl/下可以可以看到可以在arm平台运行的2个文件:TestEmu,VisualBoyAdvance。在VisualBoyAdvance-1.7.2/src/下有一个 VisualBoyAdvance.cfg的配置文件

把这3个文件拷贝到一个nfs目录下,然后到网上下载一个GBA游戏,然后用板子挂载上这个目录

#./VisualBoyAdvance abcd.gba

模拟器即可跑起来,并可以看到打印信息。但是我 的板子的问题是要么提示vedio模式无法设置,要么就是出现花屏。不知道其他的硬件平台会不会这样。

这个问题还不知道怎么解决。。。



现在已经可以在2440上玩魂斗罗了,呵呵 不过速度有点慢。

程序更改:

sdl.cpp中的

surface = SDL_SetVideoMode(destWidth, destHeight, 16,
                             SDL_ANYFORMAT|SDL_HWSURFACE|SDL_DOUBLEBUF|
                             (fullscreen ? SDL_FULLSCREEN : 0));  



改为:surface = SDL_SetVideoMode(320, 240, 16,1);

320*240是LCD的分辨率。
级别: 新手上路
UID: 69753
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2012-05-10
最后登录: 2012-06-18
1楼  发表于: 2012-05-12 23:39
好帖子顶起来
级别: 新手上路
UID: 69753
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2012-05-10
最后登录: 2012-06-18
2楼  发表于: 2012-06-10 21:06
SDL 那边的配置是不是有问题?反正我是编译不过去