subroc3d: add 3d scope shutter output

This commit is contained in:
hap 2022-12-20 18:56:44 +01:00
parent 0264f53ea3
commit 1613a63312
3 changed files with 12 additions and 5 deletions

View File

@ -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)));
}

View File

@ -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);
}
/*************************************

View File

@ -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<uint8_t> m_spriteram;
output_finder<> m_shutter;
uint8_t m_col = 0;
uint8_t m_ply = 0;