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

2019-07-20 00:28发布

把原来的多个汇编文件合并在6502.s一起了,方便管理,同时修正了一些已知bug,综合实验直接替换
另外几个.s文件就不需要了,工程里只保留6502.s一个汇编文件就行了
顺便再发个基于429的SEGA_SMS模拟器全速有声音。

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

关于模拟器黑屏,死机,mapper支持问题直接在此留言,尽量为你们解决
还有基于429的全功能版本(支持即时存档,读档,电池存档,作弊修改)需要的也可以留言
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
26条回答
ye781205
2019-07-21 00:27
回复【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); 
    } 
  }

一周热门 更多>