转一篇未经本人验证的文章《移植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的分辨率。