嵌入式GameBoyAdvance模拟器移植实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式GameBoyAdvance模拟器移植实验.doc

嵌入式GameBoyAdvance模拟器移植实验   摘要:论文将GameBoyAdvance游戏模拟器移植到嵌入式系统中。借助开放源代码的跨平台多媒体开发库SDL,实现对现有基于PC的GameBoyAdvance模拟器源代码进行移植,包括对窗口的设计、按键事件的判断和音频播放等人机交互界面设计,最终实现了GameBoyAdvance游戏在凌动平台上的运行。   关键词: GameBoyAdvance游戏;SDL库;嵌入式系统   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)15-0122-04   Abstract: GameBoyAdvance game simulator is transplanted to the embedded system. With open source cross platform multimedia development library SDL, the simulator source code based on PC is transplanted, including function such as the window design, key events of judgment and audio playback man-machine interface design, eventually the GameBoyAdvance game in the SDL operation is completed.   Key words: GameBoyAdvance; SDL library; embedded system   1 背景   GameBoyAdvance游戏以其独特的魅力吸引了大量的游戏爱好者。相对Game Boy游戏的早期版本,如GameBoy、Game BoyColor游戏,GameBoyAdvance游戏需要耗费庞大的系统资源,随着嵌入式处理器处理能力的迅猛发展,GBA游戏模拟器在嵌入式处理器的移植、运行成为了可能。模拟器的移植工作是本论文中最大的内容之一,移植工作显得非常重要,它决定着这个论文是否能顺利进行下去。但是移植过程中会出现许多不确定因素,因素是多样的,有被移植代码的因素,也有来自SDL本身接口函数处理的因素,因此被移植代码是否最终能够在系统中正常运行将遇到许多障碍。由于windows下的开发工具非常方便,因此我们的思路是先抛开SDL的移植,在去掉windows的API接口后先能够确保代码在windows上编译通过,然后再将代码进行SDL移植,虽然看似多走了一段路,但这样将移植风险降到了最低。   GameBoyAdvance模拟器能够正常在嵌入式系统下运行,其移植过程是一个充满挑战的旅程,我们选择VC++6.0,通过VC++6.0 windows开发工具的调试修改,使得GBA游戏能够在windows下运行,最终能够移植到嵌入式系统下运行。   2 GameBoyAdvance在SDL上的移植   由于GameBoyAdvance模拟器是开源代码,所以在网上可以找到GameBoyAdvance模拟器的部分代码,但这些代码都只能在系统上编译以及对GBA文件进行解码,但是调用windows的AIP函数会出错,所以没有游戏运行窗口、按键响应、音频播放等基本功能,也就是说,一般用网上的开源源代码编译出来的可执行程序不能直接运行GBA游戏。   SDL是一个用C语言编写的免费跨平台多媒体开发库,使用LGPL许可证,可用于游戏、游戏开发工具、模拟器、样本演示、多媒体应用等。[1]为了添加人机交互界面,我们直接将工程中的windows的API函数抛弃,与跨平台的SDL相结合起来,调用SDL中的一些库函数,从而实现对GameBoyAdvance模拟器的移植。   2.1 SDL库函数的添加   先将开源源代码工程中的main.cpp文件更名newMain.cpp,把 GameBoyAdvance整个工程文件和newMain.cpp文件添加到VC++6.0的工程中,当执行编译时会产生许多错误,部分错误如下:   C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(16): error C2062:type int unexpected   C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C2146: syntax error : missing ; before identifier CALLBACK   C:\GBV\vb_no_MMX\vb_no_MMX\win32\newM

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档