summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/odyssey2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/odyssey2.cpp')
-rw-r--r--src/mame/drivers/odyssey2.cpp49
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];
};