summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/jazz_mct_adr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/jazz_mct_adr.h')
-rw-r--r--src/mame/machine/jazz_mct_adr.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/mame/machine/jazz_mct_adr.h b/src/mame/machine/jazz_mct_adr.h
index 353b905cea2..6adfa508be1 100644
--- a/src/mame/machine/jazz_mct_adr.h
+++ b/src/mame/machine/jazz_mct_adr.h
@@ -1,15 +1,17 @@
// license:BSD-3-Clause
// copyright-holders:Patrick Mackinlay
-#ifndef MAME_MACHINE_JAZZ_MCT_ADR_H
-#define MAME_MACHINE_JAZZ_MCT_ADR_H
+#ifndef MAME_MACHINE_MCT_ADR_H
+#define MAME_MACHINE_MCT_ADR_H
#pragma once
-class jazz_mct_adr_device : public device_t
+class mct_adr_device
+ : public device_t
+ , public device_memory_interface
{
public:
- jazz_mct_adr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ mct_adr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration
template <typename T> void set_bus(T &&tag, int spacenum) { m_bus.set_tag(std::forward<T>(tag), spacenum); }
@@ -25,7 +27,7 @@ public:
template <unsigned IRQ> DECLARE_WRITE_LINE_MEMBER(irq) { set_irq_line(IRQ, state); }
template <unsigned DRQ> DECLARE_WRITE_LINE_MEMBER(drq) { set_drq_line(DRQ, state); }
- virtual void map(address_map &map);
+ void map(address_map &map);
u16 isr_r();
u16 imr_r() { return m_imr; }
@@ -36,7 +38,13 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
+ // device_memory_interface overrides
+ virtual space_config_vector memory_space_config() const override;
+ //virtual bool memory_translate(int spacenum, int intention, offs_t &address) override;
+
private:
+ void dma(address_map &map);
+
void set_irq_line(int number, int state);
void set_drq_line(int channel, int state);
@@ -46,6 +54,7 @@ private:
u32 translate_address(u32 logical_address);
+ address_space_config m_dma_config;
required_address_space m_bus;
devcb_write_line m_out_int_dma;
@@ -146,6 +155,6 @@ private:
};
// device type definition
-DECLARE_DEVICE_TYPE(JAZZ_MCT_ADR, jazz_mct_adr_device)
+DECLARE_DEVICE_TYPE(MCT_ADR, mct_adr_device)
-#endif // MAME_MACHINE_JAZZ_MCT_ADR_H
+#endif // MAME_MACHINE_MCT_ADR_H