Previous 199869 Revisions Next

r22023 Friday 22nd March, 2013 at 08:36:28 UTC by Fabio Priuli
another tiny cleanup. nw.
[src/mame/machine]megadriv.c

trunk/src/mame/machine/megadriv.c
r22022r22023
3535{
3636   md_base_state *state = machine.driver_data<md_base_state>();
3737   if ((state->m_genz80.z80_has_bus == 1) && (state->m_genz80.z80_is_reset == 0))
38      machine.device(":genesis_snd_z80")->execute().set_input_line(0, HOLD_LINE);
38      state->m_z80snd->set_input_line(0, HOLD_LINE);
3939}
4040
4141void megadriv_z80_clear(running_machine &machine)
4242{
43   machine.device(":genesis_snd_z80")->execute().set_input_line(0, CLEAR_LINE);
43   md_base_state *state = machine.driver_data<md_base_state>();
44   state->m_z80snd->set_input_line(0, CLEAR_LINE);
4445}
4546
4647static void megadriv_z80_bank_w(address_space &space, UINT16 data)
r22022r22023
770771static READ8_HANDLER( z80_read_68k_banked_data )
771772{
772773   md_base_state *state = space.machine().driver_data<md_base_state>();
773   address_space &space68k = space.machine().device<legacy_cpu_device>("maincpu")->space();
774   address_space &space68k = state->m_maincpu->space();
774775   UINT8 ret = space68k.read_byte(state->m_genz80.z80_bank_addr+offset);
775776   return ret;
776777}
r22022r22023
778779static WRITE8_HANDLER( z80_write_68k_banked_data )
779780{
780781   md_base_state *state = space.machine().driver_data<md_base_state>();
781   address_space &space68k = space.machine().device<legacy_cpu_device>("maincpu")->space();
782   address_space &space68k = state->m_maincpu->space();
782783   space68k.write_byte(state->m_genz80.z80_bank_addr+offset,data);
783784}
784785
r22022r22023
10121013// this comes from the vdp, and is connected to 68k irq level 6 (main vbl interrupt)
10131014void genesis_vdp_lv6irqline_callback_genesis_68k(running_machine &machine, bool state)
10141015{
1015   if (state==true)
1016      machine.device("maincpu")->execute().set_input_line(6, HOLD_LINE);
1016   md_base_state *md_state = machine.driver_data<md_base_state>();
1017   if (state == true)
1018      md_state->m_maincpu->set_input_line(6, HOLD_LINE);
10171019   else
1018      machine.device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
1020      md_state->m_maincpu->set_input_line(6, CLEAR_LINE);
10191021}
10201022
10211023// this comes from the vdp, and is connected to 68k irq level 4 (raster interrupt)
10221024void genesis_vdp_lv4irqline_callback_genesis_68k(running_machine &machine, bool state)
10231025{
1024   if (state==true)
1025      machine.device("maincpu")->execute().set_input_line(4, HOLD_LINE);
1026   md_base_state *md_state = machine.driver_data<md_base_state>();
1027   if (state == true)
1028      md_state->m_maincpu->set_input_line(4, HOLD_LINE);
10261029   else
1027      machine.device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
1030      md_state->m_maincpu->set_input_line(4, CLEAR_LINE);
10281031}
10291032
10301033/* Callback when the 68k takes an IRQ */
r22022r22023
13731376   md_base_state *state = screen.machine().driver_data<md_base_state>();
13741377
13751378   if (screen.ioport(":RESET")->read_safe(0x00) & 0x01)
1376      screen.machine().device(":maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
1379      state->m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
13771380
13781381   // rising edge
13791382   if (vblank_on)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team