diff options
author | 2011-04-27 05:11:18 +0000 | |
---|---|---|
committer | 2011-04-27 05:11:18 +0000 | |
commit | 919913f118760c0ca41ab63512bd5c106f6fd840 (patch) | |
tree | cd6c115c8e9c5280ac4bd16eabfe69c7341151c2 /src/emu/inptport.h | |
parent | 84f2c31f7d6f6c667427b1d60c83e6dc9f420d60 (diff) |
Collapsed device_config and device_t into one class. Updated all
existing modern devices and the legacy wrappers to work in this
environment. This in general greatly simplifies writing a modern
device. [Aaron Giles]
General notes:
* some more cleanup probably needs to happen behind this change,
but I needed to get it in before the next device modernization
or import from MESS :)
* new template function device_creator which automatically defines
the static function that creates the device; use this instead of
creating a static_alloc_device_config function
* added device_stop() method which is called at around the time
the previous device_t's destructor was called; if you auto_free
anything, do it here because the machine is gone when the
destructor is called
* changed the static_set_* calls to pass a device_t & instead of
a device_config *
* for many devices, the static config structure member names over-
lapped the device's names for devcb_* functions; in these cases
the members in the interface were renamed to have a _cb suffix
* changed the driver_enumerator to only cache 100 machine_configs
because caching them all took a ton of memory; fortunately this
implementation detail is completely hidden behind the
driver_enumerator interface
* got rid of the macros for creating derived classes; doing it
manually is now clean enough that it isn't worth hiding the
details in a macro
Diffstat (limited to 'src/emu/inptport.h')
-rw-r--r-- | src/emu/inptport.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/emu/inptport.h b/src/emu/inptport.h index 5ee632fcccd..d7baddb1895 100644 --- a/src/emu/inptport.h +++ b/src/emu/inptport.h @@ -750,7 +750,7 @@ public: /* these fields are only valid if the port is live */ input_port_state * state; /* live state of port (NULL if not live) */ - device_config * owner; /* associated device, when appropriate */ + device_t * owner; /* associated device, when appropriate */ input_port_value active; /* mask of active bits in the port */ private: @@ -1085,14 +1085,14 @@ struct _inp_header /* ----- core system management ----- */ /* initialize the input ports, processing the given token list */ -time_t input_port_init(running_machine &machine, const input_port_token *tokens, const device_config_list &devicelist); +time_t input_port_init(running_machine &machine, const input_port_token *tokens, const device_list &devicelist); /* ----- port configurations ----- */ /* initialize an input port list structure and allocate ports according to the given tokens */ -void input_port_list_init(ioport_list &portlist, const input_port_token *tokens, char *errorbuf, int errorbuflen, int allocmap, device_config *owner); +void input_port_list_init(ioport_list &portlist, const input_port_token *tokens, char *errorbuf, int errorbuflen, int allocmap, device_t *owner); /* return the field that matches the given tag and mask */ const input_field_config *input_field_by_tag_and_mask(const ioport_list &portlist, const char *tag, input_port_value mask); |