mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
Move overridable device->rom_region(), device->machine_config_additions(), and
device->input_ports() to protected methods. Added non-virtual wrappers around them.
This commit is contained in:
parent
ee8ae2b1d8
commit
28fdb61512
@ -383,13 +383,11 @@ protected:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
legacy_cpu_device_config(const machine_config &mconfig, device_type _type, const char *_tag, const device_config *_owner, UINT32 _clock, cpu_get_info_func get_info);
|
legacy_cpu_device_config(const machine_config &mconfig, device_type _type, const char *_tag, const device_config *_owner, UINT32 _clock, cpu_get_info_func get_info);
|
||||||
|
|
||||||
public:
|
|
||||||
// basic information getters
|
// basic information getters
|
||||||
virtual const rom_entry *rom_region() const { return reinterpret_cast<const rom_entry *>(get_legacy_config_ptr(DEVINFO_PTR_ROM_REGION)); }
|
virtual const rom_entry *device_rom_region() const { return reinterpret_cast<const rom_entry *>(get_legacy_config_ptr(DEVINFO_PTR_ROM_REGION)); }
|
||||||
virtual machine_config_constructor machine_config_additions() const { return reinterpret_cast<machine_config_constructor>(get_legacy_config_ptr(DEVINFO_PTR_MACHINE_CONFIG)); }
|
virtual machine_config_constructor device_mconfig_additions() const { return reinterpret_cast<machine_config_constructor>(get_legacy_config_ptr(DEVINFO_PTR_MACHINE_CONFIG)); }
|
||||||
virtual const input_port_token *input_ports() const { return reinterpret_cast<const input_port_token *>(get_legacy_config_ptr(DEVINFO_PTR_INPUT_PORTS)); }
|
virtual const input_port_token *device_input_ports() const { return reinterpret_cast<const input_port_token *>(get_legacy_config_ptr(DEVINFO_PTR_INPUT_PORTS)); }
|
||||||
|
|
||||||
protected:
|
|
||||||
// device_config_execute_interface overrides
|
// device_config_execute_interface overrides
|
||||||
virtual UINT64 execute_clocks_to_cycles(UINT64 clocks) const;
|
virtual UINT64 execute_clocks_to_cycles(UINT64 clocks) const;
|
||||||
virtual UINT64 execute_cycles_to_clocks(UINT64 cycles) const;
|
virtual UINT64 execute_cycles_to_clocks(UINT64 cycles) const;
|
||||||
|
@ -383,7 +383,7 @@ bool device_config::device_validity_check(emu_options &options, const game_drive
|
|||||||
// rom region description for this device
|
// rom region description for this device
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const rom_entry *device_config::rom_region() const
|
const rom_entry *device_config::device_rom_region() const
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -395,7 +395,7 @@ const rom_entry *device_config::rom_region() const
|
|||||||
// this device
|
// this device
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
machine_config_constructor device_config::machine_config_additions() const
|
machine_config_constructor device_config::device_mconfig_additions() const
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -407,7 +407,7 @@ machine_config_constructor device_config::machine_config_additions() const
|
|||||||
// input ports description for this device
|
// input ports description for this device
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const input_port_token *device_config::input_ports() const
|
const input_port_token *device_config::device_input_ports() const
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -293,6 +293,9 @@ public:
|
|||||||
const void *static_config() const { return m_static_config; }
|
const void *static_config() const { return m_static_config; }
|
||||||
const machine_config &mconfig() const { return m_machine_config; }
|
const machine_config &mconfig() const { return m_machine_config; }
|
||||||
const input_device_default *input_ports_defaults() const { return m_input_defaults; }
|
const input_device_default *input_ports_defaults() const { return m_input_defaults; }
|
||||||
|
const rom_entry *rom_region() const { return device_rom_region(); }
|
||||||
|
machine_config_constructor machine_config_additions() const { return device_mconfig_additions(); }
|
||||||
|
const input_port_token *input_ports() const { return device_input_ports(); }
|
||||||
|
|
||||||
// methods that wrap both interface-level and device-level behavior
|
// methods that wrap both interface-level and device-level behavior
|
||||||
void config_complete();
|
void config_complete();
|
||||||
@ -313,15 +316,13 @@ protected:
|
|||||||
virtual void device_config_complete();
|
virtual void device_config_complete();
|
||||||
virtual bool device_validity_check(emu_options &options, const game_driver &driver) const;
|
virtual bool device_validity_check(emu_options &options, const game_driver &driver) const;
|
||||||
|
|
||||||
public:
|
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual const rom_entry *rom_region() const;
|
virtual const rom_entry *device_rom_region() const;
|
||||||
virtual machine_config_constructor machine_config_additions() const;
|
virtual machine_config_constructor device_mconfig_additions() const;
|
||||||
virtual const input_port_token *input_ports() const;
|
virtual const input_port_token *device_input_ports() const;
|
||||||
|
|
||||||
//------------------- end derived class overrides
|
//------------------- end derived class overrides
|
||||||
|
|
||||||
protected:
|
|
||||||
// device relationships
|
// device relationships
|
||||||
device_config * m_next; // next device (of any type/class)
|
device_config * m_next; // next device (of any type/class)
|
||||||
device_config * m_owner; // device that owns us, or NULL if nobody
|
device_config * m_owner; // device that owns us, or NULL if nobody
|
||||||
|
@ -436,10 +436,6 @@ protected:
|
|||||||
|
|
||||||
// basic information getters
|
// basic information getters
|
||||||
public:
|
public:
|
||||||
virtual const rom_entry *rom_region() const { return reinterpret_cast<const rom_entry *>(get_legacy_config_ptr(DEVINFO_PTR_ROM_REGION)); }
|
|
||||||
virtual machine_config_constructor machine_config_additions() const { return reinterpret_cast<machine_config_constructor>(get_legacy_config_ptr(DEVINFO_PTR_MACHINE_CONFIG)); }
|
|
||||||
virtual const input_port_token *input_ports() const { return reinterpret_cast<const input_port_token *>(get_legacy_config_ptr(DEVINFO_PTR_INPUT_PORTS)); }
|
|
||||||
|
|
||||||
// access to legacy inline configuartion
|
// access to legacy inline configuartion
|
||||||
void *inline_config() const { return m_inline_config; }
|
void *inline_config() const { return m_inline_config; }
|
||||||
|
|
||||||
@ -451,6 +447,9 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
// overrides
|
// overrides
|
||||||
virtual bool device_validity_check(emu_options &options, const game_driver &driver) const;
|
virtual bool device_validity_check(emu_options &options, const game_driver &driver) const;
|
||||||
|
virtual const rom_entry *device_rom_region() const { return reinterpret_cast<const rom_entry *>(get_legacy_config_ptr(DEVINFO_PTR_ROM_REGION)); }
|
||||||
|
virtual machine_config_constructor device_mconfig_additions() const { return reinterpret_cast<machine_config_constructor>(get_legacy_config_ptr(DEVINFO_PTR_MACHINE_CONFIG)); }
|
||||||
|
virtual const input_port_token *device_input_ports() const { return reinterpret_cast<const input_port_token *>(get_legacy_config_ptr(DEVINFO_PTR_INPUT_PORTS)); }
|
||||||
|
|
||||||
// access to legacy configuration info
|
// access to legacy configuration info
|
||||||
INT64 get_legacy_config_int(UINT32 state) const;
|
INT64 get_legacy_config_int(UINT32 state) const;
|
||||||
|
@ -1053,10 +1053,9 @@ static void print_game_info(FILE *out, const game_driver *game, emu_options &opt
|
|||||||
input_port_list_init(portlist, game->ipt, NULL, 0, FALSE, NULL);
|
input_port_list_init(portlist, game->ipt, NULL, 0, FALSE, NULL);
|
||||||
for (device_config *cfg = config.m_devicelist.first(); cfg != NULL; cfg = cfg->next())
|
for (device_config *cfg = config.m_devicelist.first(); cfg != NULL; cfg = cfg->next())
|
||||||
{
|
{
|
||||||
if (cfg->input_ports()!=NULL) {
|
if (cfg->input_ports() != NULL)
|
||||||
input_port_list_init(portlist, cfg->input_ports(), NULL, 0, FALSE, cfg);
|
input_port_list_init(portlist, cfg->input_ports(), NULL, 0, FALSE, cfg);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* print the header and the game name */
|
/* print the header and the game name */
|
||||||
fprintf(out, "\t<" XML_TOP);
|
fprintf(out, "\t<" XML_TOP);
|
||||||
|
@ -1000,7 +1000,8 @@ time_t input_port_init(running_machine &machine, const input_port_token *tokens,
|
|||||||
|
|
||||||
for (device_config *config = devicelist.first(); config != NULL; config = config->next())
|
for (device_config *config = devicelist.first(); config != NULL; config = config->next())
|
||||||
{
|
{
|
||||||
if (config->input_ports()!=NULL) {
|
if (config->input_ports() != NULL)
|
||||||
|
{
|
||||||
input_port_list_init(machine.m_portlist, config->input_ports(), errorbuf, sizeof(errorbuf), TRUE, config);
|
input_port_list_init(machine.m_portlist, config->input_ports(), errorbuf, sizeof(errorbuf), TRUE, config);
|
||||||
if (errorbuf[0] != 0)
|
if (errorbuf[0] != 0)
|
||||||
mame_printf_error("Input port errors:\n%s", errorbuf);
|
mame_printf_error("Input port errors:\n%s", errorbuf);
|
||||||
|
@ -977,7 +977,7 @@ void driver_device_config_base::static_set_palette_init(device_config *device, p
|
|||||||
// regions specified for the current game
|
// regions specified for the current game
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const rom_entry *driver_device_config_base::rom_region() const
|
const rom_entry *driver_device_config_base::device_rom_region() const
|
||||||
{
|
{
|
||||||
return m_system->rom;
|
return m_system->rom;
|
||||||
}
|
}
|
||||||
|
@ -563,7 +563,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual const rom_entry *rom_region() const;
|
virtual const rom_entry *device_rom_region() const;
|
||||||
|
|
||||||
// internal state
|
// internal state
|
||||||
const game_driver * m_system; // pointer to the game driver
|
const game_driver * m_system; // pointer to the game driver
|
||||||
|
@ -155,7 +155,7 @@ void bsmt2000_device_config::static_set_ready_callback(device_config *device, re
|
|||||||
// internal ROM region
|
// internal ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const rom_entry *bsmt2000_device_config::rom_region() const
|
const rom_entry *bsmt2000_device_config::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( bsmt2000 );
|
return ROM_NAME( bsmt2000 );
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ const rom_entry *bsmt2000_device_config::rom_region() const
|
|||||||
// the device's machine fragment
|
// the device's machine fragment
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
machine_config_constructor bsmt2000_device_config::machine_config_additions() const
|
machine_config_constructor bsmt2000_device_config::device_mconfig_additions() const
|
||||||
{
|
{
|
||||||
return MACHINE_CONFIG_NAME( bsmt2000 );
|
return MACHINE_CONFIG_NAME( bsmt2000 );
|
||||||
}
|
}
|
||||||
|
@ -88,11 +88,11 @@ public:
|
|||||||
// inline configuration helpers
|
// inline configuration helpers
|
||||||
static void static_set_ready_callback(device_config *device, ready_callback callback);
|
static void static_set_ready_callback(device_config *device, ready_callback callback);
|
||||||
|
|
||||||
// optional information overrides
|
|
||||||
virtual const rom_entry *rom_region() const;
|
|
||||||
virtual machine_config_constructor machine_config_additions() const;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
// optional information overrides
|
||||||
|
virtual const rom_entry *device_rom_region() const;
|
||||||
|
virtual machine_config_constructor device_mconfig_additions() const;
|
||||||
|
|
||||||
// device_config overrides
|
// device_config overrides
|
||||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
|
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
|
||||||
|
|
||||||
|
@ -962,7 +962,8 @@ static bool validate_inputs(const machine_config &config, int_map &defstr_map, i
|
|||||||
}
|
}
|
||||||
for (device_config *cfg = config.m_devicelist.first(); cfg != NULL; cfg = cfg->next())
|
for (device_config *cfg = config.m_devicelist.first(); cfg != NULL; cfg = cfg->next())
|
||||||
{
|
{
|
||||||
if (cfg->input_ports()!=NULL) {
|
if (cfg->input_ports() != NULL)
|
||||||
|
{
|
||||||
input_port_list_init(portlist, cfg->input_ports(), errorbuf, sizeof(errorbuf), FALSE, cfg);
|
input_port_list_init(portlist, cfg->input_ports(), errorbuf, sizeof(errorbuf), FALSE, cfg);
|
||||||
if (errorbuf[0] != 0)
|
if (errorbuf[0] != 0)
|
||||||
{
|
{
|
||||||
|
@ -124,7 +124,7 @@ const address_space_config *hd61830_device_config::memory_space_config(address_s
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const rom_entry *hd61830_device_config::rom_region() const
|
const rom_entry *hd61830_device_config::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME(hd61830);
|
return ROM_NAME(hd61830);
|
||||||
}
|
}
|
||||||
|
@ -68,13 +68,13 @@ public:
|
|||||||
static device_config *static_alloc_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock);
|
static device_config *static_alloc_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock);
|
||||||
virtual device_t *alloc_device(running_machine &machine) const;
|
virtual device_t *alloc_device(running_machine &machine) const;
|
||||||
|
|
||||||
// optional information overrides
|
|
||||||
virtual const rom_entry *rom_region() const;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device_config overrides
|
// device_config overrides
|
||||||
virtual void device_config_complete();
|
virtual void device_config_complete();
|
||||||
|
|
||||||
|
// optional information overrides
|
||||||
|
virtual const rom_entry *device_rom_region() const;
|
||||||
|
|
||||||
// device_config_memory_interface overrides
|
// device_config_memory_interface overrides
|
||||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
|
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user