summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2017-05-22 18:29:16 +1000
committer Vas Crabb <vas@vastheman.com>2017-05-22 18:29:16 +1000
commitf7180a9504fa1ac39cb6c5f2af45f56c70a5bd77 (patch)
treea43f9ea78438f9d022e345ef8d5c6727036757c8
parent89524dd10e3b56a281e335e99e65a3f4f5ebb949 (diff)
and ioports, too (nw)
-rw-r--r--src/emu/driver.cpp11
-rw-r--r--src/emu/driver.h1
-rw-r--r--src/emu/gamedrv.h19
3 files changed, 7 insertions, 24 deletions
diff --git a/src/emu/driver.cpp b/src/emu/driver.cpp
index 79bef6a1c14..846f48c26ef 100644
--- a/src/emu/driver.cpp
+++ b/src/emu/driver.cpp
@@ -161,17 +161,6 @@ const tiny_rom_entry *driver_device::device_rom_region() const
//-------------------------------------------------
-// device_input_ports - return a pointer to the
-// game's input ports
-//-------------------------------------------------
-
-ioport_constructor driver_device::device_input_ports() const
-{
- return m_system->ipt;
-}
-
-
-//-------------------------------------------------
// device_start - device override which calls
// the various helpers
//-------------------------------------------------
diff --git a/src/emu/driver.h b/src/emu/driver.h
index 3f64fb3a38d..fb5000751a1 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -197,7 +197,6 @@ protected:
// device-level overrides
virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
virtual void device_start() override;
virtual void device_reset_after_children() override;
diff --git a/src/emu/gamedrv.h b/src/emu/gamedrv.h
index 9d341ee523d..41009260801 100644
--- a/src/emu/gamedrv.h
+++ b/src/emu/gamedrv.h
@@ -95,7 +95,6 @@ public:
const char * parent; // if this is a clone, the name of the parent
const char * year; // year the game was released
const char * manufacturer; // manufacturer of the game
- ioport_constructor ipt; // pointer to constructor for input ports
driver_init_helper const & driver_init; // DRIVER_INIT callback
const tiny_rom_entry * rom; // pointer to list of ROMs for the game
const char * compatible_with;
@@ -121,7 +120,7 @@ public:
#define GAME_EXTERN(name) extern game_driver const GAME_NAME(name)
// static game traits
-#define GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, CLASS) \
+#define GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, INPUT, CLASS) \
namespace { \
class GAME_TRAITS_NAME(NAME) : public CLASS \
{ \
@@ -130,6 +129,7 @@ namespace { \
GAME_TRAITS_NAME(NAME)(const machine_config &mconfig, device_type type, const char *tag) : CLASS(mconfig, type, tag) { } \
protected: \
virtual void device_add_mconfig(machine_config &config) override { MACHINE_CONFIG_NAME(MACHINE)(config, this, nullptr); } \
+ virtual ioport_constructor device_input_ports() const override { return INPUT_PORTS_NAME(INPUT); } \
}; \
constexpr char const GAME_TRAITS_NAME(NAME)::shortname[], GAME_TRAITS_NAME(NAME)::fullname[], GAME_TRAITS_NAME(NAME)::source[]; \
}
@@ -137,14 +137,13 @@ namespace { \
// standard GAME() macro
#define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \
-GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, CLASS) \
+GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, INPUT, CLASS) \
extern game_driver const GAME_NAME(NAME) \
{ \
GAME_DRIVER_TYPE(NAME), \
#PARENT, \
#YEAR, \
COMPANY, \
- INPUT_PORTS_NAME(INPUT), \
game_driver::make_driver_init(&CLASS::init_##INIT), \
ROM_NAME(NAME), \
nullptr, \
@@ -155,14 +154,13 @@ extern game_driver const GAME_NAME(NAME) \
// standard macro with additional layout
#define GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,LAYOUT) \
-GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, CLASS) \
+GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, INPUT, CLASS) \
extern game_driver const GAME_NAME(NAME) \
{ \
GAME_DRIVER_TYPE(NAME), \
#PARENT, \
#YEAR, \
COMPANY, \
- INPUT_PORTS_NAME(INPUT), \
game_driver::make_driver_init(&CLASS::init_##INIT), \
ROM_NAME(NAME), \
nullptr, \
@@ -174,14 +172,13 @@ extern game_driver const GAME_NAME(NAME) \
// standard console definition macro
#define CONS(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
-GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, CLASS) \
+GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, INPUT, CLASS) \
extern game_driver const GAME_NAME(NAME) \
{ \
GAME_DRIVER_TYPE(NAME), \
#PARENT, \
#YEAR, \
COMPANY, \
- INPUT_PORTS_NAME(INPUT), \
game_driver::make_driver_init(&CLASS::init_##INIT), \
ROM_NAME(NAME), \
#COMPAT, \
@@ -192,14 +189,13 @@ extern game_driver const GAME_NAME(NAME) \
// standard computer definition macro
#define COMP(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
-GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, CLASS) \
+GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, INPUT, CLASS) \
extern game_driver const GAME_NAME(NAME) \
{ \
GAME_DRIVER_TYPE(NAME), \
#PARENT, \
#YEAR, \
COMPANY, \
- INPUT_PORTS_NAME(INPUT), \
game_driver::make_driver_init(&CLASS::init_##INIT), \
ROM_NAME(NAME), \
#COMPAT, \
@@ -210,14 +206,13 @@ extern game_driver const GAME_NAME(NAME) \
// standard system definition macro
#define SYST(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \
-GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, CLASS) \
+GAME_DRIVER_TRAITS(NAME, FULLNAME, MACHINE, INPUT, CLASS) \
extern game_driver const GAME_NAME(NAME) \
{ \
GAME_DRIVER_TYPE(NAME), \
#PARENT, \
#YEAR, \
COMPANY, \
- INPUT_PORTS_NAME(INPUT), \
game_driver::make_driver_init(&CLASS::init_##INIT), \
ROM_NAME(NAME), \
#COMPAT, \