summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/emu/machine/smpc.c9
-rw-r--r--src/mame/drivers/39in1.c6
-rw-r--r--src/mame/drivers/8080bw.c11
-rw-r--r--src/mame/drivers/centiped.c11
-rw-r--r--src/mame/drivers/deco32.c21
-rw-r--r--src/mame/drivers/dkong.c10
-rw-r--r--src/mame/drivers/galastrm.c7
-rw-r--r--src/mame/drivers/gticlub.c16
-rw-r--r--src/mame/drivers/gunbustr.c7
-rw-r--r--src/mame/drivers/hornet.c8
-rw-r--r--src/mame/drivers/jackpool.c24
-rw-r--r--src/mame/drivers/jaguar.c19
-rw-r--r--src/mame/drivers/kaneko16.c3
-rw-r--r--src/mame/drivers/lordgun.c15
-rw-r--r--src/mame/drivers/model2.c9
-rw-r--r--src/mame/drivers/model3.c7
-rw-r--r--src/mame/drivers/pirates.c8
-rw-r--r--src/mame/drivers/policetr.c7
-rw-r--r--src/mame/drivers/segas32.c22
-rw-r--r--src/mame/drivers/spool99.c4
-rw-r--r--src/mame/drivers/superchs.c7
-rw-r--r--src/mame/drivers/toaplan2.c4
-rw-r--r--src/mame/drivers/undrfire.c7
-rw-r--r--src/mame/drivers/wheelfir.c1
-rw-r--r--src/mame/includes/8080bw.h5
-rw-r--r--src/mame/includes/centiped.h5
-rw-r--r--src/mame/includes/dkong.h5
-rw-r--r--src/mame/includes/galastrm.h5
-rw-r--r--src/mame/includes/gunbustr.h6
-rw-r--r--src/mame/includes/jaguar.h5
-rw-r--r--src/mame/includes/kaneko16.h6
-rw-r--r--src/mame/includes/lordgun.h5
-rw-r--r--src/mame/includes/model2.h5
-rw-r--r--src/mame/includes/model3.h5
-rw-r--r--src/mame/includes/pirates.h6
-rw-r--r--src/mame/includes/policetr.h6
-rw-r--r--src/mame/includes/segas32.h6
-rw-r--r--src/mame/includes/stv.h5
-rw-r--r--src/mame/includes/superchs.h5
-rw-r--r--src/mame/includes/toaplan2.h5
-rw-r--r--src/mame/includes/undrfire.h5
-rw-r--r--src/mame/machine/leland.c9
-rw-r--r--src/mess/includes/sms.h3
-rw-r--r--src/mess/machine/sms.c1
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");