E2上GBA模拟器移植的困难。。。

作者着手开发GBA模拟器,遇到系统响应处理难题及屏幕数据读取问题。由于目标设备屏幕位深与源码不匹配导致显示异常,声音输出也存在问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终于决心动手写GBA的模拟器了。。。修改了半晌,终于吧Oop的模拟器源码编译通过,但是到了机器上却跑不起来,那个源码用了一个非常奇怪的方式来处理系统响应:主动调用系统去处理,没开线程……太奇怪了,难道模拟器里面都是这么写的么?

总之这种方式在E2上运行有问题,于是想到,至少我要得到里面buffer中的数值,来验证模拟器是否是真正的运行起来了。于是就在转换函数的地方加上了写文件,写到了一系列文件里面,接着写了一段简单的函数读取写屏……但是没有想到的是……显示出来的数据居然有错误???

彻底郁闷了。

仔细看了看QDirectPainter才发现,e680的屏幕是16位的,E2的屏幕却是18位的,QDirectPainter中取出的buffer用了3位来描述屏幕上的一个像素点……ft……

看来预想中的进度是不可能了……估计会有起码2个月的时间耗在这上面了……

顺便一说,声音也不能正常的出来……异常郁闷……需要解决的地方是在是太多了…… 

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值