summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/cdi070.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/cdi070.cpp')
-rw-r--r--src/mame/machine/cdi070.cpp33
1 files changed, 13 insertions, 20 deletions
diff --git a/src/mame/machine/cdi070.cpp b/src/mame/machine/cdi070.cpp
index c7baa63b3b0..472075dd3c9 100644
--- a/src/mame/machine/cdi070.cpp
+++ b/src/mame/machine/cdi070.cpp
@@ -57,6 +57,7 @@ static inline void ATTR_PRINTF(3,4) verboselog(device_t& device, int n_level, co
cdi68070_device::cdi68070_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MACHINE_CDI68070, tag, owner, clock)
+ , m_maincpu(*this, finder_base::DUMMY_TAG)
{
}
@@ -247,8 +248,6 @@ void cdi68070_device::set_quizard_mcu_value(uint16_t value)
TIMER_CALLBACK_MEMBER( cdi68070_device::timer0_callback )
{
- cdi_state *state = machine().driver_data<cdi_state>();
-
m_timers.timer0 = m_timers.reload_register;
m_timers.timer_status_register |= TSR_OV0;
if(m_picr1 & 7)
@@ -257,8 +256,8 @@ TIMER_CALLBACK_MEMBER( cdi68070_device::timer0_callback )
m_timers.timer_status_register |= TSR_OV0;
if(interrupt)
{
- state->m_maincpu->set_input_line_vector(M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
- state->m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
+ m_maincpu->set_input_line_vector(M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
+ m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
}
}
@@ -320,8 +319,6 @@ void cdi68070_device::uart_tx(uint8_t data)
TIMER_CALLBACK_MEMBER( cdi68070_device::rx_callback )
{
- cdi_state *state = machine().driver_data<cdi_state>();
-
if((m_uart.command_register & 3) == 1)
{
if(m_uart.receive_pointer >= 0)
@@ -342,8 +339,8 @@ TIMER_CALLBACK_MEMBER( cdi68070_device::rx_callback )
uint8_t interrupt = (m_picr2 >> 4) & 7;
if(interrupt)
{
- state->m_maincpu->set_input_line_vector(M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
- state->m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
+ m_maincpu->set_input_line_vector(M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
+ m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
}
m_uart.status_register |= USR_RXRDY;
@@ -532,15 +529,13 @@ void cdi68070_device::quizard_handle_byte_tx()
TIMER_CALLBACK_MEMBER( cdi68070_device::tx_callback )
{
- cdi_state *state = machine().driver_data<cdi_state>();
-
if(((m_uart.command_register >> 2) & 3) == 1)
{
uint8_t interrupt = m_picr2 & 7;
if(interrupt)
{
- state->m_maincpu->set_input_line_vector(M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
- state->m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
+ m_maincpu->set_input_line_vector(M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
+ m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
}
if(m_uart.transmit_pointer > -1)
@@ -573,8 +568,6 @@ TIMER_CALLBACK_MEMBER( cdi68070_device::tx_callback )
READ16_MEMBER( cdi68070_device::periphs_r )
{
- cdi_state *state = machine().driver_data<cdi_state>();
-
switch(offset)
{
// Interrupts: 80001001
@@ -637,12 +630,12 @@ READ16_MEMBER( cdi68070_device::periphs_r )
if((m_picr2 >> 4) & 7)
{
- state->m_maincpu->set_input_line(M68K_IRQ_1 + (((m_picr2 >> 4) & 7) - 1), ASSERT_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1 + (((m_picr2 >> 4) & 7) - 1), ASSERT_LINE);
}
if(m_picr2 & 7)
{
- state->m_maincpu->set_input_line(M68K_IRQ_1 + ((m_picr2 & 7) - 1), ASSERT_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1 + ((m_picr2 & 7) - 1), ASSERT_LINE);
}
return m_uart.status_register;
@@ -688,7 +681,7 @@ READ16_MEMBER( cdi68070_device::periphs_r )
}
if((m_picr2 >> 4) & 7)
{
- state->m_maincpu->set_input_line(M68K_IRQ_1 + (((m_picr2 >> 4) & 7) - 1), CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1 + (((m_picr2 >> 4) & 7) - 1), CLEAR_LINE);
}
m_uart.receive_holding_register = m_uart.receive_buffer[0];
@@ -863,8 +856,7 @@ READ16_MEMBER( cdi68070_device::periphs_r )
WRITE16_MEMBER( cdi68070_device::periphs_w )
{
- cdi_state *state = machine().driver_data<cdi_state>();
-
+ /*
switch(offset)
{
// Interrupts: 80001001
@@ -995,7 +987,7 @@ WRITE16_MEMBER( cdi68070_device::periphs_w )
if(!m_timers.timer_status_register)
{
uint8_t interrupt = m_picr1 & 7;
- state->m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), CLEAR_LINE);
+ m_maincpu->set_input_line(M68K_IRQ_1 + (interrupt - 1), CLEAR_LINE);
}
}
break;
@@ -1170,6 +1162,7 @@ WRITE16_MEMBER( cdi68070_device::periphs_w )
verboselog(*this, 0, "cdi68070_periphs_w: Unknown address: %04x = %04x & %04x\n", offset * 2, data, mem_mask);
break;
}
+ */
}
#if ENABLE_UART_PRINTING