Skip to content

Commit 5c612b3

Browse files
committed
accommodate recent API change
1 parent 69fdd02 commit 5c612b3

File tree

2 files changed

+20
-21
lines changed

2 files changed

+20
-21
lines changed

src/mame/sinclair/tsconf_copper.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ void tsconf_copper_device::cl_data_w(u16 addr, u8 data)
6060

6161
void tsconf_copper_device::dma_ready_w(int status)
6262
{
63-
if(m_en && (status & 1) && (m_cl_data[m_pc] & 0xff0f) == 0b1111'0100'0000'0001)
63+
if(m_en && (status & 1) && (m_cl_data[m_pc] & 0xffff) == 0b1111'1011'1111'0001)
6464
{
6565
++m_pc;
6666
m_timer->adjust(attotime::from_hz(clock()), 0);
@@ -85,7 +85,22 @@ TIMER_CALLBACK_MEMBER(tsconf_copper_device::timer_callback)
8585
++m_pc;
8686
break;
8787

88-
case 0b0100: // WAIT
88+
case 0b0111: // WAITX
89+
if (param == 0b1111'0111)
90+
++m_pc;
91+
else
92+
{
93+
const u8 x = data & 0xff;
94+
if (x < 224)
95+
m_timer->adjust(m_in_until_pos_cb(0x8000 | x), 0b1111'0111);
96+
else
97+
m_timer->reset();
98+
return;
99+
}
100+
break;
101+
102+
case 0b1011: // WAITY
103+
if (BIT(data, 4, 4) == 0b1111) // WAIT event
89104
{
90105
const u8 event = data & 0x0f;
91106
if (event == param)
@@ -112,25 +127,10 @@ TIMER_CALLBACK_MEMBER(tsconf_copper_device::timer_callback)
112127

113128
}
114129
}
130+
break;
115131
}
116-
break;
117-
118-
case 0b0111: // WAITX
119-
if (param == 0b1111'0111)
120-
++m_pc;
121-
else
122-
{
123-
const u8 x = data & 0xff;
124-
if (x < 224)
125-
m_timer->adjust(m_in_until_pos_cb(0x8000 | x), 0b1111'0111);
126-
else
127-
m_timer->reset();
128-
return;
129-
}
130-
break;
131-
132-
case 0b1010: // WAITY
133-
case 0b1011:
132+
[[fallthrough]];
133+
case 0b1010:
134134
if (param == 0b1111'1010)
135135
++m_pc;
136136
else

src/mame/sinclair/tsconf_dma.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ void tsconfdma_device::start_tx(u8 task, bool s_align, bool d_align, bool align_
125125

126126
m_tx_block_num = 0;
127127
m_tx_block = 0;
128-
// Below is not precise. Clock must match but amount of cycles available depends how much left after screen line rendering based on presented tiles/sprites.
129128
m_dma_clock->adjust(attotime::from_ticks(1, clock() / 6), 0, attotime::from_ticks(1, clock() / 6));
130129
}
131130

0 commit comments

Comments
 (0)