1 /***************************************************************************
2
3 Speed Rumbler
4
5 Driver provided by Paul Leaman
6
7 M6809 for game, Z80 and YM-2203 for sound.
8
9 ***************************************************************************/
10
11 #include "driver.h"
12 #include "vidhrdw/generic.h"
13 #include "cpu/m6809/m6809.h"
14
15 extern unsigned char *srumbler_backgroundram,*srumbler_foregroundram;
16
17 WRITE_HANDLER( srumbler_background_w );
18 WRITE_HANDLER( srumbler_foreground_w );
19 WRITE_HANDLER( srumbler_scroll_w );
20 WRITE_HANDLER( srumbler_4009_w );
21
22 VIDEO_START( srumbler );
23 VIDEO_UPDATE( srumbler );
24 VIDEO_EOF( srumbler );
25
26
27
WRITE_HANDLER(srumbler_bankswitch_w)28 static WRITE_HANDLER( srumbler_bankswitch_w )
29 {
30 /*
31 banking is controlled by two PROMs. 0000-4fff is mapped to the same
32 address (RAM and I/O) for all banks, so we don't handle it here.
33 e000-ffff is all mapped to the same ROMs, however we do handle it
34 here anyway.
35 Note that 5000-8fff can be either ROM or RAM, so we should handle
36 that as well to be 100% accurate.
37 */
38 int i;
39 unsigned char *ROM = memory_region(REGION_USER1);
40 unsigned char *prom1 = memory_region(REGION_PROMS) + (data & 0xf0);
41 unsigned char *prom2 = memory_region(REGION_PROMS) + 0x100 + ((data & 0x0f) << 4);
42
43 for (i = 0x05;i < 0x10;i++)
44 {
45 int bank = ((prom1[i] & 0x03) << 4) | (prom2[i] & 0x0f);
46 /* bit 2 of prom1 selects ROM or RAM - not supported */
47
48 cpu_setbank(i+1,&ROM[bank*0x1000]);
49 }
50 }
51
MACHINE_INIT(srumbler)52 static MACHINE_INIT( srumbler )
53 {
54 /* initialize banked ROM pointers */
55 srumbler_bankswitch_w(0,0);
56 }
57
INTERRUPT_GEN(srumbler_interrupt)58 static INTERRUPT_GEN( srumbler_interrupt )
59 {
60 if (cpu_getiloops()==0)
61 {
62 cpu_set_irq_line(0,0,HOLD_LINE);
63 }
64 else
65 {
66 cpu_set_irq_line(0,M6809_FIRQ_LINE,HOLD_LINE);
67 }
68 }
69
70
71
MEMORY_READ_START(readmem)72 static MEMORY_READ_START( readmem )
73 { 0x0000, 0x3fff, MRA_RAM }, /* RAM (of 1 sort or another) */
74 { 0x4008, 0x4008, input_port_0_r },
75 { 0x4009, 0x4009, input_port_1_r },
76 { 0x400a, 0x400a, input_port_2_r },
77 { 0x400b, 0x400b, input_port_3_r },
78 { 0x400c, 0x400c, input_port_4_r },
79 { 0x5000, 0x5fff, MRA_BANK6 }, /* Banked ROM */
80 { 0x6000, 0x6fff, MRA_BANK7 }, /* Banked ROM */
81 { 0x7000, 0x7fff, MRA_BANK8 }, /* Banked ROM */
82 { 0x8000, 0x8fff, MRA_BANK9 }, /* Banked ROM */
83 { 0x9000, 0x9fff, MRA_BANK10 }, /* Banked ROM */
84 { 0xa000, 0xafff, MRA_BANK11 }, /* Banked ROM */
85 { 0xb000, 0xbfff, MRA_BANK12 }, /* Banked ROM */
86 { 0xc000, 0xcfff, MRA_BANK13 }, /* Banked ROM */
87 { 0xd000, 0xdfff, MRA_BANK14 }, /* Banked ROM */
88 { 0xe000, 0xefff, MRA_BANK15 }, /* Banked ROM */
89 { 0xf000, 0xffff, MRA_BANK16 }, /* Banked ROM */
90 MEMORY_END
91
92 /*
93 The "scroll test" routine on the test screen appears to overflow and write
94 over the control registers (0x4000-0x4080) when it clears the screen.
95
96 This doesn't affect anything since it happens to write the correct value
97 to the page register.
98
99 Ignore the warnings about writing to unmapped memory.
100 */
101
102 static MEMORY_WRITE_START( writemem )
103 { 0x0000, 0x1dff, MWA_RAM },
104 { 0x1e00, 0x1fff, MWA_RAM, &spriteram, &spriteram_size },
105 { 0x2000, 0x3fff, srumbler_background_w, &srumbler_backgroundram },
106 { 0x4008, 0x4008, srumbler_bankswitch_w },
107 { 0x4009, 0x4009, srumbler_4009_w },
108 { 0x400a, 0x400d, srumbler_scroll_w },
109 { 0x400e, 0x400e, soundlatch_w },
110 { 0x5000, 0x5fff, srumbler_foreground_w, &srumbler_foregroundram },
111 { 0x6000, 0x6fff, MWA_RAM }, /* Video RAM 2 ??? (not used) */
112 { 0x7000, 0x73ff, paletteram_RRRRGGGGBBBBxxxx_swap_w, &paletteram },
113 { 0x7400, 0xffff, MWA_ROM },
114 MEMORY_END
115
116 static MEMORY_READ_START( sound_readmem )
117 { 0xe000, 0xe000, soundlatch_r },
118 { 0xc000, 0xc7ff, MRA_RAM },
119 { 0x0000, 0x7fff, MRA_ROM },
120 MEMORY_END
121
122 static MEMORY_WRITE_START( sound_writemem )
123 { 0xc000, 0xc7ff, MWA_RAM },
124 { 0x8000, 0x8000, YM2203_control_port_0_w },
125 { 0x8001, 0x8001, YM2203_write_port_0_w },
126 { 0xa000, 0xa000, YM2203_control_port_1_w },
127 { 0xa001, 0xa001, YM2203_write_port_1_w },
128 { 0x0000, 0x7fff, MWA_ROM },
129 MEMORY_END
130
131
132 INPUT_PORTS_START( srumbler )
133 PORT_START /* IN0 */
134 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
135 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
136 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
137 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
138 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
139 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
140 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
141 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
142
143 PORT_START /* IN1 */
144 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
145 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
146 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
147 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
148 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
149 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
150 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
151 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
152
153 PORT_START /* IN2 */
154 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
155 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
156 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
157 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
158 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
159 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
160 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
161 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
162
163 PORT_START /* DSW0 */
164 PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_B ) )
165 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
166 PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) )
167 PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
168 PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
169 PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
170 PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
171 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
172 PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) )
173 PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_A ) )
174 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
175 PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
176 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
177 PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
178 PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
179 PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
180 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
181 PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) )
182 PORT_SERVICE( 0x40, IP_ACTIVE_LOW )
183 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) )
184 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
185 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
186
187 PORT_START /* DSW1 */
188 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
189 PORT_DIPSETTING( 0x03, "3" )
190 PORT_DIPSETTING( 0x02, "4" )
191 PORT_DIPSETTING( 0x01, "5" )
192 PORT_DIPSETTING( 0x00, "7" )
193 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
194 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
195 PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
196 PORT_DIPNAME( 0x18, 0x18, DEF_STR( Bonus_Life ) )
197 PORT_DIPSETTING( 0x18, "20k 70k and every 70k" )
198 PORT_DIPSETTING( 0x10, "30k 80k and every 80k" )
199 PORT_DIPSETTING( 0x08, "20k 80k" )
200 PORT_DIPSETTING( 0x00, "30k 80k" )
201 PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )
202 PORT_DIPSETTING( 0x40, "Easy" )
203 PORT_DIPSETTING( 0x60, "Normal" )
204 PORT_DIPSETTING( 0x20, "Hard" )
205 PORT_DIPSETTING( 0x00, "Very Hard" )
206 PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
207 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
208 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
209 INPUT_PORTS_END
210
211
212
213 static struct GfxLayout charlayout =
214 {
215 8,8,
216 RGN_FRAC(1,1),
217 2,
218 { 4, 0 },
219 { 0, 1, 2, 3, 8+0,8+1, 8+2, 8+3 },
220 { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
221 16*8
222 };
223
224 static struct GfxLayout tilelayout =
225 {
226 16,16,
227 RGN_FRAC(1,2),
228 4,
229 { RGN_FRAC(1,2)+4, RGN_FRAC(1,2)+0, 4, 0 },
230 { 0, 1, 2, 3, 8+0, 8+1, 8+2, 8+3,
231 32*8+0, 32*8+1, 32*8+2, 32*8+3, 33*8+0, 33*8+1, 33*8+2, 33*8+3 },
232 { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
233 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
234 64*8
235 };
236
237 static struct GfxLayout spritelayout =
238 {
239 16,16,
240 RGN_FRAC(1,4),
241 4,
242 { RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
243 { 0, 1, 2, 3, 4, 5, 6, 7,
244 2*64+0, 2*64+1, 2*64+2, 2*64+3, 2*64+4, 2*64+5, 2*64+6, 2*64+7, 2*64+8 },
245 { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
246 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
247 32*8
248 };
249
250
251 static struct GfxDecodeInfo gfxdecodeinfo[] =
252 {
253 { REGION_GFX1, 0, &charlayout, 448, 16 }, /* colors 448 - 511 */
254 { REGION_GFX2, 0, &tilelayout, 128, 8 }, /* colors 128 - 255 */
255 { REGION_GFX3, 0, &spritelayout, 256, 8 }, /* colors 256 - 383 */
256 { -1 } /* end of array */
257 };
258
259
260 static struct YM2203interface ym2203_interface =
261 {
262 2, /* 2 chips */
263 4000000, /* 4.0 MHz (? hand tuned to match the real board) */
264 { YM2203_VOL(60,20), YM2203_VOL(60,20) },
265 { 0 },
266 { 0 },
267 { 0 },
268 { 0 }
269 };
270
271
272
273 static MACHINE_DRIVER_START( srumbler )
274
275 /* basic machine hardware */
276 MDRV_CPU_ADD(M6809, 1500000) /* 1.5 MHz (?) */
277 MDRV_CPU_MEMORY(readmem,writemem)
278 MDRV_CPU_VBLANK_INT(srumbler_interrupt,2)
279
280 MDRV_CPU_ADD(Z80, 3000000)
281 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 3 MHz ??? */
282 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
283 MDRV_CPU_VBLANK_INT(irq0_line_hold,4)
284
285 MDRV_FRAMES_PER_SECOND(60)
286 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
287
288 MDRV_MACHINE_INIT(srumbler)
289
290 /* video hardware */
291 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
292 MDRV_SCREEN_SIZE(64*8, 32*8)
293 MDRV_VISIBLE_AREA(10*8, (64-10)*8-1, 1*8, 31*8-1 )
294 MDRV_GFXDECODE(gfxdecodeinfo)
295 MDRV_PALETTE_LENGTH(512)
296
297 MDRV_VIDEO_START(srumbler)
298 MDRV_VIDEO_EOF(srumbler)
299 MDRV_VIDEO_UPDATE(srumbler)
300
301 /* sound hardware */
302 MDRV_SOUND_ADD(YM2203, ym2203_interface)
303 MACHINE_DRIVER_END
304
305
306
307 /***************************************************************************
308
309 Game driver(s)
310
311 ***************************************************************************/
312
313 ROM_START( srumbler )
314 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
315 /* empty, will be filled later */
316
317 ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Paged ROMs */
318 ROM_LOAD( "14e_sr04.bin", 0x00000, 0x08000, CRC(a68ce89c) SHA1(cb5dd8c47c24f9d8ac9a6135c0b7942d16002d25) ) /* RC4 */
319 ROM_LOAD( "13e_sr03.bin", 0x08000, 0x08000, CRC(87bda812) SHA1(f46dcce21d78c8525a2578b73e05b7cd8a2d8745) ) /* RC3 */
320 ROM_LOAD( "12e_sr02.bin", 0x10000, 0x08000, CRC(d8609cca) SHA1(893f1f1ac0aef5d31e75228252c14c4b522bff16) ) /* RC2 */
321 ROM_LOAD( "11e_sr01.bin", 0x18000, 0x08000, CRC(27ec4776) SHA1(09a53fd6472888664c21f49ab78b2c5d77d2caa1) ) /* RC1 */
322 ROM_LOAD( "14f_sr09.bin", 0x20000, 0x08000, CRC(2146101d) SHA1(cacd7a13d67f43a0fc624d1c5e29d9816bd6b1c7) ) /* RC9 */
323 ROM_LOAD( "13f_sr08.bin", 0x28000, 0x08000, CRC(838369a6) SHA1(6fdcbe2db488d4d99453b5537cf05ed18112368e) ) /* RC8 */
324 ROM_LOAD( "12f_sr07.bin", 0x30000, 0x08000, CRC(de785076) SHA1(bdb104c6c875f5362c0d1ba9a8c5dd450c9c014b) ) /* RC7 */
325 ROM_LOAD( "11f_sr06.bin", 0x38000, 0x08000, CRC(a70f4fd4) SHA1(21be3865b9f7fa265f265a565bab896357d7464f) ) /* RC6 */
326
327 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
328 ROM_LOAD( "2f_sr05.bin", 0x0000, 0x8000, CRC(0177cebe) SHA1(0fa94d2057f509a6fe1de210bf513efc82f1ffe7) )
329
330 ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE )
331 ROM_LOAD( "6g_sr10.bin", 0x00000, 0x4000, CRC(adabe271) SHA1(256d6823dcda404375825103272213e1442c3320) ) /* characters */
332
333 ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
334 ROM_LOAD( "11a_sr11.bin", 0x00000, 0x8000, CRC(5fa042ba) SHA1(9e03eaf22286330826501619a7b74181dc42a5fa) ) /* tiles */
335 ROM_LOAD( "13a_sr12.bin", 0x08000, 0x8000, CRC(a2db64af) SHA1(35ab93397ee8172813e69edd085b36a5b98ba082) )
336 ROM_LOAD( "14a_sr13.bin", 0x10000, 0x8000, CRC(f1df5499) SHA1(b1c47b35c00bc05825353474ad2b33d9669b879e) )
337 ROM_LOAD( "15a_sr14.bin", 0x18000, 0x8000, CRC(b22b31b3) SHA1(7aa1a042bccf6a1117c983bb36e88ace7712e867) )
338 ROM_LOAD( "11c_sr15.bin", 0x20000, 0x8000, CRC(ca3a3af3) SHA1(bcb43fc66be852acb2f93513d6b7b089b1bdd9fc) )
339 ROM_LOAD( "13c_sr16.bin", 0x28000, 0x8000, CRC(c49a4a11) SHA1(4e1432e6d6a7ffc73e695c1db245ea54beee0507) )
340 ROM_LOAD( "14c_sr17.bin", 0x30000, 0x8000, CRC(aa80aaab) SHA1(37a8e57e4d8ed8372bc1d7c94cf5a087a01d79ad) )
341 ROM_LOAD( "15c_sr18.bin", 0x38000, 0x8000, CRC(ce67868e) SHA1(867d6bc65119fdb7a9788f7d92e6be0326756776) )
342
343 ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
344 ROM_LOAD( "15e_sr20.bin", 0x00000, 0x8000, CRC(3924c861) SHA1(e31e0ea50823a910f87eefc969de53f1ad738629) ) /* sprites */
345 ROM_LOAD( "14e_sr19.bin", 0x08000, 0x8000, CRC(ff8f9129) SHA1(8402236e297c3b03984a22b727198cc54e0c8117) )
346 ROM_LOAD( "15f_sr22.bin", 0x10000, 0x8000, CRC(ab64161c) SHA1(4d8b01ba4c85a732df38db7663bd765a49c671de) )
347 ROM_LOAD( "14f_sr21.bin", 0x18000, 0x8000, CRC(fd64bcd1) SHA1(4bb6c0e0027387284de1dc1320887de3231252e9) )
348 ROM_LOAD( "15h_sr24.bin", 0x20000, 0x8000, CRC(c972af3e) SHA1(3aaf5fdd07f675bd29a068035f252c0136e7881e) )
349 ROM_LOAD( "14h_sr23.bin", 0x28000, 0x8000, CRC(8c9abf57) SHA1(044d5c9904e89b67bd92396a7215b73d96d3965a) )
350 ROM_LOAD( "15j_sr26.bin", 0x30000, 0x8000, CRC(d4f1732f) SHA1(d16b6456c73395964c9868078e378e0d5cc48ae7) )
351 ROM_LOAD( "14j_sr25.bin", 0x38000, 0x8000, CRC(d2a4ea4f) SHA1(365e534bf56e08b1e727ea7bfdfb537fa274448b) )
352
353 ROM_REGION( 0x0300, REGION_PROMS, 0 )
354 ROM_LOAD( "63s141.12a", 0x0000, 0x0100, CRC(8421786f) SHA1(7ffe9f3cd081842d9ee38bd67421cb8836e3f7ed) ) /* ROM banking */
355 ROM_LOAD( "63s141.13a", 0x0100, 0x0100, CRC(6048583f) SHA1(a0b0f560e7f52978a1bf59417da13cc852617eff) ) /* ROM banking */
356 ROM_LOAD( "63s141.8j", 0x0200, 0x0100, CRC(1a89a7ff) SHA1(437160ad5d61a257b7deaf5f5e8b3d4cf56a9663) ) /* priority (not used) */
357 ROM_END
358
359 ROM_START( srumblr2 )
360 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
361 /* empty, will be filled later */
362
363 ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Paged ROMs */
364 ROM_LOAD( "14e_sr04.bin", 0x00000, 0x08000, CRC(a68ce89c) SHA1(cb5dd8c47c24f9d8ac9a6135c0b7942d16002d25) ) /* RC4 */
365 ROM_LOAD( "rc03.13e", 0x08000, 0x08000, CRC(e82f78d4) SHA1(39cb5d9c18e7635d48aa29221ae99e6a500e2841) ) /* RC3 (different) */
366 ROM_LOAD( "rc02.12e", 0x10000, 0x08000, CRC(009a62d8) SHA1(72b52b34186304d70214f56acdb0f3af5bed9503) ) /* RC2 (different) */
367 ROM_LOAD( "rc01.11e", 0x18000, 0x08000, CRC(2ac48d1d) SHA1(9e41cddb8f8f96e55f915ae5c244c123cc4f8c9a) ) /* RC1 (different) */
368 ROM_LOAD( "rc09.14f", 0x20000, 0x08000, CRC(64f23e72) SHA1(2de892f8753df0ac85389328342089bd5cc57f38) ) /* RC9 (different) */
369 ROM_LOAD( "rc08.13f", 0x28000, 0x08000, CRC(74c71007) SHA1(9b7f159dc1e3add85a3aaeb697aa800a37d09f52) ) /* RC8 (different) */
370 ROM_LOAD( "12f_sr07.bin", 0x30000, 0x08000, CRC(de785076) SHA1(bdb104c6c875f5362c0d1ba9a8c5dd450c9c014b) ) /* RC7 */
371 ROM_LOAD( "11f_sr06.bin", 0x38000, 0x08000, CRC(a70f4fd4) SHA1(21be3865b9f7fa265f265a565bab896357d7464f) ) /* RC6 */
372
373 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
374 ROM_LOAD( "rc05.2f", 0x0000, 0x8000, CRC(ea04fa07) SHA1(e29bfc3ed9e6606206ee41c90aaaeddffa26c1b4) ) /* AUDIO (different) */
375
376 ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE )
377 ROM_LOAD( "6g_sr10.bin", 0x00000, 0x4000, CRC(adabe271) SHA1(256d6823dcda404375825103272213e1442c3320) ) /* characters */
378
379 ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
380 ROM_LOAD( "11a_sr11.bin", 0x00000, 0x8000, CRC(5fa042ba) SHA1(9e03eaf22286330826501619a7b74181dc42a5fa) ) /* tiles */
381 ROM_LOAD( "13a_sr12.bin", 0x08000, 0x8000, CRC(a2db64af) SHA1(35ab93397ee8172813e69edd085b36a5b98ba082) )
382 ROM_LOAD( "14a_sr13.bin", 0x10000, 0x8000, CRC(f1df5499) SHA1(b1c47b35c00bc05825353474ad2b33d9669b879e) )
383 ROM_LOAD( "15a_sr14.bin", 0x18000, 0x8000, CRC(b22b31b3) SHA1(7aa1a042bccf6a1117c983bb36e88ace7712e867) )
384 ROM_LOAD( "11c_sr15.bin", 0x20000, 0x8000, CRC(ca3a3af3) SHA1(bcb43fc66be852acb2f93513d6b7b089b1bdd9fc) )
385 ROM_LOAD( "13c_sr16.bin", 0x28000, 0x8000, CRC(c49a4a11) SHA1(4e1432e6d6a7ffc73e695c1db245ea54beee0507) )
386 ROM_LOAD( "14c_sr17.bin", 0x30000, 0x8000, CRC(aa80aaab) SHA1(37a8e57e4d8ed8372bc1d7c94cf5a087a01d79ad) )
387 ROM_LOAD( "15c_sr18.bin", 0x38000, 0x8000, CRC(ce67868e) SHA1(867d6bc65119fdb7a9788f7d92e6be0326756776) )
388
389 ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
390 ROM_LOAD( "15e_sr20.bin", 0x00000, 0x8000, CRC(3924c861) SHA1(e31e0ea50823a910f87eefc969de53f1ad738629) ) /* sprites */
391 ROM_LOAD( "14e_sr19.bin", 0x08000, 0x8000, CRC(ff8f9129) SHA1(8402236e297c3b03984a22b727198cc54e0c8117) )
392 ROM_LOAD( "15f_sr22.bin", 0x10000, 0x8000, CRC(ab64161c) SHA1(4d8b01ba4c85a732df38db7663bd765a49c671de) )
393 ROM_LOAD( "14f_sr21.bin", 0x18000, 0x8000, CRC(fd64bcd1) SHA1(4bb6c0e0027387284de1dc1320887de3231252e9) )
394 ROM_LOAD( "15h_sr24.bin", 0x20000, 0x8000, CRC(c972af3e) SHA1(3aaf5fdd07f675bd29a068035f252c0136e7881e) )
395 ROM_LOAD( "14h_sr23.bin", 0x28000, 0x8000, CRC(8c9abf57) SHA1(044d5c9904e89b67bd92396a7215b73d96d3965a) )
396 ROM_LOAD( "15j_sr26.bin", 0x30000, 0x8000, CRC(d4f1732f) SHA1(d16b6456c73395964c9868078e378e0d5cc48ae7) )
397 ROM_LOAD( "14j_sr25.bin", 0x38000, 0x8000, CRC(d2a4ea4f) SHA1(365e534bf56e08b1e727ea7bfdfb537fa274448b) )
398
399 ROM_REGION( 0x0300, REGION_PROMS, 0 )
400 ROM_LOAD( "63s141.12a", 0x0000, 0x0100, CRC(8421786f) SHA1(7ffe9f3cd081842d9ee38bd67421cb8836e3f7ed) ) /* ROM banking */
401 ROM_LOAD( "63s141.13a", 0x0100, 0x0100, CRC(6048583f) SHA1(a0b0f560e7f52978a1bf59417da13cc852617eff) ) /* ROM banking */
402 ROM_LOAD( "63s141.8j", 0x0200, 0x0100, CRC(1a89a7ff) SHA1(437160ad5d61a257b7deaf5f5e8b3d4cf56a9663) ) /* priority (not used) */
403 ROM_END
404
405 ROM_START( rushcrsh )
406 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
407 /* empty, will be filled later */
408
409 ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Paged ROMs */
410 ROM_LOAD( "14e_sr04.bin", 0x00000, 0x08000, CRC(a68ce89c) SHA1(cb5dd8c47c24f9d8ac9a6135c0b7942d16002d25) ) /* RC4 */
411 ROM_LOAD( "rc03.bin", 0x08000, 0x08000, CRC(a49c9be0) SHA1(9aa385063a289e71fef4c2846c8c960a8adafcc0) ) /* RC3 (different) */
412 ROM_LOAD( "rc02.12e", 0x10000, 0x08000, CRC(009a62d8) SHA1(72b52b34186304d70214f56acdb0f3af5bed9503) ) /* RC2 (different) */
413 ROM_LOAD( "rc01.11e", 0x18000, 0x08000, CRC(2ac48d1d) SHA1(9e41cddb8f8f96e55f915ae5c244c123cc4f8c9a) ) /* RC1 (different) */
414 ROM_LOAD( "rc09.14f", 0x20000, 0x08000, CRC(64f23e72) SHA1(2de892f8753df0ac85389328342089bd5cc57f38) ) /* RC9 (different) */
415 ROM_LOAD( "rc08.bin", 0x28000, 0x08000, CRC(2c25874b) SHA1(7862f0af14c508f598a2f05330a61b77b86d624e) ) /* RC8 (different) */
416 ROM_LOAD( "12f_sr07.bin", 0x30000, 0x08000, CRC(de785076) SHA1(bdb104c6c875f5362c0d1ba9a8c5dd450c9c014b) ) /* RC7 */
417 ROM_LOAD( "11f_sr06.bin", 0x38000, 0x08000, CRC(a70f4fd4) SHA1(21be3865b9f7fa265f265a565bab896357d7464f) ) /* RC6 */
418
419 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
420 ROM_LOAD( "rc05.2f", 0x0000, 0x8000, CRC(ea04fa07) SHA1(e29bfc3ed9e6606206ee41c90aaaeddffa26c1b4) ) /* AUDIO (different) */
421
422 ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE )
423 ROM_LOAD( "rc10.bin", 0x00000, 0x4000, CRC(0a3c0b0d) SHA1(63f4daaea852c077f0ddd04d4bb4cd6333a8de7c) ) /* characters */
424
425 ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
426 ROM_LOAD( "11a_sr11.bin", 0x00000, 0x8000, CRC(5fa042ba) SHA1(9e03eaf22286330826501619a7b74181dc42a5fa) ) /* tiles */
427 ROM_LOAD( "13a_sr12.bin", 0x08000, 0x8000, CRC(a2db64af) SHA1(35ab93397ee8172813e69edd085b36a5b98ba082) )
428 ROM_LOAD( "14a_sr13.bin", 0x10000, 0x8000, CRC(f1df5499) SHA1(b1c47b35c00bc05825353474ad2b33d9669b879e) )
429 ROM_LOAD( "15a_sr14.bin", 0x18000, 0x8000, CRC(b22b31b3) SHA1(7aa1a042bccf6a1117c983bb36e88ace7712e867) )
430 ROM_LOAD( "11c_sr15.bin", 0x20000, 0x8000, CRC(ca3a3af3) SHA1(bcb43fc66be852acb2f93513d6b7b089b1bdd9fc) )
431 ROM_LOAD( "13c_sr16.bin", 0x28000, 0x8000, CRC(c49a4a11) SHA1(4e1432e6d6a7ffc73e695c1db245ea54beee0507) )
432 ROM_LOAD( "14c_sr17.bin", 0x30000, 0x8000, CRC(aa80aaab) SHA1(37a8e57e4d8ed8372bc1d7c94cf5a087a01d79ad) )
433 ROM_LOAD( "15c_sr18.bin", 0x38000, 0x8000, CRC(ce67868e) SHA1(867d6bc65119fdb7a9788f7d92e6be0326756776) )
434
435 ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
436 ROM_LOAD( "15e_sr20.bin", 0x00000, 0x8000, CRC(3924c861) SHA1(e31e0ea50823a910f87eefc969de53f1ad738629) ) /* sprites */
437 ROM_LOAD( "14e_sr19.bin", 0x08000, 0x8000, CRC(ff8f9129) SHA1(8402236e297c3b03984a22b727198cc54e0c8117) )
438 ROM_LOAD( "15f_sr22.bin", 0x10000, 0x8000, CRC(ab64161c) SHA1(4d8b01ba4c85a732df38db7663bd765a49c671de) )
439 ROM_LOAD( "14f_sr21.bin", 0x18000, 0x8000, CRC(fd64bcd1) SHA1(4bb6c0e0027387284de1dc1320887de3231252e9) )
440 ROM_LOAD( "15h_sr24.bin", 0x20000, 0x8000, CRC(c972af3e) SHA1(3aaf5fdd07f675bd29a068035f252c0136e7881e) )
441 ROM_LOAD( "14h_sr23.bin", 0x28000, 0x8000, CRC(8c9abf57) SHA1(044d5c9904e89b67bd92396a7215b73d96d3965a) )
442 ROM_LOAD( "15j_sr26.bin", 0x30000, 0x8000, CRC(d4f1732f) SHA1(d16b6456c73395964c9868078e378e0d5cc48ae7) )
443 ROM_LOAD( "14j_sr25.bin", 0x38000, 0x8000, CRC(d2a4ea4f) SHA1(365e534bf56e08b1e727ea7bfdfb537fa274448b) )
444
445 ROM_REGION( 0x0300, REGION_PROMS, 0 )
446 ROM_LOAD( "63s141.12a", 0x0000, 0x0100, CRC(8421786f) SHA1(7ffe9f3cd081842d9ee38bd67421cb8836e3f7ed) ) /* ROM banking */
447 ROM_LOAD( "63s141.13a", 0x0100, 0x0100, CRC(6048583f) SHA1(a0b0f560e7f52978a1bf59417da13cc852617eff) ) /* ROM banking */
448 ROM_LOAD( "63s141.8j", 0x0200, 0x0100, CRC(1a89a7ff) SHA1(437160ad5d61a257b7deaf5f5e8b3d4cf56a9663) ) /* priority (not used) */
449 ROM_END
450
451
452
453 GAME( 1986, srumbler, 0, srumbler, srumbler, 0, ROT270, "Capcom", "The Speed Rumbler (set 1)" )
454 GAME( 1986, srumblr2, srumbler, srumbler, srumbler, 0, ROT270, "Capcom", "The Speed Rumbler (set 2)" )
455 GAME( 1986, rushcrsh, srumbler, srumbler, srumbler, 0, ROT270, "Capcom", "Rush and Crash (Japan)" )
456