summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit588776d89136a91fa80a761f5bed0da1b6264f4f (patch)
treedf0f7c130aa9ebb388b3c2ef131f83f29a3046f0
parent21b6c96cac665e557415c8c2d4ebef1d56bf5060 (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.cpp19
-rw-r--r--src/mame/includes/exidy.h3
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;
};