summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2018-07-05 17:07:20 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2018-07-05 17:07:20 +0200
commit8fe31f857d3d17ba4da11a5f84bfde768456d63d (patch)
treef2da07712524d952dfad3c41034152052c6adb3c
parentc709bebef01d19144b26804e8799604a83998ae7 (diff)
mappy.cpp: timer_set removal (nw)
-rw-r--r--src/mame/drivers/mappy.cpp14
-rw-r--r--src/mame/includes/mappy.h21
2 files changed, 23 insertions, 12 deletions
diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp
index fcdf376657f..58cf22ed556 100644
--- a/src/mame/drivers/mappy.cpp
+++ b/src/mame/drivers/mappy.cpp
@@ -613,8 +613,11 @@ void mappy_state::device_timer(emu_timer &timer, device_timer_id id, int param,
{
switch (id)
{
- case TIMER_IO_RUN:
- m_namcoio[param]->customio_run();
+ case TIMER_IO0_RUN:
+ m_namcoio[0]->customio_run();
+ break;
+ case TIMER_IO1_RUN:
+ m_namcoio[1]->customio_run();
break;
default:
assert_always(false, "Unknown id in mappy_state::device_timer");
@@ -630,10 +633,10 @@ WRITE_LINE_MEMBER(mappy_state::vblank_irq)
m_maincpu->set_input_line(0, ASSERT_LINE);
if (!m_namcoio[0]->read_reset_line()) // give the cpu a tiny bit of time to write the command before processing it
- timer_set(attotime::from_usec(50), TIMER_IO_RUN, 0);
+ m_namcoio_run_timer[0]->adjust(attotime::from_usec(50));
if (!m_namcoio[1]->read_reset_line()) // give the cpu a tiny bit of time to write the command before processing it
- timer_set(attotime::from_usec(50), TIMER_IO_RUN, 1);
+ m_namcoio_run_timer[1]->adjust(attotime::from_usec(50));
if (m_sub_irq_mask)
m_subcpu->set_input_line(0, ASSERT_LINE);
@@ -1312,6 +1315,9 @@ void mappy_state::machine_start()
{
m_leds.resolve();
+ m_namcoio_run_timer[0] = timer_alloc(TIMER_IO0_RUN);
+ m_namcoio_run_timer[1] = timer_alloc(TIMER_IO1_RUN);
+
save_item(NAME(m_main_irq_mask));
save_item(NAME(m_sub_irq_mask));
save_item(NAME(m_sub2_irq_mask));
diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h
index 9e50cdfca49..5000735432f 100644
--- a/src/mame/includes/mappy.h
+++ b/src/mame/includes/mappy.h
@@ -14,11 +14,6 @@
class mappy_state : public driver_device
{
public:
- enum
- {
- TIMER_IO_RUN
- };
-
mappy_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_videoram(*this, "videoram"),
@@ -49,7 +44,17 @@ public:
void init_grobda();
void init_digdug2();
+protected:
+ virtual void machine_start() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
+ enum
+ {
+ TIMER_IO0_RUN,
+ TIMER_IO1_RUN
+ };
+
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_spriteram;
@@ -73,6 +78,8 @@ private:
uint8_t m_sub_irq_mask;
uint8_t m_sub2_irq_mask;
+ emu_timer *m_namcoio_run_timer[2];
+
DECLARE_WRITE_LINE_MEMBER(int_on_w);
DECLARE_WRITE_LINE_MEMBER(int_on_2_w);
DECLARE_WRITE_LINE_MEMBER(int_on_3_w);
@@ -88,7 +95,7 @@ private:
TILE_GET_INFO_MEMBER(superpac_get_tile_info);
TILE_GET_INFO_MEMBER(phozon_get_tile_info);
TILE_GET_INFO_MEMBER(mappy_get_tile_info);
- virtual void machine_start() override;
+
DECLARE_VIDEO_START(superpac);
DECLARE_PALETTE_INIT(superpac);
DECLARE_VIDEO_START(phozon);
@@ -109,8 +116,6 @@ private:
void phozon_cpu3_map(address_map &map);
void superpac_cpu1_map(address_map &map);
void superpac_cpu2_map(address_map &map);
-protected:
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
};
#endif // MAME_INCLUDES_MAPPY_H