diff options
Diffstat (limited to 'src/devices/bus/lpci/i82371sb.h')
-rw-r--r-- | src/devices/bus/lpci/i82371sb.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/devices/bus/lpci/i82371sb.h b/src/devices/bus/lpci/i82371sb.h index c9d71a817b7..e4add02c206 100644 --- a/src/devices/bus/lpci/i82371sb.h +++ b/src/devices/bus/lpci/i82371sb.h @@ -24,6 +24,8 @@ public: // construction/destruction i82371sb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + template <class Object> static devcb_base &set_boot_state_hook(device_t &device, Object &&cb) { return downcast<i82371sb_device &>(device).m_boot_state_hook.set_callback(std::forward<Object>(cb)); } + virtual uint32_t pci_read(pci_bus_device *pcibus, int function, int offset, uint32_t mem_mask) override; virtual void pci_write(pci_bus_device *pcibus, int function, int offset, uint32_t data, uint32_t mem_mask) override; @@ -31,6 +33,7 @@ protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + virtual void port80_debug_write(uint8_t value) override; uint32_t pci_isa_r(device_t *busdevice, int offset, uint32_t mem_mask); void pci_isa_w(device_t *busdevice, int offset, uint32_t data, uint32_t mem_mask); @@ -42,10 +45,14 @@ protected: void pci_usb_w(device_t *busdevice, int offset, uint32_t data, uint32_t mem_mask); private: uint32_t m_regs[3][0x400/4]; + devcb_write8 m_boot_state_hook; }; // device type definition extern const device_type I82371SB; DECLARE_DEVICE_TYPE(I82371SB, i82371sb_device) +#define MCFG_I82371SB_BOOT_STATE_HOOK(_devcb) \ + devcb = &i82371sb_device::set_boot_state_hook(*device, DEVCB_##_devcb); + #endif // MAME_BUS_LPCI_I82371SB_H |