Ejemplo n.º 1
0
void device_rom_interface::interface_pre_start()
{
	m_rom_direct = &space().direct();
	m_bank = nullptr;
	m_cur_bank = -1;
	device().save_item(NAME(m_cur_bank));
	device().save_item(NAME(m_bank_count));
	device().machine().save().register_postload(save_prepost_delegate(FUNC(device_rom_interface::reset_bank), this));

	if(!has_configured_map(0)) {
		memory_region *reg = device().memregion(DEVICE_SELF);
		if(reg)
			set_rom(reg->base(), reg->bytes());
		else {
			UINT32 end = m_rom_config.addr_width() == 32 ? 0xffffffff : (1 << m_rom_config.addr_width()) - 1;
			space().unmap_read(0, end);
		}
	}
}
Ejemplo n.º 2
0
void menu_process(void)
{
	int k;

	// Z80-Bus request
//	MZ_Brequest();
	do {
		k=menu(0,0,0);	// Root menu
		switch(k){
			case 0:
				if(view_inventory()==999) continue;
				break;
			case 3:
				direct_load();
				break;
			case 7:
				sd_mount();
				tname[0]='\0'; dname[0][0]='\0'; dname[1][0]='\0';
				break;
			case 10:
				if(tname[0]!='\0'){	// if tape file is not empty
					tape_unmount();
				}
				tape_mount();
				break;
			case 11:
			case 12:
				fd_mount(k);
				break;
			case 20:
				tape_unmount();
				break;
			case 21:
			case 22:
				fd_unmount(k);
				break;
			case 40:
			case 41:
			case 42:
			case 43:
			case 44:
			case 45:
			case 46:
			case 47:
			case 48:
				set_rom(k);
				if(view_inventory()==999) continue;
				fname[0]='\0';
				break;
			case 50:
			case 51:
			case 52:
			case 53:
			case 54:
			case 55:
			case 56:
			case 57:
			case 58:
				clear_rom(k);
				if(view_inventory()==999) continue;
				break;
			case 60:
			case 61:
			default:
				break;
		}
		break;
	}while(1);
	keybuf_clear();

	// Z80-Bus release
//	MZ_Brelease();
}