[原创] 【晒设计方案】STM32F429i移植SMS的步骤

ddllxxrr   2014-3-5 14:52 楼主
SMS就是世嘉游戏,最近在网上找到有人把它移植到STM32F429i_discovey 开发板上,但没写怎么搞地。我偶然又发现一贴附带了游戏的ROM。 我这时才移成功。 下面传下原码
SMS_EMU.rar (78.07 KB)
(下载次数: 40, 2014-3-5 14:32 上传)
SMS_ROM.zip (398.73 KB)
(下载次数: 29, 2014-3-5 14:50 上传)
解压打开里边的
Note_app.txt
会看到移植方法介绍:
- Program a Backup copy of your favorite SMS Cartridge in the MCU Flash Memory using ST Flash Utility
using address 0x8040000 and above.
这里说得下个SMS的ROM,我这个找老半了,要不早移了。并且写到0x0804000以上。
那我就下个 ST Flash Utility 并且把BIN文件下到0x0804000.用的是Duffy Duck inHollywood那个bin.
这个工具很方便,用STLINK就可以下。
以下是准备往里下:
STLINKUtility.JPG
以下是下载完必。
STLINKUtility2.JPG
- In the file "main.c":
A) Change properly the NUM_CARTRIDGE define with the number of ROM image programmed.
B) Specify in the Cartridge struct for each ROM image programmed:
-The start address in Flash
-The number of 16K block-1 (e.g 0x1f for 512K cartridge, 0x0f for 256k cartridge and so on)
-The short name to dump in the Selector routine.
以上说明了要在main.c改两个地方,一个把ROM数量改了。一个ROM的地址得映射对。
具体程序如下:
typedef struct {
uint32_t flash_address; //Start Address of cartridge image in Flash Memory
uint8_t bank_msk; //Number of 16K banks - 1 (e.g. 256K Rom == 0x0f)
const uint8_t name[23]; //name showed in the power up selection
}ROMS;
#define NUM_CARTRIDGE 5 //Number of Cartridge Image in Flash (1-6)
ROMS Cartridge[NUM_CARTRIDGE]={
// 0123456789012345678901
{0x8080000,0x0f,"Sonic the Hedgehog '91"},
{0x80c0000,0x0f,"Castle of Illusion '90"},
{0x8040000,0x0f," Psyco Fox '89 "},
{0x8100000,0x1f," The Lion King '94 "},
{0x8180000,0x1f," D. Duck in Hollywood "}
};
那么我们要修改的只有两个 1NUM_CARTRIDGE 1
2ROMS 里边的地址映射,我前边是向0x0804000写的所以要改为0x084000
然后把工程,放到(注意这是我的路径) F:\360Downloads\stsw-stm32138\STM32F429I-Discovery_FW_V1.0.1\Projects\Peripheral_Examples 下然后编译。我很快就编译通过了。 传下工程:
mysms.rar (1.78 MB)
(下载次数: 63, 2014-3-5 14:49 上传)
注意了,虽然成功了,但我没键盘接口,具体怎么加键盘大家有兴趣可以自己搞下。 本帖最后由 ddllxxrr 于 2014-3-5 15:42 编辑
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复评论 (6)

谢谢分享!!
点赞  2014-3-5 15:10
谢谢分享,学习一下
点赞  2014-3-5 20:22
这个不错,老游戏有了新的玩法
http://weibo.com/u/1391449055
点赞  2014-3-7 10:23
谢谢分享
淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
点赞  2014-3-16 16:03
请问下你那个工程下载好了,还需要改一些工程配置文件吧?我编译进去了,没看到效果
淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
点赞  2014-3-16 16:12
引用: wateras1 发表于 2014-3-16 16:12
请问下你那个工程下载好了,还需要改一些工程配置文件吧?我编译进去了,没看到效果

ROM也得写进才行
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2014-3-17 06:08
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复