diff options
Diffstat (limited to 'src/mame/includes/1943.h')
-rw-r--r-- | src/mame/includes/1943.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/mame/includes/1943.h b/src/mame/includes/1943.h index 9ab1d6715fc..a3a91aac59a 100644 --- a/src/mame/includes/1943.h +++ b/src/mame/includes/1943.h @@ -10,6 +10,7 @@ #pragma once +#include "cpu/mcs51/mcs51.h" #include "emupal.h" #include "screen.h" @@ -19,6 +20,7 @@ public: _1943_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), + m_mcu(*this, "mcu"), m_videoram(*this, "videoram"), m_colorram(*this, "colorram"), m_scrollx(*this, "scrollx"), @@ -34,13 +36,14 @@ public: { } void _1943(machine_config &config); + void _1943b(machine_config &config); - void init_1943b(); void init_1943(); private: /* devices / memory pointers */ required_device<cpu_device> m_maincpu; + optional_device<i8751_device> m_mcu; required_shared_ptr<u8> m_videoram; required_shared_ptr<u8> m_colorram; required_shared_ptr<u8> m_scrollx; @@ -64,10 +67,16 @@ private: int m_bg2_on; /* protection */ - u8 m_prot_value; - void protection_w(u8 data); - u8 protection_r(); - u8 _1943b_c007_r(); + u8 m_cpu_to_mcu; // ls374 at 5k + u8 m_mcu_to_cpu; // ls374 at 6k + u8 m_audiocpu_to_mcu; // ls374 at 5l + u8 m_mcu_to_audiocpu; // ls374 at 6l + u8 m_mcu_p0; + u8 m_mcu_p2; + u8 m_mcu_p3; + + INTERRUPT_GEN_MEMBER(mcu_irq); + void mcu_p3_w(u8 data); void videoram_w(offs_t offset, u8 data); void colorram_w(offs_t offset, u8 data); @@ -88,6 +97,7 @@ private: void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); void c1943_map(address_map &map); + void c1943b_map(address_map &map); void sound_map(address_map &map); }; |