void nes_pxrom_device::ppu_latch(offs_t offset) { if ((offset & 0x3ff0) == 0x0fd0) { LOG_MMC(("mmc2 vrom latch switch (bank 0 low): %02x\n", m_reg[0])); m_latch1 = 0xfd; chr4_0(m_reg[0], CHRROM); } else if ((offset & 0x3ff0) == 0x0fe0) { LOG_MMC(("mmc2 vrom latch switch (bank 0 high): %02x\n", m_reg[1])); m_latch1 = 0xfe; chr4_0(m_reg[1], CHRROM); } else if ((offset & 0x3ff0) == 0x1fd0) { LOG_MMC(("mmc2 vrom latch switch (bank 1 low): %02x\n", m_reg[2])); m_latch2 = 0xfd; chr4_4(m_reg[2], CHRROM); } else if ((offset & 0x3ff0) == 0x1fe0) { LOG_MMC(("mmc2 vrom latch switch (bank 0 high): %02x\n", m_reg[3])); m_latch2 = 0xfe; chr4_4(m_reg[3], CHRROM); } }
void nes_cprom_device::pcb_reset() { m_chr_source = CHRRAM; prg32(0); chr4_0(0, m_chr_source); chr4_4(0, m_chr_source); }
void nes_nanjing_device::hblank_irq(int scanline, int vblank, int blanked) { if (BIT(m_reg[0], 7)) { if (scanline == 127) { chr4_0(1, CHRRAM); chr4_4(1, CHRRAM); } if (scanline == 239) { chr4_0(0, CHRRAM); chr4_4(0, CHRRAM); } } }
void nes_oekakids_device::pcb_reset() { prg32(0); chr4_0(0, CHRRAM); chr4_4(3, CHRRAM); set_nt_mirroring(PPU_MIRROR_LOW); m_latch = 0; m_reg = 0; }
void nes_racermate_device::pcb_reset() { // m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM; prg16_89ab(0); prg16_cdef(m_prg_chunks - 1); chr4_0(0, CHRRAM); chr4_4(0, CHRRAM); m_latch = 0; }
void nes_sxrom_device::set_chr() { UINT8 chr_mode = BIT(m_reg[0], 4); if (chr_mode) { chr4_0(m_reg[1] & 0x1f, m_chr_source); chr4_4(m_reg[2] & 0x1f, m_chr_source); } else chr8((m_reg[1] & 0x1f) >> 1, m_chr_source); }
void nes_oekakids_device::update_chr() { chr4_0(m_reg | m_latch, CHRRAM); chr4_4(m_reg | 0x03, CHRRAM); }