diff options
Diffstat (limited to 'src/devices/bus/neogeo/cmc.h')
-rw-r--r-- | src/devices/bus/neogeo/cmc.h | 148 |
1 files changed, 85 insertions, 63 deletions
diff --git a/src/devices/bus/neogeo/cmc.h b/src/devices/bus/neogeo/cmc.h index 7ee808ad08c..78d0e29326d 100644 --- a/src/devices/bus/neogeo/cmc.h +++ b/src/devices/bus/neogeo/cmc.h @@ -1,200 +1,222 @@ // license:BSD-3-Clause // copyright-holders:S. Smith,David Haywood,Fabio Priuli -#ifndef __NEOGEO_CMC_H -#define __NEOGEO_CMC_H +#ifndef MAME_BUS_NEOGEO_CMC_H +#define MAME_BUS_NEOGEO_CMC_H + +#pragma once #include "slot.h" #include "rom.h" #include "prot_cmc.h" -// ======================> neogeo_cmc_cart +// ======================> neogeo_cmc_cart_device -class neogeo_cmc_cart : public neogeo_rom_device +class neogeo_cmc_cart_device : public neogeo_rom_device { public: // construction/destruction - neogeo_cmc_cart(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint16_t clock, const char *shortname, const char *source); - neogeo_cmc_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); + neogeo_cmc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); - // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; virtual machine_config_constructor device_mconfig_additions() const override; // reading and writing - virtual void decrypt_all(DECRYPT_ALL_PARAMS) override {} - virtual int get_fixed_bank_type(void) override { return 0; } + virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { } + virtual int get_fixed_bank_type() override { return 0; } - required_device<cmc_prot_device> m_prot; -}; +protected: + neogeo_cmc_cart_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint16_t clock); + // device-level overrides + virtual void device_start() override; + virtual void device_reset() override; + required_device<cmc_prot_device> m_prot; +}; // device type definition -extern const device_type NEOGEO_CMC_CART; +DECLARE_DEVICE_TYPE(NEOGEO_CMC_CART, neogeo_cmc_cart_device) /************************************************* zupapa **************************************************/ -class neogeo_cmc_zupapa_cart : public neogeo_cmc_cart +class neogeo_cmc_zupapa_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_zupapa_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_zupapa_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_ZUPAPA_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_ZUPAPA_CART, neogeo_cmc_zupapa_cart_device) + /************************************************* mslug3h **************************************************/ -class neogeo_cmc_mslug3h_cart : public neogeo_cmc_cart +class neogeo_cmc_mslug3h_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_mslug3h_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_mslug3h_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_MSLUG3H_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_MSLUG3H_CART, neogeo_cmc_mslug3h_cart_device) /************************************************* ganryu **************************************************/ -class neogeo_cmc_ganryu_cart : public neogeo_cmc_cart +class neogeo_cmc_ganryu_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_ganryu_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_ganryu_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_GANRYU_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_GANRYU_CART, neogeo_cmc_ganryu_cart_device) + /************************************************* s1945p **************************************************/ -class neogeo_cmc_s1945p_cart : public neogeo_cmc_cart +class neogeo_cmc_s1945p_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_s1945p_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_s1945p_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_S1945P_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_S1945P_CART, neogeo_cmc_s1945p_cart_device) /************************************************* preisle2 **************************************************/ -class neogeo_cmc_preisle2_cart : public neogeo_cmc_cart +class neogeo_cmc_preisle2_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_preisle2_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_preisle2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_PREISLE2_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_PREISLE2_CART, neogeo_cmc_preisle2_cart_device) + /************************************************* bangbead **************************************************/ -class neogeo_cmc_bangbead_cart : public neogeo_cmc_cart +class neogeo_cmc_bangbead_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_bangbead_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_bangbead_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_BANGBEAD_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_BANGBEAD_CART, neogeo_cmc_bangbead_cart_device) /************************************************* nitd **************************************************/ -class neogeo_cmc_nitd_cart : public neogeo_cmc_cart +class neogeo_cmc_nitd_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_nitd_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_nitd_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_NITD_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_NITD_CART, neogeo_cmc_nitd_cart_device) + /************************************************* sengoku3 **************************************************/ -class neogeo_cmc_sengoku3_cart : public neogeo_cmc_cart +class neogeo_cmc_sengoku3_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_sengoku3_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_sengoku3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_SENGOKU3_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_SENGOKU3_CART, neogeo_cmc_sengoku3_cart_device) + /************************************************* kof99k **************************************************/ -class neogeo_cmc_kof99k_cart : public neogeo_cmc_cart +class neogeo_cmc_kof99k_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_kof99k_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_kof99k_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_KOF99K_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_KOF99K_CART, neogeo_cmc_kof99k_cart_device) + /************************************************* kof2001 **************************************************/ -class neogeo_cmc_kof2001_cart : public neogeo_cmc_cart +class neogeo_cmc_kof2001_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_kof2001_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_kof2001_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } }; -extern const device_type NEOGEO_CMC_KOF2001_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_KOF2001_CART, neogeo_cmc_kof2001_cart_device) + /************************************************* kof2000n **************************************************/ -class neogeo_cmc_kof2000n_cart : public neogeo_cmc_cart +class neogeo_cmc_kof2000n_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_kof2000n_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_kof2000n_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 2; } + virtual int get_fixed_bank_type() override { return 2; } }; -extern const device_type NEOGEO_CMC_KOF2000N_CART; + +DECLARE_DEVICE_TYPE(NEOGEO_CMC_KOF2000N_CART, neogeo_cmc_kof2000n_cart_device) /************************************************* jockeygp **************************************************/ -class neogeo_cmc_jockeygp_cart : public neogeo_cmc_cart +class neogeo_cmc_jockeygp_cart_device : public neogeo_cmc_cart_device { public: - neogeo_cmc_jockeygp_cart(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + neogeo_cmc_jockeygp_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; - virtual int get_fixed_bank_type(void) override { return 1; } + virtual int get_fixed_bank_type() override { return 1; } virtual DECLARE_READ16_MEMBER(ram_r) override { return m_ram[offset]; } virtual DECLARE_WRITE16_MEMBER(ram_w) override { COMBINE_DATA(&m_ram[offset]); } +protected: virtual void device_start() override; virtual void device_reset() override; @@ -202,6 +224,6 @@ private: uint16_t m_ram[0x1000]; }; -extern const device_type NEOGEO_CMC_JOCKEYGP_CART; +DECLARE_DEVICE_TYPE(NEOGEO_CMC_JOCKEYGP_CART, neogeo_cmc_jockeygp_cart_device) -#endif +#endif // MAME_BUS_NEOGEO_CMC_H |