Previous 199869 Revisions Next

r29626 Monday 14th April, 2014 at 03:14:50 UTC by R. Belmont
MC68681: support timer-driven serial channels.  Fixes SC4 fruit machine games. [R. Belmont]
[src/emu/machine]mc68681.c mc68681.h

trunk/src/emu/machine/mc68681.c
r29625r29626
239239         write_outport(OPR ^ 0xff);
240240      }
241241
242      // timer driving any serial channels?
243      if (BIT(ACR, 7) == 1)
244      {
245         UINT8 csr = m_chanA->get_chan_CSR();
246
247         if ((csr & 0xf0) == 0xd0)   // tx is timer driven
248         {
249            m_chanA->tx_clock_w(half_period);
250         }
251         if ((csr & 0x0f) == 0x0d)    // rx is timer driven
252         {
253            m_chanA->rx_clock_w(half_period);
254         }
255
256         csr = m_chanB->get_chan_CSR();
257         if ((csr & 0xf0) == 0xd0)   // tx is timer driven
258         {
259            m_chanB->tx_clock_w(half_period);
260         }
261         if ((csr & 0x0f) == 0x0d)    // rx is timer driven
262         {
263            m_chanB->rx_clock_w(half_period);
264         }
265      }
266
242267      if (!half_period)
243268      {
244269         ISR |= INT_COUNTER_READY;
r29625r29626
594619      baud_rate = baud_rate_ACR_1[data & 0x0f];
595620   }
596621
597   if ( baud_rate == 0 )
622   if ((baud_rate == 0) && ((data & 0xf) != 0xd))
598623   {
599624      LOG(( "Unsupported transmitter clock: channel %d, clock select = %02x\n", ch, data ));
600625   }
r29625r29626
693718
694719void mc68681_channel::tra_complete()
695720{
696//  printf("%s ch %d Tx complete\n", tag(), m_ch);
721//   printf("%s ch %d Tx complete\n", tag(), m_ch);
697722   tx_ready = 1;
698723   SR |= STATUS_TRANSMITTER_READY;
699724
r29625r29626
11121137{
11131138   write_chan_reg(1, CSR);
11141139}
1140
1141UINT8 mc68681_channel::get_chan_CSR()
1142{
1143   return CSR;
1144}
1145
trunk/src/emu/machine/mc68681.h
r29625r29626
5656
5757   void ACR_updated();
5858
59   UINT8 get_chan_CSR();
60
5961private:
6062   /* Registers */
6163   UINT8 CR;  /* Command register */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team