建议按顺序看这几篇**

[复制链接]
3191|10
 楼主| jxyhome 发表于 2008-2-2 14:24 | 显示全部楼层 |阅读模式
&nbsp;最近想在手机上实现一个简单的游戏模拟器,用来运行ads编译c语言写的小游戏代码生成的lib(二进制文件).<br /><br />想了一下,要实现这个模拟器,思路如下:<br /><br />(1)必须能够解析(Lib文件)二进制文件中的各种指令(ARM集或Thumb集).可能还需要写寄存器.<br /><br />(2)必须要能够做到把解析的指令,拷贝到sram中运行以提高运行速度.<br /><br />(3)为了减少麻烦,我们可以把图片,声音作成数组直接写进游戏代码,经过ads编译成二进制代码.<br /><br />===========================================================<br />总的来说就是要直接实现把游戏代码经ads编译生成的lib文件,拷贝到手机里,通过此游戏模拟器能够实现c语言代码的直接运行,不需要把代码一起编译到整个手机软件里.<br /><br />目前手机平台大多是ARM7的.不知道各位有什么好的建议,或者有人能够开发的找我Q聊.<br />QQ247529378
xwj 发表于 2008-2-2 14:35 | 显示全部楼层

你这个不是模拟器,而是运行器吧?

手机用的什么核?什么指令系统?<br />游戏代码又是用的什么?<br /><br />如果一致的话,只要统一规定好入口调入执行就行了,或者用文件方式直接Sheel调用<br />如果不一致,那就麻烦了,此时才需要做模拟器,工作量估计相当大...
 楼主| jxyhome 发表于 2008-2-2 14:48 | 显示全部楼层

回LS

手机用的什么核?什么指令系统?<br />游戏代码又是用的什么?<br /><br />如果一致的话,只要统一规定好入口调入执行就行了,或者用文件方式直接Sheel调用<br />如果不一致,那就麻烦了,此时才需要做模拟器,工作量估计相当大...<br /><br />_________________<br />手机就目前的mtk平台,我做了套SDK,将这个平台的一些东西封装起来并集成很多应用功能.而游戏的话就是用上面的SDK开发的(也是c语言的游戏).mtk一般是ARM7EJ-S处理器,一般支持ARM指令集.<br /><br />目前差的就是如何让游戏这块代码独立出来,编译生成个lib然后直接在手机上运行.不知道楼上有什么好的建议没?<br /><br />因为我的想法是只提供接口给人开发,然后只要将SDK和游戏生成的二进制代码拷贝给厂商就能够直接运行.这样就很方便,目前仅仅考虑支持c语言的游戏.<br />
 楼主| jxyhome 发表于 2008-2-2 14:50 | 显示全部楼层

目的就是不需要编译能够平行移植

  
dld2 发表于 2008-2-2 16:28 | 显示全部楼层

俺有土方法,可以在一定限制条件下实现

模块的代码和数据用分散加载来定位在指定位置。<br />模块与平台编译链接。<br />由于模块定位在指定位置,可以通过调试工具把这部分的代码数据导出,存成二进制文件。<br />该二进制文件可以下载到具有相同平台的手机上。<br />下载了模块后,就可以跳转到指定位置(模块的入口)去运行。<br /><br />再说高级方法,就是动态链接了。<br />在运行时解决被下载模块对平台的符号引用。
 楼主| jxyhome 发表于 2008-2-2 17:04 | 显示全部楼层

LS的第二种方法可行

不知道你的联系方式多少,我们具体详细谈!
dld2 发表于 2008-2-2 17:20 | 显示全部楼层

哈哈,俺只大概知道个概念,再深入就不清楚了

  
xwj 发表于 2008-2-3 11:19 | 显示全部楼层

那就好办了,方法太多,建议LZ去看看游戏机、卡的管理方法

越老的方法往往越简单高效,毕竟硬件性能限制,不动脑筋就玩不转:-)
qq26358275 发表于 2008-2-3 16:48 | 显示全部楼层

建议按顺序看这几篇**

COM技术内幕<br />深度剖析BREW实现原理<br />BREW&nbsp;Overview.pdf<br />BREW_Architecture_Extensions.pdf<br />BREW&nbsp;SDK&nbsp;v2.0.0<br /><br />我们公司正在搞这样的东东
qq26358275 发表于 2008-2-3 18:17 | 显示全部楼层

re

算和lz有缘<br />一个月前老大让我做类似的东西时,&nbsp;也曾经一筹莫展,&nbsp;后来遇到个高手点拨了一下,&nbsp;花了一周时间调通hello&nbsp;world.&nbsp;记得当时还在论坛上求助过,&nbsp;可惜没人理我...<br />刚才也点拨了下lz,&nbsp;其实按顺序看完上面列的五份资料后,&nbsp;一般人都能写出在arm7平台上的二进制文件运行器的demo.&nbsp;不过demo和产品还是有很长很长很长的路要走...这就帮不了lz了
阿南 发表于 2008-2-4 18:00 | 显示全部楼层

没有做过,但是俺觉得楼主把问题复杂化了

您可以把游戏模拟器当作是普通的一个应用程序,类似于在PC机上运行的一个应用程序.如果您是在PC的平台上运行,您决对不会去考虑X86的指令,同理您也不需要考虑您手机的ARM及是否支持ARM的指令等问题.您只需考虑您的手机运行的是什么操作系统,然后基于该操作系统和硬件的开发环境即可.如您的手机运行的是S3C2440和Linux,那么您需要在PC机上安装基本S3C2440A的Linux内核和Linux及交叉编译工具,然后编译目标平台(您的手机)上的应用程序,再将该程序放在目标平台上运行即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

74

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部