diff options
author | 2013-04-12 08:30:34 +0000 | |
---|---|---|
committer | 2013-04-12 08:30:34 +0000 | |
commit | 2938d4c348f4891590af3ce11f707947b83ad05d (patch) | |
tree | d1fcd28051b6311051db1e40be7cc637920de588 /src | |
parent | 7a4840affd77dc7d9e3383170a1d239fe4a13a72 (diff) |
some cleanup and vsnes change to compile on vs compile (nw)
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/galaga.c | 4 | ||||
-rw-r--r-- | src/mame/drivers/gaplus.c | 6 | ||||
-rw-r--r-- | src/mame/drivers/junofrst.c | 10 | ||||
-rw-r--r-- | src/mame/drivers/mappy.c | 6 | ||||
-rw-r--r-- | src/mame/drivers/polepos.c | 6 | ||||
-rw-r--r-- | src/mame/drivers/system1.c | 11 | ||||
-rw-r--r-- | src/mame/drivers/tatsumi.c | 5 | ||||
-rw-r--r-- | src/mame/drivers/xain.c | 6 | ||||
-rw-r--r-- | src/mame/includes/galaga.h | 4 | ||||
-rw-r--r-- | src/mame/includes/gaplus.h | 4 | ||||
-rw-r--r-- | src/mame/includes/mappy.h | 4 | ||||
-rw-r--r-- | src/mame/includes/polepos.h | 4 | ||||
-rw-r--r-- | src/mame/includes/tatsumi.h | 2 | ||||
-rw-r--r-- | src/mame/includes/vsnes.h | 3 | ||||
-rw-r--r-- | src/mame/machine/taitosj.c | 2 | ||||
-rw-r--r-- | src/mame/machine/tatsumi.c | 4 | ||||
-rw-r--r-- | src/mame/machine/vsnes.c | 28 |
17 files changed, 63 insertions, 46 deletions
diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c index c6944c5aa70..d6234c69d2c 100644 --- a/src/mame/drivers/galaga.c +++ b/src/mame/drivers/galaga.c @@ -755,7 +755,7 @@ WRITE8_MEMBER(galaga_state::bosco_latch_w) case 0x03: /* RESET */ m_subcpu->set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE); - machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE); + m_subcpu2->set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE); break; case 0x04: /* n.c. */ @@ -860,7 +860,7 @@ TIMER_CALLBACK_MEMBER(galaga_state::cpu3_interrupt_callback) int scanline = param; if(m_sub2_nmi_mask) - nmi_line_pulse(machine().device("sub2")->execute()); + nmi_line_pulse(m_subcpu2); scanline = scanline + 128; if (scanline >= 272) diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c index 94de0e560f3..797bc277892 100644 --- a/src/mame/drivers/gaplus.c +++ b/src/mame/drivers/gaplus.c @@ -189,14 +189,14 @@ WRITE8_MEMBER(gaplus_state::gaplus_irq_3_ctrl_w) int bit = !BIT(offset, 13); m_sub2_irq_mask = bit & 1; if (!bit) - machine().device("sub2")->execute().set_input_line(0, CLEAR_LINE); + m_subcpu2->set_input_line(0, CLEAR_LINE); } WRITE8_MEMBER(gaplus_state::gaplus_sreset_w) { int bit = !BIT(offset, 11); m_subcpu->set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE); - machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE); + m_subcpu2->set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE); mappy_sound_enable(machine().device("namco"), bit); } @@ -274,7 +274,7 @@ INTERRUPT_GEN_MEMBER(gaplus_state::gaplus_vblank_sub_irq) INTERRUPT_GEN_MEMBER(gaplus_state::gaplus_vblank_sub2_irq) { if(m_sub2_irq_mask) - machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE); + m_subcpu2->set_input_line(0, ASSERT_LINE); } diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c index 81262b71478..eaa8f4e1dcf 100644 --- a/src/mame/drivers/junofrst.c +++ b/src/mame/drivers/junofrst.c @@ -94,14 +94,15 @@ class junofrst_state : public tutankhm_state public: junofrst_state(const machine_config &mconfig, device_type type, const char *tag) : tutankhm_state(mconfig, type, tag), - m_audiocpu(*this, "audiocpu") { } + m_audiocpu(*this, "audiocpu"), + m_i8039(*this, "mcu") { } UINT8 m_blitterdata[4]; int m_i8039_status; int m_last_irq; required_device<cpu_device> m_audiocpu; - device_t *m_i8039; + required_device<cpu_device> m_i8039; device_t *m_filter_0_0; device_t *m_filter_0_1; @@ -250,14 +251,14 @@ WRITE8_MEMBER(junofrst_state::junofrst_sh_irqtrigger_w) WRITE8_MEMBER(junofrst_state::junofrst_i8039_irq_w) { - m_i8039->execute().set_input_line(0, ASSERT_LINE); + m_i8039->set_input_line(0, ASSERT_LINE); } WRITE8_MEMBER(junofrst_state::i8039_irqen_and_status_w) { if ((data & 0x80) == 0) - m_i8039->execute().set_input_line(0, CLEAR_LINE); + m_i8039->set_input_line(0, CLEAR_LINE); m_i8039_status = (data & 0x70) >> 4; } @@ -381,7 +382,6 @@ static const ay8910_interface ay8910_config = MACHINE_START_MEMBER(junofrst_state,junofrst) { - m_i8039 = machine().device("mcu"); m_filter_0_0 = machine().device("filter.0.0"); m_filter_0_1 = machine().device("filter.0.1"); m_filter_0_2 = machine().device("filter.0.2"); diff --git a/src/mame/drivers/mappy.c b/src/mame/drivers/mappy.c index 664d0bb433e..5e558d60192 100644 --- a/src/mame/drivers/mappy.c +++ b/src/mame/drivers/mappy.c @@ -644,7 +644,7 @@ WRITE8_MEMBER(mappy_state::phozon_latch_w) case 0x04: m_sub2_irq_mask = bit; if (!bit) - machine().device("sub2")->execute().set_input_line(0, CLEAR_LINE); + m_subcpu2->set_input_line(0, CLEAR_LINE); break; case 0x06: @@ -661,7 +661,7 @@ WRITE8_MEMBER(mappy_state::phozon_latch_w) break; case 0x0c: - machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE); + m_subcpu2->set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE); break; case 0x0e: @@ -880,7 +880,7 @@ INTERRUPT_GEN_MEMBER(mappy_state::sub_vblank_irq) INTERRUPT_GEN_MEMBER(mappy_state::sub2_vblank_irq) { if(m_sub2_irq_mask) - machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE); + m_subcpu2->set_input_line(0, ASSERT_LINE); } static ADDRESS_MAP_START( superpac_cpu1_map, AS_PROGRAM, 8, mappy_state ) diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c index b9eacec73a8..55d6c06ece3 100644 --- a/src/mame/drivers/polepos.c +++ b/src/mame/drivers/polepos.c @@ -317,7 +317,7 @@ WRITE8_MEMBER(polepos_state::polepos_latch_w) break; case 0x05: /* RESA */ - machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE); + m_subcpu2->set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE); break; case 0x06: /* SB0 */ @@ -455,7 +455,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(polepos_state::polepos_scanline) if (scanline == 240 && m_sub_irq_mask) // VBLANK { m_subcpu->set_input_line(0, ASSERT_LINE); - machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE); + m_subcpu2->set_input_line(0, ASSERT_LINE); } } @@ -471,7 +471,7 @@ MACHINE_RESET_MEMBER(polepos_state,polepos) /* set the interrupt vectors (this shouldn't be needed) */ m_subcpu->set_input_line_vector(0, Z8000_NVI); - machine().device("sub2")->execute().set_input_line_vector(0, Z8000_NVI); + m_subcpu2->set_input_line_vector(0, Z8000_NVI); } diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c index 31a38e392fb..d1a845f44d2 100644 --- a/src/mame/drivers/system1.c +++ b/src/mame/drivers/system1.c @@ -410,11 +410,9 @@ void system1_state::bank0c_custom_w(UINT8 data, UINT8 prevdata) WRITE8_MEMBER(system1_state::videomode_w) { - device_t *i8751 = machine().device("mcu"); - /* bit 6 is connected to the 8751 IRQ */ - if (i8751 != NULL) - i8751->execute().set_input_line(MCS51_INT1_LINE, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE); + if (m_mcu != NULL) + m_mcu->set_input_line(MCS51_INT1_LINE, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE); /* handle any custom banking or other stuff */ if (m_videomode_custom != NULL) @@ -623,9 +621,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(system1_state::mcu_t0_callback) choplift is even more picky about it, affecting scroll speed */ - device_t *mcu = machine().device("mcu"); - mcu->execute().set_input_line(MCS51_T0_LINE, ASSERT_LINE); - mcu->execute().set_input_line(MCS51_T0_LINE, CLEAR_LINE); + m_mcu->set_input_line(MCS51_T0_LINE, ASSERT_LINE); + m_mcu->set_input_line(MCS51_T0_LINE, CLEAR_LINE); } diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c index 5fde93c439e..c37fa18ed0e 100644 --- a/src/mame/drivers/tatsumi.c +++ b/src/mame/drivers/tatsumi.c @@ -856,12 +856,13 @@ INTERRUPT_GEN_MEMBER(tatsumi_state::roundup5_interrupt) static void apache3_68000_reset(device_t *device) { - device->machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); + tatsumi_state *state = device->machine().driver_data<tatsumi_state>(); + state->m_subcpu2->set_input_line(INPUT_LINE_RESET, PULSE_LINE); } MACHINE_RESET_MEMBER(tatsumi_state,apache3) { - machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // TODO + m_subcpu2->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // TODO /* Hook the RESET line, which resets the Z80 */ m68k_set_reset_callback(m_subcpu, apache3_68000_reset); diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c index 07cf1691893..8fa66484d07 100644 --- a/src/mame/drivers/xain.c +++ b/src/mame/drivers/xain.c @@ -266,7 +266,7 @@ WRITE8_MEMBER(xain_state::xain_68705_w) m_from_main = data; m_mcu_accept = 0; - if (machine().device("mcu") != NULL) + if (m_mcu != NULL) m_mcu->set_input_line(0, ASSERT_LINE); } @@ -356,7 +356,7 @@ CUSTOM_INPUT_MEMBER(xain_state::mcu_status_r) { UINT8 res = 0; - if (machine().device("mcu") != NULL) + if (m_mcu != NULL) { if (m_mcu_ready == 1) res |= 0x01; @@ -376,7 +376,7 @@ READ8_MEMBER(xain_state::mcu_comm_reset_r) m_mcu_ready = 1; m_mcu_accept = 1; - if (machine().device("mcu") != NULL) + if (m_mcu != NULL) m_mcu->set_input_line(0, CLEAR_LINE); return 0xff; diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h index 528e6203eb9..a190589bd0e 100644 --- a/src/mame/includes/galaga.h +++ b/src/mame/includes/galaga.h @@ -11,7 +11,8 @@ public: m_galaga_ram3(*this, "galaga_ram3"), m_galaga_starcontrol(*this, "starcontrol"), m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub") { } + m_subcpu(*this, "sub"), + m_subcpu2(*this, "sub2") { } /* memory pointers */ optional_shared_ptr<UINT8> m_videoram; @@ -74,6 +75,7 @@ public: static struct star m_star_seed_tab[]; required_device<cpu_device> m_maincpu; required_device<cpu_device> m_subcpu; + required_device<cpu_device> m_subcpu2; }; class xevious_state : public galaga_state diff --git a/src/mame/includes/gaplus.h b/src/mame/includes/gaplus.h index 666d6aa78a6..e8d1c483246 100644 --- a/src/mame/includes/gaplus.h +++ b/src/mame/includes/gaplus.h @@ -15,7 +15,8 @@ public: m_videoram(*this,"videoram"), m_spriteram(*this,"spriteram") , m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub") { } + m_subcpu(*this, "sub"), + m_subcpu2(*this, "sub2") { } required_shared_ptr<UINT8> m_customio_3; required_shared_ptr<UINT8> m_videoram; @@ -58,4 +59,5 @@ public: void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect ); required_device<cpu_device> m_maincpu; required_device<cpu_device> m_subcpu; + required_device<cpu_device> m_subcpu2; }; diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h index c5c2f7b39b8..ed73bbfb9ab 100644 --- a/src/mame/includes/mappy.h +++ b/src/mame/includes/mappy.h @@ -6,7 +6,8 @@ public: m_videoram(*this, "videoram"), m_spriteram(*this, "spriteram"), m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub") { } + m_subcpu(*this, "sub"), + m_subcpu2(*this, "sub2") { } required_shared_ptr<UINT8> m_videoram; required_shared_ptr<UINT8> m_spriteram; @@ -68,4 +69,5 @@ public: void phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 *spriteram_base); required_device<cpu_device> m_maincpu; required_device<cpu_device> m_subcpu; + required_device<cpu_device> m_subcpu2; }; diff --git a/src/mame/includes/polepos.h b/src/mame/includes/polepos.h index 2b93bee13e9..ca552cc5604 100644 --- a/src/mame/includes/polepos.h +++ b/src/mame/includes/polepos.h @@ -20,7 +20,8 @@ public: m_alpha16_memory(*this, "alpha16_memory"), m_view16_memory(*this, "view16_memory"), m_maincpu(*this, "maincpu"), - m_subcpu(*this, "sub") { } + m_subcpu(*this, "sub"), + m_subcpu2(*this, "sub2") { } optional_device<tms5220n_device> m_tms; UINT8 m_steer_last; @@ -91,6 +92,7 @@ public: void zoom_sprite(bitmap_ind16 &bitmap,int big,UINT32 code,UINT32 color,int flipx,int sx,int sy,int sizex,int sizey); required_device<cpu_device> m_maincpu; required_device<cpu_device> m_subcpu; + required_device<cpu_device> m_subcpu2; }; diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h index 326cf492340..8eaa81bf0f6 100644 --- a/src/mame/includes/tatsumi.h +++ b/src/mame/includes/tatsumi.h @@ -26,6 +26,7 @@ public: m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), m_subcpu(*this, "sub"), + m_subcpu2(*this, "sub2"), m_oki(*this, "oki") { } optional_shared_ptr<UINT16> m_videoram; @@ -136,6 +137,7 @@ public: required_device<cpu_device> m_maincpu; required_device<cpu_device> m_audiocpu; required_device<cpu_device> m_subcpu; + required_device<cpu_device> m_subcpu2; required_device<okim6295_device> m_oki; }; diff --git a/src/mame/includes/vsnes.h b/src/mame/includes/vsnes.h index 7076099feb2..3816906bffb 100644 --- a/src/mame/includes/vsnes.h +++ b/src/mame/includes/vsnes.h @@ -71,7 +71,8 @@ public: DECLARE_WRITE8_MEMBER(mapper68_rom_banking); DECLARE_WRITE8_MEMBER(set_bnglngby_irq_w); DECLARE_READ8_MEMBER(set_bnglngby_irq_r); - DECLARE_WRITE8_MEMBER(vsdual_vrom_banking); + DECLARE_WRITE8_MEMBER(vsdual_vrom_banking_main); + DECLARE_WRITE8_MEMBER(vsdual_vrom_banking_sub); void v_set_mirroring(int ppu, int mirroring); DECLARE_READ8_MEMBER(psg1_4015_r); DECLARE_WRITE8_MEMBER(psg1_4015_w); diff --git a/src/mame/machine/taitosj.c b/src/mame/machine/taitosj.c index 1004f310ff8..4f23a82c82f 100644 --- a/src/mame/machine/taitosj.c +++ b/src/mame/machine/taitosj.c @@ -45,7 +45,7 @@ void taitosj_state::machine_reset() m_zaccept = 1; m_zready = 0; m_busreq = 0; - if (machine().device("mcu") != NULL) + if (m_mcu != NULL) m_mcu->set_input_line(0, CLEAR_LINE); m_spacecr_prot_value = 0; diff --git a/src/mame/machine/tatsumi.c b/src/mame/machine/tatsumi.c index fc25c170a44..bf64f648379 100644 --- a/src/mame/machine/tatsumi.c +++ b/src/mame/machine/tatsumi.c @@ -41,7 +41,7 @@ WRITE16_MEMBER(tatsumi_state::apache3_bank_w) if (m_control_word & 0x7f00) { logerror("Unknown control Word: %04x\n",m_control_word); - machine().device("sub2")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE); // ? + m_subcpu2->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); // ? } if (m_control_word & 0x10) @@ -61,7 +61,7 @@ WRITE16_MEMBER(tatsumi_state::apache3_bank_w) // D0 = /GRDACC - Allow 68000 access to road pattern RAM WRITE16_MEMBER(tatsumi_state::apache3_z80_ctrl_w) { - machine().device("sub2")->execute().set_input_line(INPUT_LINE_HALT, data & 2 ? ASSERT_LINE : CLEAR_LINE); + m_subcpu2->set_input_line(INPUT_LINE_HALT, data & 2 ? ASSERT_LINE : CLEAR_LINE); } READ16_MEMBER(tatsumi_state::apache3_v30_v20_r) diff --git a/src/mame/machine/vsnes.c b/src/mame/machine/vsnes.c index d38f6943dda..0b25a957e38 100644 --- a/src/mame/machine/vsnes.c +++ b/src/mame/machine/vsnes.c @@ -982,20 +982,28 @@ DRIVER_INIT_MEMBER(vsnes_state,bnglngby) /**********************************************************************************/ /* VS Dualsystem */ -WRITE8_MEMBER(vsnes_state::vsdual_vrom_banking) +WRITE8_MEMBER(vsnes_state::vsdual_vrom_banking_main) { - device_t *other_cpu = (&space.device() == m_maincpu) ? m_subcpu : m_maincpu; /* switch vrom */ - (&space.device() == m_maincpu) ? membank("bank2")->set_entry(BIT(data, 2)) : membank("bank3")->set_entry(BIT(data, 2)); + membank("bank2")->set_entry(BIT(data, 2)); /* bit 1 ( data & 2 ) triggers irq on the other cpu */ - other_cpu->execute().set_input_line(0, (data & 2) ? CLEAR_LINE : ASSERT_LINE); + m_subcpu->set_input_line(0, (data & 2) ? CLEAR_LINE : ASSERT_LINE); /* move along */ - if (&space.device() == m_maincpu) - vsnes_in0_w(space, offset, data); - else - vsnes_in0_1_w(space, offset, data); + vsnes_in0_w(space, offset, data); +} + +WRITE8_MEMBER(vsnes_state::vsdual_vrom_banking_sub) +{ + /* switch vrom */ + membank("bank3")->set_entry(BIT(data, 2)); + + /* bit 1 ( data & 2 ) triggers irq on the other cpu */ + m_maincpu->set_input_line(0, (data & 2) ? CLEAR_LINE : ASSERT_LINE); + + /* move along */ + vsnes_in0_1_w(space, offset, data); } DRIVER_INIT_MEMBER(vsnes_state,vsdual) @@ -1003,8 +1011,8 @@ DRIVER_INIT_MEMBER(vsnes_state,vsdual) UINT8 *prg = memregion("maincpu")->base(); /* vrom switching is enabled with bit 2 of $4016 */ - m_maincpu->space(AS_PROGRAM).install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking),this)); - m_subcpu->space(AS_PROGRAM).install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking),this)); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking_main),this)); + m_subcpu->space(AS_PROGRAM).install_write_handler(0x4016, 0x4016, write8_delegate(FUNC(vsnes_state::vsdual_vrom_banking_sub),this)); /* shared ram at $6000 */ m_maincpu->space(AS_PROGRAM).install_ram(0x6000, 0x7fff, &prg[0x6000]); |