diff options
Diffstat (limited to 'src/devices/machine/mpu401.h')
-rw-r--r-- | src/devices/machine/mpu401.h | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/src/devices/machine/mpu401.h b/src/devices/machine/mpu401.h index f557275152e..216480d640b 100644 --- a/src/devices/machine/mpu401.h +++ b/src/devices/machine/mpu401.h @@ -20,30 +20,29 @@ public: auto irq_cb() { return write_irq.bind(); } // public API - call for reads/writes at I/O 330/331 on PC, C0n0/C0n1 on Apple II, etc. - DECLARE_READ8_MEMBER(mpu_r); - DECLARE_WRITE8_MEMBER(mpu_w); + uint8_t mpu_r(offs_t offset); + void mpu_w(offs_t offset, uint8_t data); protected: // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; - virtual const tiny_rom_entry *device_rom_region() const override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - virtual void device_add_mconfig(machine_config &config) override; + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; + virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD; + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + + TIMER_CALLBACK_MEMBER(serial_tick); private: - DECLARE_WRITE_LINE_MEMBER(midi_rx_w); - - DECLARE_READ8_MEMBER(regs_mode2_r); - DECLARE_WRITE8_MEMBER(regs_mode2_w); - DECLARE_READ8_MEMBER(asic_r); - DECLARE_WRITE8_MEMBER(asic_w); - DECLARE_READ8_MEMBER(port1_r); - DECLARE_WRITE8_MEMBER(port1_w); - DECLARE_READ8_MEMBER(port2_r); - DECLARE_WRITE8_MEMBER(port2_w); - - void mpu401_map(address_map &map); + void midi_rx_w(int state); + + uint8_t asic_r(offs_t offset); + void asic_w(offs_t offset, uint8_t data); + uint8_t port1_r(); + void port1_w(uint8_t data); + uint8_t port2_r(); + void port2_w(uint8_t data); + + void mpu401_map(address_map &map) ATTR_COLD; required_device<m6801_cpu_device> m_ourcpu; |