Previous 199869 Revisions Next

r31388 Tuesday 22nd July, 2014 at 16:22:17 UTC by David Haywood
temp fix for DCS damage (nw)
[src/mame/audio]dcs.c

trunk/src/mame/audio/dcs.c
r31387r31388
298298static ADDRESS_MAP_START( dcs_8k_program_map, AS_PROGRAM, 32, dcs_audio_device )
299299   AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("dcsint")
300300   AM_RANGE(0x0800, 0x1fff) AM_RAM AM_SHARE("dcsext")
301   AM_RANGE(0x3000, 0x3003) AM_READWRITE(input_latch32_r, output_latch32_w)
301   AM_RANGE(0x3000, 0x3003) AM_READWRITE(input_latch32_r, output_latch32_w) // why?
302302ADDRESS_MAP_END
303303
304304static ADDRESS_MAP_START( dcs_8k_data_map, AS_DATA, 16, dcs_audio_device )
r31387r31388
306306   AM_RANGE(0x0800, 0x1fff) AM_READWRITE(dcs_dataram_r, dcs_dataram_w)
307307   AM_RANGE(0x2000, 0x2fff) AM_ROMBANK("databank")
308308   AM_RANGE(0x3000, 0x3000) AM_WRITE(dcs_data_bank_select_w)
309   AM_RANGE(0x3400, 0x3403) AM_READWRITE(input_latch_r, output_latch_w) // mk3 etc. need this
309310   AM_RANGE(0x3800, 0x39ff) AM_RAM
310311   AM_RANGE(0x3fe0, 0x3fff) AM_READWRITE(adsp_control_r, adsp_control_w)
311312ADDRESS_MAP_END
r31387r31388
14391440   /* only boost for DCS2 boards */
14401441   if (!m_auto_ack && !m_transfer.hle_enabled)
14411442      machine().scheduler().boost_interleave(attotime::from_nsec(500), attotime::from_usec(5));
1442   if (m_rev == 1 || m_rev == 15)
1443   if ( /* m_rev == 1 || */ m_rev == 15) // == 1 check breaks mk3
14431444      return IS_OUTPUT_FULL() ? 0x80 : 0x00;
14441445   return m_latch_control;
14451446}
r31387r31388
15781579   m_pre_output_data = data;
15791580   if (LOG_DCS_IO)
15801581      logerror("%08X:output_latch_w(%04X) (empty=%d)\n", space.device().safe_pc(), data, IS_OUTPUT_EMPTY());
1582
15811583   machine().scheduler().synchronize(timer_expired_delegate(FUNC(dcs_audio_device::latch_delayed_w),this), data>>8);
15821584}
15831585
r31387r31388
15861588   m_pre_output_data = data >> 8;
15871589   if (LOG_DCS_IO)
15881590      logerror("%08X:output_latch32_w(%04X) (empty=%d)\n", space.device().safe_pc(), data>>8, IS_OUTPUT_EMPTY());
1589      logerror("%08X:output_latch32_w(%04X) (empty=%d)\n", space.device().safe_pc(), data>>8, IS_OUTPUT_EMPTY());
1591
15901592   machine().scheduler().synchronize(timer_expired_delegate(FUNC(dcs_audio_device::latch_delayed_w),this), data>>8);
15911593}
15921594

Previous 199869 Revisions Next


© 1997-2024 The MAME Team