diff options
Diffstat (limited to 'src/devices/machine/68230pit.h')
-rw-r--r-- | src/devices/machine/68230pit.h | 82 |
1 files changed, 37 insertions, 45 deletions
diff --git a/src/devices/machine/68230pit.h b/src/devices/machine/68230pit.h index fbd1a4d73cb..fe3f3efd19b 100644 --- a/src/devices/machine/68230pit.h +++ b/src/devices/machine/68230pit.h @@ -68,7 +68,7 @@ //************************************************************************** // TYPE DEFINITIONS //************************************************************************** -class pit68230_device : public device_t//, public device_execute_interface +class pit68230_device : public device_t { public: // construction/destruction @@ -87,8 +87,8 @@ public: auto timer_irq_callback() { return m_tirq_out_cb.bind(); } auto port_irq_callback() { return m_pirq_out_cb.bind(); } - DECLARE_WRITE8_MEMBER (write); - DECLARE_READ8_MEMBER (read); + void write(offs_t offset, uint8_t data); + uint8_t read(offs_t offset); // TODO: remove these methods and replace it with a call to methods below in force68k.cpp void h1_set(uint8_t state) { if (state) m_psr |= 1; else m_psr &= ~1; } @@ -100,37 +100,37 @@ public: void pc_update_bit(uint8_t bit, uint8_t state); void update_tin(uint8_t); - DECLARE_WRITE_LINE_MEMBER( h1_w ); - DECLARE_WRITE_LINE_MEMBER( h2_w ); - DECLARE_WRITE_LINE_MEMBER( h3_w ); - DECLARE_WRITE_LINE_MEMBER( h4_w ); - - DECLARE_WRITE_LINE_MEMBER( pa0_w ) { pa_update_bit(0, state); } - DECLARE_WRITE_LINE_MEMBER( pa1_w ) { pa_update_bit(1, state); } - DECLARE_WRITE_LINE_MEMBER( pa2_w ) { pa_update_bit(2, state); } - DECLARE_WRITE_LINE_MEMBER( pa3_w ) { pa_update_bit(3, state); } - DECLARE_WRITE_LINE_MEMBER( pa4_w ) { pa_update_bit(4, state); } - DECLARE_WRITE_LINE_MEMBER( pa5_w ) { pa_update_bit(5, state); } - DECLARE_WRITE_LINE_MEMBER( pa6_w ) { pa_update_bit(6, state); } - DECLARE_WRITE_LINE_MEMBER( pa7_w ) { pa_update_bit(7, state); } - - DECLARE_WRITE_LINE_MEMBER( pb0_w ) { pb_update_bit(0, state); } - DECLARE_WRITE_LINE_MEMBER( pb1_w ) { pb_update_bit(1, state); } - DECLARE_WRITE_LINE_MEMBER( pb2_w ) { pb_update_bit(2, state); } - DECLARE_WRITE_LINE_MEMBER( pb3_w ) { pb_update_bit(3, state); } - DECLARE_WRITE_LINE_MEMBER( pb4_w ) { pb_update_bit(4, state); } - DECLARE_WRITE_LINE_MEMBER( pb5_w ) { pb_update_bit(5, state); } - DECLARE_WRITE_LINE_MEMBER( pb6_w ) { pb_update_bit(6, state); } - DECLARE_WRITE_LINE_MEMBER( pb7_w ) { pb_update_bit(7, state); } - - DECLARE_WRITE_LINE_MEMBER( pc0_w ) { pc_update_bit(0, state); } - DECLARE_WRITE_LINE_MEMBER( pc1_w ) { pc_update_bit(1, state); } - DECLARE_WRITE_LINE_MEMBER( pc2_w ) { pc_update_bit(2, state); } - DECLARE_WRITE_LINE_MEMBER( pc3_w ) { pc_update_bit(3, state); } - DECLARE_WRITE_LINE_MEMBER( pc4_w ) { pc_update_bit(4, state); } - DECLARE_WRITE_LINE_MEMBER( pc5_w ) { pc_update_bit(5, state); } - DECLARE_WRITE_LINE_MEMBER( pc6_w ) { pc_update_bit(6, state); } - DECLARE_WRITE_LINE_MEMBER( pc7_w ) { pc_update_bit(7, state); } + void h1_w(int state); + void h2_w(int state); + void h3_w(int state); + void h4_w(int state); + + void pa0_w(int state) { pa_update_bit(0, state); } + void pa1_w(int state) { pa_update_bit(1, state); } + void pa2_w(int state) { pa_update_bit(2, state); } + void pa3_w(int state) { pa_update_bit(3, state); } + void pa4_w(int state) { pa_update_bit(4, state); } + void pa5_w(int state) { pa_update_bit(5, state); } + void pa6_w(int state) { pa_update_bit(6, state); } + void pa7_w(int state) { pa_update_bit(7, state); } + + void pb0_w(int state) { pb_update_bit(0, state); } + void pb1_w(int state) { pb_update_bit(1, state); } + void pb2_w(int state) { pb_update_bit(2, state); } + void pb3_w(int state) { pb_update_bit(3, state); } + void pb4_w(int state) { pb_update_bit(4, state); } + void pb5_w(int state) { pb_update_bit(5, state); } + void pb6_w(int state) { pb_update_bit(6, state); } + void pb7_w(int state) { pb_update_bit(7, state); } + + void pc0_w(int state) { pc_update_bit(0, state); } + void pc1_w(int state) { pc_update_bit(1, state); } + void pc2_w(int state) { pc_update_bit(2, state); } + void pc3_w(int state) { pc_update_bit(3, state); } + void pc4_w(int state) { pc_update_bit(4, state); } + void pc5_w(int state) { pc_update_bit(5, state); } + void pc6_w(int state) { pc_update_bit(6, state); } + void pc7_w(int state) { pc_update_bit(7, state); } uint8_t irq_tiack(); uint8_t irq_piack(); @@ -272,19 +272,16 @@ protected: REG_TCR_TOUT_PC7_INT = 0xe0, // 1 1 1 }; - void tick_clock(); - pit68230_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant); // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; // Interrupt methods void trigger_interrupt(int source); - int m_icount; + TIMER_CALLBACK_MEMBER(tick_clock); devcb_write8 m_pa_out_cb; devcb_read8 m_pa_in_cb; @@ -330,11 +327,6 @@ protected: // Timers emu_timer *pit_timer; - - enum - { - TIMER_ID_PIT - }; }; // device type definition |