diff options
Diffstat (limited to 'src/mame/includes/segas32.h')
-rw-r--r-- | src/mame/includes/segas32.h | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/src/mame/includes/segas32.h b/src/mame/includes/segas32.h index 7e13162ac00..a155c341cfe 100644 --- a/src/mame/includes/segas32.h +++ b/src/mame/includes/segas32.h @@ -97,8 +97,6 @@ public: DECLARE_READ16_MEMBER(darkedge_protection_r); DECLARE_WRITE16_MEMBER(dbzvrvs_protection_w); DECLARE_READ16_MEMBER(dbzvrvs_protection_r); - DECLARE_READ16_MEMBER(arabfgt_protection_r); - DECLARE_WRITE16_MEMBER(arabfgt_protection_w); DECLARE_READ16_MEMBER(arf_wakeup_protection_r); DECLARE_WRITE16_MEMBER(jleague_protection_w); DECLARE_READ16_MEMBER(arescue_dsp_r); @@ -182,7 +180,6 @@ public: void mix_all_layers(int which, int xoffs, bitmap_rgb32 &bitmap, const rectangle &cliprect, uint8_t enablemask); void print_mixer_data(int which); uint32_t multi32_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int index); - void decrypt_ga2_protrom(); void update_irq_state(); void signal_v60_irq(int which); void int_control_w(address_space &space, int offset, uint8_t data); @@ -244,76 +241,86 @@ public: protected: segas32_state(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; virtual void device_reset() override; }; -class segas32_regular_state : public segas32_state +class segas32_regular_state : public segas32_state { public: segas32_regular_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual machine_config_constructor device_mconfig_additions() const override; // virtual void device_start() override; // virtual void device_reset() override; }; -class segas32_analog_state : public segas32_state +class segas32_analog_state : public segas32_state { public: segas32_analog_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + segas32_analog_state(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + virtual void device_add_mconfig(machine_config &config) override; // virtual void device_start() override; // virtual void device_reset() override; }; -class segas32_trackball_state : public segas32_state +class segas32_trackball_state : public segas32_state { public: segas32_trackball_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; }; -class segas32_4player_state : public segas32_state +class segas32_4player_state : public segas32_state { public: segas32_4player_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + segas32_4player_state(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + virtual void device_add_mconfig(machine_config &config) override; // virtual void device_start() override; // virtual void device_reset() override; }; -class segas32_v25_state : public segas32_state +class segas32_v25_state : public segas32_4player_state { public: segas32_v25_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + static const uint8_t arf_opcode_table[256]; + static const uint8_t ga2_opcode_table[256]; + protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; // virtual void device_reset() override; + +private: + void decrypt_protrom(); }; -class segas32_upd7725_state : public segas32_state +class segas32_upd7725_state : public segas32_analog_state { public: segas32_upd7725_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; // virtual void device_reset() override; }; -class segas32_cd_state : public segas32_state +class segas32_cd_state : public segas32_state { public: segas32_cd_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -322,23 +329,25 @@ public: DECLARE_WRITE8_MEMBER(lamps2_w); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; // virtual void device_reset() override; }; -class sega_multi32_state : public segas32_state +class sega_multi32_state : public segas32_state { public: sega_multi32_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + sega_multi32_state(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; // virtual void device_reset() override; }; -class sega_multi32_analog_state : public segas32_state +class sega_multi32_analog_state : public sega_multi32_state { public: sega_multi32_analog_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -348,7 +357,7 @@ public: DECLARE_WRITE8_MEMBER(analog_bank_w); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; // virtual void device_reset() override; @@ -357,20 +366,17 @@ private: uint8_t m_analog_bank; }; -class sega_multi32_6player_state : public segas32_state +class sega_multi32_6player_state : public sega_multi32_state { public: sega_multi32_6player_state(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; // virtual void device_reset() override; }; -/*----------- defined in machine/segas32.c -----------*/ -extern const uint8_t ga2_v25_opcode_table[]; - DECLARE_DEVICE_TYPE(SEGA_S32_PCB, segas32_state) #endif // MAME_INCLUDES_SEGAS32_H |