当前位置: 首页>>代码示例>>C++>>正文


C++ required_memory_bank::set_base方法代码示例

本文整理汇总了C++中required_memory_bank::set_base方法的典型用法代码示例。如果您正苦于以下问题:C++ required_memory_bank::set_base方法的具体用法?C++ required_memory_bank::set_base怎么用?C++ required_memory_bank::set_base使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在required_memory_bank的用法示例。


在下文中一共展示了required_memory_bank::set_base方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: machine_start

void gamate_state::machine_start()
{
	m_cart_ptr = memregion("maincpu")->base() + 0x6000;
	if (m_cart->exists())
	{
//      m_maincpu->space(AS_PROGRAM).install_read_handler(0x6000, 0x6000, READ8_DELEGATE(gamate_state, gamate_cart_protection_r));
		m_cart_ptr = m_cart->get_rom_base();
		m_bankmulti->set_base(m_cart->get_rom_base()+1);
		m_bank->set_base(m_cart->get_rom_base()+0x4000); // bankswitched games in reality no offset
	}
//  m_bios[0xdf1]=0xea; m_bios[0xdf2]=0xea; // default bios: $47 protection readback
	card_protection.set=false;
	bank_multi=0;
	card_protection.unprotected=false;
	timer2->enable(TRUE);
	timer2->reset(m_maincpu->cycles_to_attotime(1000));
#if 0
	save_item(NAME(m_video.data));
	save_item(NAME(m_video.index));
	save_item(NAME(m_video.x));
	save_item(NAME(m_video.y));
	save_item(NAME(m_video.mode));
	save_item(NAME(m_video.delayed));
	save_item(NAME(m_video.pixels));
	save_item(NAME(m_ports));
	save_item(NAME(m_ram));
#endif
}
开发者ID:bradhugh,项目名称:mame,代码行数:28,代码来源:gamate.cpp

示例2: machine_reset

void nanos_state::machine_reset()
{
	address_space &space = m_maincpu->space(AS_PROGRAM);

	space.install_write_bank(0x0000, 0x0fff, "bank3");
	space.install_write_bank(0x1000, 0xffff, "bank2");

	m_bank1->set_base(m_region_maincpu->base());
	m_bank2->set_base(m_ram->pointer() + 0x1000);
	m_bank3->set_base(m_ram->pointer());

	machine().device<floppy_connector>("upd765:0")->get_device()->mon_w(false);
}
开发者ID:felipesanches,项目名称:ume,代码行数:13,代码来源:nanos.c

示例3: machine_start

void oric_state::machine_start()
{
	machine_start_common();
	m_bank_c000_r->set_base(m_rom->base());
	m_bank_e000_r->set_base(m_rom->base() + 0x2000);
	m_bank_f800_r->set_base(m_rom->base() + 0x3800);
}
开发者ID:bradhugh,项目名称:mame,代码行数:7,代码来源:oric.cpp

示例4: atm_update_memory

void atm_state::atm_update_memory()
{
	UINT8 *messram = m_ram->pointer();

	m_screen_location = messram + ((m_port_7ffd_data & 8) ? (7<<14) : (5<<14));

	m_bank4->set_base(messram + ((m_port_7ffd_data & 0x07) * 0x4000));

	if (m_beta->started() && m_beta->is_active() && !( m_port_7ffd_data & 0x10 ) )
		m_ROMSelection = 3;
	else
		/* ROM switching */
		m_ROMSelection = BIT(m_port_7ffd_data, 4) ;

	/* rom 0 is 128K rom, rom 1 is 48 BASIC */
	m_bank1->set_base(&m_p_ram[0x10000 + (m_ROMSelection<<14)]);
}
开发者ID:Fulg,项目名称:mame,代码行数:17,代码来源:atm.cpp

示例5: scv_set_banks

void scv_state::scv_set_banks()
{
	m_cart_ram_enabled = false;

	switch( m_cart_rom_size )
	{
	case 0:
	case 0x2000:
		m_bank0->set_base( m_cart_rom );
		m_bank1->set_base( m_cart_rom );
		m_bank2->set_base( m_cart_rom );
		m_bank3->set_base( m_cart_rom );
		m_bank4->set_base( m_cart_rom + 0x1000 );
		break;
	case 0x4000:
		m_bank0->set_base( m_cart_rom );
		m_bank1->set_base( m_cart_rom + 0x2000 );
		m_bank2->set_base( m_cart_rom );
		m_bank3->set_base( m_cart_rom + 0x2000 );
		m_bank4->set_base( m_cart_rom + 0x3000 );
		break;
	case 0x8000:
		m_bank0->set_base( m_cart_rom );
		m_bank1->set_base( m_cart_rom + 0x2000 );
		m_bank2->set_base( m_cart_rom + 0x4000 );
		m_bank3->set_base( m_cart_rom + 0x6000 );
		m_bank4->set_base( m_cart_rom + 0x7000 );
		break;
	case 0x10000:
		m_bank0->set_base( m_cart_rom + ( ( m_portc & 0x20 ) ? 0x8000 : 0 ) );
		m_bank1->set_base( m_cart_rom + ( ( m_portc & 0x20 ) ? 0xa000 : 0x2000 ) );
		m_bank2->set_base( m_cart_rom + ( ( m_portc & 0x20 ) ? 0xc000 : 0x4000 ) );
		m_bank3->set_base( m_cart_rom + ( ( m_portc & 0x20 ) ? 0xe000 : 0x6000 ) );
		m_bank4->set_base( m_cart_rom + ( ( m_portc & 0x20 ) ? 0xf000 : 0x7000 ) );
		break;
	case 0x20000:   /* Pole Position 2 */
		int base = ( ( m_portc >> 5 ) & 0x03 ) * 0x8000 ;
		m_bank0->set_base( m_cart_rom + base + 0 );
		m_bank1->set_base( m_cart_rom + base + 0x2000 );
		m_bank2->set_base( m_cart_rom + base + 0x4000 );
		m_bank3->set_base( m_cart_rom + base + 0x6000 );
		m_bank4->set_base( m_cart_rom + base + 0x7000 );
		/* On-cart RAM is enabled when PC6 is high */
		if ( m_cart_ram && m_portc & 0x40 )
		{
			m_cart_ram_enabled = true;
			m_bank4->set_base( m_cart_ram );
		}
		break;
	}

	/* Check if cartridge RAM is available and should be enabled */
	if ( m_cart_rom_size < 0x20000 && m_cart_ram && m_cart_ram_size && ( m_portc & 0x20 ) )
	{
		if ( m_cart_ram_size == 0x1000 )
		{
			m_bank4->set_base( m_cart_ram );
		}
		else
		{
			m_bank3->set_base( m_cart_ram );
			m_bank4->set_base( m_cart_ram + 0x1000 );
		}
		m_cart_ram_enabled = true;
	}

}
开发者ID:Ilgrim,项目名称:MAMEHub,代码行数:67,代码来源:scv.c

示例6: sfkick_remap_banks

void sfkick_state::sfkick_remap_banks()
{
	/* 0000-3fff */
	switch(m_bank_cfg&3)
	{
		case 0: /* bios */
		{
			UINT8 *mem = m_region_bios->base();
			m_bank1->set_base(mem);
			m_bank2->set_base(mem+0x2000);
		}
		break;

		case 1: /* ext rom */
		{
			UINT8 *mem = m_region_extrom->base();
			m_bank1->set_base(mem+0x4000);
			m_bank2->set_base(mem+0x6000);
		}
		break;

		case 2: /* banked */
		{
			UINT8 *mem = m_region_banked->base();
			m_bank1->set_base(mem+0x2000*m_bank[0]);
			m_bank2->set_base(mem+0x2000*m_bank[1]);
		}
		break;

		case 3: /* unknown */
		{
			UINT8 *mem = m_region_banked->base();
			m_bank1->set_base(mem+0x18000);
			m_bank2->set_base(mem+0x18000);
		}
		break;
	}

	/* 4000-7fff */
	switch((m_bank_cfg>>2)&3)
	{
		case 0: /* bios - upper part */
		{
			UINT8 *mem = m_region_bios->base();
			m_bank3->set_base(mem+0x4000);
			m_bank4->set_base(mem+0x6000);
		}
		break;

		case 1:  /* unknown */
		case 3:
		{
			UINT8 *mem = m_region_banked->base();
			m_bank3->set_base(mem+0x18000);
			m_bank4->set_base(mem+0x18000);
		}
		break;

		case 2: /* banked */
		{
			UINT8 *mem = m_region_banked->base();
			m_bank3->set_base(mem+0x2000*m_bank[2]);
			m_bank4->set_base(mem+0x2000*m_bank[3]);
		}
		break;
	}

	/* 8000-bfff */
	switch((m_bank_cfg>>4)&3)
	{
		case 0: /* cartridge */
		{
			UINT8 *mem = m_region_cartridge->base();
			m_bank5->set_base(mem+0x4000);
			m_bank6->set_base(mem+0x6000);
		}
		break;

		case 1: /* unknown */
		case 3:
		{
			UINT8 *mem = m_region_banked->base();
			m_bank5->set_base(mem+0x18000);
			m_bank6->set_base(mem+0x18000);
		}
		break;

		case 2: /* banked */
		{
			UINT8 *mem = m_region_banked->base();
			m_bank5->set_base(mem+0x2000*m_bank[4]);
			m_bank6->set_base(mem+0x2000*m_bank[5]);
		}
		break;
	}

	/* c000-ffff */
	switch((m_bank_cfg>>6)&3)
	{
		case 0: /* unknown */
//.........这里部分代码省略.........
开发者ID:h0tw1r3,项目名称:mameuifx,代码行数:101,代码来源:sfkick.cpp


注:本文中的required_memory_bank::set_base方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。