Previous 199869 Revisions Next

r33651 Wednesday 3rd December, 2014 at 15:53:43 UTC by Alex W. Jackson
renegade.c: make ADPCM ROM addressing more hardware-like (nw)
[src/mame/drivers]renegade.c

trunk/src/mame/drivers/renegade.c
r242162r242163
108108#include "includes/renegade.h"
109109
110110
111/***************************************************************************
111/**************************************************************************/
112/*  ADPCM sound
113**
114**  Inferred from the 6809 code and analogy with ddragon
115**  NMI at end of sample is not needed in order for
116**  playback to work, but seems to be what the code expects
117*/
112118
113    ADPCM sound
114
115***************************************************************************/
116
117119WRITE8_MEMBER(renegade_state::adpcm_start_w)
118120{
119121   m_msm->reset_w(0);
r242162r242163
122124
123125WRITE8_MEMBER(renegade_state::adpcm_addr_w)
124126{
125   m_adpcm_pos = (data - 0x2c) * 0x2000 * 2;
127   // table at $CB52 in audiocpu program:
128   // 38 38 39 3A 3B 34 35 36 37 2C 2D 2E 2F
129   //
130   // bits 2-4 are active-low chip select; bit 5 is always set
131   // (chip select for an unpopulated fourth ROM?)
132   switch (data & 0x1c)
133   {
134      case 0x18: m_adpcm_pos = 0 * 0x8000 * 2; break;      // 110 -> ic33
135      case 0x14: m_adpcm_pos = 1 * 0x8000 * 2; break;      // 101 -> ic32
136      case 0x0c: m_adpcm_pos = 2 * 0x8000 * 2; break;      // 011 -> ic31
137      default: m_adpcm_pos = m_adpcm_end = 0; return;   // doesn't happen
138   }
139   // bits 0-1 are a13-a14
140   m_adpcm_pos |= (data & 0x03) * 0x2000 * 2;
141   // a0-a12 are driven by a binary counter; playback ends when it rolls over
126142   m_adpcm_end = m_adpcm_pos + 0x2000 * 2;
127143}
128144
r242162r242163
156172   m_audiocpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE);
157173}
158174
159/********************************************************************************************/
175/**************************************************************************/
160176/*  MCU Simulation
161177**
162178**  Renegade and Nekketsu Kouha Kunio Kun MCU behaviors are identical,
r242162r242163
891907   ROM_LOAD( "ng-5.bin",     0x50000, 0x8000, CRC(a8ee3720) SHA1(df3d40015b16fa7a9bf05f0ed5741c22f7f152c7) )
892908   ROM_LOAD( "nm-5.bin",     0x58000, 0x8000, CRC(c100258e) SHA1(0e2124e642b9742a9a0045f460974025048bc2dd) )
893909
894   ROM_REGION( 0x20000, "adpcm", 0 )
895   ROM_LOAD( "n5-5.ic31",    0x00000, 0x8000, CRC(7ee43a3c) SHA1(36b14b886096177cdd0bd0c99cbcfcc362b2bc30) )
896   ROM_LOAD( "n4-5.ic32",    0x10000, 0x8000, CRC(6557564c) SHA1(b3142be9d48eacb43786079a7ae012010f6afabb) )
897   ROM_LOAD( "n3-5.ic33",    0x18000, 0x8000, CRC(78fd6190) SHA1(995df0e88f5c34946e0634b50bda8c1cc621afaa) )
910   ROM_REGION( 0x18000, "adpcm", 0 )
911   ROM_LOAD( "n3-5.ic33",    0x00000, 0x8000, CRC(78fd6190) SHA1(995df0e88f5c34946e0634b50bda8c1cc621afaa) )
912   ROM_LOAD( "n4-5.ic32",    0x08000, 0x8000, CRC(6557564c) SHA1(b3142be9d48eacb43786079a7ae012010f6afabb) )
913   ROM_LOAD( "n5-5.ic31",    0x10000, 0x8000, CRC(7ee43a3c) SHA1(36b14b886096177cdd0bd0c99cbcfcc362b2bc30) )
898914ROM_END
899915
900916ROM_START( kuniokun )
r242162r242163
933949   ROM_LOAD( "ta18-21.bin",  0x50000, 0x8000, CRC(c95e009b) SHA1(d45a247d4ebf8587a2cd30c83444cc7bd17a3534) )
934950   ROM_LOAD( "ta18-15.bin",  0x58000, 0x8000, CRC(a5d61d01) SHA1(9bf1f0b8296667db31ff1c34e28c8eda3ce9f7c3) )
935951
936   ROM_REGION( 0x20000, "adpcm", 0 )
937   ROM_LOAD( "ta18-07.bin",  0x00000, 0x8000, CRC(02e3f3ed) SHA1(ab09b3af2c4ab9a36eb1273bcc7c788350048554) )
938   ROM_LOAD( "ta18-08.bin",  0x10000, 0x8000, CRC(c9312613) SHA1(fbbdf7c56c34cbee42984e41fcf2a21da2b87a31) )
939   ROM_LOAD( "ta18-09.bin",  0x18000, 0x8000, CRC(07ed4705) SHA1(6fd4b78ca846fa602504f06f3105b2da03bcd00c) )
952   ROM_REGION( 0x18000, "adpcm", 0 )
953   ROM_LOAD( "ta18-09.bin",  0x00000, 0x8000, CRC(07ed4705) SHA1(6fd4b78ca846fa602504f06f3105b2da03bcd00c) )
954   ROM_LOAD( "ta18-08.bin",  0x08000, 0x8000, CRC(c9312613) SHA1(fbbdf7c56c34cbee42984e41fcf2a21da2b87a31) )
955   ROM_LOAD( "ta18-07.bin",  0x10000, 0x8000, CRC(02e3f3ed) SHA1(ab09b3af2c4ab9a36eb1273bcc7c788350048554) )
940956ROM_END
941957
942958ROM_START( kuniokunb )
r242162r242163
972988   ROM_LOAD( "ta18-21.bin",  0x50000, 0x8000, CRC(c95e009b) SHA1(d45a247d4ebf8587a2cd30c83444cc7bd17a3534) )
973989   ROM_LOAD( "ta18-15.bin",  0x58000, 0x8000, CRC(a5d61d01) SHA1(9bf1f0b8296667db31ff1c34e28c8eda3ce9f7c3) )
974990
975   ROM_REGION( 0x20000, "adpcm", 0 ) /* adpcm */
976   ROM_LOAD( "ta18-07.bin",  0x00000, 0x8000, CRC(02e3f3ed) SHA1(ab09b3af2c4ab9a36eb1273bcc7c788350048554) )
977   ROM_LOAD( "ta18-08.bin",  0x10000, 0x8000, CRC(c9312613) SHA1(fbbdf7c56c34cbee42984e41fcf2a21da2b87a31) )
978   ROM_LOAD( "ta18-09.bin",  0x18000, 0x8000, CRC(07ed4705) SHA1(6fd4b78ca846fa602504f06f3105b2da03bcd00c) )
991   ROM_REGION( 0x18000, "adpcm", 0 ) /* adpcm */
992   ROM_LOAD( "ta18-09.bin",  0x00000, 0x8000, CRC(07ed4705) SHA1(6fd4b78ca846fa602504f06f3105b2da03bcd00c) )
993   ROM_LOAD( "ta18-08.bin",  0x08000, 0x8000, CRC(c9312613) SHA1(fbbdf7c56c34cbee42984e41fcf2a21da2b87a31) )
994   ROM_LOAD( "ta18-07.bin",  0x10000, 0x8000, CRC(02e3f3ed) SHA1(ab09b3af2c4ab9a36eb1273bcc7c788350048554) )
979995ROM_END
980996
981997


Previous 199869 Revisions Next


© 1997-2024 The MAME Team