免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1933 | 回复: 0
打印 上一主题 下一主题

ARM 上任天堂游戏模拟器移植 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-22 14:35 |只看该作者 |倒序浏览
sudo apt-get install libreadline5-dev zlib1g-dev
sudo apt-get install libxxf86vm-dev nvidia-glx-dev
sudo apt-get install libsdl1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl-mixer1.2-dev
sudo apt-get install libsdl-sound1.2-dev libsdl-net1.2-dev
1.SDL的移植
1)编译参数如下:
NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --enable-input-tslib --disable-video-qtopia --disable-video-dummy --enable-video-fbcon --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm --target=arm-linux --host=arm-linux --prefix=/home/hansonlu/resp/source/SDL/SDL-1.2.13/install
NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure  --disable-video-x11 --disable-audio --target=arm-linux --host=arm-linux --prefix=/home/hansonlu/resp/source/SDL/SDL-1.2.13/install
经过试验至少需要2中的参数,游戏的分辨率大小是一个关键的地方,到后面的FCEU的运行也是一样,如果设置错误将会看不到运行结果。SDL在设置分辨率的时候会自动获取最适合的分辨率,但是这个是PC机上的,我的做法是去掉这个最适合的分辨率,也就是说在video Init的时候设置是多少就是多少,但是遗憾的是我的板子如果不设置成屏幕的大小也会失败,所以分辨率的设置一定要是480X272,也就是我板子屏幕的大小。
2)编译DEMO
#cd test
#NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --target=arm-linux --host=arm-linux --prefix=/home/hansonlu/resp/source/SDL/SDL-1.2.13/install
#make;make install
2.zlibc的编译,虽然这里面没用到,其他的游戏模拟器需要。
export CC=arm-linux-gcc
./configure -shared --prefix=/home/hansonlu/resp/source/game/zlib-1.2.3/install
3.game
./configure --host=arm-linux --with-sdl-prefix=/home/hansonlu/resp/source/SDL/SDL-1.2.13/install --prefix=/home/hansonlu/resp/source/game/fceu/install
make;make install
如果想要编译成静态的必须加上 -static -lm
4.running
export SDL_MOUSEDEV=/dev/ts
mknod /dev/ts c 13 128
export HOME=/mnt
./fceu -sound 0 -xscale 1 -yscale 1 -inputcfg gamepad1 a.nes
./fceu a.nes
fceu
从linux Kernel的移植一直做到现在AP的移植,我发现移植也是有规律可寻的。
不管是移植还是自己设计的,我想最终的目的是解决这个问题,其中我觉得架构是最重要的。
知道了架构,剩下的问题就是做一个产品所需要考虑的问题。我们有时候无从下手的原因是
我们不知道该在什么时候做什么事情,以及怎么做这件事事情。架构可以让我们知道这些东西。
在想要弄明白架构之前,试想一下如果是你设计的,这个东西的架构师怎样的?理论上是不是可行。到你掌控一切的时候再回过头来看看和你当初设想的是否一样。理论上可行的东西最后人家是否真的做到了。或许架构太庞大了,那就挑必须要了解的部分。
有时候会遇到自己感觉到可能无法解决的问题,一些没道理的结果在你面前,你是相信的你眼睛还是相信你的知识呢?彷徨,想放弃。我想每个搞技术的人都遇到这样的状况,相信坚持下来的人都已经克服眼前的种种问题一直走到现在。我想唯一的解决方法是不要放弃,冷静去分析,去做实验验证,最后问题一定会解决的。或许你可以去享受一下这种感觉。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/43090/showart_1935424.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP