diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2018-10-22 19:03:38 +0200 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2018-10-22 19:03:38 +0200 |
commit | 588776d89136a91fa80a761f5bed0da1b6264f4f (patch) | |
tree | df0f7c130aa9ebb388b3c2ef131f83f29a3046f0 | |
parent | 21b6c96cac665e557415c8c2d4ebef1d56bf5060 (diff) |
exidy.cpp: identified P1/P2 Start LEDs for Mouse Trap [Brad Oldham]
original patch modified by me (nw)
-rw-r--r-- | src/mame/drivers/exidy.cpp | 19 | ||||
-rw-r--r-- | src/mame/includes/exidy.h | 3 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/mame/drivers/exidy.cpp b/src/mame/drivers/exidy.cpp index c74bb8a857d..49dc7d2a24e 100644 --- a/src/mame/drivers/exidy.cpp +++ b/src/mame/drivers/exidy.cpp @@ -132,6 +132,11 @@ Fax 1982 6502 FXL, FLA bit 0 note bit 1 upper + MouseTrap: + 5101 W MouseTrap P1/P2 LED States + bit 2 Player 1 LED state + bit 4 Player 2 LED state + MouseTrap Digital Sound: 0000-3FFF ROM @@ -193,6 +198,13 @@ WRITE8_MEMBER(exidy_state::fax_bank_select_w) } +WRITE8_MEMBER(exidy_state::mtrap_ocl_w) // Mouse Trap (possibly others) set P1 and P2 leds value at 5101, too. +{ + *m_sprite_enable = data; + + output().set_value("led0", !BIT(data, 2)); + output().set_value("led1", !BIT(data, 4)); +} /************************************* * @@ -292,6 +304,11 @@ void exidy_state::pepper2_map(address_map &map) map(0x8000, 0xffff).rom(); } +void exidy_state::mtrap_map(address_map &map) +{ + venture_map(map); + map(0x5101, 0x5101).w(FUNC(exidy_state::mtrap_ocl_w)); +} void exidy_state::fax_map(address_map &map) { @@ -926,7 +943,7 @@ MACHINE_CONFIG_START(exidy_state::mtrap) /* basic machine hardware */ MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(venture_map) + MCFG_DEVICE_PROGRAM_MAP(mtrap_map) MCFG_QUANTUM_TIME(attotime::from_hz(1920)) diff --git a/src/mame/includes/exidy.h b/src/mame/includes/exidy.h index 91be7edd4cc..99e37d35994 100644 --- a/src/mame/includes/exidy.h +++ b/src/mame/includes/exidy.h @@ -108,6 +108,7 @@ private: DECLARE_WRITE8_MEMBER(fax_bank_select_w); DECLARE_READ8_MEMBER(exidy_interrupt_r); + DECLARE_WRITE8_MEMBER(mtrap_ocl_w); virtual void video_start() override; DECLARE_MACHINE_START(teetert); @@ -142,12 +143,14 @@ private: void exidy_map(address_map &map); void fax_map(address_map &map); + void mtrap_map(address_map &map); void pepper2_map(address_map &map); void rallys_map(address_map &map); void sidetrac_map(address_map &map); void spectar_map(address_map &map); void targ_map(address_map &map); void venture_map(address_map &map); + protected: virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; }; |