ここらへんを参考にして、SUPER 1500 シリーズ XEVIOUSを解析してみる。
http://mamedev.org/source/src/mame/drivers/galaga.c.html
2559 ROM_START( xevious ) 2560 ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for the first CPU */ 2561 ROM_LOAD( "xvi_1.3p", 0x0000, 0x1000, CRC(09964dda) SHA1(4882b25b0938a903f3a367455ba788a30759b5b0) ) 2562 ROM_LOAD( "xvi_2.3m", 0x1000, 0x1000, CRC(60ecce84) SHA1(8adc60a5fcbca74092518dbc570ffff0f04c5b17) ) 2563 ROM_LOAD( "xvi_3.2m", 0x2000, 0x1000, CRC(79754b7d) SHA1(c6a154858716e1f073b476824b183de20e06d093) ) 2564 ROM_LOAD( "xvi_4.2l", 0x3000, 0x1000, CRC(c7d4bbf0) SHA1(4b846de204d08651253d3a141677c8a31626af07) ) 2565 2566 ROM_REGION( 0x10000, "sub", 0 ) /* 64k for the second CPU */ 2567 ROM_LOAD( "xvi_5.3f", 0x0000, 0x1000, CRC(c85b703f) SHA1(15f1c005b9d806a384ab1f2240b9c580bfe83893) ) 2568 ROM_LOAD( "xvi_6.3j", 0x1000, 0x1000, CRC(e18cdaad) SHA1(6b79efee1a9642edb9f752101737132401248aed) ) 2569 2570 ROM_REGION( 0x10000, "sub2", 0 ) 2571 ROM_LOAD( "xvi_7.2c", 0x0000, 0x1000, CRC(dd35cf1c) SHA1(f8d1f8e019d8198308443c2e7e815d0d04b23d14) ) 2572 2573 ROM_REGION( 0x1000, "gfx1", 0 ) 2574 ROM_LOAD( "xvi_12.3b", 0x0000, 0x1000, CRC(088c8b26) SHA1(9c3b61dfca2f84673a78f7f66e363777a8f47a59) ) /* foreground characters */ 2575 2576 ROM_REGION( 0x2000, "gfx2", 0 ) 2577 ROM_LOAD( "xvi_13.3c", 0x0000, 0x1000, CRC(de60ba25) SHA1(32bc09be5ff8b52ee3a26e0ac3ebc2d4107badb7) ) /* bg pattern B0 */ 2578 ROM_LOAD( "xvi_14.3d", 0x1000, 0x1000, CRC(535cdbbc) SHA1(fb9ffe5fc43e0213231267e98d605d43c15f61e8) ) /* bg pattern B1 */ 2579 2580 ROM_REGION( 0xa000, "gfx3", 0 ) 2581 ROM_LOAD( "xvi_15.4m", 0x0000, 0x2000, CRC(dc2c0ecb) SHA1(19ddbd9805f77f38c9a9a1bb30dba6c720b8609f) ) /* sprite set #1, planes 0/1 */ 2582 ROM_LOAD( "xvi_17.4p", 0x2000, 0x2000, CRC(dfb587ce) SHA1(acff2bf5cde85a16cdc98a52cdea11f77fadf25a) ) /* sprite set #2, planes 0/1 */ 2583 ROM_LOAD( "xvi_16.4n", 0x4000, 0x1000, CRC(605ca889) SHA1(3bf380ef76c03822a042ecc73b5edd4543c268ce) ) /* sprite set #3, planes 0/1 */ 2584 ROM_LOAD( "xvi_18.4r", 0x5000, 0x2000, CRC(02417d19) SHA1(b5f830dd2cf25cf154308d2e640f0ecdcda5d8cd) ) /* sprite set #1, plane 2, set #2, plane 2 */ 2585 /* 0x7000-0x8fff will be unpacked from 0x5000-0x6fff */ 2586 ROM_FILL( 0x9000, 0x1000, 0x00 ) // empty space to decode sprite set #3 as 3 bits per pixel 2587 2588 ROM_REGION( 0x4000, "gfx4", 0 ) /* background tilemaps */ 2589 ROM_LOAD( "xvi_9.2a", 0x0000, 0x1000, CRC(57ed9879) SHA1(3106d1aacff06cf78371bd19967141072b32b7d7) ) 2590 ROM_LOAD( "xvi_10.2b", 0x1000, 0x2000, CRC(ae3ba9e5) SHA1(49064b25667ffcd81137cd5e800df4b78b182a46) ) 2591 ROM_LOAD( "xvi_11.2c", 0x3000, 0x1000, CRC(31e244dd) SHA1(3f7eac12863697a98e1122111801606759e44b2a) ) 2592 2593 ROM_REGION( 0x0b00, "proms", 0 ) 2594 ROM_LOAD( "xvi-8.6a", 0x0000, 0x0100, CRC(5cc2727f) SHA1(0dc1e63a47a4cb0ba75f6f1e0c15e408bb0ee2a1) ) /* palette red component */ 2595 ROM_LOAD( "xvi-9.6d", 0x0100, 0x0100, CRC(5c8796cc) SHA1(63015e3c0874afc6b1ca032f1ffb8f90562c77c8) ) /* palette green component */ 2596 ROM_LOAD( "xvi-10.6e", 0x0200, 0x0100, CRC(3cb60975) SHA1(c94d5a5dd4d8a08d6d39c051a4a722581b903f45) ) /* palette blue component */ 2597 ROM_LOAD( "xvi-7.4h", 0x0300, 0x0200, CRC(22d98032) SHA1(ec6626828c79350417d08b98e9631ad35edd4a41) ) /* bg tiles lookup table low bits */ 2598 ROM_LOAD( "xvi-6.4f", 0x0500, 0x0200, CRC(3a7599f0) SHA1(a4bdf58c190ca16fc7b976c97f41087a61fdb8b8) ) /* bg tiles lookup table high bits */ 2599 ROM_LOAD( "xvi-4.3l", 0x0700, 0x0200, CRC(fd8b9d91) SHA1(87ddf0b9d723aabb422d6d416aa9ec6bc246bf34) ) /* sprite lookup table low bits */ 2600 ROM_LOAD( "xvi-5.3m", 0x0900, 0x0200, CRC(bf906d82) SHA1(776168a73d3b9f0ce05610acc8a623deae0a572b) ) /* sprite lookup table high bits */ 2601 2602 ROM_REGION( 0x0200, "namco", 0 ) /* sound PROMs */ 2603 ROM_LOAD( "xvi-2.7n", 0x0000, 0x0100, CRC(550f06bc) SHA1(816a0fafa0b084ac11ae1af70a5186539376fc2a) ) 2604 ROM_LOAD( "xvi-1.5n", 0x0100, 0x0100, CRC(77245b66) SHA1(0c4d0bee858b97632411c440bea6948a74759746) ) /* timing - not used */ 2605 ROM_END
PROM以外はCRC32が一致しました!
>crc xevious.exe 09964dda 1000 crc32=09964dda,size=1000 crc32=09964dda,addr=f5860-f685f >crc xevious.exe 60ecce84 1000 crc32=60ecce84,size=1000 crc32=60ecce84,addr=f6860-f785f >crc xevious.exe 79754b7d 1000 crc32=79754b7d,size=1000 crc32=79754b7d,addr=f7860-f885f >crc xevious.exe c7d4bbf0 1000 crc32=c7d4bbf0,size=1000 crc32=c7d4bbf0,addr=f8860-f985f >crc xevious.exe c85b703f 1000 crc32=c85b703f,size=1000 crc32=c85b703f,addr=e9860-ea85f >crc xevious.exe e18cdaad 1000 crc32=e18cdaad,size=1000 crc32=e18cdaad,addr=ea860-eb85f >crc xevious.exe dd35cf1c 1000 crc32=dd35cf1c,size=1000 crc32=dd35cf1c,addr=ef860-f085f >crc xevious.exe 088c8b26 1000 crc32=088c8b26,size=1000 crc32=088c8b26,addr=ed860-ee85f >crc xevious.exe de60ba25 1000 crc32=de60ba25,size=1000 crc32=de60ba25,addr=ec860-ed85f >crc xevious.exe 535cdbbc 1000 crc32=535cdbbc,size=1000 crc32=535cdbbc,addr=eb860-ec85f >crc xevious.exe dc2c0ecb 2000 crc32=dc2c0ecb,size=2000 crc32=dc2c0ecb,addr=e7860-e985f >crc xevious.exe dfb587ce 2000 crc32=dfb587ce,size=2000 crc32=dfb587ce,addr=e2860-e485f >crc xevious.exe 605ca889 1000 crc32=605ca889,size=1000 crc32=605ca889,addr=e6860-e785f >crc xevious.exe 02417d19 2000 crc32=02417d19,size=2000 crc32=02417d19,addr=e0860-e285f >crc xevious.exe 57ed9879 1000 crc32=57ed9879,size=1000 crc32=57ed9879,addr=f4860-f585f >crc xevious.exe ae3ba9e5 2000 crc32=ae3ba9e5,size=2000 crc32=ae3ba9e5,addr=f0860-f285f >crc xevious.exe 31e244dd 1000 crc32=31e244dd,size=1000 crc32=31e244dd,addr=ee860-ef85f
MAMEで起動してみます。
>mame64 -window -resolution 574x448 xevious
以下のROMが不足しているようです。
xvi-8.6a 0x0100 5cc2727f 0dc1e63a47a4cb0ba75f6f1e0c15e408bb0ee2a1 xvi-9.6d 0x0100 5c8796cc 63015e3c0874afc6b1ca032f1ffb8f90562c77c8 xvi-10.6e0x0100 3cb60975 c94d5a5dd4d8a08d6d39c051a4a722581b903f45 xvi-7.4h 0x0200 22d98032 ec6626828c79350417d08b98e9631ad35edd4a41 xvi-6.4f 0x0200 3a7599f0 a4bdf58c190ca16fc7b976c97f41087a61fdb8b8 xvi-4.3l 0x0200 fd8b9d91 87ddf0b9d723aabb422d6d416aa9ec6bc246bf34 xvi-5.3m 0x0200 bf906d82 776168a73d3b9f0ce05610acc8a623deae0a572b xvi-2.7n 0x0100 550f06bc 816a0fafa0b084ac11ae1af70a5186539376fc2a xvi-1.5n 0x0100 77245b66 0c4d0bee858b97632411c440bea6948a74759746 50xx.bin 0x0800 a0acbaf7 f03c79451e73b3a93c1591cdb27fedc9f130508d mcu 51xx.bin 0x0400 c2f57ef8 50de79e0d6a76bda95ffb02fcce369a79e6abfec mcu 54xx.bin 0x0400 ee7357e0 01bdf984a49e8d0cc8761b2cc162fd6434d5afbe mcu