diff options
40 files changed, 170 insertions, 204 deletions
diff --git a/src/mess/drivers/ace.c b/src/mess/drivers/ace.c index 5e94fc6f7e6..4782237bdb4 100644 --- a/src/mess/drivers/ace.c +++ b/src/mess/drivers/ace.c @@ -76,7 +76,7 @@ SNAPSHOT_LOAD_MEMBER( ace_state, ace ) unsigned char ace_repeat, ace_byte, loop; int done=0, ace_index=0x2000; - if (image.device().machine().device<ram_device>(RAM_TAG)->size() < 16*1024) + if (machine().device<ram_device>(RAM_TAG)->size() < 16*1024) { image.seterror(IMAGE_ERROR_INVALIDIMAGE, "At least 16KB RAM expansion required"); image.message("At least 16KB RAM expansion required"); diff --git a/src/mess/drivers/altair.c b/src/mess/drivers/altair.c index 6fbc4ff5402..58b13cb9e91 100644 --- a/src/mess/drivers/altair.c +++ b/src/mess/drivers/altair.c @@ -89,13 +89,12 @@ INPUT_PORTS_END QUICKLOAD_LOAD_MEMBER( altair_state,altair) { - altair_state *state = image.device().machine().driver_data<altair_state>(); int quick_length; int read_; quick_length = image.length(); if (quick_length >= 0xfd00) return IMAGE_INIT_FAIL; - read_ = image.fread(state->m_ram, quick_length); + read_ = image.fread(m_ram, quick_length); if (read_ != quick_length) return IMAGE_INIT_FAIL; diff --git a/src/mess/drivers/avigo.c b/src/mess/drivers/avigo.c index fbf297670a9..d64f141b483 100644 --- a/src/mess/drivers/avigo.c +++ b/src/mess/drivers/avigo.c @@ -825,9 +825,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(avigo_state::avigo_1hz_timer) QUICKLOAD_LOAD_MEMBER( avigo_state,avigo) { - avigo_state *state = image.device().machine().driver_data<avigo_state>(); - address_space& flash1 = state->m_flashes[1]->space(0); - const char *systemname = image.device().machine().system().name; + address_space& flash1 = m_flashes[1]->space(0); + const char *systemname = machine().system().name; UINT32 first_app_page = (0x50000>>14); int app_page; @@ -859,14 +858,14 @@ QUICKLOAD_LOAD_MEMBER( avigo_state,avigo) logerror("Application loaded at 0x%05x-0x%05x\n", app_page<<14, (app_page<<14) + (UINT32)image.length()); // copy app file into flash memory - image.fread((UINT8*)state->m_flashes[1]->space().get_read_ptr(app_page<<14), image.length()); + image.fread((UINT8*)m_flashes[1]->space().get_read_ptr(app_page<<14), image.length()); // update the application ID flash1.write_byte((app_page<<14) + 0x1a5, 0x80 + (app_page - (first_app_page>>14))); // reset the CPU for allow at the Avigo OS to recognize the installed app - state->m_warm_start = 1; - state->m_maincpu->reset(); + m_warm_start = 1; + m_maincpu->reset(); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/binbug.c b/src/mess/drivers/binbug.c index 2e40a6d7a60..c5de8039690 100644 --- a/src/mess/drivers/binbug.c +++ b/src/mess/drivers/binbug.c @@ -220,7 +220,7 @@ GFXDECODE_END QUICKLOAD_LOAD_MEMBER( binbug_state, binbug ) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); int i; int quick_addr = 0x0440; int exec_addr; @@ -284,7 +284,7 @@ QUICKLOAD_LOAD_MEMBER( binbug_state, binbug ) image.message(" Quickload: size=%04X : exec=%04X",quick_length,exec_addr); // Start the quickload - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/cd2650.c b/src/mess/drivers/cd2650.c index 98141166b0d..b366a6c4b26 100644 --- a/src/mess/drivers/cd2650.c +++ b/src/mess/drivers/cd2650.c @@ -167,7 +167,7 @@ static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) QUICKLOAD_LOAD_MEMBER( cd2650_state, cd2650 ) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); int i; int quick_addr = 0x440; int exec_addr; @@ -245,7 +245,7 @@ QUICKLOAD_LOAD_MEMBER( cd2650_state, cd2650 ) image.message(" Quickload: size=%04X : exec=%04X",quick_length,exec_addr); // Start the quickload - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/comx35.c b/src/mess/drivers/comx35.c index d8874d5de17..af5a273f4e1 100644 --- a/src/mess/drivers/comx35.c +++ b/src/mess/drivers/comx35.c @@ -55,7 +55,7 @@ QUICKLOAD_LOAD_MEMBER( comx35_state, comx35_comx ) UINT8 header[16] = {0}; int size = image.length(); - if (size > image.device().machine().device<ram_device>(RAM_TAG)->size()) + if (size > machine().device<ram_device>(RAM_TAG)->size()) { return IMAGE_INIT_FAIL; } diff --git a/src/mess/drivers/cosmicos.c b/src/mess/drivers/cosmicos.c index 57c12222717..20d81c2b4c7 100644 --- a/src/mess/drivers/cosmicos.c +++ b/src/mess/drivers/cosmicos.c @@ -533,8 +533,7 @@ void cosmicos_state::machine_reset() QUICKLOAD_LOAD_MEMBER( cosmicos_state, cosmicos ) { - cosmicos_state *state = image.device().machine().driver_data<cosmicos_state>(); - UINT8 *ptr = state->m_rom->base(); + UINT8 *ptr = m_rom->base(); int size = image.length(); /* load image to RAM */ diff --git a/src/mess/drivers/d6800.c b/src/mess/drivers/d6800.c index 0b4826d62b1..b559addce0d 100644 --- a/src/mess/drivers/d6800.c +++ b/src/mess/drivers/d6800.c @@ -336,7 +336,7 @@ static const cassette_interface d6800_cassette_interface = QUICKLOAD_LOAD_MEMBER( d6800_state, d6800 ) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); int i; int quick_addr = 0x0200; int exec_addr = 0xc000; @@ -369,7 +369,7 @@ QUICKLOAD_LOAD_MEMBER( d6800_state, d6800 ) image.message(" Quickload: size=%04X : start=%04X : end=%04X : exec=%04X",quick_length,quick_addr,quick_addr+quick_length,exec_addr); // Start the quickload - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/elf.c b/src/mess/drivers/elf.c index 1f9a1e16c58..d11b073be08 100644 --- a/src/mess/drivers/elf.c +++ b/src/mess/drivers/elf.c @@ -279,16 +279,14 @@ static DM9368_INTERFACE( led_l_intf ) QUICKLOAD_LOAD_MEMBER( elf2_state, elf ) { - elf2_state *state = image.device().machine().driver_data<elf2_state>(); - int size = image.length(); - if (size > state->m_ram->size()) + if (size > m_ram->size()) { return IMAGE_INIT_FAIL; } - image.fread(state->m_ram->pointer(), size); + image.fread(m_ram->pointer(), size); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/homelab.c b/src/mess/drivers/homelab.c index 0cffb0586d3..fe1066587c0 100644 --- a/src/mess/drivers/homelab.c +++ b/src/mess/drivers/homelab.c @@ -644,7 +644,7 @@ static const mea8000_interface brailab4_speech_intf = { "speech", DEVCB_NULL }; QUICKLOAD_LOAD_MEMBER( homelab_state,homelab) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); int i=0; UINT8 ch; UINT16 quick_addr; diff --git a/src/mess/drivers/instruct.c b/src/mess/drivers/instruct.c index 22214616d31..06fa3c071f2 100644 --- a/src/mess/drivers/instruct.c +++ b/src/mess/drivers/instruct.c @@ -219,7 +219,7 @@ void instruct_state::machine_reset() QUICKLOAD_LOAD_MEMBER( instruct_state, instruct ) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); int i; int quick_addr = 0x0100; int exec_addr; @@ -283,7 +283,7 @@ QUICKLOAD_LOAD_MEMBER( instruct_state, instruct ) image.message(" Quickload: size=%04X : exec=%04X",quick_length,exec_addr); // Start the quickload - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/jr100.c b/src/mess/drivers/jr100.c index 40742e31eca..04d3edff611 100644 --- a/src/mess/drivers/jr100.c +++ b/src/mess/drivers/jr100.c @@ -340,7 +340,6 @@ UINT32 jr100_state::readByLittleEndian(UINT8 *buf,int pos) QUICKLOAD_LOAD_MEMBER( jr100_state,jr100) { - jr100_state *state = image.device().machine().driver_data<jr100_state>(); int quick_length; UINT8 buf[0x10000]; int read_; @@ -356,32 +355,32 @@ QUICKLOAD_LOAD_MEMBER( jr100_state,jr100) return IMAGE_INIT_FAIL; } int pos = 4; - if (state->readByLittleEndian(buf,pos)!=1) { + if (readByLittleEndian(buf,pos)!=1) { // not version 1 of PRG file return IMAGE_INIT_FAIL; } pos += 4; - UINT32 len =state->readByLittleEndian(buf,pos); pos+= 4; + UINT32 len =readByLittleEndian(buf,pos); pos+= 4; pos += len; // skip name - UINT32 start_address = state->readByLittleEndian(buf,pos); pos+= 4; - UINT32 code_length = state->readByLittleEndian(buf,pos); pos+= 4; - UINT32 flag = state->readByLittleEndian(buf,pos); pos+= 4; + UINT32 start_address = readByLittleEndian(buf,pos); pos+= 4; + UINT32 code_length = readByLittleEndian(buf,pos); pos+= 4; + UINT32 flag = readByLittleEndian(buf,pos); pos+= 4; UINT32 end_address = start_address + code_length - 1; // copy code - memcpy(state->m_ram + start_address,buf + pos,code_length); + memcpy(m_ram + start_address,buf + pos,code_length); if (flag == 0) { - state->m_ram[end_address + 1] = 0xdf; - state->m_ram[end_address + 2] = 0xdf; - state->m_ram[end_address + 3] = 0xdf; - state->m_ram[6 ] = (end_address >> 8 & 0xFF); - state->m_ram[7 ] = (end_address & 0xFF); - state->m_ram[8 ] = ((end_address + 1) >> 8 & 0xFF); - state->m_ram[9 ] = ((end_address + 1) & 0xFF); - state->m_ram[10] = ((end_address + 2) >> 8 & 0xFF); - state->m_ram[11] = ((end_address + 2) & 0xFF); - state->m_ram[12] = ((end_address + 3) >> 8 & 0xFF); - state->m_ram[13] = ((end_address + 3) & 0xFF); + m_ram[end_address + 1] = 0xdf; + m_ram[end_address + 2] = 0xdf; + m_ram[end_address + 3] = 0xdf; + m_ram[6 ] = (end_address >> 8 & 0xFF); + m_ram[7 ] = (end_address & 0xFF); + m_ram[8 ] = ((end_address + 1) >> 8 & 0xFF); + m_ram[9 ] = ((end_address + 1) & 0xFF); + m_ram[10] = ((end_address + 2) >> 8 & 0xFF); + m_ram[11] = ((end_address + 2) & 0xFF); + m_ram[12] = ((end_address + 3) >> 8 & 0xFF); + m_ram[13] = ((end_address + 3) & 0xFF); } return IMAGE_INIT_PASS; diff --git a/src/mess/drivers/lynx.c b/src/mess/drivers/lynx.c index 204ec5b443c..8d3504f427a 100644 --- a/src/mess/drivers/lynx.c +++ b/src/mess/drivers/lynx.c @@ -135,10 +135,9 @@ ROM_END QUICKLOAD_LOAD_MEMBER( lynx_state, lynx ) { - lynx_state *state = image.device().machine().driver_data<lynx_state>(); - address_space &space = state->m_maincpu->space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); UINT8 *data = NULL; - UINT8 *rom = state->memregion("maincpu")->base(); + UINT8 *rom = memregion("maincpu")->base(); UINT8 header[10]; // 80 08 dw Start dw Len B S 9 3 UINT16 start, length; int i; @@ -147,7 +146,7 @@ QUICKLOAD_LOAD_MEMBER( lynx_state, lynx ) return IMAGE_INIT_FAIL; /* Check the image */ - if (state->lynx_verify_cart((char*)header, LYNX_QUICKLOAD) == IMAGE_VERIFY_FAIL) + if (lynx_verify_cart((char*)header, LYNX_QUICKLOAD) == IMAGE_VERIFY_FAIL) return IMAGE_INIT_FAIL; start = header[3] | (header[2]<<8); //! big endian format in file format for little endian cpu @@ -172,7 +171,7 @@ QUICKLOAD_LOAD_MEMBER( lynx_state, lynx ) space.write_byte(0x1fc, start & 0xff); space.write_byte(0x1fd, start >> 8); - state->m_maincpu->set_pc(start); + m_maincpu->set_pc(start); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/pipbug.c b/src/mess/drivers/pipbug.c index 226178082ed..1f6c3483d32 100644 --- a/src/mess/drivers/pipbug.c +++ b/src/mess/drivers/pipbug.c @@ -95,7 +95,7 @@ static const serial_terminal_interface terminal_intf = QUICKLOAD_LOAD_MEMBER( pipbug_state, pipbug ) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); int i; int quick_addr = 0x0440; int exec_addr; @@ -159,7 +159,7 @@ QUICKLOAD_LOAD_MEMBER( pipbug_state, pipbug ) image.message(" Quickload: size=%04X : exec=%04X",quick_length,exec_addr); // Start the quickload - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/psx.c b/src/mess/drivers/psx.c index 957998b8222..853dc69d943 100644 --- a/src/mess/drivers/psx.c +++ b/src/mess/drivers/psx.c @@ -451,23 +451,22 @@ DIRECT_UPDATE_MEMBER(psx1_state::psx_setopbase) QUICKLOAD_LOAD_MEMBER( psx1_state, psx_exe_load ) { - psx1_state *state = image.device().machine().driver_data<psx1_state>(); - address_space &space = state->m_maincpu->space( AS_PROGRAM ); + address_space &space = m_maincpu->space( AS_PROGRAM ); - state->m_exe_size = 0; - state->m_exe_buffer = (UINT8*)malloc( quickload_size ); - if( state->m_exe_buffer == NULL ) + m_exe_size = 0; + m_exe_buffer = (UINT8*)malloc( quickload_size ); + if( m_exe_buffer == NULL ) { logerror( "psx_exe_load: out of memory\n" ); return IMAGE_INIT_FAIL; } - if( image.fread( state->m_exe_buffer, quickload_size ) != quickload_size ) + if( image.fread( m_exe_buffer, quickload_size ) != quickload_size ) { - free( state->m_exe_buffer ); + free( m_exe_buffer ); return IMAGE_INIT_FAIL; } - state->m_exe_size = quickload_size; - space.set_direct_update_handler(direct_update_delegate(FUNC(psx1_state::psx_setopbase), state)); + m_exe_size = quickload_size; + space.set_direct_update_handler(direct_update_delegate(FUNC(psx1_state::psx_setopbase), this)); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/rex6000.c b/src/mess/drivers/rex6000.c index dfd40299054..fce3b02468c 100644 --- a/src/mess/drivers/rex6000.c +++ b/src/mess/drivers/rex6000.c @@ -565,12 +565,11 @@ void rex6000_state::palette_init() QUICKLOAD_LOAD_MEMBER( rex6000_state,rex6000) { static const char magic[] = "ApplicationName:Addin"; - running_machine &machine = image.device().machine(); - address_space& flash = machine.device("flash0b")->memory().space(0); + address_space& flash = machine().device("flash0b")->memory().space(0); UINT32 img_start = 0; UINT8 *data; - data = (UINT8*)auto_alloc_array(machine, UINT8, image.length()); + data = (UINT8*)auto_alloc_array(machine(), UINT8, image.length()); image.fread(data, image.length()); if(strncmp((const char*)data, magic, 21)) @@ -582,7 +581,7 @@ QUICKLOAD_LOAD_MEMBER( rex6000_state,rex6000) for (int i=0; i<image.length() - img_start ;i++) flash.write_byte(i, data[img_start + i]); - auto_free(machine, data); + auto_free(machine(), data); return IMAGE_INIT_PASS; } diff --git a/src/mess/drivers/svmu.c b/src/mess/drivers/svmu.c index e206bfa2854..aa13837bdcc 100644 --- a/src/mess/drivers/svmu.c +++ b/src/mess/drivers/svmu.c @@ -194,10 +194,8 @@ inline void vmufat_write_word(UINT8* flash, UINT8 block, offs_t offset, UINT16 d QUICKLOAD_LOAD_MEMBER( svmu_state, svmu ) { - running_machine &machine = image.device().machine(); - svmu_state *state = machine.driver_data<svmu_state>(); UINT32 size = image.length(); - UINT8 *flash = (UINT8*)state->m_flash->space().get_read_ptr(0); + UINT8 *flash = (UINT8*)m_flash->space().get_read_ptr(0); image.fread(flash, size); diff --git a/src/mess/drivers/tmc1800.c b/src/mess/drivers/tmc1800.c index 75afc90f656..6a6306895a2 100644 --- a/src/mess/drivers/tmc1800.c +++ b/src/mess/drivers/tmc1800.c @@ -768,11 +768,10 @@ static const cassette_interface tmc1800_cassette_interface = QUICKLOAD_LOAD_MEMBER( tmc1800_state, tmc1800 ) { - tmc1800_state *state = image.device().machine().driver_data<tmc1800_state>(); - UINT8 *ptr = state->m_rom->base(); + UINT8 *ptr = m_rom->base(); int size = image.length(); - if (size > state->m_ram->size()) + if (size > m_ram->size()) { return IMAGE_INIT_FAIL; } diff --git a/src/mess/drivers/tvc.c b/src/mess/drivers/tvc.c index fcf04c054f5..ac0f3f7a475 100644 --- a/src/mess/drivers/tvc.c +++ b/src/mess/drivers/tvc.c @@ -615,14 +615,13 @@ WRITE_LINE_MEMBER(tvc_state::tvc_centronics_ack) QUICKLOAD_LOAD_MEMBER( tvc_state,tvc64) { - running_machine &machine = image.device().machine(); UINT8 first_byte; image.fread(&first_byte, 1); if (first_byte == 0x11) { image.fseek(0x90, SEEK_SET); - image.fread(machine.device<ram_device>(RAM_TAG)->pointer() + 0x19ef, image.length() - 0x90); + image.fread(machine().device<ram_device>(RAM_TAG)->pointer() + 0x19ef, image.length() - 0x90); return IMAGE_INIT_PASS; } else diff --git a/src/mess/drivers/vc4000.c b/src/mess/drivers/vc4000.c index a7f776bae68..8f226c100f9 100644 --- a/src/mess/drivers/vc4000.c +++ b/src/mess/drivers/vc4000.c @@ -526,7 +526,7 @@ ROM_END QUICKLOAD_LOAD_MEMBER( vc4000_state,vc4000) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); int i; int quick_addr = 0x08c0; int exec_addr; @@ -574,7 +574,7 @@ QUICKLOAD_LOAD_MEMBER( vc4000_state,vc4000) image.message(" Quickload: size=%04X : start=%04X : end=%04X : exec=%04X",quick_length-5,quick_addr,quick_addr+quick_length-5,exec_addr); // Start the quickload - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); return IMAGE_INIT_PASS; } else @@ -619,7 +619,7 @@ QUICKLOAD_LOAD_MEMBER( vc4000_state,vc4000) image.message(" Quickload: size=%04X : exec=%04X",quick_length,exec_addr); // Start the quickload - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); return IMAGE_INIT_PASS; } else diff --git a/src/mess/drivers/vip.c b/src/mess/drivers/vip.c index 48e4c4769be..1e35511fa8d 100644 --- a/src/mess/drivers/vip.c +++ b/src/mess/drivers/vip.c @@ -717,8 +717,7 @@ void vip_state::machine_reset() QUICKLOAD_LOAD_MEMBER( vip_state, vip ) { - vip_state *state = image.device().machine().driver_data<vip_state>(); - UINT8 *ram = state->m_ram->pointer(); + UINT8 *ram = m_ram->pointer(); UINT8 *chip8_ptr = NULL; int chip8_size = 0; int size = image.length(); @@ -726,17 +725,17 @@ QUICKLOAD_LOAD_MEMBER( vip_state, vip ) if (strcmp(image.filetype(), "c8") == 0) { /* CHIP-8 program */ - chip8_ptr = state->m_chip8->base(); - chip8_size = state->m_chip8->bytes(); + chip8_ptr = m_chip8->base(); + chip8_size = m_chip8->bytes(); } else if (strcmp(image.filename(), "c8x") == 0) { /* CHIP-8X program */ - chip8_ptr = state->m_chip8x->base(); - chip8_size = state->m_chip8x->bytes(); + chip8_ptr = m_chip8x->base(); + chip8_size = m_chip8x->bytes(); } - if ((size + chip8_size) > state->m_ram->size()) + if ((size + chip8_size) > m_ram->size()) { return IMAGE_INIT_FAIL; } diff --git a/src/mess/drivers/vtech1.c b/src/mess/drivers/vtech1.c index dd0c869c8e5..eca0c48d102 100644 --- a/src/mess/drivers/vtech1.c +++ b/src/mess/drivers/vtech1.c @@ -213,8 +213,7 @@ public: SNAPSHOT_LOAD_MEMBER( vtech1_state, vtech1 ) { - vtech1_state *vtech1 = image.device().machine().driver_data<vtech1_state>(); - address_space &space = vtech1->m_maincpu->space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); UINT8 i, header[24]; UINT16 start, end, size; char pgmname[18]; @@ -230,7 +229,7 @@ SNAPSHOT_LOAD_MEMBER( vtech1_state, vtech1 ) size = end - start; /* check if we have enough ram */ - if (vtech1->m_ram_size < size) + if (m_ram_size < size) { char message[256]; snprintf(message, ARRAY_LENGTH(message), "SNAPLOAD: %s\nInsufficient RAM - need %04X",pgmname,size); @@ -240,7 +239,7 @@ SNAPSHOT_LOAD_MEMBER( vtech1_state, vtech1 ) } /* write it to ram */ - image.fread( &vtech1->m_ram[start - 0x7800], size); + image.fread( &m_ram[start - 0x7800], size); /* patch variables depending on snapshot type */ switch (header[21]) @@ -261,7 +260,7 @@ SNAPSHOT_LOAD_MEMBER( vtech1_state, vtech1 ) space.write_byte(0x788e, start % 256); /* usr subroutine address */ space.write_byte(0x788f, start / 256); image.message(" %s (M)\nsize=%04X : start=%04X : end=%04X",pgmname,size,start,end); - image.device().machine().device("maincpu")->state().set_pc(start); /* start program */ + m_maincpu->set_pc(start); /* start program */ break; default: diff --git a/src/mess/drivers/z1013.c b/src/mess/drivers/z1013.c index a5e1f5ebf3e..c1686a7c74a 100644 --- a/src/mess/drivers/z1013.c +++ b/src/mess/drivers/z1013.c @@ -331,7 +331,7 @@ SNAPSHOT_LOAD_MEMBER( z1013_state, z1013 ) 0020 up - Program to load */ - UINT8* data= auto_alloc_array(image.device().machine(), UINT8, snapshot_size); + UINT8* data= auto_alloc_array(machine(), UINT8, snapshot_size); UINT16 startaddr,endaddr,runaddr; image.fread( data, snapshot_size); @@ -349,11 +349,11 @@ SNAPSHOT_LOAD_MEMBER( z1013_state, z1013 ) return IMAGE_INIT_FAIL; } - memcpy (image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).get_read_ptr(startaddr), + memcpy (m_maincpu->space(AS_PROGRAM).get_read_ptr(startaddr), data+0x20, endaddr - startaddr + 1); if (runaddr) - image.device().machine().device("maincpu")->state().set_state_int(Z80_PC, runaddr); + m_maincpu->set_state_int(Z80_PC, runaddr); else { image.seterror(IMAGE_ERROR_INVALIDIMAGE, "Loaded but cannot run"); diff --git a/src/mess/machine/amstrad.c b/src/mess/machine/amstrad.c index 450fea311e4..295f222bc58 100644 --- a/src/mess/machine/amstrad.c +++ b/src/mess/machine/amstrad.c @@ -3114,7 +3114,7 @@ SNAPSHOT_LOAD_MEMBER( amstrad_state,amstrad) return IMAGE_INIT_FAIL; } - image.device().machine().driver_data<amstrad_state>()->amstrad_handle_snapshot(snapshot); + amstrad_handle_snapshot(snapshot); free(snapshot); return IMAGE_INIT_PASS; } diff --git a/src/mess/machine/apple1.c b/src/mess/machine/apple1.c index a6ce16d2ba2..804099afc7c 100644 --- a/src/mess/machine/apple1.c +++ b/src/mess/machine/apple1.c @@ -205,7 +205,6 @@ int apple1_state::apple1_verify_header (UINT8 *data) *****************************************************************************/ SNAPSHOT_LOAD_MEMBER( apple1_state,apple1) { - apple1_state *state = image.device().machine().driver_data<apple1_state>(); UINT64 filesize, datasize; UINT8 *snapbuf, *snapptr; UINT16 start_addr, end_addr, addr; @@ -220,7 +219,7 @@ SNAPSHOT_LOAD_MEMBER( apple1_state,apple1) return IMAGE_INIT_FAIL; /* Verify the snapshot header */ - if (state->apple1_verify_header(snapbuf) == IMAGE_VERIFY_FAIL) + if (apple1_verify_header(snapbuf) == IMAGE_VERIFY_FAIL) { logerror("apple1 - Snapshot Header is in incorrect format - needs to be LOAD:xxyyDATA:\n"); return IMAGE_INIT_FAIL; @@ -234,7 +233,7 @@ SNAPSHOT_LOAD_MEMBER( apple1_state,apple1) end_addr = start_addr + datasize - 1; - if ((start_addr < 0xE000 && end_addr > image.device().machine().device<ram_device>(RAM_TAG)->size() - 1) + if ((start_addr < 0xE000 && end_addr > machine().device<ram_device>(RAM_TAG)->size() - 1) || end_addr > 0xEFFF) { logerror("apple1 - Snapshot won't fit in this memory configuration;\n" @@ -246,7 +245,7 @@ SNAPSHOT_LOAD_MEMBER( apple1_state,apple1) for (addr = start_addr, snapptr = snapbuf + SNAP_HEADER_LEN; addr <= end_addr; addr++, snapptr++) - state->m_maincpu->space(AS_PROGRAM).write_byte(addr, *snapptr); + m_maincpu->space(AS_PROGRAM).write_byte(addr, *snapptr); return IMAGE_INIT_PASS; diff --git a/src/mess/machine/cybiko.c b/src/mess/machine/cybiko.c index 63de668dc3e..7e41af8d7f6 100644 --- a/src/mess/machine/cybiko.c +++ b/src/mess/machine/cybiko.c @@ -36,19 +36,14 @@ DRIVER_INIT_MEMBER(cybiko_state,cybikoxt) QUICKLOAD_LOAD_MEMBER( cybiko_state, cybiko ) { - running_machine &machine = image.device().machine(); - cybiko_state *state = machine.driver_data<cybiko_state>(); - - image.fread(state->m_flash1->get_ptr(), MIN(image.length(), 0x84000)); + image.fread(m_flash1->get_ptr(), MIN(image.length(), 0x84000)); return IMAGE_INIT_PASS; } QUICKLOAD_LOAD_MEMBER( cybiko_state, cybikoxt ) { - running_machine &machine = image.device().machine(); - cybiko_state *state = machine.driver_data<cybiko_state>(); - address_space &dest = state->m_maincpu->space(AS_PROGRAM); + address_space &dest = m_maincpu->space(AS_PROGRAM); UINT32 size = MIN(image.length(), RAMDISK_SIZE); UINT8 *buffer = global_alloc_array(UINT8, size); diff --git a/src/mess/machine/galaxy.c b/src/mess/machine/galaxy.c index 20ec09434ba..83ce925e710 100644 --- a/src/mess/machine/galaxy.c +++ b/src/mess/machine/galaxy.c @@ -125,12 +125,11 @@ SNAPSHOT_LOAD_MEMBER( galaxy_state, galaxy ) { UINT8* snapshot_data; - galaxy_state *state = image.device().machine().driver_data<galaxy_state>(); switch (snapshot_size) { case GALAXY_SNAPSHOT_V1_SIZE: case GALAXY_SNAPSHOT_V2_SIZE: - snapshot_data = auto_alloc_array(image.device().machine(), UINT8, snapshot_size); + snapshot_data = auto_alloc_array(machine(), UINT8, snapshot_size); break; default: return IMAGE_INIT_FAIL; @@ -138,7 +137,7 @@ SNAPSHOT_LOAD_MEMBER( galaxy_state, galaxy ) image.fread( snapshot_data, snapshot_size); - state->galaxy_setup_snapshot(snapshot_data, snapshot_size); + galaxy_setup_snapshot(snapshot_data, snapshot_size); return IMAGE_INIT_PASS; } diff --git a/src/mess/machine/kaypro.c b/src/mess/machine/kaypro.c index 989757eef69..0dddadd7766 100644 --- a/src/mess/machine/kaypro.c +++ b/src/mess/machine/kaypro.c @@ -345,9 +345,8 @@ MACHINE_RESET_MEMBER(kaypro_state,kaypro2x) QUICKLOAD_LOAD_MEMBER( kaypro_state, kayproii ) { - kaypro_state *state = image.device().machine().driver_data<kaypro_state>(); - address_space &space = state->m_maincpu->space(AS_PROGRAM); - UINT8 *RAM = state->memregion("rambank")->base(); + address_space &space = m_maincpu->space(AS_PROGRAM); + UINT8 *RAM = memregion("rambank")->base(); UINT16 i; UINT8 data; @@ -359,18 +358,17 @@ QUICKLOAD_LOAD_MEMBER( kaypro_state, kayproii ) RAM[i+0x100] = data; } - state->common_pio_system_w(space, 0, state->m_system_port & 0x7f); // switch TPA in + common_pio_system_w(space, 0, m_system_port & 0x7f); // switch TPA in RAM[0x80]=0; // clear out command tail RAM[0x81]=0; - state->m_maincpu->set_pc(0x100); // start program + m_maincpu->set_pc(0x100); // start program return IMAGE_INIT_PASS; } QUICKLOAD_LOAD_MEMBER( kaypro_state, kaypro2x ) { - kaypro_state *state = image.device().machine().driver_data<kaypro_state>(); - address_space &space = state->m_maincpu->space(AS_PROGRAM); - UINT8 *RAM = state->memregion("rambank")->base(); + address_space &space = m_maincpu->space(AS_PROGRAM); + UINT8 *RAM = memregion("rambank")->base(); UINT16 i; UINT8 data; @@ -381,9 +379,9 @@ QUICKLOAD_LOAD_MEMBER( kaypro_state, kaypro2x ) RAM[i+0x100] = data; } - state->kaypro2x_system_port_w(space, 0, state->m_system_port & 0x7f); + kaypro2x_system_port_w(space, 0, m_system_port & 0x7f); RAM[0x80]=0; RAM[0x81]=0; - state->m_maincpu->set_pc(0x100); + m_maincpu->set_pc(0x100); return IMAGE_INIT_PASS; } diff --git a/src/mess/machine/kc.c b/src/mess/machine/kc.c index b9dc221a0a2..90433d8d54a 100644 --- a/src/mess/machine/kc.c +++ b/src/mess/machine/kc.c @@ -26,7 +26,6 @@ struct kcc_header /* load snapshot */ QUICKLOAD_LOAD_MEMBER( kc_state,kc) { - kc_state *state = image.device().machine().driver_data<kc_state>(); UINT8 *data; struct kcc_header *header; int addr; @@ -40,7 +39,7 @@ QUICKLOAD_LOAD_MEMBER( kc_state,kc) if (datasize != 0) { /* malloc memory for this data */ - data = (UINT8 *)auto_alloc_array(image.device().machine(), UINT8, datasize); + data = (UINT8 *)auto_alloc_array(machine(), UINT8, datasize); if (data != NULL) image.fread( data, datasize); @@ -61,7 +60,7 @@ QUICKLOAD_LOAD_MEMBER( kc_state,kc) datasize = image.length() - 128; } - address_space &space = state->m_maincpu->space( AS_PROGRAM ); + address_space &space = m_maincpu->space( AS_PROGRAM ); for (i=0; i<datasize; i++) space.write_byte((addr+i) & 0xffff, data[i+128]); @@ -69,10 +68,10 @@ QUICKLOAD_LOAD_MEMBER( kc_state,kc) if (execution_address != 0 && header->number_addresses >= 3 ) { // if specified, jumps to the quickload start address - state->m_maincpu->set_pc(execution_address); + m_maincpu->set_pc(execution_address); } - auto_free(image.device().machine(), data); + auto_free(machine(), data); logerror("Snapshot loaded at: 0x%04x-0x%04x, execution address: 0x%04x\n", addr, addr + datasize - 1, execution_address); diff --git a/src/mess/machine/lviv.c b/src/mess/machine/lviv.c index af3575d556f..dff973c498d 100644 --- a/src/mess/machine/lviv.c +++ b/src/mess/machine/lviv.c @@ -331,7 +331,6 @@ int lviv_state::lviv_verify_snapshot (UINT8 * data, UINT32 size) SNAPSHOT_LOAD_MEMBER( lviv_state, lviv ) { UINT8 *lviv_snapshot_data; - lviv_state *state = image.device().machine().driver_data<lviv_state>(); lviv_snapshot_data = (UINT8*)malloc(LVIV_SNAPSHOT_SIZE); if (!lviv_snapshot_data) @@ -342,15 +341,15 @@ SNAPSHOT_LOAD_MEMBER( lviv_state, lviv ) image.fread( lviv_snapshot_data, LVIV_SNAPSHOT_SIZE); - if(state->lviv_verify_snapshot(lviv_snapshot_data, snapshot_size) == IMAGE_VERIFY_FAIL) + if(lviv_verify_snapshot(lviv_snapshot_data, snapshot_size) == IMAGE_VERIFY_FAIL) { free(lviv_snapshot_data); return IMAGE_INIT_FAIL; } - state->lviv_setup_snapshot (lviv_snapshot_data); + lviv_setup_snapshot (lviv_snapshot_data); - state->dump_registers(); + dump_registers(); free(lviv_snapshot_data); diff --git a/src/mess/machine/mbee.c b/src/mess/machine/mbee.c index ff05ea4bc4f..0661b63c8cb 100644 --- a/src/mess/machine/mbee.c +++ b/src/mess/machine/mbee.c @@ -752,10 +752,9 @@ DRIVER_INIT_MEMBER(mbee_state,mbeett) QUICKLOAD_LOAD_MEMBER( mbee_state, mbee ) { - mbee_state *state = image.device().machine().driver_data<mbee_state>(); - address_space &space = state->m_maincpu->space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); UINT16 i, j; - UINT8 data, sw = state->ioport("CONFIG")->read() & 1; /* reading the dipswitch: 1 = autorun */ + UINT8 data, sw = ioport("CONFIG")->read() & 1; /* reading the dipswitch: 1 = autorun */ if (!mame_stricmp(image.filetype(), "mwb")) { @@ -770,7 +769,7 @@ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee ) return IMAGE_INIT_FAIL; } - if ((j < state->m_size) || (j > 0xefff)) + if ((j < m_size) || (j > 0xefff)) space.write_byte(j, data); else { @@ -782,7 +781,7 @@ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee ) if (sw) { space.write_word(0xa2,0x801e); /* fix warm-start vector to get around some copy-protections */ - state->m_maincpu->set_pc(0x801e); + m_maincpu->set_pc(0x801e); } else space.write_word(0xa2,0x8517); @@ -800,7 +799,7 @@ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee ) return IMAGE_INIT_FAIL; } - if ((j < state->m_size) || (j > 0xefff)) + if ((j < m_size) || (j > 0xefff)) space.write_byte(j, data); else { @@ -809,7 +808,7 @@ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee ) } } - if (sw) state->m_maincpu->set_pc(0x100); + if (sw) m_maincpu->set_pc(0x100); } return IMAGE_INIT_PASS; @@ -822,7 +821,6 @@ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee ) QUICKLOAD_LOAD_MEMBER( mbee_state, mbee_z80bin ) { - mbee_state *state = image.device().machine().driver_data<mbee_state>(); UINT16 execute_address, start_addr, end_addr; int autorun; @@ -834,16 +832,16 @@ QUICKLOAD_LOAD_MEMBER( mbee_state, mbee_z80bin ) if (execute_address != 0xffff) { /* check to see if autorun is on (I hate how this works) */ - autorun = state->ioport("CONFIG")->read_safe(0xFF) & 1; + autorun = ioport("CONFIG")->read_safe(0xFF) & 1; - address_space &space = state->m_maincpu->space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); space.write_word(0xa6, execute_address); /* fix the EXEC command */ if (autorun) { space.write_word(0xa2, execute_address); /* fix warm-start vector to get around some copy-protections */ - state->m_maincpu->set_pc(execute_address); + m_maincpu->set_pc(execute_address); } else { diff --git a/src/mess/machine/microtan.c b/src/mess/machine/microtan.c index ab750c407ff..56c42411451 100644 --- a/src/mess/machine/microtan.c +++ b/src/mess/machine/microtan.c @@ -873,23 +873,21 @@ void microtan_state::microtan_snapshot_copy(UINT8 *snapshot_buff, int snapshot_s SNAPSHOT_LOAD_MEMBER( microtan_state, microtan ) { - microtan_state *state = image.device().machine().driver_data<microtan_state>(); UINT8 *snapshot_buff; snapshot_buff = (UINT8*)image.ptr(); if (!snapshot_buff) return IMAGE_INIT_FAIL; - if (state->microtan_verify_snapshot(snapshot_buff, snapshot_size)==IMAGE_VERIFY_FAIL) + if (microtan_verify_snapshot(snapshot_buff, snapshot_size)==IMAGE_VERIFY_FAIL) return IMAGE_INIT_FAIL; - state->microtan_snapshot_copy(snapshot_buff, snapshot_size); + microtan_snapshot_copy(snapshot_buff, snapshot_size); return IMAGE_INIT_PASS; } QUICKLOAD_LOAD_MEMBER( microtan_state, microtan ) { - microtan_state *state = image.device().machine().driver_data<microtan_state>(); int snapshot_size; UINT8 *snapshot_buff; char *buff; @@ -916,11 +914,11 @@ QUICKLOAD_LOAD_MEMBER( microtan_state, microtan ) buff[quickload_size] = '\0'; if (buff[0] == ':') - rc = state->parse_intel_hex(snapshot_buff, buff); + rc = parse_intel_hex(snapshot_buff, buff); else - rc = state->parse_zillion_hex(snapshot_buff, buff); + rc = parse_zillion_hex(snapshot_buff, buff); if (rc == IMAGE_INIT_PASS) - state->microtan_snapshot_copy(snapshot_buff, snapshot_size); + microtan_snapshot_copy(snapshot_buff, snapshot_size); free(snapshot_buff); return rc; } diff --git a/src/mess/machine/mtx.c b/src/mess/machine/mtx.c index 04e8cf8abab..3cb01f5a48f 100644 --- a/src/mess/machine/mtx.c +++ b/src/mess/machine/mtx.c @@ -325,7 +325,7 @@ WRITE8_MEMBER(mtx_state::hrx_attr_w) SNAPSHOT_LOAD_MEMBER( mtx_state, mtx ) { - address_space &program = image.device().machine().device(Z80_TAG)->memory().space(AS_PROGRAM); + address_space &program = m_maincpu->space(AS_PROGRAM); UINT8 header[18]; UINT16 addr; diff --git a/src/mess/machine/nascom1.c b/src/mess/machine/nascom1.c index f6b0b42b88b..bbc56cebab0 100644 --- a/src/mess/machine/nascom1.c +++ b/src/mess/machine/nascom1.c @@ -217,14 +217,14 @@ SNAPSHOT_LOAD_MEMBER( nascom1_state, nascom1 ) if (sscanf((char *)line, "%x %x %x %x %x %x %x %x %x %x\010\010\n", &addr, &b0, &b1, &b2, &b3, &b4, &b5, &b6, &b7, &dummy) == 10) { - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b0); - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b1); - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b2); - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b3); - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b4); - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b5); - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b6); - image.device().machine().device("maincpu")->memory().space(AS_PROGRAM).write_byte(addr++, b7); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b0); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b1); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b2); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b3); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b4); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b5); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b6); + m_maincpu->space(AS_PROGRAM).write_byte(addr++, b7); } } diff --git a/src/mess/machine/poly88.c b/src/mess/machine/poly88.c index 40bea79a1f9..3e61db50079 100644 --- a/src/mess/machine/poly88.c +++ b/src/mess/machine/poly88.c @@ -254,8 +254,8 @@ WRITE8_MEMBER(poly88_state::poly88_intr_w) SNAPSHOT_LOAD_MEMBER( poly88_state, poly88 ) { - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); - UINT8* data= auto_alloc_array(image.device().machine(), UINT8, snapshot_size); + address_space &space = m_maincpu->space(AS_PROGRAM); + UINT8* data= auto_alloc_array(machine(), UINT8, snapshot_size); UINT16 recordNum; UINT16 recordLen; UINT16 address; @@ -297,7 +297,7 @@ SNAPSHOT_LOAD_MEMBER( poly88_state, poly88 ) break; case 3 : /* 03 Auto Start @ Address */ - image.device().machine().device("maincpu")->state().set_state_int(I8085_PC, address); + m_maincpu->set_state_int(I8085_PC, address); theend = 1; break; case 4 : @@ -322,6 +322,6 @@ SNAPSHOT_LOAD_MEMBER( poly88_state, poly88 ) } pos+=recordLen; } - image.device().machine().device("uart")->reset(); + machine().device("uart")->reset(); return IMAGE_INIT_PASS; } diff --git a/src/mess/machine/primo.c b/src/mess/machine/primo.c index 38df4c04620..03e27549fd3 100644 --- a/src/mess/machine/primo.c +++ b/src/mess/machine/primo.c @@ -300,7 +300,6 @@ void primo_state::primo_setup_pss (UINT8* snapshot_data, UINT32 snapshot_size) SNAPSHOT_LOAD_MEMBER( primo_state, primo ) { UINT8 *snapshot_data; - primo_state *state = image.device().machine().driver_data<primo_state>(); if (!(snapshot_data = (UINT8*) malloc(snapshot_size))) return IMAGE_INIT_FAIL; @@ -317,7 +316,7 @@ SNAPSHOT_LOAD_MEMBER( primo_state, primo ) return IMAGE_INIT_FAIL; } - state->primo_setup_pss(snapshot_data, snapshot_size); + primo_setup_pss(snapshot_data, snapshot_size); free(snapshot_data); return IMAGE_INIT_PASS; @@ -352,7 +351,6 @@ void primo_state::primo_setup_pp (UINT8* quickload_data, UINT32 quickload_size) QUICKLOAD_LOAD_MEMBER( primo_state, primo ) { UINT8 *quickload_data; - primo_state *state = image.device().machine().driver_data<primo_state>(); if (!(quickload_data = (UINT8*) malloc(quickload_size))) return IMAGE_INIT_FAIL; @@ -363,7 +361,7 @@ QUICKLOAD_LOAD_MEMBER( primo_state, primo ) return IMAGE_INIT_FAIL; } - state->primo_setup_pp(quickload_data, quickload_size); + primo_setup_pp(quickload_data, quickload_size); free(quickload_data); return IMAGE_INIT_PASS; diff --git a/src/mess/machine/sorcerer.c b/src/mess/machine/sorcerer.c index 9651d09a70b..96265f48f6f 100644 --- a/src/mess/machine/sorcerer.c +++ b/src/mess/machine/sorcerer.c @@ -290,9 +290,8 @@ READ8_MEMBER(sorcerer_state::sorcerer_ff_r) SNAPSHOT_LOAD_MEMBER( sorcerer_state,sorcerer) { - device_t *cpu = image.device().machine().device("maincpu"); - UINT8 *RAM = memregion(cpu->tag())->base(); - address_space &space = cpu->memory().space(AS_PROGRAM); + UINT8 *RAM = memregion(m_maincpu->tag())->base(); + address_space &space = m_maincpu->space(AS_PROGRAM); UINT8 header[28]; unsigned char s_byte; @@ -316,23 +315,23 @@ SNAPSHOT_LOAD_MEMBER( sorcerer_state,sorcerer) image.fread( RAM+0xc000, 0x4000); /* patch CPU registers */ - cpu->state().set_state_int(Z80_I, header[0]); - cpu->state().set_state_int(Z80_HL2, header[1] | (header[2] << 8)); - cpu->state().set_state_int(Z80_DE2, header[3] | (header[4] << 8)); - cpu->state().set_state_int(Z80_BC2, header[5] | (header[6] << 8)); - cpu->state().set_state_int(Z80_AF2, header[7] | (header[8] << 8)); - cpu->state().set_state_int(Z80_HL, header[9] | (header[10] << 8)); - cpu->state().set_state_int(Z80_DE, header[11] | (header[12] << 8)); - cpu->state().set_state_int(Z80_BC, header[13] | (header[14] << 8)); - cpu->state().set_state_int(Z80_IY, header[15] | (header[16] << 8)); - cpu->state().set_state_int(Z80_IX, header[17] | (header[18] << 8)); - cpu->state().set_state_int(Z80_IFF1, header[19]&2 ? 1 : 0); - cpu->state().set_state_int(Z80_IFF2, header[19]&4 ? 1 : 0); - cpu->state().set_state_int(Z80_R, header[20]); - cpu->state().set_state_int(Z80_AF, header[21] | (header[22] << 8)); - cpu->state().set_state_int(STATE_GENSP, header[23] | (header[24] << 8)); - cpu->state().set_state_int(Z80_IM, header[25]); - cpu->state().set_pc(header[26] | (header[27] << 8)); + m_maincpu->set_state_int(Z80_I, header[0]); + m_maincpu->set_state_int(Z80_HL2, header[1] | (header[2] << 8)); + m_maincpu->set_state_int(Z80_DE2, header[3] | (header[4] << 8)); + m_maincpu->set_state_int(Z80_BC2, header[5] | (header[6] << 8)); + m_maincpu->set_state_int(Z80_AF2, header[7] | (header[8] << 8)); + m_maincpu->set_state_int(Z80_HL, header[9] | (header[10] << 8)); + m_maincpu->set_state_int(Z80_DE, header[11] | (header[12] << 8)); + m_maincpu->set_state_int(Z80_BC, header[13] | (header[14] << 8)); + m_maincpu->set_state_int(Z80_IY, header[15] | (header[16] << 8)); + m_maincpu->set_state_int(Z80_IX, header[17] | (header[18] << 8)); + m_maincpu->set_state_int(Z80_IFF1, header[19]&2 ? 1 : 0); + m_maincpu->set_state_int(Z80_IFF2, header[19]&4 ? 1 : 0); + m_maincpu->set_state_int(Z80_R, header[20]); + m_maincpu->set_state_int(Z80_AF, header[21] | (header[22] << 8)); + m_maincpu->set_state_int(STATE_GENSP, header[23] | (header[24] << 8)); + m_maincpu->set_state_int(Z80_IM, header[25]); + m_maincpu->set_pc(header[26] | (header[27] << 8)); return IMAGE_INIT_PASS; } @@ -427,7 +426,7 @@ QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer ) /* check to see if autorun is on (I hate how this works) */ autorun = ioport("CONFIG")->read_safe(0xFF) & 1; - address_space &space = image.device().machine().device("maincpu")->memory().space(AS_PROGRAM); + address_space &space = m_maincpu->space(AS_PROGRAM); if ((execute_address >= 0xc000) && (execute_address <= 0xdfff) && (space.read_byte(0xdffa) != 0xc3)) return IMAGE_INIT_FAIL; /* can't run a program if the cartridge isn't in */ @@ -463,12 +462,12 @@ QUICKLOAD_LOAD_MEMBER( sorcerer_state, sorcerer ) if ((execute_address != 0xc858) && autorun) space.write_word(0xf028, execute_address); - image.device().machine().device("maincpu")->state().set_pc(0xf01f); + m_maincpu->set_pc(0xf01f); } else { if (autorun) - image.device().machine().device("maincpu")->state().set_pc(execute_address); + m_maincpu->set_pc(execute_address); } } diff --git a/src/mess/machine/spec_snqk.c b/src/mess/machine/spec_snqk.c index 3a5aa8ceb7f..c195073d1da 100644 --- a/src/mess/machine/spec_snqk.c +++ b/src/mess/machine/spec_snqk.c @@ -127,7 +127,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .SNA file size.\n"); goto error; } - spectrum_setup_sna(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_sna(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "sp")) { @@ -139,7 +139,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) goto error; } } - spectrum_setup_sp(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_sp(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "ach")) { @@ -148,7 +148,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .ACH file size.\n"); goto error; } - spectrum_setup_ach(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_ach(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "prg")) { @@ -157,7 +157,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .PRG file size.\n"); goto error; } - spectrum_setup_prg(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_prg(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "plusd")) { @@ -166,7 +166,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .PLUSD file size.\n"); goto error; } - spectrum_setup_plusd(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_plusd(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "sem")) { @@ -180,7 +180,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) goto error; } } - spectrum_setup_sem(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_sem(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "sit")) { @@ -189,7 +189,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .SIT file size.\n"); goto error; } - spectrum_setup_sit(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_sit(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "zx")) { @@ -198,7 +198,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .ZX file size.\n"); goto error; } - spectrum_setup_zx(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_zx(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "snp")) { @@ -207,7 +207,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .SNP file size.\n"); goto error; } - spectrum_setup_snp(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_snp(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "snx")) { @@ -217,7 +217,7 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .SNX file size.\n"); goto error; } - spectrum_setup_snx(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_snx(machine(), snapshot_data, snapshot_size); } else if (!mame_stricmp(file_type, "frz")) { @@ -226,11 +226,11 @@ SNAPSHOT_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .FRZ file size.\n"); goto error; } - spectrum_setup_frz(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_frz(machine(), snapshot_data, snapshot_size); } else { - spectrum_setup_z80(image.device().machine(), snapshot_data, snapshot_size); + spectrum_setup_z80(machine(), snapshot_data, snapshot_size); } free(snapshot_data); @@ -2468,7 +2468,7 @@ QUICKLOAD_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .SCR file size.\n"); goto error; } - spectrum_setup_scr(image.device().machine(), quickload_data, quickload_size); + spectrum_setup_scr(machine(), quickload_data, quickload_size); } else if (!mame_stricmp(file_type, "raw")) { @@ -2477,7 +2477,7 @@ QUICKLOAD_LOAD_MEMBER( spectrum_state,spectrum) logerror("Invalid .RAW file size.\n"); goto error; } - spectrum_setup_raw(image.device().machine(), quickload_data, quickload_size); + spectrum_setup_raw(machine(), quickload_data, quickload_size); } free(quickload_data); diff --git a/src/mess/machine/super80.c b/src/mess/machine/super80.c index 813398ebd88..98a95bc5efe 100644 --- a/src/mess/machine/super80.c +++ b/src/mess/machine/super80.c @@ -247,7 +247,7 @@ QUICKLOAD_LOAD_MEMBER( super80_state, super80 ) autorun = ioport("CONFIG")->read_safe(0xFF) & 1; if (autorun) - image.device().machine().device("maincpu")->state().set_pc(exec_addr); + m_maincpu->set_pc(exec_addr); } return IMAGE_INIT_PASS; diff --git a/src/mess/machine/ti85.c b/src/mess/machine/ti85.c index 128d3a7858a..c6aed25e2ed 100644 --- a/src/mess/machine/ti85.c +++ b/src/mess/machine/ti85.c @@ -680,11 +680,10 @@ SNAPSHOT_LOAD_MEMBER( ti85_state, ti8x ) { int expected_snapshot_size = 0; UINT8 *ti8x_snapshot_data; - ti85_state *state = image.device().machine().driver_data<ti85_state>(); - - if (!strncmp(image.device().machine().system().name, "ti85", 4)) + + if (!strncmp(machine().system().name, "ti85", 4)) expected_snapshot_size = TI85_SNAPSHOT_SIZE; - else if (!strncmp(image.device().machine().system().name, "ti86", 4)) + else if (!strncmp(machine().system().name, "ti86", 4)) expected_snapshot_size = TI86_SNAPSHOT_SIZE; logerror("Snapshot loading\n"); @@ -700,10 +699,10 @@ SNAPSHOT_LOAD_MEMBER( ti85_state, ti8x ) image.fread( ti8x_snapshot_data, snapshot_size); - if (!strncmp(image.device().machine().system().name, "ti85", 4)) - state->ti85_setup_snapshot(ti8x_snapshot_data); - else if (!strncmp(image.device().machine().system().name, "ti86", 4)) - state->ti86_setup_snapshot(ti8x_snapshot_data); + if (!strncmp(machine().system().name, "ti85", 4)) + ti85_setup_snapshot(ti8x_snapshot_data); + else if (!strncmp(machine().system().name, "ti86", 4)) + ti86_setup_snapshot(ti8x_snapshot_data); free(ti8x_snapshot_data); return IMAGE_INIT_PASS; |