Emulator 板


LINE

纯拉赛文...轻松看就好 https://youtu.be/JDWlDcBtvmU
由於PC模拟器写到後来撞墙,没了动力,主要是周边装置IO文件看得不是很懂, 又非电子系所毕业,硬体不太行,K了很吃力,後来就没进度先放着..... (INTEL真的出一堆数字编号的控制器晶片..) 趁着这个空档突然想起以前写过的任天堂红白机模拟器(其实完成度根本啥都称不上), 想把这旧专案重启整个重新大更新,回去找以前的code,因为觉得没啥参考价值, 没放出来到网路上,所以档案没备份好,只剩下CPU code这块, 就利用这仅存的部分继续完成,反正之前的东西砍掉也没差. 红白机模拟器好不好写? 真的建议初学者写gb来练习比较好, 相比下nes的真的比较有挑战性. 如果你只是要一个体验,没打算实作到一定的完整度,是也可以考虑nes, 最简单的处理方式就是找mapper0 而且画面没有scrolling的rom来测试, Donkey Kong是很适合的游戏,只要固定在画面更新时一次性把整个背景和sprites 绘出来就好,但这只能够让部分游戏看起来好像有一个样子, 真正说起来nes难是难在透过正确的timing,在正确的时间下一条一条去输出scanlie, 然後不管是画面输出或是对PPU的记忆体进行读写都会跟 buff 的处理方式有关系, 内部还有暂存器会在特定的时间点更新,错了一个环节画面可能就错乱掉了 (特别牵涉到 x y的scrolling这种游戏). 其实nes撰写有点超过我的能力(我本来悟性就不高...), 这次重启专案主要目的就是希望可以让timing正确一点, 至少可以处理到有scrolling特效游戏,用比较合乎常规的方式去达成, 而不是乱做一个样子,但颇为困难,所以不得以最後借助两款open专案, https://github.com/scottferg/Fergulator 这款我主要是参考它timing的方式以及每行scanlie的正确处理, 我主要目的不是移植别人的东西,而是了解观念(虽然还是有问号 orz..), 重新用自己风格和想法撰写,因为我的是c#,这款是go,所以日後我专案放出来, 除非用心去找,不然是不太好看出参考的痕迹. https://sourceforge.net/projects/mynes/ 这款我主要是参考PPU记忆体读写牵涉到BUFF这块,同样都是C#专案, 有部分method的code接近,但在日後应该会用我自己的想法再度改写些. 至於timing为何不参考mynes这款,mynes是完成度我认为有95%的完美模拟器, 而它的timing完成度应该有99%正确性(数字自己乱估,不用太认真), 写法相当复杂,以学习性来说Fergulator理想很多,不得不推荐一下mynes这款模拟器, 不错,精确度和mapper可能比很多模拟器更好,网路上都有测试比较过. 这重启专案目前会再补足一些东西,应该是近期会释放出来,以学习跟教育为用途, sprite0hit 跟 SpriteOverflow 尚未实作,sprite跟背景之间的穿透处理还没正确做完, 目前也还没游戏手把输入功能,code很乱需要整理和优化 (但即使还没优化效能目前很够用) , 最後就是super mario bros画面背景还有问题 orz...然後会想再多支援几个简单的mapper(可能真的只是支援很简单的几个mapper), 完成後会放上github. 最後谈到nes的耗费效能...其实现在的电脑不管是任何程式语言甚至是script language, 应该跑nes模拟器都没啥问题,连javascript跑起来也不差了... 效能瓶颈比较要注意的是画面显示这块会占用最多,至少你的显示方式, 在不做任何其他事情的时候,单纯只是显示静态画面要达到最好有2.300 fps为基准, 因为後续还要扣除掉模拟器的运作时间.画面特效处理等等,显示越快, 你能用的时间越充裕,目前我是在没code优化状态下还可以搭配XBRZ 5X (xbrz 5x filter有出了...),而且这部分还是纯c#写的,都还ok, 但filter的部分有整个自己优化处理过了. 其实还想些一些东西,但真的模拟器难不是难在写出,而且好好地写好, 虽然兴趣广,但功能完善度东缺西缺的,应该会先补齐(如果可以的话). --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.70.88.120
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Emulator/M.1477331332.A.FEE.html
1F:推 oginome: 推erspicu大实作! 10/25 01:52
2F:推 superrockman: 会写程式就已经很神了阿.....真的 10/25 01:57
※ 编辑: erspicu (61.70.88.120), 10/25/2016 02:05:09
3F:→ HiJimmy: 最近都再用平板玩红白机~~ 10/25 02:58
※ 编辑: erspicu (60.248.56.181), 10/26/2016 17:55:06
4F:推 conpo: 专业好文推!辛苦了 10/26 20:45







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP