diff options
Diffstat (limited to 'src/emu/driver.h')
-rw-r--r-- | src/emu/driver.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/emu/driver.h b/src/emu/driver.h index d53ddf536a3..d389e42c74a 100644 --- a/src/emu/driver.h +++ b/src/emu/driver.h @@ -166,7 +166,8 @@ typedef void (*legacy_callback_func)(running_machine &machine); // ======================> driver_device // base class for machine driver-specific devices -class driver_device : public device_t +class driver_device : public device_t, + public device_memory_interface { public: // construction/destruction @@ -201,7 +202,11 @@ public: (machine.driver_data<_DriverClass>()->*_Function)(); } - void init_0() {}; + // dummy driver_init callbacks + void init_0() { } + + // memory helpers + address_space &generic_space() const { return *space(AS_PROGRAM); } // generic interrupt generators void generic_pulse_irq_line(device_execute_interface &exec, int irqline, int cycles); @@ -399,6 +404,9 @@ protected: virtual void device_start(); virtual void device_reset_after_children(); + // device_memory_interface overrides + virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const; + // internal helpers inline UINT16 paletteram16_le(offs_t offset) const { return m_generic_paletteram_8[offset & ~1] | (m_generic_paletteram_8[offset | 1] << 8); } inline UINT16 paletteram16_be(offs_t offset) const { return m_generic_paletteram_8[offset | 1] | (m_generic_paletteram_8[offset & ~1] << 8); } @@ -425,6 +433,9 @@ private: driver_callback_delegate m_callbacks[CB_COUNT]; // start/reset callbacks legacy_callback_func m_legacy_callbacks[CB_COUNT]; // legacy start/reset callbacks + // memory state + address_space_config m_generic_space_config; + // generic audio UINT16 m_latch_clear_value; UINT16 m_latched_value[4]; |