From 1613a63312ca50a35ae82be208969990541a5f2f Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 20 Dec 2022 18:56:44 +0100 Subject: subroc3d: add 3d scope shutter output --- src/mame/sega/segaxbd.cpp | 10 +++++----- src/mame/sega/turbo.cpp | 5 +++++ src/mame/sega/turbo.h | 2 ++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/mame/sega/segaxbd.cpp b/src/mame/sega/segaxbd.cpp index 3e137d76122..eb8b283ec6d 100644 --- a/src/mame/sega/segaxbd.cpp +++ b/src/mame/sega/segaxbd.cpp @@ -2090,7 +2090,7 @@ ROM_END // ROM_START( aburner2 ) ROM_REGION( 0x80000, "mainpcb:maincpu", 0 ) // 68000 code - ROM_LOAD16_BYTE( "epr-11107.58", 0x00000, 0x20000, CRC(6d87bab7) SHA1(ab34fe78f1f216037b3e3dca3e61f1b31c05cedf) ) + ROM_LOAD16_BYTE( "epr-11107.58", 0x00000, 0x20000, CRC(6d87bab7) SHA1(ab34fe78f1f216037b3e3dca3e61f1b31c05cedf) ) ROM_LOAD16_BYTE( "epr-11108.63", 0x00001, 0x20000, CRC(202a3e1d) SHA1(cf2018bbad366de4b222eae35942636ca68aa581) ) ROM_REGION( 0x80000, "mainpcb:subcpu", 0 ) // 2nd 68000 code @@ -4708,10 +4708,10 @@ void segaxbd_new_state_double::init_gprider_double() m_mainpcb->install_gprider(); m_subpcb->install_gprider(); - m_mainpcb->m_maincpu->space(AS_PROGRAM).install_read_handler(0x2F0000, 0x2F003f, read16sm_delegate(*this, FUNC(segaxbd_new_state_double::shareram1_r))); - m_mainpcb->m_maincpu->space(AS_PROGRAM).install_write_handler(0x2F0000, 0x2F003f, write16s_delegate(*this, FUNC(segaxbd_new_state_double::shareram1_w))); - m_subpcb->m_maincpu->space(AS_PROGRAM).install_read_handler(0x2F0000, 0x2F003f, read16sm_delegate(*this, FUNC(segaxbd_new_state_double::shareram2_r))); - m_subpcb->m_maincpu->space(AS_PROGRAM).install_write_handler(0x2F0000, 0x2F003f, write16s_delegate(*this, FUNC(segaxbd_new_state_double::shareram2_w))); + m_mainpcb->m_maincpu->space(AS_PROGRAM).install_read_handler(0x2f0000, 0x2f003f, read16sm_delegate(*this, FUNC(segaxbd_new_state_double::shareram1_r))); + m_mainpcb->m_maincpu->space(AS_PROGRAM).install_write_handler(0x2f0000, 0x2f003f, write16s_delegate(*this, FUNC(segaxbd_new_state_double::shareram1_w))); + m_subpcb->m_maincpu->space(AS_PROGRAM).install_read_handler(0x2f0000, 0x2f003f, read16sm_delegate(*this, FUNC(segaxbd_new_state_double::shareram2_r))); + m_subpcb->m_maincpu->space(AS_PROGRAM).install_write_handler(0x2f0000, 0x2f003f, write16s_delegate(*this, FUNC(segaxbd_new_state_double::shareram2_w))); } diff --git a/src/mame/sega/turbo.cpp b/src/mame/sega/turbo.cpp index 64befe6c12f..e82943d765b 100644 --- a/src/mame/sega/turbo.cpp +++ b/src/mame/sega/turbo.cpp @@ -214,6 +214,8 @@ void subroc3d_state::machine_start() { turbo_base_state::machine_start(); + m_shutter.resolve(); + save_item(NAME(m_col)); save_item(NAME(m_ply)); save_item(NAME(m_flip)); @@ -354,6 +356,9 @@ void subroc3d_state::ppi0b_w(uint8_t data) machine().bookkeeping().coin_counter_w(1, data & 0x02); m_lamp = BIT(data, 2); m_flip = BIT(data, 4); + + // flip also goes to 3D scope shutter + m_shutter = BIT(data, 4); } /************************************* diff --git a/src/mame/sega/turbo.h b/src/mame/sega/turbo.h index a45a65b7f67..6312d9c7d2e 100644 --- a/src/mame/sega/turbo.h +++ b/src/mame/sega/turbo.h @@ -165,6 +165,7 @@ public: subroc3d_state(const machine_config &mconfig, device_type type, const char *tag) : turbo_base_state(mconfig, type, tag) , m_spriteram(*this, "spriteram") + , m_shutter(*this, "shutter") { } void subroc3d(machine_config &config); @@ -175,6 +176,7 @@ protected: private: required_shared_ptr m_spriteram; + output_finder<> m_shutter; uint8_t m_col = 0; uint8_t m_ply = 0; -- cgit v1.2.3