summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/30test.c8
-rw-r--r--src/mame/drivers/acommand.c22
-rw-r--r--src/mame/drivers/aquarium.c6
-rw-r--r--src/mame/drivers/arcadecl.c3
-rw-r--r--src/mame/drivers/artmagic.c3
-rw-r--r--src/mame/drivers/cischeat.c12
-rw-r--r--src/mame/drivers/deco32.c6
-rw-r--r--src/mame/drivers/deniam.c2
-rw-r--r--src/mame/drivers/egghunt.c7
-rw-r--r--src/mame/drivers/feversoc.c7
-rw-r--r--src/mame/drivers/igs011.c6
-rw-r--r--src/mame/drivers/igs017.c21
-rw-r--r--src/mame/drivers/limenko.c6
-rw-r--r--src/mame/drivers/pirates.c3
-rw-r--r--src/mame/drivers/playmark.c3
-rw-r--r--src/mame/drivers/powerbal.c2
-rw-r--r--src/mame/drivers/psikyo.c5
-rw-r--r--src/mame/drivers/relief.c5
-rw-r--r--src/mame/drivers/seibuspi.c6
-rw-r--r--src/mame/drivers/shangha3.c4
-rw-r--r--src/mame/drivers/silkroad.c2
-rw-r--r--src/mame/drivers/snowbros.c9
-rw-r--r--src/mame/drivers/spool99.c8
-rw-r--r--src/mame/drivers/sslam.c14
-rw-r--r--src/mame/drivers/taito_f3.c4
-rw-r--r--src/mame/drivers/toaplan2.c2
-rw-r--r--src/mame/drivers/tumbleb.c5
-rw-r--r--src/mame/includes/aquarium.h6
-rw-r--r--src/mame/includes/artmagic.h5
-rw-r--r--src/mame/includes/deco32.h7
-rw-r--r--src/mame/includes/pirates.h5
-rw-r--r--src/mame/includes/psikyo.h5
-rw-r--r--src/mame/includes/seibuspi.h5
-rw-r--r--src/mame/includes/shangha3.h6
-rw-r--r--src/mame/includes/silkroad.h6
-rw-r--r--src/mame/includes/taito_f3.h6
-rw-r--r--src/mame/machine/atarigen.c3
-rw-r--r--src/mame/machine/atarigen.h3
38 files changed, 126 insertions, 112 deletions
diff --git a/src/mame/drivers/30test.c b/src/mame/drivers/30test.c
index 1a9f8742a41..d5e7867d931 100644
--- a/src/mame/drivers/30test.c
+++ b/src/mame/drivers/30test.c
@@ -53,7 +53,8 @@ class namco_30test_state : public driver_device
public:
namco_30test_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki(*this, "oki") { }
UINT8 m_mux_data;
UINT8 m_oki_bank;
@@ -68,6 +69,7 @@ public:
virtual void machine_start();
virtual void machine_reset();
required_device<cpu_device> m_maincpu;
+ required_device<okim6295_device> m_oki;
};
@@ -125,10 +127,8 @@ READ8_MEMBER(namco_30test_state::hc11_okibank_r)
WRITE8_MEMBER(namco_30test_state::hc11_okibank_w)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
-
m_oki_bank = data;
- oki->set_bank_base((data & 1) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 1) ? 0x40000 : 0);
}
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index fedc2b0474f..d9e4101aad1 100644
--- a/src/mame/drivers/acommand.c
+++ b/src/mame/drivers/acommand.c
@@ -69,7 +69,9 @@ public:
m_ac_txvram(*this, "ac_txvram"),
m_spriteram(*this, "spriteram"),
m_ac_devram(*this, "ac_devram"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki1(*this, "oki1"),
+ m_oki2(*this, "oki2") { }
required_shared_ptr<UINT16> m_ac_bgvram;
required_shared_ptr<UINT16> m_ac_txvram;
@@ -98,6 +100,8 @@ public:
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, int pri_mask);
void draw_led(bitmap_ind16 &bitmap, int x, int y,UINT8 value);
required_device<cpu_device> m_maincpu;
+ required_device<okim6295_device> m_oki1;
+ required_device<okim6295_device> m_oki2;
};
@@ -329,10 +333,10 @@ READ16_MEMBER(acommand_state::ac_devices_r)
return ioport("IN0")->read();
case 0x0014/2:
case 0x0016/2:
- return machine().device<okim6295_device>("oki1")->read(space,0);
+ return m_oki1->read(space,0);
case 0x0018/2:
case 0x001a/2:
- return machine().device<okim6295_device>("oki2")->read(space,0);
+ return m_oki2->read(space,0);
case 0x0040/2:
/*
"Upper switch / Under Switch"
@@ -410,26 +414,22 @@ WRITE16_MEMBER(acommand_state::ac_devices_w)
case 0x00/2:
if (ACCESSING_BITS_0_7)
{
- okim6295_device *oki1 = machine().device<okim6295_device>("oki1");
- okim6295_device *oki2 = machine().device<okim6295_device>("oki2");
- oki1->set_bank_base(0x40000 * (data & 0x3));
- oki2->set_bank_base(0x40000 * (data & 0x30) >> 4);
+ m_oki1->set_bank_base(0x40000 * (data & 0x3));
+ m_oki2->set_bank_base(0x40000 * (data & 0x30) >> 4);
}
break;
case 0x14/2:
case 0x16/2:
if(ACCESSING_BITS_0_7)
{
- okim6295_device *oki1 = machine().device<okim6295_device>("oki1");
- oki1->write(space,0,data);
+ m_oki1->write(space,0,data);
}
break;
case 0x18/2:
case 0x1a/2:
if(ACCESSING_BITS_0_7)
{
- okim6295_device *oki2 = machine().device<okim6295_device>("oki2");
- oki2->write(space,0,data);
+ m_oki2->write(space,0,data);
}
break;
case 0x1c/2:
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index 38ca0276e80..eac32a030f3 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -88,15 +88,13 @@ UINT8 aquarium_state::aquarium_snd_bitswap( UINT8 scrambled_data )
READ8_MEMBER(aquarium_state::aquarium_oki_r)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- return aquarium_snd_bitswap(oki->read(space, offset));
+ return aquarium_snd_bitswap(m_oki->read(space, offset));
}
WRITE8_MEMBER(aquarium_state::aquarium_oki_w)
{
logerror("%s:Writing %04x to the OKI M6295\n", machine().describe_context(), aquarium_snd_bitswap(data));
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->write(space, offset, (aquarium_snd_bitswap(data)));
+ m_oki->write(space, offset, (aquarium_snd_bitswap(data)));
}
diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c
index 926503ab20f..55f6336d199 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -128,8 +128,7 @@ WRITE16_MEMBER(arcadecl_state::latch_w)
/* lower byte being modified? */
if (ACCESSING_BITS_0_7)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x80) ? 0x40000 : 0x00000);
+ m_oki->set_bank_base((data & 0x80) ? 0x40000 : 0x00000);
set_oki6295_volume((data & 0x001f) * 100 / 0x1f);
}
}
diff --git a/src/mame/drivers/artmagic.c b/src/mame/drivers/artmagic.c
index 1e5bc885451..1e982c501db 100644
--- a/src/mame/drivers/artmagic.c
+++ b/src/mame/drivers/artmagic.c
@@ -118,8 +118,7 @@ WRITE16_MEMBER(artmagic_state::control_w)
/* OKI banking here */
if (offset == 0)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((((data >> 4) & 1) * 0x40000) % oki->region()->bytes());
+ m_oki->set_bank_base((((data >> 4) & 1) * 0x40000) % m_oki->region()->bytes());
}
logerror("%06X:control_w(%d) = %04X\n", space.device().safe_pc(), offset, data);
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index 480892d7e98..d4013543f57 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -483,10 +483,8 @@ WRITE16_MEMBER(cischeat_state::scudhamm_oki_bank_w)
{
if (ACCESSING_BITS_0_7)
{
- okim6295_device *oki1 = machine().device<okim6295_device>("oki1");
- okim6295_device *oki2 = machine().device<okim6295_device>("oki2");
- oki1->set_bank_base(0x40000 * ((data >> 0) & 0x3) );
- oki2->set_bank_base(0x40000 * ((data >> 4) & 0x3) );
+ m_oki1->set_bank_base(0x40000 * ((data >> 0) & 0x3) );
+ m_oki2->set_bank_base(0x40000 * ((data >> 4) & 0x3) );
}
}
@@ -679,10 +677,8 @@ WRITE16_MEMBER(cischeat_state::bigrun_soundbank_w)
{
if (ACCESSING_BITS_0_7)
{
- okim6295_device *oki1 = machine().device<okim6295_device>("oki1");
- okim6295_device *oki2 = machine().device<okim6295_device>("oki2");
- oki1->set_bank_base(0x40000 * ((data >> 0) & 1) );
- oki2->set_bank_base(0x40000 * ((data >> 4) & 1) );
+ m_oki1->set_bank_base(0x40000 * ((data >> 0) & 1) );
+ m_oki2->set_bank_base(0x40000 * ((data >> 4) & 1) );
}
}
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index c65b878bce5..f4e30fbfbc2 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -1623,10 +1623,8 @@ WRITE_LINE_MEMBER(deco32_state::sound_irq_nslasher)
WRITE8_MEMBER(deco32_state::sound_bankswitch_w)
{
- okim6295_device *oki1 = machine().device<okim6295_device>("oki1");
- okim6295_device *oki2 = machine().device<okim6295_device>("oki2");
- oki1->set_bank_base(((data >> 0)& 1) * 0x40000);
- oki2->set_bank_base(((data >> 1)& 1) * 0x40000);
+ m_oki1->set_bank_base(((data >> 0)& 1) * 0x40000);
+ m_oki2->set_bank_base(((data >> 1)& 1) * 0x40000);
}
static const eeprom_interface eeprom_interface_tattass =
diff --git a/src/mame/drivers/deniam.c b/src/mame/drivers/deniam.c
index 539b36498a5..7cc8563807d 100644
--- a/src/mame/drivers/deniam.c
+++ b/src/mame/drivers/deniam.c
@@ -261,7 +261,7 @@ void deniam_state::machine_reset()
doesn't matter since the coinup sfx (sample borrowed from 'tyrian' on PC)
exists in both banks; it properly sets the bank as soon as the ufo sfx
plays or a player character is selected on the character select screen */
- machine().device<okim6295_device>("oki")->set_bank_base(0x00000);
+ m_oki->set_bank_base(0x00000);
}
static MACHINE_CONFIG_START( deniam16b, deniam_state )
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index b899370ceb8..905f0c116b0 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -52,7 +52,8 @@ public:
: driver_device(mconfig, type, tag),
m_audiocpu(*this, "audiocpu"),
m_atram(*this, "atram"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki(*this, "oki") { }
/* video-related */
tilemap_t *m_bg_tilemap;
@@ -84,6 +85,7 @@ public:
UINT32 screen_update_egghunt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect );
required_device<cpu_device> m_maincpu;
+ required_device<okim6295_device> m_oki;
};
@@ -217,9 +219,8 @@ READ8_MEMBER(egghunt_state::egghunt_okibanking_r)
WRITE8_MEMBER(egghunt_state::egghunt_okibanking_w)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
m_okibanking = data;
- oki->set_bank_base((data & 0x10) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x10) ? 0x40000 : 0);
}
static ADDRESS_MAP_START( egghunt_map, AS_PROGRAM, 8, egghunt_state )
diff --git a/src/mame/drivers/feversoc.c b/src/mame/drivers/feversoc.c
index 6b3d3a39565..9416c4a739a 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -70,7 +70,8 @@ public:
feversoc_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_spriteram(*this, "spriteram"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki(*this, "oki") { }
UINT16 m_x;
required_shared_ptr<UINT32> m_spriteram;
@@ -82,6 +83,7 @@ public:
UINT32 screen_update_feversoc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(feversoc_irq);
required_device<cpu_device> m_maincpu;
+ required_device<okim6295_device> m_oki;
};
@@ -157,8 +159,7 @@ WRITE32_MEMBER(feversoc_state::output_w)
//data>>16 & 2 coin out
coin_counter_w(machine(), 1,data>>16 & 4);
//data>>16 & 8 coin hopper
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base(0x40000 * (((data>>16) & 0x20)>>5));
+ m_oki->set_bank_base(0x40000 * (((data>>16) & 0x20)>>5));
}
if(ACCESSING_BITS_0_15)
{
diff --git a/src/mame/drivers/igs011.c b/src/mame/drivers/igs011.c
index fc89ec06416..b5e987576e0 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -1517,8 +1517,7 @@ WRITE16_MEMBER(igs011_state::lhb2_igs003_w)
{
m_lhb2_pen_hi = data & 0x07;
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x08) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x08) ? 0x40000 : 0);
}
if ( m_lhb2_pen_hi & ~0xf )
@@ -1652,8 +1651,7 @@ WRITE16_MEMBER(igs011_state::wlcc_igs003_w)
coin_counter_w(machine(), 0, data & 0x01);
// coin out data & 0x02
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x10) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x10) ? 0x40000 : 0);
m_igs_hopper = data & 0x20;
}
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index e5e21eb5f41..4a9d6ef6cf6 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -58,13 +58,15 @@ public:
m_maincpu(*this, "maincpu"),
m_spriteram(*this, "spriteram", 0),
m_fg_videoram(*this, "fg_videoram", 0),
- m_bg_videoram(*this, "bg_videoram", 0){ }
+ m_bg_videoram(*this, "bg_videoram", 0),
+ m_oki(*this, "oki"){ }
int m_input_addr;
required_device<cpu_device> m_maincpu;
optional_shared_ptr<UINT8> m_spriteram;
optional_shared_ptr<UINT8> m_fg_videoram;
optional_shared_ptr<UINT8> m_bg_videoram;
+ required_device<okim6295_device> m_oki;
int m_toggle;
int m_debug_addr;
@@ -1511,8 +1513,7 @@ WRITE16_MEMBER(igs017_state::sdmg2_magic_w)
case 0x02:
if (ACCESSING_BITS_0_7)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x80) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x80) ? 0x40000 : 0);
}
break;
@@ -1613,8 +1614,7 @@ WRITE16_MEMBER(igs017_state::mgdha_magic_w)
if (ACCESSING_BITS_0_7)
{
// bit 7?
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x40) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x40) ? 0x40000 : 0);
}
break;
@@ -1710,7 +1710,7 @@ WRITE8_MEMBER(igs017_state::tjsb_output_w)
break;
case 0x02:
- machine().device<okim6295_device>("oki")->set_bank_base((data & 0x10) ? 0x40000 : 0); // oki bank (0x20/0x30)
+ m_oki->set_bank_base((data & 0x10) ? 0x40000 : 0); // oki bank (0x20/0x30)
if (!(data & ~0x30))
return;
break;
@@ -1801,8 +1801,7 @@ WRITE16_MEMBER(igs017_state::lhzb2_magic_w)
case 0x01:
if (ACCESSING_BITS_0_7)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x80) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x80) ? 0x40000 : 0);
if ( data & 0x7f )
logerror("%s: warning, unknown bits written in oki bank = %04x\n", machine().describe_context(), data);
@@ -2162,8 +2161,7 @@ WRITE16_MEMBER(igs017_state::lhzb2a_input_select_w)
}
if (ACCESSING_BITS_8_15)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x0100) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x0100) ? 0x40000 : 0);
if ( data & 0x0fe00 )
logerror("%s: warning, unknown bits written in input_select = %04x\n", machine().describe_context(), data);
@@ -2220,8 +2218,7 @@ WRITE16_MEMBER(igs017_state::slqz2_magic_w)
case 0x00:
if (ACCESSING_BITS_0_7)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x01) ? 0x40000 : 0);
+ m_oki->set_bank_base((data & 0x01) ? 0x40000 : 0);
// m_hopper = data & 0x20; // hopper motor
// coin_counter_w(machine(), 1, data & 0x40); // coin out counter
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 3ee75564745..3e0633f3d24 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -41,7 +41,8 @@ public:
m_spriteram(*this, "spriteram"),
m_spriteram2(*this, "spriteram2"),
m_videoreg(*this, "videoreg"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki(*this, "oki") { }
required_shared_ptr<UINT32> m_mainram;
required_shared_ptr<UINT32> m_fg_videoram;
@@ -92,6 +93,7 @@ public:
void draw_sprites(UINT32 *sprites, const rectangle &cliprect, int count);
void copy_sprites(bitmap_ind16 &bitmap, bitmap_ind16 &sprites_bitmap, bitmap_ind8 &priority_bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
+ optional_device<okim6295_device> m_oki;
};
/*****************************************************************************************************
@@ -288,7 +290,7 @@ READ8_MEMBER(limenko_state::spotty_sound_r)
if(m_spotty_sound_cmd == 0xf7)
return soundlatch_byte_r(space,0);
else
- return machine().device<okim6295_device>("oki")->read(space,0);
+ return m_oki->read(space,0);
}
static ADDRESS_MAP_START( spotty_sound_io_map, AS_IO, 8, limenko_state )
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index 5f04174f0d4..4d33d7352ae 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -115,8 +115,7 @@ WRITE16_MEMBER(pirates_state::pirates_out_w)
m_eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
/* bit 6 selects oki bank */
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base((data & 0x40) ? 0x40000 : 0x00000);
+ m_oki->set_bank_base((data & 0x40) ? 0x40000 : 0x00000);
/* bit 7 used (function unknown) */
}
diff --git a/src/mame/drivers/playmark.c b/src/mame/drivers/playmark.c
index c00acb3817b..0887b7a9e02 100644
--- a/src/mame/drivers/playmark.c
+++ b/src/mame/drivers/playmark.c
@@ -195,8 +195,7 @@ WRITE8_MEMBER(playmark_state::playmark_snd_control_w)
if ((data & 0x38) == 0x18)
{
// logerror("PC$%03x Writing %02x to OKI1, PortC=%02x, Code=%02x\n",space.device().safe_pcbase(),playmark_oki_command,playmark_oki_control,playmark_snd_command);
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->write(space, 0, m_oki_command);
+ m_oki->write(space, 0, m_oki_command);
}
}
diff --git a/src/mame/drivers/powerbal.c b/src/mame/drivers/powerbal.c
index 4f725117e32..32a4017bf27 100644
--- a/src/mame/drivers/powerbal.c
+++ b/src/mame/drivers/powerbal.c
@@ -94,7 +94,7 @@ WRITE16_MEMBER(powerbal_state::oki_banking)
int addr = 0x40000 * ((data & 3) - 1);
if (addr < machine().root_device().memregion("oki")->bytes())
- machine().device<okim6295_device>("oki")->set_bank_base(addr);
+ m_oki->set_bank_base(addr);
}
}
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index 0c3a591cd23..fc1b420a44a 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -317,7 +317,7 @@ ADDRESS_MAP_END
READ32_MEMBER(psikyo_state::s1945bl_oki_r)
{
- UINT8 dat = machine().device<okim6295_device>("oki")->read(space, 0);
+ UINT8 dat = m_oki->read(space, 0);
return dat << 24;
}
@@ -325,8 +325,7 @@ WRITE32_MEMBER(psikyo_state::s1945bl_oki_w)
{
if (ACCESSING_BITS_24_31)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->write(space, 0, data >> 24);
+ m_oki->write(space, 0, data >> 24);
}
if (ACCESSING_BITS_16_23)
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index 71bf9d4c8c5..424ab784061 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -69,7 +69,7 @@ MACHINE_RESET_MEMBER(relief_state,relief)
atarigen_state::machine_reset();
atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2);
- machine().device<okim6295_device>("oki")->set_bank_base(0);
+ m_oki->set_bank_base(0);
m_ym2413_volume = 15;
m_overall_volume = 127;
m_adpcm_bank_base = 0;
@@ -110,8 +110,7 @@ WRITE16_MEMBER(relief_state::audio_control_w)
if (ACCESSING_BITS_8_15)
m_adpcm_bank_base = (0x100000 * ((data >> 8) & 1)) | (m_adpcm_bank_base & 0x0c0000);
- okim6295_device *oki = machine().device<okim6295_device>("oki");
- oki->set_bank_base(m_adpcm_bank_base);
+ m_oki->set_bank_base(m_adpcm_bank_base);
}
diff --git a/src/mame/drivers/seibuspi.c b/src/mame/drivers/seibuspi.c
index eb55092517e..bd927c2a6ff 100644
--- a/src/mame/drivers/seibuspi.c
+++ b/src/mame/drivers/seibuspi.c
@@ -866,8 +866,6 @@ READ32_MEMBER(seibuspi_state::spi_unknown_r)
WRITE32_MEMBER(seibuspi_state::eeprom_w)
{
- okim6295_device *oki2 = machine().device<okim6295_device>("oki2");
-
// tile banks
if( ACCESSING_BITS_16_23 ) {
rf2_set_layer_banks(data >> 16);
@@ -878,8 +876,8 @@ WRITE32_MEMBER(seibuspi_state::eeprom_w)
}
// oki banking
- if (oki2 != NULL)
- oki2->set_bank_base((data & 0x4000000) ? 0x40000 : 0);
+ if (m_oki2 != NULL)
+ m_oki2->set_bank_base((data & 0x4000000) ? 0x40000 : 0);
}
WRITE32_MEMBER(seibuspi_state::z80_prg_fifo_w)
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index abbed69c471..cf0b5861d50 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -88,7 +88,7 @@ WRITE16_MEMBER(shangha3_state::heberpop_coinctrl_w)
if (ACCESSING_BITS_0_7)
{
/* the sound ROM bank is selected by the main CPU! */
- machine().device<okim6295_device>("oki")->set_bank_base((data & 0x08) ? 0x40000 : 0x00000);
+ m_oki->set_bank_base((data & 0x08) ? 0x40000 : 0x00000);
coin_lockout_w(machine(), 0,~data & 0x04);
coin_lockout_w(machine(), 1,~data & 0x04);
@@ -102,7 +102,7 @@ WRITE16_MEMBER(shangha3_state::blocken_coinctrl_w)
if (ACCESSING_BITS_0_7)
{
/* the sound ROM bank is selected by the main CPU! */
- machine().device<okim6295_device>("oki")->set_bank_base(((data >> 4) & 3) * 0x40000);
+ m_oki->set_bank_base(((data >> 4) & 3) * 0x40000);
coin_lockout_w(machine(), 0,~data & 0x04);
coin_lockout_w(machine(), 1,~data & 0x04);
diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c
index 59e8a659592..b38f108c897 100644
--- a/src/mame/drivers/silkroad.c
+++ b/src/mame/drivers/silkroad.c
@@ -139,7 +139,7 @@ WRITE32_MEMBER(silkroad_state::silk_6295_bank_w)
{
int bank = (data & 0x3000000) >> 24;
if(bank < 3)
- machine().device<okim6295_device>("oki1")->set_bank_base(0x40000 * (bank));
+ m_oki1->set_bank_base(0x40000 * (bank));
}
}
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 4f6574a34c9..90d1e11e30f 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -136,8 +136,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(snowbros_state::snowbros_irq)
TIMER_DEVICE_CALLBACK_MEMBER(snowbros_state::snowbros3_irq)
{
- okim6295_device *adpcm = machine().device<okim6295_device>("oki");
- int status = adpcm->read_status();
+ int status = m_oki->read_status();
int scanline = param;
if(scanline == 240)
@@ -153,8 +152,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(snowbros_state::snowbros3_irq)
{
if ((status&0x08)==0x00)
{
- adpcm->write_command(0x80|m_sb3_music);
- adpcm->write_command(0x00|0x82);
+ m_oki->write_command(0x80|m_sb3_music);
+ m_oki->write_command(0x00|0x82);
}
}
@@ -162,7 +161,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(snowbros_state::snowbros3_irq)
{
if ((status&0x08)==0x08)
{
- adpcm->write_command(0x40); /* Stop playing music */
+ m_oki->write_command(0x40); /* Stop playing music */
}
}
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index 21726e165ec..7024778d19c 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -103,7 +103,8 @@ public:
m_vram(*this, "vram"),
m_cram(*this, "cram"),
m_maincpu(*this, "maincpu"),
- m_eeprom(*this, "eeprom") { }
+ m_eeprom(*this, "eeprom"),
+ m_oki(*this, "oki") { }
required_shared_ptr<UINT8> m_main;
required_shared_ptr<UINT8> m_vram;
@@ -122,6 +123,7 @@ public:
UINT32 screen_update_spool99(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<eeprom_device> m_eeprom;
+ required_device<okim6295_device> m_oki;
};
TILE_GET_INFO_MEMBER(spool99_state::get_spool99_tile_info)
@@ -185,7 +187,7 @@ READ8_MEMBER(spool99_state::spool99_io_r)
// case 0xafe5: return 1;
// case 0xafe6: return 1;
case 0xafe7: return m_eeprom->read_bit();
- case 0xaff8: return machine().device<okim6295_device>("oki")->read(space,0);
+ case 0xaff8: return m_oki->read(space,0);
}
}
// printf("%04x %d\n",offset+0xaf00,io_switch);
@@ -243,7 +245,7 @@ READ8_MEMBER(spool99_state::vcarn_io_r)
case 0xa725: return ioport("HOLD3")->read();
case 0xa726: return ioport("HOLD4")->read();
case 0xa727: return ioport("HOLD2")->read();
- case 0xa780: return machine().device<okim6295_device>("oki")->read(space,0);
+ case 0xa780: return m_oki->read(space,0);
case 0xa7a0: return ioport("HOLD1")->read();
case 0xa7a1: return ioport("HOLD5")->read();
case 0xa7a2: return ioport("START")->read();
diff --git a/src/mame/drivers/sslam.c b/src/mame/drivers/sslam.c
index 88222140477..05c35e7309b 100644
--- a/src/mame/drivers/sslam.c
+++ b/src/mame/drivers/sslam.c
@@ -216,9 +216,7 @@ static const UINT8 sslam_snd_loop[8][19] =
TIMER_CALLBACK_MEMBER(sslam_state::music_playback)
{
int pattern = 0;
- okim6295_device *device = machine().device<okim6295_device>("oki");
-
- if ((device->read_status() & 0x08) == 0)
+ if ((m_oki->read_status() & 0x08) == 0)
{
m_bar += 1;
pattern = sslam_snd_loop[m_melody][m_bar];
@@ -229,8 +227,8 @@ TIMER_CALLBACK_MEMBER(sslam_state::music_playback)
pattern = sslam_snd_loop[m_melody][m_bar];
}
logerror("Changing bar in music track to pattern %02x\n",pattern);
- device->write_command(0x80 | pattern);
- device->write_command(0x81);
+ m_oki->write_command(0x80 | pattern);
+ m_oki->write_command(0x81);
}
else if (pattern == 0x00) { /* Non-looped track. Stop playing it */
m_track = 0;
@@ -432,7 +430,7 @@ READ8_MEMBER(sslam_state::playmark_snd_command_r)
data = soundlatch_byte_r(space,0);
}
else if ((m_oki_control & 0x38) == 0x28) {
- data = (machine().device<okim6295_device>("oki")->read(space,0) & 0x0f);
+ data = (m_oki->read(space,0) & 0x0f);
}
return data;
@@ -452,13 +450,13 @@ WRITE8_MEMBER(sslam_state::playmark_snd_control_w)
if (m_oki_bank != ((data & 3) - 1))
{
m_oki_bank = (data & 3) - 1;
- machine().device<okim6295_device>("oki")->set_bank_base(0x40000 * m_oki_bank);
+ m_oki->set_bank_base(0x40000 * m_oki_bank);
}
}
if ((data & 0x38) == 0x18)
{
- machine().device<okim6295_device>("oki")->write(space, 0, m_oki_command);
+ m_oki->write(space, 0, m_oki_command);
}
// !(data & 0x80) -> sound enable
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index 5b15521d636..ddb7f493b6a 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -3742,12 +3742,12 @@ DRIVER_INIT_MEMBER(taito_f3_state,bubsymph)
READ32_MEMBER(taito_f3_state::bubsympb_oki_r)
{
- return machine().device<okim6295_device>("oki")->read(space,0);
+ return m_oki->read(space,0);
}
WRITE32_MEMBER(taito_f3_state::bubsympb_oki_w)
{
//printf("write %08x %08x\n",data,mem_mask);
- if (ACCESSING_BITS_0_7) machine().device<okim6295_device>("oki")->write(space, 0,data&0xff);
+ if (ACCESSING_BITS_0_7) m_oki->write(space, 0,data&0xff);
//if (mem_mask==0x000000ff) downcast<okim6295_device *>(device)->write(0,data&0xff);
if (ACCESSING_BITS_16_23)
{
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index d544cac1809..8cb836f94fa 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -589,7 +589,7 @@ WRITE16_MEMBER(toaplan2_state::shippumd_coin_word_w)
if (ACCESSING_BITS_0_7)
{
toaplan2_coin_w(space, offset, data & 0xff);
- machine().device<okim6295_device>("oki")->set_bank_base(((data & 0x10) >> 4) * 0x40000);
+ m_oki->set_bank_base(((data & 0x10) >> 4) * 0x40000);
}
if (ACCESSING_BITS_8_15 && (data & 0xff00) )
{
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index d5a4ecc040b..e671fa4cdae 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -314,15 +314,14 @@ Stephh's notes (based on the games M68000 code and some tests) :
WRITE16_MEMBER(tumbleb_state::tumblepb_oki_w)
{
- okim6295_device *oki = machine().device<okim6295_device>("oki");
if (mem_mask == 0xffff)
{
- oki->write(space, 0, data & 0xff);
+ m_oki->write(space, 0, data & 0xff);
//printf("tumbleb_oki_w %04x %04x\n", data, mem_mask);
}
else
{
- oki->write(space, 0, (data >> 8) & 0xff);
+ m_oki->write(space, 0, (data >> 8) & 0xff);
//printf("tumbleb_oki_w %04x %04x\n", data, mem_mask);
}
/* STUFF IN OTHER BYTE TOO..*/
diff --git a/src/mame/includes/aquarium.h b/src/mame/includes/aquarium.h
index 200275c67c5..15bd865c2e6 100644
--- a/src/mame/includes/aquarium.h
+++ b/src/mame/includes/aquarium.h
@@ -1,4 +1,4 @@
-
+#include "sound/okim6295.h"
class aquarium_state : public driver_device
@@ -12,7 +12,8 @@ public:
m_spriteram(*this, "spriteram"),
m_scroll(*this, "scroll"),
m_audiocpu(*this, "audiocpu"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki(*this, "oki") { }
/* memory pointers */
required_shared_ptr<UINT16> m_mid_videoram;
@@ -52,4 +53,5 @@ public:
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int y_offs );
UINT8 aquarium_snd_bitswap( UINT8 scrambled_data );
required_device<cpu_device> m_maincpu;
+ required_device<okim6295_device> m_oki;
};
diff --git a/src/mame/includes/artmagic.h b/src/mame/includes/artmagic.h
index 1ce35ea01f2..d2852916f4d 100644
--- a/src/mame/includes/artmagic.h
+++ b/src/mame/includes/artmagic.h
@@ -3,6 +3,7 @@
Art & Magic hardware
**************************************************************************/
+#include "sound/okim6295.h"
class artmagic_state : public driver_device
{
@@ -13,7 +14,8 @@ public:
m_control(*this, "control"),
m_vram0(*this, "vram0"),
m_vram1(*this, "vram1"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki(*this, "oki") { }
required_device<tlc34076_device> m_tlc34076;
required_shared_ptr<UINT16> m_control;
@@ -54,6 +56,7 @@ public:
virtual void video_start();
TIMER_CALLBACK_MEMBER(irq_off);
required_device<cpu_device> m_maincpu;
+ required_device<okim6295_device> m_oki;
};
diff --git a/src/mame/includes/deco32.h b/src/mame/includes/deco32.h
index 293db72bb42..50d7a1ad3cf 100644
--- a/src/mame/includes/deco32.h
+++ b/src/mame/includes/deco32.h
@@ -2,6 +2,7 @@
#include "video/bufsprite.h"
#include "video/decospr.h"
#include "machine/eeprom.h"
+#include "sound/okim6295.h"
class deco32_state : public driver_device
{
@@ -21,7 +22,9 @@ public:
m_sprgen(*this, "spritegen"),
m_sprgen1(*this, "spritegen1"),
m_sprgen2(*this, "spritegen2"),
- m_eeprom(*this, "eeprom")
+ m_eeprom(*this, "eeprom"),
+ m_oki1(*this, "oki1"),
+ m_oki2(*this, "oki2")
{ }
required_device<cpu_device> m_maincpu;
@@ -41,6 +44,8 @@ public:
optional_device<decospr_device> m_sprgen2;
optional_device<eeprom_device> m_eeprom;
+ optional_device<okim6295_device> m_oki1;
+ optional_device<okim6295_device> m_oki2;
int m_raster_enable;
timer_device *m_raster_irq_timer;
diff --git a/src/mame/includes/pirates.h b/src/mame/includes/pirates.h
index bb1748ba764..b2c4ab45b20 100644
--- a/src/mame/includes/pirates.h
+++ b/src/mame/includes/pirates.h
@@ -1,4 +1,5 @@
#include "machine/eeprom.h"
+#include "sound/okim6295.h"
class pirates_state : public driver_device
{
@@ -11,7 +12,8 @@ public:
m_fg_tileram(*this, "fg_tileram"),
m_bg_tileram(*this, "bg_tileram"),
m_maincpu(*this, "maincpu"),
- m_eeprom(*this, "eeprom") { }
+ m_eeprom(*this, "eeprom"),
+ m_oki(*this, "oki") { }
required_shared_ptr<UINT16> m_spriteram;
required_shared_ptr<UINT16> m_scroll;
@@ -41,4 +43,5 @@ public:
void pirates_decrypt_oki();
required_device<cpu_device> m_maincpu;
required_device<eeprom_device> m_eeprom;
+ required_device<okim6295_device> m_oki;
};
diff --git a/src/mame/includes/psikyo.h b/src/mame/includes/psikyo.h
index 5d715c386cd..206211d193d 100644
--- a/src/mame/includes/psikyo.h
+++ b/src/mame/includes/psikyo.h
@@ -3,6 +3,7 @@
Psikyo Games
*************************************************************************/
+#include "sound/okim6295.h"
class psikyo_state : public driver_device
{
@@ -15,7 +16,8 @@ public:
m_vregs(*this, "vregs"),
m_bootleg_spritebuffer(*this, "boot_spritebuf"),
m_audiocpu(*this, "audiocpu"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki(*this, "oki") { }
/* memory pointers */
required_shared_ptr<UINT32> m_spriteram;
@@ -103,6 +105,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(irqhandler);
DECLARE_WRITE_LINE_MEMBER(sound_irq);
required_device<cpu_device> m_maincpu;
+ optional_device<okim6295_device> m_oki;
};
/*----------- defined in video/psikyo.c -----------*/
diff --git a/src/mame/includes/seibuspi.h b/src/mame/includes/seibuspi.h
index e5f4d3e0be1..85fa8d98be4 100644
--- a/src/mame/includes/seibuspi.h
+++ b/src/mame/includes/seibuspi.h
@@ -1,5 +1,6 @@
#include "machine/intelfsh.h"
#include "machine/eeprom.h"
+#include "sound/okim6295.h"
#define FIFO_SIZE 512
@@ -12,7 +13,8 @@ public:
m_spimainram(*this, "spimainram"),
m_maincpu(*this, "maincpu"),
m_soundcpu(*this, "soundcpu"),
- m_eeprom(*this, "eeprom") { }
+ m_eeprom(*this, "eeprom"),
+ m_oki2(*this, "oki2") { }
optional_shared_ptr<UINT32> m_spi_scrollram;
required_shared_ptr<UINT32> m_spimainram;
@@ -138,6 +140,7 @@ public:
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_soundcpu;
required_device<eeprom_device> m_eeprom;
+ optional_device<okim6295_device> m_oki2;
};
/*----------- defined in machine/spisprit.c -----------*/
void seibuspi_sprite_decrypt(UINT8 *src, int romsize);
diff --git a/src/mame/includes/shangha3.h b/src/mame/includes/shangha3.h
index d992dbc9b82..e9f6785cf84 100644
--- a/src/mame/includes/shangha3.h
+++ b/src/mame/includes/shangha3.h
@@ -1,3 +1,5 @@
+#include "sound/okim6295.h"
+
class shangha3_state : public driver_device
{
public:
@@ -5,7 +7,8 @@ public:
: driver_device(mconfig, type, tag),
m_ram(*this, "ram"),
m_maincpu(*this, "maincpu"),
- m_audiocpu(*this, "audiocpu") { }
+ m_audiocpu(*this, "audiocpu"),
+ m_oki(*this, "oki") { }
int m_prot_count;
required_shared_ptr<UINT16> m_ram;
@@ -33,4 +36,5 @@ public:
DECLARE_WRITE_LINE_MEMBER(irqhandler);
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
+ required_device<okim6295_device> m_oki;
};
diff --git a/src/mame/includes/silkroad.h b/src/mame/includes/silkroad.h
index f7ea3cfc923..3110b364018 100644
--- a/src/mame/includes/silkroad.h
+++ b/src/mame/includes/silkroad.h
@@ -1,3 +1,5 @@
+#include "sound/okim6295.h"
+
class silkroad_state : public driver_device
{
public:
@@ -8,7 +10,8 @@ public:
m_vidram3(*this, "vidram3"),
m_sprram(*this, "sprram"),
m_regs(*this, "regs"),
- m_maincpu(*this, "maincpu") { }
+ m_maincpu(*this, "maincpu"),
+ m_oki1(*this, "oki1") { }
required_shared_ptr<UINT32> m_vidram;
required_shared_ptr<UINT32> m_vidram2;
@@ -32,4 +35,5 @@ public:
UINT32 screen_update_silkroad(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
+ required_device<okim6295_device> m_oki1;
};
diff --git a/src/mame/includes/taito_f3.h b/src/mame/includes/taito_f3.h
index 3207f2c27d6..5cd4b2797f8 100644
--- a/src/mame/includes/taito_f3.h
+++ b/src/mame/includes/taito_f3.h
@@ -1,3 +1,5 @@
+#include "sound/okim6295.h"
+
/* This it the best way to allow game specific kludges until the system is fully understood */
enum {
/* Early F3 class games, these are not cartridge games and system features may be different */
@@ -47,7 +49,8 @@ public:
: driver_device(mconfig, type, tag),
m_f3_ram(*this,"f3_ram") ,
m_maincpu(*this, "maincpu"),
- m_audiocpu(*this, "audiocpu") { }
+ m_audiocpu(*this, "audiocpu"),
+ m_oki(*this, "oki") { }
UINT16 *m_videoram;
UINT16 *m_spriteram;
@@ -278,4 +281,5 @@ public:
TIMER_CALLBACK_MEMBER(f3_interrupt3);
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
+ optional_device<okim6295_device> m_oki;
};
diff --git a/src/mame/machine/atarigen.c b/src/mame/machine/atarigen.c
index c2a524e6b52..910c11e8d34 100644
--- a/src/mame/machine/atarigen.c
+++ b/src/mame/machine/atarigen.c
@@ -133,7 +133,8 @@ atarigen_state::atarigen_state(const machine_config &mconfig, device_type type,
m_playfield2_latch(0),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
- m_jsacpu(*this, "jsa")
+ m_jsacpu(*this, "jsa"),
+ m_oki(*this, "oki")
{
}
diff --git a/src/mame/machine/atarigen.h b/src/mame/machine/atarigen.h
index 0f478a25d0f..2f678177ddb 100644
--- a/src/mame/machine/atarigen.h
+++ b/src/mame/machine/atarigen.h
@@ -43,7 +43,7 @@
#include "machine/nvram.h"
#include "machine/er2055.h"
#include "cpu/m6502/m6502.h"
-
+#include "sound/okim6295.h"
/***************************************************************************
CONSTANTS
@@ -277,6 +277,7 @@ public:
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
optional_device<m6502_device> m_jsacpu;
+ optional_device<okim6295_device> m_oki;
};