diff options
44 files changed, 180 insertions, 166 deletions
diff --git a/src/emu/machine/smpc.c b/src/emu/machine/smpc.c index 31279c239e3..9231000d260 100644 --- a/src/emu/machine/smpc.c +++ b/src/emu/machine/smpc.c @@ -819,7 +819,7 @@ READ8_HANDLER( stv_SMPC_r ) return_data = state->ioport("DSW1")->read(); if (offset == 0x77)//PDR2 read - return_data = (0xfe | space.machine().device<eeprom_device>("eeprom")->read_bit()); + return_data = (0xfe | state->m_eeprom->read_bit()); return return_data; } @@ -881,10 +881,9 @@ WRITE8_HANDLER( stv_SMPC_w ) ---- -x-- EEPROM CS line ---- --xx A-Bus bank bits */ - eeprom_device *eeprom = space.machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE); - eeprom->write_bit(data & 0x10); - eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE); + state->m_eeprom->set_clock_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE); + state->m_eeprom->write_bit(data & 0x10); + state->m_eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE); state->m_stv_multi_bank = data & 3; stv_select_game(space.machine(), state->m_stv_multi_bank); diff --git a/src/mame/drivers/39in1.c b/src/mame/drivers/39in1.c index 147b0420335..c659f76af05 100644 --- a/src/mame/drivers/39in1.c +++ b/src/mame/drivers/39in1.c @@ -33,6 +33,7 @@ public: _39in1_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_ram(*this, "ram"), + m_eeprom(*this, "eeprom"), m_maincpu(*this, "maincpu") { } UINT32 m_seed; @@ -49,7 +50,7 @@ public: PXA255_LCD_Regs m_lcd_regs; dmadac_sound_device *m_dmadac[2]; - eeprom_device *m_eeprom; + required_device<eeprom_device> m_eeprom; UINT32 m_pxa255_lcd_palette[0x100]; UINT8 m_pxa255_lcd_framebuffer[0x100000]; @@ -1439,8 +1440,7 @@ DRIVER_INIT_MEMBER(_39in1_state,39in1) { m_dmadac[0] = machine().device<dmadac_sound_device>("dac1"); m_dmadac[1] = machine().device<dmadac_sound_device>("dac2"); - m_eeprom = machine().device<eeprom_device>("eeprom"); - + address_space &space = m_maincpu->space(AS_PROGRAM); space.install_read_handler (0xa0151648, 0xa015164b, read32_delegate(FUNC(_39in1_state::prot_cheater_r), this)); } diff --git a/src/mame/drivers/8080bw.c b/src/mame/drivers/8080bw.c index 6054853ed5a..f5077adf7dd 100644 --- a/src/mame/drivers/8080bw.c +++ b/src/mame/drivers/8080bw.c @@ -3025,22 +3025,19 @@ ADDRESS_MAP_END READ8_MEMBER(_8080bw_state::invmulti_eeprom_r) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - return eeprom->read_bit(); + return m_eeprom->read_bit(); } WRITE8_MEMBER(_8080bw_state::invmulti_eeprom_w) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - // d0: latch bit - eeprom->write_bit(data & 1); + m_eeprom->write_bit(data & 1); // d6: reset - eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); // d4: write latch or select next bit to read - eeprom->set_clock_line((data & 0x10) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->set_clock_line((data & 0x10) ? ASSERT_LINE : CLEAR_LINE); } WRITE8_MEMBER(_8080bw_state::invmulti_bank_w) diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c index 4fb67870f25..032d200b763 100644 --- a/src/mame/drivers/centiped.c +++ b/src/mame/drivers/centiped.c @@ -831,14 +831,11 @@ ADDRESS_MAP_END READ8_MEMBER(centiped_state::multiped_eeprom_r) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - return eeprom->read_bit() ? 0x80 : 0; + return m_eeprom->read_bit() ? 0x80 : 0; } WRITE8_MEMBER(centiped_state::multiped_eeprom_w) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - // a0: always high // a3-a7: always low // a8-a10: same as a0-a2 @@ -846,15 +843,15 @@ WRITE8_MEMBER(centiped_state::multiped_eeprom_w) // a1 low: latch bit if (~offset & 2) - eeprom->write_bit((data & 0x80) ? 1 : 0); + m_eeprom->write_bit((data & 0x80) ? 1 : 0); // a2 low: write latch or select next bit to read if (~offset & 4) - eeprom->set_clock_line((~data & 0x80) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->set_clock_line((~data & 0x80) ? ASSERT_LINE : CLEAR_LINE); // both high: reset else if (offset & 2) - eeprom->set_cs_line((data & 0x80) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_cs_line((data & 0x80) ? CLEAR_LINE : ASSERT_LINE); } WRITE8_MEMBER(centiped_state::multiped_prgbank_w) diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c index 40107b199ae..c65b878bce5 100644 --- a/src/mame/drivers/deco32.c +++ b/src/mame/drivers/deco32.c @@ -378,7 +378,7 @@ READ32_MEMBER(deco32_state::fghthist_control_r) switch (offset) { case 0: return 0xffff0000 | ioport("IN0")->read(); case 1: return 0xffff0000 | ioport("IN1")->read(); //check top bits?? - case 2: return 0xfffffffe | machine().device<eeprom_device>("eeprom")->read_bit(); + case 2: return 0xfffffffe | m_eeprom->read_bit(); } return 0xffffffff; @@ -387,10 +387,9 @@ READ32_MEMBER(deco32_state::fghthist_control_r) WRITE32_MEMBER(deco32_state::fghthist_eeprom_w) { if (ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - eeprom->write_bit(data & 0x10); - eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x10); + m_eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); deco32_pri_w(space,0,data&0x1,0xffffffff); /* Bit 0 - layer priority toggle */ } @@ -500,8 +499,7 @@ WRITE32_MEMBER(deco32_state::tattass_prot_w) WRITE32_MEMBER(deco32_state::tattass_control_w) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - address_space &eeprom_space = eeprom->space(); + address_space &eeprom_space = m_eeprom->space(); /* Eprom in low byte */ if (mem_mask==0x000000ff) { /* Byte write to low byte only (different from word writing including low byte) */ @@ -636,7 +634,7 @@ READ32_MEMBER(deco32_state::nslasher_prot_r) switch (offset<<1) { case 0x280: return ioport("IN0")->read() << 16| 0xffff; /* IN0 */ case 0x4c4: return ioport("IN1")->read() << 16| 0xffff; /* IN1 */ - case 0x35a: return (machine().device<eeprom_device>("eeprom")->read_bit()<< 16) | 0xffff; // Debug switch in low word?? + case 0x35a: return (m_eeprom->read_bit()<< 16) | 0xffff; // Debug switch in low word?? } //logerror("%08x: Read unmapped prot %08x (%08x)\n",space.device().safe_pc(),offset<<1,mem_mask); @@ -648,10 +646,9 @@ WRITE32_MEMBER(deco32_state::nslasher_eeprom_w) { if (ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - eeprom->write_bit(data & 0x10); - eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x10); + m_eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); deco32_pri_w(space,0,data&0x3,0xffffffff); /* Bit 0 - layer priority toggle, Bit 1 - BG2/3 Joint mode (8bpp) */ } diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c index bc10c8c1b25..7b4a23795a1 100644 --- a/src/mame/drivers/dkong.c +++ b/src/mame/drivers/dkong.c @@ -1586,8 +1586,7 @@ GFXDECODE_END READ8_MEMBER(dkong_state::braze_eeprom_r) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - return eeprom->read_bit(); + return m_eeprom->read_bit(); } WRITE8_MEMBER(dkong_state::braze_a15_w) @@ -1598,10 +1597,9 @@ WRITE8_MEMBER(dkong_state::braze_a15_w) WRITE8_MEMBER(dkong_state::braze_eeprom_w) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->write_bit(data & 0x01); - eeprom->set_cs_line(data & 0x04 ? CLEAR_LINE : ASSERT_LINE); - eeprom->set_clock_line(data & 0x02 ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x01); + m_eeprom->set_cs_line(data & 0x04 ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line(data & 0x02 ? ASSERT_LINE : CLEAR_LINE); } void dkong_state::braze_decrypt_rom(UINT8 *dest) diff --git a/src/mame/drivers/galastrm.c b/src/mame/drivers/galastrm.c index 2c1b977af03..1e2bcfc17cc 100644 --- a/src/mame/drivers/galastrm.c +++ b/src/mame/drivers/galastrm.c @@ -119,10 +119,9 @@ popmessage(t); if (ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - eeprom->write_bit(data & 0x40); - eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x40); + m_eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); return; } return; diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c index ebc3416431c..20e43ff803e 100644 --- a/src/mame/drivers/gticlub.c +++ b/src/mame/drivers/gticlub.c @@ -242,7 +242,8 @@ public: : driver_device(mconfig, type, tag), m_work_ram(*this, "work_ram"), m_maincpu(*this, "maincpu"), - m_audiocpu(*this, "audiocpu") { } + m_audiocpu(*this, "audiocpu"), + m_eeprom(*this, "eeprom") { } required_shared_ptr<UINT32> m_work_ram; UINT32 *m_sharc_dataram_0; @@ -271,6 +272,7 @@ public: TIMER_CALLBACK_MEMBER(irq_off); required_device<cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; + required_device<eeprom_device> m_eeprom; }; @@ -349,8 +351,6 @@ READ8_MEMBER(gticlub_state::sysreg_r) { static const char *const portnames[] = { "IN0", "IN1", "IN2", "IN3" }; device_t *adc1038 = machine().device("adc1038"); - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - switch (offset) { case 0: @@ -369,7 +369,7 @@ READ8_MEMBER(gticlub_state::sysreg_r) // a = ADC readout // e = EEPROM data out - UINT32 eeprom_bit = (eeprom->read_bit() << 1); + UINT32 eeprom_bit = (m_eeprom->read_bit() << 1); UINT32 adc_bit = (adc1038_do_read(adc1038) << 2); return (eeprom_bit | adc_bit); } @@ -384,8 +384,6 @@ READ8_MEMBER(gticlub_state::sysreg_r) WRITE8_MEMBER(gticlub_state::sysreg_w) { device_t *adc1038 = machine().device("adc1038"); - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - switch (offset) { case 0: @@ -394,9 +392,9 @@ WRITE8_MEMBER(gticlub_state::sysreg_w) break; case 3: - eeprom->write_bit((data & 0x01) ? 1 : 0); - eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE); - eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->write_bit((data & 0x01) ? 1 : 0); + m_eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE); break; case 4: diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c index a3efd2f45b9..a1a334d78c0 100644 --- a/src/mame/drivers/gunbustr.c +++ b/src/mame/drivers/gunbustr.c @@ -94,10 +94,9 @@ WRITE32_MEMBER(gunbustr_state::gunbustr_input_w) if (ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - eeprom->write_bit(data & 0x40); - eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x40); + m_eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); } break; } diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c index c3fb2222eb4..01277ed728e 100644 --- a/src/mame/drivers/hornet.c +++ b/src/mame/drivers/hornet.c @@ -333,7 +333,8 @@ public: m_sharc_dataram0(*this, "sharc_dataram0"), m_sharc_dataram1(*this, "sharc_dataram1") , m_maincpu(*this, "maincpu"), - m_audiocpu(*this, "audiocpu") { } + m_audiocpu(*this, "audiocpu"), + m_eeprom(*this, "eeprom") { } UINT8 m_led_reg0; UINT8 m_led_reg1; @@ -379,6 +380,7 @@ public: void jamma_jvs_cmd_exec(); required_device<cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; + required_device<eeprom_device> m_eeprom; }; @@ -477,8 +479,6 @@ READ8_MEMBER(hornet_state::sysreg_r) UINT8 r = 0; static const char *const portnames[] = { "IN0", "IN1", "IN2" }; device_t *adc12138 = machine().device("adc12138"); - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - switch (offset) { case 0: /* I/O port 0 */ @@ -497,7 +497,7 @@ READ8_MEMBER(hornet_state::sysreg_r) 0x02 = ADDOR (ADC DOR) 0x01 = ADDO (ADC DO) */ - r = 0xf0 | (eeprom->read_bit() << 3); + r = 0xf0 | (m_eeprom->read_bit() << 3); r |= adc1213x_do_r(adc12138, space, 0) | (adc1213x_eoc_r(adc12138, space, 0) << 2); break; diff --git a/src/mame/drivers/jackpool.c b/src/mame/drivers/jackpool.c index 20c647cb627..ff5e7e8cc0b 100644 --- a/src/mame/drivers/jackpool.c +++ b/src/mame/drivers/jackpool.c @@ -28,7 +28,8 @@ public: : driver_device(mconfig, type, tag), m_vram(*this, "vram"), m_io(*this, "io"), - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu"), + m_eeprom(*this, "eeprom") { } required_shared_ptr<UINT16> m_vram; UINT8 m_map_vreg; @@ -41,6 +42,7 @@ public: UINT32 screen_update_jackpool(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(jackpool_interrupt); required_device<cpu_device> m_maincpu; + required_device<eeprom_device> m_eeprom; }; @@ -118,8 +120,8 @@ READ16_MEMBER(jackpool_state::jackpool_io_r) case 0x1c: return ioport("BET")->read(); case 0x1e: return 0xff; //ticket motor case 0x20: return 0xff; //hopper motor - case 0x2c: return machine().device<eeprom_device>("eeprom")->read_bit(); - case 0x2e: return machine().device<eeprom_device>("eeprom")->read_bit(); + case 0x2c: return m_eeprom->read_bit(); + case 0x2e: return m_eeprom->read_bit(); // default: printf("R %02x\n",offset*2); break; } @@ -146,11 +148,11 @@ WRITE16_MEMBER(jackpool_state::jackpool_io_w) case 0x4a: /* ---- ---x Ticket motor */break; case 0x4c: /* ---- ---x Hopper motor */break; case 0x4e: m_map_vreg = data & 1; break; - case 0x50: machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; - case 0x52: machine().device<eeprom_device>("eeprom")->set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE ); break; - case 0x54: machine().device<eeprom_device>("eeprom")->write_bit(data & 1); break; -// case 0x5a: machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; -// case 0x5c: machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; + case 0x50: m_eeprom->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; + case 0x52: m_eeprom->set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE ); break; + case 0x54: m_eeprom->write_bit(data & 1); break; +// case 0x5a: m_eeprom->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; +// case 0x5c: m_eeprom->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; case 0x60: break; // default: printf("[%02x] <- %02x W\n",offset*2,data); break; } @@ -159,17 +161,17 @@ WRITE16_MEMBER(jackpool_state::jackpool_io_w) if(offset*2 == 0x54) { printf("Write bit %02x\n",data); - machine().device<eeprom_device>("eeprom")->write_bit(data & 1); + m_eeprom->write_bit(data & 1); } if(offset*2 == 0x52) { printf("Clock bit %02x\n",data); - machine().device<eeprom_device>("eeprom")->set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE ); + m_eeprom->set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE ); } if(offset*2 == 0x50) { printf("chip select bit %02x\n",data); - machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); + m_eeprom->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); } #endif } diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c index fef00c639e8..543890377fc 100644 --- a/src/mame/drivers/jaguar.c +++ b/src/mame/drivers/jaguar.c @@ -505,29 +505,26 @@ static NVRAM_HANDLER( jaguar ) */ WRITE32_MEMBER(jaguar_state::eeprom_w) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); m_eeprom_bit_count++; if (m_eeprom_bit_count != 9) /* kill extra bit at end of address */ { - eeprom->write_bit(data >> 31); - eeprom->set_clock_line(PULSE_LINE); + m_eeprom->write_bit(data >> 31); + m_eeprom->set_clock_line(PULSE_LINE); } } READ32_MEMBER(jaguar_state::eeprom_clk) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line(PULSE_LINE); /* get next bit when reading */ + m_eeprom->set_clock_line(PULSE_LINE); /* get next bit when reading */ return 0; } READ32_MEMBER(jaguar_state::eeprom_cs) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_cs_line(ASSERT_LINE); /* must do at end of an operation */ - eeprom->set_cs_line(CLEAR_LINE); /* enable chip for next operation */ - eeprom->write_bit(1); /* write a start bit */ - eeprom->set_clock_line(PULSE_LINE); + m_eeprom->set_cs_line(ASSERT_LINE); /* must do at end of an operation */ + m_eeprom->set_cs_line(CLEAR_LINE); /* enable chip for next operation */ + m_eeprom->write_bit(1); /* write a start bit */ + m_eeprom->set_clock_line(PULSE_LINE); m_eeprom_bit_count = 0; return 0; } @@ -667,7 +664,7 @@ READ32_MEMBER(jaguar_state::joystick_r) } } - joystick_result |= machine().device<eeprom_device>("eeprom")->read_bit(); + joystick_result |= m_eeprom->read_bit(); joybuts_result |= (ioport("CONFIG")->read() & 0x10); return (joystick_result << 16) | joybuts_result; diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c index c675a0481f8..5d1444af6c3 100644 --- a/src/mame/drivers/kaneko16.c +++ b/src/mame/drivers/kaneko16.c @@ -1595,9 +1595,8 @@ WRITE8_MEMBER(kaneko16_state::kaneko16_eeprom_reset_w) { // FIXME: the device line cannot be directly put in the interface due to inverse value! // we might want to define a "reversed" set_cs_line handler - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); // reset line asserted: reset. - eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE ); + m_eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE ); } static const ay8910_interface ay8910_intf_eeprom = diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c index 8b6817bf598..4d876a28d47 100644 --- a/src/mame/drivers/lordgun.c +++ b/src/mame/drivers/lordgun.c @@ -167,7 +167,6 @@ WRITE8_MEMBER(lordgun_state::fake2_w) WRITE8_MEMBER(lordgun_state::lordgun_eeprom_w) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); int i; if (data & ~0xfd) @@ -184,13 +183,13 @@ WRITE8_MEMBER(lordgun_state::lordgun_eeprom_w) lordgun_update_gun(i); // latch the bit - eeprom->write_bit(data & 0x40); + m_eeprom->write_bit(data & 0x40); // reset line asserted: reset. - eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE ); + m_eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE ); // clock line asserted: write latch or select next bit to read - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE ); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE ); m_whitescreen = data & 0x80; @@ -199,8 +198,6 @@ WRITE8_MEMBER(lordgun_state::lordgun_eeprom_w) WRITE8_MEMBER(lordgun_state::aliencha_eeprom_w) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - if (~data & ~0xf8) { // popmessage("EE: %02x", data); @@ -214,13 +211,13 @@ WRITE8_MEMBER(lordgun_state::aliencha_eeprom_w) coin_counter_w(machine(), 1, data & 0x10); // latch the bit - eeprom->write_bit(data & 0x80); + m_eeprom->write_bit(data & 0x80); // reset line asserted: reset. - eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE ); + m_eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE ); // clock line asserted: write latch or select next bit to read - eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE ); + m_eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE ); } diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c index bde79cc7bc3..a1a91d7680e 100644 --- a/src/mame/drivers/model2.c +++ b/src/mame/drivers/model2.c @@ -412,11 +412,10 @@ WRITE32_MEMBER(model2_state::ctrl0_w) { if(ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); m_ctrlmode = data & 0x01; - eeprom->write_bit(data & 0x20); - eeprom->set_clock_line((data & 0x80) ? ASSERT_LINE : CLEAR_LINE); - eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->write_bit(data & 0x20); + m_eeprom->set_clock_line((data & 0x80) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); } } @@ -455,7 +454,7 @@ CUSTOM_INPUT_MEMBER(model2_state::_1c00000_r) else { ret &= ~0x0030; - return ret | 0x00d0 | (machine().device<eeprom_device>("eeprom")->read_bit() << 5); + return ret | 0x00d0 | (m_eeprom->read_bit() << 5); } } diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c index 0546d168732..cdb4fa36fbb 100644 --- a/src/mame/drivers/model3.c +++ b/src/mame/drivers/model3.c @@ -1392,11 +1392,10 @@ WRITE64_MEMBER(model3_state::model3_ctrl_w) case 0: if (ACCESSING_BITS_56_63) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); int reg = (data >> 56) & 0xff; - eeprom->write_bit((reg & 0x20) ? 1 : 0); - eeprom->set_clock_line((reg & 0x80) ? ASSERT_LINE : CLEAR_LINE); - eeprom->set_cs_line((reg & 0x40) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->write_bit((reg & 0x20) ? 1 : 0); + m_eeprom->set_clock_line((reg & 0x80) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->set_cs_line((reg & 0x40) ? CLEAR_LINE : ASSERT_LINE); m_controls_bank = reg & 0xff; } return; diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c index d2750f6c48a..5f04174f0d4 100644 --- a/src/mame/drivers/pirates.c +++ b/src/mame/drivers/pirates.c @@ -109,12 +109,10 @@ WRITE16_MEMBER(pirates_state::pirates_out_w) { if (ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - /* bits 0-2 control EEPROM */ - eeprom->write_bit(data & 0x04); - eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE); - eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x04); + m_eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE); /* bit 6 selects oki bank */ okim6295_device *oki = machine().device<okim6295_device>("oki"); diff --git a/src/mame/drivers/policetr.c b/src/mame/drivers/policetr.c index 3aee830dea2..befee0a42bc 100644 --- a/src/mame/drivers/policetr.c +++ b/src/mame/drivers/policetr.c @@ -137,10 +137,9 @@ WRITE32_MEMBER(policetr_state::control_w) /* handle EEPROM I/O */ if (ACCESSING_BITS_16_23) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->write_bit(data & 0x00800000); - eeprom->set_cs_line((data & 0x00200000) ? CLEAR_LINE : ASSERT_LINE); - eeprom->set_clock_line((data & 0x00400000) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x00800000); + m_eeprom->set_cs_line((data & 0x00200000) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x00400000) ? ASSERT_LINE : CLEAR_LINE); } /* toggling BSMT off then on causes a reset */ diff --git a/src/mame/drivers/segas32.c b/src/mame/drivers/segas32.c index d5896014ee2..37bf77f7c34 100644 --- a/src/mame/drivers/segas32.c +++ b/src/mame/drivers/segas32.c @@ -666,15 +666,14 @@ void segas32_state::common_io_chip_w(address_space &space, int which, offs_t off if (which == 0) { - eeprom_device *eeprom = space.machine().device<eeprom_device>("eeprom"); - eeprom->write_bit(data & 0x80); - eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE); - eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x80); + m_eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE); } -/* coin_lockout_w(space.machine(), 1 + 2*which, data & 0x08); - coin_lockout_w(space.machine(), 0 + 2*which, data & 0x04);*/ - coin_counter_w(space.machine(), 1 + 2*which, data & 0x02); - coin_counter_w(space.machine(), 0 + 2*which, data & 0x01); +/* coin_lockout_w(machine(), 1 + 2*which, data & 0x08); + coin_lockout_w(machine(), 0 + 2*which, data & 0x04);*/ + coin_counter_w(machine(), 1 + 2*which, data & 0x02); + coin_counter_w(machine(), 0 + 2*which, data & 0x01); break; /* tile banking */ @@ -684,10 +683,9 @@ void segas32_state::common_io_chip_w(address_space &space, int which, offs_t off else { /* multi-32 EEPROM access */ - eeprom_device *eeprom = space.machine().device<eeprom_device>("eeprom"); - eeprom->write_bit(data & 0x80); - eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE); - eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x80); + m_eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE); } break; diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c index 58c6d9c0016..21726e165ec 100644 --- a/src/mame/drivers/spool99.c +++ b/src/mame/drivers/spool99.c @@ -184,7 +184,7 @@ READ8_MEMBER(spool99_state::spool99_io_r) case 0xafe4: return ioport("SERVICE2")->read();//attract mode // case 0xafe5: return 1; // case 0xafe6: return 1; - case 0xafe7: return machine().device<eeprom_device>("eeprom")->read_bit(); + case 0xafe7: return m_eeprom->read_bit(); case 0xaff8: return machine().device<okim6295_device>("oki")->read(space,0); } } @@ -249,7 +249,7 @@ READ8_MEMBER(spool99_state::vcarn_io_r) case 0xa7a2: return ioport("START")->read(); case 0xa7a3: return ioport("BET")->read();//system 2 - case 0xa7a7: return machine().device<eeprom_device>("eeprom")->read_bit(); + case 0xa7a7: return m_eeprom->read_bit(); } } diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c index 041a149c738..32398339aa7 100644 --- a/src/mame/drivers/superchs.c +++ b/src/mame/drivers/superchs.c @@ -139,10 +139,9 @@ WRITE32_MEMBER(superchs_state::superchs_input_w) if (ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - eeprom->write_bit(data & 0x40); - eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x40); + m_eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); return; } diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c index 61a345b2f52..d544cac1809 100644 --- a/src/mame/drivers/toaplan2.c +++ b/src/mame/drivers/toaplan2.c @@ -965,15 +965,13 @@ static const eeprom_interface bbakraid_93C66_intf = READ16_MEMBER(toaplan2_state::bbakraid_eeprom_r) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - // Bit 0x01 returns the status of BUSAK from the Z80. // BUSRQ is activated via bit 0x10 on the EEPROM write port. // These accesses are made when the 68K wants to read the Z80 // ROM code. Failure to return the correct status incurrs a Sound Error. int data; - data = ((eeprom->read_bit() & 0x01) << 4); + data = ((m_eeprom->read_bit() & 0x01) << 4); data |= ((m_z80_busreq >> 4) & 0x01); // Loop BUSRQ to BUSAK return data; diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c index 280a0b387cc..9e0c7bf06d6 100644 --- a/src/mame/drivers/undrfire.c +++ b/src/mame/drivers/undrfire.c @@ -287,10 +287,9 @@ WRITE32_MEMBER(undrfire_state::undrfire_input_w) if (ACCESSING_BITS_0_7) { - eeprom_device *eeprom = machine().device<eeprom_device>("eeprom"); - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - eeprom->write_bit(data & 0x40); - eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit(data & 0x40); + m_eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE); return; } diff --git a/src/mame/drivers/wheelfir.c b/src/mame/drivers/wheelfir.c index e74a3a578fb..915dd898700 100644 --- a/src/mame/drivers/wheelfir.c +++ b/src/mame/drivers/wheelfir.c @@ -236,7 +236,6 @@ public: required_device<cpu_device> m_maincpu; required_device<cpu_device> m_subcpu; device_t *m_screen; - device_t *m_eeprom; INT32 *m_zoom_table; UINT16 *m_blitter_data; diff --git a/src/mame/includes/8080bw.h b/src/mame/includes/8080bw.h index 913da517719..a7e98f6316a 100644 --- a/src/mame/includes/8080bw.h +++ b/src/mame/includes/8080bw.h @@ -6,6 +6,7 @@ #include "includes/mw8080bw.h" #include "sound/speaker.h" +#include "machine/eeprom.h" /* for games in 8080bw.c */ #define CABINET_PORT_TAG "CAB" @@ -18,7 +19,8 @@ public: m_schaser_effect_555_timer(*this, "schaser_sh_555"), m_claybust_gun_on(*this, "claybust_gun"), m_discrete(*this, "discrete"), - m_speaker(*this, "speaker") + m_speaker(*this, "speaker"), + m_eeprom(*this, "eeprom") { } /* devices/memory pointers */ @@ -26,6 +28,7 @@ public: optional_device<timer_device> m_claybust_gun_on; optional_device<discrete_device> m_discrete; optional_device<speaker_sound_device> m_speaker; + optional_device<eeprom_device> m_eeprom; /* misc game specific */ diff --git a/src/mame/includes/centiped.h b/src/mame/includes/centiped.h index 0ce7339dc38..d1b607df724 100644 --- a/src/mame/includes/centiped.h +++ b/src/mame/includes/centiped.h @@ -3,6 +3,7 @@ Atari Centipede hardware *************************************************************************/ +#include "machine/eeprom.h" class centiped_state : public driver_device { @@ -13,7 +14,8 @@ public: m_videoram(*this, "videoram"), m_spriteram(*this, "spriteram"), m_bullsdrt_tiles_bankram(*this, "bullsdrt_bank"), - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu"), + m_eeprom(*this, "eeprom") { } optional_shared_ptr<UINT8> m_rambase; required_shared_ptr<UINT8> m_videoram; @@ -85,4 +87,5 @@ public: void milliped_set_color(offs_t offset, UINT8 data); inline int read_trackball(int idx, int switch_port); required_device<cpu_device> m_maincpu; + optional_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/dkong.h b/src/mame/includes/dkong.h index 6b8b9689428..eb2d18f8d33 100644 --- a/src/mame/includes/dkong.h +++ b/src/mame/includes/dkong.h @@ -1,4 +1,5 @@ #include "sound/discrete.h" +#include "machine/eeprom.h" /* * From the schematics: @@ -85,7 +86,8 @@ public: m_vidhw(DKONG_BOARD), m_discrete(*this, "discrete"), m_maincpu(*this, "maincpu"), - m_soundcpu(*this, "soundcpu") { } + m_soundcpu(*this, "soundcpu"), + m_eeprom(*this, "eeprom") { } /* memory pointers */ required_shared_ptr<UINT8> m_video_ram; @@ -237,6 +239,7 @@ public: void drakton_decrypt_rom(UINT8 mod, int offs, int *bs); required_device<cpu_device> m_maincpu; optional_device<cpu_device> m_soundcpu; + optional_device<eeprom_device> m_eeprom; }; /*----------- defined in audio/dkong.c -----------*/ diff --git a/src/mame/includes/galastrm.h b/src/mame/includes/galastrm.h index 8dd664f5ff7..4af4b3ca120 100644 --- a/src/mame/includes/galastrm.h +++ b/src/mame/includes/galastrm.h @@ -1,4 +1,5 @@ #include "video/poly.h" +#include "machine/eeprom.h" struct tempsprite { @@ -17,7 +18,8 @@ public: : driver_device(mconfig, type, tag), m_ram(*this,"ram"), m_spriteram(*this,"spriteram") , - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu"), + m_eeprom(*this, "eeprom") { } required_shared_ptr<UINT32> m_ram; required_shared_ptr<UINT32> m_spriteram; @@ -56,4 +58,5 @@ public: void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, const int *primasks, int priority); void tc0610_rotate_draw(bitmap_ind16 &bitmap, bitmap_ind16 &srcbitmap, const rectangle &clip); required_device<cpu_device> m_maincpu; + required_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/gunbustr.h b/src/mame/includes/gunbustr.h index 77e52b28137..7ed14e5c428 100644 --- a/src/mame/includes/gunbustr.h +++ b/src/mame/includes/gunbustr.h @@ -1,3 +1,5 @@ +#include "machine/eeprom.h" + struct tempsprite { int gfx; @@ -15,7 +17,8 @@ public: : driver_device(mconfig, type, tag), m_maincpu(*this,"maincpu"), m_ram(*this,"ram"), - m_spriteram(*this,"spriteram") + m_spriteram(*this,"spriteram"), + m_eeprom(*this, "eeprom") { m_coin_lockout = true; } @@ -23,6 +26,7 @@ public: required_device<cpu_device> m_maincpu; required_shared_ptr<UINT32> m_ram; required_shared_ptr<UINT32> m_spriteram; + required_device<eeprom_device> m_eeprom; bool m_coin_lockout; UINT16 m_coin_word; diff --git a/src/mame/includes/jaguar.h b/src/mame/includes/jaguar.h index ec0e32ff1ec..cae06a4dd48 100644 --- a/src/mame/includes/jaguar.h +++ b/src/mame/includes/jaguar.h @@ -7,6 +7,7 @@ #include "cpu/jaguar/jaguar.h" #include "machine/nvram.h" #include "sound/dac.h" +#include "machine/eeprom.h" #ifndef ENABLE_SPEEDUP_HACKS #define ENABLE_SPEEDUP_HACKS 1 @@ -52,7 +53,8 @@ public: m_joystick_data(0), m_eeprom_bit_count(0), m_protection_check(0) , - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu"), + m_eeprom(*this, "eeprom") { } // devices required_device<cpu_device> m_main_cpu; @@ -316,4 +318,5 @@ protected: void jaguar_nvram_load(); void jaguar_nvram_save(); required_device<cpu_device> m_maincpu; + optional_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h index 1a65274d083..bb9f0b43a8b 100644 --- a/src/mame/includes/kaneko16.h +++ b/src/mame/includes/kaneko16.h @@ -13,7 +13,7 @@ #include "machine/kaneko_calc3.h" #include "machine/kaneko_toybox.h" #include "sound/okim6295.h" - +#include "machine/eeprom.h" class kaneko16_state : public driver_device @@ -30,7 +30,8 @@ public: m_audiocpu(*this, "audiocpu"), m_oki(*this, "oki"), m_oki1(*this, "oki1"), - m_oki2(*this, "oki2") { } + m_oki2(*this, "oki2"), + m_eeprom(*this, "eeprom") { } required_device<cpu_device> m_maincpu; optional_shared_ptr<UINT16> m_spriteram; @@ -78,6 +79,7 @@ public: optional_device<okim6295_device> m_oki; optional_device<okim6295_device> m_oki1; optional_device<okim6295_device> m_oki2; + optional_device<eeprom_device> m_eeprom; }; class kaneko16_gtmr_state : public kaneko16_state diff --git a/src/mame/includes/lordgun.h b/src/mame/includes/lordgun.h index 51db4ffeeea..79f95b665c7 100644 --- a/src/mame/includes/lordgun.h +++ b/src/mame/includes/lordgun.h @@ -4,6 +4,7 @@ *************************************************************************/ #include "sound/okim6295.h" +#include "machine/eeprom.h" struct lordgun_gun_data { @@ -24,7 +25,8 @@ public: m_scroll_y(*this, "scroll_y") , m_maincpu(*this, "maincpu"), m_soundcpu(*this, "soundcpu"), - m_oki(*this, "oki") { } + m_oki(*this, "oki"), + m_eeprom(*this, "eeprom") { } required_shared_ptr<UINT16> m_priority_ram; required_shared_ptr<UINT16> m_scrollram; @@ -81,6 +83,7 @@ public: required_device<cpu_device> m_maincpu; required_device<cpu_device> m_soundcpu; required_device<okim6295_device> m_oki; + required_device<eeprom_device> m_eeprom; }; /*----------- defined in video/lordgun.c -----------*/ diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h index f35da20932b..9013411d44f 100644 --- a/src/mame/includes/model2.h +++ b/src/mame/includes/model2.h @@ -1,5 +1,6 @@ #include "video/poly.h" #include "audio/dsbz80.h" +#include "machine/eeprom.h" struct raster_state; struct geo_state; @@ -21,7 +22,8 @@ public: m_soundram(*this, "soundram"), m_dsbz80(*this, DSBZ80_TAG), m_tgp_program(*this, "tgp_program"), - m_audiocpu(*this, "audiocpu") { } + m_audiocpu(*this, "audiocpu"), + m_eeprom(*this, "eeprom") { } required_device<cpu_device> m_maincpu; required_shared_ptr<UINT32> m_workram; @@ -172,6 +174,7 @@ public: void model2_exit(); DECLARE_WRITE_LINE_MEMBER(scsp_irq); required_device<cpu_device> m_audiocpu; + required_device<eeprom_device> m_eeprom; }; /*----------- defined in video/model2.c -----------*/ diff --git a/src/mame/includes/model3.h b/src/mame/includes/model3.h index e2c79a68ee7..34b5fd6764e 100644 --- a/src/mame/includes/model3.h +++ b/src/mame/includes/model3.h @@ -2,6 +2,7 @@ #include "machine/scsibus.h" #include "machine/53c810.h" #include "audio/dsbz80.h" +#include "machine/eeprom.h" typedef float MATRIX[4][4]; typedef float VECTOR[4]; @@ -24,7 +25,8 @@ public: m_paletteram64(*this, "paletteram64"), m_dsbz80(*this, DSBZ80_TAG), m_soundram(*this, "soundram"), - m_audiocpu(*this, "audiocpu"){ } + m_audiocpu(*this, "audiocpu"), + m_eeprom(*this, "eeprom"){ } required_device<cpu_device> m_maincpu; optional_device<lsi53c810_device> m_lsi53c810; @@ -207,6 +209,7 @@ public: void model3_exit(); DECLARE_WRITE_LINE_MEMBER(scsp_irq); required_device<cpu_device> m_audiocpu; + required_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/pirates.h b/src/mame/includes/pirates.h index 484ea22899c..bb1748ba764 100644 --- a/src/mame/includes/pirates.h +++ b/src/mame/includes/pirates.h @@ -1,3 +1,5 @@ +#include "machine/eeprom.h" + class pirates_state : public driver_device { public: @@ -8,7 +10,8 @@ public: m_tx_tileram(*this, "tx_tileram"), m_fg_tileram(*this, "fg_tileram"), m_bg_tileram(*this, "bg_tileram"), - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu"), + m_eeprom(*this, "eeprom") { } required_shared_ptr<UINT16> m_spriteram; required_shared_ptr<UINT16> m_scroll; @@ -37,4 +40,5 @@ public: void pirates_decrypt_s(); void pirates_decrypt_oki(); required_device<cpu_device> m_maincpu; + required_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/policetr.h b/src/mame/includes/policetr.h index 7fdd2a5c1e5..19fffd1176d 100644 --- a/src/mame/includes/policetr.h +++ b/src/mame/includes/policetr.h @@ -3,14 +3,15 @@ P&P Marketing Police Trainer hardware **************************************************************************/ - +#include "machine/eeprom.h" class policetr_state : public driver_device { public: policetr_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_rambase(*this, "rambase"), - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu"), + m_eeprom(*this, "eeprom") { } UINT32 m_control_data; UINT32 m_bsmt_data_bank; @@ -52,4 +53,5 @@ public: TIMER_CALLBACK_MEMBER(irq5_gen); void render_display_list(offs_t offset); required_device<cpu_device> m_maincpu; + required_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/segas32.h b/src/mame/includes/segas32.h index 019b9f8cd68..97e11558b2d 100644 --- a/src/mame/includes/segas32.h +++ b/src/mame/includes/segas32.h @@ -4,7 +4,7 @@ ***************************************************************************/ - +#include "machine/eeprom.h" class segas32_state : public driver_device @@ -19,7 +19,8 @@ public: m_system32_spriteram(*this,"spriteram", 0), m_system32_paletteram(*this,"paletteram", 0) , m_maincpu(*this, "maincpu"), - m_soundcpu(*this, "soundcpu") { } + m_soundcpu(*this, "soundcpu"), + m_eeprom(*this, "eeprom") { } required_shared_ptr<UINT8> m_z80_shared_ram; optional_shared_ptr<UINT8> m_ga2_dpram; @@ -253,6 +254,7 @@ public: DECLARE_WRITE_LINE_MEMBER(ym3438_irq_handler); required_device<cpu_device> m_maincpu; required_device<cpu_device> m_soundcpu; + required_device<eeprom_device> m_eeprom; }; /*----------- defined in machine/segas32.c -----------*/ diff --git a/src/mame/includes/stv.h b/src/mame/includes/stv.h index c65271b1620..c8c8f79c7a8 100644 --- a/src/mame/includes/stv.h +++ b/src/mame/includes/stv.h @@ -1,5 +1,6 @@ /*----------- defined in drivers/stv.c -----------*/ #include "cdrom.h" +#include "machine/eeprom.h" #define MAX_FILTERS (24) #define MAX_BLOCKS (200) @@ -16,7 +17,8 @@ public: m_fake_comms(*this, "fake"), m_maincpu(*this, "maincpu"), m_slave(*this, "slave"), - m_audiocpu(*this, "audiocpu") + m_audiocpu(*this, "audiocpu"), + m_eeprom(*this, "eeprom") { } @@ -140,6 +142,7 @@ public: required_device<cpu_device> m_maincpu; required_device<cpu_device> m_slave; required_device<cpu_device> m_audiocpu; + optional_device<eeprom_device> m_eeprom; bitmap_rgb32 m_tmpbitmap; DECLARE_VIDEO_START(stv_vdp2); diff --git a/src/mame/includes/superchs.h b/src/mame/includes/superchs.h index 42f4952a4d1..ebf0514e41b 100644 --- a/src/mame/includes/superchs.h +++ b/src/mame/includes/superchs.h @@ -1,3 +1,4 @@ +#include "machine/eeprom.h" struct tempsprite { int gfx; @@ -17,7 +18,8 @@ public: m_spriteram(*this,"spriteram"), m_shared_ram(*this,"shared_ram"), m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub") { } + m_subcpu(*this, "sub"), + m_eeprom(*this, "eeprom") { } UINT16 m_coin_word; required_shared_ptr<UINT32> m_ram; @@ -43,4 +45,5 @@ public: void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,const int *primasks,int x_offs,int y_offs); required_device<cpu_device> m_maincpu; required_device<cpu_device> m_subcpu; + required_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h index 3ce203eb9c3..70d47b4dcf9 100644 --- a/src/mame/includes/toaplan2.h +++ b/src/mame/includes/toaplan2.h @@ -1,3 +1,4 @@ +#include "machine/eeprom.h" /**************** Machine stuff ******************/ //#define USE_HD64x180 /* Define if CPU support is available */ //#define TRUXTON2_STEREO /* Uncomment to hear truxton2 music in stereo */ @@ -24,7 +25,8 @@ public: m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), m_oki(*this, "oki"), - m_oki1(*this, "oki1") { + m_oki1(*this, "oki1"), + m_eeprom(*this, "eeprom") { m_vdp0 = NULL; m_vdp1 = NULL; } @@ -145,4 +147,5 @@ public: optional_device<cpu_device> m_audiocpu; optional_device<okim6295_device> m_oki; optional_device<okim6295_device> m_oki1; + optional_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/includes/undrfire.h b/src/mame/includes/undrfire.h index be4331d0656..712acc5d0cb 100644 --- a/src/mame/includes/undrfire.h +++ b/src/mame/includes/undrfire.h @@ -1,3 +1,4 @@ +#include "machine/eeprom.h" struct tempsprite { int gfx; @@ -17,7 +18,8 @@ public: m_shared_ram(*this, "shared_ram"), m_spriteram(*this, "spriteram") , m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub") { } + m_subcpu(*this, "sub"), + m_eeprom(*this, "eeprom") { } UINT16 m_coin_word; UINT16 m_port_sel; @@ -53,4 +55,5 @@ public: void draw_sprites_cbombers(bitmap_ind16 &bitmap,const rectangle &cliprect,const int *primasks,int x_offs,int y_offs); required_device<cpu_device> m_maincpu; optional_device<cpu_device> m_subcpu; + required_device<eeprom_device> m_eeprom; }; diff --git a/src/mame/machine/leland.c b/src/mame/machine/leland.c index b8c2b8c2a22..a2a3f7e554a 100644 --- a/src/mame/machine/leland.c +++ b/src/mame/machine/leland.c @@ -1112,8 +1112,6 @@ READ8_MEMBER(leland_state::leland_master_input_r) WRITE8_MEMBER(leland_state::leland_master_output_w) { - eeprom_device *eeprom; - switch (offset) { case 0x09: /* /MCONT */ @@ -1122,12 +1120,11 @@ WRITE8_MEMBER(leland_state::leland_master_output_w) m_slave->set_input_line(INPUT_LINE_NMI, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE); m_slave->set_input_line(0, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE); - eeprom = machine().device<eeprom_device>("eeprom"); if (LOG_EEPROM) logerror("%04X:EE write %d%d%d\n", space.device().safe_pc(), (data >> 6) & 1, (data >> 5) & 1, (data >> 4) & 1); - eeprom->write_bit ((data & 0x10) >> 4); - eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); - eeprom->set_cs_line ((~data & 0x40) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->write_bit ((data & 0x10) >> 4); + m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->set_cs_line ((~data & 0x40) ? ASSERT_LINE : CLEAR_LINE); break; case 0x0a: /* /OGIA */ diff --git a/src/mess/includes/sms.h b/src/mess/includes/sms.h index 868f06b999b..090dd1fd0ea 100644 --- a/src/mess/includes/sms.h +++ b/src/mess/includes/sms.h @@ -30,6 +30,7 @@ public: m_main_cpu(*this, "maincpu"), m_control_cpu(*this, "control"), m_vdp(*this, "sms_vdp"), + m_eeprom(*this, "eeprom"), m_main_scr(*this, "screen"), m_is_gamegear(0), m_is_region_japan(0), @@ -45,7 +46,7 @@ public: required_device<cpu_device> m_main_cpu; optional_device<cpu_device> m_control_cpu; required_device<sega315_5124_device> m_vdp; - eeprom_device *m_eeprom; + optional_device<eeprom_device> m_eeprom; device_t *m_ym; required_device<screen_device> m_main_scr; device_t *m_left_lcd; diff --git a/src/mess/machine/sms.c b/src/mess/machine/sms.c index 06f766d0fa8..48725c6ae69 100644 --- a/src/mess/machine/sms.c +++ b/src/mess/machine/sms.c @@ -1910,7 +1910,6 @@ MACHINE_START_MEMBER(sms_state,sms) m_lphaser_1_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(sms_state::lphaser_1_callback),this)); m_lphaser_2_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(sms_state::lphaser_2_callback),this)); - m_eeprom = machine().device<eeprom_device>("eeprom"); m_ym = machine().device("ym2413"); m_left_lcd = machine().device("left_lcd"); m_right_lcd = machine().device("right_lcd"); |