summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/tvgames/xavix.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/tvgames/xavix.h')
-rw-r--r--src/mame/tvgames/xavix.h79
1 files changed, 51 insertions, 28 deletions
diff --git a/src/mame/tvgames/xavix.h b/src/mame/tvgames/xavix.h
index da52cf314b2..40d3894283d 100644
--- a/src/mame/tvgames/xavix.h
+++ b/src/mame/tvgames/xavix.h
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
-#ifndef MAME_INCLUDES_XAVIX_H
-#define MAME_INCLUDES_XAVIX_H
+#ifndef MAME_TVGAMES_XAVIX_H
+#define MAME_TVGAMES_XAVIX_H
#include "cpu/m6502/xavix.h"
#include "cpu/m6502/xavix2000.h"
@@ -129,10 +129,10 @@ public:
void init_xavix();
- DECLARE_WRITE_LINE_MEMBER(ioevent_trg01);
- DECLARE_WRITE_LINE_MEMBER(ioevent_trg02);
- DECLARE_WRITE_LINE_MEMBER(ioevent_trg04);
- DECLARE_WRITE_LINE_MEMBER(ioevent_trg08);
+ void ioevent_trg01(int state);
+ void ioevent_trg02(int state);
+ void ioevent_trg04(int state);
+ void ioevent_trg08(int state);
int m_rgnlen = 0;
uint8_t* m_rgn = nullptr;
@@ -189,6 +189,9 @@ protected:
virtual uint8_t read_io1(uint8_t direction);
virtual void write_io0(uint8_t data, uint8_t direction);
virtual void write_io1(uint8_t data, uint8_t direction);
+
+ void set_xavix_cpumaps(machine_config &config);
+
required_ioport m_in0;
required_ioport m_in1;
required_ioport_array<8> m_an_in;
@@ -607,13 +610,12 @@ class xavix_i2c_state : public xavix_state
public:
xavix_i2c_state(const machine_config &mconfig, device_type type, const char *tag)
: xavix_state(mconfig, type, tag),
- m_i2cmem(*this, "i2cmem"),
- hackaddress1(-1),
- hackaddress2(-1)
+ m_i2cmem(*this, "i2cmem")
{ }
void xavix_i2c_24lc04(machine_config &config);
void xavix_i2c_24c02(machine_config &config);
+ void xavix_i2c_24c02_43mhz(machine_config &config);
void xavix_i2c_24c08(machine_config &config);
void xavix2000_i2c_24c08(machine_config &config);
@@ -624,21 +626,10 @@ public:
void xavix2002_i2c_24c04(machine_config &config);
void xavix2002_i2c_mrangbat(machine_config& config);
- void init_epo_efdx()
- {
- init_xavix();
- hackaddress1 = 0x958a;
- hackaddress2 = 0x8524;
- }
-
protected:
virtual void write_io1(uint8_t data, uint8_t direction) override;
required_device<i2cmem_device> m_i2cmem;
-
-private:
- int hackaddress1;
- int hackaddress2;
};
class xavix_i2c_ltv_tam_state : public xavix_i2c_state
@@ -669,7 +660,7 @@ public:
: xavix_i2c_state(mconfig, type, tag)
{ }
- DECLARE_READ_LINE_MEMBER(camera_r);
+ int camera_r();
protected:
//virtual void write_io1(uint8_t data, uint8_t direction) override;
@@ -689,7 +680,7 @@ public:
void xavix_mtrk(machine_config &config);
void xavix_mtrkp(machine_config &config);
- DECLARE_READ_LINE_MEMBER( mtrk_wheel_r );
+ int mtrk_wheel_r();
protected:
required_device<xavix_mtrk_wheel_device> m_wheel;
@@ -725,6 +716,7 @@ public:
void xavix_cart_popira(machine_config &config);
void xavix_cart_ddrfammt(machine_config &config);
void xavix_cart_evio(machine_config &config);
+ void xavix_cart_hikara(machine_config &config);
protected:
@@ -933,7 +925,7 @@ public:
void xavix_cart_popira2(machine_config &config);
- DECLARE_READ_LINE_MEMBER(i2c_r);
+ int i2c_r();
protected:
virtual void write_io1(uint8_t data, uint8_t direction) override;
@@ -945,6 +937,18 @@ private:
required_ioport m_p2;
};
+class xavix_evio_cart_state : public xavix_cart_state
+{
+public:
+ xavix_evio_cart_state(const machine_config &mconfig, device_type type, const char *tag)
+ : xavix_cart_state(mconfig,type,tag)
+ { }
+
+ int i2c_r();
+
+protected:
+ virtual void write_io1(uint8_t data, uint8_t direction) override;
+};
class xavix_ekara_state : public xavix_cart_state
{
@@ -957,10 +961,8 @@ public:
m_extraiowrite(0)
{ }
- DECLARE_READ_LINE_MEMBER(ekara_multi0_r);
- DECLARE_READ_LINE_MEMBER(ekara_multi1_r);
-
-// void xavix_ekara(machine_config &config);
+ virtual int ekara_multi0_r();
+ virtual int ekara_multi1_r();
protected:
@@ -974,5 +976,26 @@ protected:
uint8_t m_extraiowrite;
};
+class xavix_hikara_state : public xavix_ekara_state
+{
+public:
+ xavix_hikara_state(const machine_config &mconfig, device_type type, const char *tag)
+ : xavix_ekara_state(mconfig, type, tag),
+ m_extra2(*this, "EXTRA2"),
+ m_extra3(*this, "EXTRA3")
+ { }
+
+ virtual int ekara_multi0_r() override;
+ virtual int ekara_multi1_r() override;
+ int ekara_multi2_r();
+ int ekara_multi3_r();
+
+protected:
+
+ required_ioport m_extra2;
+ required_ioport m_extra3;
+
+};
+
-#endif // MAME_INCLUDES_XAVIX_H
+#endif // MAME_TVGAMES_XAVIX_H