硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5399|回复: 8
收起左侧

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

[复制链接]

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2017-9-11 15:51:02 | 显示全部楼层 |阅读模式
=================================================

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

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

QQ图片20170911090524.jpg QQ图片20170911090529.jpg

QQ图片20170911090600.jpg QQ图片20170911090652.jpg



哈哈,废话有点多直接来看STM32板子演示效果
QQ图片20170911090049.png QQ图片20170911090029.png QQ图片20170911090041.png


在自己DIY的F7游戏机上运行的效果。
QQ图片20170911091135.jpg


优酷演示视频




说了这么多废话,该上源码了。。
stm32f767IG演示代码如下:
MDK_PCE.rar (7.11 MB, 下载次数: 401)


测试游戏ROM:
测试游戏.rar (3.79 MB, 下载次数: 283)



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

首先我们打开工程所有的移植都会在“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的强大功能[s:141]

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

评分

参与人数 2 +5 金币 +1 收起 理由
HurkanKK + 1 赞一个!
eric2013 + 5

查看全部评分

STM32H7发烧技术交流群470869281
回复

使用道具 举报

17

主题

177

回帖

233

积分

高级会员

积分
233
QQ
发表于 2017-9-11 19:44:16 | 显示全部楼层
[s:142]  [s:142]  [s:141]
回复

使用道具 举报

116

主题

799

回帖

1147

积分

至尊会员

积分
1147
QQ
发表于 2017-9-12 09:01:57 | 显示全部楼层
这个给力[s:151] [s:151] [s:151]
回复

使用道具 举报

6

主题

390

回帖

408

积分

高级会员

积分
408
发表于 2017-9-12 09:24:00 | 显示全部楼层
[s:151]  [s:151]  [s:151]  [s:151]  [s:141]
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2017-9-12 10:04:29 | 显示全部楼层
牛B
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2017-9-12 10:28:06 | 显示全部楼层
[s:151] [s:151] ,非常感谢分享。
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2017-9-12 14:28:27 | 显示全部楼层
[s:141]  [s:141]  [s:138]
回复

使用道具 举报

4

主题

35

回帖

47

积分

新手上路

积分
47
发表于 2018-8-13 09:24:17 | 显示全部楼层
太厉害了。
回复

使用道具 举报

1

主题

16

回帖

19

积分

新手上路

积分
19
发表于 2018-8-13 10:58:41 | 显示全部楼层
非常不错!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 08:45 , Processed in 0.293012 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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