void lviv_state::lviv_setup_snapshot(uint8_t * data) { unsigned char lo,hi; /* Set registers */ lo = data[0x14112] & 0x0ff; hi = data[0x14111] & 0x0ff; m_maincpu->set_state_int(i8080_cpu_device::I8085_BC, (hi << 8) | lo); lo = data[0x14114] & 0x0ff; hi = data[0x14113] & 0x0ff; m_maincpu->set_state_int(i8080_cpu_device::I8085_DE, (hi << 8) | lo); lo = data[0x14116] & 0x0ff; hi = data[0x14115] & 0x0ff; m_maincpu->set_state_int(i8080_cpu_device::I8085_HL, (hi << 8) | lo); lo = data[0x14118] & 0x0ff; hi = data[0x14117] & 0x0ff; m_maincpu->set_state_int(i8080_cpu_device::I8085_AF, (hi << 8) | lo); lo = data[0x14119] & 0x0ff; hi = data[0x1411a] & 0x0ff; m_maincpu->set_state_int(i8080_cpu_device::I8085_SP, (hi << 8) | lo); lo = data[0x1411b] & 0x0ff; hi = data[0x1411c] & 0x0ff; m_maincpu->set_state_int(i8080_cpu_device::I8085_PC, (hi << 8) | lo); /* Memory dump */ memcpy (m_ram->pointer(), data+0x0011, 0xc000); memcpy (m_ram->pointer()+0xc000, data+0x10011, 0x4000); /* Ports */ m_ppi_port_outputs[0][0] = data[0x14011+0xc0]; m_ppi_port_outputs[0][1] = data[0x14011+0xc1]; lviv_update_palette(m_ppi_port_outputs[0][1]&0x7f); m_ppi_port_outputs[0][2] = data[0x14011+0xc2]; lviv_update_memory(); }
static void lviv_setup_snapshot (UINT8 * data) { unsigned char lo,hi; /* Set registers */ lo = data[0x14112] & 0x0ff; hi = data[0x14111] & 0x0ff; cpunum_set_reg(0, I8080_BC, (hi << 8) | lo); lo = data[0x14114] & 0x0ff; hi = data[0x14113] & 0x0ff; cpunum_set_reg(0, I8080_DE, (hi << 8) | lo); lo = data[0x14116] & 0x0ff; hi = data[0x14115] & 0x0ff; cpunum_set_reg(0, I8080_HL, (hi << 8) | lo); lo = data[0x14118] & 0x0ff; hi = data[0x14117] & 0x0ff; cpunum_set_reg(0, I8080_AF, (hi << 8) | lo); lo = data[0x14119] & 0x0ff; hi = data[0x1411a] & 0x0ff; cpunum_set_reg(0, I8080_SP, (hi << 8) | lo); lo = data[0x1411b] & 0x0ff; hi = data[0x1411c] & 0x0ff; cpunum_set_reg(0, I8080_PC, (hi << 8) | lo); /* Memory dump */ memcpy (mess_ram, data+0x0011, 0xc000); memcpy (mess_ram+0xc000, data+0x10011, 0x4000); /* Ports */ lviv_ppi_port_outputs[0][0] = data[0x14011+0xc0]; lviv_ppi_port_outputs[0][1] = data[0x14011+0xc1]; lviv_update_palette (lviv_ppi_port_outputs[0][1]&0x7f); lviv_ppi_port_outputs[0][2] = data[0x14011+0xc2]; lviv_update_memory(); }
static WRITE8_HANDLER ( lviv_ppi_0_portb_w ) { lviv_ppi_port_outputs[0][1] = data; lviv_update_palette (data&0x7f); }