339
338
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
340
339
ROM_LOAD( "fu11-.rom", 0x00000, 0x10000, CRC(65f20f10) SHA1(cf914893edd98a0f39bbf7068a469ed7d34bd90e) )
342
ROM_REGION( 0x100000, "gfx1", ROMREGION_DISPOSE )
341
ROM_REGION( 0x100000, "gfx1", 0 )
343
342
ROM_LOAD( "mab-00", 0x00000, 0x80000, CRC(660eaabd) SHA1(e3d614e13fdb9af159d9758a869d9dae3dbe14e0) ) /* Tiles */
344
343
ROM_LOAD16_BYTE( "fu05-.rom", 0x80000, 0x10000, CRC(8134d412) SHA1(9c70ff6f9f24ec89c0bb4645afdf2a5ca27e9a0c) ) /* Chars */
345
344
ROM_LOAD16_BYTE( "fu06-.rom", 0x80001, 0x10000, CRC(2f914a45) SHA1(bb44ba4779e45ee77ef0006363df91aac1f4559a) )
347
ROM_REGION( 0x80000, "gfx2", ROMREGION_DISPOSE )
346
ROM_REGION( 0x80000, "gfx2", 0 )
348
347
ROM_LOAD( "mab-01", 0x00000, 0x80000, CRC(1080d619) SHA1(68f33a1580d33e4dd0858248c12a0a10ac117249) ) /* Tiles */
350
ROM_REGION( 0x180000,"gfx3", ROMREGION_DISPOSE )
349
ROM_REGION( 0x180000,"gfx3", 0 )
351
350
ROM_LOAD( "mab-02", 0x000000, 0x80000, CRC(58b7231d) SHA1(5b51a2fa42c67f23648be205295184a1fddc00f5) ) /* Sprites */
352
351
/* Space for extra sprites to be copied to (0x20000) */
353
352
ROM_LOAD( "mab-03", 0x0a0000, 0x80000, CRC(76053b9d) SHA1(093cd01a13509701ec9dd1a806132600a5bd1915) )
357
356
ROM_LOAD( "fu09-.rom", 0x160000, 0x10000, CRC(526809ca) SHA1(2cb9e7417211c1eb23d32e3fee71c5254d34a3ff) )
358
357
ROM_LOAD( "fu10-.rom", 0x170000, 0x10000, CRC(6be6d50e) SHA1(b944db4b3a7c76190f6b40f71f033e16e7964f6a) )
360
ROM_REGION( 0x20000, "oki1", 0 ) /* ADPCM samples */
359
ROM_REGION( 0x40000, "oki1", 0 ) /* ADPCM samples */
361
360
ROM_LOAD( "fu12-.rom", 0x00000, 0x20000, CRC(2d1d65f2) SHA1(be3d57b9976ddf7ee6d20ee9e78fe826ee411d79) )
363
ROM_REGION( 0x20000, "oki2", 0 ) /* ADPCM samples */
362
ROM_REGION( 0x40000, "oki2", 0 ) /* ADPCM samples */
364
363
ROM_LOAD( "fu13-.rom", 0x00000, 0x20000, CRC(b8525622) SHA1(4a6ec5e3f64256b1383bfbab4167cbd2ec11b5c5) )
366
365
ROM_REGION( 0x0100, "proms", 0 )
377
376
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
378
377
ROM_LOAD( "fu11-.rom", 0x00000, 0x10000, CRC(65f20f10) SHA1(cf914893edd98a0f39bbf7068a469ed7d34bd90e) )
380
ROM_REGION( 0x100000, "gfx1", ROMREGION_DISPOSE )
379
ROM_REGION( 0x100000, "gfx1", 0 )
381
380
ROM_LOAD( "mab-00", 0x00000, 0x80000, CRC(660eaabd) SHA1(e3d614e13fdb9af159d9758a869d9dae3dbe14e0) ) /* Tiles */
382
381
ROM_LOAD16_BYTE( "fu05-.rom", 0x80000, 0x10000, CRC(8134d412) SHA1(9c70ff6f9f24ec89c0bb4645afdf2a5ca27e9a0c) ) /* Chars */
383
382
ROM_LOAD16_BYTE( "fu06-.rom", 0x80001, 0x10000, CRC(2f914a45) SHA1(bb44ba4779e45ee77ef0006363df91aac1f4559a) )
385
ROM_REGION( 0x80000, "gfx2", ROMREGION_DISPOSE )
384
ROM_REGION( 0x80000, "gfx2", 0 )
386
385
ROM_LOAD( "mab-01", 0x00000, 0x80000, CRC(1080d619) SHA1(68f33a1580d33e4dd0858248c12a0a10ac117249) ) /* Tiles */
388
ROM_REGION( 0x180000,"gfx3", ROMREGION_DISPOSE )
387
ROM_REGION( 0x180000,"gfx3", 0 )
389
388
ROM_LOAD( "mab-02", 0x000000, 0x80000, CRC(58b7231d) SHA1(5b51a2fa42c67f23648be205295184a1fddc00f5) ) /* Sprites */
390
389
/* Space for extra sprites to be copied to (0x20000) */
391
390
ROM_LOAD( "mab-03", 0x0a0000, 0x80000, CRC(76053b9d) SHA1(093cd01a13509701ec9dd1a806132600a5bd1915) )
395
394
ROM_LOAD( "fu09-.rom", 0x160000, 0x10000, CRC(526809ca) SHA1(2cb9e7417211c1eb23d32e3fee71c5254d34a3ff) )
396
395
ROM_LOAD( "fu10-.rom", 0x170000, 0x10000, CRC(6be6d50e) SHA1(b944db4b3a7c76190f6b40f71f033e16e7964f6a) )
398
ROM_REGION( 0x20000, "oki1", 0 ) /* ADPCM samples */
397
ROM_REGION( 0x40000, "oki1", 0 ) /* ADPCM samples */
399
398
ROM_LOAD( "fu12-.rom", 0x00000, 0x20000, CRC(2d1d65f2) SHA1(be3d57b9976ddf7ee6d20ee9e78fe826ee411d79) )
401
ROM_REGION( 0x20000, "oki2", 0 ) /* ADPCM samples */
400
ROM_REGION( 0x40000, "oki2", 0 ) /* ADPCM samples */
402
401
ROM_LOAD( "fu13-.rom", 0x00000, 0x20000, CRC(b8525622) SHA1(4a6ec5e3f64256b1383bfbab4167cbd2ec11b5c5) )
404
403
ROM_REGION( 0x0100, "proms", 0 )
415
414
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
416
415
ROM_LOAD( "fu11-.rom", 0x00000, 0x10000, CRC(65f20f10) SHA1(cf914893edd98a0f39bbf7068a469ed7d34bd90e) )
418
ROM_REGION( 0x100000, "gfx1", ROMREGION_DISPOSE )
417
ROM_REGION( 0x100000, "gfx1", 0 )
419
418
ROM_LOAD( "mab-00", 0x00000, 0x80000, CRC(660eaabd) SHA1(e3d614e13fdb9af159d9758a869d9dae3dbe14e0) ) /* Tiles */
420
419
ROM_LOAD16_BYTE( "fu05-.rom", 0x80000, 0x10000, CRC(8134d412) SHA1(9c70ff6f9f24ec89c0bb4645afdf2a5ca27e9a0c) ) /* Chars */
421
420
ROM_LOAD16_BYTE( "fu06-.rom", 0x80001, 0x10000, CRC(2f914a45) SHA1(bb44ba4779e45ee77ef0006363df91aac1f4559a) )
423
ROM_REGION( 0x80000, "gfx2", ROMREGION_DISPOSE )
422
ROM_REGION( 0x80000, "gfx2", 0 )
424
423
ROM_LOAD( "mab-01", 0x00000, 0x80000, CRC(1080d619) SHA1(68f33a1580d33e4dd0858248c12a0a10ac117249) ) /* Tiles */
426
ROM_REGION( 0x180000,"gfx3", ROMREGION_DISPOSE )
425
ROM_REGION( 0x180000,"gfx3", 0 )
427
426
ROM_LOAD( "mab-02", 0x000000, 0x80000, CRC(58b7231d) SHA1(5b51a2fa42c67f23648be205295184a1fddc00f5) ) /* Sprites */
428
427
/* Space for extra sprites to be copied to (0x20000) */
429
428
ROM_LOAD( "mab-03", 0x0a0000, 0x80000, CRC(76053b9d) SHA1(093cd01a13509701ec9dd1a806132600a5bd1915) )
433
432
ROM_LOAD( "fr09", 0x160000, 0x10000, CRC(f8363424) SHA1(6a6b143a3474965ef89f75e9d7b15946ae26d0d4) )
434
433
ROM_LOAD( "fr10", 0x170000, 0x10000, CRC(241d5760) SHA1(cd216ecf7e88939b91a6e0f02a23c8b875ac24dc) )
436
ROM_REGION( 0x20000, "oki1", 0 ) /* ADPCM samples */
435
ROM_REGION( 0x40000, "oki1", 0 ) /* ADPCM samples */
437
436
ROM_LOAD( "fu12-.rom", 0x00000, 0x20000, CRC(2d1d65f2) SHA1(be3d57b9976ddf7ee6d20ee9e78fe826ee411d79) )
439
ROM_REGION( 0x20000, "oki2", 0 ) /* ADPCM samples */
438
ROM_REGION( 0x40000, "oki2", 0 ) /* ADPCM samples */
440
439
ROM_LOAD( "fu13-.rom", 0x00000, 0x20000, CRC(b8525622) SHA1(4a6ec5e3f64256b1383bfbab4167cbd2ec11b5c5) )
442
441
ROM_REGION( 0x0100, "proms", 0 )
453
452
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
454
453
ROM_LOAD( "fu11-.rom", 0x00000, 0x10000, CRC(65f20f10) SHA1(cf914893edd98a0f39bbf7068a469ed7d34bd90e) )
456
ROM_REGION( 0x100000, "gfx1", ROMREGION_DISPOSE )
455
ROM_REGION( 0x100000, "gfx1", 0 )
457
456
ROM_LOAD( "mab-00", 0x00000, 0x80000, CRC(660eaabd) SHA1(e3d614e13fdb9af159d9758a869d9dae3dbe14e0) ) /* Tiles */
458
457
ROM_LOAD16_BYTE( "fu05-.rom", 0x80000, 0x10000, CRC(8134d412) SHA1(9c70ff6f9f24ec89c0bb4645afdf2a5ca27e9a0c) ) /* Chars */
459
458
ROM_LOAD16_BYTE( "fu06-.rom", 0x80001, 0x10000, CRC(2f914a45) SHA1(bb44ba4779e45ee77ef0006363df91aac1f4559a) )
461
ROM_REGION( 0x80000, "gfx2", ROMREGION_DISPOSE )
460
ROM_REGION( 0x80000, "gfx2", 0 )
462
461
ROM_LOAD( "mab-01", 0x00000, 0x80000, CRC(1080d619) SHA1(68f33a1580d33e4dd0858248c12a0a10ac117249) ) /* Tiles */
464
ROM_REGION( 0x180000,"gfx3", ROMREGION_DISPOSE )
463
ROM_REGION( 0x180000,"gfx3", 0 )
465
464
ROM_LOAD( "mab-02", 0x000000, 0x80000, CRC(58b7231d) SHA1(5b51a2fa42c67f23648be205295184a1fddc00f5) ) /* Sprites */
466
465
/* Space for extra sprites to be copied to (0x20000) */
467
466
ROM_LOAD( "mab-03", 0x0a0000, 0x80000, CRC(76053b9d) SHA1(093cd01a13509701ec9dd1a806132600a5bd1915) )
471
470
ROM_LOAD( "ft09", 0x160000, 0x10000, CRC(6e3657b9) SHA1(7e6a140e33f9bc18e35c255680eebe152a5d8858) )
472
471
ROM_LOAD( "ft10", 0x170000, 0x10000, CRC(cdb83560) SHA1(8b258c4436ccea5a74edff1b6219ab7a5eac0328) )
474
ROM_REGION( 0x20000, "oki1", 0 ) /* ADPCM samples */
473
ROM_REGION( 0x40000, "oki1", 0 ) /* ADPCM samples */
475
474
ROM_LOAD( "fu12-.rom", 0x00000, 0x20000, CRC(2d1d65f2) SHA1(be3d57b9976ddf7ee6d20ee9e78fe826ee411d79) )
477
ROM_REGION( 0x20000, "oki2", 0 ) /* ADPCM samples */
476
ROM_REGION( 0x40000, "oki2", 0 ) /* ADPCM samples */
478
477
ROM_LOAD( "fu13-.rom", 0x00000, 0x20000, CRC(b8525622) SHA1(4a6ec5e3f64256b1383bfbab4167cbd2ec11b5c5) )
480
479
ROM_REGION( 0x0100, "proms", 0 )
492
491
/* Main cpu decrypt */
493
492
for (i=0x00000; i<0x80000; i+=2) {
495
RAM[i+1]=(RAM[i+1] & 0xcf) | ((RAM[i+1] & 0x10) << 1) | ((RAM[i+1] & 0x20) >> 1);
496
RAM[i+1]=(RAM[i+1] & 0x5f) | ((RAM[i+1] & 0x20) << 2) | ((RAM[i+1] & 0x80) >> 2);
498
RAM[i]=(RAM[i] & 0xbd) | ((RAM[i] & 0x2) << 5) | ((RAM[i] & 0x40) >> 5);
499
RAM[i]=(RAM[i] & 0xf5) | ((RAM[i] & 0x2) << 2) | ((RAM[i] & 0x8) >> 2);
501
RAM[i]=(RAM[i] & 0xcf) | ((RAM[i] & 0x10) << 1) | ((RAM[i] & 0x20) >> 1);
502
RAM[i]=(RAM[i] & 0x5f) | ((RAM[i] & 0x20) << 2) | ((RAM[i] & 0x80) >> 2);
504
RAM[i+1]=(RAM[i+1] & 0xbd) | ((RAM[i+1] & 0x2) << 5) | ((RAM[i+1] & 0x40) >> 5);
505
RAM[i+1]=(RAM[i+1] & 0xf5) | ((RAM[i+1] & 0x2) << 2) | ((RAM[i+1] & 0x8) >> 2);
493
int h = i+NATIVE_ENDIAN_VALUE_LE_BE(1,0), l = i+NATIVE_ENDIAN_VALUE_LE_BE(0,1);
495
RAM[h]=(RAM[h] & 0xcf) | ((RAM[h] & 0x10) << 1) | ((RAM[h] & 0x20) >> 1);
496
RAM[h]=(RAM[h] & 0x5f) | ((RAM[h] & 0x20) << 2) | ((RAM[h] & 0x80) >> 2);
498
RAM[l]=(RAM[l] & 0xbd) | ((RAM[l] & 0x2) << 5) | ((RAM[l] & 0x40) >> 5);
499
RAM[l]=(RAM[l] & 0xf5) | ((RAM[l] & 0x2) << 2) | ((RAM[l] & 0x8) >> 2);
509
502
/* Rearrange the 'extra' sprite bank to be in the same format as main sprites */