oki tag lookup removal (nw)

This commit is contained in:
Miodrag Milanovic 2013-04-12 07:53:05 +00:00
parent b57ab19a6a
commit 3d7524a02d
20 changed files with 75 additions and 72 deletions

View File

@ -703,16 +703,12 @@ ADDRESS_MAP_END
WRITE16_MEMBER(cischeat_state::cischeat_soundbank_1_w)
{
device_t *device = machine().device("oki1");
okim6295_device *oki = downcast<okim6295_device *>(device);
if (ACCESSING_BITS_0_7) oki->set_bank_base(0x40000 * (data & 1) );
if (ACCESSING_BITS_0_7) m_oki1->set_bank_base(0x40000 * (data & 1) );
}
WRITE16_MEMBER(cischeat_state::cischeat_soundbank_2_w)
{
device_t *device = machine().device("oki2");
okim6295_device *oki = downcast<okim6295_device *>(device);
if (ACCESSING_BITS_0_7) oki->set_bank_base(0x40000 * (data & 1) );
if (ACCESSING_BITS_0_7) m_oki2->set_bank_base(0x40000 * (data & 1) );
}
static ADDRESS_MAP_START( cischeat_sound_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM

View File

@ -30,6 +30,7 @@ public:
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_deco_tilegen1(*this, "tilegen1"),
m_oki1(*this, "oki1"),
m_oki2(*this, "oki2"),
m_sprgen(*this, "spritegen")
{ }
@ -37,6 +38,7 @@ public:
/* devices */
required_device<arm_device> m_maincpu;
required_device<deco16ic_device> m_deco_tilegen1;
optional_device<okim6295_device> m_oki1;
optional_device<okim6295_device> m_oki2;
optional_device<decospr_device> m_sprgen;
@ -104,9 +106,7 @@ WRITE32_MEMBER(deco156_state::hvysmsh_eeprom_w)
WRITE32_MEMBER(deco156_state::hvysmsh_oki_0_bank_w)
{
device_t *device = machine().device("oki1");
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base((data & 1) * 0x40000);
m_oki1->set_bank_base((data & 1) * 0x40000);
}
WRITE32_MEMBER(deco156_state::wcvol95_nonbuffered_palette_w)

View File

@ -274,9 +274,7 @@ WRITE8_MEMBER(galpani2_state::galpani2_oki1_bank_w)
WRITE8_MEMBER(galpani2_state::galpani2_oki2_bank_w)
{
device_t *device = machine().device("oki2");
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base(0x40000 * (data & 0xf) );
m_oki2->set_bank_base(0x40000 * (data & 0xf) );
logerror("%s : %s bank %08X\n",machine().describe_context(),tag(),data);
}

View File

@ -108,7 +108,8 @@ public:
highvdeo_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_blit_ram(*this, "blit_ram"),
m_maincpu(*this, "maincpu") { }
m_maincpu(*this, "maincpu"),
m_okim6376(*this, "oki") { }
required_shared_ptr<UINT16> m_blit_ram;
UINT16 m_vblank_bit;
@ -143,6 +144,7 @@ public:
UINT32 screen_update_brasil(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vblank_irq);
required_device<cpu_device> m_maincpu;
required_device<okim6376_device> m_okim6376;
};
@ -276,22 +278,20 @@ WRITE16_MEMBER(highvdeo_state::tv_vcf_bankselect_w)
WRITE16_MEMBER(highvdeo_state::tv_oki6376_w)
{
device_t *device = machine().device("oki");
static int okidata;
if (ACCESSING_BITS_0_7 && okidata != data)
{
okidata = data;
okim6376_w(device, space, 0, data & ~0x80);
okim6376_st_w (device, data & 0x80);
okim6376_w(m_okim6376, space, 0, data & ~0x80);
okim6376_st_w (m_okim6376, data & 0x80);
}
}
READ16_MEMBER(highvdeo_state::tv_oki6376_r)
{
device_t *device = machine().device("oki");
if (ACCESSING_BITS_0_7)
{
return okim6376_busy_r(device);
return okim6376_busy_r(m_okim6376);
}
return 0xff;
}
@ -351,20 +351,18 @@ READ16_MEMBER(highvdeo_state::tv_ncf_read1_r)
WRITE16_MEMBER(highvdeo_state::tv_ncf_oki6376_w)
{
device_t *device = machine().device("oki");
static int okidata;
if (ACCESSING_BITS_0_7 && okidata != data) {
okidata = data;
okim6376_w(device, space, 0, data );
okim6376_w(m_okim6376, space, 0, data );
}
}
WRITE16_MEMBER(highvdeo_state::tv_ncf_oki6376_st_w)
{
device_t *device = machine().device("oki");
if (ACCESSING_BITS_0_7)
{
okim6376_st_w(device, (data & 0x80) );
okim6376_st_w(m_okim6376, (data & 0x80) );
}
}

View File

@ -328,22 +328,18 @@ ADDRESS_MAP_END
WRITE16_MEMBER(kaneko16_gtmr_state::bloodwar_oki_0_bank_w)
{
device_t *device = machine().device("oki1");
if (ACCESSING_BITS_0_7)
{
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base(0x40000 * (data & 0xf) );
m_oki1->set_bank_base(0x40000 * (data & 0xf) );
// logerror("CPU #0 PC %06X : OKI0 bank %08X\n",space.device().safe_pc(),data);
}
}
WRITE16_MEMBER(kaneko16_gtmr_state::bloodwar_oki_1_bank_w)
{
device_t *device = machine().device("oki2");
if (ACCESSING_BITS_0_7)
{
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base(0x40000 * data );
m_oki2->set_bank_base(0x40000 * data );
// logerror("CPU #0 PC %06X : OKI1 bank %08X\n",space.device().safe_pc(),data);
}
}
@ -396,22 +392,18 @@ ADDRESS_MAP_END
WRITE16_MEMBER(kaneko16_gtmr_state::bonkadv_oki_0_bank_w)
{
device_t *device = machine().device("oki1");
if (ACCESSING_BITS_0_7)
{
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base(0x40000 * (data & 0xF));
m_oki1->set_bank_base(0x40000 * (data & 0xF));
logerror("%s: OKI0 bank %08X\n",machine().describe_context(),data);
}
}
WRITE16_MEMBER(kaneko16_gtmr_state::bonkadv_oki_1_bank_w)
{
device_t *device = machine().device("oki2");
if (ACCESSING_BITS_0_7)
{
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base(0x40000 * data );
m_oki2->set_bank_base(0x40000 * data );
logerror("%s: OKI1 bank %08X\n",machine().describe_context(),data);
}
}
@ -469,22 +461,18 @@ READ16_MEMBER(kaneko16_gtmr_state::gtmr_wheel_r)
WRITE16_MEMBER(kaneko16_gtmr_state::gtmr_oki_0_bank_w)
{
device_t *device = machine().device("oki1");
if (ACCESSING_BITS_0_7)
{
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base( 0x40000 * (data & 0xF) );
m_oki1->set_bank_base( 0x40000 * (data & 0xF) );
// logerror("CPU #0 PC %06X : OKI0 bank %08X\n",space.device().safe_pc(),data);
}
}
WRITE16_MEMBER(kaneko16_gtmr_state::gtmr_oki_1_bank_w)
{
device_t *device = machine().device("oki2");
if (ACCESSING_BITS_0_7)
{
okim6295_device *oki = downcast<okim6295_device *>(device);
oki->set_bank_base( 0x40000 * (data & 0x1) );
m_oki2->set_bank_base( 0x40000 * (data & 0x1) );
// logerror("CPU #0 PC %06X : OKI1 bank %08X\n",space.device().safe_pc(),data);
}
}

View File

@ -3842,9 +3842,8 @@ READ16_MEMBER(megasys1_state::edfbl_input_r)
DRIVER_INIT_MEMBER(megasys1_state,edfbl)
{
//device_t *oki1 = machine().device("oki1");
m_maincpu->space(AS_PROGRAM).install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::edfbl_input_r),this));
//m_maincpu->space(AS_PROGRAM).install_legacy_write_handler(*oki1, 0xe000e, 0xe000f, FUNC(soundlatch_byte_w));
//m_maincpu->space(AS_PROGRAM).install_legacy_write_handler(*m_oki1, 0xe000e, 0xe000f, FUNC(soundlatch_byte_w));
}
DRIVER_INIT_MEMBER(megasys1_state,hayaosi1)

View File

@ -61,7 +61,8 @@ public:
m_vidattrram(*this, "vidattrram"),
m_spriteram(*this, "spriteram"),
m_mwarr_ram(*this, "mwarr_ram"),
m_maincpu(*this, "maincpu") { }
m_maincpu(*this, "maincpu"),
m_oki2(*this, "oki2") { }
/* memory pointers */
required_shared_ptr<UINT16> m_bg_videoram;
@ -103,6 +104,7 @@ public:
UINT32 screen_update_mwarr(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_oki2;
};
@ -138,8 +140,7 @@ WRITE16_MEMBER(mwarr_state::tx_videoram_w)
WRITE16_MEMBER(mwarr_state::oki1_bank_w)
{
device_t *device = machine().device("oki2");
downcast<okim6295_device *>(device)->set_bank_base(0x40000 * (data & 3));
m_oki2->set_bank_base(0x40000 * (data & 3));
}
WRITE16_MEMBER(mwarr_state::sprites_commands_w)

View File

@ -4669,11 +4669,10 @@ WRITE16_MEMBER(nmk16_state::twinactn_flipscreen_w)
***************************************************************************/
WRITE8_MEMBER(nmk16_state::spec2k_oki1_banking_w)
{
device_t *device = machine().device("oki2");
if(data == 0xfe)
downcast<okim6295_device *>(device)->set_bank_base(0);
m_oki2->set_bank_base(0);
else if(data == 0xff)
downcast<okim6295_device *>(device)->set_bank_base(0x40000);
m_oki2->set_bank_base(0x40000);
}
static ADDRESS_MAP_START( afega_sound_cpu, AS_PROGRAM, 8, nmk16_state )
@ -4699,8 +4698,7 @@ ADDRESS_MAP_END
WRITE8_MEMBER(nmk16_state::twinactn_oki_bank_w)
{
device_t *device = machine().device("oki1");
downcast<okim6295_device *>(device)->set_bank_base((data & 3) * 0x40000);
m_oki1->set_bank_base((data & 3) * 0x40000);
if (data & (~3))
logerror("%s: invalid oki bank %02x\n", machine().describe_context(), data);

View File

@ -108,11 +108,10 @@ WRITE8_MEMBER(paradise_state::paradise_rombank_w)
WRITE8_MEMBER(paradise_state::paradise_okibank_w)
{
device_t *device = machine().device("oki2");
if (data & ~0x02)
logerror("%s: unknown oki bank bits %02X\n", machine().describe_context(), data);
downcast<okim6295_device *>(device)->set_bank_base((data & 0x02) ? 0x40000 : 0);
m_oki2->set_bank_base((data & 0x02) ? 0x40000 : 0);
}
WRITE8_MEMBER(paradise_state::torus_coin_counter_w)

View File

@ -83,7 +83,9 @@ public:
: driver_device(mconfig, type, tag),
m_wram(*this, "wram"),
m_paletteram(*this, "paletteram"),
m_maincpu(*this, "maincpu") { }
m_maincpu(*this, "maincpu"),
m_oki1(*this, "oki1"),
m_oki2(*this, "oki2") { }
/* memory pointers */
required_shared_ptr<UINT16> m_wram;
@ -112,6 +114,8 @@ public:
virtual void video_start();
UINT32 screen_update_pasha2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<okim6295_device> m_oki1;
required_device<okim6295_device> m_oki2;
};
@ -198,16 +202,14 @@ WRITE16_MEMBER(pasha2_state::bitmap_1_w)
WRITE16_MEMBER(pasha2_state::oki1_bank_w)
{
device_t *device = machine().device("oki1");
if (offset)
downcast<okim6295_device *>(device)->set_bank_base((data & 1) * 0x40000);
m_oki1->set_bank_base((data & 1) * 0x40000);
}
WRITE16_MEMBER(pasha2_state::oki2_bank_w)
{
device_t *device = machine().device("oki2");
if (offset)
downcast<okim6295_device *>(device)->set_bank_base((data & 1) * 0x40000);
m_oki2->set_bank_base((data & 1) * 0x40000);
}
WRITE16_MEMBER(pasha2_state::pasha2_lamps_w)

View File

@ -65,8 +65,7 @@ bootleg todo:
WRITE16_MEMBER(pktgaldx_state::pktgaldx_oki_bank_w)
{
device_t *device = machine().device("oki2");
downcast<okim6295_device *>(device)->set_bank_base((data & 3) * 0x40000);
m_oki2->set_bank_base((data & 3) * 0x40000);
}
/**********************************************************************************/

View File

@ -754,10 +754,9 @@ WRITE16_MEMBER(toaplan2_state::oki_bankswitch_w)
WRITE16_MEMBER(toaplan2_state::oki1_bankswitch_w)
{
device_t *device = machine().device("oki1");
if (ACCESSING_BITS_0_7)
{
downcast<okim6295_device *>(device)->set_bank_base((data & 1) * 0x40000);
m_oki1->set_bank_base((data & 1) * 0x40000);
}
}

View File

@ -78,7 +78,8 @@ public:
m_tiles32(*this,"tiles32"),
m_wram32(*this,"wram32"),
m_maincpu(*this, "maincpu"),
m_oki(*this, "oki") {
m_oki(*this, "oki"),
m_oki2(*this, "oki_2") {
m_has_extra_gfx = 0;
}
@ -169,6 +170,7 @@ public:
UINT32 screen_update_aoh(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
optional_device<okim6295_device> m_oki;
optional_device<okim6295_device> m_oki2;
};
READ16_MEMBER(vamphalf_state::eeprom_r)
@ -328,8 +330,7 @@ WRITE32_MEMBER(vamphalf_state::finalgdr_prize_w)
WRITE32_MEMBER(vamphalf_state::aoh_oki_bank_w)
{
device_t *device = machine().device("oki_2");
downcast<okim6295_device *>(device)->set_bank_base(0x40000 * (data & 0x3));
m_oki2->set_bank_base(0x40000 * (data & 0x3));
}
WRITE16_MEMBER(vamphalf_state::boonggab_oki_bank_w)

View File

@ -1,4 +1,5 @@
/* TODO: some variables are per-game specifics */
#include "sound/okim6295.h"
class cischeat_state : public driver_device
{
@ -10,7 +11,9 @@ public:
m_ram(*this, "ram"),
m_roadram(*this, "roadram"),
m_f1gpstr2_ioready(*this, "ioready"),
m_soundcpu(*this, "soundcpu"){ }
m_soundcpu(*this, "soundcpu"),
m_oki1(*this, "oki1"),
m_oki2(*this, "oki2"){ }
required_shared_ptr<UINT16> m_vregs;
optional_shared_ptr_array<UINT16,3> m_scrollram;
@ -97,4 +100,6 @@ public:
void bigrun_draw_sprites(bitmap_ind16 &bitmap , const rectangle &cliprect, int priority1, int priority2);
void cischeat_untangle_sprites(const char *region);
optional_device<cpu_device> m_soundcpu;
required_device<okim6295_device> m_oki1;
required_device<okim6295_device> m_oki2;
};

View File

@ -1,4 +1,5 @@
#include "video/kaneko_spr.h"
#include "sound/okim6295.h"
class galpani2_state : public driver_device
{
@ -16,7 +17,8 @@ public:
m_maincpu(*this,"maincpu"),
m_subcpu(*this,"sub"),
m_kaneko_spr(*this, "kan_spr"),
m_spriteram(*this, "spriteram")
m_spriteram(*this, "spriteram"),
m_oki2(*this, "oki2")
{ }
required_shared_ptr_array<UINT16, 2> m_bg8;
@ -66,4 +68,5 @@ public:
DECLARE_WRITE16_MEMBER( galpani2_bg8_1_w );
DECLARE_WRITE16_MEMBER( galpani2_bg15_w );
required_device<okim6295_device> m_oki2;
};

View File

@ -28,7 +28,9 @@ public:
m_view2_1(*this, "view2_1"),
m_kaneko_spr(*this, "kan_spr"),
m_audiocpu(*this, "audiocpu"),
m_oki(*this, "oki") { }
m_oki(*this, "oki"),
m_oki1(*this, "oki1"),
m_oki2(*this, "oki2") { }
required_device<cpu_device> m_maincpu;
optional_shared_ptr<UINT16> m_spriteram;
@ -74,6 +76,8 @@ public:
void kaneko16_expand_sample_banks(const char *region);
optional_device<cpu_device> m_audiocpu;
optional_device<okim6295_device> m_oki;
optional_device<okim6295_device> m_oki1;
optional_device<okim6295_device> m_oki2;
};
class kaneko16_gtmr_state : public kaneko16_state

View File

@ -1,3 +1,5 @@
#include "sound/okim6295.h"
class nmk16_state : public driver_device
{
public:
@ -16,7 +18,9 @@ public:
m_afega_scroll_0(*this, "afega_scroll_0"),
m_afega_scroll_1(*this, "afega_scroll_1"),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu") { }
m_audiocpu(*this, "audiocpu"),
m_oki1(*this, "oki1"),
m_oki2(*this, "oki2") { }
int mask[4*2];
required_shared_ptr<UINT16> m_nmk_bgvideoram0;
@ -177,4 +181,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(ym2203_irqhandler);
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
optional_device<okim6295_device> m_oki1;
optional_device<okim6295_device> m_oki2;
};

View File

@ -1,3 +1,4 @@
#include "sound/okim6295.h"
class paradise_state : public driver_device
{
@ -10,7 +11,8 @@ public:
m_videoram(*this, "videoram"),
m_paletteram(*this, "paletteram"),
m_spriteram(*this, "spriteram"),
m_maincpu(*this, "maincpu") { }
m_maincpu(*this, "maincpu"),
m_oki2(*this, "oki2") { }
/* memory pointers */
required_shared_ptr<UINT8> m_vram_0;
@ -59,4 +61,5 @@ public:
void update_pix_palbank();
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
required_device<cpu_device> m_maincpu;
optional_device<okim6295_device> m_oki2;
};

View File

@ -3,7 +3,7 @@
Pocket Gal Deluxe
*************************************************************************/
#include "sound/okim6295.h"
#include "video/decospr.h"
class pktgaldx_state : public driver_device
@ -17,7 +17,8 @@ public:
m_pktgaldb_fgram(*this, "pktgaldb_fgram"),
m_pktgaldb_sprites(*this, "pktgaldb_spr"),
m_sprgen(*this, "spritegen"),
m_maincpu(*this, "maincpu")
m_maincpu(*this, "maincpu"),
m_oki2(*this, "oki2")
{ }
/* memory pointers */
@ -32,6 +33,7 @@ public:
/* devices */
required_device<cpu_device> m_maincpu;
required_device<okim6295_device> m_oki2;
device_t *m_deco_tilegen1;
DECLARE_READ16_MEMBER(pckgaldx_unknown_r);
DECLARE_READ16_MEMBER(pckgaldx_protection_r);

View File

@ -23,7 +23,8 @@ public:
m_mainram16(*this, "mainram16"),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_oki(*this, "oki") {
m_oki(*this, "oki"),
m_oki1(*this, "oki1") {
m_vdp0 = NULL;
m_vdp1 = NULL;
}
@ -143,4 +144,5 @@ public:
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
optional_device<okim6295_device> m_oki;
optional_device<okim6295_device> m_oki1;
};