搜索
bottom↓
回复: 53

在RT-Thread/GUI上移植了NES游戏模拟器

[复制链接]

出0入0汤圆

发表于 2010-10-8 08:45:41 | 显示全部楼层 |阅读模式
国庆旅游期间移植了个NES模拟器,在QEMU/mini2440上运行,除声音外,其他功能都正常,游戏速度和可玩性都还不错,先上些截图。


(原文件名:nes.JPG)


(原文件名:hdl.JPG)


(原文件名:hdl2.JPG)


(原文件名:tanke.JPG)


(原文件名:tanke2.JPG)


(原文件名:rz.JPG)


(原文件名:rz2.JPG)


(原文件名:rz3.JPG)


(原文件名:mali.JPG)


(原文件名:mali2.JPG)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-10-8 09:27:36 | 显示全部楼层
顶啊

出0入0汤圆

发表于 2010-10-8 09:40:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-8 09:46:55 | 显示全部楼层
小时最喜欢玩的魂斗罗,3条命打通关,可以介绍一下移植过程吗,希望在自己的7寸屏上玩起来,再回味一下童时的乐趣

出0入0汤圆

发表于 2010-10-8 09:54:41 | 显示全部楼层
RTT也可以做这么多的事情啊。

出0入0汤圆

发表于 2010-10-8 10:11:52 | 显示全部楼层
回复【楼主位】shaolin
-----------------------------------------------------------------------

这个是在电脑上运行的吧?
另外向楼主请教下,你移植的NES,消耗了多大的SRAM?
我移植到STM32上,得需要1.2M的SRAM,太大了。。。

出0入0汤圆

发表于 2010-10-8 10:44:50 | 显示全部楼层
楼上你的 1.2M SRAM

一部分可以使用 外部的 Nor flash。

info NES 就是先从文件系统中把 Rom 整个文件 copy 到 SRAM 中处理的。

出0入0汤圆

 楼主| 发表于 2010-10-8 12:17:39 | 显示全部楼层
回复【6楼】liujun6037
回复【楼主位】shaolin  
-----------------------------------------------------------------------
这个是在电脑上运行的吧?
另外向楼主请教下,你移植的nes,消耗了多大的sram?
我移植到stm32上,得需要1.2m的sram,太大了。。。
-----------------------------------------------------------------------

这个是可以在mini2440开发板上运行的,因为mini2440本身没有键盘,操作起来不方便,因此在QEMU/mini2440模拟器上加入了虚拟的键盘来控制游戏,具体的RAM大小没有统计过,晚上回去看下。

出0入4汤圆

发表于 2010-10-8 12:22:13 | 显示全部楼层
stm32能跑起来不?

出0入0汤圆

 楼主| 发表于 2010-10-8 12:22:52 | 显示全部楼层
在QEMU/mini2440模拟器上运行的另外一个好处是可以模拟任意大小的LCD屏幕,像上面图片的屏幕大小就是根据NES游戏屏幕调整成的256X320。

出0入0汤圆

 楼主| 发表于 2010-10-8 12:25:51 | 显示全部楼层
回复【9楼】billtian mcu杀手
-----------------------------------------------------------------------

stm32上没有试过,估计比较悬。

出0入0汤圆

发表于 2010-10-8 12:29:54 | 显示全部楼层
stm32 移植的时候就是 RAM 不够没有能够跑起来。

抽空把部分代码放到 flash 中, 继续试试看。

出0入0汤圆

 楼主| 发表于 2010-10-8 12:36:36 | 显示全部楼层
回复【12楼】lvhaian 安哥
stm32 移植的时候就是 ram 不够没有能够跑起来。
抽空把部分代码放到 flash 中, 继续试试看。
-----------------------------------------------------------------------

stm32上速度估计也够呛。
info NES有Iphone的版本,但速度也是挺慢的。

出0入0汤圆

发表于 2010-10-8 12:36:56 | 显示全部楼层
希望能在STM32上移植成功

出0入0汤圆

发表于 2010-10-8 12:38:47 | 显示全部楼层
不错呀。。。

出0入0汤圆

发表于 2010-10-8 12:55:41 | 显示全部楼层
楼主太有才了,能不能把共享资源呀!

出0入0汤圆

 楼主| 发表于 2010-10-8 13:02:13 | 显示全部楼层
回复【16楼】gwb721123
楼主太有才了,能不能把共享资源呀!
-----------------------------------------------------------------------

多顶一把,如果有需要可以考虑将源码发布出来。

出0入0汤圆

发表于 2010-10-8 13:17:38 | 显示全部楼层
一起顶 把源码顶出来

出0入0汤圆

发表于 2010-10-8 13:18:44 | 显示全部楼层
“mini2440,是shaolin和阿干主导开发的 ”,本来就是开源的,不好意思刚看到。

出0入0汤圆

发表于 2010-10-8 13:21:08 | 显示全部楼层
这个开发板是自己做的吗?有没相关资料?

出0入0汤圆

发表于 2010-10-8 13:37:53 | 显示全部楼层
超级玛丽好玩。。能移植到STM32上就爽了

出0入0汤圆

发表于 2010-10-8 13:41:59 | 显示全部楼层
"国庆旅游期间移植了个NES模拟器"  这个....

出0入0汤圆

发表于 2010-10-8 14:24:06 | 显示全部楼层
移植到STM32上有点困难,我一直在做,都没有成功。。。

出0入0汤圆

发表于 2010-10-8 14:37:44 | 显示全部楼层
顶一下先

出0入0汤圆

发表于 2010-10-8 14:44:05 | 显示全部楼层
【23楼】 youki1234
移植到STM32上有点困难,我一直在做,都没有成功。。。
==========================

做的人多了就成功了, 我们要解决的最后地方就是 RAM 问题。

出0入0汤圆

发表于 2010-10-8 15:17:52 | 显示全部楼层
楼主开源咯!~~

出0入0汤圆

发表于 2010-10-8 15:36:43 | 显示全部楼层
强的,不顶不行

出0入0汤圆

发表于 2010-10-8 15:53:02 | 显示全部楼层
只见过人在AVR32上移植GB模拟器的,似乎速度不错.....

出0入0汤圆

 楼主| 发表于 2010-10-8 21:10:17 | 显示全部楼层
回复【25楼】lvhaian 安哥
【23楼】 youki1234
移植到stm32上有点困难,我一直在做,都没有成功。。。  
==========================
做的人多了就成功了, 我们要解决的最后地方就是 ram 问题。
-----------------------------------------------------------------------

看了下,较大的NES ROM文件大小为256K,需要被读入SRAM,如果只计算NES模拟器消耗的RAM资源,需要的RAM应该也至少在几百K 这个级别。

出0入0汤圆

发表于 2010-10-9 06:35:48 | 显示全部楼层
不用全部读入.

出0入0汤圆

发表于 2010-10-11 10:47:32 | 显示全部楼层
求代码,测试

出0入0汤圆

 楼主| 发表于 2010-10-11 12:29:30 | 显示全部楼层
回复【31楼】nibia
求代码,测试
-----------------------------------------------------------------------

你直接给我发邮件吧 qiuyiuestc@gmail.com

出0入0汤圆

发表于 2010-10-11 22:25:24 | 显示全部楼层
哈哈,我也移植过,

有个叫gpsp的东西,还可以模拟gba,建议试试

出0入0汤圆

 楼主| 发表于 2010-10-11 22:48:11 | 显示全部楼层
回复【33楼】wyoujtg
哈哈,我也移植过,
有个叫gpsp的东西,还可以模拟gba,建议试试
-----------------------------------------------------------------------

gpsp在很早前也移植过的,在官方论坛上还有截图,只是移植效果不是太好,没有继续下去了。

出10入0汤圆

发表于 2010-10-14 13:11:27 | 显示全部楼层
mask~!

出0入0汤圆

发表于 2010-10-14 16:15:33 | 显示全部楼层
使劲顶啊,把少林高手的秘籍顶出来!!!!!

出0入0汤圆

发表于 2010-10-14 19:51:48 | 显示全部楼层
这东西关键是ppu和apu的算法

出0入0汤圆

发表于 2010-10-14 20:10:19 | 显示全部楼层
强人..顶一下

出0入0汤圆

发表于 2010-10-15 10:26:45 | 显示全部楼层
很感兴趣,希望楼主开源```

出0入0汤圆

 楼主| 发表于 2010-10-18 12:23:36 | 显示全部楼层
回复【39楼】zlyny
很感兴趣,希望楼主开源```
-----------------------------------------------------------------------

肯定会的,这段时间太忙,抽空我会整理一下,将源码发布出来。

出0入0汤圆

发表于 2010-10-18 18:02:19 | 显示全部楼层
呵呵。。不错呀,都是经典的游戏

出0入0汤圆

发表于 2010-10-22 19:48:58 | 显示全部楼层
是从哪移植过来的?

出0入0汤圆

 楼主| 发表于 2010-10-23 10:03:29 | 显示全部楼层
InfoNES回复【42楼】hyz_avr 红尘
是从哪移植过来的?
-----------------------------------------------------------------------

InfoNES

出0入0汤圆

 楼主| 发表于 2010-10-25 20:54:15 | 显示全部楼层
运行程序及源代码
在RT-Thread实时线程操作系统上运行NES模拟器的demo

使用说明
1-将SDCARD.rar解压到当前文件夹
2-双击run-mini2440-sdcard.bat即可运行NES模拟器

加载NES游戏
SDCARD文件为虚拟的SD卡,其中放置了三个默认NES游戏,分别是魂斗罗,超级玛丽和冒险岛,如果需要加载其他NES游戏,可以用winimage工具打开虚拟SDCARD卡,然后将需要加载的游戏放入。

源代码
nes文件夹为在RT-Thread实时线程操作系统上运行NES模拟器的源代码,从RT-Thread的SVN服务器中取得最新源码后,将nes放入bsp目录下,然后可以用MDK打开nes目录下的project工程文件进行编译,生成rtthread-mini2440.axf文件。

键盘和游戏手柄的对应关系
键盘A == select
键盘S == start
键盘Z == A键
键盘X == B键
键盘Q == 退出当前游戏
键盘的四个方向键对应游戏杆的四个方向键。

点击此处下载 ourdev_592767YPSLPC.rar(文件大小:3.89M) (原文件名:RT-Thread_NES_Demo.rar)

出0入0汤圆

发表于 2010-10-25 20:59:01 | 显示全部楼层
抽空试下 <<饿狼传说>>FC版.

出0入0汤圆

发表于 2010-10-28 11:32:11 | 显示全部楼层
顶下, 裤子, 天气冷了。

出0入0汤圆

发表于 2010-11-1 09:38:50 | 显示全部楼层
回复【44楼】shaolin
-----------------------------------------------------------------------

速度还是不行啊.
玩起来很卡...

出0入0汤圆

发表于 2010-11-1 09:40:42 | 显示全部楼层
昨天移植到一款MIPS处理器上了,速度还行,不知道如果用STM32来跑的话,速度是否跟得上。

出0入0汤圆

发表于 2010-11-1 11:36:27 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-11-1 12:00:59 | 显示全部楼层
回复【47楼】liujun6037
回复【44楼】shaolin  
-----------------------------------------------------------------------
速度还是不行啊.
玩起来很卡...
-----------------------------------------------------------------------

如果觉得速度太慢,修改下源码中的SkipFrame参数吧,这个参数改得越大,速度相应会快些。

出0入0汤圆

发表于 2011-8-24 12:31:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-30 20:52:19 | 显示全部楼层
高手啊!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-16 11:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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