summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes/multigame.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes/multigame.h')
-rw-r--r--src/devices/bus/nes/multigame.h386
1 files changed, 240 insertions, 146 deletions
diff --git a/src/devices/bus/nes/multigame.h b/src/devices/bus/nes/multigame.h
index 65c803910e8..e88ec21be58 100644
--- a/src/devices/bus/nes/multigame.h
+++ b/src/devices/bus/nes/multigame.h
@@ -1,7 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Fabio Priuli
-#ifndef __NES_MULTIGAME_H
-#define __NES_MULTIGAME_H
+#ifndef MAME_BUS_NES_MULTIGAME_H
+#define MAME_BUS_NES_MULTIGAME_H
+
+#pragma once
#include "nxrom.h"
@@ -14,11 +16,13 @@ public:
// construction/destruction
nes_action52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -30,13 +34,15 @@ public:
// construction/destruction
nes_caltron_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -50,13 +56,15 @@ public:
// construction/destruction
nes_rumblestat_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_prg, m_chr;
};
@@ -70,14 +78,16 @@ public:
// construction/destruction
nes_svision16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_prg();
uint8_t m_latch1, m_latch2;
@@ -92,12 +102,14 @@ public:
// construction/destruction
nes_n625092_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_prg(uint8_t reg1, uint8_t reg2);
uint8_t m_latch1, m_latch2;
@@ -112,11 +124,13 @@ public:
// construction/destruction
nes_a65as_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -128,12 +142,14 @@ public:
// construction/destruction
nes_t262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch1, m_latch2;
};
@@ -147,11 +163,13 @@ public:
// construction/destruction
nes_novel1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -163,11 +181,13 @@ public:
// construction/destruction
nes_novel2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -179,11 +199,13 @@ public:
// construction/destruction
nes_studyngame_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -195,11 +217,13 @@ public:
// construction/destruction
nes_sgun20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -211,13 +235,15 @@ public:
// construction/destruction
nes_vt5201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch, m_dipsetting;
};
@@ -231,11 +257,13 @@ public:
// construction/destruction
nes_810544c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -247,11 +275,13 @@ public:
// construction/destruction
nes_ntd03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -263,14 +293,16 @@ public:
// construction/destruction
nes_bmc_gb63_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
uint8_t m_latch, m_dipsetting;
@@ -286,12 +318,14 @@ public:
// construction/destruction
nes_bmc_gka_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch1, m_latch2;
};
@@ -305,11 +339,13 @@ public:
// construction/destruction
nes_bmc_gkb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -321,12 +357,14 @@ public:
// construction/destruction
nes_bmc_ws_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -340,11 +378,13 @@ public:
// construction/destruction
nes_bmc_11160_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -356,11 +396,13 @@ public:
// construction/destruction
nes_bmc_g146_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -372,12 +414,14 @@ public:
// construction/destruction
nes_bmc_8157_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -389,11 +433,13 @@ public:
// construction/destruction
nes_bmc_hik300_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -405,11 +451,13 @@ public:
// construction/destruction
nes_bmc_s700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -421,13 +469,15 @@ public:
// construction/destruction
nes_bmc_ball11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_banks();
uint8_t m_reg[2];
@@ -442,11 +492,13 @@ public:
// construction/destruction
nes_bmc_22games_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -458,13 +510,15 @@ public:
// construction/destruction
nes_bmc_64y2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_l) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void set_prg();
uint8_t m_reg[4];
@@ -479,12 +533,14 @@ public:
// construction/destruction
nes_bmc_12in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
void update_banks();
uint8_t m_reg[3];
@@ -499,11 +555,13 @@ public:
// construction/destruction
nes_bmc_20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -515,11 +573,13 @@ public:
// construction/destruction
nes_bmc_21in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -531,11 +591,13 @@ public:
// construction/destruction
nes_bmc_31in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -547,11 +609,13 @@ public:
// construction/destruction
nes_bmc_35in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -563,11 +627,13 @@ public:
// construction/destruction
nes_bmc_36in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -579,11 +645,13 @@ public:
// construction/destruction
nes_bmc_64in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -595,13 +663,15 @@ public:
// construction/destruction
nes_bmc_70in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_mode;
uint8_t m_reg[2];
@@ -616,11 +686,13 @@ public:
// construction/destruction
nes_bmc_72in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -632,12 +704,14 @@ public:
// construction/destruction
nes_bmc_76in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch1, m_latch2;
};
@@ -651,11 +725,13 @@ public:
// construction/destruction
nes_bmc_110in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -667,11 +743,13 @@ public:
// construction/destruction
nes_bmc_150in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -683,11 +761,13 @@ public:
// construction/destruction
nes_bmc_190in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -699,13 +779,15 @@ public:
// construction/destruction
nes_bmc_800in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_mode;
uint8_t m_reg[2];
@@ -720,13 +802,15 @@ public:
// construction/destruction
nes_bmc_1200in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual DECLARE_WRITE8_MEMBER(chr_w) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_vram_protect;
};
@@ -740,13 +824,15 @@ public:
// construction/destruction
nes_bmc_gold150_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -760,11 +846,13 @@ public:
// construction/destruction
nes_bmc_gold260_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -776,13 +864,15 @@ public:
// construction/destruction
nes_bmc_ch001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
uint8_t m_latch;
};
@@ -796,11 +886,13 @@ public:
// construction/destruction
nes_bmc_super22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
};
@@ -812,9 +904,11 @@ public:
// construction/destruction
nes_bmc_4in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ virtual void pcb_reset() override;
+
+protected:
// device-level overrides
virtual void device_start() override;
- virtual void pcb_reset() override;
private:
int m_latch;
@@ -828,67 +922,67 @@ public:
// construction/destruction
nes_bmc_42in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
- virtual void device_start() override;
virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override;
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+
private:
int m_latch;
uint8_t m_reg[2];
};
-
// device type definition
-extern const device_type NES_ACTION52;
-extern const device_type NES_CALTRON6IN1;
-extern const device_type NES_RUMBLESTATION;
-extern const device_type NES_SVISION16;
-extern const device_type NES_N625092;
-extern const device_type NES_A65AS;
-extern const device_type NES_T262;
-extern const device_type NES_NOVEL1;
-extern const device_type NES_NOVEL2;
-extern const device_type NES_STUDYNGAME;
-extern const device_type NES_SUPERGUN20IN1;
-extern const device_type NES_VT5201;
-extern const device_type NES_810544C;
-extern const device_type NES_NTD03;
-extern const device_type NES_BMC_GB63;
-extern const device_type NES_BMC_GKA;
-extern const device_type NES_BMC_GKB;
-extern const device_type NES_BMC_WS;
-extern const device_type NES_BMC_11160;
-extern const device_type NES_BMC_G146;
-extern const device_type NES_BMC_8157;
-extern const device_type NES_BMC_HIK300;
-extern const device_type NES_BMC_S700;
-extern const device_type NES_BMC_BALL11;
-extern const device_type NES_BMC_22GAMES;
-extern const device_type NES_BMC_64Y2K;
-extern const device_type NES_BMC_12IN1;
-extern const device_type NES_BMC_20IN1;
-extern const device_type NES_BMC_21IN1;
-extern const device_type NES_BMC_31IN1;
-extern const device_type NES_BMC_35IN1;
-extern const device_type NES_BMC_36IN1;
-extern const device_type NES_BMC_64IN1;
-extern const device_type NES_BMC_70IN1;
-extern const device_type NES_BMC_72IN1;
-extern const device_type NES_BMC_76IN1;
-extern const device_type NES_BMC_110IN1;
-extern const device_type NES_BMC_150IN1;
-extern const device_type NES_BMC_190IN1;
-extern const device_type NES_BMC_800IN1;
-extern const device_type NES_BMC_1200IN1;
-extern const device_type NES_BMC_GOLD150;
-extern const device_type NES_BMC_GOLD260;
-extern const device_type NES_BMC_CH001;
-extern const device_type NES_BMC_SUPER22;
-extern const device_type NES_BMC_4IN1RESET;
-extern const device_type NES_BMC_42IN1RESET;
-
-
-#endif
+DECLARE_DEVICE_TYPE(NES_ACTION52, nes_action52_device)
+DECLARE_DEVICE_TYPE(NES_CALTRON6IN1, nes_caltron_device)
+DECLARE_DEVICE_TYPE(NES_RUMBLESTATION, nes_rumblestat_device)
+DECLARE_DEVICE_TYPE(NES_SVISION16, nes_svision16_device)
+DECLARE_DEVICE_TYPE(NES_N625092, nes_n625092_device)
+DECLARE_DEVICE_TYPE(NES_A65AS, nes_a65as_device)
+DECLARE_DEVICE_TYPE(NES_T262, nes_t262_device)
+DECLARE_DEVICE_TYPE(NES_NOVEL1, nes_novel1_device)
+DECLARE_DEVICE_TYPE(NES_NOVEL2, nes_novel2_device)
+DECLARE_DEVICE_TYPE(NES_STUDYNGAME, nes_studyngame_device)
+DECLARE_DEVICE_TYPE(NES_SUPERGUN20IN1, nes_sgun20in1_device)
+DECLARE_DEVICE_TYPE(NES_VT5201, nes_vt5201_device)
+DECLARE_DEVICE_TYPE(NES_810544C, nes_810544c_device)
+DECLARE_DEVICE_TYPE(NES_NTD03, nes_ntd03_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GB63, nes_bmc_gb63_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GKA, nes_bmc_gka_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GKB, nes_bmc_gkb_device)
+DECLARE_DEVICE_TYPE(NES_BMC_WS, nes_bmc_ws_device)
+DECLARE_DEVICE_TYPE(NES_BMC_11160, nes_bmc_11160_device)
+DECLARE_DEVICE_TYPE(NES_BMC_G146, nes_bmc_g146_device)
+DECLARE_DEVICE_TYPE(NES_BMC_8157, nes_bmc_8157_device)
+DECLARE_DEVICE_TYPE(NES_BMC_HIK300, nes_bmc_hik300_device)
+DECLARE_DEVICE_TYPE(NES_BMC_S700, nes_bmc_s700_device)
+DECLARE_DEVICE_TYPE(NES_BMC_BALL11, nes_bmc_ball11_device)
+DECLARE_DEVICE_TYPE(NES_BMC_22GAMES, nes_bmc_22games_device)
+DECLARE_DEVICE_TYPE(NES_BMC_64Y2K, nes_bmc_64y2k_device)
+DECLARE_DEVICE_TYPE(NES_BMC_12IN1, nes_bmc_12in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_20IN1, nes_bmc_20in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_21IN1, nes_bmc_21in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_31IN1, nes_bmc_31in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_35IN1, nes_bmc_35in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_36IN1, nes_bmc_36in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_64IN1, nes_bmc_64in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_70IN1, nes_bmc_70in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_72IN1, nes_bmc_72in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_76IN1, nes_bmc_76in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_110IN1, nes_bmc_110in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_150IN1, nes_bmc_150in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_190IN1, nes_bmc_190in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_800IN1, nes_bmc_800in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_1200IN1, nes_bmc_1200in1_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GOLD150, nes_bmc_gold150_device)
+DECLARE_DEVICE_TYPE(NES_BMC_GOLD260, nes_bmc_gold260_device)
+DECLARE_DEVICE_TYPE(NES_BMC_CH001, nes_bmc_ch001_device)
+DECLARE_DEVICE_TYPE(NES_BMC_SUPER22, nes_bmc_super22_device)
+DECLARE_DEVICE_TYPE(NES_BMC_4IN1RESET, nes_bmc_4in1reset_device)
+DECLARE_DEVICE_TYPE(NES_BMC_42IN1RESET, nes_bmc_42in1reset_device)
+
+#endif // MAME_BUS_NES_MULTIGAME_H