搜索
bottom↓
回复: 70

[代发]开源目前为止STM32绝无仅有的PCE游戏模拟器,F7流畅40帧!

  [复制链接]

出0入0汤圆

发表于 2017-9-11 09:23:13 | 显示全部楼层 |阅读模式
本帖最后由 motoedy 于 2017-9-12 07:54 编辑

=================================================
声明:这个模拟器不是我的原创,是我的一个朋友(网名:feisheng168)搞的,
已征得朋友的同意开源发出,以下的大部分(99%)内容为我朋友即此移植者编写,
如果对你有用,还希望你们向这些愿意开源的朋友给予肯定!
如果有需要以此为商业获利的(比如开发板),还请能申明感谢下移植修改者:feisheng168。
毕竟这个移植修改到STM32上花了feisheng168一个月的时间,谢谢!
=================================================

================我是可爱的前戏分割线的开始================
强大STM单片机,经过不断的努力终于在ST单片运行了NEC的游戏机模拟器,不要急先来几张PCE游戏的靓照




简单介绍下游戏机可能大家有的人还不知道什么是PCE游戏机,卖弄下。
PC Engine是由Hudson与NEC两家日本公司联手开发的游戏机,1987年由NEC推出。
起初,Hudson正在为该公司设计的家用游戏机寻找财政支援,NEC则正在寻找一个加入电子游戏市场的途径,
其后双方一拍即合,开始了合作。
PC Engine是一部十分细小的家用游戏机,其细小的主要原因是因为它采用了高效率的三芯片架构,
以及HuCard,一张信用卡大小的资料卡带。
它使用了一颗增强版的MOS Technology 65C02处理器,一颗专属设计的16位元图像处理器,以及一颗专属
设计的影片编码芯片。这三颗芯片全部为Hudson所设计。
PC Engine曾在日本极度流行,在推出后不久的销售中,曾在销量上打败任天堂的FC游戏机。
(自1987年到1993年间曾有不小于12款游戏机上市。)它能够在不同的解像度之下同时发出512种颜色,
并有著非常健全的图像镶嵌处理能力。 Hudson设计的色度编码器能够传送出比FC游戏机和世嘉Mega Drive更
生动与更色彩鲜艳的影像讯号,不过该系统直到1990年才公开发表。



哈哈,废话有点多直接来看STM32板子演示效果



在自己DIY的F7游戏机上运行的效果。


优酷演示视频地址:http://player.youku.com/player.php/sid/XMzAxNDQ3MDg4NA==/v.swf
================我是可爱的前戏分割线的结束================

说了这么多废话,该上源码了。。
stm32f767IG演示代码如下:

测试游戏ROM:


=================================================
源代码移植过程如下:

首先我们打开工程所有的移植都会在“dos.c”文件完成,无需其它文件修改便可顺利完成
移植步骤
游戏模拟器我们要移植的东西有图像,声音,和手柄,以及ROM读取,内存管理。
第一步骤:我们移植图像
void line_blur(char *src, int line_width, int line);
这个函数添加我们的绘制行LCD显示,src为缓存,width行的宽度,line第几行;
第二步骤:我们移植手柄
void update_input(void);
#define INPUT_B2        (0x80)//B2
#define INPUT_B1        (0x40)//B1
#define INPUT_RUN       (0x20) //START
#define INPUT_SELECT    (0x10) //SELECT
#define INPUT_LEFT      (0x08) //左
#define INPUT_RIGHT     (0x04) //右
#define INPUT_DOWN      (0x02) //下
#define INPUT_UP        (0x01) //上
这个函数添加我们的手柄按键值,input.pad[0]将上面的值赋值给这个变量即可;
第三步骤:我们移植ROM读取
unsigned int fileio_rom(char *file,unsigned char*buf);
这个函数添加我们的FATFS,p为TF卡文件地址名,buf要读取的缓存区,返回读取字节数
第四步骤:我们移植声音
void play_wav(short *src, int size);
这个函数添加我们的声音处理DMA,buf为音频缓存地址,每帧播放16位WAV字节;
第五步骤:移植内存管理
将函数的大的内存进行分外部SDRAM
函数如下:
void *pce_malloc(int size);
申请内存函数,
void pce_free(void *p);
释放内存函数。
第六步骤:如何调用PCE游戏主函数
int pce_main (char *f)
在要调用的地方直接调用上面的函数加头文件#include "dos.h"
例如:pce_main ("0:pce/雷电.pce")
大工告成~—~ ~—~ ~—~ ~—~

请小伙伴移植玩玩STM32的强大功能

=====================================================================

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2017-9-19 07:47:53 | 显示全部楼层
stm32_xiaocai 发表于 2017-9-18 20:54
我在优酷上看到视频,貌似还有SMS模拟器?

既然是掌机的外壳,那当然是冲着模拟器去的啦,
现在已经移植了大概15种模拟器,绝无仅有的哦,
我朋友可是个模拟器迷,
如果不是STM32太弱,PSP的都搞起来了,
这个模拟器只是开始。。

比如这个。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-9-11 09:27:08 | 显示全部楼层
高大尚的东西暂时玩不了,先MARK

出0入0汤圆

发表于 2017-9-11 09:31:30 | 显示全部楼层
世嘉MD上边的魔强统一战更好玩一些,咳咳。。。

出0入0汤圆

发表于 2017-9-11 09:32:05 | 显示全部楼层
为开源精神点赞

出0入0汤圆

发表于 2017-9-11 10:32:25 | 显示全部楼层
为开源点赞,现在还用不上

出0入13汤圆

发表于 2017-9-11 10:46:09 | 显示全部楼层

为开源精神点赞

出0入0汤圆

发表于 2017-9-11 11:20:38 | 显示全部楼层
论坛好东西太多,一个脑袋忙不过来。支持一下

出0入0汤圆

发表于 2017-9-11 12:27:27 来自手机 | 显示全部楼层
游戏ROM有开源的吗?

出0入0汤圆

发表于 2017-9-11 13:04:26 | 显示全部楼层
有点意思

出0入0汤圆

发表于 2017-9-11 14:06:47 来自手机 | 显示全部楼层
为开源精神点赞

出0入0汤圆

 楼主| 发表于 2017-9-11 14:16:25 | 显示全部楼层
soos 发表于 2017-9-11 12:27
游戏ROM有开源的吗?

游戏ROM有开源,这个还真没见过。。

出0入0汤圆

发表于 2017-9-11 14:35:54 | 显示全部楼层
厉害!!!

出0入0汤圆

发表于 2017-9-11 15:10:51 | 显示全部楼层
原理图是否可以开源

出0入0汤圆

发表于 2017-9-11 15:12:53 来自手机 | 显示全部楼层
支持一下,虽然没有听说过这个游戏机

出0入0汤圆

 楼主| 发表于 2017-9-11 15:31:30 | 显示全部楼层
zenghl 发表于 2017-9-11 15:10
原理图是否可以开源

一般F4,F7的平台都能移植的
我的这个掌机过于复杂,而且还没完全搞好。。

出0入0汤圆

发表于 2017-9-11 17:39:46 | 显示全部楼层
感谢分享,这么高大上的以后在研究。

出0入0汤圆

发表于 2017-9-11 17:48:51 来自手机 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2017-9-11 21:44:14 | 显示全部楼层
能不能输出到电视上,一个小显示屏,太郁闷了

出0入0汤圆

发表于 2017-9-11 21:57:00 来自手机 | 显示全部楼层
太厉害了,单片机玩游戏机,能移植小霸王吗

出0入0汤圆

发表于 2017-9-12 06:47:17 | 显示全部楼层
为开源者申酷

出0入0汤圆

 楼主| 发表于 2017-9-12 07:46:14 | 显示全部楼层
lovecxm 发表于 2017-9-11 21:57
太厉害了,单片机玩游戏机,能移植小霸王吗

NES移植的论坛有很多啊,F103都可以流畅的跑的。

出0入0汤圆

 楼主| 发表于 2017-9-12 07:49:54 | 显示全部楼层
djkc 发表于 2017-9-11 21:44
能不能输出到电视上,一个小显示屏,太郁闷了

输出到电视这个和模拟器无关,需要硬件支持的。

我这个DIY的掌机本来是支持TV OUT的,但是现在取消了。

出0入0汤圆

发表于 2017-9-12 07:50:48 | 显示全部楼层
motoedy 发表于 2017-9-12 07:46
NES移植的论坛有很多啊,F103都可以流畅的跑的。

NES又是啥?

出0入0汤圆

 楼主| 发表于 2017-9-12 07:55:41 | 显示全部楼层


就是大家常玩的小霸王啊。。

比如90坦克,魂斗罗,超级玛丽这些。。

出0入0汤圆

发表于 2017-9-12 07:59:48 | 显示全部楼层
厉害了,赞一个

出0入0汤圆

发表于 2017-9-12 08:30:24 | 显示全部楼层
感谢开源,收藏一下

出0入0汤圆

发表于 2017-9-12 08:38:16 | 显示全部楼层
为开源精神点赞

出0入0汤圆

发表于 2017-9-12 08:59:56 | 显示全部楼层
为开源精神点赞

出0入0汤圆

发表于 2017-9-12 09:27:42 | 显示全部楼层
流弊了我的哥~

出0入0汤圆

发表于 2017-9-12 09:28:19 来自手机 | 显示全部楼层
我有个原子的F7开发版 有空了可以玩一玩儿了 哎 感觉F7我玩儿不转

出0入0汤圆

发表于 2017-9-12 09:54:25 | 显示全部楼层
对你这个掌机感兴趣 哈哈

出0入0汤圆

发表于 2017-9-12 09:57:48 | 显示全部楼层
这个难度稍大   开源需要支持一下 欣赏欣赏

出0入0汤圆

发表于 2017-9-12 10:08:19 | 显示全部楼层
nb,先标记下

出0入8汤圆

发表于 2017-9-12 11:50:20 | 显示全部楼层
厉害了我的哥

出0入0汤圆

发表于 2017-9-12 13:10:41 | 显示全部楼层
这个质量高

出0入0汤圆

发表于 2017-9-12 15:31:39 | 显示全部楼层
叼爆了,mark!

出0入0汤圆

发表于 2017-9-12 16:20:10 | 显示全部楼层
下载了,回去试试,感谢楼主

出0入85汤圆

发表于 2017-9-12 16:42:40 | 显示全部楼层
谢谢,先Mark一下,以后有空研究。

出0入0汤圆

 楼主| 发表于 2017-9-12 17:41:19 | 显示全部楼层
richards 发表于 2017-9-12 09:54
对你这个掌机感兴趣 哈哈

掌机首批30台已经全部被预订了,如果有人退出,留给你你要么?

出0入0汤圆

发表于 2017-9-12 17:57:24 | 显示全部楼层
感谢分享!

出0入0汤圆

发表于 2017-9-12 18:24:05 | 显示全部楼层
感谢分享,F103全速的NES模拟器在哪?声音正常么?mapper支持怎样?

出0入0汤圆

发表于 2017-9-12 20:11:17 | 显示全部楼层
感谢开源,收藏~

出0入0汤圆

发表于 2017-9-12 22:59:29 | 显示全部楼层
motoedy 发表于 2017-9-12 17:41
掌机首批30台已经全部被预订了,如果有人退出,留给你你要么?

多少钱一个?

出0入0汤圆

发表于 2017-9-12 23:11:44 | 显示全部楼层
玩出精来了

出0入0汤圆

 楼主| 发表于 2017-9-13 07:56:09 | 显示全部楼层
stm32_xiaocai 发表于 2017-9-12 18:24
感谢分享,F103全速的NES模拟器在哪?声音正常么?mapper支持怎样?

记得有一个网友用汇编搞了一个,STM32F103上能跑60帧有声音,
忘了哪个论坛的了。。好像是正点原子的论坛,记不清了。。
你可以谷歌下。。

出0入0汤圆

发表于 2017-9-13 08:29:07 | 显示全部楼层
motoedy 发表于 2017-9-12 17:41
掌机首批30台已经全部被预订了,如果有人退出,留给你你要么?

在哪里订购阿?

出0入0汤圆

发表于 2017-9-13 13:09:54 来自手机 | 显示全部楼层
这个相对小霸王是不是很冷门 这个机器估计没在国内卖过?

出20入0汤圆

发表于 2017-9-13 14:14:25 | 显示全部楼层
  不如移植到ESP系列

出0入0汤圆

发表于 2017-9-13 14:21:45 来自手机 | 显示全部楼层
我只爱pc98啊

出0入0汤圆

 楼主| 发表于 2017-9-13 14:22:41 | 显示全部楼层
huangqi412 发表于 2017-9-13 13:09
这个相对小霸王是不是很冷门 这个机器估计没在国内卖过?

这个确实有点冷门,
但是japan的大部分游戏机在国内都是没有行货的。。
你只能买到美版,欧版,亚太版这些版本。。

出0入0汤圆

 楼主| 发表于 2017-9-13 14:24:54 | 显示全部楼层

你可以移植下造福下ESP的朋友。。
按这个移植教程,很容易移植过去,只要你的硬件有不小于4M的SDRAM

出0入0汤圆

发表于 2017-9-13 14:41:32 | 显示全部楼层
不错,暂时没空研究啊

出0入0汤圆

发表于 2017-9-13 15:33:15 | 显示全部楼层
支持开源,辛苦了,感谢分享,也感谢原作者

出0入0汤圆

发表于 2017-9-13 16:21:08 | 显示全部楼层
mark!必须点赞!!!

出0入0汤圆

发表于 2017-9-15 15:52:26 | 显示全部楼层
MARK MARK MARK

出0入0汤圆

发表于 2017-9-15 23:39:10 | 显示全部楼层
高大尚的东西暂时玩不了,先MARK

出0入0汤圆

发表于 2017-9-16 06:24:07 来自手机 | 显示全部楼层
有想法的就是好作品

出0入0汤圆

发表于 2017-9-16 09:48:13 来自手机 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2017-9-16 13:44:26 | 显示全部楼层
非常棒,支持声音吗?

出0入0汤圆

 楼主| 发表于 2017-9-16 14:07:55 | 显示全部楼层
tomyoct 发表于 2017-9-16 13:44
非常棒,支持声音吗?

支持的,移植里面有声音移植的。。
STM32F7,带声音能跑至少40帧。

出0入0汤圆

发表于 2017-9-17 13:16:31 | 显示全部楼层
这个芯片,太高级了,目前还玩不起呀

出0入0汤圆

发表于 2017-9-18 20:54:13 | 显示全部楼层
我在优酷上看到视频,貌似还有SMS模拟器?

出0入0汤圆

发表于 2017-9-19 10:15:31 | 显示全部楼层
为开源精神点赞

出0入0汤圆

发表于 2018-9-23 20:23:12 | 显示全部楼层

厉害!!!

出0入0汤圆

发表于 2019-5-7 12:00:51 | 显示全部楼层

先保存了,谢谢分享

出0入0汤圆

发表于 2019-5-7 13:07:16 | 显示全部楼层
玩家精神,敬佩

出0入0汤圆

发表于 2019-5-7 15:04:11 | 显示全部楼层
不错,感谢无私分享,有时间 我移植到arm linux上去

出190入0汤圆

发表于 2019-5-10 13:58:08 | 显示全部楼层
有意思,mark关注

出0入0汤圆

发表于 2019-11-20 21:24:24 | 显示全部楼层
我靠,历害了我的哥,那个吞食天地我喜欢啊,咋能实现自己玩上啊?STM32F103的可以不?

出140入158汤圆

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

本版积分规则

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

GMT+8, 2024-5-5 07:49

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

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