diff options
Diffstat (limited to 'src/devices/machine/mcf5206e.cpp')
-rw-r--r-- | src/devices/machine/mcf5206e.cpp | 202 |
1 files changed, 100 insertions, 102 deletions
diff --git a/src/devices/machine/mcf5206e.cpp b/src/devices/machine/mcf5206e.cpp index cea38ca7f0f..7d1c9d5f0fd 100644 --- a/src/devices/machine/mcf5206e.cpp +++ b/src/devices/machine/mcf5206e.cpp @@ -7,10 +7,10 @@ #include "emu.h" #include "mcf5206e.h" -#define LOG_DEBUG (0U << 0) -#define LOG_INVALID (0U << 1) -#define LOG_TIMER (0U << 2) - +#define LOG_DEBUG (1U << 1) +#define LOG_INVALID (1U << 2) +#define LOG_TIMER (1U << 3) +#define VERBOSE (0) #include "logmacro.h" void mcf5206e_peripheral_device::coldfire_regs_map(address_map &map) @@ -70,7 +70,7 @@ void mcf5206e_peripheral_device::coldfire_regs_map(address_map &map) -READ8_MEMBER( mcf5206e_peripheral_device::ICR1_ICR2_ICR3_ICR4_r ) +uint8_t mcf5206e_peripheral_device::ICR1_ICR2_ICR3_ICR4_r(offs_t offset) { switch (offset) { @@ -91,7 +91,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::ICR1_ICR2_ICR3_ICR4_r ) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::ICR1_ICR2_ICR3_ICR4_w ) +void mcf5206e_peripheral_device::ICR1_ICR2_ICR3_ICR4_w(offs_t offset, uint8_t data) { switch (offset) { @@ -118,7 +118,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::ICR1_ICR2_ICR3_ICR4_w ) } } -READ8_MEMBER( mcf5206e_peripheral_device::ICR9_ICR10_ICR11_ICR12_r ) +uint8_t mcf5206e_peripheral_device::ICR9_ICR10_ICR11_ICR12_r(offs_t offset) { switch (offset) { @@ -139,7 +139,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::ICR9_ICR10_ICR11_ICR12_r ) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::ICR9_ICR10_ICR11_ICR12_w ) +void mcf5206e_peripheral_device::ICR9_ICR10_ICR11_ICR12_w(offs_t offset, uint8_t data) { switch (offset) { @@ -166,7 +166,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::ICR9_ICR10_ICR11_ICR12_w ) } } -READ8_MEMBER( mcf5206e_peripheral_device::ICR13_r ) +uint8_t mcf5206e_peripheral_device::ICR13_r(offs_t offset) { switch (offset) { @@ -183,7 +183,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::ICR13_r ) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::ICR13_w ) +void mcf5206e_peripheral_device::ICR13_w(offs_t offset, uint8_t data) { switch (offset) { @@ -270,64 +270,64 @@ inline void mcf5206e_peripheral_device::CSCR_w(int which, int offset, uint16_t d -READ16_MEMBER( mcf5206e_peripheral_device::CSAR0_r) { return CSAR_r(0, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR0_w) { CSAR_w(0, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR0_r) { return CSMR_r(0, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR0_w) { CSMR_w(0, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR0_r) { return CSCR_r(0, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR0_w) { CSCR_w(0, offset, data, mem_mask); } - -READ16_MEMBER( mcf5206e_peripheral_device::CSAR1_r) { return CSAR_r(1, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR1_w) { CSAR_w(1, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR1_r) { return CSMR_r(1, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR1_w) { CSMR_w(1, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR1_r) { return CSCR_r(1, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR1_w) { CSCR_w(1, offset, data, mem_mask); } - -READ16_MEMBER( mcf5206e_peripheral_device::CSAR2_r) { return CSAR_r(2, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR2_w) { CSAR_w(2, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR2_r) { return CSMR_r(2, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR2_w) { CSMR_w(2, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR2_r) { return CSCR_r(2, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR2_w) { CSCR_w(2, offset, data, mem_mask); } - -READ16_MEMBER( mcf5206e_peripheral_device::CSAR3_r) { return CSAR_r(3, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR3_w) { CSAR_w(3, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR3_r) { return CSMR_r(3, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR3_w) { CSMR_w(3, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR3_r) { return CSCR_r(3, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR3_w) { CSCR_w(3, offset, data, mem_mask); } - -READ16_MEMBER( mcf5206e_peripheral_device::CSAR4_r) { return CSAR_r(4, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR4_w) { CSAR_w(4, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR4_r) { return CSMR_r(4, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR4_w) { CSMR_w(4, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR4_r) { return CSCR_r(4, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR4_w) { CSCR_w(4, offset, data, mem_mask); } - -READ16_MEMBER( mcf5206e_peripheral_device::CSAR5_r) { return CSAR_r(5, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR5_w) { CSAR_w(5, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR5_r) { return CSMR_r(5, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR5_w) { CSMR_w(5, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR5_r) { return CSCR_r(5, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR5_w) { CSCR_w(5, offset, data, mem_mask); } - -READ16_MEMBER( mcf5206e_peripheral_device::CSAR6_r) { return CSAR_r(6, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR6_w) { CSAR_w(6, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR6_r) { return CSMR_r(6, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR6_w) { CSMR_w(6, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR6_r) { return CSCR_r(6, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR6_w) { CSCR_w(6, offset, data, mem_mask); } - -READ16_MEMBER( mcf5206e_peripheral_device::CSAR7_r) { return CSAR_r(7, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSAR7_w) { CSAR_w(7, offset, data, mem_mask); } -READ32_MEMBER( mcf5206e_peripheral_device::CSMR7_r) { return CSMR_r(7, mem_mask); } -WRITE32_MEMBER( mcf5206e_peripheral_device::CSMR7_w) { CSMR_w(7, data, mem_mask); } -READ16_MEMBER( mcf5206e_peripheral_device::CSCR7_r) { return CSCR_r(7, offset, mem_mask); } -WRITE16_MEMBER( mcf5206e_peripheral_device::CSCR7_w) { CSCR_w(7, offset, data, mem_mask); } - - -READ16_MEMBER( mcf5206e_peripheral_device::DMCR_r) +uint16_t mcf5206e_peripheral_device::CSAR0_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(0, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR0_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(0, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR0_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(0, mem_mask); } +void mcf5206e_peripheral_device::CSMR0_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(0, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR0_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(0, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR0_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(0, offset, data, mem_mask); } + +uint16_t mcf5206e_peripheral_device::CSAR1_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(1, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR1_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(1, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR1_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(1, mem_mask); } +void mcf5206e_peripheral_device::CSMR1_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(1, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR1_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(1, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR1_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(1, offset, data, mem_mask); } + +uint16_t mcf5206e_peripheral_device::CSAR2_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(2, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR2_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(2, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR2_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(2, mem_mask); } +void mcf5206e_peripheral_device::CSMR2_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(2, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR2_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(2, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR2_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(2, offset, data, mem_mask); } + +uint16_t mcf5206e_peripheral_device::CSAR3_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(3, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR3_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(3, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR3_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(3, mem_mask); } +void mcf5206e_peripheral_device::CSMR3_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(3, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR3_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(3, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR3_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(3, offset, data, mem_mask); } + +uint16_t mcf5206e_peripheral_device::CSAR4_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(4, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR4_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(4, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR4_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(4, mem_mask); } +void mcf5206e_peripheral_device::CSMR4_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(4, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR4_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(4, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR4_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(4, offset, data, mem_mask); } + +uint16_t mcf5206e_peripheral_device::CSAR5_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(5, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR5_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(5, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR5_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(5, mem_mask); } +void mcf5206e_peripheral_device::CSMR5_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(5, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR5_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(5, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR5_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(5, offset, data, mem_mask); } + +uint16_t mcf5206e_peripheral_device::CSAR6_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(6, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR6_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(6, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR6_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(6, mem_mask); } +void mcf5206e_peripheral_device::CSMR6_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(6, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR6_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(6, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR6_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(6, offset, data, mem_mask); } + +uint16_t mcf5206e_peripheral_device::CSAR7_r(offs_t offset, uint16_t mem_mask) { return CSAR_r(7, offset, mem_mask); } +void mcf5206e_peripheral_device::CSAR7_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSAR_w(7, offset, data, mem_mask); } +uint32_t mcf5206e_peripheral_device::CSMR7_r(offs_t offset, uint32_t mem_mask) { return CSMR_r(7, mem_mask); } +void mcf5206e_peripheral_device::CSMR7_w(offs_t offset, uint32_t data, uint32_t mem_mask) { CSMR_w(7, data, mem_mask); } +uint16_t mcf5206e_peripheral_device::CSCR7_r(offs_t offset, uint16_t mem_mask) { return CSCR_r(7, offset, mem_mask); } +void mcf5206e_peripheral_device::CSCR7_w(offs_t offset, uint16_t data, uint16_t mem_mask) { CSCR_w(7, offset, data, mem_mask); } + + +uint16_t mcf5206e_peripheral_device::DMCR_r(offs_t offset, uint16_t mem_mask) { switch (offset) { @@ -342,7 +342,7 @@ READ16_MEMBER( mcf5206e_peripheral_device::DMCR_r) return 0; } -WRITE16_MEMBER( mcf5206e_peripheral_device::DMCR_w) +void mcf5206e_peripheral_device::DMCR_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset) { @@ -358,7 +358,7 @@ WRITE16_MEMBER( mcf5206e_peripheral_device::DMCR_w) } -READ16_MEMBER( mcf5206e_peripheral_device::PAR_r) +uint16_t mcf5206e_peripheral_device::PAR_r(offs_t offset, uint16_t mem_mask) { switch (offset) { @@ -373,7 +373,7 @@ READ16_MEMBER( mcf5206e_peripheral_device::PAR_r) return 0; } -WRITE16_MEMBER( mcf5206e_peripheral_device::PAR_w) +void mcf5206e_peripheral_device::PAR_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset) { @@ -390,7 +390,7 @@ WRITE16_MEMBER( mcf5206e_peripheral_device::PAR_w) -READ8_MEMBER( mcf5206e_peripheral_device::PPDDR_r) +uint8_t mcf5206e_peripheral_device::PPDDR_r(offs_t offset) { switch (offset) { @@ -407,7 +407,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::PPDDR_r) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::PPDDR_w) +void mcf5206e_peripheral_device::PPDDR_w(offs_t offset, uint8_t data) { switch (offset) { @@ -423,7 +423,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::PPDDR_w) } } -READ8_MEMBER( mcf5206e_peripheral_device::PPDAT_r) +uint8_t mcf5206e_peripheral_device::PPDAT_r(offs_t offset) { switch (offset) { @@ -440,7 +440,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::PPDAT_r) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::PPDAT_w) +void mcf5206e_peripheral_device::PPDAT_w(offs_t offset, uint8_t data) { switch (offset) { @@ -458,7 +458,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::PPDAT_w) } -READ8_MEMBER( mcf5206e_peripheral_device::MBCR_r) +uint8_t mcf5206e_peripheral_device::MBCR_r(offs_t offset) { switch (offset) { @@ -475,7 +475,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::MBCR_r) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::MBCR_w) +void mcf5206e_peripheral_device::MBCR_w(offs_t offset, uint8_t data) { switch (offset) { @@ -492,7 +492,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::MBCR_w) } } -READ8_MEMBER( mcf5206e_peripheral_device::MFDR_r) +uint8_t mcf5206e_peripheral_device::MFDR_r(offs_t offset) { switch (offset) { @@ -509,7 +509,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::MFDR_r) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::MFDR_w) +void mcf5206e_peripheral_device::MFDR_w(offs_t offset, uint8_t data) { switch (offset) { @@ -531,7 +531,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::MFDR_w) -READ8_MEMBER( mcf5206e_peripheral_device::MBSR_r) +uint8_t mcf5206e_peripheral_device::MBSR_r(offs_t offset) { int hack = 0x00; @@ -553,7 +553,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::MBSR_r) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::MBSR_w) +void mcf5206e_peripheral_device::MBSR_w(offs_t offset, uint8_t data) { switch (offset) { @@ -573,7 +573,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::MBSR_w) -READ8_MEMBER( mcf5206e_peripheral_device::MBDR_r) +uint8_t mcf5206e_peripheral_device::MBDR_r(offs_t offset) { int hack = 0x00; @@ -595,7 +595,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::MBDR_r) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::MBDR_w) +void mcf5206e_peripheral_device::MBDR_w(offs_t offset, uint8_t data) { switch (offset) { @@ -614,7 +614,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::MBDR_w) -READ16_MEMBER( mcf5206e_peripheral_device::IMR_r) +uint16_t mcf5206e_peripheral_device::IMR_r(offs_t offset, uint16_t mem_mask) { switch (offset) { @@ -629,7 +629,7 @@ READ16_MEMBER( mcf5206e_peripheral_device::IMR_r) return 0; } -WRITE16_MEMBER( mcf5206e_peripheral_device::IMR_w) +void mcf5206e_peripheral_device::IMR_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset) { @@ -661,7 +661,7 @@ TIMER_CALLBACK_MEMBER(mcf5206e_peripheral_device::timer1_callback) // technically we should do the vector check in the IRQ callback as well as various checks based on the IRQ masks before asserting the interrupt if (ICR & 0x80) // AVEC { - if (!(m_IMR & 0x0200)) m_cpu->set_input_line((ICR&0x1c)>>2, HOLD_LINE); + if (!(m_IMR & 0x0200)) m_maincpu->set_input_line((ICR&0x1c)>>2, HOLD_LINE); } LOGMASKED(LOG_TIMER, "timer1_callback\n"); @@ -671,7 +671,7 @@ TIMER_CALLBACK_MEMBER(mcf5206e_peripheral_device::timer1_callback) } -READ16_MEMBER( mcf5206e_peripheral_device::TMR1_r) +uint16_t mcf5206e_peripheral_device::TMR1_r(offs_t offset, uint16_t mem_mask) { switch (offset) { @@ -686,7 +686,7 @@ READ16_MEMBER( mcf5206e_peripheral_device::TMR1_r) return 0; } -WRITE16_MEMBER( mcf5206e_peripheral_device::TMR1_w) +void mcf5206e_peripheral_device::TMR1_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset) { @@ -714,7 +714,7 @@ WRITE16_MEMBER( mcf5206e_peripheral_device::TMR1_w) } } -READ16_MEMBER( mcf5206e_peripheral_device::TRR1_r) +uint16_t mcf5206e_peripheral_device::TRR1_r(offs_t offset, uint16_t mem_mask) { switch (offset) { @@ -729,7 +729,7 @@ READ16_MEMBER( mcf5206e_peripheral_device::TRR1_r) return 0; } -WRITE16_MEMBER( mcf5206e_peripheral_device::TRR1_w) +void mcf5206e_peripheral_device::TRR1_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset) { @@ -746,7 +746,7 @@ WRITE16_MEMBER( mcf5206e_peripheral_device::TRR1_w) -READ8_MEMBER( mcf5206e_peripheral_device::TER1_r) +uint8_t mcf5206e_peripheral_device::TER1_r(offs_t offset) { switch (offset) { @@ -763,7 +763,7 @@ READ8_MEMBER( mcf5206e_peripheral_device::TER1_r) return 0; } -WRITE8_MEMBER( mcf5206e_peripheral_device::TER1_w) +void mcf5206e_peripheral_device::TER1_w(offs_t offset, uint8_t data) { switch (offset) { @@ -780,7 +780,7 @@ WRITE8_MEMBER( mcf5206e_peripheral_device::TER1_w) } } -READ16_MEMBER( mcf5206e_peripheral_device::TCN1_r) +uint16_t mcf5206e_peripheral_device::TCN1_r(offs_t offset, uint16_t mem_mask) { switch (offset) { @@ -796,7 +796,7 @@ READ16_MEMBER( mcf5206e_peripheral_device::TCN1_r) return 0; } -WRITE16_MEMBER( mcf5206e_peripheral_device::TCN1_w) +void mcf5206e_peripheral_device::TCN1_w(offs_t offset, uint16_t data, uint16_t mem_mask) { switch (offset) { @@ -826,8 +826,8 @@ DEFINE_DEVICE_TYPE(MCF5206E_PERIPHERAL, mcf5206e_peripheral_device, "mcf5206e_pe mcf5206e_peripheral_device::mcf5206e_peripheral_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, MCF5206E_PERIPHERAL, tag, owner, clock), device_memory_interface(mconfig, *this), + m_maincpu(*this, finder_base::DUMMY_TAG), m_space_config("coldfire_regs", ENDIANNESS_BIG, 32,10, 0, address_map_constructor(FUNC(mcf5206e_peripheral_device::coldfire_regs_map), this)) - { } @@ -846,7 +846,7 @@ void mcf5206e_peripheral_device::device_start() { init_regs(true); - m_timer1 = machine().scheduler().timer_alloc( timer_expired_delegate( FUNC( mcf5206e_peripheral_device::timer1_callback ), this) ); + m_timer1 = timer_alloc( FUNC( mcf5206e_peripheral_device::timer1_callback ), this ); save_item(NAME(m_ICR)); save_item(NAME(m_CSAR)); @@ -870,19 +870,17 @@ void mcf5206e_peripheral_device::device_start() void mcf5206e_peripheral_device::device_reset() { - m_cpu = (cpu_device*)machine().device(":maincpu"); // hack. this device should really be attached to a modern CPU core - init_regs(false); m_timer1->adjust(attotime::never); } -READ32_MEMBER(mcf5206e_peripheral_device::dev_r) +uint32_t mcf5206e_peripheral_device::dev_r(offs_t offset, uint32_t mem_mask) { address_space ®_space = this->space(); return reg_space.read_dword(offset*4, mem_mask); } -WRITE32_MEMBER(mcf5206e_peripheral_device::dev_w) +void mcf5206e_peripheral_device::dev_w(offs_t offset, uint32_t data, uint32_t mem_mask) { address_space ®_space = this->space(); reg_space.write_dword(offset*4, data, mem_mask); @@ -896,12 +894,12 @@ enum { CF_MBSR = 0x1ec/4 }; -WRITE32_MEMBER(mcf5206e_peripheral_device::seta2_coldfire_regs_w) +void mcf5206e_peripheral_device::seta2_coldfire_regs_w(offs_t offset, uint32_t data, uint32_t mem_mask) { COMBINE_DATA( &m_coldfire_regs[offset] ); } -READ32_MEMBER(mcf5206e_peripheral_device::seta2_coldfire_regs_r) +uint32_t mcf5206e_peripheral_device::seta2_coldfire_regs_r(offs_t offset) { switch( offset ) { |