示例#1
0
void cs4031_device::config_data_w(uint8_t data)
{
	if (m_address_valid)
	{
		LOGREGISTER("cs4031_device: write %s = %02x\n", m_register_names[m_address], data);

		// update register with new data
		m_registers[m_address] = data;

		// execute command
		switch (m_address)
		{
		case DMA_WAIT_STATE:
			update_dma_clock();
			break;

		case 0x05: break;
		case 0x06: break;
		case 0x07: break;
		case 0x08: break;
		case 0x09: break;

		case DMA_CLOCK:
			update_dma_clock();
			break;

		case 0x10: break;
		case 0x11: break;
		case 0x12: break;
		case 0x13: break;
		case 0x14: break;
		case 0x15: break;
		case 0x16: break;
		case 0x17: break;
		case 0x18: break;

		case SHADOW_READ:
			update_read_regions();
			break;

		case SHADOW_WRITE:
			update_write_regions();
			break;

		case ROMCS:
			update_read_regions();
			update_write_regions();
			break;

		case SOFT_RESET_AND_GATEA20:
			update_a20m();
			break;
		}
	}

	// after a write the selected address needs to be reset
	m_address_valid = false;
}
示例#2
0
void cs4031_device::device_reset()
{
    // setup default values
    memset(&m_registers, 0x00, sizeof(m_registers));
    m_registers[ROMCS] = 0x60;

    // update rom/ram regions below 1mb
    update_read_regions();
    update_write_regions();
}
示例#3
0
文件: cs4031.cpp 项目: system11b/mame
void cs4031_device::device_reset()
{
	// setup default values
	memset(&m_registers, 0x00, sizeof(m_registers));
	m_registers[ROMCS] = 0x60;

	// update rom/ram regions below 1mb
	update_read_regions();
	update_write_regions();

	// initialize dma controller clocks
	update_dma_clock();
}