diff options
Diffstat (limited to 'src/mame/drivers/odyssey2.cpp')
-rw-r--r-- | src/mame/drivers/odyssey2.cpp | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/src/mame/drivers/odyssey2.cpp b/src/mame/drivers/odyssey2.cpp index b49ec035d2b..cb3e2f4df00 100644 --- a/src/mame/drivers/odyssey2.cpp +++ b/src/mame/drivers/odyssey2.cpp @@ -37,6 +37,16 @@ public: m_keyboard(*this, "KEY.%u", 0), m_joysticks(*this, "JOY.%u", 0) { } + void odyssey2_cartslot(machine_config &config); + void videopac(machine_config &config); + void odyssey2(machine_config &config); + + void init_odyssey2(); + + uint32_t screen_update_odyssey2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + +protected: + required_device<cpu_device> m_maincpu; required_device<i8244_device> m_i8244; required_device<o2_cart_slot_device> m_cart; @@ -45,29 +55,19 @@ public: uint8_t m_p1; uint8_t m_p2; uint8_t m_lum; - DECLARE_READ8_MEMBER(io_read); - DECLARE_WRITE8_MEMBER(io_write); - DECLARE_READ8_MEMBER(bus_read); - DECLARE_WRITE8_MEMBER(bus_write); - DECLARE_READ8_MEMBER(p1_read); - DECLARE_WRITE8_MEMBER(p1_write); - DECLARE_READ8_MEMBER(p2_read); - DECLARE_WRITE8_MEMBER(p2_write); + + DECLARE_READ_LINE_MEMBER(t1_read); - void init_odyssey2(); - virtual void machine_start() override; - virtual void machine_reset() override; DECLARE_PALETTE_INIT(odyssey2); - uint32_t screen_update_odyssey2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); DECLARE_WRITE16_MEMBER(scanline_postprocess); - void odyssey2_cartslot(machine_config &config); - void videopac(machine_config &config); - void odyssey2(machine_config &config); void odyssey2_io(address_map &map); void odyssey2_mem(address_map &map); -protected: + + virtual void machine_start() override; + virtual void machine_reset() override; + /* constants */ static const uint8_t P1_BANK_LO_BIT = 0x01; static const uint8_t P1_BANK_HI_BIT = 0x02; @@ -80,6 +80,15 @@ protected: required_ioport_array<6> m_keyboard; required_ioport_array<2> m_joysticks; + + DECLARE_READ8_MEMBER(io_read); + DECLARE_WRITE8_MEMBER(io_write); + DECLARE_READ8_MEMBER(bus_read); + DECLARE_WRITE8_MEMBER(bus_write); + DECLARE_READ8_MEMBER(p1_read); + DECLARE_WRITE8_MEMBER(p1_write); + DECLARE_READ8_MEMBER(p2_read); + DECLARE_WRITE8_MEMBER(p2_write); }; class g7400_state : public odyssey2_state @@ -91,6 +100,10 @@ public: , m_ef9340_1(*this, "ef9340_1") { } + void g7400(machine_config &config); + void odyssey3(machine_config &config); + +private: required_device<i8243_device> m_i8243; required_device<ef9340_1_device> m_ef9340_1; @@ -103,10 +116,8 @@ public: DECLARE_WRITE8_MEMBER(i8243_port_w); DECLARE_WRITE16_MEMBER(scanline_postprocess); - void g7400(machine_config &config); - void odyssey3(machine_config &config); void g7400_io(address_map &map); -protected: + uint8_t m_ic674_decode[8]; uint8_t m_ic678_decode[8]; }; |