trunk/src/mame/drivers/renegade.c
| r242162 | r242163 | |
| 108 | 108 | #include "includes/renegade.h" |
| 109 | 109 | |
| 110 | 110 | |
| 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 | */ |
| 112 | 118 | |
| 113 | | ADPCM sound |
| 114 | | |
| 115 | | ***************************************************************************/ |
| 116 | | |
| 117 | 119 | WRITE8_MEMBER(renegade_state::adpcm_start_w) |
| 118 | 120 | { |
| 119 | 121 | m_msm->reset_w(0); |
| r242162 | r242163 | |
| 122 | 124 | |
| 123 | 125 | WRITE8_MEMBER(renegade_state::adpcm_addr_w) |
| 124 | 126 | { |
| 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 |
| 126 | 142 | m_adpcm_end = m_adpcm_pos + 0x2000 * 2; |
| 127 | 143 | } |
| 128 | 144 | |
| r242162 | r242163 | |
| 156 | 172 | m_audiocpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE); |
| 157 | 173 | } |
| 158 | 174 | |
| 159 | | /********************************************************************************************/ |
| 175 | /**************************************************************************/ |
| 160 | 176 | /* MCU Simulation |
| 161 | 177 | ** |
| 162 | 178 | ** Renegade and Nekketsu Kouha Kunio Kun MCU behaviors are identical, |
| r242162 | r242163 | |
| 891 | 907 | ROM_LOAD( "ng-5.bin", 0x50000, 0x8000, CRC(a8ee3720) SHA1(df3d40015b16fa7a9bf05f0ed5741c22f7f152c7) ) |
| 892 | 908 | ROM_LOAD( "nm-5.bin", 0x58000, 0x8000, CRC(c100258e) SHA1(0e2124e642b9742a9a0045f460974025048bc2dd) ) |
| 893 | 909 | |
| 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) ) |
| 898 | 914 | ROM_END |
| 899 | 915 | |
| 900 | 916 | ROM_START( kuniokun ) |
| r242162 | r242163 | |
| 933 | 949 | ROM_LOAD( "ta18-21.bin", 0x50000, 0x8000, CRC(c95e009b) SHA1(d45a247d4ebf8587a2cd30c83444cc7bd17a3534) ) |
| 934 | 950 | ROM_LOAD( "ta18-15.bin", 0x58000, 0x8000, CRC(a5d61d01) SHA1(9bf1f0b8296667db31ff1c34e28c8eda3ce9f7c3) ) |
| 935 | 951 | |
| 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) ) |
| 940 | 956 | ROM_END |
| 941 | 957 | |
| 942 | 958 | ROM_START( kuniokunb ) |
| r242162 | r242163 | |
| 972 | 988 | ROM_LOAD( "ta18-21.bin", 0x50000, 0x8000, CRC(c95e009b) SHA1(d45a247d4ebf8587a2cd30c83444cc7bd17a3534) ) |
| 973 | 989 | ROM_LOAD( "ta18-15.bin", 0x58000, 0x8000, CRC(a5d61d01) SHA1(9bf1f0b8296667db31ff1c34e28c8eda3ce9f7c3) ) |
| 974 | 990 | |
| 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) ) |
| 979 | 995 | ROM_END |
| 980 | 996 | |
| 981 | 997 | |