diff options
Diffstat (limited to 'src/mame/tvgames/xavix.h')
-rw-r--r-- | src/mame/tvgames/xavix.h | 79 |
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 |