易码技术论坛

 找回密码
 加入易码
搜索
楼主: 曾半仙

庆祝网站搬家 有人想做WQX模拟器么, 手机上的

[复制链接]
发表于 2012-12-20 19:18:51 | 显示全部楼层

回复 139# 的帖子

赶紧来试试
发表于 2012-12-20 21:59:40 | 显示全部楼层
都好厉害啊~~
发表于 2012-12-23 11:27:00 | 显示全部楼层

Java版与原生版的性能对比泪目中…

上一个我修改了一下的Java Android版…
速度比tonywang的慢一些,不过还是可以用滴!
目测能运行英雄坛

更新:12.24解除了界面的迟滞,并且每次打开时会自动设置为设备当前的时间,不会每次都跳回2000年了。感谢tonywang的提示!

Update:使用前要将cc800.fls与obj.bin放入 SD卡的“cc800”目录下。
两个文件:
https://github.com/quadpixels/ba ... /cc800.fls?raw=true
https://github.com/quadpixels/ba ... er/obj.bin?raw=true

[ 本帖最后由 cs900601 于 2013-1-3 10:05 编辑 ]
Screenshot_2012-12-22-21-12-22.png
Screenshot_2012-12-24-22-38-57.png

CC800_Android_时间自动同步.zip

429.12 KB, 下载次数: 186

发表于 2012-12-23 16:22:53 | 显示全部楼层

回复 143# 的帖子

站在半仙巨人肩上,几乎不要怎么coding,倒是佩服你毅力,哈哈,纯java移植。
 楼主| 发表于 2013-1-2 02:05:35 | 显示全部楼层
卧槽好感动.
我的ios版本关掉NMI以后可以进幻想大陆, 开了就不行.
用和PC版相同的代码, 在ipad2上速度是文曲星真机的1/3左右.
昨天换了handypsp的模拟代码, 可以在ipad基本全速模拟了(92%左右), 不过还是开了就不可以进幻想大陆.
令人气愤的是, 在ipad模拟器里跑模拟器是可以进入的.
准备打反汇编日志对比原因

更新: handypsp版本代码在ipad上可以跑到10x左右速度.
动态速度修正尚未制作完成, 所以使用的还是相对时钟, 不然幻想大陆工作会不正常.

我看前面几个移植版本似乎都用的最老版本的代码.
把新版本的代码说一下, 相对于第一版, 加了符号绘制, 速度计算, 闪存保存.

这是iOS的加速版本ipa和对应的代码. iOS绘制尚未优化, 会有拖影.
http://www.sendspace.com/filegroup/T1CFNZtsM9GHKvmETiRmCg

这是PC版本代码, 最新版程序和当时键盘映射等文档.
http://www.sendspace.com/filegro ... CoToKN42yYnrPcShLPZ

这个是从开始到现在每次较大修改前备份的源码, 一共27版
回头好好清理一下目前的代码, 丢到gitorious去
http://www.sendspace.com/file/zktjvv

[ 本帖最后由 曾半仙 于 2013-1-2 20:04 编辑 ]
IMG_0941.jpg
发表于 2013-1-2 18:21:58 | 显示全部楼层
半仙终于现身了,和他联系上了,学到不少东西!
顶楼主!

[ 本帖最后由 hackwaly 于 2013-1-2 18:23 编辑 ]
 楼主| 发表于 2013-1-2 20:26:14 | 显示全部楼层
原帖由 cs900601 于 2012-11-10 03:55 发表
啊呀……竟然附上了Source code……!貌似用了QT的某些Feature。打算这几天将那个VC++项目编译通过了先。
我非常想编译、研究源程序,说不定可以看懂了以后帮着做一个Android版的…
嘛,我可是写过点Android程序的(虽然只是 ...


去掉QT_NO_DLL以后就可以用动态版dll了 之所以静态是为了发布小一些顺便和ios版mviewlite兼容

工程里面用过的还有FAKENMI LOGASM HANDYPSP三个宏,第一个本来是用于跟官方模拟器比较代码执行区别的,现在是用来解决幻想大陆的兼容问题,第二个是记录汇编执行日志,第三个是用速度较快的handypsp解释器,还有一个AUTOTEST宏是为了固定指令条数后按按键的,也是merge用的。移植时候可以根据需要合并这几个宏.
像我去年调试时候就开着FAKENMI和LOGASM, 40000条指令触发一次NMI, 同时还在官方模拟器也采用了这个策略, 从生成的日志来对比执行流程有何不同.
编译发布版时候是只开HANDYPSP这个宏的, ipa版本还多开了个FAKENMI, 并且改为比较接近时钟的做法.

[ 本帖最后由 曾半仙 于 2013-1-2 20:56 编辑 ]
发表于 2013-1-2 23:01:00 | 显示全部楼层
ANDROID PAD的走起啊
发表于 2013-1-3 00:24:06 | 显示全部楼层
各种版本啊~好赞~
期待最后出现文曲星版的文曲星模拟器!
发表于 2013-1-3 11:21:58 | 显示全部楼层
哇,半仙出来了
真不是盖的,要多少坚实的基础才能做到在这种code中游刃有余啊
那这么说的话,原本的程序只有1/3的速度,但是新的程序有10倍速,也就是…30倍的提升?!
太神奇了太神奇了
话说我当时调的时候也弄了一个“AUTOTEST”功能
 楼主| 发表于 2013-1-3 14:01:44 | 显示全部楼层
是的 原本解释器是6502sim的跑完一次校准要3.5秒现在handypsp版0.1秒左右
相信这个做成ndk方式后速度问题应该可以解决了。
另外之所以nmi和频率脱离也是因为cc800本身主频是rc振荡器,nmi却是晶振
我现在打算买个pc1000拆开搞清楚08和09的扫描原理 不然超级玛丽按键不好解决。
能有办法在真机上跟踪是最好的了,ggv模拟器的irq和brk/nmi/plp/rts都有些和6502资料不一致的地方

[ 本帖最后由 曾半仙 于 2013-1-3 14:03 编辑 ]
发表于 2013-1-3 19:33:34 | 显示全部楼层

回复 145# 的帖子

出现了,好感动!
iphone 4 测试。速度确实挺慢的,不能横屏运行,竖屏有一大半屏幕超出界面了。
末日传说似乎都不能运行

[ 本帖最后由 hdjackie 于 2013-1-3 19:49 编辑 ]
IMG_0614.PNG
 楼主| 发表于 2013-1-4 07:36:46 | 显示全部楼层
末日传说, 使用GGV模拟器运行也会退出.
目前使用半标准的NMI/BRK/PLP处理/IRQ再加上不精确时钟, 可以在不开HandyPSP内核时候跑起来.
虽然用跑起来时候的日志再逐行对比哪条造成关机, 可是跑得量好大, 文本工具Merge时候速度太悲剧了, 一整天也merge不了几次

目前缺乏真机仿真技术, 这样修修补补不是个办法.
能想办法得出真机每执行一条指令后的寄存器数值就好了~~
再更换振荡线路, 在PC上反汇编并提供cycle相关的时钟中断, 甚至同步和模拟器merge执行结果, 这样就省事了!!!

[ 本帖最后由 曾半仙 于 2013-1-4 07:44 编辑 ]
发表于 2013-1-8 13:52:00 | 显示全部楼层
好久没有来过了,默默的支持
发表于 2013-1-15 21:41:46 | 显示全部楼层
支持一个
字数补丁
发表于 2013-1-23 15:18:51 | 显示全部楼层
好久没来了,飘过。。。
发表于 2013-1-24 21:12:41 | 显示全部楼层
ios6的出来了吗
 楼主| 发表于 2013-2-4 23:40:38 | 显示全部楼层
6肯定可以跑的
发表于 2013-2-6 21:45:02 | 显示全部楼层
+1 标记一下。
发表于 2013-2-17 22:33:42 | 显示全部楼层
没事就来顶这贴……
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-26 01:18 , Processed in 0.017274 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表