OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 15532|回复: 30

探索者开发板“FC游戏机”汇编单文件版

[复制链接]

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
发表于 2015-6-3 13:47:14 | 显示全部楼层 |阅读模式
把原来的多个汇编文件合并在6502.s一起了,方便管理,同时修正了一些已知bug,综合实验直接替换
另外几个.s文件就不需要了,工程里只保留6502.s一个汇编文件就行了
顺便再发个基于429的SEGA_SMS模拟器全速有声音。

注意:手柄键值传递要改一下
原来的
uint8 PADdata;    //手柄1键值 
uint8 PADdata1;   //手柄2键值
改成
uint8 PADdata0;    //手柄1键值 
uint8 PADdata1;   //手柄2键值

关于模拟器黑屏,死机,mapper支持问题直接在此留言,尽量为你们解决
还有基于429的全功能版本(支持即时存档,读档,电池存档,作弊修改)需要的也可以留言

6502.s

84.45 KB, 下载次数: 333

sms.rar

31.64 KB, 下载次数: 534

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-3 23:04:53 | 显示全部楼层
大赞,楼主又发好资料了。
sega模拟器,支持直接打开sd卡的文件玩么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-3 23:05:02 | 显示全部楼层
cool!!!
回复 支持 反对

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2015-6-3 23:43:02 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
文件系统选择sms文件
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-4 00:33:20 | 显示全部楼层
回复【4楼】ye781205:
---------------------------------
在407可以跑么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-4 14:45:26 | 显示全部楼层
加入工程,发现:
报:
map67_  找不到(mapper.c里面用到)
还有Apu_Write4017,找不到,6502.s里面用到
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-4 14:47:37 | 显示全部楼层
看代码多了一个map67_0
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-4 14:52:34 | 显示全部楼层
mapper.c里面:
void set_CPU_bank3(signed char page )  {map67_(page) ;}
用这个:
void set_CPU_bank3(signed char page )  {map67_0(page) ;} 
代替么?
 Apu_Write4017,应该是你新增的一个函数,原来的代码没有。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2015-6-4 17:22:47 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
void map67_0(signed char page);  //6502.s
void Mapper003_Reset()
{
if((NESrom->crc32==0x0AA0D382)|(NESrom->crc32==0xADCE5A3B))//俄罗斯方块需要
          map67_0(0);  //6502.s
  set_PPU_banks(0,1,2,3,4,5,6,7);
}
mapper 3的初始化
        cpu6502_init();这几个的初始化注意顺序Mapper_Init();一定要在 cpu6502_init()之后;  
 PU_reset();
 Mapper_Init();
 apu_init();
Apu_Write4017是特殊外部音频芯片,要增加很多代码
还有比如//    CHECK_MMC2(pattern_addr);//***********不要为了一小部分游戏拖慢速度****************
ppu的MMC2要模拟的话速度回大幅度减低,我测试过mapper9,10要用
要开启首先反注译ppu.c的
//    CHECK_MMC2(pattern_addr);有2处
void PU_Latch_FDFE(uint32 addr) {/*这里是mapper里的函数MAP9_PPU_Latch_FDFE(addr);*/}
#define CHECK_MMC2(addr) \
  if(((addr) & 0x0FC0) == 0x0FC0) \
  { \
    if((((addr) & 0x0FF0) == 0x0FD0) || (((addr) & 0x0FF0) == 0x0FE0)) \
    { \
      PU_Latch_FDFE(addr); \
    } \
  }
回复 支持 反对

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2015-6-4 17:26:39 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
void Apu_Write4017(uint8 value,uint32 address )
{
#ifdef FRAME_IRQ
apudata_t d;

    if(!frame_irq_disenabled)
{
      frame_irq_enabled = value;
}
if(apu->ext)
      {
        apu_memwrite* mw = apu->ext->mem_write;

        while(mw->max_range != -1)
        {
          if((mw->min_range <= address) && ((mw->max_range >= address)))
          {
            d.timestamp = clocks;//d.timestamp = nes6502_getcycles(FALSE);
            d.address = address|0x4000;
            d.value = value;
            apu_enqueue(&d);
            break;
          }
          mw++;
        }
      }
#endif
}
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-4 18:56:08 | 显示全部楼层
回复【10楼】ye781205:
---------------------------------
感觉你改了好多啊,方便发个探索者的工程么?
我整理下。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2015-6-4 22:31:17 | 显示全部楼层
13213212312312312312313

实验59 综合测试实验.rar

5.77 MB, 下载次数: 647

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-4 22:32:23 | 显示全部楼层
回复【12楼】ye781205:
---------------------------------
谢谢
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2015-6-4 22:33:25 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
探索者的工程
回复 支持 反对

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2015-6-4 22:54:36 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
有对颜色转换熟悉的吗?比如L8,ARGB4444,GRB565之间的转换,
就可以把429的dma2d硬件转换改成软件转换,就可以再407是全速有声音的运行sega sms模拟器了
不转换也可以看见图像,就是颜色极度不正常
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-5 12:11:13 | 显示全部楼层
把楼主的6502.s移植到了新战舰V3上面。
上传工程

不过有几个已知bug,还是没解决:
1,sd快打旋风,左侧大概20个像素会有重影。
2,热血格斗,画面上下抖动厉害。。。

实验54 综合测试实验.rar

4.34 MB, 下载次数: 539

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
 楼主| 发表于 2015-6-5 14:38:38 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
1:sd快打旋风,左侧大概8个像素会有重影,要解决需要加入PAL或NTSC制式识别,8个像素应该影响不大
2,热血格斗,画面上下抖动厉害。。。这个不抖动嘛

热血格斗.nes

256.02 KB, 下载次数: 333

Mapper004.h

10.35 KB, 下载次数: 177

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-5 23:18:20 | 显示全部楼层
回复【17楼】ye781205:
---------------------------------
map4文件和你的有一些区别。
下载你的这个,还是抖动
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2012-5-26
在线时间
0 小时
发表于 2015-7-7 10:56:47 | 显示全部楼层
楼主好强!!!!
回复 支持 反对

使用道具 举报

4

主题

43

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
392
金钱
392
注册时间
2016-9-4
在线时间
73 小时
发表于 2017-6-14 17:52:34 | 显示全部楼层
看两个大神聊天,一脸蒙蔽。
回复 支持 反对

使用道具 举报

4

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2012-5-8
在线时间
19 小时
发表于 2018-2-3 01:49:21 | 显示全部楼层
楼主厉害,对汇编很熟。
回复 支持 反对

使用道具 举报

37

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
766
金钱
766
注册时间
2016-9-10
在线时间
306 小时
发表于 2018-2-5 17:08:39 | 显示全部楼层
楼主麻烦发个429的工程,只有阿波罗的板子
回复 支持 反对

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2017-9-4
在线时间
43 小时
发表于 2018-4-27 14:53:33 | 显示全部楼层
楼主 我现在在做游戏这个 NES或者SMS都可以  板子是F429的 能发我一份吗 我研究挺长时间了  一脸懵  阿波罗F429   我要移植到我的工程上去 。有单独的NES工程吗?
回复 支持 反对

使用道具 举报

5

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2017-9-4
在线时间
43 小时
发表于 2018-4-27 14:55:01 | 显示全部楼层
单独可以运行的NES工程   我在综合实验里面难以裁剪出来     知识不够!  楼主在此期待 Q1193079152  希望得到你们的帮助!
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2019-6-18
在线时间
17 小时
发表于 2019-6-20 00:08:25 | 显示全部楼层
看了一下6502.s 请教大神们 doXXX  opXXX(例如:doIIX  opORA) 这是什么汇编指令?如果移到ADS1.2上编译要如何修改?
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2019-6-18
在线时间
17 小时
发表于 2019-6-20 00:15:41 | 显示全部楼层
请教各位大神6502.s里很多 doXXX  opXXX(例如:doIIX opORA)是什么汇编指令? 如果要移植到ADS1.2上编译需要怎样修改?
回复 支持 反对

使用道具 举报

4

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-7-14
在线时间
19 小时
发表于 2019-7-19 07:30:57 | 显示全部楼层
楼主厉害,对汇编很熟。
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2019-12-10
在线时间
7 小时
发表于 2019-12-27 16:24:37 | 显示全部楼层
为什么我战舰板子下载,2.8的屏幕一直就一个灰色窗口
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2019-6-18
在线时间
17 小时
发表于 2020-8-8 09:40:41 | 显示全部楼层
想知道游戏机即时存档,读档需要怎么做,保存游戏哪些ram 或变量?
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2020-8-13
在线时间
66 小时
发表于 2020-8-13 13:28:42 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2020-9-28
在线时间
9 小时
发表于 2021-7-2 11:48:57 | 显示全部楼层
mtlsh 发表于 2020-8-8 09:40
想知道游戏机即时存档,读档需要怎么做,保存游戏哪些ram 或变量?

同问。ye781205能不能指导下
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 05:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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