亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 112.cpp

?? 一個最快NFC的模擬器
?? CPP
字號:

/////////////////////////////////////////////////////////////////////
// Mapper 112
void NES_mapper112::Reset()
{
  // clear registers FIRST!!!
  for(int i = 0; i < 8; i++) regs[i] = 0x00;

  // set CPU bank pointers
  prg0 = 0;
  prg1 = 1;
  MMC3_set_CPU_banks();

  // set VROM banks
  if(num_1k_VROM_banks)
  {
    chr01 = 0;
    chr23 = 2;
    chr4  = 4;
    chr5  = 5;
    chr6  = 6;
    chr7  = 7;
    MMC3_set_PPU_banks();
  }
  else
  {
    chr01 = chr23 = chr4 = chr5 = chr6 = chr7 = 0;
  }

  irq_enabled = 0;
  irq_counter = 0;
  irq_latch = 0;
}

void NES_mapper112::MemoryWrite(uint32 addr, uint8 data)
{
  switch(addr & 0xE001)
  {
    case 0x8000:
      {
        regs[0] = data;
        MMC3_set_PPU_banks();
        MMC3_set_CPU_banks();
      }
      break;

    case 0xA000:
      {
        uint32 bank_num;
        regs[1] = data;
        bank_num = regs[1];
        switch(regs[0] & 0x07)
        {
          case 0x02:
            {
              if(num_1k_VROM_banks)
              {
                bank_num &= 0xfe;
                chr01 = bank_num;
                MMC3_set_PPU_banks();
              }
            }
            break;

          case 0x03:
            {
              if(num_1k_VROM_banks)
              {
                bank_num &= 0xfe;
                chr23 = bank_num;
                MMC3_set_PPU_banks();
              }
            }
            break;

          case 0x04:
            {
              if(num_1k_VROM_banks)
              {
                chr4 = bank_num;
                MMC3_set_PPU_banks();
              }
            }
            break;

          case 0x05:
            {
              if(num_1k_VROM_banks)
              {
                chr5 = bank_num;
                MMC3_set_PPU_banks();
              }
            }
            break;

          case 0x06:
            {
              if(num_1k_VROM_banks)
              {
                chr6 = bank_num;
                MMC3_set_PPU_banks();
              }
            }
            break;

          case 0x07:
            {
              if(num_1k_VROM_banks)
              {
                chr7 = bank_num;
                MMC3_set_PPU_banks();
              }
            }
            break;

          case 0x00:
            {
              prg0 = bank_num;
              MMC3_set_CPU_banks();
            }
            break;

          case 0x01:
            {
              prg1 = bank_num;
              MMC3_set_CPU_banks();
            }
            break;
        }
      }
      break;

    case 0x8001:
      {
        regs[2] = data;
        if(parent_NES->ROM->get_mirroring() != NES_PPU::MIRROR_FOUR_SCREEN)
        {
          if(data & 0x01)
          {
            set_mirroring(NES_PPU::MIRROR_VERT);
          }
          else
          {
            set_mirroring(NES_PPU::MIRROR_HORIZ);
          }
        }
      }
      break;

    case 0xA001:
      {
        regs[3] = data;
      }
      break;

    case 0xC000:
      {
        regs[4] = data;
        irq_counter = regs[4];
      }
      break;

    case 0xC001:
      {
        regs[5] = data;
        irq_latch = regs[5];
      }
      break;

    case 0xE000:
      {
        regs[6] = data;
        irq_enabled = 0;
        if(data)
        {
          set_mirroring(NES_PPU::MIRROR_HORIZ);
        }
        else
        {
          set_mirroring(NES_PPU::MIRROR_VERT);
        }
      }
      break;

    case 0xE001:
      {
        regs[7] = data;
        irq_enabled = 1;
      }
      break;
  }
}

void NES_mapper112::HSync(uint32 scanline)
{
  if(irq_enabled)
  {
    if((scanline >= 0) && (scanline <= 239))
    {
      if(parent_NES->ppu->spr_enabled() || parent_NES->ppu->bg_enabled())
      {
        if(!(irq_counter--))
        {
          irq_counter = irq_latch;
          parent_NES->cpu->DoIRQ();
        }
      }
    }
  }
}

#define MAP112_ROM(ptr)  (((ptr)-parent_NES->ROM->get_ROM_banks())  >> 13)
#define MAP112_VROM(ptr) (((ptr)-parent_NES->ROM->get_VROM_banks()) >> 10)

void NES_mapper112::SNSS_fixup()
{
  NES_6502::Context context;
  parent_NES->cpu->GetContext(&context);

  prg0 = MAP112_ROM(context.mem_page[prg_swap() ? 6 : 4]);
  prg1 = MAP112_ROM(context.mem_page[5]);
  if(num_1k_VROM_banks)
  {
    if(chr_swap())
    {
      chr01 = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[4]);
      chr23 = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[6]);
      chr4  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[0]);
      chr5  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[1]);
      chr6  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[2]);
      chr7  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[3]);
    }
    else
    {
      chr01 = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[0]);
      chr23 = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[2]);
      chr4  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[4]);
      chr5  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[5]);
      chr6  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[6]);
      chr7  = MAP112_VROM(parent_NES->ppu->PPU_VRAM_banks[7]);
    }
  }
}

/////////////////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩成人dvd| 亚洲成年人网站在线观看| 亚洲一区二区三区在线看 | 亚洲精品国产无天堂网2021| 亚洲成人免费在线观看| 精品一区二区影视| 欧美日韩一二区| 欧美大片拔萝卜| 欧美变态口味重另类| 亚洲午夜久久久久久久久久久| 亚洲欧美激情小说另类| 成人av综合一区| 夜夜嗨av一区二区三区网页 | 欧美三电影在线| 自拍偷拍亚洲综合| 欧美日韩精品综合在线| 亚洲永久免费av| 亚洲黄一区二区三区| 99r国产精品| 久久电影网站中文字幕| 337p日本欧洲亚洲大胆精品 | 69p69国产精品| 久久亚洲春色中文字幕久久久| 麻豆中文一区二区| 毛片不卡一区二区| 国产日韩欧美亚洲| 国产麻豆午夜三级精品| 1024成人网色www| 天天色综合成人网| 国产午夜精品一区二区三区四区| 国产剧情一区二区| 国产精品第五页| 欧美日韩在线三级| 三级在线观看一区二区| 欧美精品一区二区三区蜜桃 | 亚洲最色的网站| 亚洲高清免费在线| 欧美激情在线看| 欧美日韩国产不卡| 92精品国产成人观看免费 | 99热这里都是精品| 国产精品久久久久久久久图文区| 这里只有精品99re| av在线播放成人| 国产精品一区在线观看乱码| 亚洲图片欧美综合| 亚洲日本中文字幕区| 日韩午夜三级在线| 成人美女在线观看| 精东粉嫩av免费一区二区三区| 麻豆精品国产91久久久久久| 亚洲人123区| 国产一区二区三区蝌蚪| 国产aⅴ综合色| 91国产成人在线| 欧美日本乱大交xxxxx| 亚洲综合一区在线| 日韩精品欧美精品| av亚洲产国偷v产偷v自拍| 99国产精品国产精品毛片| 正在播放亚洲一区| 久久夜色精品国产欧美乱极品| 91精品蜜臀在线一区尤物| 精品久久久网站| 国产真实乱子伦精品视频| 国产91丝袜在线播放| 国内精品在线播放| 91蜜桃网址入口| 欧美三级电影在线看| 久久在线观看免费| 亚洲国产精品t66y| 亚洲bt欧美bt精品| 极品美女销魂一区二区三区| 成人激情校园春色| 欧美日韩免费一区二区三区| 久久欧美中文字幕| 一区二区三区精密机械公司| 亚洲国产毛片aaaaa无费看| 亚洲国产日韩a在线播放性色| 欧美性三三影院| 久久久精品2019中文字幕之3| 免费在线看成人av| voyeur盗摄精品| 777亚洲妇女| 亚洲欧美偷拍卡通变态| 99久久精品免费看| 久久综合狠狠综合| 日韩一级免费观看| 亚洲一区二区偷拍精品| 中文字幕欧美一区| 国产剧情av麻豆香蕉精品| 欧美性色黄大片| 亚洲精品一区二区三区在线观看| 亚洲美女免费在线| 成人精品小蝌蚪| 久久精品一区八戒影视| 亚洲v日本v欧美v久久精品| 99久久精品一区| 久久久不卡网国产精品二区| 美国精品在线观看| 欧美va亚洲va| 国产一区二区三区四区五区入口| 欧美日韩一级二级| 国产精品99久久久| 亚洲伊人伊色伊影伊综合网| 色先锋资源久久综合| 国产精品精品国产色婷婷| 在线免费一区三区| 亚洲女同一区二区| 欧美mv和日韩mv的网站| 日韩欧美一区二区在线视频| 国产精品123| 激情综合色播激情啊| 亚洲综合男人的天堂| 精品日韩在线观看| 色综合色狠狠天天综合色| 97久久久精品综合88久久| 麻豆国产一区二区| 国产一区二区免费在线| 视频在线观看一区二区三区| 91美女在线视频| 91猫先生在线| 成人av电影在线网| 免费成人在线网站| 国产亲近乱来精品视频| 欧美日韩一区二区在线观看| 成人精品鲁一区一区二区| 伊人一区二区三区| 综合自拍亚洲综合图不卡区| 欧美日韩国产首页| 日本一区二区电影| www.日韩在线| 91同城在线观看| 国产精品99久| 91女人视频在线观看| 中文在线一区二区| 国产三级精品三级| 9久草视频在线视频精品| av在线不卡电影| 欧美午夜一区二区| 色www精品视频在线观看| 欧美少妇xxx| 国产精品亚洲а∨天堂免在线| 成人免费看视频| 久久久久亚洲综合| 亚洲婷婷在线视频| 成人一二三区视频| 成人高清av在线| 亚洲在线视频网站| 成人激情免费网站| 在线免费视频一区二区| 欧美日韩在线综合| 综合久久一区二区三区| 热久久一区二区| 在线一区二区三区做爰视频网站| 欧美色中文字幕| 亚洲日本乱码在线观看| 久久99在线观看| 日本高清成人免费播放| 欧美精品一区二区三区四区 | 国产欧美精品一区| 日韩高清一区二区| 国产精品久久看| 经典三级一区二区| 国产主播一区二区三区| 91麻豆精品91久久久久同性| 一本色道**综合亚洲精品蜜桃冫| 精品福利二区三区| 97久久精品人人爽人人爽蜜臀| 久久精品视频在线免费观看| 91老师片黄在线观看| 国产精品美女一区二区| 欧美一级日韩免费不卡| 蜜臀久久久久久久| 亚洲黄色小视频| 精品视频全国免费看| 国产美女av一区二区三区| 精品美女在线播放| 26uuu欧美日本| 欧美日韩电影在线播放| 久久久国产一区二区三区四区小说 | 波多野洁衣一区| 亚洲精品成人在线| 日韩免费一区二区| 日本伊人精品一区二区三区观看方式| 亚洲欧美另类在线| 欧美日韩三级一区| 欧美日韩国产美| 精品综合免费视频观看| 色就色 综合激情| 亚洲精品视频观看| 中文字幕亚洲视频| 91精品国产色综合久久不卡蜜臀| 婷婷激情综合网| 久久精品一级爱片| 欧美群妇大交群的观看方式| 亚洲一区国产视频| 久久新电视剧免费观看| 日韩精品一区二| 91成人免费电影|