diff options
Diffstat (limited to 'src/devices/machine/chessmachine.h')
-rw-r--r-- | src/devices/machine/chessmachine.h | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/devices/machine/chessmachine.h b/src/devices/machine/chessmachine.h index 4d589fc97c3..d9f9a6ea1be 100644 --- a/src/devices/machine/chessmachine.h +++ b/src/devices/machine/chessmachine.h @@ -12,7 +12,6 @@ #pragma once #include "cpu/arm/arm.h" -#include "machine/timer.h" class chessmachine_device : public device_t @@ -31,33 +30,33 @@ public: protected: // device-level overrides - virtual void device_start() override; + virtual void device_start() override ATTR_COLD; virtual void device_reset_after_children() override { reset_w(1); } - virtual void device_add_mconfig(machine_config &config) override; + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; - virtual const tiny_rom_entry *device_rom_region() const override; + virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD; private: required_device<arm_cpu_device> m_maincpu; - required_region_ptr<u32> m_bootstrap; - required_shared_ptr<u32> m_ram; - required_device<timer_device> m_disable_bootstrap; + memory_view m_boot_view; devcb_write_line m_data_out; + emu_timer *m_boot_timer; + u8 m_latch[2]; - void sync0_callback(void *ptr, s32 param); - void sync1_callback(void *ptr, s32 param); - bool m_bootstrap_enabled; - TIMER_DEVICE_CALLBACK_MEMBER(disable_bootstrap) { m_bootstrap_enabled = false; } - u32 disable_bootstrap_r(); - u32 bootstrap_r(offs_t offset); + void data0_w_sync(s32 param); + void data1_w_sync(s32 param); + void reset_w_sync(s32 param); + + TIMER_CALLBACK_MEMBER(disable_bootrom) { m_boot_view.disable(); } + u32 disable_bootrom_r(); u8 internal_r() { return m_latch[0]; } void internal_w(u8 data) { m_latch[1] = data & 1; m_data_out(m_latch[1]); } - void main_map(address_map &map); + void main_map(address_map &map) ATTR_COLD; }; |