diff options
47 files changed, 36918 insertions, 294 deletions
diff --git a/docs/release/docs/hbnew.txt b/docs/release/docs/hbnew.txt index e1870fc74bc..a7efcbc5e32 100644 --- a/docs/release/docs/hbnew.txt +++ b/docs/release/docs/hbnew.txt @@ -1,7 +1,7 @@ What's new in HBMAME ==================== -2023-0x-xx 0.245.12 +2023-06-15 0.245.12 New Games diff --git a/docs/release/makefile b/docs/release/makefile index 3927b63cd82..4e38acd89ba 100644 --- a/docs/release/makefile +++ b/docs/release/makefile @@ -1546,7 +1546,7 @@ endif ifeq (posix,$(SHELLTYPE)) $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo '#define BARE_BUILD_VERSION "0.245.11"' > $@ + @echo '#define BARE_BUILD_VERSION "0.245.12"' > $@ @echo '#define BARE_VCS_REVISION "$(NEW_GIT_VERSION)"' >> $@ @echo 'extern const char bare_build_version[];' >> $@ @echo 'extern const char bare_vcs_revision[];' >> $@ @@ -1556,7 +1556,7 @@ $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) @echo 'const char build_version[] = BARE_BUILD_VERSION " (" BARE_VCS_REVISION ")";' >> $@ else $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo #define BARE_BUILD_VERSION "0.245.11" > $@ + @echo #define BARE_BUILD_VERSION "0.245.12" > $@ @echo #define BARE_VCS_REVISION "$(NEW_GIT_VERSION)" >> $@ @echo extern const char bare_build_version[]; >> $@ @echo extern const char bare_vcs_revision[]; >> $@ diff --git a/docs/release/src/hbmame/drivers/cps1mis.cpp b/docs/release/src/hbmame/drivers/cps1mis.cpp index 863615ef665..0c7c6636369 100644 --- a/docs/release/src/hbmame/drivers/cps1mis.cpp +++ b/docs/release/src/hbmame/drivers/cps1mis.cpp @@ -1527,6 +1527,10 @@ void cps_state::init_sk2h31() static INPUT_PORTS_START( ffightae ) PORT_INCLUDE( cps1_3players ) + PORT_MODIFY("IN1") + PORT_BIT(0x0040, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("P1 Button 3 (cheat)") + PORT_BIT(0x4000, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) PORT_NAME("P2 Button 3 (cheat)") + PORT_START("DSWA") CPS1_COINAGE_1( "SW(A)" ) PORT_DIPNAME( 0x40, 0x40, "2 Coins to Start, 1 to Continue" ) PORT_DIPLOCATION("SW(A):7") diff --git a/docs/release/src/hbmame/drivers/dkong.cpp b/docs/release/src/hbmame/drivers/dkong.cpp index 39d51b83e05..fd8ed298c61 100644 --- a/docs/release/src/hbmame/drivers/dkong.cpp +++ b/docs/release/src/hbmame/drivers/dkong.cpp @@ -334,7 +334,7 @@ ROM_START( dkong08 ) // from dkafe ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) ROM_END -ROM_START( dkong09 ) // from dkafe +ROM_START( dkong09 ) // from dkafe - supposed to say PANIC! and have red lava rising, but none of that happens. ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) ) ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(5ec461ec) SHA1(acb11a8fbdbb3ab46068385fe465f681e3c824bd) ) @@ -2151,7 +2151,7 @@ GAME( 2022, dkong05, dkong, dkong2b, dkong, dkong_state, empty_init, ROT GAME( 2022, dkong06, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jon Wilson", "Donkey Kong (Half Kong)", MACHINE_SUPPORTS_SAVE ) GAME( 2022, dkong07, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Kirai Shouen, 125scratch", "Donkey Kong (Kana Kong)", MACHINE_SUPPORTS_SAVE ) GAME( 2022, dkong08, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jon Wilson", "Konkey Dong", MACHINE_SUPPORTS_SAVE ) -GAME( 2022, dkong09, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jon Wilson", "Donkey Kong (DK Lava Panic!)", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, dkong09, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jon Wilson", "Donkey Kong (DK Lava Panic!)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) GAME( 2022, dkong10, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jon Wilson", "Donkey Kong (NoLuck Kong)", MACHINE_SUPPORTS_SAVE ) GAME( 2022, dkong11, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jon Wilson", "Donkey Kong (Octo Monkey)", MACHINE_SUPPORTS_SAVE ) GAME( 2022, dkong12, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Jon Wilson", "Donkey Kong (Pies only)", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/galaxian.cpp b/docs/release/src/hbmame/drivers/galaxian.cpp index 283161c22b9..7efdeb4ff7d 100644 --- a/docs/release/src/hbmame/drivers/galaxian.cpp +++ b/docs/release/src/hbmame/drivers/galaxian.cpp @@ -159,8 +159,6 @@ void galaxian_hbmame::tst_frog(machine_config &config) ***************************************************************************/ - - /* this looks exactly like Galaxian, the word "Andromeda" never appears. The dipswitches are different. */ ROM_START( andromd ) ROM_REGION( 0x10000, "maincpu", 0 ) diff --git a/docs/release/src/hbmame/drivers/mhavoc_hb.cpp b/docs/release/src/hbmame/drivers/mhavoc_hb.cpp index b90316c6bb6..244b5201a1d 100644 --- a/docs/release/src/hbmame/drivers/mhavoc_hb.cpp +++ b/docs/release/src/hbmame/drivers/mhavoc_hb.cpp @@ -711,35 +711,156 @@ ROM_END //Current Released Version ADPCM - English ROM_START( mhavocpe ) ROM_REGION( 0x2000, "vectorrom", 0 ) - ROM_LOAD( "mhpe100.6kl", 0x00000, 0x2000, CRC(f195a326) SHA1(36681cdc9665ea55bb6a9f143ecc38083e28c379) ) + ROM_LOAD( "mhpe101.6kl", 0x00000, 0x2000, CRC(ddcaab40) SHA1(d70b91137204ebbf2685fe22a3498cb6014a7bef) ) ROM_REGION( 0x20000, "alpha", 0 ) - ROM_LOAD( "mhpe100.1mn", 0x08000, 0x4000, CRC(8bdf1048) SHA1(f93d44ac80938dc6a3f22ab9768a7e2a4a9987f7) ) - ROM_LOAD( "mhpe100.1l", 0x0c000, 0x4000, CRC(b138e015) SHA1(385664936cdd9a65f1ea5c7b03b6369070fe9f0e) ) - ROM_LOAD( "mhpe100.1q", 0x10000, 0x8000, CRC(22e54ef3) SHA1(2b5e4e2b072c1a6fb2f7c34eebf59d0d03e8f564) ) - ROM_LOAD( "mhpe100.1np", 0x18000, 0x8000, CRC(6a67d68e) SHA1(1ffcb543db81db3c4d4591b3f4d0bf8a6eb4f47c) ) + ROM_LOAD( "mhpe101.1mn", 0x08000, 0x4000, CRC(8b4b1c7c) SHA1(9840532b78f5ca7e9785d35883f191b46d0e1436) ) + ROM_LOAD( "mhpe101.1l", 0x0c000, 0x4000, CRC(90348169) SHA1(58227bd56d123aa76c8f287f75b83a3a7cc6d1d2) ) + ROM_LOAD( "mhpe101.1q", 0x10000, 0x8000, CRC(d5d86868) SHA1(ddc6330a55106dadefa356b55f1562affb9ebc00) ) + ROM_LOAD( "mhpe101.1np", 0x18000, 0x8000, CRC(6f7b38a9) SHA1(0107cc88a54780c6bca97afbf0e99adf1f4ceba1) ) ROM_REGION( 0x8000, "avg", 0 ) - ROM_LOAD( "mhpe100.6h", 0x0000, 0x4000, CRC(88527b65) SHA1(f525e39b7cb32008c016a4e076195642cec5024d) ) - ROM_LOAD( "mhpe100.6jk", 0x4000, 0x4000, CRC(f5bd6c74) SHA1(a4dc4ad05469c125c842bf9e0d465ed3b9ee85c8) ) + ROM_LOAD( "mhpe101.6h", 0x0000, 0x4000, CRC(6b380183) SHA1(2fad9dc301aa5622195e3acac2865339406ccc38) ) + ROM_LOAD( "mhpe101.6jk", 0x4000, 0x4000, CRC(7ecfd43b) SHA1(7f99fde09062bc4ca4bbbf06f1b11dc3f5203541) ) ROM_REGION( 0x10000, "gamma", 0 ) - ROM_LOAD( "mhpe100.9s", 0x8000, 0x4000, CRC(99c12d95) SHA1(27d82f3bc73fbbb310f4e6cda27788e3f3fc1007) ) + ROM_LOAD( "mhpe101.9s", 0x8000, 0x4000, CRC(46cdd0fa) SHA1(f6c75333311279b15cb42ce3ed8a40e54a508869) ) ROM_REGION( 0x100, "avg:prom", 0 ) ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "mhpe100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) + ROM_LOAD( "mhpe101.x1", 0x000000, 0x040000, CRC(aade65d1) SHA1(7e379ee84ee36395095ce68d1c1da4fcf907a07e) ) +ROM_END + +ROM_START( mhavocpede ) + ROM_REGION( 0x2000, "vectorrom", 0 ) + ROM_LOAD( "mhpede101.6kl", 0x00000, 0x2000, CRC(5971ccb7) SHA1(4dc0a536727082d4e8d502bbaa9b655815ad517d) ) + + ROM_REGION( 0x20000, "alpha", 0 ) + ROM_LOAD( "mhpede101.1mn", 0x08000, 0x4000, CRC(a3ff05f2) SHA1(610a8c28d7a1f74fb0efacdaff5999dde85f335d) ) + ROM_LOAD( "mhpede101.1l", 0x0c000, 0x4000, CRC(214369f7) SHA1(fabf285e1dd03cfab847c7bb6c98a9ad9a645b4b) ) + ROM_LOAD( "mhpede101.1q", 0x10000, 0x8000, CRC(ad51ea70) SHA1(734bc3a574736efdb6cec43a29fac956d40c4954) ) + ROM_LOAD( "mhpede101.1np", 0x18000, 0x8000, CRC(7d3c4e41) SHA1(ed5e7415ec22526fb36f91ef12a8fefab554c248) ) + + ROM_REGION( 0x8000, "avg", 0 ) + ROM_LOAD( "mhpede101.6h", 0x0000, 0x4000, CRC(a7e9178f) SHA1(8e98bbe8277c78629fe303678b589289fc05fff3) ) + ROM_LOAD( "mhpede101.6jk", 0x4000, 0x4000, CRC(b21ec237) SHA1(e974cef797f9e5568808201895708c00bcf20a8b) ) + + ROM_REGION( 0x10000, "gamma", 0 ) + ROM_LOAD( "mhpede101.9s", 0x8000, 0x4000, CRC(a3e4cbcb) SHA1(054ea96bd738b9ab704866d752b74b84975422a0) ) + + ROM_REGION( 0x100, "avg:prom", 0 ) + ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "mhpede101.x1", 0x000000, 0x040000, CRC(aade65d1) SHA1(7e379ee84ee36395095ce68d1c1da4fcf907a07e) ) +ROM_END + +ROM_START( mhavocpefr ) + ROM_REGION( 0x2000, "vectorrom", 0 ) + ROM_LOAD( "mhpefr101.6kl", 0x00000, 0x2000, CRC(0fcd62ef) SHA1(0f9f9f41a87f5ad839f96ee89be580d4f0531a99) ) + + ROM_REGION( 0x20000, "alpha", 0 ) + ROM_LOAD( "mhpefr101.1mn", 0x08000, 0x4000, CRC(64b59f45) SHA1(fc44f0a0d0364a610d1e06c4f08d19987d1b427a) ) + ROM_LOAD( "mhpefr101.1l", 0x0c000, 0x4000, CRC(bc0d539f) SHA1(3761c0118994154577466566f05378ae67a7f56e) ) + ROM_LOAD( "mhpefr101.1q", 0x10000, 0x8000, CRC(12ef0140) SHA1(0840485f3c47ad92a25d2d492beb835b324468e0) ) + ROM_LOAD( "mhpefr101.1np", 0x18000, 0x8000, CRC(14305109) SHA1(8b2ada62781fe28c40176195f3d39f331e76b575) ) + + ROM_REGION( 0x8000, "avg", 0 ) + ROM_LOAD( "mhpefr101.6h", 0x0000, 0x4000, CRC(29eb2bda) SHA1(e843b39aa65c08e948fda60e9f9ba94d8f8a0643) ) + ROM_LOAD( "mhpefr101.6jk", 0x4000, 0x4000, CRC(3c1cfe62) SHA1(683eca811f87359129c66541d7f6601b87f1122c) ) + + ROM_REGION( 0x10000, "gamma", 0 ) + ROM_LOAD( "mhpefr101.9s", 0x8000, 0x4000, CRC(57eee0d9) SHA1(5ff2e0b49d5ddf07193fae7df708fb086e06202b) ) + + ROM_REGION( 0x100, "avg:prom", 0 ) + ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "mhpefr101.x1", 0x000000, 0x040000, CRC(aade65d1) SHA1(7e379ee84ee36395095ce68d1c1da4fcf907a07e) ) +ROM_END + +ROM_START( mhavocpete ) + ROM_REGION( 0x2000, "vectorrom", 0 ) + ROM_LOAD( "mhpete101.6kl", 0x00000, 0x2000, CRC(ddcaab40) SHA1(d70b91137204ebbf2685fe22a3498cb6014a7bef) ) + + ROM_REGION( 0x20000, "alpha", 0 ) + ROM_LOAD( "mhpete101.1mn", 0x08000, 0x4000, CRC(71fdffa0) SHA1(1a8694f73e81516580465f7dbc48a7ae21de5b23) ) + ROM_LOAD( "mhpete101.1l", 0x0c000, 0x4000, CRC(feba2023) SHA1(6384a57ed9df04adfa8f7080454f656e58c38aca) ) + ROM_LOAD( "mhpete101.1q", 0x10000, 0x8000, CRC(428b51fd) SHA1(6d09f94af81aa9cd417d692235127c212c03fa16) ) + ROM_LOAD( "mhpete101.1np", 0x18000, 0x8000, CRC(835c85fd) SHA1(952096742f5ff4194adfc1f4e4460522e23834e1) ) + + ROM_REGION( 0x8000, "avg", 0 ) + ROM_LOAD( "mhpete101.6h", 0x0000, 0x4000, CRC(6b380183) SHA1(2fad9dc301aa5622195e3acac2865339406ccc38) ) + ROM_LOAD( "mhpete101.6jk", 0x4000, 0x4000, CRC(7ecfd43b) SHA1(7f99fde09062bc4ca4bbbf06f1b11dc3f5203541) ) + + ROM_REGION( 0x10000, "gamma", 0 ) + ROM_LOAD( "mhpete101.9s", 0x8000, 0x4000, CRC(46cdd0fa) SHA1(f6c75333311279b15cb42ce3ed8a40e54a508869) ) + + ROM_REGION( 0x100, "avg:prom", 0 ) + ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "mhpete101.x1", 0x000000, 0x040000, CRC(aade65d1) SHA1(7e379ee84ee36395095ce68d1c1da4fcf907a07e) ) ROM_END -ROM_START( mhavocpe_lpc ) +ROM_START( mhavocpedete ) ROM_REGION( 0x2000, "vectorrom", 0 ) - ROM_LOAD( "mhpe100.6kl", 0x00000, 0x2000, CRC(f195a326) SHA1(36681cdc9665ea55bb6a9f143ecc38083e28c379) ) + ROM_LOAD( "mhpedete101.6kl", 0x00000, 0x2000, CRC(5971ccb7) SHA1(4dc0a536727082d4e8d502bbaa9b655815ad517d) ) + + ROM_REGION( 0x20000, "alpha", 0 ) + ROM_LOAD( "mhpedete101.1mn", 0x08000, 0x4000, CRC(5949e62e) SHA1(5b457709de3a70f1828e73cb3aed85356fa50059) ) + ROM_LOAD( "mhpedete101.1l", 0x0c000, 0x4000, CRC(daf0e86a) SHA1(1e96a534e0614cd628213b01822d19fbb19e97b8) ) + ROM_LOAD( "mhpedete101.1q", 0x10000, 0x8000, CRC(9401e3be) SHA1(37e31180b923b69c2448aa0e14315ca63026d63f) ) + ROM_LOAD( "mhpedete101.1np", 0x18000, 0x8000, CRC(9fe25082) SHA1(ba83e739d7bd5bf1742dcee4f4962cb962518251) ) + + ROM_REGION( 0x8000, "avg", 0 ) + ROM_LOAD( "mhpedete101.6h", 0x0000, 0x4000, CRC(a7e9178f) SHA1(8e98bbe8277c78629fe303678b589289fc05fff3) ) + ROM_LOAD( "mhpedete101.6jk", 0x4000, 0x4000, CRC(b21ec237) SHA1(e974cef797f9e5568808201895708c00bcf20a8b) ) + + ROM_REGION( 0x10000, "gamma", 0 ) + ROM_LOAD( "mhpedete101.9s", 0x8000, 0x4000, CRC(a3e4cbcb) SHA1(054ea96bd738b9ab704866d752b74b84975422a0) ) + + ROM_REGION( 0x100, "avg:prom", 0 ) + ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "mhpedete101.x1", 0x000000, 0x040000, CRC(aade65d1) SHA1(7e379ee84ee36395095ce68d1c1da4fcf907a07e) ) +ROM_END + +ROM_START( mhavocpefrte ) + ROM_REGION( 0x2000, "vectorrom", 0 ) + ROM_LOAD( "mhpefrte101.6kl", 0x00000, 0x2000, CRC(0fcd62ef) SHA1(0f9f9f41a87f5ad839f96ee89be580d4f0531a99) ) + + ROM_REGION( 0x20000, "alpha", 0 ) + ROM_LOAD( "mhpefrte101.1mn", 0x08000, 0x4000, CRC(9e037c99) SHA1(95e72e73d0c73c530d4d38159eac776dcbdd4258) ) + ROM_LOAD( "mhpefrte101.1l", 0x0c000, 0x4000, CRC(67eac8ae) SHA1(b1bc18060321050dd0199c3e02c6a1d390d51e02) ) + ROM_LOAD( "mhpefrte101.1q", 0x10000, 0x8000, CRC(1db409a8) SHA1(b53897a7ef18b9bb73369b54b388543172064798) ) + ROM_LOAD( "mhpefrte101.1np", 0x18000, 0x8000, CRC(620015e9) SHA1(d588600362d6981520d86b4ac23f0d9c4d2be148) ) + + ROM_REGION( 0x8000, "avg", 0 ) + ROM_LOAD( "mhpefrte101.6h", 0x0000, 0x4000, CRC(29eb2bda) SHA1(e843b39aa65c08e948fda60e9f9ba94d8f8a0643) ) + ROM_LOAD( "mhpefrte101.6jk", 0x4000, 0x4000, CRC(3c1cfe62) SHA1(683eca811f87359129c66541d7f6601b87f1122c) ) + + ROM_REGION( 0x10000, "gamma", 0 ) + ROM_LOAD( "mhpefrte101.9s", 0x8000, 0x4000, CRC(57eee0d9) SHA1(5ff2e0b49d5ddf07193fae7df708fb086e06202b) ) + + ROM_REGION( 0x100, "avg:prom", 0 ) + ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "mhpefrte101.x1", 0x000000, 0x040000, CRC(aade65d1) SHA1(7e379ee84ee36395095ce68d1c1da4fcf907a07e) ) +ROM_END + +//OLD RELEASE BUILDS +ROM_START( mhavocpe100 ) + ROM_REGION( 0x2000, "vectorrom", 0 ) + ROM_LOAD( "mhpe100.6kl", 0x00000, 0x2000, CRC(f195a326) SHA1(36681cdc9665ea55bb6a9f143ecc38083e28c379) ) ROM_REGION( 0x20000, "alpha", 0 ) ROM_LOAD( "mhpe100.1mn", 0x08000, 0x4000, CRC(8bdf1048) SHA1(f93d44ac80938dc6a3f22ab9768a7e2a4a9987f7) ) - ROM_LOAD( "mhpelpc100.1l", 0x0c000, 0x4000, CRC(0581c2f3) SHA1(c2541c8a5e83f9e4c5aacbd7d6d175e4f7e39e93) ) + ROM_LOAD( "mhpe100.1l", 0x0c000, 0x4000, CRC(b138e015) SHA1(385664936cdd9a65f1ea5c7b03b6369070fe9f0e) ) ROM_LOAD( "mhpe100.1q", 0x10000, 0x8000, CRC(22e54ef3) SHA1(2b5e4e2b072c1a6fb2f7c34eebf59d0d03e8f564) ) ROM_LOAD( "mhpe100.1np", 0x18000, 0x8000, CRC(6a67d68e) SHA1(1ffcb543db81db3c4d4591b3f4d0bf8a6eb4f47c) ) @@ -748,13 +869,16 @@ ROM_START( mhavocpe_lpc ) ROM_LOAD( "mhpe100.6jk", 0x4000, 0x4000, CRC(f5bd6c74) SHA1(a4dc4ad05469c125c842bf9e0d465ed3b9ee85c8) ) ROM_REGION( 0x10000, "gamma", 0 ) - ROM_LOAD( "mhpe100lpc.9s", 0x8000, 0x8000, CRC(777b4965) SHA1(da3d6e8e3331d9a03402260c4d79bf1397bb1412) ) + ROM_LOAD( "mhpe100.9s", 0x8000, 0x4000, CRC(99c12d95) SHA1(27d82f3bc73fbbb310f4e6cda27788e3f3fc1007) ) ROM_REGION( 0x100, "avg:prom", 0 ) ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "mhpe100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) ROM_END -ROM_START( mhavocpede ) +ROM_START( mhavocpede100 ) ROM_REGION( 0x2000, "vectorrom", 0 ) ROM_LOAD( "mhpede100.6kl", 0x00000, 0x2000, CRC(752ec4d1) SHA1(012bda0d8af7ffa3beeebb31f4d8772bd6d4a9e0) ) @@ -775,10 +899,10 @@ ROM_START( mhavocpede ) ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "mhpe100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) + ROM_LOAD( "mhpede100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) ROM_END -ROM_START( mhavocpefr ) +ROM_START( mhavocpefr100 ) ROM_REGION( 0x2000, "vectorrom", 0 ) ROM_LOAD( "mhpefr100.6kl", 0x00000, 0x2000, CRC(23926a89) SHA1(9f056219e29b22d61c6549e1f6d6e8fe51ed98a8) ) @@ -799,12 +923,12 @@ ROM_START( mhavocpefr ) ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "mhpe100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) + ROM_LOAD( "mhpefr100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) ROM_END -ROM_START( mhavocpete ) +ROM_START( mhavocpete100 ) ROM_REGION( 0x2000, "vectorrom", 0 ) - ROM_LOAD( "mhpe100.6kl", 0x00000, 0x2000, CRC(f195a326) SHA1(36681cdc9665ea55bb6a9f143ecc38083e28c379) ) + ROM_LOAD( "mhpete100.6kl", 0x00000, 0x2000, CRC(f195a326) SHA1(36681cdc9665ea55bb6a9f143ecc38083e28c379) ) ROM_REGION( 0x20000, "alpha", 0 ) ROM_LOAD( "mhpete100.1mn", 0x08000, 0x4000, CRC(ca751867) SHA1(3fac5e31c624ebf6273c912604482d65584895ae) ) @@ -813,22 +937,22 @@ ROM_START( mhavocpete ) ROM_LOAD( "mhpete100.1np", 0x18000, 0x8000, CRC(20310a4d) SHA1(016e46128722a550ff105f2b8adbf744250c79ca) ) ROM_REGION( 0x8000, "avg", 0 ) - ROM_LOAD( "mhpe100.6h", 0x0000, 0x4000, CRC(88527b65) SHA1(f525e39b7cb32008c016a4e076195642cec5024d) ) - ROM_LOAD( "mhpe100.6jk", 0x4000, 0x4000, CRC(f5bd6c74) SHA1(a4dc4ad05469c125c842bf9e0d465ed3b9ee85c8) ) + ROM_LOAD( "mhpete100.6h", 0x0000, 0x4000, CRC(88527b65) SHA1(f525e39b7cb32008c016a4e076195642cec5024d) ) + ROM_LOAD( "mhpete100.6jk", 0x4000, 0x4000, CRC(f5bd6c74) SHA1(a4dc4ad05469c125c842bf9e0d465ed3b9ee85c8) ) ROM_REGION( 0x10000, "gamma", 0 ) - ROM_LOAD( "mhpe100.9s", 0x8000, 0x4000, CRC(99c12d95) SHA1(27d82f3bc73fbbb310f4e6cda27788e3f3fc1007) ) + ROM_LOAD( "mhpete100.9s", 0x8000, 0x4000, CRC(99c12d95) SHA1(27d82f3bc73fbbb310f4e6cda27788e3f3fc1007) ) ROM_REGION( 0x100, "avg:prom", 0 ) ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "mhpe100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) + ROM_LOAD( "mhpete100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) ROM_END -ROM_START( mhavocpedete ) +ROM_START( mhavocpedete100 ) ROM_REGION( 0x2000, "vectorrom", 0 ) - ROM_LOAD( "mhpede100.6kl", 0x00000, 0x2000, CRC(752ec4d1) SHA1(012bda0d8af7ffa3beeebb31f4d8772bd6d4a9e0) ) + ROM_LOAD( "mhpedete100.6kl", 0x00000, 0x2000, CRC(752ec4d1) SHA1(012bda0d8af7ffa3beeebb31f4d8772bd6d4a9e0) ) ROM_REGION( 0x20000, "alpha", 0 ) ROM_LOAD( "mhpedete100.1mn", 0x08000, 0x4000, CRC(18d8e337) SHA1(853c59b8bfe46b09852c936b9860e2269b3065b2) ) @@ -837,22 +961,22 @@ ROM_START( mhavocpedete ) ROM_LOAD( "mhpedete100.1np", 0x18000, 0x8000, CRC(be075794) SHA1(559fd8ab093d80da1882627c3a0e795c71965d9a) ) ROM_REGION( 0x8000, "avg", 0 ) - ROM_LOAD( "mhpede100.6h", 0x0000, 0x4000, CRC(44836d69) SHA1(7f7fa905c659abd591fdc47c587fc770a8e5fada) ) - ROM_LOAD( "mhpede100.6jk", 0x4000, 0x4000, CRC(396c7a78) SHA1(671d50ab39f951d9401682a212f793103a1e56fb) ) + ROM_LOAD( "mhpedete100.6h", 0x0000, 0x4000, CRC(44836d69) SHA1(7f7fa905c659abd591fdc47c587fc770a8e5fada) ) + ROM_LOAD( "mhpedete100.6jk", 0x4000, 0x4000, CRC(396c7a78) SHA1(671d50ab39f951d9401682a212f793103a1e56fb) ) ROM_REGION( 0x10000, "gamma", 0 ) - ROM_LOAD( "mhpede100.9s", 0x8000, 0x4000, CRC(7ce836a4) SHA1(9284fefb256d8e20812eb71216e3bc7ba76af39a) ) + ROM_LOAD( "mhpedete100.9s", 0x8000, 0x4000, CRC(7ce836a4) SHA1(9284fefb256d8e20812eb71216e3bc7ba76af39a) ) ROM_REGION( 0x100, "avg:prom", 0 ) ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "mhpe100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) + ROM_LOAD( "mhpedete100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) ROM_END -ROM_START( mhavocpefrte ) +ROM_START( mhavocpefrte100 ) ROM_REGION( 0x2000, "vectorrom", 0 ) - ROM_LOAD( "mhpefr100.6kl", 0x00000, 0x2000, CRC(23926a89) SHA1(9f056219e29b22d61c6549e1f6d6e8fe51ed98a8) ) + ROM_LOAD( "mhpefrte100.6kl", 0x00000, 0x2000, CRC(23926a89) SHA1(9f056219e29b22d61c6549e1f6d6e8fe51ed98a8) ) ROM_REGION( 0x20000, "alpha", 0 ) ROM_LOAD( "mhpefrte100.1mn", 0x08000, 0x4000, CRC(f53ac28d) SHA1(e25cf04327b0e1a9c0398cc1f1c23633e8879171) ) @@ -861,17 +985,17 @@ ROM_START( mhavocpefrte ) ROM_LOAD( "mhpefrte100.1np", 0x18000, 0x8000, CRC(cff2909d) SHA1(d98c7a52cba7455dc9c6ed865c4919240dedd11f) ) ROM_REGION( 0x8000, "avg", 0 ) - ROM_LOAD( "mhpefr100.6h", 0x0000, 0x4000, CRC(ca81513c) SHA1(2ddfcc708be7d70c2aae0d9b66b823aa70a45cf0) ) - ROM_LOAD( "mhpefr100.6jk", 0x4000, 0x4000, CRC(b76e462d) SHA1(4b598112bdcdf330c239b58f5a1a034f7b9ab07d) ) + ROM_LOAD( "mhpefrte100.6h", 0x0000, 0x4000, CRC(ca81513c) SHA1(2ddfcc708be7d70c2aae0d9b66b823aa70a45cf0) ) + ROM_LOAD( "mhpefrte100.6jk", 0x4000, 0x4000, CRC(b76e462d) SHA1(4b598112bdcdf330c239b58f5a1a034f7b9ab07d) ) ROM_REGION( 0x10000, "gamma", 0 ) - ROM_LOAD( "mhpefr100.9s", 0x8000, 0x4000, CRC(88e21db6) SHA1(ee010fc63f90e9538b49e3ef3a78220d2f9e9ce9) ) + ROM_LOAD( "mhpefrte100.9s", 0x8000, 0x4000, CRC(88e21db6) SHA1(ee010fc63f90e9538b49e3ef3a78220d2f9e9ce9) ) ROM_REGION( 0x100, "avg:prom", 0 ) ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) ROM_REGION( 0x40000, "oki", 0 ) - ROM_LOAD( "mhpe100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) + ROM_LOAD( "mhpefrte100.x1", 0x000000, 0x040000, CRC(c18cdcfb) SHA1(8b09f5539c90161a237ed3c74f1cf5a0864e04d4) ) ROM_END //BETA BUILDS @@ -889,15 +1013,17 @@ GAME( 2022, mhavocpex8fr, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame GAME( 2022, mhavocpex8de, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (BETA v0.89) GERMAN", MACHINE_SUPPORTS_SAVE ) //RELEASE BUILDS -GAME( 2022, mhavocpe, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) ENGLISH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) -GAME( 2022, mhavocpefr, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) FRENCH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) -GAME( 2022, mhavocpede, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) GERMAN - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) -GAME( 2022, mhavocpe_lpc, mhavoc, mhavocpe_lpc, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) ENGLISH - LPC Speech", MACHINE_SUPPORTS_SAVE ) -//GAME( 2022, mhavocpefr_lpc, mhavoc, mhavocpe_lpc, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) FRENCH - LPC Speech", MACHINE_SUPPORTS_SAVE ) -//GAME( 2022, mhavocpede_lpc, mhavoc, mhavocpe_lpc, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) GERMAN - LPC Speech", MACHINE_SUPPORTS_SAVE ) -GAME( 2022, mhavocpete, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) ENGLISH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) -GAME( 2022, mhavocpefrte, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) FRENCH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) -GAME( 2022, mhavocpedete, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) GERMAN - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) -//GAME( 2022, mhavocpete_lpc, mhavoc, mhavocpe_lpc, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) ENGLISH - LPC Speech", MACHINE_SUPPORTS_SAVE ) -//GAME( 2022, mhavocpetefr_lpc, mhavoc, mhavocpe_lpc, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) FRENCH - LPC Speech", MACHINE_SUPPORTS_SAVE ) -//GAME( 2022, mhavocpetede_lpc, mhavoc, mhavocpe_lpc, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) GERMAN - LPC Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpe, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.01) ENGLISH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpefr, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.01) FRENCH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpede, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.01) GERMAN - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpete, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.01) ENGLISH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpefrte, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.01) FRENCH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpedete, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.01) GERMAN - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) + +//OLD RELEASE BUILDS +GAME( 2022, mhavocpe100, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) ENGLISH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpefr100, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) FRENCH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpede100, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End (v1.00) GERMAN - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpete100, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) ENGLISH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpefrte100, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) FRENCH - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, mhavocpedete100, mhavoc, mhavocpe_adpcm, mhavocpe_inputs, mhavoc_hbmame, empty_init, ROT0, "JMA", "Major Havoc - The Promised End - Tournament (v1.00) GERMAN - ADPCM Speech", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/neogeo.cpp b/docs/release/src/hbmame/drivers/neogeo.cpp index 287a938a37f..be9bb6e4301 100644 --- a/docs/release/src/hbmame/drivers/neogeo.cpp +++ b/docs/release/src/hbmame/drivers/neogeo.cpp @@ -2078,8 +2078,9 @@ QUICKLOAD_LOAD_MEMBER(neogeo_state::neo_q_cb) return image_init_result::PASS; } -std::error_condition neogeo_state::mvs_open7z(std::string zip_name, std::string filename, uint8_t *region_name, u32 region_size, u32 *file_size) +u32 neogeo_state::mvs_open7z(std::string zip_name, std::string filename, uint8_t *region_name, u32 region_size) { + u32 file_size = 0U; util::archive_file::ptr zip; std::error_condition ziperr{}; @@ -2095,20 +2096,19 @@ std::error_condition neogeo_state::mvs_open7z(std::string zip_name, std::string ziperr = zip->decompress(®ion_name[0], region_size); if (!ziperr) - *file_size = zip->current_uncompressed_length(); + file_size = zip->current_uncompressed_length(); } zip.reset(); } - return ziperr; + return file_size; } QUICKLOAD_LOAD_MEMBER(neogeo_state::mvs_q_cb) { - u32 psize = 0, ssize = 0, msize = 0, vsize = 0, csize = 0, fsize = 0; + u32 psize = 0U, ssize = 0U, msize = 0U, vsize = 0U, csize = 0U, fsize = 0U; std::string fname = "prom", sstr = ".7z", zipname = image.filename(); - std::error_condition filerr = std::errc::no_such_file_or_directory; // assuming that first .7z is the only occurence std::size_t found = zipname.find(sstr); if (found != std::string::npos) @@ -2117,9 +2117,9 @@ QUICKLOAD_LOAD_MEMBER(neogeo_state::mvs_q_cb) //printf("%s\n",zipname.c_str());fflush(stdout); // The protected sets also have "prom1", but we don't support it. - filerr = mvs_open7z(zipname, fname, &cpuregion[0], cpuregion_size, &psize); + psize = mvs_open7z(zipname, fname, &cpuregion[0], cpuregion_size); } - if (filerr) + if (!psize) { image.seterror(image_error::INVALIDIMAGE, "File is missing or unusable"); printf("File is missing or unusable\n"); @@ -2128,21 +2128,21 @@ QUICKLOAD_LOAD_MEMBER(neogeo_state::mvs_q_cb) } fname = "srom"; - filerr = mvs_open7z(zipname, fname, &fix_region[0], fix_region_size, &ssize); + ssize = mvs_open7z(zipname, fname, &fix_region[0], fix_region_size); fname = "m1rom"; - filerr = mvs_open7z(zipname, fname, &audiocpu_region[0x10000], audio_region_size - 0x10000, &msize); + msize = mvs_open7z(zipname, fname, &audiocpu_region[0x10000], audio_region_size - 0x10000); if (msize) std::copy(&audiocpu_region[0x10000], &audiocpu_region[0x1ffff], &audiocpu_region[0]); fname = "vroma0"; - filerr = mvs_open7z(zipname, fname, &ym_region[0], ym_region_size, &vsize); + vsize = mvs_open7z(zipname, fname, &ym_region[0], ym_region_size); if (vsize) std::copy(&ym_region[0], &ym_region[ym_region_size-1], &memregion("ymsnd:adpcmb")->base()[0]); // Assume that the ADPCMB rom would be called "vromb0", but no current sets use it. fname = "crom0"; - filerr = mvs_open7z(zipname, fname, &spr_region[0], spr_region_size, &csize); + csize = mvs_open7z(zipname, fname, &spr_region[0], spr_region_size); if (csize) for (u32 i = 0; i < csize; i+=4) std::swap(spr_region[i+1], spr_region[i+2]); @@ -2167,7 +2167,7 @@ QUICKLOAD_LOAD_MEMBER(neogeo_state::mvs_q_cb) // The contents are an ascii number, so for now just print it out. fname = "fpga"; unsigned char buffer[8] = {}; - filerr = mvs_open7z(zipname, fname, &buffer[0], 4, &fsize); + fsize = mvs_open7z(zipname, fname, &buffer[0], 4); if (fsize) printf("FPGA code = %s\n",buffer); diff --git a/docs/release/src/hbmame/drivers/neogeo_noslot.cpp b/docs/release/src/hbmame/drivers/neogeo_noslot.cpp index b984e7743ee..4e1cfdb6d18 100644 --- a/docs/release/src/hbmame/drivers/neogeo_noslot.cpp +++ b/docs/release/src/hbmame/drivers/neogeo_noslot.cpp @@ -5785,6 +5785,7 @@ ROM_START( nitd ) /* Original Version - Encrypted GFX */ /* MVS ONLY RELEASE */ ROM_REGION( 0x0400000, "ymsnd:adpcma", 0 ) ROM_LOAD( "260.v1", 0x000000, 0x400000, CRC(24b0480c) SHA1(d769e621be52a5cd2e2568891b5f95a48268e1e0) ) + ROM_FILL(0x50820,1,0x08) // fix crackle when jumping [Niko] 2023-04-08 ROM_REGION( 0x1000000, "sprites", 0 ) ROM_LOAD16_BYTE( "260.c1", 0x0000000, 0x800000, CRC(147b0c7f) SHA1(a647c3a2f6d146ff47521c1d39f58830601f5781) ) diff --git a/docs/release/src/hbmame/drivers/neogeohb.cpp b/docs/release/src/hbmame/drivers/neogeohb.cpp index 5ae438cfde6..f1f1d061404 100644 --- a/docs/release/src/hbmame/drivers/neogeohb.cpp +++ b/docs/release/src/hbmame/drivers/neogeohb.cpp @@ -98,7 +98,7 @@ NUM TITLES 272 Samurai Shodown 5 Special / Samurai Spirits Zero Special -********************** Official Titles ********************************** +********************** Official Titles (including non-free indie) ********************************** (from info gathered from various sites, hopefully correct) NUM GAME YEAR COMPANY TITLE @@ -125,6 +125,7 @@ NUM GAME YEAR COMPANY TITLE 304*0304 2013 NG:DEV.Team NEO XYX 305*0305 2014 NG:DEV.Team Razion 306*0306 2015 NG:DEV.Team Kraut Buster (could be year2016) +307* 2023 Cote Gamers/LudoScience Yo-Yo Shuriken (released 2023-04-11, not free) https://drludos.itch.io/yo-yo-shuriken-neo-geo 316 0048 2011 Le Cortex Treasure of the Caribbean (remake) 323 1234 2022 OzzyOuzo The Eye of Typhoon (remake) 331 0008 2001 Brezzasoft Jockey Grand Prix @@ -169,8 +170,9 @@ NUM GAME YEAR COMPANY TITLE 418 1234 2008 Crim Neogeo 2-player Tetris 419 1234 2011 Sebastian Mihai Neo Thunder 420 0420 2023 tcdev Xevious -422 0275 2012 NeoGeoFreak Time's Up! demo -422 0276 2012 NeoGeoFreak Time's Up! +422 0422 2023 tcdev Galaxians +430 0275 2012 NeoGeoFreak Time's Up! demo +430 0276 2012 NeoGeoFreak Time's Up! 433 2019 2021 Blastar Looptris 434 2019 2022 Blastar Looptris Plus 436 0275 2010 CeL Neo Pang @@ -193,6 +195,7 @@ NUM GAME YEAR COMPANY TITLE 497 0993 2021 iq132 Cabal (Neo-Geo port) 498 0052 2021 Kako Eimon Abyssal Infants 499 2048 2021 Nicole Branagan Neo 2048 +500 0993 2022 iq132 Kid no Hore Hore Daisakusen (Neo-Geo port) @@ -323,12 +326,12 @@ YEAR COMPANY TITLE 2022 Frogbull Neo Mania (video on youtube) 2022 Geezer Games / Raster Wizards Alien Warhead (demos on youtube) (https://www.facebook.com/RasterWizards) 2023 Kimera Gamesoft Operation Killmeister (www.kimera.gs) -2023 Cote Gamers/LudoScience Yo-Yo Shuriken (NGCD) (cotegamers.com) (demo on youtube) 2023 Neo Byte Force Cyborg Force (https://ozzyouzo.itch.io/cyborg-force) (trailer on youtube) 2023 Bitmap Bureau Final Vendetta (there's talk of a NeoGeo release, but...?) 2023 NeoHomeBrew Flippers Demo (on youtube) 2023 NeoHomeBrew Pinball Game Playfield Demo (on youtube) 2023 NeoHomeBrew Bouncing Ball Demo (on youtube) +2023 Chips on Steroids Gladmort (youtube) @@ -1346,56 +1349,75 @@ ROM_END // 420: Xevious by tcdev (beta 1) ROM_START( xeviousn ) ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD16_WORD_SWAP( "401.p1", 0x000000, 0x100000, CRC(11dff034) SHA1(ac8ebbdc96f4d2f74d1c820c1536ca1ccdc936b6) ) + ROM_LOAD16_WORD_SWAP( "420.p1", 0x000000, 0x100000, CRC(11dff034) SHA1(ac8ebbdc96f4d2f74d1c820c1536ca1ccdc936b6) ) - NEO_SFIX_128K( "401.s1", CRC(f41d121a) SHA1(ad30e7fde4c7e7ad7e4c32d14bf1df3b3089eaa8) ) + NEO_SFIX_128K( "420.s1", CRC(f41d121a) SHA1(ad30e7fde4c7e7ad7e4c32d14bf1df3b3089eaa8) ) - NEO_BIOS_AUDIO_64K( "401.m1", CRC(6f31c601) SHA1(9b89e7d205ee497f7b495e93328cf35eab6e56b2) ) + NEO_BIOS_AUDIO_64K( "420.m1", CRC(6f31c601) SHA1(9b89e7d205ee497f7b495e93328cf35eab6e56b2) ) ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) - ROM_LOAD( "401.v1", 0x000000, 0x100000, CRC(37ef6dc5) SHA1(3d50197e22d8727a8395564b8645ed1e0e2a5d26) ) + ROM_LOAD( "420.v1", 0x000000, 0x100000, CRC(37ef6dc5) SHA1(3d50197e22d8727a8395564b8645ed1e0e2a5d26) ) ROM_REGION( 0x200000, "sprites", 0 ) - ROM_LOAD16_BYTE( "401.c1", 0x000000, 0x100000, CRC(f963e5b6) SHA1(e80dd61476028de3ff8369e14b6fb1bb7561e370) ) - ROM_LOAD16_BYTE( "401.c2", 0x000001, 0x100000, CRC(c97c4e64) SHA1(d33f26dbc569c69bdbf95cdde908d7700843bde7) ) + ROM_LOAD16_BYTE( "420.c1", 0x000000, 0x100000, CRC(f963e5b6) SHA1(e80dd61476028de3ff8369e14b6fb1bb7561e370) ) + ROM_LOAD16_BYTE( "420.c2", 0x000001, 0x100000, CRC(c97c4e64) SHA1(d33f26dbc569c69bdbf95cdde908d7700843bde7) ) ROM_END -// 422 : Time's UP! by NGF +// 422: Galaxians by tcdev (beta 1) +// Bugs: Invisible aliens and bullets just come from nowhere; crackly sound when blowing up; background sound missing +ROM_START( galaxiann ) + ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "422.p1", 0x000000, 0x100000, CRC(e1d6f03b) SHA1(e1def1fdf659fcb0d8ce7bd4e939161d6dee4cc2) ) + + NEO_SFIX_128K( "422.s1", CRC(05192811) SHA1(609ac057b3fcdf69207870842d26321013d47878) ) + + NEO_BIOS_AUDIO_64K( "422.m1", CRC(43f557ca) SHA1(5385714c04bb4030587a1d660eab4800ce722d9d) ) + + ROM_REGION( 0x80000, "ymsnd:adpcma", 0 ) + ROM_LOAD( "422.v1", 0x000000, 0x80000, CRC(67d1fe70) SHA1(d38f2abc92854b3cbad3fd2d0990a87ceff1d826) ) + + ROM_REGION( 0x200000, "sprites", 0 ) + ROM_LOAD16_BYTE( "422.c1", 0x000000, 0x100000, CRC(34283c88) SHA1(cce783772e1fd33bf773bf180a48f58f107f9700) ) + ROM_LOAD16_BYTE( "422.c2", 0x000001, 0x100000, CRC(31f090aa) SHA1(7e8173740b886787b735277e21306bb99d5adbe0) ) +ROM_END + + +// 430 : Time's UP! by NGF ROM_START( timesup ) ROM_REGION( 0x100000, "maincpu", 0 ) - ROM_LOAD16_WORD_SWAP( "422.p1", 0x000000, 0x100000, CRC(b4be3ede) SHA1(95a9b87e674cc3af0932f5dab51d1e8e3d84385b) ) + ROM_LOAD16_WORD_SWAP( "430.p1", 0x000000, 0x100000, CRC(b4be3ede) SHA1(95a9b87e674cc3af0932f5dab51d1e8e3d84385b) ) NEO_SFIX_128K( "419.s1", CRC(a545b593) SHA1(09077b63595eebb7dddd55e041e7786164df0ead) ) - NEO_BIOS_AUDIO_128K( "422.m1", CRC(8b83308b) SHA1(b6b48689a0138af35375f741620e2569125a93e8) ) + NEO_BIOS_AUDIO_128K( "430.m1", CRC(8b83308b) SHA1(b6b48689a0138af35375f741620e2569125a93e8) ) ROM_REGION( 0x600000, "ymsnd:adpcma", 0 ) - ROM_LOAD( "422.v1", 0x000000, 0x200000, CRC(1b48708b) SHA1(ac4e363a0b5988496272092ea4dc7c2259f9f1e3) ) - ROM_LOAD( "422.v2", 0x200000, 0x200000, CRC(6b17df84) SHA1(b8233110f91ef408f68beda641da01d2896109da) ) - ROM_LOAD( "422.v3", 0x400000, 0x200000, CRC(6c798d46) SHA1(7f91f5dbe58a2bceb8a9ed6394eb6b11a9ae7d97) ) + ROM_LOAD( "430.v1", 0x000000, 0x200000, CRC(1b48708b) SHA1(ac4e363a0b5988496272092ea4dc7c2259f9f1e3) ) + ROM_LOAD( "430.v2", 0x200000, 0x200000, CRC(6b17df84) SHA1(b8233110f91ef408f68beda641da01d2896109da) ) + ROM_LOAD( "430.v3", 0x400000, 0x200000, CRC(6c798d46) SHA1(7f91f5dbe58a2bceb8a9ed6394eb6b11a9ae7d97) ) ROM_REGION( 0x400000, "sprites", 0 ) - ROM_LOAD16_BYTE( "422.c1", 0x000000, 0x200000, CRC(1c83fc38) SHA1(74a6c9116443a673ff49b2fe4d7b8bc79eadec0c) ) - ROM_LOAD16_BYTE( "422.c2", 0x000001, 0x200000, CRC(2b3f48b4) SHA1(5d05d312d06e387fa532f71f5144347a0dd77bb3) ) + ROM_LOAD16_BYTE( "430.c1", 0x000000, 0x200000, CRC(1c83fc38) SHA1(74a6c9116443a673ff49b2fe4d7b8bc79eadec0c) ) + ROM_LOAD16_BYTE( "430.c2", 0x000001, 0x200000, CRC(2b3f48b4) SHA1(5d05d312d06e387fa532f71f5144347a0dd77bb3) ) ROM_END -// 422 : Time's UP! demo by NGF +// 430 : Time's UP! demo by NGF ROM_START( timesupd ) ROM_REGION( 0x200000, "maincpu", 0 ) - ROM_LOAD16_WORD_SWAP( "422d.p1", 0x000000, 0x200000, CRC(be86adb1) SHA1(4b363bab51dfc43b2302956f79a0b1d5202339ac) ) + ROM_LOAD16_WORD_SWAP( "430d.p1", 0x000000, 0x200000, CRC(be86adb1) SHA1(4b363bab51dfc43b2302956f79a0b1d5202339ac) ) NEO_SFIX_128K( "419.s1", CRC(a545b593) SHA1(09077b63595eebb7dddd55e041e7786164df0ead) ) - NEO_BIOS_AUDIO_128K( "422d.m1", CRC(fe795d11) SHA1(53ba44f2197aa700229f18dee6513bc0c2619904) ) + NEO_BIOS_AUDIO_128K( "430d.m1", CRC(fe795d11) SHA1(53ba44f2197aa700229f18dee6513bc0c2619904) ) ROM_REGION( 0x800000, "ymsnd:adpcma", 0 ) - ROM_LOAD( "422d.v1", 0x000000, 0x400000, CRC(13b8f47b) SHA1(4f0384101f9f6fce8c86a27a11a2b9d43a84a154) ) - ROM_LOAD( "422d.v2", 0x400000, 0x400000, CRC(6fdd663d) SHA1(9667f11b4350285d0722c67052ff4e9a63a3409f) ) + ROM_LOAD( "430d.v1", 0x000000, 0x400000, CRC(13b8f47b) SHA1(4f0384101f9f6fce8c86a27a11a2b9d43a84a154) ) + ROM_LOAD( "430d.v2", 0x400000, 0x400000, CRC(6fdd663d) SHA1(9667f11b4350285d0722c67052ff4e9a63a3409f) ) ROM_REGION( 0x400000, "sprites", 0 ) - ROM_LOAD16_BYTE( "422d.c1", 0x000000, 0x200000, CRC(c19a300a) SHA1(3ab4ec4b10583257b92f5a989434db89f8130626) ) - ROM_LOAD16_BYTE( "422d.c2", 0x000001, 0x200000, CRC(fdb3f7ed) SHA1(dd1d69515e58e9fba8cefb1c4cd808dfea0475d9) ) + ROM_LOAD16_BYTE( "430d.c1", 0x000000, 0x200000, CRC(c19a300a) SHA1(3ab4ec4b10583257b92f5a989434db89f8130626) ) + ROM_LOAD16_BYTE( "430d.c2", 0x000001, 0x200000, CRC(fdb3f7ed) SHA1(dd1d69515e58e9fba8cefb1c4cd808dfea0475d9) ) ROM_END @@ -1758,7 +1780,7 @@ ROM_START( nblktiger ) ROM_END -// 497: Cabal +// 497: Cabal (port by iq_132) // Bugs: A few minor graphics issues ROM_START( cabalng ) ROM_REGION( 0x100000, "maincpu", 0 ) @@ -1777,7 +1799,7 @@ ROM_START( cabalng ) ROM_LOAD16_BYTE( "497.c2", 0x0000001, 0x100000, CRC(edf277f2) SHA1(aa287598a620f03794e143500ff842dfb4b64d9a) ) ROM_END -// 497: Cabal +// 497: Cabal (port by iq_132) // Bugs: A few minor graphics issues ROM_START( cabalng1 ) ROM_REGION( 0x100000, "maincpu", 0 ) @@ -1855,6 +1877,25 @@ ROM_START( neo2048 ) ROM_END +// 500: Kid no Hore Hore Daisakusen (port by iq_132) +ROM_START( horekidb3 ) // beta 3, incomplete? + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "500.p1", 0x000000, 0x080000, CRC(f0b31d22) SHA1(3b942f5f4de04bcaf2a46c8bc16e38b557191a10) ) + + NEO_SFIX_128K( "500.s1", CRC(b88013e2) SHA1(99ba753412d21ee6a6f1d63c645d74a027e5a143) ) + + NEO_BIOS_AUDIO_64K( "500.m1", CRC(d82c2064) SHA1(ddec7b210c6395501797b650b9473693b52daab2) ) + + ROM_REGION( 0x1000000, "ymsnd:adpcma", 0 ) + ROM_LOAD( "500.v1", 0x000000, 0x800000, CRC(fccb11f4) SHA1(ac027581c1b23036aab74afa79d5fefc59a45e32) ) + ROM_LOAD( "500.v2", 0x100000, 0x800000, CRC(c65a5900) SHA1(a87f0bddb885082f1e8907a451640572f574c0b9) ) + + ROM_REGION( 0x080000, "sprites", 0 ) + ROM_LOAD16_BYTE( "500.c1", 0x0000000, 0x040000, CRC(18b0b56b) SHA1(b3e4cdcb72bd1d8af6b505280774ec49de1f7c66) ) + ROM_LOAD16_BYTE( "500.c2", 0x0000001, 0x040000, CRC(9ccea1d5) SHA1(10c7c99d2a647e90e9b2b0d005733fea786ac61c) ) +ROM_END + + // 600 : 240p Test Suite by Artemio Urbina // No sound ROM_START( 240ptest ) @@ -3313,8 +3354,10 @@ GAME( 2009, dwi, neogeo, neogeo_noslot, neogeo, neogeo_state, init GAME( 2009, dwia, dwi, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "[Raregame]", "DarkWing Duck (Intro demo v2)", MACHINE_SUPPORTS_SAVE ) GAME( 2006, ffeast, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "Rastersoft", "Frog Feast (NeoGeo)", MACHINE_SUPPORTS_SAVE ) GAME( 2005, ffeastd, ffeast, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "Rastersoft", "Frog Feast demo", MACHINE_SUPPORTS_SAVE ) +GAME( 2023, galaxiann, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT270, "tcdev", "Galaxians (beta 1, 2023-05-31)", MACHINE_SUPPORTS_SAVE ) GAME( 2009, gbi, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "[Raregame]", "GhostBusters (Intro demo)", MACHINE_SUPPORTS_SAVE ) GAME( 2020, gxg, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "Vasily Familiya", "Casanova She And She demo", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE ) +GAME( 2022, horekidb3, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT270, "iq132", "Kid no Hore Hore Daisakusen (Neo-Geo port)", MACHINE_SUPPORTS_SAVE ) GAME( 2021, hypernoid, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "M.Priewe", "Hypernoid, 2021-11-28)", MACHINE_SUPPORTS_SAVE ) GAME( 2018, igla, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "Vasily Familiya", "Operation I.G.L.A. demo", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE ) GAME( 2013, iocero, neogeo, neogeo_noslot, neogeo, neogeo_state, init_neogeo, ROT0, "iocerom", "Primo Demo", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/taito_f3.cpp b/docs/release/src/hbmame/drivers/taito_f3.cpp index d7f16217cae..0805d663fca 100644 --- a/docs/release/src/hbmame/drivers/taito_f3.cpp +++ b/docs/release/src/hbmame/drivers/taito_f3.cpp @@ -5,7 +5,7 @@ /******************* Cleopatra Fortune ********************/ -ROM_START( cleopatrs01 ) +ROM_START( cleopatr01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e28-10hc01.bin", 0x000000, 0x80000, CRC(20bb1f31) SHA1(48e24d0b2aa3cc06db8ccbe05e5d48e0a46de239) ) ROM_LOAD32_BYTE("e28-09hc01.bin", 0x000001, 0x80000, CRC(a5811b99) SHA1(0ce61e9e093f002d331a5b822b19b86fb3cc6d40) ) @@ -33,7 +33,7 @@ ROM_START( cleopatrs01 ) ROM_LOAD16_BYTE("e28-03.bin", 0x000000, 0x200000, CRC(15c7989d) SHA1(7cc63d93e5c1f9f52f889e973bbefd5e6f7ce807) ) ROM_END -ROM_START( cleopatrs02 ) +ROM_START( cleopatr02 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e28-10.bin", 0x000000, 0x80000, CRC(013fbc39) SHA1(d36ac44609b88e1da35c98dda381042e0112ea00) ) ROM_LOAD32_BYTE("e28-09.bin", 0x000001, 0x80000, CRC(1c48a1f9) SHA1(791d321c03073cdd0269b970f926897446d2a6fb) ) @@ -64,7 +64,7 @@ ROM_END /************ Akkanbeder *************/ -ROM_START( akkanvdrs01 ) +ROM_START( akkanvdr01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e06-14hc01.20", 0x000000, 0x20000, CRC(f1f71f95) SHA1(b0d44fb3972f3b844855a9778df2d4bd026e5403) ) ROM_LOAD32_BYTE("e06-13hc01.19", 0x000001, 0x20000, CRC(5e94d31b) SHA1(631607d4283dbbb9c8e6b3a71d742ef8f24887c5) ) @@ -97,7 +97,7 @@ ROM_END /************** Arabian Magic ***************/ -ROM_START( arabianms01 ) //arabianmjc +ROM_START( arabianm01 ) //arabianmjc ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("d29-23hc01.ic40", 0x000000, 0x40000, CRC(dd54b8ed) SHA1(2584ae22e52d2f5990cf0857ddd5707f8df4beb0) ) ROM_LOAD32_BYTE("d29-22hc01.ic38", 0x000001, 0x40000, CRC(4605b9e1) SHA1(0d050754c37fdab7596385daf242054d50882872) ) @@ -130,7 +130,7 @@ ROM_END /***************** Bubble Symphony ******************/ -ROM_START( bubsymphs01 ) +ROM_START( bubsymph01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("d90hc01-12", 0x000000, 0x40000, CRC(1ae40f57) SHA1(56cfcfc69b0f29a2f13745f47462dd442c422260) ) ROM_LOAD32_BYTE("d90hc01-11", 0x000001, 0x40000, CRC(bc2ad86a) SHA1(3bbc20396fa328901747dcd6c88cf2a90e852ccb) ) @@ -163,7 +163,7 @@ ROM_END /*********** Dan-Ku-Ga ************/ -ROM_START( dankugas01 ) +ROM_START( dankuga01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("dkg_mpr3hc01.20", 0x000000, 0x80000, CRC(1da88664) SHA1(d9569ad4b20776521db937f70986a72364a03eb8) ) ROM_LOAD32_BYTE("dkg_mpr2hc01.19", 0x000001, 0x80000, CRC(db215d0e) SHA1(2b46e9b523feb4efcf032ce2feafeb1c9d929c49) ) @@ -206,7 +206,7 @@ ROM_START( dankugas01 ) ROM_LOAD16_BYTE("d84-15.rom", 0xe00000, 0x100000, CRC(31ceb152) SHA1(d9d0bc631a6a726376f566a49605b50485ac7bf4) ) ROM_END -ROM_START( dankugas02 ) +ROM_START( dankuga02 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("dkg_mpr3hc02.20", 0x000000, 0x80000, CRC(2c2a5aff) SHA1(b9d8104f5dd929750ac97aca3ecf225df1d70cc8) ) ROM_LOAD32_BYTE("dkg_mpr2hc02.19", 0x000001, 0x80000, CRC(cc5506f5) SHA1(5d473a967392f405785bfbc102baf761baf53c21) ) @@ -252,7 +252,7 @@ ROM_END /************************* Darius Gaiden **************************/ -ROM_START( dariusgs01 ) +ROM_START( dariusg01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("dge_mpr3.bin", 0x000000, 0x80000, CRC(1c1e24a7) SHA1(eafde331c3be5be55d0d838a84017f357ff92634) ) ROM_LOAD32_BYTE("dge_mpr2.bin", 0x000001, 0x80000, CRC(7be23e23) SHA1(4764355f51e207f4538dd753aea59bf2689835de) ) @@ -285,7 +285,7 @@ ROM_END /************************* Elevator Action Returns **************************/ -ROM_START( elvactrs01 ) +ROM_START( elvactr01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e02-12hc01.20", 0x000000, 0x80000, CRC(eaaefe10) SHA1(d13e41ea42fd3d7915a1391925a1029c88c40b12) ) ROM_LOAD32_BYTE("e02-11hc01.19", 0x000001, 0x80000, CRC(990c1409) SHA1(3922137958d54715941c612425567f23e74d17ae) ) @@ -318,7 +318,7 @@ ROM_END /************************* Gekirindan **************************/ -ROM_START( gekiridns01 ) +ROM_START( gekiridn01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e11-12.ic20", 0x000000, 0x40000, CRC(6a7aaacf) SHA1(a8114c84e76c75c908a61d985d96aa4eb9a0ac5a) ) ROM_LOAD32_BYTE("e11-11.ic19", 0x000001, 0x40000, CRC(2284a08e) SHA1(3dcb91be0d3491ad5e77efd30bacd506dad0f848) ) @@ -348,7 +348,7 @@ ROM_START( gekiridns01 ) ROM_LOAD16_BYTE("e11-05.ic41", 0x400000, 0x200000, CRC(a4d08cf1) SHA1(ae2cabef7b7bcb8a788988c73d7af6fa4bb2c444) ) ROM_END -ROM_START( gekiridns02 ) +ROM_START( gekiridn02 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e11-12c.bin", 0x000000, 0x40000, CRC(448308ce) SHA1(22eac25158bd3a0349aa4f1f041473b93030ee43) ) ROM_LOAD32_BYTE("e11-11c.bin", 0x000001, 0x40000, CRC(8ae457c4) SHA1(f1d74d99c916df90a74be0ff80b05b0f31284306) ) @@ -381,7 +381,7 @@ ROM_END /************************************ Grid Seeker: Project Storm Hammer *************************************/ -ROM_START( gseekers01 ) +ROM_START( gseeker01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("d40_12hc01.rom", 0x000000, 0x40000, CRC(63894ca7) SHA1(2d8821a088c7d2cfc1a4d117b723d5a40c2a12b6) ) ROM_LOAD32_BYTE("d40_11hc01.rom", 0x000001, 0x40000, CRC(287358f1) SHA1(a57f53b7093d5db856f136bb11be3508133559a7) ) @@ -418,7 +418,7 @@ ROM_END /**************** Kaiser Knuckle *****************/ -ROM_START( kaiserkns01 ) +ROM_START( kaiserkn01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("d84-25hc01.20", 0x000000, 0x80000, CRC(f7b8cf53) SHA1(9c1d17f5fe05190fa9b93f2853955416342e47ec) ) ROM_LOAD32_BYTE("d84-24hc01.19", 0x000001, 0x80000, CRC(9c93aeae) SHA1(d9eb6972648cffde24dfddf9dc7dad81ffd07a56) ) @@ -461,7 +461,7 @@ ROM_START( kaiserkns01 ) ROM_LOAD16_BYTE("d84-15.rom", 0xe00000, 0x100000, CRC(31ceb152) SHA1(d9d0bc631a6a726376f566a49605b50485ac7bf4) ) ROM_END -ROM_START( kaiserkns02 ) +ROM_START( kaiserkn02 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("d84-25hc02.20", 0x000000, 0x80000, CRC(e55c530c) SHA1(4114b6ff4204fafe25a654a0411ebaa1cfed9f3e) ) ROM_LOAD32_BYTE("d84-24hc02.19", 0x000001, 0x80000, CRC(6e55c3d2) SHA1(c2c0d3cc2c5f0b2cbef2f09eb678a7b8ade176f2) ) @@ -507,7 +507,7 @@ ROM_END /************ Land Maker *************/ -ROM_START( landmakrs01 ) +ROM_START( landmakr01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e61-13hc01.20", 0x000000, 0x80000, CRC(ff7afcc8) SHA1(a3c8d1c3987c3266c62c056656fd3ea456749080) ) ROM_LOAD32_BYTE("e61-12hc01.19", 0x000001, 0x80000, CRC(2be4297d) SHA1(fb1ab2e39755317ebf084df349fa0ab6a641d7e2) ) @@ -538,7 +538,7 @@ ROM_START( landmakrs01 ) ROM_LOAD16_BYTE("e61-06.40", 0xc00000, 0x200000, CRC(2e717bfe) SHA1(1be54cd2ec65d8fd49a5c09b5d27791fd7a320d4) ) ROM_END -ROM_START( landmakrs02 ) +ROM_START( landmakr02 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("e61-13.20", 0x000000, 0x80000, CRC(0af756a2) SHA1(2dadac6873f2491ee77703f07f00dde2aa909355) ) ROM_LOAD32_BYTE("e61-12.19", 0x000001, 0x80000, CRC(636b3df9) SHA1(78a5bf4977bb90d710942188ce5016f3df499feb) ) @@ -569,10 +569,41 @@ ROM_START( landmakrs02 ) ROM_LOAD16_BYTE("e61-06.40", 0xc00000, 0x200000, CRC(2e717bfe) SHA1(1be54cd2ec65d8fd49a5c09b5d27791fd7a320d4) ) ROM_END +ROM_START( landmakr03 ) + ROM_REGION( 0x200000, "maincpu", 0 ) + ROM_LOAD32_BYTE("e61-19s03.20", 0x000000, 0x80000, CRC(585f410c) SHA1(188ef37fccd4d16b11f5052cb5252ada22d37b4b) ) + ROM_LOAD32_BYTE("e61-18s03.19", 0x000001, 0x80000, CRC(58f9e498) SHA1(6e8c2b1de8da7bc044b2d274845d96ec9e3f6bf4) ) + ROM_LOAD32_BYTE("e61-17s03.18", 0x000002, 0x80000, CRC(6e15a67b) SHA1(056dc1ecf845961d8a331b054520ca0bb80663d5) ) + ROM_LOAD32_BYTE("e61-16s03.17", 0x000003, 0x80000, CRC(253c94b6) SHA1(32ce61bfbea1b31b8005562a2d9d4b3edd24fa98) ) + + ROM_REGION( 0x400000, "sprites" , 0) + ROM_LOAD16_BYTE("e61-03.12",0x000000, 0x200000, CRC(e8abfc46) SHA1(fbde006f9822af3ed8debec525270d329981ea21) ) + ROM_LOAD16_BYTE("e61-02.08",0x000001, 0x200000, CRC(1dc4a164) SHA1(33b412d9653099aaff8ed5e62d1ba4fc30aa9058) ) + + ROM_REGION( 0x200000, "sprites_hi", 0 ) + ROM_LOAD ("e61-01.04",0x000000, 0x200000, CRC(6cdd8311) SHA1(7810a5a81f3b5a730d2088c79b12fffd77659b5b) ) + + ROM_REGION( 0x400000, "tilemap" , 0) + ROM_LOAD32_WORD("e61-09s03.47", 0x000000, 0x200000, CRC(bac13c54) SHA1(33578ace8019547d28cb0db54ab05ba7ec566434) ) + ROM_LOAD32_WORD("e61-08s03.45", 0x000002, 0x200000, CRC(52288694) SHA1(d9d0f2a060131693b75ae71716138cdd075add7e) ) + + ROM_REGION( 0x200000, "tilemap_hi", 0 ) + ROM_LOAD ("e61-07s03.43", 0x000000, 0x200000, CRC(f521c022) SHA1(6f01f7b9c2c3db45f8dae46d0c815e3b0b70c18c) ) + + ROM_REGION( 0x180000, "taito_en:audiocpu", 0 ) + ROM_LOAD16_BYTE("e61-14.32", 0x100000, 0x40000, CRC(18961bbb) SHA1(df054def35a49c0754356c15ec15336cbf28b063) ) + ROM_LOAD16_BYTE("e61-15.33", 0x100001, 0x40000, CRC(2c64557a) SHA1(768007162d5d2cbe650c735bc1af2c10ed13b046) ) + + ROM_REGION16_BE( 0x1000000, "taito_en:ensoniq", ROMREGION_ERASE00 ) + ROM_LOAD16_BYTE("e61-04.38", 0x400000, 0x200000, CRC(c27aec0c) SHA1(e95da2db07a20a53662ebd45c033966e8a22a15a) ) + ROM_LOAD16_BYTE("e61-05.39", 0x800000, 0x200000, CRC(83920d9d) SHA1(019e39ae85d1129f6d3b8460c4b1bd925f868ee2) ) + ROM_LOAD16_BYTE("e61-06.40", 0xc00000, 0x200000, CRC(2e717bfe) SHA1(1be54cd2ec65d8fd49a5c09b5d27791fd7a320d4) ) +ROM_END + /*************** Light Bringer ****************/ -ROM_START( lightbrs01 ) +ROM_START( lightbr01 ) ROM_REGION(0x200000, "maincpu", 0) ROM_LOAD32_BYTE("d69-20hc01.bin", 0x000000, 0x80000, CRC(5b29e745) SHA1(a20ffaf53cb7572217ad5e92d3641927b1998eab) ) ROM_LOAD32_BYTE("d69-13hc01.bin", 0x000001, 0x80000, CRC(0764221f) SHA1(1465f51396348c12c7d272232699eb69bd46bf9b) ) @@ -703,7 +734,7 @@ ROM_END /************ Twin Qix ************/ -ROM_START( twinqixs01 ) +ROM_START( twinqix01 ) ROM_REGION( 0x200000, "maincpu", 0 ) ROM_LOAD32_BYTE("mpr0-3.b60", 0x000000, 0x40000, CRC(1a63d0de) SHA1(7d8d8a6c9c7f9dfc0a8a528a905e33388b8fe13d) ) ROM_LOAD32_BYTE("mpr0-2.b61", 0x000001, 0x40000, CRC(45a70987) SHA1(8cca6845064d943fd28416143e60399188b023cd) ) @@ -739,39 +770,40 @@ ROM_END /* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */ // Akkanbeder -GAME( 1995, akkanvdrs01, spcinv95, f3_224a, f3, taito_f3_state, init_spcinv95, ROT270, "hack", "Akkanbeder (Chinese)", 0 ) +GAME( 1995, akkanvdr01, spcinv95, f3_224a, f3, taito_f3_state, init_spcinv95, ROT270, "hack", "Akkanbeder (Chinese)", 0 ) // Arabian Magic -GAME( 2017, arabianms01, arabianm, f3_224a, f3, taito_f3_state, init_arabianm, ROT0, "hack", "Arabian Magic (Chinese, 2017-04-27)", 0 ) +GAME( 2017, arabianm01, arabianm, f3_224a, f3, taito_f3_state, init_arabianm, ROT0, "hack", "Arabian Magic (Chinese, 2017-04-27)", 0 ) // Bubble Symphony -GAME( 1994, bubsymphs01, bublbob2, f3_224a, f3, taito_f3_state, init_bubsymph, ROT0, "hack", "Bubble Symphony (Chinese)", 0 ) +GAME( 1994, bubsymph01, bublbob2, f3_224a, f3, taito_f3_state, init_bubsymph, ROT0, "hack", "Bubble Symphony (Chinese)", 0 ) // Cleopatra Fortune -GAME( 1996, cleopatrs01, cleopatr, f3_224a, f3, taito_f3_state, init_cleopatr, ROT0, "hack", "Cleopatra Fortune (Chinese)", 0 ) -GAME( 1996, cleopatrs02, cleopatr, f3_224a, f3, taito_f3_state, init_cleopatr, ROT0, "hack", "Cleopatra Fortune (Unknown Hack)", 0 ) +GAME( 1996, cleopatr01, cleopatr, f3_224a, f3, taito_f3_state, init_cleopatr, ROT0, "hack", "Cleopatra Fortune (Chinese)", 0 ) +GAME( 1996, cleopatr02, cleopatr, f3_224a, f3, taito_f3_state, init_cleopatr, ROT0, "hack", "Cleopatra Fortune (Unknown Hack)", 0 ) // Dan-Ku-Ga -GAME( 1994, dankugas01, dankuga, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "hack", "Dan-Ku-Ga (Plus)", 0 ) -GAME( 1994, dankugas02, dankuga, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "Yumeji", "Dan-Ku-Ga (Enable Hidden Characters)", 0 ) +GAME( 1994, dankuga01, dankuga, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "hack", "Dan-Ku-Ga (Plus)", 0 ) +GAME( 1994, dankuga02, dankuga, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "Yumeji", "Dan-Ku-Ga (Enable Hidden Characters)", 0 ) // Darius Gaiden -GAME( 1994, dariusgs01, dariusg, f3, f3, taito_f3_state, init_dariusg, ROT0, "hack", "Darius Gaiden (Unknown Hack)", 0 ) +GAME( 1994, dariusg01, dariusg, f3, f3, taito_f3_state, init_dariusg, ROT0, "hack", "Darius Gaiden (Unknown Hack)", 0 ) // Elevator Action Returns -GAME( 1994, elvactrs01, elvactr, f3, f3, taito_f3_state, init_elvactr, ROT0, "hack", "Elevator Action Returns (Chinese)", 0 ) +GAME( 1994, elvactr01, elvactr, f3, f3, taito_f3_state, init_elvactr, ROT0, "hack", "Elevator Action Returns (Chinese)", 0 ) // Gekirindan -GAME( 1995, gekiridns01, gekiridn, f3, f3, taito_f3_state, init_gekirido, ROT270, "hack", "Gekirindan (Unknown Hack)", 0 ) -GAME( 1995, gekiridns02, gekiridn, f3, f3, taito_f3_state, init_gekirido, ROT270, "hack", "Gekirindan (Chinese)", 0 ) +GAME( 1995, gekiridn01, gekiridn, f3, f3, taito_f3_state, init_gekirido, ROT270, "hack", "Gekirindan (Unknown Hack)", 0 ) +GAME( 1995, gekiridn02, gekiridn, f3, f3, taito_f3_state, init_gekirido, ROT270, "hack", "Gekirindan (Chinese)", 0 ) // Grid Seeker: Project Storm Hammer -GAME( 1992, gseekers01, gseeker, f3_224b, f3, taito_f3_state, init_gseeker, ROT90, "hack", "Grid Seeker: Project Storm Hammer (Chinese)", 0 ) +GAME( 1992, gseeker01, gseeker, f3_224b, f3, taito_f3_state, init_gseeker, ROT90, "hack", "Grid Seeker: Project Storm Hammer (Chinese)", 0 ) // Kaiser Knuckle -GAME( 1994, kaiserkns01, kaiserkn, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "Yumeji", "Kaiser Knuckle (Enable Hidden Characters)", 0 ) -GAME( 1994, kaiserkns02, kaiserkn, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "hack", "Kaiser Knuckle (Plus)", 0 ) +GAME( 1994, kaiserkn01, kaiserkn, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "Yumeji", "Kaiser Knuckle (Enable Hidden Characters)", 0 ) +GAME( 1994, kaiserkn02, kaiserkn, f3_224a, kn, taito_f3_state, init_kaiserkn, ROT0, "hack", "Kaiser Knuckle (Plus)", 0 ) // Land Maker -GAME( 1998, landmakrs01, landmakr, f3, f3, taito_f3_state, init_landmakr, ROT0, "hack", "Land Maker (Chinese)", 0 ) -GAME( 1998, landmakrs02, landmakr, f3, f3, taito_f3_state, init_landmakr, ROT0, "hack", "Land Maker (Unknown Hack)", 0 ) +GAME( 1998, landmakr01, landmakr, f3, f3, taito_f3_state, init_landmakr, ROT0, "hack", "Land Maker (Chinese)", 0 ) +GAME( 1998, landmakr02, landmakr, f3, f3, taito_f3_state, init_landmakr, ROT0, "hack", "Land Maker (Unknown Hack)", 0 ) +GAME( 2023, landmakr03, landmakr, f3, f3, taito_f3_state, init_landmakr, ROT0, "ywy, MA97","Land Maker (English translation of the story line)", 0 ) // Light Bringer -GAME( 2017, lightbrs01, lightbr, f3_224a, f3, taito_f3_state, init_lightbr, ROT0, "hack", "Light Bringer (Chinese, 2017-04-26)", 0 ) +GAME( 2017, lightbr01, lightbr, f3_224a, f3, taito_f3_state, init_lightbr, ROT0, "hack", "Light Bringer (Chinese, 2017-04-26)", 0 ) // Puzzle Bobble 2 GAME( 1995, pbobble2s01, pbobble2, f3, f3, taito_f3_state, init_pbobbl2x, ROT0, "hack", "Puzzle Bobble 2 (Bobble 2X Hack)", 0 ) // Puzzle Bobble 3 GAME( 2022, pbobble3s01, pbobble3, f3, f3, taito_f3_state, init_pbobble3, ROT0, "Bankbank", "Puzzle Bobble 3 (Recarbonated)", 0 ) GAME( 2022, pbobble3s02, pbobble3, f3, f3, taito_f3_state, init_pbobble3, ROT0, "Bankbank", "Puzzle Bobble 3 (Recarbonated, 2p only)", 0 ) // Twin Qix -GAME( 1995, twinqixs01, twinqix, f3_224a, f3, taito_f3_state, init_twinqix, ROT0, "hack", "Twin Qix (Ver 1.0A 1995/01/17, Japan)", 0 ) +GAME( 1995, twinqix01, twinqix, f3_224a, f3, taito_f3_state, init_twinqix, ROT0, "hack", "Twin Qix (Ver 1.0A 1995/01/17, Japan)", 0 ) diff --git a/docs/release/src/hbmame/hbmame.lst b/docs/release/src/hbmame/hbmame.lst index ddd349a7045..6050cd62fe5 100644 --- a/docs/release/src/hbmame/hbmame.lst +++ b/docs/release/src/hbmame/hbmame.lst @@ -1661,7 +1661,7 @@ dkong05 dkong06 dkong07 dkong08 -dkong09 +//dkong09 dkong10 dkong11 dkong12 @@ -4313,10 +4313,15 @@ mhavocpex8fr mhavocpe mhavocpede mhavocpefr -mhavocpe_lpc mhavocpete mhavocpedete mhavocpefrte +mhavocpe100 +mhavocpede100 +mhavocpefr100 +mhavocpete100 +mhavocpedete100 +mhavocpefrte100 @source:midtunit.cpp mk //parent @@ -5979,8 +5984,9 @@ ssideki // 052 //ssideki2 // 061 not needed //ssideki3 // 081 not needed ssideki4 // 215 -stakwin // 088 broken in mame, works here +stakwin // 088 music broken in mame, works here //stakwin2 // 227 not needed +stakwindev // totally broken in mame, partially works here. strhoop // 079 superspy // 011 svc // 269 @@ -6040,8 +6046,10 @@ ffeastd // Frog Feast demo fr2 // 098 Idol Mahjong - final romance 2 fr2cd /* 098 (c) 1995 Video Systems Co. */ fr2ch /* 098 (c) 1995 Video Systems Co. */ +galaxiann gbi /* Ghostbusters Intro */ gxg +horekidb3 hypernoid //igla iocero // BEY @@ -6265,7 +6273,6 @@ sonicwi3px spinmasth spinmastpx ssidekicd -stakwindev strhoopcd superspycd tophuntrpx @@ -7942,7 +7949,7 @@ pc_smb3_ps06 @source:polepos.cpp polepos //parent -mmadness // Mars Madness - Tesla in-car entertainment +mmadness // Mars Madness - Tesla in-car entertainment @source:pooyan.cpp pooyan // parent @@ -8539,51 +8546,52 @@ thundfoxs01 @source:taito_f3.cpp arabianm //parent -arabianms01 +arabianm01 bublbob2 //parent -bubsymphs01 +bubsymph01 cleopatr //parent -cleopatrs01 -cleopatrs02 +cleopatr01 +cleopatr02 dankuga //parent -dankugas01 -dankugas02 +dankuga01 +dankuga02 dariusg //parent -dariusgs01 +dariusg01 elvactr //parent -elvactrs01 +elvactr01 gekiridn //parent -gekiridns01 -gekiridns02 +gekiridn01 +gekiridn02 gseeker //parent -gseekers01 +gseeker01 kaiserkn //parent -kaiserkns01 -kaiserkns02 +kaiserkn01 +kaiserkn02 landmakr //parent -landmakrs01 -landmakrs02 +landmakr01 +landmakr02 +landmakr03 lightbr //parent -lightbrs01 +lightbr01 pbobble2 //parent pbobble2s01 pbobble3 //parent pbobble3s01 pbobble3s02 spcinv95 //parent -akkanvdrs01 +akkanvdr01 twinqix //parent -twinqixs01 +twinqix01 @source:taito_l.cpp evilston //parent evilstonfr -sokoban // HB Sokoban LE by cmonkey -speccies // HB Speccies 2 by Sokurah -sqij // HB SQIJ by Sokurah -sqij15 // HB SQIJ v1.5 by Sokurah -tldemo // HB cmonkey -tldemo2 // HB cmonkey +sokoban // HB Sokoban LE by cmonkey +speccies // HB Speccies 2 by Sokurah +sqij // HB SQIJ by Sokurah +sqij15 // HB SQIJ v1.5 by Sokurah +tldemo // HB cmonkey +tldemo2 // HB cmonkey evilstons01 kurikint //parent kurikintjs01 @@ -8632,20 +8640,20 @@ twc_gr @source:tempest.cpp tempest //parent tempall -temped /* Tempest TempEd Hack */ +temped tempm -temptwst /* Twisty Hack */ -temptwsta /* Twisty Hack 2000 */ -temptwst2 /* Twisty Hack */ -temptwst3 /* Twisty Hack */ -temptwst4 /* Twisty Hack */ -vbrakout /* Clay Cowgill */ -tempmg /* Clay Cowgill Multi-Tempest */ +temptwst // Twisty +temptwsta // Twisty Hack 2000 +temptwst2 // Twisty +temptwst3 // Twisty +temptwst4 // Twisty +vbrakout // Clay Cowgill +tempmg // Clay Cowgill Multi-Tempest temptlm -tvortex /* Tempest Prototype */ -tvortexa /* Tempest Prototype */ -aliensv /* Tempest Prototype */ -aliensva /* Tempest Prototype */ +tvortex +tvortexa +aliensv +aliensva @source:terracre.cpp terracre //parent @@ -8653,7 +8661,7 @@ terracrc @source:timelimit.cpp timelimt //parent -timelimit // dink colour hack +timelimit // dink colour hack @source:timeplt.cpp timeplt //parent @@ -8701,7 +8709,7 @@ truxton2s01 @source:trackfld.cpp trackfld //parent -athens04 /* Athens 2004 - Hack by The Gameland Crew: Maddog, Whacker, Badge, Geoanas */ +athens04 //Athens 2004 - Hack by The Gameland Crew: Maddog, Whacker, Badge, Geoanas trkftest07b trkftest08b trkftest09b @@ -8729,8 +8737,8 @@ volfiedg /* Vag @ GreekRoms 2005 */ @source:vsnes.cpp suprmrio //parent -mrio2002 /* Vs. Super Mario Bros. 2002 */ -suprsktr /* Vs. Super Skater Bros. - Vs. Super Mario Skaters */ +mrio2002 // Vs. Super Mario Bros. 2002 +suprsktr // Vs. Super Skater Bros. - Vs. Super Mario Skaters drmario //parent drmarios01 frombelow @@ -8754,9 +8762,9 @@ twcup90s02 defender //parent defender2 robotron //parent -robotron201 // start at level 201 (Sean Riddle) -robotronp /* Patched to remove the (in the corner) crash */ -robotrontie // Tie Die set (Vid Kidz) +robotron201 // start at level 201 (Sean Riddle) +robotronp // Patched to remove the (in the corner) crash +robotrontie // Tie Die set (Vid Kidz) splat //parent splatsc1 conquest diff --git a/docs/release/src/hbmame/igs/igs022.cpp b/docs/release/src/hbmame/igs/igs022.cpp new file mode 100644 index 00000000000..e41863df27a --- /dev/null +++ b/docs/release/src/hbmame/igs/igs022.cpp @@ -0,0 +1,416 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/************************************************************************************************************ + + IGS022 is an encrypted DMA device, most likely an MCU of some sort. + It can safely be swapped between games, so doesn't appear to have any kind of game specific programming. + +************************************************************************************************************/ + +#include "emu.h" +#include "igs022.h" +#include <sstream> + +#define LOG_DMA (1U << 1) +#define LOG_STACK (1U << 2) +#define LOG_CMD_6D (1U << 3) + +//#define VERBOSE (LOG_GENERAL | LOG_DMA | LOG_STACK | LOG_CMD_6D) +#define VERBOSE (0) +#include "logmacro.h" + +igs022_device::igs022_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : device_t(mconfig, IGS022, tag, owner, clock) + , m_sharedprotram(*this, "sharedprotram") + , m_rom(*this, DEVICE_SELF) +{ +} + +void igs022_device::device_start() +{ + save_item(NAME(m_regs)); + save_item(NAME(m_stack)); + save_item(NAME(m_stack_ptr)); +} + +void igs022_device::device_reset() +{ + if (!m_sharedprotram) + fatalerror("%s: IGS022 sharedprotram was not set!\n", machine().describe_context()); + + // the internal MCU boot code automatically does this DMA + // and puts the version # of the data rom in ram + + // reset regs and stack + std::fill(std::begin(m_regs), std::end(m_regs), 0); + std::fill(std::begin(m_stack), std::end(m_stack), 0); + m_stack_ptr = 0; + + // fill ram with 0xa55a pattern + for (int i = 0; i < 0x4000 / 2; i++) + m_sharedprotram[i] = 0xa55a; + + // the initial auto-DMA + const u16 * const PROTROM = (u16 *)m_rom->base(); + + u16 src = PROTROM[0x100 / 2]; + const u32 dst = PROTROM[0x102 / 2]; + const u16 size = PROTROM[0x104 / 2]; + u16 mode = PROTROM[0x106 / 2]; + + mode = swapendian_int16(mode); + + src >>= 1; + + do_dma(src, dst, size, mode); + + // there is also a version ID? (or is it some kind of checksum) that is stored in the data rom, and gets copied.. + // Dragon World 3 checks it + // Setting 0x3002a0 to #3 causes Dragon World 3 to skip this check + m_sharedprotram[0x2a2 / 2] = PROTROM[0x114 / 2]; +} + +// From IGS022 ROM to shared protection RAM +void igs022_device::do_dma(u16 src, u16 dst, u16 size, u16 mode) +{ + LOGMASKED(LOG_DMA, "%s: IGS022 DMA src %04x, dst %04x, size %04x, mode %04x\n", machine().describe_context(), src, dst, size, mode); + + /* + P_SRC = 0x300290 (offset from prot rom base) + P_DST = 0x300292 (words from 0x300000) + P_SIZE = 0x300294 (words) + P_MODE = 0x300296 + + Mode 0 plain copy + Mode 1,2,3 rom table based ops + Mode 4 fixed data ('IGS ') based ops + Mode 5 swap bytes + Mode 6 swap nibbles + */ + + const u16 param = mode >> 8; + + // the initial auto-DMA on killbld/slqz2/lhzb2 has 0x10 set, drgw3 has 0x18 set, not sure how they affect the operation. + if (mode & 0x00f8) + logerror("%s: IGS022 unknown DMA mode bits %04x set\n", machine().describe_context(), mode & 0x00f8); + + mode &= 0x7; // what are the other bits? + + const u16 * const PROTROM = (u16 *)m_rom->base(); + + switch (mode) + { + case 0: case 1: case 2: case 3: case 4: + /* + modes 1-3 modify the data being transferred using a 0x100 byte table stored at the start of the protection rom. + + The param used with the mode gives a start offset into the table. + + Odd offsets cause an overflow. + */ + for (int x = 0; x < size; x++) + { + u16 dat = PROTROM[src + x]; + + const u8 extraoffset = param & 0xff; + const u8 * const dectable = (u8 *)m_rom->base(); // the basic decryption table is at the start of the mcu data rom! + const u8 taboff = ((x * 2) + extraoffset) & 0xff; // must allow for overflow in instances of odd offsets + + u16 extraxor = ((dectable[taboff + 1]) << 8) | (dectable[taboff + 0] << 0); + + switch (mode) + { +// case 0: plain copy + case 1: dat -= extraxor; break; + case 2: dat += extraxor; break; + case 3: dat ^= extraxor; break; + case 4: + extraxor = 0; + + if ((x & 0x003) == 0x000) extraxor |= 0x0049; // 'I' + if ((x & 0x003) == 0x001) extraxor |= 0x0047; // 'G' + if ((x & 0x003) == 0x002) extraxor |= 0x0053; // 'S' + if ((x & 0x003) == 0x003) extraxor |= 0x0020; // ' ' + + if ((x & 0x300) == 0x000) extraxor |= 0x4900; // 'I' + if ((x & 0x300) == 0x100) extraxor |= 0x4700; // 'G' + if ((x & 0x300) == 0x200) extraxor |= 0x5300; // 'S' + if ((x & 0x300) == 0x300) extraxor |= 0x2000; // ' ' + + LOGMASKED(LOG_DMA, "%s: IGS022 DMA mode 4 -> %06x | %04x (%04x)\n", machine().describe_context(), (dst + x) * 2, dat, (u16)(dat - extraxor)); + + dat -= extraxor; + break; + } + + m_sharedprotram[dst + x] = dat; + } + break; + + case 5: // byteswapped copy + for (int x = 0; x < size; x++) + { + u16 dat = PROTROM[src + x]; + + dat = swapendian_int16(dat); + + m_sharedprotram[dst + x] = dat; + } + break; + + case 6: // nibble swapped copy + for (int x = 0; x < size; x++) + { + u16 dat = PROTROM[src + x]; + + dat = ((dat & 0xf0f0) >> 4) | ((dat & 0x0f0f) << 4); + + m_sharedprotram[dst + x] = dat; + } + break; + + case 7: + logerror("%s: IGS022 DMA unhandled copy mode %04x!\n", machine().describe_context(), mode); + // not used by killbld + // weird mode, the params get left in memory? - maybe it's a NOP? + break; + + default: + logerror("%s: IGS022 DMA unhandled copy mode!: %d, src: %04x, dst: %04x, size: %04x, param: %02x\n", machine().describe_context(), mode, src, dst, size, param); + // not used by killbld + // invalid? + } +} + +void igs022_device::push_stack(u32 data) +{ + if (m_stack_ptr < STACK_SIZE - 1) + ++m_stack_ptr; + + m_stack[m_stack_ptr] = data; +} + +u32 igs022_device::pop_stack() +{ + const u32 data = m_stack[m_stack_ptr]; + + if (m_stack_ptr > 0) + --m_stack_ptr; + + return data; +} + +std::string igs022_device::stack_as_string() const +{ + std::ostringstream stream; + stream << "stack:"; + + for (int i = 0; i <= m_stack_ptr; ++i) + util::stream_format(stream, " %08x", m_stack[i]); + + return std::move(stream).str(); +} + +u32 igs022_device::read_reg(u16 offset) +{ + if (offset < NUM_REGS) + { + return m_regs[offset]; + } + else if (offset == 0x400) + { + return pop_stack(); + } + else + { + return 0; // Invalid! + } +} + +void igs022_device::write_reg(u16 offset, u32 data) +{ + if (offset < NUM_REGS) + { + m_regs[offset] = data; + } + else if (offset == 0x300) + { + push_stack(data); + } + else + { + // Invalid! + } +} + +// What does this do? write the completion byte for now... +void igs022_device::handle_incomplete_command(u16 cmd, u16 res) +{ + logerror("%s: IGS022 command %04x: INCOMPLETE (NOP)\n", machine().describe_context(), cmd); + m_sharedprotram[0x202 / 2] = res; +} + +void igs022_device::handle_command() +{ + const u16 cmd = m_sharedprotram[0x200 / 2]; + + switch (cmd) + { + case 0x12: // Push + { + const u32 data = (m_sharedprotram[0x288 / 2] << 16) + m_sharedprotram[0x28a / 2]; + + push_stack(data); + + LOGMASKED(LOG_STACK, "%s: IGS022 command %04x: PUSH {288, 28a} (%08x) %s\n", machine().describe_context(), cmd, data, stack_as_string()); + + m_sharedprotram[0x202 / 2] = 0x23; // this mode complete? + break; + } + + case 0x2d: handle_incomplete_command(cmd, 0x3c); break; // killbld + +// case 0x42: break; // killbld + + case 0x45: // Pop + { + const u32 data = pop_stack(); + + m_sharedprotram[0x28c / 2] = (data >> 16) & 0xffff; + m_sharedprotram[0x28e / 2] = data & 0xffff; + + LOGMASKED(LOG_STACK, "%s: IGS022 command %04x: POP {28c, 28e} (%08x) %s\n", machine().describe_context(), cmd, data, stack_as_string()); + + m_sharedprotram[0x202 / 2] = 0x56; // this mode complete? + break; + } + +// case 0x47: // NOP? slqz2/lhzb2 +// break; + + case 0x4f: // DMA from protection ROM (memcpy with encryption / scrambling) + { + LOGMASKED(LOG_DMA, "%s: IGS022 command %04x: DMA\n", machine().describe_context(), cmd); + + const u16 src = m_sharedprotram[0x290 / 2] >> 1; // External mcu data is 8 bit and addressed as such + const u32 dst = m_sharedprotram[0x292 / 2]; + const u16 size = m_sharedprotram[0x294 / 2]; + const u16 mode = m_sharedprotram[0x296 / 2]; + + do_dma(src, dst, size, mode); + + m_sharedprotram[0x202 / 2] = 0x5e; // this mode complete? + break; + } + + case 0x5a: handle_incomplete_command(cmd, 0x4b); break; // killbld, uses {284} as input + + case 0x6d: // Set/Get values to/from ASIC RAM, arithmetic operations on them + handle_command_6d(); + break; + + default: + logerror("%s: IGS022 command %04x: UNKNOWN!\n", machine().describe_context(), cmd); + } +} + +// Set/Get values to/from ASIC RAM, arithmetic operations on them +void igs022_device::handle_command_6d() +{ + const u32 p1 = (m_sharedprotram[0x298 / 2] << 16) | m_sharedprotram[0x29a / 2]; + const u32 p2 = (m_sharedprotram[0x29c / 2] << 16) | m_sharedprotram[0x29e / 2]; + + std::ostringstream stream; + if (VERBOSE & LOG_CMD_6D) + { + util::stream_format(stream, "%s: IGS022 command 006d: ASIC RAM %04x %04x %04x %04x ~ ", machine().describe_context(), + (p1 >> 16) & 0xffff, (p1 >> 0) & 0xffff, (p2 >> 16) & 0xffff, (p2 >> 0) & 0xffff + ); + } + + switch (p2 & 0xffff) + { + case 0x0: // Add values + { + const u16 src1 = p1 >> 16; + const u16 src2 = p1 >> 0; + const u16 dst = p2 >> 16; + + const u32 data1 = read_reg(src1); + const u32 data2 = read_reg(src2); + const u32 res = data1 + data2; + + write_reg(dst, res); + + if (VERBOSE & LOG_CMD_6D) + util::stream_format(stream, "ADD [%04x] = [%04x] + [%04x] (%08x)\n", dst, src1, src2, res); + break; + } + + case 0x1: // Sub values (src1 - src2) + { + const u16 src1 = p1 >> 16; + const u16 src2 = p1 >> 0; + const u16 dst = p2 >> 16; + + const u32 data1 = read_reg(src1); + const u32 data2 = read_reg(src2); + const u32 res = data1 - data2; + + write_reg(dst, res); + + if (VERBOSE & LOG_CMD_6D) + util::stream_format(stream, "SUB1 [%04x] = [%04x] - [%04x] (%08x)\n", dst, src1, src2, res); + break; + } + + case 0x6: // Sub values (src2 - src1) + { + const u16 src1 = p1 >> 16; + const u16 src2 = p1 >> 0; + const u16 dst = p2 >> 16; + + const u32 data1 = read_reg(src1); + const u32 data2 = read_reg(src2); + const u32 res = data2 - data1; + + write_reg(dst, res); + + if (VERBOSE & LOG_CMD_6D) + util::stream_format(stream, "SUB2 [%04x] = [%04x] - [%04x] (%08x)\n", dst, src2, src1, res); + break; + } + + case 0x9: // Set value (Shared Protection RAM -> ASIC RAM) + { + const u16 dst = p2 >> 16; + + const u32 data = p1; + + write_reg(dst, data); + + if (VERBOSE & LOG_CMD_6D) + util::stream_format(stream, "SET [%04x] = {298, 29a} (%08x)\n", dst, data); + break; + } + + case 0xa: // Get value (ASIC RAM -> Shared Protection RAM) + { + const u16 src = p1 >> 16; + + const u32 data = m_regs[src]; + + m_sharedprotram[0x29c / 2] = (data >> 16) & 0xffff; + m_sharedprotram[0x29e / 2] = data & 0xffff; + + if (VERBOSE & LOG_CMD_6D) + util::stream_format(stream, "GET {29c, 29e} = [%04x] (%08x)\n", src, data); + break; + } + } + + LOGMASKED(LOG_CMD_6D, "%s", stream.str()); + m_sharedprotram[0x202 / 2] = 0x7c; // this mode complete? +} + +DEFINE_DEVICE_TYPE(IGS022, igs022_device, "igs022", "IGS022 encrypted DMA device") diff --git a/docs/release/src/hbmame/igs/igs022.h b/docs/release/src/hbmame/igs/igs022.h new file mode 100644 index 00000000000..5e6fed9d26a --- /dev/null +++ b/docs/release/src/hbmame/igs/igs022.h @@ -0,0 +1,43 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +#ifndef MAME_IGS_IGS022_H +#define MAME_IGS_IGS022_H + +#pragma once + +class igs022_device : public device_t +{ +public: + igs022_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + void handle_command(); + +protected: + virtual void device_start() override; + virtual void device_reset() override; + +private: + static constexpr u16 NUM_REGS = 0x300, STACK_SIZE = 0x100; + u32 m_regs[NUM_REGS]; + u32 m_stack[STACK_SIZE]; + u8 m_stack_ptr; + + optional_shared_ptr<u16> m_sharedprotram; + required_memory_region m_rom; + + u32 read_reg(u16 offset); + void write_reg(u16 offset, u32 data); + + void push_stack(u32 data); + u32 pop_stack(); + std::string stack_as_string() const; + + void do_dma(u16 src, u16 dst, u16 size, u16 mode); + + void handle_command_6d(); + void handle_incomplete_command(u16 cmd, u16 res); +}; + +DECLARE_DEVICE_TYPE(IGS022, igs022_device) + +#endif // MAME_IGS_IGS022_H diff --git a/docs/release/src/hbmame/igs/igs025.cpp b/docs/release/src/hbmame/igs/igs025.cpp new file mode 100644 index 00000000000..1706f3c0fcc --- /dev/null +++ b/docs/release/src/hbmame/igs/igs025.cpp @@ -0,0 +1,339 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/* + + IGS025 is some kind of state machine / logic device which the game + uses for various security checks, and to determine the region of the + game based on string sequences. + + The IGS025 can _NOT_ be swapped between games, so contains at least + some game specific configuration / programming even if there is a + large amount of common behavior between games. + +*/ + +#include "emu.h" +#include "igs025.h" + + +igs025_device::igs025_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : device_t(mconfig, IGS025, tag, owner, clock) + , m_execute_external(*this, DEVICE_SELF, FUNC(igs025_device::no_callback_setup)) +{ +} + +void igs025_device::no_callback_setup() +{ + printf("igs025 trigger external callback with no external callback setup\n"); +} + + + +void igs025_device::device_start() +{ + // Reset IGS025 stuff + m_kb_prot_hold = 0; + m_kb_prot_hilo = 0; + m_kb_prot_hilo_select = 0; + m_kb_cmd = 0; + m_kb_reg = 0; + m_kb_ptr = 0; + m_kb_swap = 0; + m_olds_bs = 0; + m_kb_cmd3 = 0; + + m_execute_external.resolve(); + + save_item(NAME(m_kb_prot_hold)); + save_item(NAME(m_kb_prot_hilo)); + save_item(NAME(m_kb_prot_hilo_select)); + save_item(NAME(m_kb_cmd)); + save_item(NAME(m_kb_reg)); + save_item(NAME(m_kb_ptr)); + save_item(NAME(m_kb_swap)); + save_item(NAME(m_olds_bs)); + save_item(NAME(m_kb_cmd3)); +} + +void igs025_device::device_reset() +{ + // Reset IGS025 stuff + m_kb_prot_hold = 0; + m_kb_prot_hilo = 0; + m_kb_prot_hilo_select = 0; + m_kb_cmd = 0; + m_kb_reg = 0; + m_kb_ptr = 0; + m_kb_swap = 0; + + + m_olds_bs = 0; + m_kb_cmd3 = 0; + +} + +/****************************************/ +/* WRITE */ +/****************************************/ + +void igs025_device::killbld_igs025_prot_w(offs_t offset, uint16_t data) +{ + if (offset == 0) + { + m_kb_cmd = data; + } + else + { + switch (m_kb_cmd) + { + case 0x00: + m_kb_reg = data; + break; + + case 0x01: // drgw3 + { + if (data == 0x0002) { // Execute command + //printf("execute\n"); + m_execute_external(); + } + } + break; + + case 0x02: // killbld + { + if (data == 0x0001) { // Execute command + //printf("execute\n"); + m_execute_external(); + m_kb_reg++; + } + } + break; + + case 0x03: + m_kb_swap = data; + break; + + case 0x04: + // m_kb_ptr = data; // Suspect. Not good for drgw3 + break; + + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + m_kb_ptr++; + killbld_protection_calculate_hold(m_kb_cmd & 0x0f, data & 0xff); + break; + + // default: + // logerror("%s: ASIC25 W CMD %X VAL %X\n", machine().describe_context(), m_kb_cmd, data); + } + } +} + +void igs025_device::olds_w(offs_t offset, uint16_t data) +{ + if (offset == 0) + { + m_kb_cmd = data; + } + else + { + switch (m_kb_cmd) + { + case 0x00: + m_kb_reg = data; + break; + + case 0x02: + m_olds_bs = ((data & 0x03) << 6) | ((data & 0x04) << 3) | ((data & 0x08) << 1); + break; + + case 0x03: + { + m_execute_external(); + + m_kb_cmd3 = ((data >> 4) + 1) & 0x3; + } + break; + + case 0x04: + m_kb_ptr = data; + break; + + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + m_kb_ptr++; + killbld_protection_calculate_hold(m_kb_cmd & 0x0f, data & 0xff); + break; + + // default: + // logerror ("unemulated write mode!\n"); + } + } +} + + + + + + +void igs025_device::drgw2_d80000_protection_w(offs_t offset, uint16_t data) +{ + if (offset == 0) + { + m_kb_cmd = data; + return; + } + + switch (m_kb_cmd) + { + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + m_kb_ptr++; + killbld_protection_calculate_hold(m_kb_cmd & 0x0f, data & 0xff); + break; + + // case 0x08: // Used only on init.. + // case 0x09: + // case 0x0a: + // case 0x0b: + // case 0x0c: + // break; + + // case 0x15: // ???? + // case 0x17: + // case 0xf2: + // break; + + // default: + // logerror("%s: warning, writing to igs003_reg %02x = %02x\n", machine().describe_context(), m_kb_cmd, data); + } +} + +/****************************************/ +/* READ */ +/****************************************/ + +uint16_t igs025_device::killbld_igs025_prot_r(offs_t offset) +{ + if (offset) + { + switch (m_kb_cmd) + { + case 0x00: + return bitswap<8>((m_kb_swap + 1) & 0x7f, 0, 1, 2, 3, 4, 5, 6, 7); // drgw3 + + case 0x01: + return m_kb_reg & 0x7f; + + case 0x02: + return m_olds_bs | 0x80; + + case 0x03: + return m_kb_cmd3; + + case 0x05: + { + switch (m_kb_ptr) + { + case 1: + return 0x3f00 | ((m_kb_game_id >> 0) & 0xff); + + case 2: + return 0x3f00 | ((m_kb_game_id >> 8) & 0xff); + + case 3: + return 0x3f00 | ((m_kb_game_id >> 16) & 0xff); + + case 4: + return 0x3f00 | ((m_kb_game_id >> 24) & 0xff); + + default: // >= 5 + return 0x3f00 | bitswap<8>(m_kb_prot_hold, 5, 2, 9, 7, 10, 13, 12, 15); + } + } + + case 0x40: + killbld_protection_calculate_hilo(); + return 0; // Read and then discarded + + // default: + // logerror("%s: ASIC25 R CMD %X\n", machine().describe_context(), m_kb_cmd); + + // drgw2 notes + // case 0x13: // Read to $80eeb8 + // case 0x1f: // Read to $80eeb8 + // case 0xf4: // Read to $80eeb8 + // case 0xf6: // Read to $80eeb8 + // case 0xf8: // Read to $80eeb8 + // return 0; + + // default: + // logerror("%s: warning, reading with igs003_reg = %02x\n", machine().describe_context(), m_kb_cmd); + + + } + } + + return 0; +} + + +void igs025_device::killbld_protection_calculate_hold(int y, int z) +{ + unsigned short old = m_kb_prot_hold; + + m_kb_prot_hold = ((old << 1) | (old >> 15)); + + m_kb_prot_hold ^= 0x2bad; + m_kb_prot_hold ^= BIT(z, y); + m_kb_prot_hold ^= BIT(old, 7) << 0; + m_kb_prot_hold ^= BIT(~old, 13) << 4; + m_kb_prot_hold ^= BIT(old, 3) << 11; + + m_kb_prot_hold ^= (m_kb_prot_hilo & ~0x0408) << 1; +} + + + +void igs025_device::killbld_protection_calculate_hilo() +{ + uint8_t source; + + m_kb_prot_hilo_select++; + + if (m_kb_prot_hilo_select > 0xeb) { + m_kb_prot_hilo_select = 0; + } + + source = m_kb_source_data[m_kb_region][m_kb_prot_hilo_select]; + + if (m_kb_prot_hilo_select & 1) + { + m_kb_prot_hilo = (m_kb_prot_hilo & 0x00ff) | (source << 8); + } + else + { + m_kb_prot_hilo = (m_kb_prot_hilo & 0xff00) | (source << 0); + } +} + + +DEFINE_DEVICE_TYPE(IGS025, igs025_device, "igs025", "IGS025") diff --git a/docs/release/src/hbmame/igs/igs025.h b/docs/release/src/hbmame/igs/igs025.h new file mode 100644 index 00000000000..6ea21f03388 --- /dev/null +++ b/docs/release/src/hbmame/igs/igs025.h @@ -0,0 +1,59 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi + +#ifndef MAME_IGS_IGS025_H +#define MAME_IGS_IGS025_H + +#pragma once + +// used to connect the 022 +typedef device_delegate<void (void)> igs025_execute_external; + +class igs025_device : public device_t +{ +public: + igs025_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + uint16_t killbld_igs025_prot_r(offs_t offset); + // use setters instead of making public? + const uint8_t (*m_kb_source_data)[0xec]{}; + uint32_t m_kb_game_id = 0; + uint32_t m_kb_region = 0; + + template <typename... T> void set_external_cb(T &&... args) { m_execute_external.set(std::forward<T>(args)...); } + + void olds_w(offs_t offset, uint16_t data); + void drgw2_d80000_protection_w(offs_t offset, uint16_t data); + void killbld_igs025_prot_w(offs_t offset, uint16_t data); + + +protected: + virtual void device_start() override; + virtual void device_reset() override; + + igs025_execute_external m_execute_external; + + uint16_t m_kb_prot_hold = 0; + uint16_t m_kb_prot_hilo = 0; + uint16_t m_kb_prot_hilo_select = 0; + + int m_kb_cmd = 0; + int m_kb_reg = 0; + int m_kb_ptr = 0; + uint8_t m_kb_swap = 0; + + void killbld_protection_calculate_hilo(); + void killbld_protection_calculate_hold(int y, int z); + + void no_callback_setup(void); + + + uint16_t m_olds_bs = 0; + uint16_t m_kb_cmd3 = 0; + +}; + + +DECLARE_DEVICE_TYPE(IGS025, igs025_device) + +#endif // MAME_IGS_IGS025_H diff --git a/docs/release/src/hbmame/igs/igs028.cpp b/docs/release/src/hbmame/igs/igs028.cpp new file mode 100644 index 00000000000..59f57bb43b8 --- /dev/null +++ b/docs/release/src/hbmame/igs/igs028.cpp @@ -0,0 +1,215 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/* IGS 028 */ + +// this seems to be very similar to the igs022 - encrypted DMA + some other ops with shared RAM +// used by +// Oriental Legend Super / Special + + +#include "emu.h" +#include "igs028.h" + + +igs028_device::igs028_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : device_t(mconfig, IGS028, tag, owner, clock) +{ +} + +void igs028_device::device_start() +{ + m_sharedprotram = nullptr; + + +} + +void igs028_device::device_reset() +{ + //printf("igs028_device::device_reset()"); + + + if (!m_sharedprotram) + { + logerror("m_sharedprotram was not set\n"); + return; + } + +// written by protection device +// there seems to be an auto-dma that writes from $401000-402573? + m_sharedprotram[0x1000/2] = 0x4749; // 'IGS.28' + m_sharedprotram[0x1002/2] = 0x2E53; + m_sharedprotram[0x1004/2] = 0x3832; + + m_sharedprotram[0x3064/2] = 0xB315; // crc? + +} + + +uint32_t igs028_device::olds_prot_addr(uint16_t addr) +{ + switch (addr & 0xff) + { + case 0x0: + case 0x5: + case 0xa: return 0x402a00 + ((addr >> 8) << 2); + case 0x2: + case 0x8: return 0x402e00 + ((addr >> 8) << 2); + case 0x1: return 0x40307e; + case 0x3: return 0x403090; + case 0x4: return 0x40309a; + case 0x6: return 0x4030a4; + case 0x7: return 0x403000; + case 0x9: return 0x40306e; + case 0xb: return 0x403044; + } + + return 0; +} + +uint32_t igs028_device::olds_read_reg(uint16_t addr) +{ + uint32_t protaddr = (olds_prot_addr(addr) - 0x400000) / 2; + return m_sharedprotram[protaddr] << 16 | m_sharedprotram[protaddr + 1]; +} + +void igs028_device::olds_write_reg( uint16_t addr, uint32_t val ) +{ + m_sharedprotram[((olds_prot_addr(addr) - 0x400000) / 2) + 0] = val >> 16; + m_sharedprotram[((olds_prot_addr(addr) - 0x400000) / 2) + 1] = val & 0xffff; +} + +void igs028_device::IGS028_do_dma(uint16_t src, uint16_t dst, uint16_t size, uint16_t mode) +{ + uint16_t param = mode >> 8; + uint16_t *PROTROM = (uint16_t*)memregion(":user1")->base(); + +// logerror ("mode: %2.2x, src: %4.4x, dst: %4.4x, size: %4.4x, data: %4.4x\n", (mode &0xf), src, dst, size, mode); + + mode &= 0x0f; + + switch (mode & 0x7) + { + // igs022 has an 'IGS ' encryption mode, a plain copy, and a NOP, these aren't covered at the moment.. + + case 0x00: // -= encryption + case 0x01: // swap nibbles + case 0x02: // ^= encryption + + case 0x03: // unused? + case 0x04: // unused? + + case 0x05: // swap bytes + case 0x06: // += encryption (correct?) + + case 0x07: // unused? + { + uint8_t extraoffset = param & 0xff; + uint8_t *dectable = (uint8_t *)(PROTROM + (0x100 / 2)); + + for (int32_t x = 0; x < size; x++) + { + uint16_t dat2 = PROTROM[src + x]; + + int taboff = ((x*2)+extraoffset) & 0xff; // must allow for overflow in instances of odd offsets + unsigned short extraxor = ((dectable[taboff + 0]) << 0) | (dectable[taboff + 1] << 8); + + if (mode==0) dat2 -= extraxor; + else if (mode==1) dat2 = ((dat2 & 0xf0f0) >> 4)|((dat2 & 0x0f0f) << 4); + else if (mode==2) dat2 ^= extraxor; + else if (mode==5) dat2 = swapendian_int16(dat2); + else if (mode==6) dat2 += extraxor; + else + { + // if other modes are used we need to know about them + uint16_t extraxor2 = 0; + if ((x & 0x003) == 0x000) extraxor2 |= 0x0049; // 'I' + if ((x & 0x003) == 0x001) extraxor2 |= 0x0047; // 'G' + if ((x & 0x003) == 0x002) extraxor2 |= 0x0053; // 'S' + if ((x & 0x003) == 0x003) extraxor2 |= 0x0020; // ' ' + + + if ((x & 0x300) == 0x000) extraxor2 |= 0x4900; // 'I' + if ((x & 0x300) == 0x100) extraxor2 |= 0x4700; // 'G' + if ((x & 0x300) == 0x200) extraxor2 |= 0x5300; // 'S' + if ((x & 0x300) == 0x300) extraxor2 |= 0x2000; // ' ' + + + printf("mode %d - %04x (%04x %04x %04x - %04x %04x %04x - %04x %04x \n", mode, dat2, (uint16_t)(dat2-extraxor), (uint16_t)(dat2+extraxor), (uint16_t)(dat2^extraxor), (uint16_t)(dat2-extraxor2), (uint16_t)(dat2+extraxor2), (uint16_t)(dat2^extraxor2), ((dat2 & 0xf0f0) >> 4)|((dat2 & 0x0f0f) << 4), swapendian_int16(dat2) ); + dat2 = 0x4e75; // hack + } + + m_sharedprotram[dst + x] = dat2; + } + } + break; + + default: // >=8 + printf ("DMA mode unknown!!!\nsrc:%4.4x, dst: %4.4x, size: %4.4x, mode: %4.4x\n", src, dst, size, mode); + } +} + +void igs028_device::IGS028_handle() +{ + uint16_t cmd = m_sharedprotram[0x3026 / 2]; + + // logerror ("command: %x\n", cmd); + + switch (cmd) + { + case 0x12: + { + uint16_t mode = m_sharedprotram[0x303e / 2]; // ? + uint16_t src = m_sharedprotram[0x306a / 2] >> 1; // ? + uint16_t dst = m_sharedprotram[0x3084 / 2] & 0x1fff; + uint16_t size = m_sharedprotram[0x30a2 / 2] & 0x1fff; + + IGS028_do_dma(src, dst, size, mode); + } + break; + + case 0x64: // incomplete? + { + uint16_t p1 = m_sharedprotram[0x3050 / 2]; + uint16_t p2 = m_sharedprotram[0x3082 / 2]; + uint16_t p3 = m_sharedprotram[0x3054 / 2]; + uint16_t p4 = m_sharedprotram[0x3088 / 2]; + + if (p2 == 0x02) + olds_write_reg(p1, olds_read_reg(p1) + 0x10000); + + switch (p4) + { + case 0xd: + olds_write_reg(p1,olds_read_reg(p3)); + break; + case 0x0: + olds_write_reg(p3,(olds_read_reg(p2))^(olds_read_reg(p1))); + break; + case 0xe: + olds_write_reg(p3,olds_read_reg(p3)+0x10000); + break; + case 0x2: + olds_write_reg(p1,(olds_read_reg(p2))+(olds_read_reg(p3))); + break; + case 0x6: + olds_write_reg(p3,(olds_read_reg(p2))&(olds_read_reg(p1))); + break; + case 0x1: + olds_write_reg(p2,olds_read_reg(p1)+0x10000); + break; + case 0x7: + olds_write_reg(p3,olds_read_reg(p1)); + break; + default: + break; + } + } + break; + + // default: + // logerror ("unemulated command!\n"); + } +} + + +DEFINE_DEVICE_TYPE(IGS028, igs028_device, "igs028", "IGS028") diff --git a/docs/release/src/hbmame/igs/igs028.h b/docs/release/src/hbmame/igs/igs028.h new file mode 100644 index 00000000000..de18faa4114 --- /dev/null +++ b/docs/release/src/hbmame/igs/igs028.h @@ -0,0 +1,32 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/* IGS 028 */ +#ifndef MAME_IGS_IGS028_H +#define MAME_IGS_IGS028_H + +#pragma once + + +class igs028_device : public device_t +{ +public: + igs028_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + uint16_t* m_sharedprotram = nullptr; + + void IGS028_handle(void); + +protected: + virtual void device_start() override; + virtual void device_reset() override; + + uint32_t olds_prot_addr(uint16_t addr); + uint32_t olds_read_reg(uint16_t addr); + void olds_write_reg( uint16_t addr, uint32_t val ); + void IGS028_do_dma(uint16_t src, uint16_t dst, uint16_t size, uint16_t mode); +}; + + +DECLARE_DEVICE_TYPE(IGS028, igs028_device) + +#endif // MAME_IGS_IGS028_H diff --git a/docs/release/src/hbmame/igs/pgm.cpp b/docs/release/src/hbmame/igs/pgm.cpp new file mode 100644 index 00000000000..728f1890ad9 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgm.cpp @@ -0,0 +1,5812 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi + +/* PGM System (c)1997 IGS + +Based on Information from ElSemi + +A flexible cartridge based platform some would say was designed to compete with +SNK's NeoGeo and Capcom's CPS Hardware systems, despite its age it only uses a +68000 for the main processor and a Z80 to drive the sound, just like the two +previously mentioned systems in that respect.. + +Resolution is 448x224, 15 bit colour + +Sound system is ICS WaveFront 2115 Wavetable midi synthesizer, used in some +actual sound cards (Turtle Beach) + +Later games are encrypted. Latest games (kov2, ddp2) include an arm7 +coprocessor with an internal rom and an encrypted external rom. + +Roms Contain the Following Data + +Pxxxx - 68k Program +Txxxx - TX & BG Graphics (2 formats within the same rom) +Mxxxx - Music samples (8 bit mono 11025Hz) +Axxxx - Colour Data (for sprites) +Bxxxx - Masks & A Rom Colour Indexes (for sprites) + +There is no rom for the Z80, the program is uploaded by the 68k + +Known Games on this Platform +---------------------------- + +010x - 1997 - Oriental Legend +020x - 1997 - Dragon World 2 +030x - 1998 - The Killing Blade +040x - 1998 - Dragon World 3 / Ex +050x - 1999? - Oriental Legend Super +060x - 1999 - Knights of Valor, Knights of Valor Plus, Knights of Valor Super Heroes +070x - 1999 - Photo Y2K +080x - 1999 - Puzzle Star +090x - 2001 - Puzzli II +100x - 2001 - Martial Masters +110x - 2001 - Photo Y2K2 (Also seems to be used by Shan Liang San He Yi (Flash 3-in-1), 2004)? +120x - 2001 - Knights of Valor 2 Plus (9 Dragons?) +130x - 2001 - DoDonpachi II + +0440x - 2002 - DoDonPachi III / DoDonPachi Dai-Ou-Jou / DoDonPachi Dai-Ou-Jou Black Label +0450x - 2002 - Demon Front (also known to be produced / sold in a single PCB version) +0460x - 2002 - The Gladiator / Shen Jian Fu Mo Lu / Shen Jian Fengyun / Tougenkyou - Road of the Sword (also known to be produced / sold in a single PCB version) +0470x - 2002 - Ketsui: Kizuna Jigoku Tachi +0480x - 2003 - Espgaluda + +0530x - 2004 - Oriental Legend 2 (Korea) / Xiyou Shi E Chuan Qunmoluanwu +0540x - 2004 - Knights of Valour Super Heroes Plus / Sanguo Zhan Ji Luanshi Xiaoxiong / Sanguo Zhan Ji Fengyun Zaiqi / Sangoku Senki Super Heroes (SANGO EX+) +0550x - 2004? - Long Hu Zhengba 4 (m027 hardware) +0560x - 2005 - S.V.G. - Spectral vs Generation / Sheng Mo Shiji (also known to be produced / sold in a single PCB version) +0570x - 2005 - The Killing Blade Plus / Ao Jian Kuang Dao Jiaqiang Ban + + + +TODO: + +- Verify/Implement unemulated vreg usage (b04000, b0e000) + b04000 is 210h or 610h, bit 10 unknown +- Zooming function is not fully verified; sprite zoom table is bit different in drgw2 + + +Protection Devices / Co-processors +---------------------------------- + +IGS used a variety of additional ASIC chips on the game boards, these act as protection and +also give additional power to the board to make up for the limited power of the 68000 +processor. Some protection devices use external data roms, others have internal code only. +Most of these are not emulated correctly. In most cases the protection device supplies the +game region code.. + +ASIC 3: + state based device? + see + machine/pgmprot_orlegend.cpp + +ASIC 25 + ASIC 12 + state based device + rom overlays + see + machine/pgmprot_igs025_igs012.cpp + +ASIC 25 + ASIC 22 + state based device + encrypted DMA device + see + machine/pgmprot_igs025_igs022.cpp + +ASIC 25 + ASIC 28 + state based device + encrypted DMA device? + see + machine/pgmprot_igs025_igs028.cpp + +ASIC 027A(55857F/55857G): + ARM based CPUs with internal ROM + see + machine/pgmprot_igs027a_type1.cpp + machine/pgmprot_igs027a_type2.cpp + machine/pgmprot_igs027a_type3.cpp + + +there are probably more... + +PCB Layout +---------- + +IGS PCB NO-0133-2 (Main Board) +|-------------------------------------------------------------------------------------| +| |----------------------------| |----------| |----------------------------| | +| |----------------------------| |----------| |----------------------------| | +| PGM_T01S.U29 UM61256 SRM2B61256 SRM2B61256| +| |---------| 33.8688MHz |----------| SRM2B61256 SRM2B61256| +| |WAVEFRONT| |L8A0290 | UM6164 UM6164 | +| |ICS2115V | |IGS023 | PGM_P01S.U20 SW2| +| |(PLCC84) | |(QFP256) | | +| | | | | | +| |---------| 50MHz |----------| | +| UPD6379 PGM_M01S.U18 |----------| | +|VOL |MC68HC000 | 74HC132 | +| |FN20 | 20MHz 74HC132 | +| UPC844C |------| |(PLCC68) | | +| |Z80 | | | V3021 | +| |PLCC44| PAL |----------| | +| |------| |--------| 32.768kHz |-| +| |IGS026 | | +| |(QFP144)| |--------| I| +| | | |IGS026 | D| +| |--------| |(QFP144)| C| +|TDA1519A UM61256 UM61256 | | 3| +| TD62064 |--------| 4| +| 3.6V_BATT | +| |-| +| |----| |-----| SW3 | +| | | J A M M A | | SW1 | +|--------------| |-------------------------------------------| |---------------| + + +IGS PCB NO-0136 (Riser) +|-------------------------------------------------------------------------------------| +| |---------------------------------| |---------------------------------| | +| |---------------------------------| |---------------------------------| | +| | +| |---------------------------------| |---------------------------------| | +| |---------------------------------| |---------------------------------| | +| | +| |----------------------------| |----------| |----------------------------| | +|---| |---| |---| |----| + |----------------------------| |----------| |----------------------------| + +Notes: + All IC's are shown. + + CPU's + ----- + 68HC000FN20 - Motorola 68000 processor, clocked at 20.000MHz (PLCC68) + Z80 - Zilog Z0840008VSC Z80 processor, clocked at 8.468MHz (PLCC44) + + SOUND + ----- + ICS2115 - ICS WaveFront ICS2115V Wavetable Midi Synthesizer, clocked at 33.8688MHz (PLCC84) + + RAM + --- + SRM2B256 - Epson SRM2B256SLMX55 8K x8 SRAM (x4, SOP28) + UM6164 - Unicorn Microelectronics UM6164DS-12 8K x8 SRAM (x2, SOJ28) + UM61256 - Unicorn Microelectronics UM61256FS-15 32K x8 SRAM (x3, SOJ28) + + ROMs + ---- + PGM_M01S.U18 - 16MBit mask ROM (TSOP48) + PGM_P01S.U20 - 1MBit mask ROM (DIP40), equivalent to 27C1024 EPROM, Silk screen says 27C4096-DIP under chip, however, a 27c4096 will not work + PGM_T01S.U29 - 16MBit mask ROM (SOP44) + + CUSTOM IC's + ----------- + IGS023 (QFP256) + IGS026 (x2, QFP144) + + OTHER + ----- + 3.6V_BATT - 3.6V NICad battery, connected to the V3021 RTC + IDC34 - IDC34 way flat cable plug, PGM can support 4 players max in two cabs, + this is jamma connector for another cab and the P3&P4 + PAL - Atmel ATF16V8B PAL (DIP20) + SW1 - Push button switch to enter Test Mode + SW2 - 8 position DIP Switch (for configuration of PCB/game options) + SW3 - SPDT switch , to clear the NVRAM and reset the whole system + TD62064 - Toshiba NPN 50V 1.5A Quad Darlington Switch; for driving coin meters (DIP16) + TDA1519A - Philips 2x 6W Stereo Power AMP (SIL9) + uPD6379 - NEC 2-channel 16-bit D/A converter 10mW typ. (SOIC8) + uPC844C - NEC Quad High Speed Wide Band Operational Amplifier (DIP14) + V3021 - EM Microelectronic-Marin SA Ultra Low Power 32kHz CMOS Real Time Clock (DIP8) + VOL - Volume potentiometer + +*/ + +#include "emu.h" +#include "pgm.h" + +#include "pgmprot_igs025_igs012.h" +#include "pgmprot_igs025_igs022.h" +#include "pgmprot_igs025_igs028.h" +#include "pgmprot_igs027a_type1.h" +#include "pgmprot_igs027a_type2.h" +#include "pgmprot_igs027a_type3.h" +#include "pgmprot_orlegend.h" + +#include "screen.h" +#include "speaker.h" + +// just irq4 ack? watchdog on cart? +void pgm_state::irq4_ack_w(offs_t offset, u16 data, u16 mem_mask) +{ + m_maincpu->set_input_line(M68K_IRQ_4, CLEAR_LINE); +} + +u16 pgm_state::videoram_r(offs_t offset) +{ + if (offset < 0x4000 / 2) + return m_bg_videoram[offset & 0x7ff]; + else if (offset < 0x7000 / 2) + return m_tx_videoram[offset & 0xfff]; + else + return m_videoram[offset]; +} + +void pgm_state::videoram_w(offs_t offset, u16 data, u16 mem_mask) +{ + if (offset < 0x4000 / 2) + bg_videoram_w(offset & 0x7ff, data, mem_mask); + else if (offset < 0x7000 / 2) + tx_videoram_w(offset & 0xfff, data, mem_mask); + else + COMBINE_DATA(&m_videoram[offset]); +} + +void pgm_state::coin_counter_w(u16 data) +{ + machine().bookkeeping().coin_counter_w(0, data & 0x0001); + machine().bookkeeping().coin_counter_w(1, data & 0x0002); + machine().bookkeeping().coin_counter_w(2, data & 0x0004); + machine().bookkeeping().coin_counter_w(3, data & 0x0008); +} + +u8 pgm_state::z80_ram_r(offs_t offset) +{ + if (m_z80_bus_connected) { + return m_z80_mainram[offset]; + } + + return 0; +} + +void pgm_state::z80_ram_w(offs_t offset, u8 data) +{ + if (m_z80_bus_connected) { + m_z80_mainram[offset] = data; + } +} + +void pgm_state::z80_reset_w(offs_t offset, u16 data, u16 mem_mask) +{ + if (data == 0x5050) + { + m_ics->reset(); // correct? sound keeps playing even when reset? + m_soundcpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); + } + else + { + m_soundcpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); + } +} + +void pgm_state::z80_ctrl_w(offs_t offset, u16 data, u16 mem_mask) +{ + // other values were tested and do not work! + if (data == 0x45d3) m_z80_bus_connected = 1; + if (data == 0x0a0a) m_z80_bus_connected = 0; +} + +void pgm_state::m68k_l1_w(u8 data) +{ + m_soundlatch->write(data); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); +} + +void pgm_state::z80_l3_w(u8 data) +{ + m_soundlatch3->write(data); +} + +void pgm_state::pgm_z80_mem(address_map &map) +{ + map(0x0000, 0xffff).ram().share("z80_mainram"); +} + +void pgm_state::pgm_z80_io(address_map &map) +{ + map(0x8000, 0x8003).rw("ics", FUNC(ics2115_device::read), FUNC(ics2115_device::write)); + map(0x8100, 0x81ff).r(m_soundlatch3, FUNC(generic_latch_8_device::read)).w(FUNC(pgm_state::z80_l3_w)); + map(0x8200, 0x82ff).rw(m_soundlatch, FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::write)); + map(0x8400, 0x84ff).rw("soundlatch2", FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::write)); +} + +void pgm_state::pgm_base_mem(address_map &map) +{ + map(0x700006, 0x700007).w(FUNC(pgm_state::irq4_ack_w)).nopr(); // NOP Reads (triggered using clr.w $700006.l) + + map(0x800000, 0x81ffff).mirror(0x0e0000).ram().share("sram"); // Main Ram + + map(0x900000, 0x907fff).mirror(0x0f8000).rw(FUNC(pgm_state::videoram_r), FUNC(pgm_state::videoram_w)).share("videoram"); // IGS023 VIDEO CHIP + map(0xa00000, 0xa01fff).mirror(0x0fe000).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); + map(0xb00000, 0xb00fff).mirror(0x0f0000).ram().share("spritebuffer"); // tests suggest this should be read-only, but some games require writing to it? + map(0xb01000, 0xb0ffff).mirror(0x0f0000).rw(FUNC(pgm_state::video_registers_r), FUNC(pgm_state::video_registers_w)); + + map(0xc00003, 0xc00003).mirror(0x0e7ff0).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w(FUNC(pgm_state::m68k_l1_w)); + map(0xc00005, 0xc00005).mirror(0x0e7ff0).rw("soundlatch2", FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::write)); + map(0xc00007, 0xc00007).mirror(0x0e7ff0).rw("rtc", FUNC(v3021_device::read), FUNC(v3021_device::write)); + map(0xc00008, 0xc00009).mirror(0x0e7ff0).w(FUNC(pgm_state::z80_reset_w)); + map(0xc0000a, 0xc0000b).mirror(0x0e7ff0).w(FUNC(pgm_state::z80_ctrl_w)); + map(0xc0000d, 0xc0000d).mirror(0x0e7ff0).rw(m_soundlatch3, FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::write)); + + map(0xc08000, 0xc08001).mirror(0x0e7ff8).portr("P1P2"); + map(0xc08002, 0xc08003).mirror(0x0e7ff8).portr("P3P4"); + map(0xc08004, 0xc08005).mirror(0x0e7ff8).portr("Service"); + map(0xc08006, 0xc08007).mirror(0x0e7ff8).portr("DSW").w(FUNC(pgm_state::coin_counter_w)); + + map(0xc10000, 0xc1ffff).mirror(0x0e0000).rw(FUNC(pgm_state::z80_ram_r), FUNC(pgm_state::z80_ram_w)); // Z80 Program +} + +void pgm_state::pgm_mem(address_map &map) +{ + pgm_base_mem(map); + // if a cart is not inserted, mirror is 7e0000! + map(0x000000, 0x01ffff).mirror(0x0e0000).rom(); // BIOS ROM +} + +void pgm_state::pgm_basic_mem(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x4fffff).bankr("bank1"); // Game ROM + // cart can map from 0-7fffff & d00000-ffffff +} + + +// enough for 4 players, the basic dips mapped are listed in the test mode + +INPUT_PORTS_START( pgm ) + PORT_START("P1P2") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + + PORT_START("P3P4") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START3 ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START4 ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(4) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) + + PORT_START("Service") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 ) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Test-Key 1P+2P") + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service 1P+2P") + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_NAME("Test-Key 3P+4P") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Service 3P+4P") + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused? + + PORT_START("DSW") + PORT_SERVICE( 0x0001, IP_ACTIVE_LOW ) + PORT_DIPNAME( 0x0002, 0x0002, "Music" ) + PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) + PORT_DIPNAME( 0x0004, 0x0004, "Voice" ) + PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0004, DEF_STR( On ) ) + PORT_DIPNAME( 0x0008, 0x0008, "Free" ) + PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0010, 0x0010, "Stop" ) + PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unused ) ) + PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unused ) ) + PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) ) + PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + + PORT_START("Region") + PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + + +// We can't decode the sprite data like this because it isn't tile based. +// Note that the bit indexes are reversed compared to usual gfx layouts +// (0-7 = LSB to MSB) */ + +static const gfx_layout pgm32_charlayout = +{ + 32,32, + RGN_FRAC(1,1), + 5, + { 4, 3, 2, 1, 0 }, + { STEP32(0,5) }, + { STEP32(0,5*32) }, + 32*32*5 +}; + +GFXDECODE_START( gfx_pgm ) + GFXDECODE_ENTRY( "tiles", 0, gfx_8x8x4_packed_lsb, 0x800, 32 ) // 8x8x4 Tiles + GFXDECODE_REVERSEBITS( "tiles", 0, pgm32_charlayout, 0x400, 32 ) // 32x32x5 Tiles +GFXDECODE_END + +#if 0 + w/irq4 disabled + drgw2 = no coin + drgw3 = no coin + dwex = no coin + dw2001 = no coin + dwpc = no coin + dmnfront = no coin + ket = no coin + espgal = no coin + killbldp = no coin + killbld = no coin + theglad = no coin + svg/pcb = no coin + happy6 = no coin + pgm3in1 = no coin + photoy2k = works fine without it + py2k2 = works fine without it + puzzli2 = works fine without it + martmast = works fine without it + ddp2 = works fine without it + ddp3 = works fine without it + puzlstar = works fine without it + orlegend = works fine without it + olds = works fine without it + oldsplus = works fine without it + kov = works fine without it + kovplus = works fine without it + kovsh = works fine without it + kovshp = works fine without it + kovytzy = works fine without it + kov2 = works fine without it + kov2p = works fine without it +#endif + +TIMER_DEVICE_CALLBACK_MEMBER(pgm_state::interrupt) +{ + int scanline = param; + + if (scanline == 224) { + m_maincpu->set_input_line(M68K_IRQ_6, ASSERT_LINE); + } + if (scanline == 218) {// verified on drgw2 cart - this is configured by the cartridge - confirm if this is only on line 218? + if (!m_irq4_disabled) + m_maincpu->set_input_line(M68K_IRQ_4, ASSERT_LINE); // wrong, should be ASSERT and ack at $b0e000, but doesn't ever ack??? + } +} + +void pgm_state::machine_reset() +{ + m_soundcpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); + m_z80_bus_connected = 1; + m_control_flags = 0xffff; // ? +} + +void pgm_state::pgmbase(machine_config &config) +{ + // basic machine hardware + M68000(config, m_maincpu, 20_MHz_XTAL); // 20 mhz! verified on real board + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_state::pgm_basic_mem); + TIMER(config, "scantimer").configure_scanline(FUNC(pgm_state::interrupt), "screen", 0, 1); + + Z80(config, m_soundcpu, 33.8688_MHz_XTAL/4); + m_soundcpu->set_addrmap(AS_PROGRAM, &pgm_state::pgm_z80_mem); + m_soundcpu->set_addrmap(AS_IO, &pgm_state::pgm_z80_io); + + NVRAM(config, "sram", nvram_device::DEFAULT_ALL_0); + + V3021(config, "rtc"); + + // video hardware + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(50_MHz_XTAL/5, 640, 0, 448, 264, 0, 224); // or 20MHz / 2? framerate verified + screen.set_screen_update(FUNC(pgm_state::screen_update)); + screen.set_palette(m_palette); + + GFXDECODE(config, m_gfxdecode, m_palette, gfx_pgm); + PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::xRGB_555, 0x1200/2); + + // sound hardware + SPEAKER(config, "mono").front_center(); + + GENERIC_LATCH_8(config, m_soundlatch); + GENERIC_LATCH_8(config, "soundlatch2"); + GENERIC_LATCH_8(config, m_soundlatch3); + + ICS2115(config, m_ics, 33.8688_MHz_XTAL); + m_ics->irq().set_inputline("soundcpu", 0); + m_ics->add_route(ALL_OUTPUTS, "mono", 1.0); +} + +void pgm_state::pgm(machine_config &config) +{ + pgmbase(config); +} + + +// take note of "sprmask" needed for expanding the Sprite Colour Data + +#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \ + ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_BIOS(bios)) + +#define PGM_68K_BIOS \ + ROM_SYSTEM_BIOS( 0, "v2", "PGM Bios V2" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 0, "pgm_p02s.u20", 0x00000, 0x020000, CRC(78c15fa2) SHA1(885a6558e022602cc6f482ac9667ba9f61e75092) ) /* Version 2 (Label: IGS | PGM P02S | 1P0792D1 | J992438 )*/ \ + ROM_SYSTEM_BIOS( 1, "v1", "PGM Bios V1" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 1, "pgm_p01s.u20", 0x00000, 0x020000, CRC(e42b166e) SHA1(2a9df9ec746b14b74fae48b1a438da14973702ea) ) // Version 1 +#define PGM_AUDIO_BIOS \ + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) +#define PGM_VIDEO_BIOS \ + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) +// The Bios - NOT A GAME +ROM_START( pgm ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + + ROM_REGION( 0x280000, "tiles", 0 ) // 8x8 Text Layer Tiles + PGM_VIDEO_BIOS + + ROM_REGION( 0x200000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + + ROM_REGION16_LE( 0x1000000, "sprcol", ROMREGION_ERASEFF ) // Sprite Colour Data + ROM_REGION16_LE( 0x1000000, "sprmask", ROMREGION_ERASEFF ) // Sprite Masks + Colour Indexes +ROM_END + +ROM_START( orlegend ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103.rom", 0x100000, 0x200000, CRC(d5e93543) SHA1(f081edc26514ca8354c13c7f6f89aba8e4d3e7d2) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegende ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0102.u2", 0x100000, 0x200000, CRC(4d0f6cc5) SHA1(8d41f0a712fb11a1da865f5159e5e27447b4388a) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegendc ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0101.u2", 0x100000, 0x200000, CRC(b24f0c1e) SHA1(a2cf75d739681f091c24ef78ed6fc13aa8cfe0c6) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + // Different labels comparing to others sets except for PGM B0102 in U15 and PGM M0100 in U1; it probably needs to be dumped + ROM_LOAD( "pgm_a0100-1.u5", 0x0000000, 0x400000, BAD_DUMP CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101-1.u6", 0x0400000, 0x400000, BAD_DUMP CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102-1.u7", 0x0800000, 0x400000, BAD_DUMP CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103-1.u8", 0x0c00000, 0x400000, BAD_DUMP CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104-1.u11", 0x1000000, 0x400000, BAD_DUMP CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105-1.u12", 0x1400000, 0x400000, BAD_DUMP CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100-1.u9", 0x0000000, 0x400000, BAD_DUMP CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101-1.u10", 0x0400000, 0x400000, BAD_DUMP CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegendca ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101.102", 0x100000, 0x200000, CRC(7a22e1cb) SHA1(4fe0fde00521b0915146334ea7213f3eb7e2affc) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + + +/* + +Oriental Legend / Xi You Shi E Zhuan (CHINA 111 Ver.) +(c)1997 IGS + +Top board +--------- +PCB Number: IGS PCB NO-0134-2 + +OLV 111 CHINA U6.U6 [5fb86373] +OLV 111 CHINA U7.U7 [6ee79faf] +OLV 111 CHINA U9.U9 [83cf09c8] +OLV 111 CHINA U11.U11 [b80ddd3c] + +PGM T0100.U8 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0135 + +PGM A0100.U5 +PGM A0101.U6 +PGM A0102.U7 +PGM A0103.U8 +PGM A0104.U11 +PGM A0105.U12 + +PGM B0100.U9 +PGM B0101.U10 +PGM B0102.U15 + +PGM M0100.U1 + +*/ + +ROM_START( orlegend111c ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "olv_111_china_u6.u6", 0x100001, 0x080000, CRC(5fb86373) SHA1(2fc58eff1f38754c75819fde666244b867ca4f05) ) + ROM_LOAD16_BYTE( "olv_111_china_u9.u9", 0x100000, 0x080000, CRC(83cf09c8) SHA1(959780b45326059517f3008a356657f4f3d2908f) ) + ROM_LOAD16_BYTE( "olv_111_china_u7.u7", 0x200001, 0x080000, CRC(6ee79faf) SHA1(039b4b07b8577f0d3022ae01210c00375624cb3c) ) + ROM_LOAD16_BYTE( "olv_111_china_u11.u11", 0x200000, 0x080000, CRC(b80ddd3c) SHA1(55c700ce71ffdee392e03fd9d4719542c3527132) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +/* + +Oriental Legend / Xi You Shi E Zhuan (TAIWAN 111 Ver.) +(c)1997 IGS + +Top board +--------- +PCB Number: IGS PCB NO-0134-2 + +OLV 111 TAIWAN U6.U6 [b205a733] +OLV 111 TAIWAN U7.U7 [27628e87] +OLV 111 TAIWAN U9.U9 [6d9d29b4] +OLV 111 TAIWAN U11.U11 [23f33bc9] + +PGM T0100.U8 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0135-1 + +PGM A0100B.U5 +PGM A0101B.U8 +PGM A0102B.U6 +PGM A0103B.U9 +PGM A0104B.U7 +PGM A0105B.U10 + +PGM B0100B.U11 +PGM B0101B.U12 +PGM B0102.U2 + +PGM M0100.U1 + +*/ + +ROM_START( orlegend111t ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "olv_111_taiwan_u6.u6", 0x100001, 0x080000, CRC(b205a733) SHA1(33f4c9162e36be4957004f80593f94fc33b163f8) ) + ROM_LOAD16_BYTE( "olv_111_taiwan_u9.u9", 0x100000, 0x080000, CRC(6d9d29b4) SHA1(29a18de7e5b58c2f3125d6dc9cc8a8186180e956) ) + ROM_LOAD16_BYTE( "olv_111_taiwan_u7.u7", 0x200001, 0x080000, CRC(27628e87) SHA1(a0effd83dc57ac72ba4f110737a075705d78e798) ) + ROM_LOAD16_BYTE( "olv_111_taiwan_u11.u11", 0x200000, 0x080000, CRC(23f33bc9) SHA1(f24490370d40d905afe8b716a3953b4e9f0aada4) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + // Different labels comparing to others sets except for PGM B0102 in U2 and PGM M0100 in U1; it probably needs to be dumped + ROM_LOAD( "pgm_a0100b.u5", 0x0000000, 0x400000, BAD_DUMP CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101b.u8", 0x0400000, 0x400000, BAD_DUMP CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102b.u6", 0x0800000, 0x400000, BAD_DUMP CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103b.u9", 0x0c00000, 0x400000, BAD_DUMP CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104b.u7", 0x1000000, 0x400000, BAD_DUMP CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105b.u10", 0x1400000, 0x400000, BAD_DUMP CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100b.u11", 0x0000000, 0x400000, BAD_DUMP CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101b.u12", 0x0400000, 0x400000, BAD_DUMP CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u2", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + + +/* + +Oriental Legend / Xi You Shi E Zhuan (KOREA 111 Ver.) +(c)1997 IGS + +Top board +--------- +PCB Number: IGS PCB NO-0134-2 + +OLV 111 KOREA U6.U6 [1ff35baa] +OLV 111 KOREA U7.U7 [27628e87] +OLV 111 KOREA U9.U9 [87b6d202] +OLV 111 KOREA U11.U11 [23f33bc9] + +PGM T0100.U8 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0135 + +PGM A0100.U5 +PGM A0101.U6 +PGM A0102.U7 +PGM A0103.U8 +PGM A0104.U11 +PGM A0105.U12 + +PGM B0100.U9 +PGM B0101.U10 +PGM B0102.U15 + +PGM M0100.U1 + +*/ + +ROM_START( orlegend111k ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "olv_111_korea_u6.u6", 0x100001, 0x080000, CRC(1ff35baa) SHA1(f6791cc37ea468d0154b0e31a99f6f33a74bca81) ) + ROM_LOAD16_BYTE( "olv_111_korea_u9.u9", 0x100000, 0x080000, CRC(87b6d202) SHA1(32828166a645158630f79e7d493a2774e69bc265) ) + ROM_LOAD16_BYTE( "olv_111_korea_u7.u7", 0x200001, 0x080000, CRC(27628e87) SHA1(a0effd83dc57ac72ba4f110737a075705d78e798) ) + ROM_LOAD16_BYTE( "olv_111_korea_u11.u11", 0x200000, 0x080000, CRC(23f33bc9) SHA1(f24490370d40d905afe8b716a3953b4e9f0aada4) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + + +/* + +Oriental Legend / Xi You Shi E Zhuan (TAIWAN 105 Ver.) +(c)1997 IGS + +Top board +--------- +PCB Number: IGS PCB NO-0134-2 + +OLV 105 TAIWAN U6.U6 [2b14331f] +OLV 105 TAIWAN U7.U7 [5712facc] +OLV 105 TAIWAN U9.U9 [ae9d71e4] +OLV 105 TAIWAN U11.U11 [40ae4d9e] + +PGM T0100.U8 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0135 + +PGM A0100.U5 +PGM A0101.U6 +PGM A0102.U7 +PGM A0103.U8 +PGM A0104.U11 +PGM A0105.U12 + +PGM B0100.U9 +PGM B0101.U10 +PGM B0102.U15 + +PGM M0100.U1 + +*/ + +ROM_START( orlegend105t ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "olv_105_taiwan_u6.u6", 0x100001, 0x080000, CRC(2b14331f) SHA1(3909b5480764916761895ad3f25dd4f40762a2d8) ) + ROM_LOAD16_BYTE( "olv_105_taiwan_u9.u9", 0x100000, 0x080000, CRC(ae9d71e4) SHA1(20f84c18808a80464f22c72eafe7680690274f39) ) + ROM_LOAD16_BYTE( "olv_105_taiwan_u7.u7", 0x200001, 0x080000, CRC(5712facc) SHA1(2d95ebd1703874e89ac3a206f8c1f0ece6e833e0) ) + ROM_LOAD16_BYTE( "olv_105_taiwan_u11.u11", 0x200000, 0x080000, CRC(40ae4d9e) SHA1(62d7a96438b7fe93f74753333f50e077d417971e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +/* + +Oriental Legend / Xi You Shi E Zhuan (KOREA 105 Ver.) +(c)1997 IGS + +Top board +--------- +PCB Number: IGS PCB NO-0134-2 +IGS PCB NO-0135 + +OLV 105 KOREA U6.U6 [b86703fe] +OLV 105 KOREA U7.U7 [5712facc] +OLV 105 KOREA U9.U9 [5a108e39] +OLV 105 KOREA U11.U11 [40ae4d9e] + +PGM T0100.U8 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0135 + +PGM A0100.U5 +PGM A0101.U6 +PGM A0102.U7 +PGM A0103.U8 +PGM A0104.U11 +PGM A0105.U12 + +PGM B0100.U9 +PGM B0101.U10 +PGM B0102.U15 + +PGM M0100.U1 + +*/ + +ROM_START( orlegend105k ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "olv_105_korea_u6.u6", 0x100001, 0x080000, CRC(b86703fe) SHA1(a3529b45efd400ecd5e76f764b528ebce46e24ab) ) + ROM_LOAD16_BYTE( "olv_105_korea_u9.u9", 0x100000, 0x080000, CRC(5a108e39) SHA1(2033f4fe3f2dfd725dac535324f58348b9ac3914) ) + ROM_LOAD16_BYTE( "olv_105_korea_u7.u7", 0x200001, 0x080000, CRC(5712facc) SHA1(2d95ebd1703874e89ac3a206f8c1f0ece6e833e0) ) + ROM_LOAD16_BYTE( "olv_105_korea_u11.u11", 0x200000, 0x080000, CRC(40ae4d9e) SHA1(62d7a96438b7fe93f74753333f50e077d417971e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +/* + +Dragon World 2 (English / World Version) +IGS, 1997 + +This is a cart for the IGS PGM system. + + +PCB Layout +---------- + +IGS PCB NO-0162 +|-----------------------------------------------| +| |------| | +| |IGS012| *1 T0200.U7 | +| | | | +| |------| | +| |--------| | +| | | | +| | IGS025 | *2 V-110X.U2 | +| PAL PAL | | PAL | +| |--------| | +|-| |-| + |--------------------||---------------------| +Notes: + IGS012 - Custom IGS IC (QFP80) + + -- on english version + IGS025 - Custom IGS IC (PLCC68, labelled "DRAGON II 0006") + -- on china version + IGS025 - Custom IGS IC (PLCC68, labelled "DRAGON II 0005") + + + T0200.U7 - 32MBit MaskROM (SOP44) + + -- on english version + V-110X.U2 - AM27C4096 4MBit EPROM (DIP42, labelled "DRAGON II V-110X") + -- on china version + V-110X.U2 - AM27C4096 4MBit EPROM (DIP42, labelled "DRAGON II V-100C") + + PALs - x3, labelled "CZ U3", "CZ U4", "CZ U6" + *1 - Unpopulated position for MX23C4100 SOP40 mask ROM + *2 - Unpopulated position for MX23C4100 DIP40 EPROM/mask ROM + + +IGS PCB NO-0135 +|-----------------------------------------------| +| U11 U12 U13 U14 U15 U16| +| | +| | +|A0200.U5 B0200.U9 | +| U6 U7 U8 U10| +| | +| | +|74LS138 U1 U2 74LS139| +| | +|-| |-| + |--------------------||---------------------| + +Notes: + This PCB contains only SOP44 mask ROMS and 2 logic IC's + Only U5 and U9 are populated + + glitch on select screen exists on real board. + +*/ + +ROM_START( drgw2 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dragon_ii_v-110x.u2", 0x100000, 0x080000, CRC(1978106b) SHA1(af8a13d7783b755a58762c98bdc32cab845b2251) ) + ROM_RELOAD(0x180000,0x80000) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0200.u7", 0x180000, 0x400000, CRC(b0f6534d) SHA1(174cacd81169a0e0d14790ac06d03caed737e05d) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0200.u5", 0x0000000, 0x400000, CRC(13b95069) SHA1(4888b06002afb18eab81c010e9362629045767af) ) + + ROM_REGION16_LE( 0x0400000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0200.u9", 0x0000000, 0x400000, CRC(932d0f13) SHA1(4b8e008f9c617cb2b95effeb81abc065b30e5c86) ) + + ROM_REGION( 0x400000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS +ROM_END + +ROM_START( drgw2100x ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dragon_ii_v-100x.u2", 0x100000, 0x080000, CRC(5e71851d) SHA1(62052469f69daec88efd26652c1b893d6f981912) ) + ROM_RELOAD(0x180000,0x80000) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0200.u7", 0x180000, 0x400000, CRC(b0f6534d) SHA1(174cacd81169a0e0d14790ac06d03caed737e05d) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0200.u5", 0x0000000, 0x400000, CRC(13b95069) SHA1(4888b06002afb18eab81c010e9362629045767af) ) + + ROM_REGION16_LE( 0x0400000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0200.u9", 0x0000000, 0x400000, CRC(932d0f13) SHA1(4b8e008f9c617cb2b95effeb81abc065b30e5c86) ) + + ROM_REGION( 0x400000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS +ROM_END + +ROM_START( drgw2101c ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dragon_ii_v-101c.u2", 0x100000, 0x080000, CRC(b0c592fa) SHA1(87ccfdb940303ebcf42cb2952aecae97648c1e0d) ) + ROM_RELOAD(0x180000,0x80000) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0200.u7", 0x180000, 0x400000, CRC(b0f6534d) SHA1(174cacd81169a0e0d14790ac06d03caed737e05d) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0200.u5", 0x0000000, 0x400000, CRC(13b95069) SHA1(4888b06002afb18eab81c010e9362629045767af) ) + + ROM_REGION16_LE( 0x0400000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0200.u9", 0x0000000, 0x400000, CRC(932d0f13) SHA1(4b8e008f9c617cb2b95effeb81abc065b30e5c86) ) + + ROM_REGION( 0x400000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS +ROM_END + +ROM_START( drgw2100c ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dragon_ii_v-100c.u2", 0x100000, 0x080000, CRC(67467981) SHA1(58af01a3871b6179fe42ff471cc39a2161940043) ) + ROM_RELOAD(0x180000,0x80000) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0200.u7", 0x180000, 0x400000, CRC(b0f6534d) SHA1(174cacd81169a0e0d14790ac06d03caed737e05d) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0200.u5", 0x0000000, 0x400000, CRC(13b95069) SHA1(4888b06002afb18eab81c010e9362629045767af) ) + + ROM_REGION16_LE( 0x0400000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0200.u9", 0x0000000, 0x400000, CRC(932d0f13) SHA1(4b8e008f9c617cb2b95effeb81abc065b30e5c86) ) + + ROM_REGION( 0x400000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS +ROM_END + +ROM_START( drgw2100j ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dragon_ii_v100j.u2", 0x100000, 0x080000, CRC(f8f8393e) SHA1(ef0db668b4e4f661d4c1e95d57afe881bcdf13cc) ) + ROM_RELOAD(0x180000,0x80000) + // A cart has been found with same contents but ROM label on sticker is DRAGON II V101J. + // Is this correct or wrong sticker applied? + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0200.u7", 0x180000, 0x400000, CRC(b0f6534d) SHA1(174cacd81169a0e0d14790ac06d03caed737e05d) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0200.u5", 0x0000000, 0x400000, CRC(13b95069) SHA1(4888b06002afb18eab81c010e9362629045767af) ) + + ROM_REGION16_LE( 0x0400000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0200.u9", 0x0000000, 0x400000, CRC(932d0f13) SHA1(4b8e008f9c617cb2b95effeb81abc065b30e5c86) ) + + ROM_REGION( 0x400000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS +ROM_END + +ROM_START( drgw2100hk ) // the IGS025 has a "DRAGON-II 0004-1" sticker, the IGS012 has no per-game marking + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dragon_ii_v-100-h.u2", 0x100000, 0x080000, CRC(c6e2e6ec) SHA1(84145dfb26857ea20efb233363f175bc9bb25b0c) ) + ROM_RELOAD(0x180000,0x80000) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0200.u7", 0x180000, 0x400000, CRC(b0f6534d) SHA1(174cacd81169a0e0d14790ac06d03caed737e05d) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0200.u5", 0x0000000, 0x400000, CRC(13b95069) SHA1(4888b06002afb18eab81c010e9362629045767af) ) + + ROM_REGION16_LE( 0x0400000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0200.u9", 0x0000000, 0x400000, CRC(932d0f13) SHA1(4b8e008f9c617cb2b95effeb81abc065b30e5c86) ) + + ROM_REGION( 0x400000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS +ROM_END + +/* + +Dragon World 3 (CHINA 106 Ver.) +(c)1998 IGS + +Top board +--------- +PCB Number: IGS PCB NO-0189-1 + +DW3 V106 U12.U12 [c3f6838b] +DW3 V106 U13.U13 [28284e22] + +DW3 TEXT U15.U15 + +PGM T0400.U18 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0178 + +PGM A0400.U9 +PGM A0401.U10 + +PGM B0400.U13 + +PGM M0400.U1 + +*/ + +ROM_START( drgw3 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "dw3_v106_u12.u12", 0x100001, 0x080000, CRC(c3f6838b) SHA1(c135b1d4dd62af308139d40d03c29be7508fb1e7) ) + ROM_LOAD16_BYTE( "dw3_v106_u13.u13", 0x100000, 0x080000, CRC(28284e22) SHA1(4643a69881ddb7383ca10f3eb2aa2cf41be39e9f) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data - is it correct for this set? + ROM_LOAD( "dw3_text_u15.u15", 0x000000, 0x010000, CRC(03dc4fdf) SHA1(b329b04325d4f725231b1bb7862eedef2319b652) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0400.u18", 0x180000, 0x400000, CRC(b70f3357) SHA1(8733969d7d21f540f295a9f747a4bb8f0d325cf0) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0400.u9", 0x0000000, 0x400000, CRC(dd7bfd40) SHA1(fb7ec5bf89a413c5208716083762a725ff63f5db) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0401.u10", 0x0400000, 0x400000, CRC(cab6557f) SHA1(1904dd86645eea27ac1ab8a2462b20f6531356f8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0400.u13", 0x0000000, 0x400000, CRC(4bb87cc0) SHA1(71b2dc43fd11f7a6dffaba501e4e344b843583d8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0400.u1", 0x400000, 0x400000, CRC(031eb9ce) SHA1(0673ec194732becc6648c2ae1396e894aa269f9a) ) +ROM_END + + +ROM_START( drgw3105 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "dw3_v105_u12.u12", 0x100001, 0x080000, CRC(c5e24318) SHA1(c6954495bbc72c3985df75aecf6afd6826c8e30e) ) + ROM_LOAD16_BYTE( "dw3_v105_u13.u13", 0x100000, 0x080000, CRC(8d6c9d39) SHA1(cb79303ab551e91f07e11414db4254d5b161d415) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data - is it correct for this set? + ROM_LOAD( "dw3_v100_u15.u15", 0x000000, 0x010000, CRC(03dc4fdf) SHA1(b329b04325d4f725231b1bb7862eedef2319b652) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0400.u18", 0x180000, 0x400000, CRC(b70f3357) SHA1(8733969d7d21f540f295a9f747a4bb8f0d325cf0) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0400.u9", 0x0000000, 0x400000, CRC(dd7bfd40) SHA1(fb7ec5bf89a413c5208716083762a725ff63f5db) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0401.u10", 0x0400000, 0x400000, CRC(cab6557f) SHA1(1904dd86645eea27ac1ab8a2462b20f6531356f8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0400.u13", 0x0000000, 0x400000, CRC(4bb87cc0) SHA1(71b2dc43fd11f7a6dffaba501e4e344b843583d8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0400.u1", 0x400000, 0x400000, CRC(031eb9ce) SHA1(0673ec194732becc6648c2ae1396e894aa269f9a) ) +ROM_END + +ROM_START( drgw3103 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "dragon_iii_v103j_u12.u12", 0x100001, 0x080000, CRC(275b39a2) SHA1(8ba4d2601734c2dda3d4269fbe8f543dc3f0b212) ) + ROM_LOAD16_BYTE( "dragon_iii_v103j_u13.u13", 0x100000, 0x080000, CRC(9aa56e8f) SHA1(c3f27d8b59adf72040a2e2c11e34f9b07efd7e9e) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "dw3_v100_u15.u15", 0x000000, 0x010000, CRC(03dc4fdf) SHA1(b329b04325d4f725231b1bb7862eedef2319b652) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0400.u18", 0x180000, 0x400000, CRC(b70f3357) SHA1(8733969d7d21f540f295a9f747a4bb8f0d325cf0) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0400.u9", 0x0000000, 0x400000, CRC(dd7bfd40) SHA1(fb7ec5bf89a413c5208716083762a725ff63f5db) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0401.u10", 0x0400000, 0x400000, CRC(cab6557f) SHA1(1904dd86645eea27ac1ab8a2462b20f6531356f8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0400.u13", 0x0000000, 0x400000, CRC(4bb87cc0) SHA1(71b2dc43fd11f7a6dffaba501e4e344b843583d8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0400.u1", 0x400000, 0x400000, CRC(031eb9ce) SHA1(0673ec194732becc6648c2ae1396e894aa269f9a) ) +ROM_END + + +/* + +Chuugokuryuu 3 Special (JAPAN 100 Ver.) +Alta Co./IGS, 1998 + +Top board +--------- +PCB Number: IGS PCB-0189 + +8MHz Xtal +32.768kHz Xtal +UM6164 (RAM x 2) +MACH211 CPLD +IGS022 ASIC +IGS025 ASIC +1x PAL + +2x 27C040 EPROMs (main 68k program) +DW3 V100 U12.U12 +DW3 V100 U13.U13 + +1x 27C512 EPROM (protection code?) +DW3 V100 U15.U15 + +1x 32MBit smt mask ROM +PGM T0400.U18 + +Bottom Board +------------ +PCB Number: IGS PCB-0178 + +4x 32MBit smt mask ROMs +PGM A0400.U9 +PGM A0401.U10 + +PGM B0400.U13 + +PGM M0400.U1 + +*/ + +ROM_START( drgw3100 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "dw3_v100_u12.u12", 0x100001, 0x080000, CRC(47243906) SHA1(9cd46e3cba97f049bcb238ceb6edf27a760ef831) ) + ROM_LOAD16_BYTE( "dw3_v100_u13.u13", 0x100000, 0x080000, CRC(b7cded21) SHA1(c1ae2af2e42227503c81bbcd2bd6862aa416bd78) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "dw3_v100_u15.u15", 0x000000, 0x010000, CRC(03dc4fdf) SHA1(b329b04325d4f725231b1bb7862eedef2319b652) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0400.u18", 0x180000, 0x400000, CRC(b70f3357) SHA1(8733969d7d21f540f295a9f747a4bb8f0d325cf0) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0400.u9", 0x0000000, 0x400000, CRC(dd7bfd40) SHA1(fb7ec5bf89a413c5208716083762a725ff63f5db) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0401.u10", 0x0400000, 0x400000, CRC(cab6557f) SHA1(1904dd86645eea27ac1ab8a2462b20f6531356f8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0400.u13", 0x0000000, 0x400000, CRC(4bb87cc0) SHA1(71b2dc43fd11f7a6dffaba501e4e344b843583d8) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0400.u1", 0x400000, 0x400000, CRC(031eb9ce) SHA1(0673ec194732becc6648c2ae1396e894aa269f9a) ) +ROM_END + +/* + +Dragon World EX IGS PGM cart + +Top board +--------- +PCB Number: IGS PCB-0189-1 +8MHz XTAL +2x 27C040 EPROMs at U12, U13 +27C512 EPROM at U15 +PAL at U17 +2x 6164 SRAM at U1, U4 +MACH211 at U11 +IGS022 at U14 +IGS025 at U16 +16M SOP44 mask ROM at U18 + +Bottom Board +------------ +PCB Number: IGS PCB-0178 +2x 16M mask ROMs at U1, U10 +2x 32M mask ROMs at U9, U13 + +*/ + +// seems to be an updated version of dw3, most roms are the same, but it's a sequel, not a clone. +// the non-program roms that differ are actually the same, but in the dw3 sets they're double sized with duplicate data (overdumped, or just different roms used on pcb?) +ROM_START( dwex ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "dwex_v100.u12", 0x100001, 0x080000, CRC(bc171799) SHA1(142329dffbca199f3e748a52146a03e27b36db6a) ) // V100 08/16/00 09:39:27 + ROM_LOAD16_BYTE( "dwex_v100.u13", 0x100000, 0x080000, CRC(7afe6322) SHA1(a52d71af1d6de16c5a3df23eacdab3466693ba8d) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "dwiii_data_u15.u15", 0x000000, 0x010000, CRC(03dc4fdf) SHA1(b329b04325d4f725231b1bb7862eedef2319b652) ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0400.u18", 0x180000, 0x200000, CRC(9ecc950d) SHA1(fd97f43818a3eb18254636166871fa09bd0d6c07) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0400.u9", 0x0000000, 0x400000, CRC(dd7bfd40) SHA1(fb7ec5bf89a413c5208716083762a725ff63f5db) ) + ROM_LOAD( "pgm_a0401.u10", 0x0400000, 0x200000, CRC(d36c06a4) SHA1(f192e8bfdfbe3d82a49d8f0d3cb0603e39719773) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0400.u13", 0x0000000, 0x400000, CRC(4bb87cc0) SHA1(71b2dc43fd11f7a6dffaba501e4e344b843583d8) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0400.u1", 0x400000, 0x200000, CRC(42d54fd5) SHA1(ad915b514aa6cae6f72dea78e6208f40b08ceac0) ) +ROM_END + +ROM_START( dwex101cn ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "dwex_v101cn.u12", 0x100001, 0x080000, CRC(4f951f42) SHA1(830a943ce34c63ce418f60d913fae333377a9704) ) // V101CN (China) / V100 (other regions) 12/12/01 09:45:00 + ROM_LOAD16_BYTE( "dwex_v101cn.u13", 0x100000, 0x080000, CRC(66172511) SHA1(eb1a6fc9c22f04fcca0395a4b5c2972438c60a78) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "dwiii_data_u15.u15", 0x000000, 0x010000, CRC(03dc4fdf) SHA1(b329b04325d4f725231b1bb7862eedef2319b652) ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0400.u18", 0x180000, 0x200000, CRC(9ecc950d) SHA1(fd97f43818a3eb18254636166871fa09bd0d6c07) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0400.u9", 0x0000000, 0x400000, CRC(dd7bfd40) SHA1(fb7ec5bf89a413c5208716083762a725ff63f5db) ) + ROM_LOAD( "pgm_a0401.u10", 0x0400000, 0x200000, CRC(d36c06a4) SHA1(f192e8bfdfbe3d82a49d8f0d3cb0603e39719773) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0400.u13", 0x0000000, 0x400000, CRC(4bb87cc0) SHA1(71b2dc43fd11f7a6dffaba501e4e344b843583d8) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0400.u1", 0x400000, 0x200000, CRC(42d54fd5) SHA1(ad915b514aa6cae6f72dea78e6208f40b08ceac0) ) +ROM_END + + +/* + +Sangoku Senki / Knights of Valour (HONG KONG 117 Ver.) +(c)1999 ALTA / IGS + +Top board +--------- +PCB Number: IGS PCB NO-0212-2 + +PGM P0601 V117.U1 [c4d19fe6] + +PGM T0600.U11 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0213T + +PGM A0600.U2 +PGM A0601.U4 +PGM A0602.U6 +PGM A0603.U9 + +PGM M0600.U3 + +PGM B0600.U5 +PGM B0601.U7 + +*/ + +ROM_START( kov ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0601_v117.u1", 0x100000, 0x400000, CRC(c4d19fe6) SHA1(14ef31539bfbc665e76c9703ee01b12228344052) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kov115 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.115", 0x100000, 0x400000, CRC(527a2924) SHA1(7e3b166dddc5245d7b408e78437c16fd2986d1d9) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +/* + +Sangoku Senki / Knights of Valour (HONG KONG 114 Ver.) +(c)1999 ALTA / IGS + +Top board +--------- +PCB Number: IGS PCB NO-0212-1 + +SAV111 U4.U4 [ae2f1b4e] +SAV111 U5.U5 [5fdd4aa8] +SAV111 U7.U7 [95eedf0e] +SAV111 U8.U8 [003cbf49] +SAV111 U10.U10 [d5536107] + +T0600.U11 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0213T + +PGM A0600.U2 +PGM A0601.U4 +PGM A0602.U6 +PGM A0603.U9 + +PGM M0600.U3 + +PGM B0600.U5 +PGM B0601.U7 + +*/ + +ROM_START( kov114 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "sav114_u4.u4", 0x100001, 0x080000, CRC(4db3d4d3) SHA1(924734ec3b3d6de21872890b9575f72f81c7b636) ) + ROM_LOAD16_BYTE( "sav114_u7.u7", 0x100000, 0x080000, CRC(b8d12b0c) SHA1(f4c02e494a479c3021b56bb87341d507104f93d5) ) + ROM_LOAD16_BYTE( "sav114_u5.u5", 0x200001, 0x080000, CRC(9e586dab) SHA1(3de948decf2b7bcbbbc37d2e6fa7a2a71f0b8d5e) ) + ROM_LOAD16_BYTE( "sav114_u8.u8", 0x200000, 0x080000, CRC(ab129997) SHA1(b0e56a09df0def3e8b584ca6f53cd3c88634653e) ) + ROM_LOAD16_WORD_SWAP( "sav114_u10.u10", 0x300000, 0x080000, CRC(8f84ecfd) SHA1(2e7f322da6c4b1d6daf7a308229f4cf2e69fda8f) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov_igs027.bin", 0x000000, 0x04000, NO_DUMP ) // IGS 027 55857E 100 9901 HONG KONG + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +/* + +Sangoku Senki / Knights of Valour (JAPAN 111 Ver.) +(c)1999 ALTA / IGS + +Top board +--------- +PCB Number: IGS PCB NO-0212-1 +IGS PCB NO-0213T + +SAV111 U4.U4 [ae2f1b4e] +SAV111 U5.U5 [5fdd4aa8] +SAV111 U7.U7 [95eedf0e] +SAV111 U8.U8 [003cbf49] +SAV111 U10.U10 [d5536107] + +PGM T0600.U11 + +Bottom Board +------------ +PCB Number: IGS PCB NO-0213T + +PGM A0600.U2 +PGM A0601.U4 +PGM A0602.U6 +PGM A0603.U9 + +PGM M0600.U3 + +PGM B0600.U5 +PGM B0601.U7 + +*/ + +ROM_START( kov111 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "sav111_u4.u4", 0x100001, 0x080000, CRC(ae2f1b4e) SHA1(2ac9d84f5dee52f374941cfd68e2b98ecad436a8) ) + ROM_LOAD16_BYTE( "sav111_u7.u7", 0x100000, 0x080000, CRC(95eedf0e) SHA1(582a54e9a1eda7ff73e20f0e69d2d50141772378) ) + ROM_LOAD16_BYTE( "sav111_u5.u5", 0x200001, 0x080000, CRC(5fdd4aa8) SHA1(43c96e21ad4f11148e1e94a59c53780b2edd43ba) ) + ROM_LOAD16_BYTE( "sav111_u8.u8", 0x200000, 0x080000, CRC(003cbf49) SHA1(fb5bea47ecae025b1b425af52cd05e061f45e377) ) + ROM_LOAD16_WORD_SWAP( "sav111_u10.u10", 0x300000, 0x080000, CRC(d5536107) SHA1(f963e015d99c1621323eecf63e773c0b9f4b6a43) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovplus ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0603_v119.u1", 0x100000, 0x400000, CRC(e4b0875d) SHA1(e8382e131b0e431406dc2a05cc1ef128302d987c) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + + +/* + +Sangoku Senki Plus / Knights of Valour Plus (Alt 119 Ver.) +(c)1999 IGS + +PGM system +IGS PCB NO-0212-1 +IGS PCB NO-0213T + + +V119.U2 [29588ef2] +V119.U3 [6750388f] +V119.U4 [8200ece6] +V119.U5 [d4101ffd] +V119.U6 [71e28f27] + +T0600.U11 + + +A0600.U2 +A0601.U4 +A0602.U6 +A0603.U9 + +M0600.U3 + +B0600.U5 +B0601.U7 + +*/ + +ROM_START( kovplusa ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "v119.u4", 0x100001, 0x080000, CRC(6750388f) SHA1(869f4ad27f2992cc62baa9a78bf7984a43ec4cc5) ) + ROM_LOAD16_BYTE( "v119.u7", 0x100000, 0x080000, CRC(d4101ffd) SHA1(a327fd56eec65b07df9305cd93ef2c46bf8e40f3) ) + ROM_LOAD16_BYTE( "v119.u5", 0x200001, 0x080000, CRC(8200ece6) SHA1(97081d2e8aed2ac6fbe5951890aecea18af5ce2e) ) + ROM_LOAD16_BYTE( "v119.u8", 0x200000, 0x080000, CRC(71e28f27) SHA1(db382807e9185f0dc17124f210165fa1b36ca6ac) ) + ROM_LOAD16_WORD_SWAP( "v119.u10", 0x300000, 0x080000, CRC(29588ef2) SHA1(17d1a308d44434cf65224a24360cf4b6e32d28f3) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsgqyz ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_sgqyz.rom", 0x100000, 0x400000, CRC(18e1eed9) SHA1(db18d9121bb533140957e9c58dbc38211d164b01) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsgqyz_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) // bootleg is probably a different device + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "qyza0603.rom", 0x1800000, 0x0800000, CRC(c8b92220) SHA1(4f9c43970d92ac8a8f1563021022797ae8e32012) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "qyzb0601.rom", 0x0800000, 0x0800000, CRC(64f55882) SHA1(ab9ac1396587c3d78d06f6ec83cab61d6a9faacd) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsgqyza ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_sgqyza.rom", 0x100000, 0x400000, CRC(5a30dcb7) SHA1(64f34faf99a19c0a54899990695129c512d5a3c8) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsgqyza_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) // bootleg is probably a different device + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "qyza0603.rom", 0x1800000, 0x0800000, CRC(c8b92220) SHA1(4f9c43970d92ac8a8f1563021022797ae8e32012) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "qyzb0601.rom", 0x0800000, 0x0800000, CRC(64f55882) SHA1(ab9ac1396587c3d78d06f6ec83cab61d6a9faacd) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsgqyzb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_sgqyzb.rom", 0x100000, 0x400000, CRC(18b8b9c0) SHA1(f4937aa21cd11af16fb50e7a75c8d4c4ed27c5cf) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsgqyzb_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) // bootleg is probably a different device + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "qyza0603.rom", 0x1800000, 0x0800000, CRC(c8b92220) SHA1(4f9c43970d92ac8a8f1563021022797ae8e32012) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "qyzb0601.rom", 0x0800000, 0x0800000, CRC(64f55882) SHA1(ab9ac1396587c3d78d06f6ec83cab61d6a9faacd) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsh ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0605_v104.u1", 0x100000, 0x400000, CRC(7c78e5f3) SHA1(9b1e4bd63fb1294ebeb539966842273c8dc7683b) ) + //ROM_LOAD16_WORD_SWAP( "kovsh-v0104-u1.bin", 0x100000, 0x400000, CRC(4e2ba39b) SHA1(f3b5aa6f45cfd5a7f1e2a2e893d1652a3f23d6b8) ) // identical but the last 1MB is filled with 0xff instead of 0x00 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + // all roms below need checking to see if they're the same on this board + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsh103 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0604_v103.u1", 0x100000, 0x400000, CRC(f0b3da82) SHA1(4067beb69c049b51bce6154f4cf880600ca4de11) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + // all roms below need checking to see if they're the same on this board + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsh102 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.102", 0x100000, 0x400000, CRC(fdd4fb0f) SHA1(6906ce68f37b82e52ba30e5cceb1304d9e01430a) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + // all roms below need checking to see if they're the same on this board + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsh101 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.101", 0x100000, 0x400000, CRC(517a9bcf) SHA1(1ee0333aee2a7569e15bb2a1be8dd03f8b08e08c) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + // all roms below need checking to see if they're the same on this board + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsh100 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "kovsh-v0100-u1.bin", 0x100000, 0x400000, CRC(d145c1ca) SHA1(ce4da36791bc5eea9fe1ef6db180d789bab0bab7) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + // all roms below need checking to see if they're the same on this board + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovqhsgs ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "qhsg_c51.rom", 0x100000, 0x400000, CRC(e5cbac85) SHA1(4b424206387057863990b04f6d5bd0b6f754814f) ) // V300CN V303CN Nov 21 2008 19:03:49 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "qhsg_prot.c51", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) // second half identical + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) // 400000-7fffff empty + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) // c00000-ffffff empty +ROM_END + + +/* + +p0701_v105.u2 + +IGS PCB NO-0220-1 +PGM P0701 V105 +1B2687LC +C994746 + +*/ + +ROM_START( photoy2k ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0701_v105.u2", 0x100000, 0x200000, CRC(fab142e0) SHA1(8dc7e53b740ed68bac98c0ef7ca4943c517e6f5d) ) // 10/12/99 21:07:53 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_photoy2k_v100_china.asic", 0x000000, 0x04000, CRC(1a0b68f6) SHA1(290441ed652f54b26ace8f59a26220881fb62084) ) // 3 bytes differ from the read in the other sets. I think this one is GOOD and the other is bad. This always gives the same read, so unless the actual chips is bad... TBC + + ROM_REGION( 0x280000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0700.u11", 0x180000, 0x080000, CRC(93943b4d) SHA1(3b439903853727d45d62c781af6073024eb3c5a3) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0700.u2", 0x0000000, 0x0800000, CRC(503c855b) SHA1(aa910cc33a23ac8f1c91f88da388ed92e49fa1b8) ) + ROM_LOAD( "pgm_a0701.u4", 0x0800000, 0x0800000, CRC(845e11a8) SHA1(9e35d0e6620acd023eba83f86d970e9895204767) ) + ROM_LOAD( "pgm_a0702.u3", 0x1000000, 0x0080000, CRC(42239e1b) SHA1(2b6d20958abf8a67ce525d5c8964b6d225ccaeda) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0700.u7", 0x0000000, 0x0800000, CRC(8cd027f6) SHA1(e377c64facbf657f58b8567d8b483ca067967fc0) ) + ROM_LOAD( "photo_y2k_cg_v101_u6.u6", 0x0800000, 0x0020000, CRC(da02ec3e) SHA1(7ee21d748c9b932f53e790a9040167f904fecefc) ) + + ROM_REGION( 0x480000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0700.u5", 0x400000, 0x080000, CRC(acc7afce) SHA1(ac2d344ebac336f0f363bb045dd8ea4e83d1fb50) ) +ROM_END + + +ROM_START( photoy2k104 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v104.16m", 0x100000, 0x200000, CRC(e051070f) SHA1(a5a1a8dd7542a30632501af8d02fda07475fd9aa) ) // 06/10/99 17:28:34 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_photoy2k_v100_china_alt.asic", 0x000000, 0x04000, CRC(6dd7f257) SHA1(1984f98a282d8b3264674f231c3b7def1757cf72) ) + + ROM_REGION( 0x280000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0700.u11", 0x180000, 0x080000, CRC(93943b4d) SHA1(3b439903853727d45d62c781af6073024eb3c5a3) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0700.u2", 0x0000000, 0x0800000, CRC(503c855b) SHA1(aa910cc33a23ac8f1c91f88da388ed92e49fa1b8) ) + ROM_LOAD( "pgm_a0701.u4", 0x0800000, 0x0800000, CRC(845e11a8) SHA1(9e35d0e6620acd023eba83f86d970e9895204767) ) + ROM_LOAD( "pgm_a0702.u3", 0x1000000, 0x0080000, CRC(42239e1b) SHA1(2b6d20958abf8a67ce525d5c8964b6d225ccaeda) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0700.u7", 0x0000000, 0x0800000, CRC(8cd027f6) SHA1(e377c64facbf657f58b8567d8b483ca067967fc0) ) + ROM_LOAD( "photo_y2k_cg_v101_u6.u6", 0x0800000, 0x0020000, CRC(da02ec3e) SHA1(7ee21d748c9b932f53e790a9040167f904fecefc) ) + + ROM_REGION( 0x480000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0700.u5", 0x400000, 0x080000, CRC(acc7afce) SHA1(ac2d344ebac336f0f363bb045dd8ea4e83d1fb50) ) +ROM_END + + +ROM_START( photoy2k103j ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "photo_y2k_v103_u4.u4", 0x100001, 0x080000, CRC(c16dc699) SHA1(062d38ed32f56c1e640c5e2be046bc6e150123b1) ) // 05/10/99 13:32:52 + ROM_LOAD16_BYTE( "photo_y2k_v103_u6.u6", 0x100000, 0x080000, CRC(2e2671a4) SHA1(5f37b6d789fedeb5e291081f2908061f30875dc6) ) + ROM_LOAD16_BYTE( "photo_y2k_v103_u5.u5", 0x200001, 0x080000, CRC(97839a61) SHA1(bf34e3fab90a846baa5b5e0a3c3d9d99a603c8ee) ) + ROM_LOAD16_BYTE( "photo_y2k_v103_u8.u8", 0x200000, 0x080000, CRC(43af9664) SHA1(00dc74960cb126adfc223783b09a2787fe37625e) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_photoy2k_v100_china.asic", 0x000000, 0x04000, CRC(1a0b68f6) SHA1(290441ed652f54b26ace8f59a26220881fb62084) ) + + ROM_REGION( 0x280000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0700.u11", 0x180000, 0x080000, CRC(93943b4d) SHA1(3b439903853727d45d62c781af6073024eb3c5a3) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0700.u2", 0x0000000, 0x0800000, CRC(503c855b) SHA1(aa910cc33a23ac8f1c91f88da388ed92e49fa1b8) ) + ROM_LOAD( "pgm_a0701.u4", 0x0800000, 0x0800000, CRC(845e11a8) SHA1(9e35d0e6620acd023eba83f86d970e9895204767) ) + ROM_LOAD( "photo_yk2_cg_v101_u3.u3", 0x1000000, 0x0080000, CRC(42239e1b) SHA1(2b6d20958abf8a67ce525d5c8964b6d225ccaeda) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0700.u7", 0x0000000, 0x0800000, CRC(8cd027f6) SHA1(e377c64facbf657f58b8567d8b483ca067967fc0) ) + ROM_LOAD( "photo_y2k_cg_v101_u6.u6", 0x0800000, 0x0020000, CRC(da02ec3e) SHA1(7ee21d748c9b932f53e790a9040167f904fecefc) ) + + ROM_REGION( 0x480000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "photo_y2k_sp_v102_u5.u5", 0x400000, 0x080000, CRC(acc7afce) SHA1(ac2d344ebac336f0f363bb045dd8ea4e83d1fb50) ) +ROM_END + + +/* + +Real and Fake / Photo Y2K (JPN 102 Ver.) +(c)1999 ALTA / IGS + +PGM system +IGS PCB NO-0220 +IGS PCB NO-0221 + + +V102.U4 [a65eda9f] +V102.U5 [9201621b] +V102.U6 [b9ca5504] +V102.U8 [3be22b8f] + +T0700.U11 + + +A0700.U2 +A0701.U4 + +SP_V102.U5 + +B0700.U7 + +CG_V101.U3 +CG_V101.U6 + +*/ + +ROM_START( photoy2k102j ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "photo_y2k_v102_u4.u4", 0x100001, 0x080000, CRC(a65eda9f) SHA1(6307cacf4a262e781753eff14700a0455837780c) ) // 05/03/99 16:06:33 + ROM_LOAD16_BYTE( "photo_y2k_v102_u6.u6", 0x100000, 0x080000, CRC(b9ca5504) SHA1(058cf01316f233236ca9861349f515935283b75e) ) + ROM_LOAD16_BYTE( "photo_y2k_v102_u5.u5", 0x200001, 0x080000, CRC(9201621b) SHA1(1ca3ebe7eec40614bfa8b911657fa2b51f2c51a4) ) + ROM_LOAD16_BYTE( "photo_y2k_v102_u8.u8", 0x200000, 0x080000, CRC(3be22b8f) SHA1(03634fbd6a8a8369c6cb1fd6694a3784dac5bf59) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_photoy2k_v100_china_alt.asic", 0x000000, 0x04000, CRC(6dd7f257) SHA1(1984f98a282d8b3264674f231c3b7def1757cf72) ) + + ROM_REGION( 0x280000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0700.u11", 0x180000, 0x080000, CRC(93943b4d) SHA1(3b439903853727d45d62c781af6073024eb3c5a3) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0700.u2", 0x0000000, 0x0800000, CRC(503c855b) SHA1(aa910cc33a23ac8f1c91f88da388ed92e49fa1b8) ) + ROM_LOAD( "pgm_a0701.u4", 0x0800000, 0x0800000, CRC(845e11a8) SHA1(9e35d0e6620acd023eba83f86d970e9895204767) ) + ROM_LOAD( "pgm_a0702.u3", 0x1000000, 0x0080000, CRC(42239e1b) SHA1(2b6d20958abf8a67ce525d5c8964b6d225ccaeda) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0700.u7", 0x0000000, 0x0800000, CRC(8cd027f6) SHA1(e377c64facbf657f58b8567d8b483ca067967fc0) ) + ROM_LOAD( "photo_y2k_cg_v101_u6.u6", 0x0800000, 0x0020000, CRC(da02ec3e) SHA1(7ee21d748c9b932f53e790a9040167f904fecefc) ) + + ROM_REGION( 0x480000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "photo_y2k_sp_v102_u5.u5", 0x400000, 0x080000, CRC(acc7afce) SHA1(ac2d344ebac336f0f363bb045dd8ea4e83d1fb50) ) +ROM_END + + +/* + +Photo Y2K2 IGS PGM cart + +Top board +--------- +PCB Number: IGS PCB-0313-00T +27C160 EPROM at U1 +PAL at U3 +IGS027A at U4 + +Bottom Board +------------ +PCB Number: IGS PCB-0314-00 +1x 16M SOP44 mask ROM at U3 +6x 64M SOP44 mask ROMs at U4, U5, U6, U7, U8, U9 + +*/ + +ROM_START( py2k2 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "y2k2_m-101xx.u1", 0x100000, 0x200000, CRC(c47795f1) SHA1(5be4af4275571932d7740c3ea0857a1f58a3f6d9) ) // 68k (encrypted) 2nd half empty...; 05/25/01 11:02:54 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_photoy2k2.asic", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x280000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + // no extra tilemap rom + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1100.u6", 0x0000000, 0x0800000, CRC(e32ce499) SHA1(f84c7daa55c25a05da467b5654ebf432b7ce1754) ) + ROM_LOAD( "pgm_a1101.u7", 0x0800000, 0x0800000, CRC(4e7568bc) SHA1(bf9cc453191bd5ec9fbcce62891809f253a44267) ) + ROM_LOAD( "pgm_a1102.u8", 0x1000000, 0x0800000, CRC(6da7c143) SHA1(9408ba7722bfc8013f851aadea5e2819f5263129) ) + ROM_LOAD( "pgm_a1103.u9", 0x1800000, 0x0800000, CRC(0ebebfdc) SHA1(4faad7f97c7e734f179ec934a37e75d8d6adccf4) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1100.u4", 0x0000000, 0x0800000, CRC(fa53d6f6) SHA1(c2da55f4b7e721fa1c63bd7f9528f261643164e8) ) + ROM_LOAD( "pgm_b1101.u5", 0x0800000, 0x0800000, CRC(001e4c81) SHA1(21119055f8fd7f831529e73ff9c97bca3987a1dc)) + + ROM_REGION( 0x880000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1100.u3", 0x400000, 0x200000, CRC(fb1515f8) SHA1(90e5e5bfdac9a460445bf224952e4a536888dc1b) ) +ROM_END + +ROM_START( py2k2100 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "y2kii_v100.u1", 0x100000, 0x100000, CRC(7a1e36ac) SHA1(0ff9a30733ca8026e4acce45a8993c8ab4b242b5) ) // 68k (encrypted) 08/07/00 13:19:59 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_photoy2k2.asic", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x280000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + // no extra tilemap rom + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1100.u6", 0x0000000, 0x0800000, CRC(e32ce499) SHA1(f84c7daa55c25a05da467b5654ebf432b7ce1754) ) + ROM_LOAD( "pgm_a1101.u7", 0x0800000, 0x0800000, CRC(4e7568bc) SHA1(bf9cc453191bd5ec9fbcce62891809f253a44267) ) + ROM_LOAD( "pgm_a1102.u8", 0x1000000, 0x0800000, CRC(6da7c143) SHA1(9408ba7722bfc8013f851aadea5e2819f5263129) ) + ROM_LOAD( "pgm_a1103.u9", 0x1800000, 0x0800000, CRC(0ebebfdc) SHA1(4faad7f97c7e734f179ec934a37e75d8d6adccf4) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1100.u4", 0x0000000, 0x0800000, CRC(fa53d6f6) SHA1(c2da55f4b7e721fa1c63bd7f9528f261643164e8) ) + ROM_LOAD( "pgm_b1101.u5", 0x0800000, 0x0800000, CRC(001e4c81) SHA1(21119055f8fd7f831529e73ff9c97bca3987a1dc)) + + ROM_REGION( 0x880000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1100.u3", 0x400000, 0x200000, CRC(fb1515f8) SHA1(90e5e5bfdac9a460445bf224952e4a536888dc1b) ) +ROM_END + + +ROM_START( pgm3in1 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v-102cn.u3", 0x100000, 0x200000, CRC(72e06b2b) SHA1(0d72f90b1a2df5f0e8708b59d2a7c13dba998acd)) // M68K V102 08/23/04 13:03:26 (encrypted) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_pgm3in1.asic", 0x000000, 0x04000, NO_DUMP ) + + // No external ARM rom + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "u5.u5", 0x180000, 0x200000, CRC(da375a50) SHA1(62cd2fd3dfc1897528eaa38d243d7a9526eac71b) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1100.u4", 0x0000000, 0x0800000, CRC(e32ce499) SHA1(f84c7daa55c25a05da467b5654ebf432b7ce1754) ) // == y2k2_a1100.u6 + ROM_LOAD( "pgm_a1101.u5", 0x0800000, 0x0800000, CRC(4e7568bc) SHA1(bf9cc453191bd5ec9fbcce62891809f253a44267) ) // == y2k2_a1101.u7 + ROM_LOAD( "pgm_a1102.u6", 0x1000000, 0x0800000, CRC(6da7c143) SHA1(9408ba7722bfc8013f851aadea5e2819f5263129) ) // == y2k2_a1102.u8 + ROM_LOAD( "pgm_a1103.u7", 0x1800000, 0x0800000, CRC(0ebebfdc) SHA1(4faad7f97c7e734f179ec934a37e75d8d6adccf4) ) // == y2k2_a1103.u9 + ROM_LOAD( "ext_bit_cg.u20", 0x2000000, 0x0400000, CRC(fe314754) SHA1(ae3e8bbdce852a3fa39806a5221c053dee5abfd4) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", ROMREGION_ERASE00 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1100.u8", 0x0000000, 0x0800000, CRC(fa53d6f6) SHA1(c2da55f4b7e721fa1c63bd7f9528f261643164e8) ) // == y2k2_b1100.u4 + ROM_LOAD( "pgm_b1101.u9", 0x0800000, 0x0800000, CRC(001e4c81) SHA1(21119055f8fd7f831529e73ff9c97bca3987a1dc) ) // == y2k2_b1101.u5 + ROM_LOAD( "ext_bit_map.u21", 0x0f00000, 0x0100000, CRC(fe31dca6) SHA1(825bab7342c944794514fc7fe3e41779de3b5cd4) ) // yes this loads over the empty part of u9 + ROM_IGNORE(0x0100000) // the 2nd half is empty + + ROM_REGION( 0xe80000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1100.u17", 0x400000, 0x200000, CRC(fb1515f8) SHA1(90e5e5bfdac9a460445bf224952e4a536888dc1b) ) // == y2k2_m1100.u3 + ROM_LOAD( "u16.u16", 0x600000, 0x800000, CRC(714c33e5) SHA1(5478d5247349cdfb5f835171615d6ca2e5689140) ) // check loading +ROM_END + + +ROM_START( pgm3in1c100 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v-100cn.u3", 0x100000, 0x200000, CRC(a39f59b4) SHA1(4eb53fb9f173cb470e16dc8f193c8909cf045e3d)) // M68K V100 07/13/04 12:09:20 (encrypted) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "igs027a_pgm3in1.asic", 0x000000, 0x04000, NO_DUMP ) + + // No external ARM rom + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "u5.u5", 0x180000, 0x200000, CRC(da375a50) SHA1(62cd2fd3dfc1897528eaa38d243d7a9526eac71b) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1100.u4", 0x0000000, 0x0800000, CRC(e32ce499) SHA1(f84c7daa55c25a05da467b5654ebf432b7ce1754) ) // == y2k2_a1100.u6 + ROM_LOAD( "pgm_a1101.u5", 0x0800000, 0x0800000, CRC(4e7568bc) SHA1(bf9cc453191bd5ec9fbcce62891809f253a44267) ) // == y2k2_a1101.u7 + ROM_LOAD( "pgm_a1102.u6", 0x1000000, 0x0800000, CRC(6da7c143) SHA1(9408ba7722bfc8013f851aadea5e2819f5263129) ) // == y2k2_a1102.u8 + ROM_LOAD( "pgm_a1103.u7", 0x1800000, 0x0800000, CRC(0ebebfdc) SHA1(4faad7f97c7e734f179ec934a37e75d8d6adccf4) ) // == y2k2_a1103.u9 + ROM_LOAD( "ext_bit_cg.u20", 0x2000000, 0x0400000, CRC(fe314754) SHA1(ae3e8bbdce852a3fa39806a5221c053dee5abfd4) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", ROMREGION_ERASE00 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1100.u8", 0x0000000, 0x0800000, CRC(fa53d6f6) SHA1(c2da55f4b7e721fa1c63bd7f9528f261643164e8) ) // == y2k2_b1100.u4 + ROM_LOAD( "pgm_b1101.u9", 0x0800000, 0x0800000, CRC(001e4c81) SHA1(21119055f8fd7f831529e73ff9c97bca3987a1dc) ) // == y2k2_b1101.u5 + ROM_LOAD( "ext_bit_map.u21", 0x0f00000, 0x0100000, CRC(fe31dca6) SHA1(825bab7342c944794514fc7fe3e41779de3b5cd4) ) // yes this loads over the empty part of u9 + ROM_IGNORE(0x0100000) // the 2nd half is empty + + ROM_REGION( 0xe80000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1100.u17", 0x400000, 0x200000, CRC(fb1515f8) SHA1(90e5e5bfdac9a460445bf224952e4a536888dc1b) ) // == y2k2_m1100.u3 + ROM_LOAD( "u16.u16", 0x600000, 0x800000, CRC(714c33e5) SHA1(5478d5247349cdfb5f835171615d6ca2e5689140) ) // check loading +ROM_END + + +/* + +The Killing Blade (English / World Version) +IGS, 1998 + +This is a cart for the IGS PGM system. + + +PCB Layout +---------- + +IGS PCB NO-0179 +|-----------------------------------------------| +| 8MHz |--------| | +| 32.768kHz|----| | |T0300.U14| +|6164 6164 |IGS | | IGS025 | | +| |022 | | | | +|* |----| |--------| | +| | +| U2 U3 U4 U5 U6 | +| PAL PAL PAL | +| | +|-| |-| + |--------------------||---------------------| +Notes: + IGS022 - Custom IGS IC (QFP100) + IGS025 - Custom IGS IC (PLCC68, labelled "ENGLISH") + T0300.U14 - 32MBit MaskROM (SOP44, labelled "T0300") + 6164 - x2, 8K x8 SRAM (SOJ28) + U2 - 27C512 512KBit EPROM (DIP28, labelled "KB U2 V104") + U3 - 27C4000 4MBit EPROM (DIP32, labelled "KB U3 V104") + U4 - 27C4000 4MBit EPROM (DIP32, labelled "KB U4 V104") + U5 - 27C4000 4MBit EPROM (DIP32, labelled "KB U5 V104") + U6 - 27C4000 4MBit EPROM (DIP32, labelled "KB U6 V104") + PALs - x3, labelled "DH U8", "DH U1", "DH U7" + * - Unpopulated position for DIP42 EPROM/mask ROM (labelled "P0300") + + +IGS PCB NO-0178 +|-----------------------------------------------| +| U9 U10 U11 U12 U13 U14 U15| +| | +| | +| | +| U1 U2 74LS138 | +| 74LS139 | +| U3 U4 U5 U8 | +| | +| | +|-| |-| + |--------------------||---------------------| + +Notes: + U1 - 32MBit mask ROM (SOP44, labelled "M0300") + U2 - 32MBit mask ROM (SOP44, labelled "A0307") + U3 - 16MBit mask ROM (DIP42, labelled "A0302") + U4 - 16MBit mask ROM (DIP42, labelled "A0304") + U5 - 16MBit mask ROM (DIP42, labelled "A0305") + U8 - 16MBit mask ROM (DIP42, labelled "B0301") + U9 - 32MBit mask ROM (SOP44, labelled "A0300") + U10 - 32MBit mask ROM (SOP44, labelled "A0301") + U11 - 32MBit mask ROM (SOP44, labelled "A0303") + U12 - 32MBit mask ROM (SOP44, labelled "A0306") + U13 - 32MBit mask ROM (SOP44, labelled "B0300") + U14 - 32MBit mask ROM (SOP44, labelled "B0302") + U15 - 32MBit mask ROM (SOP44, labelled "B0303") + +*/ + + + +/* + the text on the chip are +----------------- +IGS +PGM P0300 V109 +1A0577Y3 +J982846 +----------------- +*/ + +ROM_START( killbld ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0300_v109.u9", 0x100000, 0x200000, CRC(2fcee215) SHA1(855281a9090bfdf3da9f4d50c121765131a13400) ) + // also found with 4 smaller ROMs + // p0300_v109.u9 [even 1/2] kb_u3_v109.u3 IDENTICAL CRC(fe028dd5) SHA1(a865639e6ce9a5ad7100bc0445a58b0465bfe8a6) + // p0300_v109.u9 [odd 1/2] kb_u6_v109.u6 IDENTICAL CRC(e50dba01) SHA1(0103192a877ab18c4da0b3448a1dd9e088c7a740) + // p0300_v109.u9 [even 2/2] kb_u4_v109.u4 IDENTICAL CRC(6ac58bb3) SHA1(5e911d1490f6a32f90e150ea933d8679302e0f61) + // p0300_v109.u9 [odd 2/2] kb_u5_v109.u5 IDENTICAL CRC(7dabf576) SHA1(a9fb7fb4c487752597793962ef2bc17ae244fc0a) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "kb_u2_v109.u2", 0x000000, 0x010000, CRC(de3eae63) SHA1(03af767ef764055bda528b5cc6a24b9e1218cca8) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) +// ROM_LOAD( "pgm_a0302.u3", 0x1400000, 0x0200000, CRC(a4810e38) SHA1(c31fe641feab2c93795fc35bf71d4f37af1056d4) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0304.u4", 0x1600000, 0x0200000, CRC(3096de1c) SHA1(d010990d21cfda9cb8ab5b4bc0e329c23b7719f5) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0305.u5", 0x1800000, 0x0200000, CRC(2234531e) SHA1(58a82e31a1c0c1a4dd026576319f4e7ecffd140e) ) // from lord of gun! unused.. + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) +// ROM_LOAD( "pgm_b0301.u8", 0x0a00000, 0x0200000, CRC(400abe33) SHA1(20de1eb626424ea41bd55eb3cecd6b50be744ee0) ) // from lord of gun! unused.. + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + +ROM_START( killbld104 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "kb_u3_v104.u3", 0x100001, 0x080000, CRC(6db1d719) SHA1(804002f014d275aaf0368fb7f904938fe4ac07ee) ) + ROM_LOAD16_BYTE( "kb_u6_v104.u6", 0x100000, 0x080000, CRC(31ecc978) SHA1(82666d534e4151775063af6d39f575faba0f1047) ) + ROM_LOAD16_BYTE( "kb_u4_v104.u4", 0x200001, 0x080000, CRC(1ed8b2e7) SHA1(331c037640cfc1fe743cd0e65a1156c470b3303e) ) + ROM_LOAD16_BYTE( "kb_u5_v104.u5", 0x200000, 0x080000, CRC(a0bafc29) SHA1(b20db7c16353c6f87ed3c08c9d037b07336711f1) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "kb_u2_v104.u2", 0x000000, 0x010000, CRC(c970f6d5) SHA1(399fc6f80262784c566363c847dc3fdc4fb37494) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) +// ROM_LOAD( "pgm_a0302.u3", 0x1400000, 0x0200000, CRC(a4810e38) SHA1(c31fe641feab2c93795fc35bf71d4f37af1056d4) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0304.u4", 0x1600000, 0x0200000, CRC(3096de1c) SHA1(d010990d21cfda9cb8ab5b4bc0e329c23b7719f5) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0305.u5", 0x1800000, 0x0200000, CRC(2234531e) SHA1(58a82e31a1c0c1a4dd026576319f4e7ecffd140e) ) // from lord of gun! unused.. + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) +// ROM_LOAD( "pgm_b0301.u8", 0x0a00000, 0x0200000, CRC(400abe33) SHA1(20de1eb626424ea41bd55eb3cecd6b50be744ee0) ) // from lord of gun! unused.. + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + +ROM_START( killbld106 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "kb_u3_v106.u3", 0x100001, 0x080000, CRC(33b9111a) SHA1(26875a9e502af9a36d13077cb7b07f9d28773d72) ) + ROM_LOAD16_BYTE( "kb_u6_v106.u6", 0x100000, 0x080000, CRC(1c957bd7) SHA1(2bb54915166b4a62148de043b2c2088d39b91f14) ) + ROM_LOAD16_BYTE( "kb_u4_v106.u4", 0x200001, 0x080000, CRC(169bbaaf) SHA1(a1833d3fd024c43ba7642f13e83a5b7b66631136) ) + ROM_LOAD16_BYTE( "kb_u5_v106.u5", 0x200000, 0x080000, CRC(df85abd4) SHA1(f9e37f76c7af8a8492bd1fd22d8b3fbda194ed03) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "kb_u2_v106.u2", 0x000000, 0x010000, CRC(5df8cf51) SHA1(d82e281a43015da653fc37e97f52943e03a07112) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) +// ROM_LOAD( "pgm_a0302.u3", 0x1400000, 0x0200000, CRC(a4810e38) SHA1(c31fe641feab2c93795fc35bf71d4f37af1056d4) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0304.u4", 0x1600000, 0x0200000, CRC(3096de1c) SHA1(d010990d21cfda9cb8ab5b4bc0e329c23b7719f5) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0305.u5", 0x1800000, 0x0200000, CRC(2234531e) SHA1(58a82e31a1c0c1a4dd026576319f4e7ecffd140e) ) // from lord of gun! unused.. + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) +// ROM_LOAD( "pgm_b0301.u8", 0x0a00000, 0x0200000, CRC(400abe33) SHA1(20de1eb626424ea41bd55eb3cecd6b50be744ee0) ) // from lord of gun! unused.. + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + +ROM_START( killbld100 ) // was dumped from a Taiwanese board + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "kb_u3_v100.u3", 0x100001, 0x080000, CRC(ba3233a9) SHA1(d41f00c0c83ead8567b2e4ebf3fd7b8525f06b73) ) + ROM_LOAD16_BYTE( "kb_u6_v100.u6", 0x100000, 0x080000, CRC(55ae1d39) SHA1(931411c0d7d02a636010bb5f7f312906de32d839) ) + ROM_LOAD16_BYTE( "kb_u4_v100.u4", 0x200001, 0x080000, CRC(d56a8407) SHA1(1c43c62ec9e3b11f77d9c14647797493f7b8f960) ) + ROM_LOAD16_BYTE( "kb_u5_v100.u5", 0x200000, 0x080000, CRC(99afff2b) SHA1(4167efc81daf365e632177bb26650c95dcc32ccb) ) + + ROM_REGION( 0x010000, "igs022", 0 ) // Protection Data + ROM_LOAD( "kb_u2_v100.u2", 0x000000, 0x010000, CRC(6fbbdcb7) SHA1(2928b66cd605d38a5d4e5876890e52af89dfadc4) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) +// ROM_LOAD( "pgm_a0302.u3", 0x1400000, 0x0200000, CRC(a4810e38) SHA1(c31fe641feab2c93795fc35bf71d4f37af1056d4) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0304.u4", 0x1600000, 0x0200000, CRC(3096de1c) SHA1(d010990d21cfda9cb8ab5b4bc0e329c23b7719f5) ) // from lord of gun! unused.. +// ROM_LOAD( "pgm_a0305.u5", 0x1800000, 0x0200000, CRC(2234531e) SHA1(58a82e31a1c0c1a4dd026576319f4e7ecffd140e) ) // from lord of gun! unused.. + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) +// ROM_LOAD( "pgm_b0301.u8", 0x0a00000, 0x0200000, CRC(400abe33) SHA1(20de1eb626424ea41bd55eb3cecd6b50be744ee0) ) // from lord of gun! unused.. + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + + +/* +Puzzle Star +IGS, 1999 + +Cart for IGS PGM system. This game is a 'columns' type game. + +PCB Layout +---------- + +IGS PCB NO- T0236 +|-----------------------------------------------| +| U6 U7 | +| |-------| | +| |IGS027A| | +| | | T0800.U5| +| | | | +| |-------| | +| U1_V100MG.U1 | +| U2_V100MG.U2 U3 PAL | +| | +|-| |-| + |--------------------||---------------------| +Notes: + IGS027A - Custom IGS IC, ARM7/9? based CPU (QFP120, stamped 'IGS027A' & labelled 'ENGLISH') + T0800.U5 - 16MBit MaskROM (DIP42) + U1_V100MG.U1 - MX27C4000 512K x8 EPROM (DIP32, labelled 'PuzzleStar U1 V100MG') + U2_V100MG.U2 - MX27C4000 512K x8 EPROM (DIP32, labelled 'PuzzleStar U2 V100MG') + PAL - Atmel ATF22V10B PAL (DIP24, labelled 'EA U4') + U3 - Unpopulated position for 32MBit mask ROM (DIP42) + U6, U7 - Unpopulated position for 74LS245 logic chip (x2) + + +IGS PCB NO- T0237 +|-----------------------------------------------| +| | +| | +| | +| | +| A0800.U1 M0800.U2 B0800.U3 | +| | +| | +| | +| | +|-| |-| + |--------------------||---------------------| +Notes: + U1 - 32MBit MaskROM (DIP42) + U2 - 32MBit MaskROM (DIP42) + U3 - 16MBit MaskROM (DIP42) +*/ + +ROM_START( puzlstar ) // V100MG 09/30/99 11:39:23 + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "puzzlestar_u1_v100mg.u1", 0x100000, 0x080000, CRC(c6ee43d7) SHA1(2419414ded556b5e4868d51b0da5dfce374d6bc0) ) + ROM_LOAD16_BYTE( "puzzlestar_u2_v100mg.u2", 0x100001, 0x080000, CRC(42aa03ce) SHA1(8e1666cc3ded98179a3e4854973604172921bbd6) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "puzlstar_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0800.u5", 0x180000, 0x200000, CRC(f9d84e59) SHA1(80ec77025ac5bf355b1a60f2a678dd4c56071f6b) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0800.u1", 0x0000000, 0x0400000, CRC(e1e6ec40) SHA1(390432431f144ef63424a426582b311765a61771) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0800.u3", 0x0000000, 0x0200000, CRC(52e7bef5) SHA1(a678251b7e46a1016d0afc1d8d5c9928008ad5b1) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0800.u2", 0x400000, 0x400000, CRC(e1a46541) SHA1(6fe9de5700d8638374734d80551dcedb62975140) ) +ROM_END + +ROM_START( puzlstara ) // V100MG 09/20/99 15:16:02 + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "v100mg.u1", 0x100000, 0x080000, CRC(5788b77d) SHA1(7770aae6e686da92b2623c977d1bc8f019f48267) ) + ROM_LOAD16_BYTE( "v100mg.u2", 0x100001, 0x080000, CRC(4c79d979) SHA1(3b92052a35994f2b3dd164930154184c45d5e2d0) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "puzlstar_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0800.u5", 0x180000, 0x200000, CRC(f9d84e59) SHA1(80ec77025ac5bf355b1a60f2a678dd4c56071f6b) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0800.u1", 0x0000000, 0x0400000, CRC(e1e6ec40) SHA1(390432431f144ef63424a426582b311765a61771) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0800.u3", 0x0000000, 0x0200000, CRC(52e7bef5) SHA1(a678251b7e46a1016d0afc1d8d5c9928008ad5b1) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0800.u2", 0x400000, 0x400000, CRC(e1a46541) SHA1(6fe9de5700d8638374734d80551dcedb62975140) ) +ROM_END + + +/* + +Oriental Legend Super +IGS, 1998 + +This is a cart for the IGS PGM system. + +PCB Layout +---------- +IGS PCB NO-0191-1 +|-----------------------------------------------| +|6264 8MHz|--------| | +|6264 | | T0500.U18| +| | IGS025 | | +| |-----| | | T0501.U19| +| | IGS | |--------| | +| | 028 | | +| *1 |-----| V101.U1 | +| V101.U2 V101.U4 PAL PAL | +| V101.U6 V101.U3 V101.U5 | +|-| |-| + |--------------------||---------------------| +Notes: + IGS028 - Custom IGS IC (QFP100) + IGS025 - Custom IGS IC (PLCC68, labelled "KOREA") + T0500.U18 - 32MBit MaskROM (SOP44) + T0501.U19 - 16MBit MaskROM (SOP44) + V101.U1 - MX27C4096 4MBit EPROM (DIP40) + V101.U2/3/4/5- MX27C4000 4MBit EPROM (DIP32) + PALs - x2, labelled "CW-2 U8", "CW-2 U7" + 6264 - 8K x8 SRAM + *1 - Unpopulated position for SOP44 mask ROM labelled "P0500" + + +IGS PCB NO-0135 +|-----------------------------------------------| +|A0504.U11 A0506.U13 B0502.U15 | +| A0505.U12 U14 B0503.U16| +| | +|A0500.U5 B0500.U9 | +| A0501.U6 A0503.U8 B0501.U10| +| A0502.U7 | +| | +|74LS138 M0500.U1 74LS139| +| U2 | +|-| |-| + |--------------------||---------------------| + +Notes: + This PCB contains only SOP44 MaskROMS and 2 logic IC's + U2 and U14 are not populated. + All are 32MBit except M0500 which is 16MBit. + +*/ + +ROM_START( olds103t ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500.v103",0x100000, 0x400000, CRC(17e32e14) SHA1(b8f731087af2c59fe5b1da31f1cb055d35c8b440) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "sp_v101_u2.u2", 0x100001, 0x080000, CRC(08eb9661) SHA1(105946e72e562adb1a9fd794ca0fd2c91967eb56) ) + ROM_LOAD16_BYTE( "sp_v101_u3.u3", 0x100000, 0x080000, CRC(0a358c1e) SHA1(95c7c3f069c5d05001e22535750f6b3cd7de105f) ) + ROM_LOAD16_BYTE( "sp_v101_u4.u4", 0x200001, 0x080000, CRC(766570e0) SHA1(e7c3f5664ec69b662b82c2e1375555db7305390c) ) + ROM_LOAD16_BYTE( "sp_v101_u5.u5", 0x200000, 0x080000, CRC(58662e12) SHA1(2b39bd847e9c4968a8e77a2f3cec77cf323ceee3) ) + ROM_LOAD16_WORD_SWAP( "sp_v101_u1.u1", 0x300000, 0x080000, CRC(2b2f4f1e) SHA1(67b97cf8cc7f517d67cd45588addd2ad8e24612a) ) + + ROM_REGION32_LE( 0x010000, "user1", 0 ) // IGS028 Protection Data + ROM_LOAD( "sp_v101_u6.u6", 0x000000, 0x010000, CRC(097046bc) SHA1(6d75db85cf4c79b63e837897785c253014b2126d) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) // its a dump of the shared protection rom/ram from pcb. + // clearly not for this revision + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds100 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "sp_v100_u2.u2", 0x100001, 0x080000, CRC(517c2a06) SHA1(bbf5b311fac9b0bb4d4129c0561e5e24f6963fa2) ) + ROM_LOAD16_BYTE( "sp_v100_u3.u3", 0x100000, 0x080000, CRC(d0e2b741) SHA1(2e671dbb4320d1f0c059b35efd33cdea26f12131) ) + ROM_LOAD16_BYTE( "sp_v100_u4.u4", 0x200001, 0x080000, CRC(32a6bdbd) SHA1(a93d7f4eae722a58eca9ec351ad5890cefda56f0) ) + ROM_LOAD16_BYTE( "sp_v100_u5.u5", 0x200000, 0x080000, CRC(b4a1cafb) SHA1(b2fccd480ede93f58ad043387b18b898152f06ef) ) + ROM_LOAD16_WORD_SWAP( "sp_v100_u1.u1", 0x300000, 0x080000, CRC(37ea4e75) SHA1(a94fcb89da3394a43d360f885419677f511d2580) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) // its a dump of the shared protection rom/ram from pcb. + // used to simulate encrypted DMA protection device for now .. + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION32_LE( 0x010000, "user1", 0 ) // IGS028 Protection Data + ROM_LOAD( "sp_v100_u6.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +// this is the set which the protection ram dump seems to be for.. +ROM_START( olds100a ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + // this rom had a lame hack applied to it by the dumper, this was removed, hopefully it is correct now + ROM_LOAD16_WORD_SWAP( "pgm_p0500_v100.u24", 0x100000, 0x400000, CRC(8981fc87) SHA1(678d6705d06b99bca5951ff77708adadc4c4396b) ) + + // ROM label SP 西遊記 DATA on sticker + ROM_REGION32_LE( 0x010000, "user1", 0 ) // IGS028 Protection Data + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) // its a dump of the shared protection rom/ram from pcb. + // used to simulate encrypted DMA protection device for now .. + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + + +ROM_START( kov2 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v107_u18.u18", 0x100000, 0x400000, CRC(661a5b2c) SHA1(125054fabc93d4f4cba869c3e6adf863650d30cf) ) // 05/10/01 14:24:08 V107 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2106 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v106_u18.u18", 0x100000, 0x400000, CRC(40051ad9) SHA1(ba2ddf267fe688d5dfed575aeeccbab10135b37b) ) // 02/27/01 13:26:46 V106 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2104 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v104_u18.u18", 0x100000, 0x400000, CRC(0fdb050b) SHA1(8ac704459e1a17d0956dd3529e81b6bcd8abf361) ) // 01/19/01 10:19:38 V104 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2103 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v103_u18.u18", 0x100000, 0x400000, CRC(98c32f76) SHA1(ec7e35e8071bb7097e415493be4e40be0ca19fd6) ) // 12/28/00 15:09:31 V103 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v101_u19.u19", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov21022 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v102_u18.u18", 0x100000, 0x400000, CRC(a2489c37) SHA1(77ea7cdec211848296dafd45bee1d042133ea2a6) ) // 12/14/00 10:33:36 V102 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2102 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v102_u18.u18", 0x100000, 0x400000, CRC(a2489c37) SHA1(77ea7cdec211848296dafd45bee1d042133ea2a6) ) // 12/14/00 10:33:36 V102 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v101_u19.u19", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2101 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u18.u18", 0x100000, 0x400000, CRC(c9926f35) SHA1(a9c72d0c5d239164107894c7d3fffe4af29ed201) ) // 12/07/00 16:40:30 V101 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v101_u19.u19", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2100 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v100_u18.u18", 0x100000, 0x400000, CRC(86205879) SHA1(f73d5b70b41d39be1cac75e474b025de2cce0b01) ) // 11/29/00 11:03:08 V100 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v100_u19.u19", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + + +ROM_START( kov2p ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v205_32m.u8", 0x100000, 0x400000, CRC(3a2cc0de) SHA1(d7511478b34bfb03b2fb5b8268b60502d05b9414) ) // 04/25/02 17:48:27 M205XX + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2p204 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204_32m.u8", 0x100000, 0x400000, CRC(583e0650) SHA1(2e5656dd9c6cba9f84af9baa3f5f70cdccf9db47) ) // 08/28/01 09:11:49 M204XX + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2p203 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v203_32m.u8", 0x100000, 0x400000, CRC(11416886) SHA1(00088165893ed0b5fb8bbac3def0edeb9ff0c4fd) ) // 08/13/01 16:57:32 M203XX + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2p202 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v202_32m.u8", 0x100000, 0x400000, CRC(e9b5aa0c) SHA1(39a776c8501e8557d305cfa56c997f9adeb6bcd2) ) // 07/09/01 11:03:50 M202XX + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2p200 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v200_32m.u8", 0x100000, 0x400000, CRC(9a09fd61) SHA1(690a0b323e1f275a08ba84febf93bf8edc2d0802) ) // 06/18/01 22:59:12 M200XX + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +/* + +Do Donpachi II +IGS (Cave license), 2001 + +This is a PGM cart containing not a lot.... +5x SOP44 mask ROMs (4x 64M, 1x 32M) +2x EPROMs (1x 1M, 1x 16M) +2x PALs (labelled FN U14 and FN U15) +1x custom IGS027A (QFP120) +3x RAMs WINBOND W24257AJ-8N +Some logic IC's, resistors, caps etc. + +*/ + +/* + For ddp2 the China and Japan internal ASIC27 roms were dumped, and confirmed to differ only by the byte at offset 0x2882 + we're assuming this to be true for other regions, this is a fair assumption based on the evidence we have. +*/ + +#define DDP2_ASIC027_CHINA \ + ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */ \ + ROM_LOAD( "ddp2_igs027a_china.bin", 0x000000, 0x04000, CRC(8c566319) SHA1(bb001d8ada56bf446f9ab88e00936501652daf11) ) // 00 + +#define DDP2_ASIC027_TAIWAN \ + ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */ \ + ROM_LOAD( "ddp2_igs027a_taiwan.bin", 0x000000, 0x04000, CRC(1dd34bdc) SHA1(4f2ee38ee37d5cc63b2a63ef51bd392e4f18d836) ) // 01 + +#define DDP2_ASIC027_JAPAN \ + ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */ \ + ROM_LOAD( "ddp2_igs027a_japan.bin", 0x000000, 0x04000, CRC(742d34d2) SHA1(4491c08f3cefef2933ad5a741f4bb05cc2f3e1a0) ) // 02 + +#define DDP2_ASIC027_KOREA \ + ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */ \ + ROM_LOAD( "ddp2_igs027a_korea.bin", 0x000000, 0x04000, CRC(e5a81c17) SHA1(cfe4e28a44a1b3a5c1c9e303941b335dbde7dd8d) ) // 03 + +#define DDP2_ASIC027_HONG_KONG \ + ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */ \ + ROM_LOAD( "ddp2_igs027a_hong_kong.bin", 0x000000, 0x04000, CRC(a7d1cace) SHA1(b9391da52c8234ca0182484f33b5242827c51c76) ) // 04 + +#define DDP2_ASIC027_WORLD \ + ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */ \ + ROM_LOAD( "ddp2_igs027a_world.bin", 0x000000, 0x04000, CRC(3654e20b) SHA1(e00ef1d51efe66354e3eaf4750d9d819c74ddfbf) ) // 05 + +#define DDP2_COMMON_ROMS \ + ROM_REGION32_LE( 0x400000, "user1", 0 ) /* Protection Data (encrypted external ARM data) */ \ + ROM_LOAD( "v100_210.u23", 0x000000, 0x20000, CRC(06c3dd29) SHA1(20c9479f158467fc2037dcf162b6c6be18c91d46) ) \ + ROM_REGION( 0xa00000, "tiles", 0 ) /* 8x8 Text Tiles + 32x32 BG Tiles */ \ + PGM_VIDEO_BIOS \ + ROM_LOAD( "pgm_t1300.u21", 0x180000, 0x800000, CRC(e748f0cb) SHA1(5843bee3a17c33648ce904af2b98c6a90aff7393) ) \ + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) /* Sprite Colour Data */ \ + ROM_LOAD( "pgm_a1300.u1", 0x0000000, 0x0800000, CRC(fc87a405) SHA1(115c21ecc56997652e527c92654076870bc9fa51) ) /* FIXED BITS (xxxxxxxx1xxxxxxx) */ \ + ROM_LOAD( "pgm_a1301.u2", 0x0800000, 0x0800000, CRC(0c8520da) SHA1(390317857ae5baa94a4cc042874b00a811f06a63) ) /* FIXED BITS (xxxxxxxx1xxxxxxx) */ \ + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */ \ + ROM_LOAD( "pgm_b1300.u7", 0x0000000, 0x0800000, CRC(ef646604) SHA1(d737ff513792962f18df88c2caa9dd71de449079) ) \ + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) /* Samples - (8 bit mono 11025Hz) */ \ + PGM_AUDIO_BIOS \ + ROM_LOAD( "pgm_m1300.u5", 0x400000, 0x400000, CRC(82d4015d) SHA1(d4cdc1aec1c97cf23ff7a20ccaad822962e66ffa) ) + +#define DDP2_PROGRAM_102 \ + ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */ \ + PGM_68K_BIOS \ + ROM_LOAD16_WORD_SWAP( "v102.u8", 0x100000, 0x200000, CRC(5a9ea040) SHA1(51eaec46c368f7cfc5245e64896092f52b1193e0) ) // 09/10/01 +#define DDP2_PROGRAM_101 \ + ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */ \ + PGM_68K_BIOS \ + ROM_LOAD16_WORD_SWAP( "v101_16m.u8", 0x100000, 0x200000, CRC(5e5786fd) SHA1(c6fc2956b5dc6a97c0d7d808a8c58aa21fa023b9) ) // 07/10/01 +#define DDP2_PROGRAM_100 \ + ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */ \ + PGM_68K_BIOS \ + ROM_LOAD16_WORD_SWAP( "v100_u8.u8", 0x100000, 0x200000, CRC(0c8aa8ea) SHA1(57e33224622607a1df8daabf26ba063cf8a6d3fc) ) // 05/21/01 + + +ROM_START( ddp2 ) + DDP2_PROGRAM_102 + DDP2_ASIC027_WORLD + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2101 ) + DDP2_PROGRAM_101 + DDP2_ASIC027_WORLD + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2100 ) + DDP2_PROGRAM_100 + DDP2_ASIC027_WORLD + DDP2_COMMON_ROMS +ROM_END + + +ROM_START( ddp2hk ) + DDP2_PROGRAM_102 + DDP2_ASIC027_HONG_KONG + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2101hk ) + DDP2_PROGRAM_101 + DDP2_ASIC027_HONG_KONG + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2100hk ) + DDP2_PROGRAM_100 + DDP2_ASIC027_HONG_KONG + DDP2_COMMON_ROMS +ROM_END + + +ROM_START( ddp2k ) + DDP2_PROGRAM_102 + DDP2_ASIC027_KOREA + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2101k ) + DDP2_PROGRAM_101 + DDP2_ASIC027_KOREA + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2100k ) + DDP2_PROGRAM_100 + DDP2_ASIC027_KOREA + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2j ) + DDP2_PROGRAM_102 + DDP2_ASIC027_JAPAN + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2101j ) + DDP2_PROGRAM_101 + DDP2_ASIC027_JAPAN + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2100j ) + DDP2_PROGRAM_100 + DDP2_ASIC027_JAPAN + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2t ) + DDP2_PROGRAM_102 + DDP2_ASIC027_TAIWAN + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2101t ) + DDP2_PROGRAM_101 + DDP2_ASIC027_TAIWAN + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2100t ) + DDP2_PROGRAM_100 + DDP2_ASIC027_TAIWAN + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2c ) + DDP2_PROGRAM_102 + DDP2_ASIC027_CHINA + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2101c ) + DDP2_PROGRAM_101 + DDP2_ASIC027_CHINA + DDP2_COMMON_ROMS +ROM_END + +ROM_START( ddp2100c ) + DDP2_PROGRAM_100 + DDP2_ASIC027_CHINA + DDP2_COMMON_ROMS +ROM_END + + + + +/* + +Dragon World 2001 IGS PGM cart + +Top board +--------- +PCB Number: IGS PCB-0349-01-FL +22MHz OSC +2x 27C4096 EPROMs at U12, U22 +1x 27C160 EPROM at U11 +2x PALs at U4, U6 +3x 62256 SRAM at U1, U23, U24 +IGS027A at U7 + +Bottom Board +------------ +PCB Number: IGS PCB-0350-00T-FL-A +4x 27C160 EPROMs at U2, U3, U7, U9 + +*/ + +ROM_START( dw2001 ) + // All ROMs labels are on stickers + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dw2001_u22.u22", 0x100000, 0x80000, CRC(5cabed92) SHA1(d513e353c5c4695b16228e0bda9388c396aa4a81) ) // 02/21/01 16:05:16 + ROM_RELOAD(0x180000,0x80000) + ROM_RELOAD(0x200000,0x80000) + ROM_RELOAD(0x280000,0x80000) + ROM_RELOAD(0x300000,0x80000) + ROM_RELOAD(0x380000,0x80000) + ROM_RELOAD(0x400000,0x80000) + ROM_RELOAD(0x480000,0x80000) + + ROM_REGION( 0x4000, "prot", ROMREGION_ERASEFF ) // ARM protection ASIC - internal rom + ROM_LOAD( "dw2001_igs027a_japan.bin", 0x000000, 0x04000, CRC(3a79159b) SHA1(0d693c798ce24c6a749669be8c7b1e4633409e49) ) + + ROM_REGION32_LE( 0x4000000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "dw2001_u12.u12", 0x000000, 0x80000, CRC(973db1ab) SHA1(cc35e1a8534fa5d59d888f530769bae4e08c62ca) ) // external ARM data rom (encrypted) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "dw2001_u11.u11", 0x180000, 0x200000, CRC(b27cf093) SHA1(7c5736a3d72b89742da1c92b2604d66e48b95e56) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "dw2001_u2.u2", 0x000000, 0x200000, CRC(d11c733c) SHA1(8faad32e8e215631a2263bdd51a9ae434540d028) ) + ROM_LOAD( "dw2001_u3.u3", 0x200000, 0x200000, CRC(1435aef2) SHA1(582eb9f6415c89418401be7ebad041adeb600515) ) + + ROM_REGION16_LE( 0x0200000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "dw2001_u9.u9", 0x000000, 0x200000, CRC(ccbca572) SHA1(4d3512e82cb65e5cdfcc6cb18deec9f4a6dd350a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "dw2001_u7.u7", 0x200000, 0x200000, CRC(4ea62f21) SHA1(318f8a1ff5d4ff029a1c4133fe7acc2fc185d112) ) +ROM_END + +ROM_START( dwpc ) + // All ROMs labels are on stickers + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dwpc_v110cn_u22.u22", 0x100000, 0x80000, CRC(64f22362) SHA1(5f7c58498ae5cbec1c36eaa65c75287c36b6bd52) ) // 03/19/02 11:13:16 + + ROM_REGION( 0x4000, "prot", ROMREGION_ERASEFF ) // ARM protection ASIC - internal rom + ROM_LOAD( "dw2001_igs027a_japan.bin", 0x000000, 0x04000, BAD_DUMP CRC(3a79159b) SHA1(0d693c798ce24c6a749669be8c7b1e4633409e49) ) // this was dumped for the Japanese version + + ROM_REGION32_LE( 0x4000000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "dwpc_v110cn_u12.u12", 0x000000, 0x80000, CRC(5bb1ee6a) SHA1(7844e7eb8c10a5aeb18c6057d9dc2fee7ff822ba) ) // external ARM data rom (encrypted) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "dwpc_v110cn_u11.u11", 0x180000, 0x400000, CRC(db219cb8) SHA1(8af5a8dac8db93a7720675c64212293d7eab106d) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "dwpc_v101xx_u2.u2", 0x000000, 0x200000, CRC(48b2f407) SHA1(9b3c0f315805aaca72c9dc3a35406f775856a8bb) ) + ROM_LOAD( "dwpc_v101xx_u3.u3", 0x200000, 0x200000, CRC(3bb45a97) SHA1(5c5cd5a241ed25dbb83690cb879472b60cd03260) ) + + ROM_REGION16_LE( 0x0200000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "dwpc_v101xx_u9.u9", 0x000000, 0x200000, CRC(481b89b1) SHA1(6a241dc3b4a53ce320f3f17e972ffffe46adda4f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "dwpc_v101xx_u7.u7", 0x200000, 0x200000, CRC(5cf9bada) SHA1(c5868a31e09e6909c724411a402d8964c29584fc) ) +ROM_END + +ROM_START( dwpc101j ) + // All ROMs labels are on stickers + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dwpc_v101jp_u22.u22", 0x100000, 0x80000, CRC(b93027c0) SHA1(602e5f651ccb63e6465ebd7762d8d2dcf7d54077) ) // 09/26/01 10:23:26 + + ROM_REGION( 0x4000, "prot", ROMREGION_ERASEFF ) // ARM protection ASIC - internal rom + ROM_LOAD( "dw2001_igs027a_japan.bin", 0x000000, 0x04000, CRC(3a79159b) SHA1(0d693c798ce24c6a749669be8c7b1e4633409e49) ) + + ROM_REGION32_LE( 0x4000000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "dwpc_v100jp_u12.u12", 0x000000, 0x80000, CRC(0d112126) SHA1(2b569b8ef974d1d9906cc052eee63b869c8d4fa4) ) // external ARM data rom (encrypted) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "dwpc_v100jp_u11.u11", 0x180000, 0x400000, CRC(c29d8831) SHA1(0ae93ef31fffc244111f636d47e5762d3ba23fe5) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "dwpc_v100jp_u2.u2", 0x000000, 0x200000, CRC(e7115763) SHA1(f1bf06e9434a3b962166849f51b9dc3a74d7f2a4) ) + ROM_LOAD( "dwpc_v100jp_u3.u3", 0x200000, 0x200000, CRC(49c184a4) SHA1(320504adf596c38db56247e9cef02e7c7a363ccb) ) + + ROM_REGION16_LE( 0x0200000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "dwpc_v100jp_u9.u9", 0x000000, 0x200000, CRC(412b9913) SHA1(52fc42a966575e02991aa92382b855744f44854a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "dwpc_v100jp_u7.u7", 0x200000, 0x200000, CRC(5cf9bada) SHA1(c5868a31e09e6909c724411a402d8964c29584fc) ) +ROM_END + +/* + +Puzzli 2 +IGS, 2001 + +Cart for IGS PGM system. The layout of the PCB is virtually identical to Puzzle Star. + +PCB Layout +---------- + +IGS PCB NO- 0259 +|-----------------------------------------------| +| U6 U7 | +| |-------| | +| |IGS027A| | +| | | T0900.U9| +| | | | +| |-------| | +| 2SP_V200.U3 | +| 2SP_V200.U4 U5 PAL | +| | +|-| |-| + |--------------------||---------------------| +Notes: + IGS027A - Custom IGS IC, ARM7/9? based CPU (QFP120, stamped 'IGS027A') + T0900.U9 - 16MBit MaskROM (SOP44) + 2SP_V200.U3 - MX27C4000 512K x8 EPROM (DIP32, labelled '2SP V200 U3') + 2SP_V200.U4 - MX27C4000 512K x8 EPROM (DIP32, labelled '2SP V200 U4') + PAL - AMD PALCE22V10 PAL (DIP24, labelled 'EL U8') + U5 - Unpopulated position for 16MBit MaskROM (DIP42) + U6, U7 - Unpopulated position for 74LS245 logic chip (x2) + + +IGS PCB NO- 0258 +|-----------------------------------------------| +| | +| | +| | +| | +| * M0900.U2 A0900.U3 B0900.U4 | +| | +| | +| | +| | +|-| |-| + |--------------------||---------------------| +Notes: + * - Unpopulated position for Oki MSM27C3202CZ 32MBit MaskROM (TSOP48 Type II) + U2 - 32MBit MaskROM (DIP42, Byte mode) + U3 - 32MBit MaskROM (SOP44) + U4 - 16MBit MaskROM (SOP44) + +*/ + +ROM_START( puzzli2 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v100_u5.u5", 0x100000, 0x200000, CRC(1abb4595) SHA1(860bb49efc3cb55b6b9846f5ab787d6fd586432d) ) // PUZZLI-2 V0001 + + ROM_REGION( 0x4000, "prot", ROMREGION_ERASEFF ) // ARM protection ASIC - internal rom + ROM_LOAD( "puzzli2_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0900.u9", 0x180000, 0x200000, CRC(70615611) SHA1(a46d4aa71396947b427f9ba4ba0e636876c09d6b) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0900.u3", 0x0000000, 0x0400000, CRC(14911251) SHA1(e0d10ef50c408dbcf0907f81d4f0e49aeb651a6c) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION16_LE( 0x0200000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0900.u4", 0x0000000, 0x0200000, CRC(6f0638b6) SHA1(14b315fe9e80b3314bb63487e6ea9ce04c9703bd) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0900.u2", 0x400000, 0x400000, CRC(9ea7af2e) SHA1(d2593d391a93c5cf5a554750c32886dea6599b3d) ) +ROM_END + + +ROM_START( puzzli2s ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_BYTE( "2sp_v200.u3", 0x100000, 0x080000, CRC(2a5ba8a6) SHA1(4c87b849fd6f39152e3e2ef699b78ce24b3fb6d0) ) // PUZZLI-2 V200 + ROM_LOAD16_BYTE( "2sp_v200.u4", 0x100001, 0x080000, CRC(fa5c86c1) SHA1(11c219722b891b775c0f7f9bc8276cdd8f74d657) ) + + ROM_REGION( 0x4000, "prot", ROMREGION_ERASEFF ) // ARM protection ASIC - internal rom + ROM_LOAD( "puzzli2_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0900.u9", 0x180000, 0x200000, CRC(70615611) SHA1(a46d4aa71396947b427f9ba4ba0e636876c09d6b) ) + + ROM_REGION16_LE( 0x0400000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0900.u3", 0x0000000, 0x0400000, CRC(14911251) SHA1(e0d10ef50c408dbcf0907f81d4f0e49aeb651a6c) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + + ROM_REGION16_LE( 0x0200000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0900.u4", 0x0000000, 0x0200000, CRC(6f0638b6) SHA1(14b315fe9e80b3314bb63487e6ea9ce04c9703bd) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0900.u2", 0x400000, 0x400000, CRC(9ea7af2e) SHA1(d2593d391a93c5cf5a554750c32886dea6599b3d) ) +ROM_END + + +/* + +Martial Masters +IGS, 2001 + +Cart for IGS PGM system. This game is a straight rip-off of any of the +late side-by-side fighting games made by SNK or Capcom such as King Of Fighters +or Super Street Fighter II etc + + +PCB Layout +---------- + +IGS PCB-0293-01 +|-----------------------------------------------| +| 62256 62256 IGS027A | +| 62256 | +| * | +| | +| PAL | +| | +| PAL V102_16M.U10 T1000.U3 | +| | +| V104_32M.U9 22MHz| +|-| |-| + |--------------------||---------------------| +Notes: + 62256 - 32K x8 SRAM (SOJ28) + IGS027A - Custom IGS IC, ARM7 based CPU with internal 64K ROM (QFP120) + T1000.U3 - 23C6410 64MBit MaskROM (SOP44) + V102_16M.U10 - MX29F1610MC 16MBit SOP44 FlashROM mounted onto a tiny DIP42 to SOP44 adapter board + (manufactured by IGS) which is plugged into a standard DIP42 socket. This chip was + read directly on the adapter as a 27C160 EPROM. The socket is wired to accept 32MBit + DIP42 EPROMs. + V104_32M.U9 - M27C3202CZ 32MBit TSOP48 Type II OTP MaskROM mounted onto a tiny DIP42 to TSOP48 Type II + adapter board (manufactured by IGS) which is plugged into a standard DIP42 socket. This + chip was read directly on the adapter as a 27C322 EPROM. The socket is wired to accept + 32MBit DIP42 EPROMs. + * - Unpopulated position for 62256 SRAM + + +IGS PCB-0292-00 +|-----------------------------------------------| +| A1000.U3 A1002.U6 A1004.U10 | +| A1001.U4 A1003.U8 | +| | +| | +| | +| | +| M1001.U7 B1001.U11 | +| M1000.U5 B1000.U9 | +| | +|-| |-| + |--------------------||---------------------| + + + +*/ + +ROM_START( martmast ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v104_32m.u9", 0x100000, 0x400000, CRC(cfd9dff4) SHA1(328eaf6ac49a73265ee4e0f992b1b1312f49877b) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "martial_masters_v102_usa.asic", 0x000000, 0x04000, CRC(a6c0828c) SHA1(0a5bda56dca264c3c7ff7698b8f699563f203c4d) ) // not verified, could be bad + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v102_16m.u10", 0x000000, 0x200000, CRC(18b745e6) SHA1(7bcb58dd3a2d6072f492cf0dd7181cb061c1f49d) ) // maybe incorrect size, probably needs redump + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + +ROM_START( martmast104c ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v104_32m.u9", 0x100000, 0x400000, CRC(cfd9dff4) SHA1(328eaf6ac49a73265ee4e0f992b1b1312f49877b) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "martial_masters_v101_cn.asic", 0x000000, 0x04000, CRC(b3e25b7d) SHA1(6147d7ee2e11636521df1bb96ed5da8ad21b2a57) ) // not verified, could be bad + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v102_16m.u10", 0x000000, 0x200000, CRC(18b745e6) SHA1(7bcb58dd3a2d6072f492cf0dd7181cb061c1f49d) ) // maybe incorrect size, probably needs redump + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + +ROM_START( martmast103c ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v103_32m.u9", 0x100000, 0x400000, CRC(df5ffbe9) SHA1(cd37900b3741707f81077ca07565997031409131) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "martial_masters_v101_cn.asic", 0x000000, 0x04000, CRC(b3e25b7d) SHA1(6147d7ee2e11636521df1bb96ed5da8ad21b2a57) ) // v102 on the PCB the maincpu ROM was dumped from. v102 Chinese ASIC hasn't been dumped yet. + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v102_16m.u10", 0x000000, 0x200000, CRC(18b745e6) SHA1(7bcb58dd3a2d6072f492cf0dd7181cb061c1f49d) ) // maybe incorrect size, probably needs redump + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + +ROM_START( martmast102c ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "mm_v102_u9.u9", 0x100000, 0x400000, CRC(bb24b92a) SHA1(442cb9e3f51727be82f71c078c5c3e49dc1a23f0) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "martial_masters_v101_cn.asic", 0x000000, 0x04000, CRC(b3e25b7d) SHA1(6147d7ee2e11636521df1bb96ed5da8ad21b2a57) ) // not verified, could be bad + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "mm_v101_u10.u10", 0x000000, 0x400000, CRC(41b9497c) SHA1(a941abbb938fb769112eaad374cc513a71aaa556) ) // double size wrt to other sets + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + +/* +Only the ROMs at U9 and U10 were dumped. According to FBNeo they could be bad dumps. + +U9 and U10 are not standard EPROMs, instead they are 27C322 adapter boards with an SMD OKI 27C3202 TSOP. +*/ + +ROM_START( martmasttw ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "mm_v102_u9.u9", 0x100000, 0x400000, CRC(7eb41ed4) SHA1(7df7789db8f9110fe747f41e193b4a28096018e7) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "martial_masters_v101_tw.asic", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "mm_v101_u10.u10", 0x000000, 0x400000, CRC(917beb91) SHA1(0d867d8382518197ac98522bfc69063042db9890) ) // double size wrt to other sets + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + +/* + +Demon Front +IGS, 2002 + +Cart for IGS PGM system. This game is a straight rip-off of Metal Slug. + +PCB Layout +---------- + +IGS PCB-0387-02-FV +|-----------------------------------------------| +| BS616LV1010 IGS027A | +| BS616LV1010 | +| | +| * BS616LV1010| +| PAL PAL | +| | +| V102_16M.U5 V101_32M.U26 | +| PAL | +| T04501.U29 22MHz| +|-| |-| + |--------------------||---------------------| +Notes: + BS616LV1010 - 64K x16 SRAM (TSOP44) + IGS027A - Custom IGS IC, ARM7 based CPU (QFP120) + T04501.U29 - 23C6410 64MBit MaskROM (SOP44) + V102_16M.U5 - 27C160 16MBit EPROM (DIP42) + V101_32M.U26 - 27C322 32MBit EPROM (DIP42) + * - Unpopulated position for 29F1610 16MBit SOP44 FlashROM, linked to IGS027A + + +IGS PCB-0390-00-FV-A +|-----------------------------------------------| +| A04501.U3 A04502.U4 A04503.U6 U8* U10*| +| | +| | +| | +| | +| W04501.U5 U7* B04501.U9 B04502.U11 | +| | +| | +| | +|-| |-| + |--------------------||---------------------| +Notes: + * - Unpopulated SOP44 ROM position. + +*/ + + +ROM_START( dmnfrnt ) // same romset has also been found on a single PCB board (set dmnfrnta in FBNeo) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v105_16m.u5", 0x100000, 0x200000, CRC(bda083bd) SHA1(58d6438737a2c43aa8bbcb7f34fb51375b781b1c) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "dmnfrnt_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v105_32m.u26", 0x000000, 0x400000, CRC(c798c2ef) SHA1(91e364c33b935293fa765ca521cdb67ac45ec70f) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04501w064.u29", 0x180000, 0x800000, CRC(900eaaac) SHA1(4033cb7b28fcadb92d5af3ea7fdd1c22747618fd) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04501w064.u3", 0x0000000, 0x0800000, CRC(9741bea6) SHA1(e3e904249be228628c8c2bd3495cda23586dc048) ) + ROM_LOAD( "igs_a04502w064.u4", 0x0800000, 0x0800000, CRC(e104f405) SHA1(124b3deed3e838f8bae6c7d78bdd788859597585) ) + ROM_LOAD( "igs_a04503w064.u6", 0x1000000, 0x0800000, CRC(bfd5cfe3) SHA1(fbe4c0a2987c2036df707b86597d78124ee2e665) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04501w064.u9", 0x0000000, 0x0800000, CRC(29320b7d) SHA1(59c78805e666f912df201c34616744f46057937b) ) + ROM_LOAD( "igs_b04502w016.u11", 0x0800000, 0x0200000, CRC(578c00e9) SHA1(14235cc8b0f8c7dd659512f017a2d4aacd91d89d) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04501b064.u5", 0x400000, 0x800000, CRC(3ab58137) SHA1(b221f7e551ff0bfa3fd97b6ebedbac69442a66e9) ) +ROM_END + +ROM_START( dmnfrnt103 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v103_16m.u5", 0x100000, 0x200000, CRC(2ddafb3d) SHA1(c7d22e007952459de6d23a42ce32aab67b493fc3) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "dmnfrnt_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v103_32m.u26", 0x000000, 0x400000, CRC(e78383a3) SHA1(7ae99e93489e79fb1e4240124d22b6002fb7fe18) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04501w064.u29", 0x180000, 0x800000, CRC(900eaaac) SHA1(4033cb7b28fcadb92d5af3ea7fdd1c22747618fd) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04501w064.u3", 0x0000000, 0x0800000, CRC(9741bea6) SHA1(e3e904249be228628c8c2bd3495cda23586dc048) ) + ROM_LOAD( "igs_a04502w064.u4", 0x0800000, 0x0800000, CRC(e104f405) SHA1(124b3deed3e838f8bae6c7d78bdd788859597585) ) + ROM_LOAD( "igs_a04503w064.u6", 0x1000000, 0x0800000, CRC(bfd5cfe3) SHA1(fbe4c0a2987c2036df707b86597d78124ee2e665) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04501w064.u9", 0x0000000, 0x0800000, CRC(29320b7d) SHA1(59c78805e666f912df201c34616744f46057937b) ) + ROM_LOAD( "igs_b04502w016.u11", 0x0800000, 0x0200000, CRC(578c00e9) SHA1(14235cc8b0f8c7dd659512f017a2d4aacd91d89d) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04501b064.u5", 0x400000, 0x800000, CRC(3ab58137) SHA1(b221f7e551ff0bfa3fd97b6ebedbac69442a66e9) ) +ROM_END + +ROM_START( dmnfrnt102 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v102_16m.u5", 0x100000, 0x200000, CRC(3d4d481a) SHA1(95953b8f31343389405cc722b4177ff5adf67b62) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "dmnfrnt_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v101_32m.u26", 0x000000, 0x400000, CRC(93965281) SHA1(89da198aaa7ca759cb96b5f18859a477e55fd590) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04501w064.u29", 0x180000, 0x800000, CRC(900eaaac) SHA1(4033cb7b28fcadb92d5af3ea7fdd1c22747618fd) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04501w064.u3", 0x0000000, 0x0800000, CRC(9741bea6) SHA1(e3e904249be228628c8c2bd3495cda23586dc048) ) + ROM_LOAD( "igs_a04502w064.u4", 0x0800000, 0x0800000, CRC(e104f405) SHA1(124b3deed3e838f8bae6c7d78bdd788859597585) ) + ROM_LOAD( "igs_a04503w064.u6", 0x1000000, 0x0800000, CRC(bfd5cfe3) SHA1(fbe4c0a2987c2036df707b86597d78124ee2e665) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04501w064.u9", 0x0000000, 0x0800000, CRC(29320b7d) SHA1(59c78805e666f912df201c34616744f46057937b) ) + ROM_LOAD( "igs_b04502w016.u11", 0x0800000, 0x0200000, CRC(578c00e9) SHA1(14235cc8b0f8c7dd659512f017a2d4aacd91d89d) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04501b064.u5", 0x400000, 0x800000, CRC(3ab58137) SHA1(b221f7e551ff0bfa3fd97b6ebedbac69442a66e9) ) +ROM_END + +ROM_START( dmnfrntpcb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "pgm_p02s.u42", 0x00000, 0x020000, CRC(78c15fa2) SHA1(885a6558e022602cc6f482ac9667ba9f61e75092) ) // IGS PGM P02S 1A3708A1A0 S002838 (uses standard PGM v2 bios) + ROM_LOAD16_WORD_SWAP( "demon_front_v107kr_u43.u43", 0x100000, 0x200000, CRC(671d8a31) SHA1(a0c2af67d7c56b4b355883892a47640fc72408a1) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "dmnfrnt_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "demon_front_v107kr_u62.u62", 0x000000, 0x400000, CRC(cb94772e) SHA1(4213600be41fd9ea295dd308920b1d89b635724f) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04501w064.u71", 0x180000, 0x800000, CRC(900eaaac) SHA1(4033cb7b28fcadb92d5af3ea7fdd1c22747618fd) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04501w064.u30", 0x0000000, 0x0800000, CRC(9741bea6) SHA1(e3e904249be228628c8c2bd3495cda23586dc048) ) + ROM_LOAD( "igs_a04502w064.u31", 0x0800000, 0x0800000, CRC(e104f405) SHA1(124b3deed3e838f8bae6c7d78bdd788859597585) ) + ROM_LOAD( "igs_a04503w064.u32", 0x1000000, 0x0800000, CRC(bfd5cfe3) SHA1(fbe4c0a2987c2036df707b86597d78124ee2e665) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04501w064.u40", 0x0000000, 0x0800000, CRC(29320b7d) SHA1(59c78805e666f912df201c34616744f46057937b) ) + ROM_LOAD( "igs_b04502w016.u41", 0x0800000, 0x0200000, CRC(578c00e9) SHA1(14235cc8b0f8c7dd659512f017a2d4aacd91d89d) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04501b064.u8", 0x400000, 0x800000, CRC(3ab58137) SHA1(b221f7e551ff0bfa3fd97b6ebedbac69442a66e9) ) +ROM_END + +// the (readable part of) internal roms have been verified on +// Japan PCB +// Overseas Cart +// the two dumps differed by the region byte and internal checksum byte + +ROM_START( theglad ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) // V101 05/15/03 09:00:32 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas.bin", 0x0188, 0x3e78, CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v107_u26.u26", 0x000000, 0x200000, CRC(f7c61357) SHA1(52d31c464dfc83c5371b078cb6b73c0d0e0d57e3) ) // 06/06/03 16:17:27 V107 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglad100 ) // is this actually a pre-v100 proto? + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u6.rom", 0x100000, 0x080000, CRC(14c85212) SHA1(8d2489708e176a2c460498a13173be01f645b79e) ) // 01/06/03 09:27:02 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_older.bin", 0x0188, 0x3e78, BAD_DUMP CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) // this is wrong for this set, we patch it to work + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "u2.rom", 0x000000, 0x200000, CRC(c7bcf2ae) SHA1(10bc012c83987f594d5375a51bc4be2e17568a81) ) // 01/16/03 10:39:25 V100 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + + +ROM_START( theglad101 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v100.u6", 0x100000, 0x080000, CRC(bcf3b172) SHA1(df7e2808c0341be0a59eefa852c857a3a919223e) ) // 02/25/03 17:42:51 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas.bin", 0x0188, 0x3e78, CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v101.u26", 0x000000, 0x200000, CRC(23faec02) SHA1(9065d55c2a14e6889e735a452bbc32530056645a) ) // 03/13/03 14:06:44 V101 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglad104 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v100.u6", 0x100000, 0x080000, CRC(bcf3b172) SHA1(df7e2808c0341be0a59eefa852c857a3a919223e) ) // 02/25/03 17:42:51 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas.bin", 0x0188, 0x3e78, BAD_DUMP CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v104_u26.u26", 0x000000, 0x200000, CRC(81b5df6d) SHA1(63ab9806be458cfe9e5561606fd200c599dcb527) ) // 04/02/03 09:39:46 V104 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( thegladpcb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "bios.u42", 0x000000, 0x020000, CRC(517cf7a2) SHA1(f5720b29e3be6ec22be03a768618cb2a1aa4ade7) ) // V0001-001J + ROM_LOAD16_WORD_SWAP( "v100_u43.u43", 0x100000, 0x080000, CRC(bcf3b172) SHA1(df7e2808c0341be0a59eefa852c857a3a919223e) ) // 02/25/03 17:42:51 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set' + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v101_u62.u62", 0x000000, 0x200000, CRC(23faec02) SHA1(9065d55c2a14e6889e735a452bbc32530056645a) ) // 03/13/03 14:06:44 V101 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.u72", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // standard PGM tx bios + ROM_LOAD( "igs_t04601w64m.u71", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04601w64m.u30", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u31", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u32", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04601w64m.u40", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u41", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.u4", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // standard PGM sample bios + ROM_LOAD( "igs_w04601b64m.u8", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) + ROM_LOAD( "wave_u29.u29", 0xc00000, 0x200000, CRC(51acb395) SHA1(65a2ecd3de2ff782f2aa0f0f905f9b18323aea64) ) // extra ROM on the PCB version for the Japanese music +ROM_END + +ROM_START( thegladpcba ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "bios.u42", 0x000000, 0x020000, CRC(517cf7a2) SHA1(f5720b29e3be6ec22be03a768618cb2a1aa4ade7) ) // V0001-001J + ROM_LOAD16_WORD_SWAP( "v100_u43.u43", 0x100000, 0x080000, CRC(bcf3b172) SHA1(df7e2808c0341be0a59eefa852c857a3a919223e) ) // 02/25/03 17:42:51 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "thegladpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) // from 'thegladpcb set' + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data, internal missing) + ROM_LOAD( "v100_u62.u62", 0x000000, 0x200000, CRC(0f3f511e) SHA1(28dd8d27495cec86e968a3ea549c5b30513dbb6e) ) // 02/25/03 16:32:21 V100 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.u72", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // standard PGM tx bios + ROM_LOAD( "igs_t04601w64m.u71", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a04601w64m.u30", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u31", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u32", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b04601w64m.u40", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u41", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.u4", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // standard PGM sample bios + ROM_LOAD( "igs_w04601b64m.u8", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) + ROM_LOAD( "wave_u29.u29", 0xc00000, 0x200000, CRC(51acb395) SHA1(65a2ecd3de2ff782f2aa0f0f905f9b18323aea64) ) // extra ROM on the PCB version for the Japanese music +ROM_END + +ROM_START( oldsplus ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v-205cn.u10", 0x100000, 0x400000, CRC(923f7246) SHA1(818ade79e9724f5a2b0cc5a647ae5d4ee0374799) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus203 ) // only program ROM provided for this set + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v-203cn.u10", 0x100000, 0x400000, CRC(c728cadc) SHA1(7e6acd2535b1700fdefc048bd521c305d3170108) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal ROM + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( kovshp ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101.rom", 0x100000, 0x400000, CRC(e1d89a19) SHA1(30e11c145652d03464b14d3cd09e4f35fff6120e) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + // also seen split in 2 smaller ROMs + // "s&k_fntcg_u3.u3" - t0600.rom [1/2] IDENTICAL - CRC(164b3c94) SHA1(f00ea66886ca6bff74bbeaa49e7f5c75c275d5d7) + // "s&k_fntcg_u7.u7" - t0600.rom [2/2] IDENTICAL - CRC(b1fae5e8) SHA1(88b84879b5ce9c29081647186b3a1b003efe6dcc) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshp100 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "s__s_m-100cn.u10", 0x100000, 0x400000, CRC(e251e8e4) SHA1(af5b7c81632a39e1450d932951bed634c76b84e8) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + + + +ROM_START( kovytzy ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "ytzy_v201cn.rom", 0x100000, 0x400000, CRC(f3705ea0) SHA1(e31ad474d0c2364311d21a8ce37d49919c7b999c) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshxas ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "assg_v202cn.rom", 0x100000, 0x400000, CRC(3b7b627f) SHA1(b331148501f9349fbd5882fb3f184f6304e58646) ) // V202CN Oct 6 2008 09:59:26 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.rom", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a0600.rom", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "a0601.rom", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "a0602.rom", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) // FIXED BITS (xxxxxxxx1xxxxxxx) + ROM_LOAD( "a0603as.rom", 0x1800000, 0x0800000, CRC(7057b37e) SHA1(85a19f23303b4d581c4fa315b2c204af92fcb424) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b0600.rom", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601as.rom", 0x0800000, 0x0800000, CRC(3784fb49) SHA1(7e85fe5b5fb8746f1321c03ad2350d2a58969d7a) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600.rom", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + + +ROM_START( kovlsqh ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "lsqh_v200cn.rom", 0x100000, 0x400000, CRC(9935a27a) SHA1(3075935293172466c4bd997dcb67f864ae26493e) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) // second half identical + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) // 400000-7fffff empty + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) // c00000-ffffff empty +ROM_END + +ROM_START( kovlsqh2 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "lsqh2_prg.rom",0x100000, 0x400000, CRC(d71e3d50) SHA1(bda78648bc176b0ded74118a8e340ee661bb930d) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) // second half identical + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) // 400000-7fffff empty + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) // c00000-ffffff empty +ROM_END + + +ROM_START( kovlsjb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "lsjb_prg.rom", 0x100000, 0x400000, CRC(adf06b37) SHA1(be3c0af64de374046d28492ac49c01da1ec78e40) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) // second half identical + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) // 400000-7fffff empty + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) // c00000-ffffff empty +ROM_END + +ROM_START( kovlsjba ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "lsjba_prg.rom",0x100000, 0x400000, CRC(8b42f456) SHA1(48796e48f6f1a5f68442cf15a6b195095d443a35) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) // this is the kovsh ARM rom, we intercept and modify protection calls + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) // second half identical + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) // 400000-7fffff empty + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) // c00000-ffffff empty +ROM_END + + +ROM_START( killbldp ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v300xx_u6.u6", 0x100000, 0x080000, CRC(b7fb8ec9) SHA1(e71b2d74269a82c7155b9818821156e128b68b28) ) // V300 05-09-16 11:58:20 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + // the first 0x268 bytes of this are EXECUTE ONLY in the original chip, attempting to read them even via the original CPU just returns what is on the bus +// ROM_LOAD( "killbldp_igs027a.bin", 0x000000, 0x04000, CRC(c7868d90) SHA1(335c99933a38b77fcfc3f8004063f35124364f3e) ) // this is the original rom with the first 0x268 bytes from the bootleg - but it doesn't work? + // there are some differences around 0x2e80, investigate - maybe above is badly dumped?, padding at 0x3ac0 is also different + ROM_LOAD( "killbldp_igs027a_alt.bin", 0x000000, 0x04000, CRC(98316b06) SHA1(09be9fad24d68980a0a5beae60ced48012286216) ) // from a bootleg + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v300xx_u26.u26", 0x000000, 0x200000, CRC(144388c8) SHA1(d7469df077c1a674129f18210584ba4d05a61888) ) // 05-09-16 23:52:32 V300 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05701w032.u33", 0x180000, 0x400000, CRC(567c714f) SHA1(b25b20e1ec9f077d6f7b9d41723a68d0d461bef2) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a05701w064.u3", 0x0000000, 0x0800000, CRC(8c0c992c) SHA1(28391e50ca4400060676f1524bd49ede373292da) ) + ROM_LOAD( "igs_a05702w064.u4", 0x0800000, 0x0800000, CRC(7e5b0f27) SHA1(9e8d69f34c30216925fcb7af87f8b37f703317e7) ) + ROM_LOAD( "igs_a05703w064.u6", 0x1000000, 0x0800000, CRC(accbdb44) SHA1(d59b2452c7a5b4e666473dc973b73a0f2b4edc13) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b05701w064.u9", 0x0000000, 0x0800000, CRC(a20cdcef) SHA1(029a49971adf1e72ab556a207172bdfbd0b86b03) ) + ROM_LOAD( "igs_b05702w016.u11", 0x0800000, 0x0200000, CRC(fe7457df) SHA1(d66b1b31102b0210f9faf40e1473cd1511ccaf1f) ) + + ROM_REGION( 0x800000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05701b032.u5", 0x400000, 0x400000, CRC(2d3ae593) SHA1(b9c1d2994be95ba974bc134a3bf115bc9c9c9c16) ) +ROM_END + +ROM_START( svg ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "svg_v200_u30.u30", 0x100000, 0x080000, CRC(34c18f3f) SHA1(42d1edd0dcfaa5e44861c6a1d4cb24f51ba23de8) ) // V200 09/12/05 16:42:51 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "svg_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "svg_igs027a_v200_china.bin", 0x0188, 0x3e78, CRC(72b73169) SHA1(ffc0caea855ab4b01beb3aebd0bf17187c66c22c) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + // eproms with no labels stickers + ROM_LOAD( "epr.u26", 0x000000, 0x400000, CRC(46826ec8) SHA1(ad1daf6f615fb8d748ce7f98f19dd3bf22f79fba) ) // 10/11/05 10:07:20 V201 + ROM_LOAD( "epr.u36", 0x400000, 0x400000, CRC(fa5f3901) SHA1(8ab7c6763df4f752b50ed2197063f58046b32ddb) ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05601w016.u29", 0x180000, 0x200000, CRC(03e110dc) SHA1(41c8f286e9303b24ba6235b341371c298226fb6a) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a05601w064.u3", 0x0000000, 0x0800000, CRC(ea6453e4) SHA1(b5c82edafa8008ad59b5f2219511947d078d446e) ) + ROM_LOAD( "igs_a05602w064.u4", 0x0800000, 0x0800000, CRC(6d00621b) SHA1(55a4bc357e14b975b0234a9cd49e2224f509dad9) ) + ROM_LOAD( "igs_a05603w064.u6", 0x1000000, 0x0800000, CRC(7b71c64f) SHA1(bec7c7edf0634cf8351a54abb867c56af08ad2c3) ) + ROM_LOAD( "igs_a05604w032.u8", 0x1800000, 0x0400000, CRC(9452a567) SHA1(01fdb8e1f131603843ef4c49ab76d7a56b2d6414) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b05601w064.u9", 0x0000000, 0x0800000, CRC(35c0a489) SHA1(a7d5527da01f8eaa7499fb6785b57094521bce97) ) + ROM_LOAD( "igs_b05602w064.u11", 0x0800000, 0x0800000, CRC(8aad3f85) SHA1(da6996d901d42b3a2ba7019ad014bb938a5e328b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05601b064.u5", 0x400000, 0x800000, CRC(bfe61a71) SHA1(e682ca8d57ca51c4d72f64fc091161f3dbdce871) ) + ROM_LOAD( "igs_w05602b032.u7", 0xc00000, 0x400000, CRC(0685166d) SHA1(64dac49abd2a46d5fb58c678027aa5e23d672dc4) ) +ROM_END + +ROM_START( svgtw ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101tw_u30.u30", 0x100000, 0x080000, CRC(8d0405e4) SHA1(b6175c9ffeaac531d28e7845cb34c673476e286a) ) // V100 03/14/05 20:04:08 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom // marked H1 + ROM_LOAD( "svgpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "svgcpb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(7a59da5d) SHA1(d67ba465db40ca716b4b901b1c8e762716fb954e) ) // this is from the Japan set, the cart this came from was Taiwan + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v101tw_u26.u26", 0x000000, 0x400000, CRC(cc24f542) SHA1(623ed398d2eeea229833d92eb4fb6492133202b3) ) // 06/20/05 11:36:15 V100 + ROM_LOAD( "v101tw_u36.u36", 0x400000, 0x400000, CRC(f18283e2) SHA1(15323c5f816a0bf6f510311eb49d485ccf713cf7) ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05601w016.u29", 0x180000, 0x200000, CRC(03e110dc) SHA1(41c8f286e9303b24ba6235b341371c298226fb6a) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a05601w064.u3", 0x0000000, 0x0800000, CRC(ea6453e4) SHA1(b5c82edafa8008ad59b5f2219511947d078d446e) ) + ROM_LOAD( "igs_a05602w064.u4", 0x0800000, 0x0800000, CRC(6d00621b) SHA1(55a4bc357e14b975b0234a9cd49e2224f509dad9) ) + ROM_LOAD( "igs_a05603w064.u6", 0x1000000, 0x0800000, CRC(7b71c64f) SHA1(bec7c7edf0634cf8351a54abb867c56af08ad2c3) ) + ROM_LOAD( "igs_a05604w032.u8", 0x1800000, 0x0400000, CRC(9452a567) SHA1(01fdb8e1f131603843ef4c49ab76d7a56b2d6414) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b05601w064.u9", 0x0000000, 0x0800000, CRC(35c0a489) SHA1(a7d5527da01f8eaa7499fb6785b57094521bce97) ) + ROM_LOAD( "igs_b05602w064.u11", 0x0800000, 0x0800000, CRC(8aad3f85) SHA1(da6996d901d42b3a2ba7019ad014bb938a5e328b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05601b064.u5", 0x400000, 0x800000, CRC(bfe61a71) SHA1(e682ca8d57ca51c4d72f64fc091161f3dbdce871) ) + ROM_LOAD( "igs_w05602b032.u7", 0xc00000, 0x400000, CRC(0685166d) SHA1(64dac49abd2a46d5fb58c678027aa5e23d672dc4) ) +ROM_END + +ROM_START( svghk ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101hk_u30.u30", 0x100000, 0x080000, CRC(8d0405e4) SHA1(b6175c9ffeaac531d28e7845cb34c673476e286a) ) // V100 03/14/05 20:04:08 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom // marked H1 + ROM_LOAD( "svgpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "svgcpb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(7a59da5d) SHA1(d67ba465db40ca716b4b901b1c8e762716fb954e) ) // this is from the Japan set, the cart this came from was Hong Kong + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v101hk_u26.u26", 0x000000, 0x400000, CRC(42b0d5a9) SHA1(1dd2b6530f982dbb720e4c017fca7f90cf441f57) ) // 06/20/05 11:36:15 V100 + ROM_LOAD( "v101hk_u36.u36", 0x400000, 0x400000, CRC(bf15a47a) SHA1(822aadb222d4f0278b2e2375cb59d8b35667f5ef) ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05601w016.u29", 0x180000, 0x200000, CRC(03e110dc) SHA1(41c8f286e9303b24ba6235b341371c298226fb6a) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a05601w064.u3", 0x0000000, 0x0800000, CRC(ea6453e4) SHA1(b5c82edafa8008ad59b5f2219511947d078d446e) ) + ROM_LOAD( "igs_a05602w064.u4", 0x0800000, 0x0800000, CRC(6d00621b) SHA1(55a4bc357e14b975b0234a9cd49e2224f509dad9) ) + ROM_LOAD( "igs_a05603w064.u6", 0x1000000, 0x0800000, CRC(7b71c64f) SHA1(bec7c7edf0634cf8351a54abb867c56af08ad2c3) ) + ROM_LOAD( "igs_a05604w032.u8", 0x1800000, 0x0400000, CRC(9452a567) SHA1(01fdb8e1f131603843ef4c49ab76d7a56b2d6414) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b05601w064.u9", 0x0000000, 0x0800000, CRC(35c0a489) SHA1(a7d5527da01f8eaa7499fb6785b57094521bce97) ) + ROM_LOAD( "igs_b05602w064.u11", 0x0800000, 0x0800000, CRC(8aad3f85) SHA1(da6996d901d42b3a2ba7019ad014bb938a5e328b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05601b064.u5", 0x400000, 0x800000, CRC(bfe61a71) SHA1(e682ca8d57ca51c4d72f64fc091161f3dbdce871) ) + ROM_LOAD( "igs_w05602b032.u7", 0xc00000, 0x400000, CRC(0685166d) SHA1(64dac49abd2a46d5fb58c678027aa5e23d672dc4) ) +ROM_END + +ROM_START( svgpcb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "svg_bios.u49", 0x000000, 0x020000, CRC(3346401f) SHA1(28bd730b6026c1e521c95072d33c7bdcd19c1460) ) + ROM_LOAD16_WORD_SWAP( "svg_v100jp_u50.u50", 0x100000, 0x080000, CRC(8d0405e4) SHA1(b6175c9ffeaac531d28e7845cb34c673476e286a) ) // V100 03/14/05 20:04:08 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "svgpcb_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "svgcpb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(7a59da5d) SHA1(d67ba465db40ca716b4b901b1c8e762716fb954e) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "svg_v100jp_u64.u64", 0x000000, 0x400000, CRC(399d4a8b) SHA1(b120e8386a259e6fd7941acf3c33cf288eda616c) ) // 05/12/05 15:31:35 V100 + ROM_LOAD( "svg_v100jp_u65.u65", 0x400000, 0x400000, CRC(6e1c33b1) SHA1(66f26b2f4c0b3dcf6d1bb1df48e2ddbcc9d9432d) ) + + ROM_REGION( 0x500000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS // IGS PGM T01S 1B8558A1 M002146 + ROM_LOAD( "igs_t05601w016.u70", 0x180000, 0x200000, CRC(03e110dc) SHA1(41c8f286e9303b24ba6235b341371c298226fb6a) ) // IGS T05601W016 2C35 B270 2L464103 B050924 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "igs_a05601w064.u44", 0x0000000, 0x0800000, CRC(ea6453e4) SHA1(b5c82edafa8008ad59b5f2219511947d078d446e) ) // IGS A05601W064 44BF 2ECD 2E153602A1 S050914 + ROM_LOAD( "igs_a05602w064.u45", 0x0800000, 0x0800000, CRC(6d00621b) SHA1(55a4bc357e14b975b0234a9cd49e2224f509dad9) ) // IGS A05602W064 85C1 8A1F 2E153602A2 S050914 + ROM_LOAD( "igs_a05603w064.u46", 0x1000000, 0x0800000, CRC(7b71c64f) SHA1(bec7c7edf0634cf8351a54abb867c56af08ad2c3) ) // IGS A05603W064 8EC7 329A 2E153602A3 S050914 + ROM_LOAD( "igs_a05604w032.u47", 0x1800000, 0x0400000, CRC(9452a567) SHA1(01fdb8e1f131603843ef4c49ab76d7a56b2d6414) ) // IGS A05604W032 55F5 4CDB SL529808 S050912 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "igs_b05601w064.u61", 0x0000000, 0x0800000, CRC(35c0a489) SHA1(a7d5527da01f8eaa7499fb6785b57094521bce97) ) // IGS B05601W064 EED5 E656 2E350003A1 S050914 + ROM_LOAD( "igs_b05602w064.u62", 0x0800000, 0x0800000, CRC(8aad3f85) SHA1(da6996d901d42b3a2ba7019ad014bb938a5e328b) ) // IGS B05602W064 DD65 3D89 2E350004A2 S050914 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS // IGS PGM M01S 1BB278A1 E002146 + ROM_LOAD( "igs_w05601b064.u30", 0x400000, 0x800000, CRC(bfe61a71) SHA1(e682ca8d57ca51c4d72f64fc091161f3dbdce871) ) // IGS W05601B064 2530 FBF6 2E350004A3 S050914 + ROM_LOAD( "igs_w05602b032.u31", 0xc00000, 0x400000, CRC(0685166d) SHA1(64dac49abd2a46d5fb58c678027aa5e23d672dc4) ) // IGS w05602B032 1BC2 90D3 2K453504 S050912 +ROM_END + + +ROM_START( happy6 ) + // All ROMs labels are on stickers + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "s101xx_u5.u5", 0x100000, 0x080000, CRC(aa4646e3) SHA1(e6772cc480ddd3e1d199364b1f2ff93b973e6842) ) // V101 03/17/04 11:26:48 + ROM_RELOAD(0x180000,0x80000) + ROM_RELOAD(0x200000,0x80000) + ROM_RELOAD(0x280000,0x80000) + ROM_RELOAD(0x300000,0x80000) + ROM_RELOAD(0x380000,0x80000) + ROM_RELOAD(0x400000,0x80000) + ROM_RELOAD(0x480000,0x80000) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + // data before 0x188 is read-protected and cannot be read even with a trojan (as with most 2001/2+ IGS titles) +// ROM_LOAD( "happy6_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_v100_china.bin", 0x0188, 0x3e78, CRC(ed530445) SHA1(05c92d649701be2541557b1334dd6c820ca1009e) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v-102cn_u26.u26", 0x000000, 0x400000, CRC(310510fb) SHA1(e0e80a04e9f7bf27e6581a8935c960bad33bb6de) ) // 03/16/04 14:29:17 V102 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t01w64m_u29.u29", 0x180000, 0x800000, CRC(2d3feb8b) SHA1(9832b1c46b1ee73febf5c5c8913859f4e0581665) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a01w64m_u5.u5", 0x0000000, 0x0800000, CRC(bbaa3df3) SHA1(a72268d3989e96d571242279922291d0dc72db28) ) + ROM_LOAD( "a02w64m_u6.u6", 0x0800000, 0x0800000, CRC(f8c9cd36) SHA1(d9613a83bcc2364492fa922fde1c4f0d07b3009c) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b01w64m_u19.u19", 0x0000000, 0x0800000, CRC(73f5f225) SHA1(507126fa96dcec967bdbc0978d79fbce9d25db37) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "w01w64m_u17.u17", 0x400000, 0x800000, CRC(7e23e2be) SHA1(5e920b8e480f00b6666292d4a56039b40af18141) ) +ROM_END + +ROM_START( happy6101 ) + // All ROMs labels are on stickers + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v100cn_u5.u5", 0x100000, 0x080000, CRC(a25418e8) SHA1(acd7e7b69956cb4ce8e26c6420cb97bb4bf404e7) ) // V100 12/22/03 15:35:33 + ROM_RELOAD(0x180000,0x80000) + ROM_RELOAD(0x200000,0x80000) + ROM_RELOAD(0x280000,0x80000) + ROM_RELOAD(0x300000,0x80000) + ROM_RELOAD(0x380000,0x80000) + ROM_RELOAD(0x400000,0x80000) + ROM_RELOAD(0x480000,0x80000) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + // data before 0x188 is read-protected and cannot be read even with a trojan (as with most 2001/2+ IGS titles) +// ROM_LOAD( "happy6_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_v100_china.bin", 0x0188, 0x3e78, CRC(ed530445) SHA1(05c92d649701be2541557b1334dd6c820ca1009e) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v101cn_u26.u26", 0x000000, 0x400000, CRC(4a48ca1c) SHA1(3bebc091787903d45cb84c7302046602a903f59c) ) // 01/09/04 19:51:11 V101 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t01w64m_u29.u29", 0x180000, 0x800000, CRC(2d3feb8b) SHA1(9832b1c46b1ee73febf5c5c8913859f4e0581665) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a01w64m_u5.u5", 0x0000000, 0x0800000, CRC(bbaa3df3) SHA1(a72268d3989e96d571242279922291d0dc72db28) ) + ROM_LOAD( "a02w64m_u6.u6", 0x0800000, 0x0800000, CRC(f8c9cd36) SHA1(d9613a83bcc2364492fa922fde1c4f0d07b3009c) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b01w64m_u19.u19", 0x0000000, 0x0800000, CRC(73f5f225) SHA1(507126fa96dcec967bdbc0978d79fbce9d25db37) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "w01w64m_u17.u17", 0x400000, 0x800000, CRC(7e23e2be) SHA1(5e920b8e480f00b6666292d4a56039b40af18141) ) +ROM_END + +ROM_START( happy6100hk ) + // All ROMs labels are on stickers + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v100hk_u5.u5", 0x100000, 0x080000, CRC(a25418e8) SHA1(acd7e7b69956cb4ce8e26c6420cb97bb4bf404e7) ) // V100 12/22/03 15:35:33 + ROM_RELOAD(0x180000,0x80000) + ROM_RELOAD(0x200000,0x80000) + ROM_RELOAD(0x280000,0x80000) + ROM_RELOAD(0x300000,0x80000) + ROM_RELOAD(0x380000,0x80000) + ROM_RELOAD(0x400000,0x80000) + ROM_RELOAD(0x480000,0x80000) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + // data before 0x188 is read-protected and cannot be read even with a trojan (as with most 2001/2+ IGS titles) +// ROM_LOAD( "happy6_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_v100_china.bin", 0x0188, 0x3e78, BAD_DUMP CRC(ed530445) SHA1(05c92d649701be2541557b1334dd6c820ca1009e) ) // needs the HK version + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v100hk_u26.u26", 0x000000, 0x400000, CRC(8f2feb1f) SHA1(acbc6620a296e8a6819bf088886bcbfc329f286d) ) // 12/22/03 11:28:36 V100 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t01w64m_u29.u29", 0x180000, 0x800000, CRC(2d3feb8b) SHA1(9832b1c46b1ee73febf5c5c8913859f4e0581665) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a01w64m_u5.u5", 0x0000000, 0x0800000, CRC(bbaa3df3) SHA1(a72268d3989e96d571242279922291d0dc72db28) ) + ROM_LOAD( "a02w64m_u6.u6", 0x0800000, 0x0800000, CRC(f8c9cd36) SHA1(d9613a83bcc2364492fa922fde1c4f0d07b3009c) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b01w64m_u19.u19", 0x0000000, 0x0800000, CRC(73f5f225) SHA1(507126fa96dcec967bdbc0978d79fbce9d25db37) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "w01w64m_u17.u17", 0x400000, 0x800000, CRC(7e23e2be) SHA1(5e920b8e480f00b6666292d4a56039b40af18141) ) +ROM_END + +ROM_START( happy6100cn ) + // All ROMs labels are on stickers + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v100cn_u5.u5", 0x100000, 0x080000, CRC(a25418e8) SHA1(acd7e7b69956cb4ce8e26c6420cb97bb4bf404e7) ) // V100 12/22/03 15:35:33 + ROM_RELOAD(0x180000,0x80000) + ROM_RELOAD(0x200000,0x80000) + ROM_RELOAD(0x280000,0x80000) + ROM_RELOAD(0x300000,0x80000) + ROM_RELOAD(0x380000,0x80000) + ROM_RELOAD(0x400000,0x80000) + ROM_RELOAD(0x480000,0x80000) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + // data before 0x188 is read-protected and cannot be read even with a trojan (as with most 2001/2+ IGS titles) +// ROM_LOAD( "happy6_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "happy6_igs027a_v100_china.bin", 0x0188, 0x3e78, CRC(ed530445) SHA1(05c92d649701be2541557b1334dd6c820ca1009e) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) // Protection Data (encrypted external ARM data) + ROM_LOAD( "v100cn_u26.u26", 0x000000, 0x400000, CRC(9c29e482) SHA1(17a054cb4ab0663e3eba9661c3a9d4dfb7dad010) ) // 12/22/03 11:28:36 V100 + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t01w64m_u29.u29", 0x180000, 0x800000, CRC(2d3feb8b) SHA1(9832b1c46b1ee73febf5c5c8913859f4e0581665) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a01w64m_u5.u5", 0x0000000, 0x0800000, CRC(bbaa3df3) SHA1(a72268d3989e96d571242279922291d0dc72db28) ) + ROM_LOAD( "a02w64m_u6.u6", 0x0800000, 0x0800000, CRC(f8c9cd36) SHA1(d9613a83bcc2364492fa922fde1c4f0d07b3009c) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b01w64m_u19.u19", 0x0000000, 0x0800000, CRC(73f5f225) SHA1(507126fa96dcec967bdbc0978d79fbce9d25db37) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "w01w64m_u17.u17", 0x400000, 0x800000, CRC(7e23e2be) SHA1(5e920b8e480f00b6666292d4a56039b40af18141) ) +ROM_END + +// all known revisions of ketsui have roms marked v100, even when the actual game revision is upgraded + +ROM_START( ket ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketsui_v100.u38", 0x000000, 0x200000, CRC(dfe62f3b) SHA1(baa58d1ce47a707f84f65779ac0689894793e9d9) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( ket1 ) // only difference between this and ket1 is the rom fill on the unused area + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketsui_v100_alt_fill.u38", 0x000000, 0x200000, CRC(e140f8a4) SHA1(34fd25f8896935503d7537e89a4cd174e8995070) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( keta ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketsui_prg_revised.bin", 0x000000, 0x200000, CRC(69fcf5eb) SHA1(f726e251b4daa2f8d717e32000d4d7abc71c710d) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( ketb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketsui_prg_original.bin", 0x000000, 0x200000, CRC(cca5e153) SHA1(b653feaa2004c379312def6b1613c3497f654ddf) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + + +ROM_START( ketarr10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketarr_v100.u38", 0x000000, 0x200000, CRC(d4c7a8ab) SHA1(65d104d17bd4fd03a2b44297a003ba03d746c7ee) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + + +ROM_START( ketarrf ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketarrf_v100.u38", 0x000000, 0x200000, CRC(6ad17aa4) SHA1(791bd1a107433a3811c8a79ea26a73e66ddd296f) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( ketarr15 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketarr15_v100.u38", 0x000000, 0x200000, CRC(552a7d95) SHA1(4f3fb13f34d58a7482e1d26623d38aa0b54ca8dd) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( ketarrs15 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketarrs15_v100.u38", 0x000000, 0x200000, CRC(a95e71e0) SHA1(182c12e3581ebb20176d8abca41ee62aadcd63e0) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( ketarr151 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketarr151_v100.u38", 0x000000, 0x200000, CRC(2b7c030d) SHA1(9aaba1242d7ce29915a31d40341da82985927f9d) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( ketarrs151 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "ketarrs151_v100.u38", 0x000000, 0x200000, CRC(35c984e4) SHA1(d4517f318de0c40a3b30e41374f33bb355581434) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +ROM_START( ketarr ) + ROM_REGION( 0x600000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "ketarr17_v100.u38", 0x000000, 0x200000, CRC(2cb80b89) SHA1(e1aa072b8344890486e11795e02703aa2d234bb1) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +/* + +Usually a Demon Front cart is used as donor for the Ketsui conversion.Anyway these can be the donor carts: + +Knight of Valour 2 +Demon Front +Dodonpachi 2 Bee Storm +Martial Master +Gladiator +Killing Blade + +*/ + +ROM_START( ketbl ) // this assumes a Dodonpachi 2 Bee Storm cart was used + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + // the program rom in the cartridge actually ends up mapping OVER the motherboard bios rom, you don't get the PGM splash etc. + ROM_LOAD16_WORD_SWAP( "ketsui_u1.bin", 0x000000, 0x200000, CRC(391767b4) SHA1(722e364d3a8982a40df8f898e995212a1a6fee35) ) + ROM_CONTINUE(0x000000,0x200000) // first half is empty, use 2nd half + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom // leftover from original game + ROM_LOAD( "ddp2_igs027a_japan.bin", 0x000000, 0x04000, CRC(742d34d2) SHA1(4491c08f3cefef2933ad5a741f4bb05cc2f3e1a0) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) // leftover from original game + ROM_LOAD( "v100.u23", 0x000000, 0x20000, CRC(06c3dd29) SHA1(20c9479f158467fc2037dcf162b6c6be18c91d46) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1 + ROM_LOAD( "a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1 +ROM_END + +ROM_START( espgal ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + // doesn't use a separate BIOS rom + ROM_LOAD16_WORD_SWAP( "espgaluda_v100.u38", 0x000000, 0x200000, CRC(08ecec34) SHA1(bce2e7fb9105ed51603d09cbd3a9eeb5b8f47ee2) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "espgal_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "t01s.u18", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details + ROM_LOAD( "cave_t04801w064.u19", 0x180000, 0x800000, CRC(6021c79e) SHA1(fbc340dafb18aa3094de29b881318a5a9794e4bc) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04801w064.u7", 0x0000000, 0x0800000, CRC(26dd4932) SHA1(9bbabb5a53cb5ba88397cc2c258980f3b70314ce) ) //image-1 + ROM_LOAD( "cave_a04802w064.u8", 0x0800000, 0x0800000, CRC(0e6bf7a9) SHA1(a7541e2b5a0df2bc62a5b347e54dbc2ed1922db2) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04801w064.u1", 0x0000000, 0x0800000, CRC(98dce13a) SHA1(61d48b7117459f7babc022b68231f6928177a71d) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + // there is a position for the PGM audio bios rom, but it's unpopulated, same as ketsui but not "PGM" string on PCB + ROM_LOAD( "cave_w04801b032.u17", 0x400000, 0x400000, CRC(60298536) SHA1(6b7333f16cce778c5725dbdf75a5446f0906397a) ) //music-1 +ROM_END + +ROM_START( espgalbl ) // this assumes a Dodonpachi 2 Bee Storm cart was used + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + // the program rom in the cartridge actually ends up mapping OVER the motherboard bios rom, you don't get the PGM splash etc. + ROM_LOAD16_WORD_SWAP( "espgaluda_u8.bin", 0x000000, 0x400000, CRC(6a92dd52) SHA1(d4b694c88deaeebb7b1c0ddbf29a06380b06426f) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom // leftover from original game + ROM_LOAD( "ddp2_igs027a_japan.bin", 0x000000, 0x04000, CRC(742d34d2) SHA1(4491c08f3cefef2933ad5a741f4bb05cc2f3e1a0) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) // Protection Data (encrypted external ARM data) // leftover from original game + ROM_LOAD( "v100.u23", 0x000000, 0x20000, CRC(06c3dd29) SHA1(20c9479f158467fc2037dcf162b6c6be18c91d46) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t04801w064.u19", 0x180000, 0x800000, CRC(6021c79e) SHA1(fbc340dafb18aa3094de29b881318a5a9794e4bc) ) //text-1 + + ROM_REGION16_LE( 0x1000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a04801w064.u7", 0x0000000, 0x0800000, CRC(26dd4932) SHA1(9bbabb5a53cb5ba88397cc2c258980f3b70314ce) ) //image-1 + ROM_LOAD( "a04802w064.u8", 0x0800000, 0x0800000, CRC(0e6bf7a9) SHA1(a7541e2b5a0df2bc62a5b347e54dbc2ed1922db2) ) //image-2 + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b04801w064.u1", 0x0000000, 0x0800000, CRC(98dce13a) SHA1(61d48b7117459f7babc022b68231f6928177a71d) ) //bitmap-1 + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "w04801b032.u17", 0x400000, 0x400000, CRC(60298536) SHA1(6b7333f16cce778c5725dbdf75a5446f0906397a) ) //music-1 +ROM_END + + +ROM_START( ddp3 ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "ddp3_bios.u37", 0x00000, 0x080000, CRC(b3cc5c8f) SHA1(02d9511cf71e4a0d6ca8fd9a1ef2c79b0d001824) ) // uses a standard PGM bios with the startup logos hacked out + ROM_LOAD16_WORD_SWAP( "ddp3_v101_16m.u36", 0x100000, 0x200000,CRC(fba2180e) SHA1(59c1a76243e587c07215c8a76649401ef0bff7c7) ) // marked 怒首領蜂(dodonpachi) 3 V101 16M + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ddp3_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "cave_t04401w064.u19", 0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "cave_a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04401w064.u1", 0x0000000, 0x0800000, CRC(17731c9d) SHA1(0e0aa0ec01035323985ac8e08228a0fd6edf6689) ) //bitmap-1 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "cave_m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) ) +ROM_END + +ROM_START( ddpdoj ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "ddp3_bios.u37", 0x00000, 0x080000, CRC(b3cc5c8f) SHA1(02d9511cf71e4a0d6ca8fd9a1ef2c79b0d001824) ) // uses a standard PGM bios with the startup logos hacked out + ROM_LOAD16_WORD_SWAP( "ddp3_v101.u36", 0x100000, 0x200000, CRC(195b5c1e) SHA1(f18d791c034b0a3d85888a92fb5d326ee3deb04f) ) // yes this one was actually marked v101 which goes against the standard Cave marking system + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ddp3_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "cave_t04401w064.u19", 0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "cave_a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04401w064.u1", 0x0000000, 0x0800000, CRC(17731c9d) SHA1(0e0aa0ec01035323985ac8e08228a0fd6edf6689) ) //bitmap-1 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "cave_m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) ) +ROM_END + + +ROM_START( ddpdoja ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "ddp3_bios.u37", 0x00000, 0x080000, CRC(b3cc5c8f) SHA1(02d9511cf71e4a0d6ca8fd9a1ef2c79b0d001824) ) // uses a standard PGM bios with the startup logos hacked out + ROM_LOAD16_WORD_SWAP( "ddp3_d_d_1_0.u36", 0x100000, 0x200000, CRC(5d3f85ba) SHA1(4c24ea206140863d456179750366921442e1d2b8) ) // marked v100 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ddp3_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "cave_t04401w064.u19", 0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "cave_a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04401w064.u1", 0x0000000, 0x0800000, CRC(17731c9d) SHA1(0e0aa0ec01035323985ac8e08228a0fd6edf6689) ) //bitmap-1 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "cave_m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) ) +ROM_END + +ROM_START( ddpdojb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "ddp3_bios.u37", 0x00000, 0x080000, CRC(b3cc5c8f) SHA1(02d9511cf71e4a0d6ca8fd9a1ef2c79b0d001824) ) // uses a standard PGM bios with the startup logos hacked out + ROM_LOAD16_WORD_SWAP( "dd_v100.u36", 0x100000, 0x200000, CRC(7da0c1e4) SHA1(aca2fe35ba0ab3628900fa2aba2d22fc4fd7046d) ) // marked v100 + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ddp3_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "cave_t04401w064.u19", 0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "cave_a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04401w064.u1", 0x0000000, 0x0800000, CRC(17731c9d) SHA1(0e0aa0ec01035323985ac8e08228a0fd6edf6689) ) //bitmap-1 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "cave_m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) ) +ROM_END + +ROM_START( ddpdojp ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "pgmbios.u20.27c210", 0x00000, 0x020000, CRC(1d2a7c15) SHA1(025a9f2bb64887699bf7ccab0f2ccfc55c3ad75c) ) + ROM_LOAD16_WORD_SWAP( "ca008.cod_prom.u13.27c322", 0x100000, 0x400000, CRC(2ba7fa3b) SHA1(c4c5425a2455cb95555d94bbf8afc83cf0b140e8) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "fnt_cg.0_cgrom0.u8.27c322", 0x180000, 0x0400000, CRC(1805e198) SHA1(23db96eddfb47dfef9dcfab52ae2582ad3c0fc90) ) + ROM_LOAD( "fnt_cg.1_cgrom1.u10.27c322", 0x580000, 0x0400000, CRC(f06ce99c) SHA1(24482e2bb2485855e300b6b3e07962d4f0a6ab83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "sp_cg.0_imcs0.u11.27c322", 0x0000000, 0x0400000, CRC(c66bdd8e) SHA1(dde26821a3ef8ad5c3c29e11c55f8f6953c085dd) ) + ROM_LOAD( "sp_cg.1_imcs1.u13.27c322", 0x0400000, 0x0400000, CRC(d30eac89) SHA1(78b18ff71136df0ffadb87fc53b60943dd62bcdd) ) + ROM_LOAD( "sp_cg.2_imcs2.u15.27c322", 0x0800000, 0x0400000, CRC(f31b010e) SHA1(1987e9cd2abcf57be990853fbd305474e58da5b8) ) + ROM_LOAD( "sp_cg.3_imcs3.u17.27c322", 0x0c00000, 0x0400000, CRC(01ec23f5) SHA1(ff22642f914b0f8911a221df1e9073bdc9434660) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "sp_mp.0_bitcs0.u5.27c322", 0x0000000, 0x0400000, CRC(e30494a4) SHA1(12d216252a916be4fd8d77b89497cee9b04861e5) ) + ROM_LOAD( "sp_mp.1_bitcs1.u6.27c322", 0x0400000, 0x0400000, CRC(0239daec) SHA1(506c4d8a4bfa988d81565c47f742f1b06175915e) ) + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "sndmask.rom_mcs1.u3.27c322", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) + + ROM_REGION( 0x20000, "sram", 0 ) // default settings + ROM_LOAD( "ddp3_defaults.nv", 0x0000000, 0x020000, CRC(571e96c0) SHA1(348940c77ca348213331b85b9b1d3aabb96a528a) ) +ROM_END + + + +// this expects Magic values in NVRAM to boot +// latest revision, BL version at 2nd ROM half was updated, require different NVRAM protection values, still display same 3-dot version text as older set +ROM_START( ddpdojblk ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "ddp3_bios.u37", 0x00000, 0x080000, CRC(b3cc5c8f) SHA1(02d9511cf71e4a0d6ca8fd9a1ef2c79b0d001824) ) // uses a standard PGM bios with the startup logos hacked out + ROM_LOAD16_WORD_SWAP( "ddb10_10_8_434f.u45", 0x100000, 0x200000, CRC(d21561db) SHA1(66a0103bc5f17b28736b562e32807271a5afa261) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ddp3_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "cave_t04401w064.u19", 0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "cave_a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04401w064.u1", 0x0000000, 0x0800000, CRC(17731c9d) SHA1(0e0aa0ec01035323985ac8e08228a0fd6edf6689) ) //bitmap-1 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "cave_m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // NVRAM with factory programmed values - needed to boot + ROM_LOAD( "ddp3blk_defaults.nv", 0x0000000, 0x020000, CRC(c2282720) SHA1(80b7662a7577883dabd043b6500ae244379047c2) ) +ROM_END + +ROM_START( ddpdojblka ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "ddp3_bios.u37", 0x00000, 0x080000, CRC(b3cc5c8f) SHA1(02d9511cf71e4a0d6ca8fd9a1ef2c79b0d001824) ) // uses a standard PGM bios with the startup logos hacked out + ROM_LOAD16_WORD_SWAP( "ddb_1dot.u45", 0x100000, 0x200000, CRC(265f26cd) SHA1(91abc7fc4722f3d01d76a4c1ae14c4132e4e576c) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ddp3_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "cave_t04401w064.u19", 0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "cave_a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04401w064.u1", 0x0000000, 0x0800000, CRC(17731c9d) SHA1(0e0aa0ec01035323985ac8e08228a0fd6edf6689) ) //bitmap-1 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "cave_m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // NVRAM with factory programmed values - needed to boot + ROM_LOAD( "ddp3blk_defaults.nv", 0x0000000, 0x020000, CRC(a1651904) SHA1(5b80d3c4c764895c40953a66161d4dd84f742604) ) +ROM_END + +ROM_START( ddpdojblkb ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + ROM_LOAD16_WORD_SWAP( "ddp3_bios.u37", 0x00000, 0x080000, CRC(b3cc5c8f) SHA1(02d9511cf71e4a0d6ca8fd9a1ef2c79b0d001824) ) // uses a standard PGM bios with the startup logos hacked out + ROM_LOAD16_WORD_SWAP( "ddb10.u45", 0x100000, 0x200000, CRC(72b35510) SHA1(9a432e5e1ebe61aafd737b6acc905653e5af0d38) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "ddp3_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM bios + ROM_LOAD( "cave_t04401w064.u19", 0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "cave_a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "cave_a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "cave_b04401w064.u1", 0x0000000, 0x0800000, CRC(17731c9d) SHA1(0e0aa0ec01035323985ac8e08228a0fd6edf6689) ) //bitmap-1 + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + ROM_LOAD( "pgm_m01s.rom", 0x000000, 0x200000, CRC(45ae7159) SHA1(d3ed3ff3464557fd0df6b069b2e431528b0ebfa8) ) // same as standard PGM bios + ROM_LOAD( "cave_m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 + + ROM_REGION( 0x20000, "sram", 0 ) // NVRAM with factory programmed values - needed to boot + ROM_LOAD( "ddp3blk_defaults.nv", 0x0000000, 0x020000, CRC(a1651904) SHA1(5b80d3c4c764895c40953a66161d4dd84f742604) ) +ROM_END + +// bootleg on a converted KOVSH cart +ROM_START( ddpdojblkbl ) + ROM_REGION( 0x600000, "maincpu", 0 ) // 68000 Code + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "ddp_doj_u1.bin", 0x100000, 0x400000, CRC(eb4ab06a) SHA1(187c37e5319395e36a1cf3626b53e08df615cc0c) ) + + ROM_REGION( 0x4000, "prot", 0 ) // ARM protection ASIC - internal rom + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) // 8x8 Text Tiles + 32x32 BG Tiles + PGM_VIDEO_BIOS + ROM_LOAD( "t04401w064.u19",0x180000, 0x800000, CRC(3a95f19c) SHA1(fd3c47cf0b8b1e20c6bec4be68a089fc8bbf4dbe) ) //text-1 + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) // Sprite Colour Data + ROM_LOAD( "a04401w064.u7", 0x0000000, 0x0800000, CRC(ed229794) SHA1(1cf1863495a18c7c7d277a9be43ec116b00960b0) ) //image-1 + ROM_LOAD( "a04402w064.u8", 0x0800000, 0x0800000, CRC(752167b0) SHA1(c33c3398dd8e479c9d5bd348924958a6aecbf0fc) ) //image-2 + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) // Sprite Masks + Colour Indexes + ROM_LOAD( "b04401w064_corrupt.u1", 0x0000000, 0x0800000, CRC(8cbff066) SHA1(eef1cd566bc70ebf45f047e56026803d5c1dac43) ) //bitmap-1 - bootlegs were based off a corrupt dump of the ROM + + ROM_REGION( 0x1000000, "ics", 0 ) // Samples - (8 bit mono 11025Hz) + PGM_AUDIO_BIOS + ROM_LOAD( "m04401b032.u17", 0x400000, 0x400000, CRC(5a0dbd76) SHA1(06ab202f6bd5ebfb35b9d8cc7a8fb83ec8840659) ) //music-1 +ROM_END + +void pgm_state::pgm_basic_init(bool set_bank) +{ + u8 *ROM = memregion("maincpu")->base(); + if (set_bank) membank("bank1")->set_base(&ROM[0x100000]); + + m_bg_videoram = &m_videoram[0]; + m_tx_videoram = &m_videoram[0x4000/2]; + m_rowscrollram = &m_videoram[0x7000/2]; +} + +void pgm_state::init_pgm() +{ + pgm_basic_init(); +} + +GAME( 1997, pgm, 0, pgm, pgm, pgm_state, init_pgm, ROT0, "IGS", "PGM (Polygame Master) System BIOS", MACHINE_IS_BIOS_ROOT ) + +/* ----------------------------------------------------------------------------------------------------------------------- + Working (at least one set of the game is fully working) + -----------------------------------------------------------------------------------------------------------------------*/ + +//西游释厄传/Xīyóu shì è chuán (China; Simplified Chinese) +//西遊釋厄傳/Xīyóu shì è chuán (Taiwan; Traditional Chinese) +// the version numbering on these is a mess... date strings from ROM (and in some cases even those are missing..) +GAME( 1997, orlegend, pgm, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 126)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // V0001 01/14/98 18:16:38 - runs as World +GAME( 1997, orlegende, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 112)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // V0001 07/14/97 11:19:45 - runs as World +GAME( 1997, orlegendc, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 112, Chinese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // V0001 05/05/97 10:08:21 - runs as World, Korea, China +GAME( 1997, orlegendca, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. ???, Chinese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // V0001 04/02/97 13:35:43 - runs as HongKong, China, China +GAME( 1997, orlegend111c, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 111, Chinese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // V0001 no date! - runs as HongKong, China, China +GAME( 1997, orlegend111t, orlegend, pgm_asic3, orlegendt, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 111, Taiwanese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )// V0001 no date! - needs a different protection sequence +GAME( 1997, orlegend111k, orlegend, pgm_asic3, orlegendk, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 111, Korean Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // not checked +GAME( 1997, orlegend105t, orlegend, pgm_asic3, orlegendt, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 105, Taiwanese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )// V0000 no date! - needs a different protection sequence +GAME( 1997, orlegend105k, orlegend, pgm_asic3, orlegendk, pgm_asic3_state, init_orlegend, ROT0, "IGS", "Oriental Legend / Xiyou Shi E Chuan (ver. 105, Korean Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // V0000 no date! - runs as Korea + +//Dragon World II +//中國龍II/Zhōngguó lóng II (China, Taiwan, Japan; Traditional Chinese only in title screen) +//東方之珠II/Dung1Fong1 Zi1 Zyu1 II (Hong Kong)/dongbang jiju II (Korea(undumped)) +GAME( 1997, drgw2, pgm, pgm_012_025_drgw2, pgm, pgm_012_025_state, init_drgw2, ROT0, "IGS", "Dragon World II (ver. 110X, Export)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, drgw2100x, drgw2, pgm_012_025_drgw2, pgm, pgm_012_025_state, init_dw2v100x, ROT0, "IGS", "Dragon World II (ver. 100X, Export)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, drgw2100j, drgw2, pgm_012_025_drgw2, pgm, pgm_012_025_state, init_drgw2j, ROT0, "IGS (Alta license)", "Chuugokuryuu II (ver. 100J, Japan)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, drgw2101c, drgw2, pgm_012_025_drgw2, pgm, pgm_012_025_state, init_drgw2c101,ROT0, "IGS", "Zhongguo Long II (ver. 101C, China)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, drgw2100c, drgw2, pgm_012_025_drgw2, pgm, pgm_012_025_state, init_drgw2c, ROT0, "IGS", "Zhongguo Long II (ver. 100C, China)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1997, drgw2100hk, drgw2, pgm_012_025_drgw2, pgm, pgm_012_025_state, init_drgw2hk, ROT0, "IGS", "Dungfong Zi Zyu II (ver. 100H, Hong Kong)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // (region is shown as Hokg Kong, Dragon World 3 is the same) + +//The Killing Blade +//傲剑狂刀/Ào jiàn kuáng dāo (China, Hong Kong; Simplified Chinese) +//傲劍狂刀/Ào jiàn kuáng dāo (Taiwan; Traditional Chinese) +GAME( 1998, killbld, pgm, pgm_022_025_killbld, killbld, pgm_022_025_state, init_killbld, ROT0, "IGS", "The Killing Blade / Ao Jian Kuang Dao (ver. 109, Chinese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1998, killbld104, killbld, pgm_022_025_killbld, killbld, pgm_022_025_state, init_killbld, ROT0, "IGS", "The Killing Blade / Ao Jian Kuang Dao (ver. 104)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1998, killbld106, killbld, pgm_022_025_killbld, killbld, pgm_022_025_state, init_killbld, ROT0, "IGS", "The Killing Blade / Ao Jian Kuang Dao (ver. 106)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1998, killbld100, killbld, pgm_022_025_killbld, killbld, pgm_022_025_state, init_killbld, ROT0, "IGS", "The Killing Blade / Ao Jian Kuang Dao (ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device + +//中國龍3/Zhōngguó lóng 3 (China, Taiwan, Japan; Traditional chinese only in title screen) +//東方之珠3/Dung1Fong1 Zi1 Zyu1 3 (Hong Kong)/dongbang jiju 3 (Korea) +// these seem playable but the DMA mode transfering 68k code to RAM is not emulated so there could still be problems +// when set to Japan it has the extra subtitle and so gets referred to as Dragon World 3 Special / Chuugokuryuu 3 Special. The earliest versions seem to only contain the code for the Japanese region, presumably the support for other regions was added later. +GAME( 1998, drgw3, pgm, pgm_022_025_dw3, dw3, pgm_022_025_state, init_drgw3, ROT0, "IGS", "Dragon World 3 / Zhongguo Long 3 / Dungfong Zi Zyu 3 / Chuugokuryuu 3 Special (ver. 106)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1998, drgw3105, drgw3, pgm_022_025_dw3, dw3, pgm_022_025_state, init_drgw3, ROT0, "IGS", "Dragon World 3 / Zhongguo Long 3 / Dungfong Zi Zyu 3 / Chuugokuryuu 3 Special (ver. 105)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1998, drgw3103, drgw3, pgm_022_025_dw3, dw3, pgm_022_025_state, init_drgw3, ROT0, "IGS", "Chuugokuryuu 3 Special (Japan, ver. 103)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // Japan only, has an extra game mode option! +GAME( 1998, drgw3100, drgw3, pgm_022_025_dw3, dw3j, pgm_022_025_state, init_drgw3, ROT0, "IGS", "Chuugokuryuu 3 Special (Japan, ver. 100)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ^ + +// Share title screen graphics and region as drgw3 +GAME( 2000, dwex, pgm, pgm_022_025_dw3, dw3, pgm_022_025_state, init_drgw3, ROT0, "IGS", "Dragon World 3 EX / Zhongguo Long 3 EX / Dungfong Zi Zyu 3 EX / Chuugokuryuu 3 EX (ver. 100)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 2001, dwex101cn, dwex, pgm_022_025_dw3, dw3, pgm_022_025_state, init_drgw3, ROT0, "IGS", "Dragon World 3 EX / Zhongguo Long 3 EX / Dungfong Zi Zyu 3 EX / Chuugokuryuu 3 EX (ver. 101CN)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device + +//超級比一比/Chāojí bǐ yī bǐ (Taiwan) +//大家来找碴/Dàjiā lái zhǎo chá/Daai6gaa1 Loi4 Zaau2 Caa4 (China, Hong Kong) +//リアルアンドフェイク/Riaruandofeiku(Real and Fake) (Japan) +// region provided by internal ARM rom +GAME( 1999, photoy2k, pgm, pgm_arm_type1, photoy2k, pgm_arm_type1_state, init_photoy2k, ROT0, "IGS", "Photo Y2K / Chaoji Bi Yi Bi / Dajia Lai Zhao Cha / Real and Fake (ver. 105)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1999, photoy2k104, photoy2k, pgm_arm_type1, photoy2k, pgm_arm_type1_state, init_photoy2k, ROT0, "IGS", "Photo Y2K / Chaoji Bi Yi Bi / Dajia Lai Zhao Cha / Real and Fake (ver. 104)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1999, photoy2k103j, photoy2k, pgm_arm_type1, photoy2kj, pgm_arm_type1_state, init_photoy2k, ROT0, "IGS", "Photo Y2K / Chaoji Bi Yi Bi / Dajia Lai Zhao Cha / Real and Fake (ver. 103, Japanese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1999, photoy2k102j, photoy2k, pgm_arm_type1, photoy2k, pgm_arm_type1_state, init_photoy2k, ROT0, "IGS", "Photo Y2K / Chaoji Bi Yi Bi / Dajia Lai Zhao Cha / Real and Fake (ver. 102, Japanese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // region provided by protection device + +//三国战纪风云再起/Sānguó zhàn jì Fēngyún zàiqǐ (China, Hong Kong; Simplified Chinese) +//三國戰紀風雲再起/Sānguó zhàn jì Fēngyún zàiqǐ (Taiwan; Traditional Chinese) +//三國戰紀 Superheroes/Sangoku-Senki Superheroes (Japan; Traditional Chinese) +// region provided by internal ARM rom +GAME( 1999, kovsh, pgm, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sanguo Zhan Ji Fengyun Zaiqi / Sangoku Senki Super Heroes (ver. 104, CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k: SANGO EX V104 03/24/00 11:15:25, ARM: China internal ROM +GAME( 1999, kovsh103, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sanguo Zhan Ji Fengyun Zaiqi / Sangoku Senki Super Heroes (ver. 103, CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k: SANGO EX V103 01/18/00 17:37:12, ARM: China internal ROM +GAME( 1999, kovsh102, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sanguo Zhan Ji Fengyun Zaiqi / Sangoku Senki Super Heroes (ver. 102, CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k: SANGO EX V102 12/23/99 15:17:57, ARM: China internal ROM +GAME( 1999, kovsh101, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sanguo Zhan Ji Fengyun Zaiqi / Sangoku Senki Super Heroes (ver. 101, CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k: SANGO EX V101 12/20/99 10:59:05, ARM: China internal ROM +GAME( 1999, kovsh100, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sanguo Zhan Ji Fengyun Zaiqi / Sangoku Senki Super Heroes (ver. 100, CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k: SANGO EX V100 12/06/99 13:36:04, ARM: China internal ROM +// 拳皇三国特別版/Quánhuáng sānguó Tèbié bǎn +// nasty modern asian bootleg of Knights of Valour Super Heroes with characters ripped from SNK's The King of Fighters series! +GAME( 2008, kovqhsgs, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovqhsgs, ROT0, "bootleg", "Quanhuang Sanguo Tebie Ban (bootleg of Knights of Valour Super Heroes, V303CN, Nov 21 2008 19:03:49)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) + +//三國戰紀2/Sānguó zhàn jì 2 (Traditional Chinese only in title screen) +// region provided by internal ARM rom +GAME( 2000, kov2, pgm, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 107, 102, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 05/10/01 14:24:08 V107 (Ext. Arm V102, Int. Arm V100HK) +GAME( 2000, kov2106, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 106, 102, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 02/27/01 13:26:46 V106 (Ext. Arm V102, Int. Arm V100HK) +GAME( 2000, kov2104, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 104, 102, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 01/19/01 10:19:38 V104 (Ext. Arm V102, Int. Arm V100HK) +GAME( 2000, kov2103, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 103, 101, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 12/28/00 15:09:31 V103 (Ext. Arm V101, Int. Arm V100HK) +GAME( 2000, kov21022, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 102, 102, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 12/14/00 10:33:36 V102 (Ext. Arm V102, Int. Arm V100HK) +GAME( 2000, kov2102, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 102, 101, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 12/14/00 10:33:36 V102 (Ext. Arm V101, Int. Arm V100HK) +GAME( 2000, kov2101, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 101, 101, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK) +GAME( 2000, kov2100, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "IGS", "Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 100, 100, 100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK) + +//三國戰紀2 Nine Dragons/Sānguó zhàn jì 2 Nine Dragons (Overseas) +//三國戰紀2群雄争霸/Sānguó zhàn jì 2 Qúnxióng zhēngbà/Saam1Qwok3 Zin3 Gei2 2 Kwan4Hung4 Zang1Baa3 (China/Hong Kong; Mixed Traditional and Simplified Chinese) +//三國戰紀2飛龍在天/Sānguó zhàn jì 2 Fēilóng zài tiān (Taiwan; Traditional Chinese) +//三國戰紀武将争霸/Sangoku-Senki Bushō Souha (Japan; Mixed Traditional and Simplified Chinese, Busyou Souha in title screen) +// region provided by internal ARM rom (we only have a China internal ROM) +GAME( 2001, kov2p, pgm, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sanguo Zhan Ji 2 Qunxiong Zhengba / Sanguo Zhan Ji 2 Feilong Zai Tian / Sangoku Senki Busyou Souha (ver. M205XX, 200, 100CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 04/25/02 17:48:27 M205XX +GAME( 2001, kov2p204, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sanguo Zhan Ji 2 Qunxiong Zhengba / Sanguo Zhan Ji 2 Feilong Zai Tian / Sangoku Senki Busyou Souha (ver. M204XX, 200, 100CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 08/28/01 09:11:49 M204XX +GAME( 2001, kov2p203, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sanguo Zhan Ji 2 Qunxiong Zhengba / Sanguo Zhan Ji 2 Feilong Zai Tian / Sangoku Senki Busyou Souha (ver. M203XX, 200, 100CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 08/13/01 16:57:32 M203XX +GAME( 2001, kov2p202, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sanguo Zhan Ji 2 Qunxiong Zhengba / Sanguo Zhan Ji 2 Feilong Zai Tian / Sangoku Senki Busyou Souha (ver. M202XX, 200, 100CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 07/09/01 11:03:50 M202XX +GAME( 2001, kov2p200, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sanguo Zhan Ji 2 Qunxiong Zhengba / Sanguo Zhan Ji 2 Feilong Zai Tian / Sangoku Senki Busyou Souha (ver. M200XX, 200, 100CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 06/18/01 22:59:12 M200XX + +//形意拳/Xíng yì quán/Sin ī ken(Japanese label) +// region provided by internal ARM rom +GAME( 2001, martmast, pgm, pgm_arm_type2_22m, martmast, pgm_arm_type2_state, init_martmast, ROT0, "IGS", "Martial Masters / Xing Yi Quan (ver. 104, 102, 102US)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k V104, Ext Arm 102, Int Arm 102US +GAME( 2001, martmast104c, martmast, pgm_arm_type2_22m, martmast, pgm_arm_type2_state, init_martmast, ROT0, "IGS", "Martial Masters / Xing Yi Quan (ver. 104, 102, 101CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k V104, Ext Arm 102, Int Arm 101CN +GAME( 2001, martmast103c, martmast, pgm_arm_type2_22m, martmast, pgm_arm_type2_state, init_martmast, ROT0, "IGS", "Martial Masters / Xing Yi Quan (ver. 103, 102, 101CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k V103, Ext Arm 102, Int Arm 101CN (actually 102 CN on the PCB, needs to be dumped) +GAME( 2001, martmast102c, martmast, pgm_arm_type2_22m, martmast, pgm_arm_type2_state, init_martmast, ROT0, "IGS", "Martial Masters / Xing Yi Quan (ver. 102, 101, 101CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k V102, Ext Arm 101, Int Arm 101CN +GAME( 2001, martmasttw, martmast, pgm_arm_type2_22m, martmast, pgm_arm_type2_state, init_martmast, ROT0, "IGS", "Martial Masters / Xing Yi Quan (ver. 102, 101, 101TW)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // 68k V102, Ext Arm 101, Int Arm 101TW + +//蜂暴/Fēng bào (Chinese, Title call excepting Japan)/Fung1 Bou6 (Hong Kong, Jyutping) +// region provided by internal ARM rom +GAME( 2001, ddp2, pgm, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (World, ver. 102)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2101, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (World, ver. 101)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2100, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (World, ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2hk, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Fung Bou (Hong Kong, ver. 102)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2101hk, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Fung Bou (Hong Kong, ver. 101)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2100hk, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Fung Bou (Hong Kong, ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2k, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Korea, ver. 102)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2101k, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Korea, ver. 101)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2100k, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Korea, ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2j, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS (Cave license)", "DoDonPachi II (Japan, ver. 102)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2101j, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS (Cave license)", "DoDonPachi II (Japan, ver. 101)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2100j, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS (Cave license)", "DoDonPachi II (Japan, ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2t, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi - Feng Bao (Taiwan, ver. 102)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2101t, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi - Feng Bao (Taiwan, ver. 101)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2100t, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi - Feng Bao (Taiwan, ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2c, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi - Feng Bao (China, ver. 102)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2101c, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi - Feng Bao (China, ver. 101)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2001, ddp2100c, ddp2, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "IGS", "DoDonPachi - Feng Bao (China, ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) + + +// japan region only? service mode calls it Dragon World 2001 so I'm leaving that title in the description +GAME( 2001, dw2001, pgm, pgm_arm_type2_22m, dw2001, pgm_arm_type2_state, init_dw2001, ROT0, "IGS", "Chuugokuryuu 2001 [Dragon World 2001] (V100 02/21/01 16:05:16, Japan)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 02/21/01 16:05:16 + +// japan region only? service mode calls it Dragon World Pretty Chance so I'm leaving that title in the description +// english / chinese version also exists +GAME( 2001, dwpc, pgm, pgm_arm_type2_22m, dw2001, pgm_arm_type2_state, init_dwpc, ROT0, "IGS", "Zhongguo Long Pretty Chance [Dragon World Pretty Chance] (V110 03/19/02 11:13:16, China)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 03/19/02 11:13:16, needs proper ARM internal ROM dump, currently hacked, needs reset before working +GAME( 2001, dwpc101j, dwpc, pgm_arm_type2_22m, dw2001, pgm_arm_type2_state, init_dwpc101j, ROT0, "IGS", "Chuugokuryuu Pretty Chance [Dragon World Pretty Chance] (V101 09/26/01 10:23:26, Japan)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 09/26/01 10:23:26 + +//魔域戰線/Móyù zhànxiàn (Traditional Chinese) +//魔域战线/Móyù zhànxiàn (Simplified Chinese) +// we bypass the internal ARM rom on these, ideally it should still be dumped tho! the region screens show a blank string where the internal ROM revision would otherwise be displayed +// ARM version strings don't match 100% with labels... for 68k ROMs I'm using the build time / date stamp from near the start of the rom, there are some slightly different time stamps later +GAME( 2002, dmnfrnt, pgm, pgm_arm_type3_22m, pgm, pgm_arm_type3_state, init_dmnfrnt, ROT0, "IGS", "Demon Front / Moyu Zhanxian (68k label V105, ROM M105XX 08/05/02) (ARM label V105, ROM 08/05/02 S105XX)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k time: 10:24:11 ARM time: 10:33:23 +GAME( 2002, dmnfrnt103, dmnfrnt, pgm_arm_type3_22m, pgm, pgm_arm_type3_state, init_dmnfrnt, ROT0, "IGS", "Demon Front / Moyu Zhanxian (68k label V103, ROM M103XX 07/05/02) (ARM label V103, ROM 07/05/02 S103XX)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k time: 14:43:13 ARM time: 11:04:24 +GAME( 2002, dmnfrnt102, dmnfrnt, pgm_arm_type3_22m, pgm, pgm_arm_type3_state, init_dmnfrnt, ROT0, "IGS", "Demon Front / Moyu Zhanxian (68k label V102, ROM M102XX 06/19/02) (ARM label V102, ROM 05/24/02 S101XX)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k time: 13:44:08 ARM time: 13:04:31 (from the strings it looks like V102 only upgraded the 68k ROM) +GAME( 2002, dmnfrntpcb, dmnfrnt, pgm_arm_type3_24m, pgm, pgm_arm_type3_state, init_dmnfrnt, ROT0, "IGS", "Demon Front V1.1 / Moyu Zhanxian V1.1 (68k label V107KR, ROM M107KR 11/03/03) (ARM label V106KR, ROM 10/16/03 S106KR) (JAMMA PCB)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // works but reports version mismatch (wants internal rom version and region to match external?) + + +// these don't use an External ARM rom, and don't have any weak internal functions which would allow the internal ROM to be read out +GAME( 2002, ddp3, 0, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ddp3, ROT270, "Cave (AMI license)", "DoDonPachi III (World, 2002.05.15 Master Ver)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2002, ddpdoj, ddp3, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ddp3, ROT270, "Cave (AMI license)", "DoDonPachi Dai-Ou-Jou (Japan, 2002.04.05.Master Ver, 68k Label V101)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // is there a v101 without the . after 05? +GAME( 2002, ddpdoja, ddp3, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ddp3, ROT270, "Cave (AMI license)", "DoDonPachi Dai-Ou-Jou (Japan, 2002.04.05.Master Ver, 68k Label V100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2002, ddpdojb, ddp3, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ddp3, ROT270, "Cave (AMI license)", "DoDonPachi Dai-Ou-Jou (Japan, 2002.04.05 Master Ver)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2002, ddpdojp, ddp3, pgm, ddp3, pgm_state, init_pgm, ROT270, "Cave (AMI license)", "DoDonPachi Dai-Ou-Jou (Japan, 2002.04.05 Master Ver, location test)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // unprotected, but still has strings related to the protection ASIC +GAME( 2002, ddpdojblk, ddp3, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ddp3, ROT270, "Cave (AMI license)", "DoDonPachi Dai-Ou-Jou Black Label (Japan, 2002.10.07.Black Ver, newer)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // Displays "2002.04.05.Master Ver" (old) or "2002.10.07.Black Ver" (new) +GAME( 2002, ddpdojblka, ddp3, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ddp3, ROT270, "Cave (AMI license)", "DoDonPachi Dai-Ou-Jou Black Label (Japan, 2002.10.07.Black Ver, older)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // Displays "2002.04.05.Master Ver" (old) or "2002.10.07.Black Ver" (new) +GAME( 2002, ddpdojblkb, ddp3, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ddp3, ROT270, "Cave (AMI license)", "DoDonPachi Dai-Ou-Jou Black Label (Japan, 2002.10.07 Black Ver)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // Displays "2002.04.05.Master Ver" (old) or "2002.10.07 Black Ver" (new) +GAME( 2012, ddpdojblkbl, ddp3, pgm_arm_type1, pgm, pgm_arm_type1_state, init_kovsh, ROT270, "bootleg", "DoDonPachi Dai-Ou-Jou Black Label (Japan, 2002.10.07 Black Ver., bootleg Knights of Valour Super Heroes conversion)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // the extra . in the revision has been added by bootlegger + +// the exact text of the 'version' shows which revision of the game it is; the newest has 2 '.' symbols in the string, the oldest, none. +// the only difference between 'ket' and 'ket1' is the ROM fill at 0x1443bc-0x1c88cd, on ket1 it seems to be randomized / garbage data, on ket it's all 0xff, both have been seen on more than one PCB. +GAME( 2002, ket, 0, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "Cave (AMI license)", "Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver.)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2002, ket1, ket, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "Cave (AMI license)", "Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver.) (alt rom fill)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2002, keta, ket, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "Cave (AMI license)", "Ketsui: Kizuna Jigoku Tachi (2003/01/01 Master Ver.)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2002, ketb, ket, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "Cave (AMI license)", "Ketsui: Kizuna Jigoku Tachi (2003/01/01 Master Ver)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2002, ketbl, ket, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "bootleg", "Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver., bootleg cartridge conversion)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) + + +// these are modern hacks, some of them have been seen on original PCBs, also reportedly on a bootleg PCB with mostly original components but the ARM replaced with a custom chip. +// this is a significantly reworked version of the game +GAME( 2014, ketarr, ket, pgm_arm_type1_cave, espgal, pgm_arm_type1_state, init_ket, ROT270, "hack (trap15)", "Ketsui: Kizuna Jigoku Tachi (2014/07/16 ARRANGE 1.7 VER) (hack)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, ketarr151, ket, pgm_arm_type1_cave, espgal, pgm_arm_type1_state, init_ket, ROT270, "hack (trap15)", "Ketsui: Kizuna Jigoku Tachi (2012/06/26 ARRANGE 1.51 VER) (hack)", MACHINE_SUPPORTS_SAVE ) // this apparently crashes on an original PGM PCB when displaying the text after starting a game, find out why and reproduce the issue in MAME. +GAME( 2012, ketarr15, ket, pgm_arm_type1_cave, espgal, pgm_arm_type1_state, init_ket, ROT270, "hack (trap15)", "Ketsui: Kizuna Jigoku Tachi (2012/06/26 ARRANGE 1.5 VER) (hack)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, ketarr10, ket, pgm_arm_type1_cave, espgal, pgm_arm_type1_state, init_ket, ROT270, "hack (trap15)", "Ketsui: Kizuna Jigoku Tachi (2012/04/17 ARRANGE VER) (hack)", MACHINE_SUPPORTS_SAVE ) + +// these simplify the scoring system +GAME( 2012, ketarrs151, ket, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "hack (trap15)", "Ketsui: Kizuna Jigoku Tachi (2012/06/27 MR.STOIC 1.51 VER) (hack)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, ketarrs15, ket, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "hack (trap15)", "Ketsui: Kizuna Jigoku Tachi (2012/06/27 MR.STOIC 1.5 VER) (hack)", MACHINE_SUPPORTS_SAVE ) + +// this has the 'programmed slowdown' removed. +GAME( 2012, ketarrf, ket, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "hack (trap15)", "Ketsui: Kizuna Jigoku Tachi (2012/04/17 FAST. VER) (hack)", MACHINE_SUPPORTS_SAVE ) + +// this version is stupid, it just simulates what happens if the protection chip isn't returning proper values +// ROM_LOAD16_WORD_SWAP( "ketarrb_v100.u38", 0x000000, 0x200000, CRC(ec7a4f92) SHA1(6351fb386586956fbdb5f0730c481fb539cc267a) ) +// GAME( 2002, ketarrb, ket, pgm_arm_type1_cave, ddp3, pgm_arm_type1_state, init_ket, ROT270, "trap15", "Ketsui: Kizuna Jigoku Tachi (2012/04/17 BACK. VER)", MACHINE_SUPPORTS_SAVE ) + + +GAME( 2003, espgal, 0, pgm_arm_type1_cave, espgal, pgm_arm_type1_state, init_espgal, ROT270, "Cave (AMI license)", "Espgaluda (2003/10/15 Master Ver)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2003, espgalbl, espgal, pgm_arm_type2, pgm, pgm_arm_type2_state, init_ddp2, ROT270, "bootleg", "Espgaluda (2003/10/15 Master Ver, bootleg cartridge conversion)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) + +//泡泡鱼/Pào pào yú (China) +//(i can't found any similar Traditional Chinese characters on Taiwan region title screen) +// protection simulated, but should be correct +GAME( 1999, puzzli2, pgm, pgm_arm_type1_sim, puzzli2, pgm_arm_type1_state, init_puzzli2, ROT0, "IGS (Metro license)", "Puzzli 2 / Pao Pao Yu (ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ROM label is V100 ( V0001, 11/22/99 09:27:58 in program ROM ) +GAME( 2001, puzzli2s, puzzli2, pgm_arm_type1_sim, puzzli2, pgm_arm_type1_state, init_puzzli2, ROT0, "IGS (Metro license)", "Puzzli 2 Super / Pao Pao Yu Super (ver. 200)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ( V200, 12/28/01 12:53:34 in program ROM ) + +//傲劍狂刀加强版/Ào jiàn kuáng dāo Jiāqiáng bǎn +GAME( 2005, killbldp, pgm, pgm_arm_type3_33_8688m, pgm, pgm_arm_type3_state, init_killbldp, ROT0, "IGS", "The Killing Blade Plus / Ao Jian Kuang Dao Jiaqiang Ban (China, ver. 300)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // using internal rom from bootleg + +//神劍伏魔录/Shén jiàn fú mó lù/San4 Gim3 Fuk6 Mo1 Luk6 (China, Hong Kong; Mixed Traditional and Simplified Chinese) +//神劍風雲/Shén jiàn fēngyún (Taiwan and Title call; Traditional Chinese) +//신검의 풍운/singeom-ui pung-un (Korea) +//闘幻狂 Road of the Sword/Tōgenkyō Road of the Sword (Japan) +// we're using a partial dump of the internal rom (sans the execute only area) with handcrafted startup code.. +// all 3 68k roms still have V100 strings, but are clearly different builds, there don't appear to be build string dates in them. Two of the external ARM roms are marked V100 but are different builds, the single PCB v100 appears to be a later revision than the cart V100 as it shares the internal ROM with the V107 cart version, the v100 cart has a different internal ROM +GAME( 2003, theglad, pgm, pgm_arm_type3_22m, theglad, pgm_arm_type3_state, init_theglad, ROT0, "IGS", "The Gladiator / Shen Jian Fu Mo Lu / Shen Jian Fengyun (M68k label V101) (ARM label V107, ROM 06/06/03 SHEN JIAN V107)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ARM time: 16:17:27 +GAME( 2003, theglad104, theglad, pgm_arm_type3_22m, theglad, pgm_arm_type3_state, init_theglad, ROT0, "IGS", "The Gladiator / Shen Jian Fu Mo Lu / Shen Jian Fengyun (M68k label V100) (ARM label V104, ROM 04/02/03 SHEN JIAN V104)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ARM time: 09:39:46 +GAME( 2003, theglad101, theglad, pgm_arm_type3_22m, theglad, pgm_arm_type3_state, init_theglad, ROT0, "IGS", "The Gladiator / Shen Jian Fu Mo Lu / Shen Jian Fengyun (M68k label V100) (ARM label V101, ROM 03/13/03 SHEN JIAN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ARM time: 14:06:44 +// the v100 68k ROM on this is older than the v101 set, this set also uses a different internal ROM to everything else, must be a very early release, maybe pre v100 proto with v100 strings? +GAME( 2003, theglad100, theglad, pgm_arm_type3_22m, theglad, pgm_arm_type3_state, init_theglada, ROT0, "IGS", "The Gladiator / Shen Jian Fu Mo Lu / Shen Jian Fengyun (M68k label V100) (ARM label V100, ROM 01/16/03 SHEN JIAN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // need correct internal rom of IGS027A - we currently patch the one we have // ARM time: 10:39:25 +// newer than ARM V100 Cart, older than ARM V101 Cart, same 68k rom as V101 Cart. +GAME( 2003, thegladpcb, theglad, pgm_arm_type3_33m, pgm, pgm_arm_type3_state, init_theglad, ROT0, "IGS (Alta/AMI license)", "Tougenkyou - Road of the Sword (M68k label V100) (ARM label V101, ROM 03/13/03 SHEN JIAN) (Japan, JAMMA PCB)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )// ARM time: 16:17:27 // PCB version only released in Japan? +GAME( 2003, thegladpcba, theglad, pgm_arm_type3_33m, pgm, pgm_arm_type3_state, init_theglad, ROT0, "IGS (Alta/AMI license)", "Tougenkyou - Road of the Sword (M68k label V100) (ARM label V100, ROM 02/25/03 SHEN JIAN) (Japan, JAMMA PCB)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )// ARM time: 16:32:21 // PCB version only released in Japan? + +//圣魔世纪/Shèng mó shìjì (China) +//聖魔世紀/Shèng mó shìjì (Taiwan, Hong Kong) +GAME( 2005, svg, pgm, pgm_arm_type3_33m, svg, pgm_arm_type3_state, init_svg, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation / Sheng Mo Shiji (M68k label V200) (ARM label V200, ROM 10/11/05 S.V.G V201)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ARM label was 200, but it's code rev 201? // ARM time: 10:07:20 +GAME( 2005, svghk, svg, pgm_arm_type3_33m, svghk, pgm_arm_type3_state, init_svgpcb, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation / Sheng Mo Shiji (M68k label V101HK) (ARM label V101HK, ROM 06/20/05 S.V.G V100)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 68k label was 101 but it's same as v100 +GAME( 2005, svgtw, svg, pgm_arm_type3_33m, svgtw, pgm_arm_type3_state, init_svgpcb, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation / Sheng Mo Shiji (M68k label V101TW) (ARM label V101TW, ROM 06/20/05 S.V.G V100)", MACHINE_NOT_WORKING ) // 68k label was 101 but it's same as v100 +GAME( 2005, svgpcb, svg, pgm_arm_type3_33m, svgpcb, pgm_arm_type3_state, init_svgpcb, ROT0, "IGS / Idea Factory (AMI license)", "S.V.G. - Spectral vs Generation / Sheng Mo Shiji (M68k label V100JP) (ARM label V100JP, ROM 05/12/05 S.V.G V100) (Japan, JAMMA PCB)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ARM time: 15:31:35 // PCB version only released in Japan? + +//欢乐六合一/Huānlè liùhé yī (China, Singapore) +//歡樂六合一/Huānlè liùhé yī (Taiwan, Hong Kong, Oversea) +GAME( 2004, happy6, pgm, pgm_arm_type3_24m, happy6, pgm_arm_type3_state, init_happy6, ROT0, "IGS", "Huanle Liuhe Yi (Happy 6-in-1) (M68K ver. V101, ARM ver. V102CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2004, happy6101, happy6, pgm_arm_type3_24m, happy6, pgm_arm_type3_state, init_happy6, ROT0, "IGS", "Huanle Liuhe Yi (Happy 6-in-1) (M68K ver. V100, ARM ver. V101CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2004, happy6100hk, happy6, pgm_arm_type3_24m, happy6hk, pgm_arm_type3_state, init_happy6, ROT0, "IGS", "Huanle Liuhe Yi (Happy 6-in-1) (M68K ver. V100HK, ARM ver. V100HK)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2004, happy6100cn, happy6, pgm_arm_type3_24m, happy6, pgm_arm_type3_state, init_happy6, ROT0, "IGS", "Huanle Liuhe Yi (Happy 6-in-1) (M68K ver. V100, ARM ver. V100CN)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) + +//超級比一比2/Chāojí bǐ yī bǐ 2 (Taiwan) +//大家来找碴2/Dàjiā lái zhǎo chá 2/Daai6gaa1 Loi4 Zaau2 Caa4 2 (China, Hong Kong) +//リアルアンドフェイク 2 Photo Y2K/Riaruandofeiku(Real and Fake) 2 Photo Y2K (Japan) +GAME( 2001, py2k2, pgm, pgm_arm_type1_sim, py2k2, pgm_arm_type1_state, init_py2k2, ROT0, "IGS", "Photo Y2K 2 / Chaoji Bi Yi Bi 2 / Dajia Lai Zhao Cha 2 / Real and Fake 2 Photo Y2K (M101XX 05/25/01 11:02:54)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 2000, py2k2100, py2k2, pgm_arm_type1_sim, py2k2, pgm_arm_type1_state, init_py2k2, ROT0, "IGS", "Photo Y2K 2 / Chaoji Bi Yi Bi 2 / Dajia Lai Zhao Cha 2 / Real and Fake 2 Photo Y2K (ver. 100, Japanese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A + +/* ----------------------------------------------------------------------------------------------------------------------- + Partially Working, playable, but some imperfections + -----------------------------------------------------------------------------------------------------------------------*/ + +//西游释厄传Super/Xīyóu shì è chuán Super (China; Simplified Chinese) +//西遊釋厄傳Super/Xīyóu shì è chuán Super (Taiwan; Traditional Chinese) +GAME( 1998, olds, pgm, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "IGS", "Oriental Legend Super / Xiyou Shi E Chuan Super (ver. 101, Korean Board)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1998, olds100, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "IGS", "Oriental Legend Special / Xiyou Shi E Chuan Super (ver. 100, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // region provided by protection device +GAME( 1998, olds100a, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "IGS", "Oriental Legend Special / Xiyou Shi E Chuan Super (ver. 100, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // region provided by protection device; OPCODE 1111 error at startup +// This version was specially made for a Chinese online gaming company. While it may not be entirely suitable for MAME, it can give some insight into how protection should work. +GAME( 1998, olds103t, olds, pgm, pgm, pgm_state, init_pgm, ROT0, "bootleg", "Xiyou Shi E Chuan Super (ver. 103, China, Tencent) (unprotected)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // without overseas region + +//三国战纪/Sānguó zhàn jì (China, Hong Kong; Simplified Chinese) +//三國戰紀/Sānguó zhàn jì (Taiwan, Japan; Traditional Chinese) +GAME( 1999, kov, pgm, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "IGS", "Knights of Valour / Sanguo Zhan Ji / Sangoku Senki (ver. 117, Hong Kong)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A // V0008 04/27/99 10:33:33 +GAME( 1999, kov115, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "IGS", "Knights of Valour / Sanguo Zhan Ji / Sangoku Senki (ver. 115)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A // V0006 02/22/99 11:53:18 +GAME( 1999, kov114, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "IGS", "Knights of Valour / Sanguo Zhan Ji / Sangoku Senki (ver. 114, Hong Kong)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 1999, kov111, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "IGS", "Knights of Valour / Sanguo Zhan Ji / Sangoku Senki (ver. 111, Japanese Board)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A // V0002 01/31/99 01:54:16 + +//三国战纪正宗Plus/Sānguó zhàn jì Zhèngzōng Plus (China/Hong Kong; Simplified Chinese) +//三國戰紀正宗Plus/Sānguó zhàn jì Zhèngzōng Plus (Taiwan, Japan; Traditional Chinese) +// no PLUS on screen when set to Korea +GAME( 1999, kovplus, pgm, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "IGS", "Knights of Valour Plus / Sanguo Zhan Ji Zhengzong Plus / Sangoku Senki Masamune Plus (ver. 119, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 1999, kovplusa, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "IGS", "Knights of Valour Plus / Sanguo Zhan Ji Zhengzong Plus / Sangoku Senki Masamune Plus (ver. 119, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A + +//三國群英传正宗Plus/Sānguó qúnyīng chuán Zhèngzōng Plus (Mixed Simplified and Traditional Chinese in title screen) +// modified title screen is only visible for china region, so use that by default. Character select portraits don't seem quite right (different protection?) +GAME( 1999, kovsgqyz, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, init_kovboot, ROT0, "bootleg", "Sanguo Qunying Chuan Zhengzong Plus (bootleg of Knights of Valour Plus, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 1999, kovsgqyza, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, init_kovboot, ROT0, "bootleg", "Sanguo Qunying Chuan Zhengzong Plus (bootleg of Knights of Valour Plus, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 1999, kovsgqyzb, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, init_kovboot, ROT0, "bootleg", "Sanguo Qunying Chuan Zhengzong Plus (bootleg of Knights of Valour Plus, set 3)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A + + +/* ----------------------------------------------------------------------------------------------------------------------- + NOT Working (mostly due to needing internal protection roms dumped) + -----------------------------------------------------------------------------------------------------------------------*/ + +//魔幻星座/Móhuàn xīngzuò +GAME( 1999, puzlstar, pgm, pgm_arm_type1_sim, pstar, pgm_arm_type1_state, init_pstar, ROT0, "IGS (Metro license)", "Puzzle Star / Mohuan Xingzuo (ver. 100MG, 09/30/99 build)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 1999, puzlstara, puzlstar, pgm_arm_type1_sim, pstar, pgm_arm_type1_state, init_pstar, ROT0, "IGS (Metro license)", "Puzzle Star / Mohuan Xingzuo (ver. 100MG, 09/20/99 build)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A + +//閃亮三合一/Shǎn liàng sān hé yī (Taiwan, Hong Kong, Oversea) +//闪亮三合一/Shǎn liàng sān hé yī (China) +GAME( 2004, pgm3in1, pgm, pgm_arm_type1_sim, pgm3in1, pgm_arm_type1_state, init_pgm3in1, ROT0, "IGS", "Shan Liang San He Yi (Flash 3-in-1) (V102 08/23/04 13:03:26)", MACHINE_NOT_WORKING ) // need internal rom of IGS027A +GAME( 2004, pgm3in1c100, pgm3in1, pgm_arm_type1_sim, pgm3in1, pgm_arm_type1_state, init_pgm3in1, ROT0, "IGS", "Shan Liang San He Yi (Flash 3-in-1) (V100 07/13/04 12:09:20)", MACHINE_NOT_WORKING ) // need internal rom of IGS027A + + +// Games below this point are known to have an 'execute only' internal ROM area covering an area at the start of the internal ROM. This can't be read when running code from either internal or external ROM space. + +//西游释厄传群魔乱舞/Xīyóu shì è chuán Qúnmóluànwǔ (China, Japan; Simplified Chinese) +//西遊釋厄傳群魔亂舞/Xīyóu shì è chuán Qúnmóluànwǔ (Hong Kong, World, Taiwan; Traditional Chinese) +//Oriental Legend 2/손오공 2/Son Ogong 2 (Korea) +// Simulation doesn't seem 100% so marked as NOT WORKING. Probably wasn't released in all specified regions (protection device internal ROM supplies the region) "Oriental Ex" is the identifier string used in test mode. +GAME( 2004, oldsplus, pgm, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "IGS", "Oriental Legend 2 (Korea) / Xiyou Shi E Chuan Qunmoluanwu (World, China, Japan, Hong Kong, Taiwan) (ver. 205) [Oriental Ex]", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 2004, oldsplus203, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "IGS", "Oriental Legend 2 (Korea) / Xiyou Shi E Chuan Qunmoluanwu (World, China, Japan, Hong Kong, Taiwan) (ver. 203) [Oriental Ex]", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A + +// we use the kovsh ARM rom for this, intercepting commands and changing them to match it, doesn't seem 100% correct tho so I'm leaving it as NOT WORKING; for example the ARM rom supplies addresses of Z80 music data sections, which have moved causing incorrect music, some damage rates could be different too. +// the game logo remains stuck on the screen during gameplay, but videos of the original board suggest this happens on real hardware as well +// if the internal ROM can't be extracted (likely case, execute only area and NO chance of custom code execution at all due to lack of external ROM) then a reference simulator should probably be written based on the actual +// kovsh code, tweaked based on tests done with this specific board to catch any different behaviors. These all seem to be for China only, they don't work as expected when set to other regions. + +//三国战记乱世枭雄/Sānguó zhàn jì Luànshì xiāoxióng (China; Simplified Chinese, Official?) +//三國戰記亂世梟雄/Sānguó zhàn jì Luànshì xiāoxióng (Traditional Chinese, Official?) +GAME( 2004, kovshp, pgm, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "IGS", "Knights of Valour Super Heroes Plus / Sanguo Zhan Ji Luanshi Xiaoxiong (ver. 101)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 2004, kovshp100, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "IGS", "Knights of Valour Super Heroes Plus / Sanguo Zhan Ji Luanshi Xiaoxiong (ver. 100)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +// First(possibly) major updated version of kovsh with 3 game modes and new characters, Version is V201 and identification string is "SANGO EX+" instead "SANGO EX". +// 一统中原/Yītǒng zhōngyuán is game mode(this mode is similar as kovsh), and ROM labels too? +GAME( 1999, kovytzy, pgm, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "IGS", "Knights of Valour Super Heroes / Sanguo Zhan Ji Fengyun Zaiqi / Sangoku Senki Super Heroes (SANGO EX+) (ver. 201 'Yitong Zhongyuan', China)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +//傲世三国/Àoshì sānguó +// this bootleg is very close to kovshp +GAME( 2008, kovshxas, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "bootleg", "Aoshi Sanguo (bootleg of Knights of Valour Super Heroes Plus, V202CN, Oct 6 2008 09:59:26)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +// these should be bootlegs of kovshp, but have further command changes in their ARMs and have a lot of code shuffled around, bootlegs of a different revision? +//乱世拳皇/Luànshì quánhuáng +GAME( 200?, kovlsqh, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Quanhuang (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 200?, kovlsqh2, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Quanhuang 2 (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +//乱世街霸/Luànshì jiē bà +GAME( 200?, kovlsjb, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Jie Ba (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A +GAME( 200?, kovlsjba, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovlsqh2, ROT0, "bootleg", "Luanshi Jie Ba (bootleg of Knights of Valour Super Heroes Plus, ver. 200CN, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // need internal rom of IGS027A diff --git a/docs/release/src/hbmame/igs/pgm.h b/docs/release/src/hbmame/igs/pgm.h new file mode 100644 index 00000000000..840af39d8b6 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgm.h @@ -0,0 +1,171 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +#ifndef MAME_IGS_PGM_H +#define MAME_IGS_PGM_H + +#pragma once + +#include "igs025.h" +#include "igs022.h" +#include "igs028.h" +#include "pgmcrypt.h" + +#include "cpu/arm7/arm7.h" +#include "cpu/arm7/arm7core.h" +#include "cpu/m68000/m68000.h" +#include "cpu/z80/z80.h" +#include "machine/gen_latch.h" +#include "machine/nvram.h" +#include "machine/timer.h" +#include "machine/v3021.h" +#include "sound/ics2115.h" +#include "emupal.h" +#include "tilemap.h" + + +class pgm_state : public driver_device +{ +public: + pgm_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_mainram(*this, "sram") + , m_region(*this, "Region") + , m_regionhack(*this, "RegionHack") + , m_maincpu(*this, "maincpu") + , m_screen(*this, "screen") + , m_sprite_buffer(*this, "spritebuffer") + , m_videoram(*this, "videoram") + , m_z80_mainram(*this, "z80_mainram") + , m_soundcpu(*this, "soundcpu") + , m_gfxdecode(*this, "gfxdecode") + , m_palette(*this, "palette") + , m_soundlatch(*this, "soundlatch") + , m_soundlatch3(*this, "soundlatch3") + , m_ics(*this, "ics") + , m_adata(*this, "sprcol") + , m_bdata(*this, "sprmask") + { + m_irq4_disabled = 0; + } + + void init_pgm(); + + void pgm_basic_init(bool set_bank = true); + void pgm(machine_config &config); + void pgmbase(machine_config &config); + +protected: + virtual void machine_reset() override; + virtual void video_start() override; + + /* memory pointers */ + required_shared_ptr<u16> m_mainram; + + optional_ioport m_region; + optional_ioport m_regionhack; + + /* devices */ + required_device<cpu_device> m_maincpu; + required_device<screen_device> m_screen; + + /* hack */ + int m_irq4_disabled = 0; + + void pgm_base_mem(address_map &map); + void pgm_mem(address_map &map); + +private: + /* memory pointers */ + required_shared_ptr<u16> m_sprite_buffer; + required_shared_ptr<u16> m_videoram; + required_shared_ptr<u8> m_z80_mainram; + u16 * m_bg_videoram = nullptr; + u16 * m_tx_videoram = nullptr; + u16 * m_rowscrollram = nullptr; + + /* video-related */ + struct sprite_t + { + int x = 0, y = 0; + bool xgrow = false, ygrow = false; + u32 xzoom = 0, yzoom = 0; + u32 color = 0, offs = 0; + u32 width = 0, height = 0; + u8 flip = 0, pri = 0; + }; + + std::unique_ptr<sprite_t[]> m_spritelist; + struct sprite_t *m_sprite_ptr_pre = nullptr; + tilemap_t *m_bg_tilemap = nullptr; + tilemap_t *m_tx_tilemap = nullptr; + + /* devices */ + required_device<cpu_device> m_soundcpu; + required_device<gfxdecode_device> m_gfxdecode; + required_device<palette_device> m_palette; + required_device<generic_latch_8_device> m_soundlatch; + required_device<generic_latch_8_device> m_soundlatch3; + required_device<ics2115_device> m_ics; + + /* used by rendering */ + required_region_ptr<u16> m_adata; + required_region_ptr<u16> m_bdata; + u32 m_aoffset = 0; + u8 m_abit = 0; + u32 m_boffset = 0; + u16 m_fg_scroll_x = 0; + u16 m_fg_scroll_y = 0; + u16 m_bg_scroll_x = 0; + u16 m_bg_scroll_y = 0; + u16 m_control_flags = 0; + u16 m_zoom_flags = 0; + u16 m_zoom_table[0x40]; + + u16 m_z80_bus_connected = 1; + + void irq4_ack_w(offs_t offset, u16 data, u16 mem_mask); + u16 videoram_r(offs_t offset); + void videoram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void coin_counter_w(u16 data); + u8 z80_ram_r(offs_t offset); + void z80_ram_w(offs_t offset, u8 data); + void z80_reset_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void z80_ctrl_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void m68k_l1_w(u8 data); + void z80_l3_w(u8 data); + void tx_videoram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void bg_videoram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + + void video_registers_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 video_registers_r(offs_t offset); + void sprite_buffer(); + + TILE_GET_INFO_MEMBER(get_tx_tile_info); + TILE_GET_INFO_MEMBER(get_bg_tile_info); + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + TIMER_DEVICE_CALLBACK_MEMBER(interrupt); + + inline void pgm_draw_pix(int xdrawpos, int pri, u16* dest, u8* destpri, const rectangle &cliprect, u16 srcdat); + inline void pgm_draw_pix_nopri(int xdrawpos, u16* dest, u8* destpri, const rectangle &cliprect, u16 srcdat); + inline void pgm_draw_pix_pri(int xdrawpos, u16* dest, u8* destpri, const rectangle &cliprect, u16 srcdat); + inline u8 get_sprite_pix(); + void draw_sprite_line(int wide, u16* dest, u8* destpri, const rectangle &cliprect, int xzoom, bool xgrow, int flip, int xpos, int pri, int realxsize, int palt, bool draw); + void draw_sprite_new_zoomed(int wide, int high, int xpos, int ypos, int palt, int flip, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, u32 xzoom, bool xgrow, u32 yzoom, bool ygrow, int pri); + void draw_sprite_line_basic(int wide, u16* dest, u8* destpri, const rectangle &cliprect, int flip, int xpos, int pri, int realxsize, int palt, bool draw); + void draw_sprite_new_basic(int wide, int high, int xpos, int ypos, int palt, int flip, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, int pri); + void draw_sprites(bitmap_ind16& spritebitmap, const rectangle &cliprect, bitmap_ind8& priority_bitmap); + void get_sprites(); + void pgm_basic_mem(address_map &map); + void pgm_z80_io(address_map &map); + void pgm_z80_mem(address_map &map); +}; + + + +/*----------- defined in drivers/pgm.cpp -----------*/ + +INPUT_PORTS_EXTERN(pgm); + +extern gfx_decode_entry const gfx_pgm[]; + +#endif // MAME_IGS_PGM_H diff --git a/docs/release/src/hbmame/igs/pgm_drv.zip b/docs/release/src/hbmame/igs/pgm_drv.zip Binary files differnew file mode 100644 index 00000000000..2bcd98a350c --- /dev/null +++ b/docs/release/src/hbmame/igs/pgm_drv.zip diff --git a/docs/release/src/hbmame/igs/pgm_drv3.zip b/docs/release/src/hbmame/igs/pgm_drv3.zip Binary files differnew file mode 100644 index 00000000000..ad37fc345f6 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgm_drv3.zip diff --git a/docs/release/src/hbmame/igs/pgm_hb.cpp b/docs/release/src/hbmame/igs/pgm_hb.cpp new file mode 100644 index 00000000000..716f3adfd5e --- /dev/null +++ b/docs/release/src/hbmame/igs/pgm_hb.cpp @@ -0,0 +1,20775 @@ +// license:BSD-3-Clause +// copyright-holders:Robbbert +/* +Local numbering scheme: I made this up as a convenience - it is NOT OFFICIAL + + +Number Date Have Hacks? Name +--------------------------------------------------------------------------------------------------------------- +P101 1997 No Dragon World 2 +P102 1997-04 Yes Oriental Legend +P103 1998 No China Dragon 3 +P104 1998 No China Dragon 3 EX +P105 1998 Yes The Killing Blade +P106 1998 Yes Oriental Legend Special +P107 1999 Yes Knights of Valour +P108 1999 Yes Knights of Valour Plus +P109 1999 Yes Knights of Valour Superheroes +P110 1999 No Photo Y2K +P111 1999 No Puzzle Star +P112 1999 No Puzzli 2 +P113 2000 No Dragon World 3 Special +P114 2000 Yes Knights of Valour 2 +P115 2001-05-21 No Bee Storm: DoDonPachi 2 +P116 2001 No Dragon World: Pretty Chance +P117 2001 No Dragon World 2001 +P118 2001 Yes Knights of Valour 2 Plus: Nine Dragons +P119 2001-04 Yes Martial Masters +P120 2001 No Photo Y2K 2 +P121 2001 No Puzzli 2 Super +P122 2002-06 No Demon Front +P123 2002-10-25 No DoDonPachi Dai-Ou-Jou +P124 2002 No DoDonPachi DaiOuJou Black Label +P125 2003-01-28 Yes Ketsui: Kizuna Jigoku Tachi +P126 2003-10-15 No ESP Galuda +P127 2003 Yes The Gladiator +P128 2003 No Happy 6-in-1 +P129 2004 Yes Knights of Valour Superheroes Plus +P130 2004 No Oriental Legend Special Plus +P131 2004 No Shiny 3-in-1 +P132 2005 No The Killing Blade Plus +P133 2005 No Spectral vs Generation +*/ +#include "pgm.cpp" +/********** + Homebrew +***********/ +ROM_START( pgemeni ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgemeni.p1", 0x100000, 0x200000, CRC(6cafa56b) SHA1(0b3447357cf9dc10e9473102a109a2c9f63be66b) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgemeni.t1", 0x180000, 0x400000, CRC(42b979dd) SHA1(38ae8a7e07f1169b876bd41e0a9bfe19ecb0256f) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgemeni.a1", 0x0000000, 0x400000, CRC(105d7cee) SHA1(43b19032e9e3a1aeabd7ce11438c6658ac4b5dd0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgemeni.b1", 0x0000000, 0x400000, CRC(b4127373) SHA1(fa731bedec8ff4c19ec68bd44e8ce0b80ec0c716) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgmdemo.m1", 0x400000, 0x200000, CRC(8d89877e) SHA1(7d76d48d64d7ac5411d714a4bb83f37e3e5b8df6) ) +ROM_END + +ROM_START( pgmdemo ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgmdemo.p1", 0x100000, 0x200000, CRC(d3f6ec45) SHA1(4c171ffff6a04b362f71c42de7bc1d7b57da2c0e) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgmdemo.t1", 0x180000, 0x400000, CRC(0596a59a) SHA1(e48cb703e886a5b71ecc839136c642117aa529ef) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgmdemo.a1", 0x0000000, 0x400000, CRC(5d0e8fa1) SHA1(95380456c8a6c9c48d4987951f689d5b9a7a397c) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgmdemo.b1", 0x0000000, 0x400000, CRC(15dd191f) SHA1(a90f63138c9a9bf9215b17a14635518aed7da8a9) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgmdemo.m1", 0x400000, 0x200000, CRC(8d89877e) SHA1(7d76d48d64d7ac5411d714a4bb83f37e3e5b8df6) ) +ROM_END + +ROM_START( pgmfrog ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgmfrog.p1", 0x100000, 0x200000, CRC(cdec9e8d) SHA1(183753b3f19e9b06c6059206aac85d865bf1dd66) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgmfrog.t1", 0x180000, 0x400000, CRC(8f58b6d8) SHA1(79b3b503f29593170a7faa93d75707682d800c66) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgmfrog.a1", 0x0000000, 0x400000, CRC(dc1eafe6) SHA1(11eb0d02c38df828ae0361bc7624c4658047df67) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgmfrog.b1", 0x0000000, 0x400000, CRC(3d44b66f) SHA1(04347002bd942d320c6b8240e4485aec626f2aaa) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgmfrog.m1", 0x400000, 0x200000, CRC(05e2f761) SHA1(c93d94a8f11c41b019fcf9b6a90645416fd2c75b) ) +ROM_END + +/**************** + Ketsui Arrange +****************/ +ROM_START( ketarrb ) + ROM_REGION( 0x600000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "ketarrb_v100.u38", 0x000000, 0x200000, CRC(ec7a4f92) SHA1(6351fb386586956fbdb5f0730c481fb539cc267a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "cave_t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "cave_a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) + ROM_LOAD( "cave_a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) + + ROM_REGION16_LE( 0x0800000, "sprmask", 0 ) + ROM_LOAD( "cave_b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) + + ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) + ROM_LOAD( "cave_m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) + + ROM_REGION( 0x20000, "sram", 0 ) + ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) ) +ROM_END + +/***************** + The Killing Blade +********************/ +ROM_START( killblds01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0300_v109_ps01.u9", 0x100000, 0x200000, CRC(1e8134e0) SHA1(023588da0da4f5d9edf5a66cb00529bf1aa65870) ) + + ROM_REGION( 0x010000, "igs022", 0 ) + ROM_LOAD( "kb_u2_v109.u2", 0x000000, 0x010000, CRC(de3eae63) SHA1(03af767ef764055bda528b5cc6a24b9e1218cca8) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + +ROM_START( killblds02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0300_v109_ps02.u9", 0x100000, 0x200000, CRC(d82a1938) SHA1(71ed4109d5e451fed359e826ca53a8ed48e827a7) ) + + ROM_REGION( 0x010000, "igs022", 0 ) + ROM_LOAD( "kb_u2_v109.u2", 0x000000, 0x010000, CRC(de3eae63) SHA1(03af767ef764055bda528b5cc6a24b9e1218cca8) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + +ROM_START( killblds03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0300_v109_ps03.u9", 0x100000, 0x200000, CRC(5f44677a) SHA1(b36ed941ad5617749fb0a2913e1718cb6707cf5b) ) + + ROM_REGION( 0x010000, "igs022", 0 ) + ROM_LOAD( "kb_u2_v109.u2", 0x000000, 0x010000, CRC(de3eae63) SHA1(03af767ef764055bda528b5cc6a24b9e1218cca8) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + +ROM_START( killblds04 ) //killbldqy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0300_v109_ps04.u9", 0x100000, 0x200000, CRC(98c85d0e) SHA1(933fba3d5764ef8889e584e3afd285af545c802a) ) + + ROM_REGION( 0x010000, "igs022", 0 ) + ROM_LOAD( "kb_u2_v109.u2", 0x000000, 0x010000, CRC(de3eae63) SHA1(03af767ef764055bda528b5cc6a24b9e1218cca8) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + +ROM_START( killblds05 ) //killbldqy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0300_v109_ps05.u9", 0x100000, 0x200000, CRC(6f2ca623) SHA1(a1ce4a83bbef10d7c3dd18e74472a97a50db89f4) ) + + ROM_REGION( 0x010000, "igs022", 0 ) + ROM_LOAD( "kb_u2_v109.u2", 0x000000, 0x010000, CRC(de3eae63) SHA1(03af767ef764055bda528b5cc6a24b9e1218cca8) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0300.u14", 0x180000, 0x400000, CRC(0922f7d9) SHA1(4302b4b7369e13f315fad14f7d6cad1321101d24) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0300.u9", 0x0000000, 0x0400000, CRC(3f9455d3) SHA1(3718ce00ad93975383aafc14e5a74dc297b011a1) ) + ROM_LOAD( "pgm_a0301.u10", 0x0400000, 0x0400000, CRC(92776889) SHA1(6d677837fefff47bfd1c6166322f69f89989a5e2) ) + ROM_LOAD( "pgm_a0303.u11", 0x0800000, 0x0400000, CRC(33f5cc69) SHA1(9cacd5058d4bb25b77f71658bbbbd4b38d0a6b6a) ) + ROM_LOAD( "pgm_a0306.u12", 0x0c00000, 0x0400000, CRC(cc018a8e) SHA1(37752d46f238fb57c0ab5a4f96b1e013f2077347) ) + ROM_LOAD( "pgm_a0307.u2", 0x1000000, 0x0400000, CRC(bc772e39) SHA1(079cc42a190cb916f02b59bca8fa90e524acefe9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0300.u13", 0x0000000, 0x0400000, CRC(7f876981) SHA1(43555a200929ad5ecc42137fc9aeb42dc4f50d20) ) + ROM_LOAD( "pgm_b0302.u14", 0x0400000, 0x0400000, CRC(eea9c502) SHA1(04b3972c7111ea59a3cceab6ad124080c4ce3520) ) + ROM_LOAD( "pgm_b0303.u15", 0x0800000, 0x0200000, CRC(77a9652e) SHA1(2342f643d37945fbda224a5034c013796e5134ca) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0300.u1", 0x400000, 0x400000, CRC(93159695) SHA1(50c5976c9b681bd3d1ebefa3bfa9fe6e72dcb96f) ) +ROM_END + + /***************** + Knights of Valour +********************/ +ROM_START( kovs01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p01.115", 0x100000, 0x400000, CRC(08648ca4) SHA1(0c0990241cdfc38f8ad7394d6d7e1c27d41527dd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p02.115", 0x100000, 0x400000, CRC(87a2f3c1) SHA1(68245d64dd25f16c1a22ca0280659e45092a4f93) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p03.115", 0x100000, 0x400000, CRC(eae298bd) SHA1(eac84bdabc32ee9ba0e44c59d94e5ce91f794ebd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p04.115", 0x100000, 0x400000, CRC(8c64b541) SHA1(6357725bf0064fab3fddae29991054be68098b24) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p05.115", 0x100000, 0x400000, CRC(8c92c76c) SHA1(d3955a14964f35ee1ddbeabba0332d2b1b41de76) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs06 ) //kov100p + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p06.115", 0x100000, 0x400000, CRC(2fb221ec) SHA1(88387bdcace0dab74ea01c64439e5cfb81eceacf) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p07.115", 0x100000, 0x400000, CRC(ddbc5641) SHA1(007a83fee42085cef0f7276d319b7cb0e2c50399) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p08.115", 0x100000, 0x400000, CRC(b0fc3d3d) SHA1(d7c6c59f28322c4b7bfa3de9b84a640b68076926) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs09 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p09.115", 0x100000, 0x400000, CRC(d68c62ec) SHA1(8d57af8d3af300edeac259384ee3ee4dc9c14f3c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p10.115", 0x100000, 0x400000, CRC(d67a10c1) SHA1(592829d8f5981c02bc2373197e1b22284fc50d0c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p11.115", 0x100000, 0x400000, CRC(358a3b64) SHA1(b91f7a45f12a22884a1f98c7e69095efa5d3f981) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovs12 ) //kov100sp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600-p12.115", 0x100000, 0x400000, CRC(db99e1f4) SHA1(b5aa582c43e098699f4cdcb376e7510e417e0e57) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + + /********************** + Knights of Valour Plus +************************/ +ROM_START( kovps01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.ph17", 0x100000, 0x400000, CRC(19032b59) SHA1(6462cfa55c6cd6d3668010e11463f1fb6a9641c8) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.ph17", 0x180000, 0x800000, CRC(84567fa4) SHA1(932fdd8095b499acbac69035c12929a2dc9a5564) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600.ph17", 0x400000, 0x400000, CRC(75eaf52b) SHA1(4981992441b35343c8bf23e730bba070ddef3350) ) +ROM_END + +ROM_START( kovps02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.ph18", 0x100000, 0x454f4e, CRC(5b2981c3) SHA1(8b64d86f76991960240126da13729b6cbc8f5513) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.ph18", 0x180000, 0x800000, CRC(d5b8327e) SHA1(5e00c0ff31e7258cc37e389c8bce0a1b8d39d49f) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x854f62, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600.ph18", 0x400000, 0x454f62, CRC(24b06143) SHA1(3b712320ee9b4c8df2e0b2a3f05e3ccf11087c0a) ) +ROM_END + +ROM_START( kovps03 ) // was kvplusjq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600jq.119", 0x100000, 0x400000, CRC(a04866b9) SHA1(bae132ae93244e328a887728d4803c4593e8b01e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph35.119", 0x100000, 0x400000, CRC(a357e159) SHA1(a3dcafe3e36e5d38214e9ea518258f6c1ee0a1e4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph41.119", 0x100000, 0x400000, CRC(4a1cd890) SHA1(9ae3c21e1496e3ac52ebb68e7d0e959375a14108) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.ph17", 0x180000, 0x800000, CRC(84567fa4) SHA1(932fdd8095b499acbac69035c12929a2dc9a5564) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph03.rom", 0x400000, 0x400000, CRC(01059d4f) SHA1(a18a960afd90e2574b31ef8b347ba1d38a12ef89) ) +ROM_END + +ROM_START( kovps06 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph42.119", 0x100000, 0x400000, CRC(7dd8a4a5) SHA1(574b0a6d9c9d362c650faca2ec22cfa10f0ddff6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.ph17", 0x180000, 0x800000, CRC(84567fa4) SHA1(932fdd8095b499acbac69035c12929a2dc9a5564) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph03.rom", 0x400000, 0x400000, CRC(01059d4f) SHA1(a18a960afd90e2574b31ef8b347ba1d38a12ef89) ) +ROM_END + +ROM_START( kovps07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph45.119", 0x100000, 0x400000, CRC(e677ae75) SHA1(55556e3f79986aa858d73032dac7677766c28489) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph03.rom", 0x400000, 0x400000, CRC(01059d4f) SHA1(a18a960afd90e2574b31ef8b347ba1d38a12ef89) ) +ROM_END + +ROM_START( kovps08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph55.119", 0x100000, 0x400000, CRC(f34ff0be) SHA1(5b80b7c01e7796ba8f36a3322f40a8da2bb285f2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "p0600_ph55.rom", 0x180000, 0x800000, CRC(f67fd3b3) SHA1(d26737ee727c68e913bed168ddb7054e06971b78) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph07.rom", 0x1000000, 0x0800000, CRC(d9ea9298) SHA1(abaab6400613c1f2ff534fc0a9625e7dcf88a351) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph14.rom", 0x0800000, 0x0400000, CRC(b0809a1e) SHA1(3e9a20d38afea5eedbe0e7fd790c3223c88e20f8) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps09 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph75.119", 0x100000, 0x400000, CRC(37901a20) SHA1(0ed22e3141791781acf27025b252244d8dcaa8e7) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph96.119", 0x100000, 0x400000, CRC(3489af52) SHA1(025cd6f42324433759e261ba914501fac90628aa) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph108.119", 0x100000, 0x400000, CRC(81beb469) SHA1(8ef29f54a33bf331c5f92ce9e5825241695e56a7) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps12 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph115.119", 0x100000, 0x400000, CRC(7cf11d55) SHA1(0e2aa92c18d75ca63f1062e6b1c58282678e2a3c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph115.rom", 0x180000, 0x800000, CRC(c5a5ecbe) SHA1(7337a5b9f2f1450890c617f99aafef67d170fb8b) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps13 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph143.119", 0x100000, 0x400000, CRC(76059ea7) SHA1(651e231fd3b623a731d51f548952aed0f1c62a62) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph143.rom", 0x180000, 0x800000, CRC(84ef629e) SHA1(55500a997af523f00bb9a324b178e9438897dd4e) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps14 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph144.119", 0x100000, 0x400000, CRC(73182461) SHA1(2b2a2c3700f1473d57cc5bb7075383cd9d035c06) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph115.rom", 0x180000, 0x800000, CRC(c5a5ecbe) SHA1(7337a5b9f2f1450890c617f99aafef67d170fb8b) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps15 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph145.119", 0x100000, 0x400000, CRC(4a0bf47b) SHA1(9d5d534001254d22f2e7ef11d0ce4ccb75d59f41) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph145.rom", 0x0000000, 0x0800000, CRC(3aa14383) SHA1(fcb545adb11127f464921ba19d2fc2898f937422) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph145.rom", 0x0000000, 0x0800000, CRC(8d0b67ea) SHA1(40826d8f1612d7210c11d379249ad8ffa6818d04) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps16 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph146.119", 0x100000, 0x400000, CRC(61dbe841) SHA1(476559d47495d5a33e68b943d6d37bcc6e6653ff) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps17 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph147.119", 0x100000, 0x400000, CRC(a09ee737) SHA1(3e5a81c52d97ac42033f148f3bf39367c5b89d19) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph147.rom", 0x180000, 0x800000, CRC(657bc51d) SHA1(ecc451788779000009ff15c4895d93408a51c3ce) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps18 ) //kovplusdszl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph155.119", 0x100000, 0x400000, CRC(e13044e6) SHA1(89ced083ab76a38b2d133c4cb5e705f932fd6feb) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph155.rom", 0x180000, 0x800000, CRC(954551ff) SHA1(97d1fc65334c9aec093275a45fedb8dcb8a3cc34) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph155.rom", 0x1000000, 0x0800000, CRC(f24258ce) SHA1(447bd06e0fe0efafd77d883b79360eee264c1067) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph155.rom", 0x0800000, 0x0400000, CRC(c870aebb) SHA1(b797c7e30811f8915ea1e9de69d89e4e163b12e2) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps19 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph162.119", 0x100000, 0x400000, CRC(f87a3f9d) SHA1(f769dcb08124bb03a465d8e960747f80d5f432f0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph162.120", 0x180000, 0x800000, CRC(fd481edf) SHA1(750b36b70763baa311d966f031ec4861b6b3bc6c) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph07.rom", 0x1000000, 0x0800000, CRC(d9ea9298) SHA1(abaab6400613c1f2ff534fc0a9625e7dcf88a351) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph14.rom", 0x0800000, 0x0400000, CRC(b0809a1e) SHA1(3e9a20d38afea5eedbe0e7fd790c3223c88e20f8) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph161.rom", 0x400000, 0x400000, CRC(25f4f240) SHA1(63c52b55da5c0dc4c9cc7db587bdd3fbfb128745) ) +ROM_END + +ROM_START( kovps20 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph164.119", 0x100000, 0x400000, CRC(d8e29738) SHA1(ed8492d4c70b0312628b9d59a679f8731bf6165f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.ph17", 0x180000, 0x800000, CRC(84567fa4) SHA1(932fdd8095b499acbac69035c12929a2dc9a5564) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph03.rom", 0x400000, 0x400000, CRC(01059d4f) SHA1(a18a960afd90e2574b31ef8b347ba1d38a12ef89) ) +ROM_END + +ROM_START( kovps21 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph167.119", 0x100000, 0x454F8A, CRC(0e971e4e) SHA1(bb829c39d05c73a036dd0f165622aaf438e96347) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph19.rom", 0x180000, 0x800000, CRC(a51f6c60) SHA1(e2c184d6e4bb1e6fc02ee2e5953693c7461746be) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps22 ) //kovplus2012ws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph169.119", 0x100000, 0x454F8A, CRC(b5053980) SHA1(e3e8ecf40eb1c57123c67fc217af30e377ca4703) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph167.rom", 0x180000, 0x800000, CRC(ea123375) SHA1(8ffff9eae6927824c3e4f7891939153854004857) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps23 ) //kovplus2015em + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph170.120", 0x100000, 0x400000, CRC(694e68be) SHA1(e9e98aa5e65fa4080446312ff262837312bb1ca0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.ph17", 0x180000, 0x800000, CRC(84567fa4) SHA1(932fdd8095b499acbac69035c12929a2dc9a5564) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph03.rom", 0x400000, 0x400000, CRC(01059d4f) SHA1(a18a960afd90e2574b31ef8b347ba1d38a12ef89) ) +ROM_END + +ROM_START( kovps24 ) //kovplus2015ws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph172.119", 0x100000, 0x400000, CRC(c7a96121) SHA1(42454054ab917357c734b5cdec66f468ef41366b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x1400000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph172.rom", 0x180000, 0xF0CBF1, CRC(77798793) SHA1(365de45c9c81472b8b1948fc12869e89dc5feb73) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps25 ) //kovplusking + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph182.119", 0x100000, 0x46124A, CRC(b0b81cbb) SHA1(5d69fd98379d390ceaa24dfefaef1a7128f1dbae) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph147.rom", 0x180000, 0x800000, CRC(657bc51d) SHA1(ecc451788779000009ff15c4895d93408a51c3ce) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps26 ) //kovplusly1 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph187.119", 0x100000, 0x454FBE, CRC(ef89f5fc) SHA1(148b2eded3af19bded96e95049da161fe707e988) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph187.rom", 0x180000, 0x800000, CRC(5bafcba9) SHA1(5a30db15bd2148710dc0b9d2e6022b81c8ca44c3) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps27 ) //kovplusly2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph188.119", 0x100000, 0x454FBE, CRC(23e6ec2f) SHA1(43debef6c532952df6cb6603d15ec30f1790ce5e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph115.rom", 0x180000, 0x800000, CRC(c5a5ecbe) SHA1(7337a5b9f2f1450890c617f99aafef67d170fb8b) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps28 ) //kovplusqs1 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph191.119", 0x100000, 0x400000, CRC(d1ba41e3) SHA1(a586d873aa29fbc76c5eb2d1e82a422bdc7980b2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x1400000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph191.rom", 0x180000, 0xF0CBF1, CRC(a39397d4) SHA1(b8afc89fc85a3dd6bb36c1628d89594446f6ec90) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph07.rom", 0x1000000, 0x0800000, CRC(d9ea9298) SHA1(abaab6400613c1f2ff534fc0a9625e7dcf88a351) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph14.rom", 0x0800000, 0x0400000, CRC(b0809a1e) SHA1(3e9a20d38afea5eedbe0e7fd790c3223c88e20f8) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps29 ) //kovplusking,kovking + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph203.119", 0x100000, 0x400000, CRC(ebb14222) SHA1(7fe20f4a70f7ae10561b4d7f032726d911638695) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph145.rom", 0x0000000, 0x0800000, CRC(3aa14383) SHA1(fcb545adb11127f464921ba19d2fc2898f937422) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph145.rom", 0x0000000, 0x0800000, CRC(8d0b67ea) SHA1(40826d8f1612d7210c11d379249ad8ffa6818d04) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps30 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph207.119", 0x100000, 0x454F8A, CRC(9b0f2d34) SHA1(2f2ce07b2295cd9b1e7c505ce254d05d217d2a4e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph167.rom", 0x180000, 0x800000, CRC(ea123375) SHA1(8ffff9eae6927824c3e4f7891939153854004857) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph115.rom", 0x1000000, 0x0800000, CRC(b64e6473) SHA1(d231b85d1a3466565a90b2bb1489ef3038377fd2) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph115.rom", 0x0800000, 0x0400000, CRC(3737c3f7) SHA1(ed01d926ac080991fd5b98b04977dde84152f8e1) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) + ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) +ROM_END + +ROM_START( kovps31 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph226.119", 0x100000, 0x400000, CRC(8085b9f2) SHA1(e3abbd61ffc90f4c83e19f492f0620160da3a01b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph226.rom", 0x180000, 0x800000, CRC(8c80ca87) SHA1(f6d8bb5497ca809b8f0ec3bab534f1d50ed2e7d1) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph30.rom", 0x1000000, 0x0800000, CRC(8cf676b3) SHA1(72563c516d2f8a83d33f0a3d5443913839a84cc0) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph30.rom", 0x0800000, 0x0400000, CRC(b2a63db0) SHA1(632529dac6c9243be80e375c39620c97dbae5ee6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps32 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph251.119", 0x100000, 0x400000, CRC(a2e628df) SHA1(9105ddf613bf134664b4dc05eda2ea8b7a6f8c79) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600.ph17", 0x400000, 0x400000, CRC(75eaf52b) SHA1(4981992441b35343c8bf23e730bba070ddef3350) ) +ROM_END + +ROM_START( kovps33 ) //kovpszfx2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph258.119", 0x100000, 0x400000, CRC(0d296572) SHA1(f4b1676ebde8367b34237a04944ea69a91194eaf) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps34 ) //kovplus2012dw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph259.119", 0x100000, 0x400000, CRC(0f5621a2) SHA1(9c1c949f701b18d47f02c6e7ecc500d0d794a2f1) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph259.rom", 0x180000, 0x800000, CRC(842b7711) SHA1(b999d55e6e304b4057c66d57bf970f7b181ddac8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph259.rom", 0x1000000, 0x0800000, CRC(899a0596) SHA1(db6b9f1a075119ffb5ec7199f7d3902634d7c89b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph259.rom", 0x0800000, 0x0400000, CRC(10e4f375) SHA1(20fbe6062183e8936bc8b92d02f4061078316bd7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) //Bios + ROM_LOAD( "m0600_ph259.rom", 0x400000, 0x400000, CRC(7a50501b) SHA1(1af6be69f3133ed56d4a132a1910cf562da83dac) ) +ROM_END + +ROM_START( kovps35 ) //kovzlzq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph269.119", 0x100000, 0x400000, CRC(7e35a304) SHA1(3c957d9046ea0b3179f04f98d141618150a67fbd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph77.rom", 0x180000, 0x800000, CRC(e7d4d577) SHA1(900796b2c88ac8d9e454380d17c811d37243452d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603_ph269.rom", 0x1800000, 0x0400000, CRC(59fadc06) SHA1(0c05749b4eb0bbc736904a060f3963047a3efb51) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph269.rom", 0x0800000, 0x0400000, CRC(b55f2ba8) SHA1(93be439535ff3adef3f7230b8c6ac71bdc57ef1a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph269.rom", 0x400000, 0x400000, CRC(f38b622c) SHA1(0c2689b925fb26f341e0446fa6181a5b5cc93a54) ) +ROM_END + +ROM_START( kovps36 ) //kovtmcs, kovsgyy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph270.119", 0x100000, 0x400000, CRC(d1ea3de4) SHA1(e9787991351dc644ba7f9f48da6e27cab2cb1fc9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph270.rom", 0x1000000, 0x0800000, CRC(f38a7094) SHA1(c2a2cbeb4f26933e5ad61a63e3a7233af69abb7b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph270.rom", 0x0800000, 0x0400000, CRC(1ff1bd99) SHA1(602a81d65b0c4dc4770b44258b60a80aa3aee4bc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps37 ) //kovplus2012dw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph275.119", 0x100000, 0x400000, CRC(41136157) SHA1(087d5d45b305306e3b833a7b50fa468853a61efe) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_ph259.rom", 0x180000, 0x800000, CRC(842b7711) SHA1(b999d55e6e304b4057c66d57bf970f7b181ddac8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph259.rom", 0x1000000, 0x0800000, CRC(899a0596) SHA1(db6b9f1a075119ffb5ec7199f7d3902634d7c89b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph259.rom", 0x0800000, 0x0400000, CRC(10e4f375) SHA1(20fbe6062183e8936bc8b92d02f4061078316bd7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) + ROM_LOAD( "m0600_ph259.rom", 0x400000, 0x400000, CRC(7a50501b) SHA1(1af6be69f3133ed56d4a132a1910cf562da83dac) ) +ROM_END + +ROM_START( kovps38 ) //kovsgyyv + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph276.119", 0x100000, 0x400000, CRC(299ae434) SHA1(bab163211fe9045577aedb7e824bfd64f06db515) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps39 ) //kovking + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph280.119", 0x100000, 0x400000, CRC(7bd5067e) SHA1(16bb5aa131e4e3330cb92a9778d2dfc773c780b3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph145.rom", 0x0000000, 0x0800000, CRC(3aa14383) SHA1(fcb545adb11127f464921ba19d2fc2898f937422) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph145.rom", 0x0000000, 0x0800000, CRC(8d0b67ea) SHA1(40826d8f1612d7210c11d379249ad8ffa6818d04) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps40 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph281.119", 0x100000, 0x400000, CRC(661b50e3) SHA1(f07db5dc672dbe1ab97ba44221e067aa1771ffa0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600.ph17", 0x180000, 0x800000, CRC(84567fa4) SHA1(932fdd8095b499acbac69035c12929a2dc9a5564) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph174.rom", 0x400000, 0x454F47, CRC(132765c9) SHA1(b4f56dfeba59fea248ec4e04255033e2cb3ec8fb) ) +ROM_END + +ROM_START( kovps41 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph282.119", 0x100000, 0x400000, CRC(d177250b) SHA1(ef12f46b24a07aef0901aa1f01f4db16b6593515) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + //ROM_LOAD( "t0600_ph167.rom", 0x180000, 0x800000, CRC(ea123375) SHA1(8ffff9eae6927824c3e4f7891939153854004857) ) + ROM_LOAD( "t0600_ph259.rom", 0x180000, 0x800000, CRC(842b7711) SHA1(b999d55e6e304b4057c66d57bf970f7b181ddac8) ) //Alt Roms + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph259.rom", 0x1000000, 0x0800000, CRC(899a0596) SHA1(db6b9f1a075119ffb5ec7199f7d3902634d7c89b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph259.rom", 0x0800000, 0x0400000, CRC(10e4f375) SHA1(20fbe6062183e8936bc8b92d02f4061078316bd7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) + //ROM_LOAD( "m0600_ph115.rom", 0x400000, 0x400000, CRC(730640d6) SHA1(d0d7e7c85fd47e4c1cebc7953269979922da869d) ) + ROM_LOAD( "m0600_ph259.rom", 0x400000, 0x400000, CRC(7a50501b) SHA1(1af6be69f3133ed56d4a132a1910cf562da83dac) ) // Alt Roms +ROM_END + +ROM_START( kovps42 ) //kovplusbaka + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_ph289.119", 0x100000, 0x400000, CRC(8689560a) SHA1(95d9cae0684032b8b1c64bc3d3b337ae60bf2b07) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph19.rom", 0x180000, 0x800000, CRC(a51f6c60) SHA1(e2c184d6e4bb1e6fc02ee2e5953693c7461746be) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps43 ) //kovplusbs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_ph290.119", 0x100000, 0x400000, CRC(38406afc) SHA1(50271cc81f454628f01b83370cfe90695001aef2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph19.rom", 0x180000, 0x800000, CRC(a51f6c60) SHA1(e2c184d6e4bb1e6fc02ee2e5953693c7461746be) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph290.rom", 0x0000000, 0x0800000, CRC(19822acf) SHA1(a1ab9119e4c0b914d977218304be2056cb6cd4e3) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph290.rom", 0x0000000, 0x0800000, CRC(a7e1f6fd) SHA1(795ca04655ecc9ed9ce91dc53434338d35f70fbe) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800001, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph290.rom", 0x400000, 0x400001, CRC(623b03cb) SHA1(671306d7463919e479e1e33dd960ad475be48eac) ) +ROM_END + +ROM_START( kovps44 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + //ROM_LOAD16_WORD_SWAP( "p0600h_ph291.119", 0x100000, 0x400000, CRC(e4b0875d) SHA1(b85cd73573b47fa82383ccf22c89d7d7a6b77240) ) // crc collision + //ROM_IGNORE( 0x04 ) + ROM_LOAD16_WORD_SWAP( "p0600h_ph291.119", 0x100000, 0x400000, CRC(2c743737) SHA1(b083b07861fd6970f687fc2148ec4a7944bd3409) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps45 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_ph295.119", 0x100000, 0x400000, CRC(195e02ce) SHA1(826fe86cfe11b51aecaa00adc8cf078b85d65a51) ) + ROM_IGNORE( 0x351CE8 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph295.rom", 0x180000, 0x800000, CRC(c8630abc) SHA1(b7e4a27d41c80c222b35fae862198c4dcc836960) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603_ph269.rom", 0x1800000, 0x0400000, CRC(59fadc06) SHA1(0c05749b4eb0bbc736904a060f3963047a3efb51) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph269.rom", 0x0800000, 0x0400000, CRC(b55f2ba8) SHA1(93be439535ff3adef3f7230b8c6ac71bdc57ef1a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph269.rom", 0x400000, 0x400000, CRC(f38b622c) SHA1(0c2689b925fb26f341e0446fa6181a5b5cc93a54) ) +ROM_END + +ROM_START( kovps46 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_ph296.119", 0x100000, 0x400000, CRC(5d653094) SHA1(96662d2811b6cf38acc68744108bd62af3eb2e6f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600.ph18", 0x180000, 0x800000, CRC(d5b8327e) SHA1(5e00c0ff31e7258cc37e389c8bce0a1b8d39d49f) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x854f62, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600.ph18", 0x400000, 0x454f62, CRC(24b06143) SHA1(3b712320ee9b4c8df2e0b2a3f05e3ccf11087c0a) ) +ROM_END + +ROM_START( kovps47 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_ph297.119", 0x100000, 0x400000, CRC(361034e9) SHA1(ce3c32032fa1af8b45b47b86d91dcb4da5d308db) ) + ROM_IGNORE( 0x54F5C ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps48 ) //kovsgyy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph309.119", 0x100000, 0x400000, CRC(26715c3c) SHA1(ed617524b658477da3b4f8a135499d0bc2912d90) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph155.rom", 0x180000, 0x800000, CRC(954551ff) SHA1(97d1fc65334c9aec093275a45fedb8dcb8a3cc34) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph307.rom", 0x1000000, 0x0800000, CRC(4c59e36c) SHA1(f5ec1a375fcfde2d9b1c0dbf3784bfbfaf67f8f6) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph309.rom", 0x0800000, 0x0400000, CRC(618546f9) SHA1(19e841a0d184c6660c0dc216d087b007759e596c) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps49 ) //kovzlzq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph310.119", 0x100000, 0x400000, CRC(d1344576) SHA1(a2445b2ccff07a815e66d1892bb4f0742966e868) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph295.rom", 0x180000, 0x800000, CRC(c8630abc) SHA1(b7e4a27d41c80c222b35fae862198c4dcc836960) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603_ph269.rom", 0x1800000, 0x0400000, CRC(59fadc06) SHA1(0c05749b4eb0bbc736904a060f3963047a3efb51) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph269.rom", 0x0800000, 0x0400000, CRC(b55f2ba8) SHA1(93be439535ff3adef3f7230b8c6ac71bdc57ef1a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph269.rom", 0x400000, 0x400000, CRC(f38b622c) SHA1(0c2689b925fb26f341e0446fa6181a5b5cc93a54) ) +ROM_END + +ROM_START( kovps50 ) //kovzlzq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph311.119", 0x100000, 0x400000, CRC(d5539594) SHA1(194c9cdbdecb41e525dc8e5f5a08f32d28b411d3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph77.rom", 0x180000, 0x800000, CRC(e7d4d577) SHA1(900796b2c88ac8d9e454380d17c811d37243452d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603_ph269.rom", 0x1800000, 0x0400000, CRC(59fadc06) SHA1(0c05749b4eb0bbc736904a060f3963047a3efb51) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph269.rom", 0x0800000, 0x0400000, CRC(b55f2ba8) SHA1(93be439535ff3adef3f7230b8c6ac71bdc57ef1a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph269.rom", 0x400000, 0x400000, CRC(f38b622c) SHA1(0c2689b925fb26f341e0446fa6181a5b5cc93a54) ) +ROM_END + +ROM_START( kovps51 ) //kovplusdszl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph321.119", 0x100000, 0x400000, CRC(404404e5) SHA1(b594c99c0caba742f8080180b758125c94869ff6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph155.rom", 0x180000, 0x800000, CRC(954551ff) SHA1(97d1fc65334c9aec093275a45fedb8dcb8a3cc34) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph155.rom", 0x1000000, 0x0800000, CRC(f24258ce) SHA1(447bd06e0fe0efafd77d883b79360eee264c1067) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph155.rom", 0x0800000, 0x0400000, CRC(c870aebb) SHA1(b797c7e30811f8915ea1e9de69d89e4e163b12e2) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps52 ) //kov100s + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph332.119", 0x100000, 0x400000, CRC(b26d7710) SHA1(8a033dc541189e1dffe9f9d0d8eb797f635cece4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps53 ) //kov117max + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph333.119", 0x100000, 0x400000, CRC(33fd49c7) SHA1(17fb8cbabb2bd1cd9bbecc56cb884f574436a180) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps54 ) //kov2012ms, kov2012szfx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph336.119", 0x100000, 0x400000, CRC(4aa6737f) SHA1(191bf9b1124c190e0a9969cbea7e994920d876ab) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps55 ) //kovplus2007 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph339.119", 0x100000, 0x400000, CRC(b2ee0885) SHA1(23888d31d46fb003771cfefab430b1a10fc75f14) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps56 ) //kovplus2012 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph340.119", 0x100000, 0x400000, CRC(ab7b59c5) SHA1(9befc6ec58eaab845808fe9c6cfec19995bdbcee) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps57 ) //kovplus2012d + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph341.119", 0x100000, 0x400000, CRC(4403c58b) SHA1(8d80bc4a312975d0584edb1796ee8a5a13234b88) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph259.rom", 0x180000, 0x800000, CRC(842b7711) SHA1(b999d55e6e304b4057c66d57bf970f7b181ddac8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph316.rom", 0x1000000, 0x0800000, CRC(af2c086d) SHA1(3d7b908ee7bdf46b8c1a5e0eac386c13b260cd8e) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph316.rom", 0x0800000, 0x0400000, CRC(4ce7b2b8) SHA1(5519a09f3d5ede9064aca7849f687e27bcb77695) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph259.rom", 0x400000, 0x400000, CRC(7a50501b) SHA1(1af6be69f3133ed56d4a132a1910cf562da83dac) ) +ROM_END + +ROM_START( kovps58 ) //kovpluspjzm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph344.119", 0x100000, 0x400000, CRC(9825528d) SHA1(e27710196afff47fb53eccac92d34c960a8af4a4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps59 ) //kovsgyy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph347.119", 0x100000, 0x400000, CRC(10984e1d) SHA1(6a7cd8b0bb596275292365356e440bca4a0fdd3f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps60 ) //kovzscs2020 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph352.119", 0x100000, 0x400000, CRC(05a7f4e8) SHA1(633ed8590e9bcc76dc6f40977c1323dd7571c5b7) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph19.rom", 0x180000, 0x800000, CRC(a51f6c60) SHA1(e2c184d6e4bb1e6fc02ee2e5953693c7461746be) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph312.rom", 0x0000000, 0x0800000, CRC(e0a73add) SHA1(054f01cd06d743635305a7a9f4a9bcd3a3dc8d71) ) + ROM_LOAD( "a0601_ph157.rom", 0x0800000, 0x0800000, CRC(551e3563) SHA1(377951b13508103796baeb4097670aff187d1696) ) + ROM_LOAD( "a0602_ph177.rom", 0x1000000, 0x0800000, CRC(efb30f14) SHA1(ab5b4232b2dfc9f4e3a77112028a903f30b41fb9) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph312.rom", 0x0000000, 0x0800000, CRC(6c14d658) SHA1(f7f70085d7cf0f67549143b2c77b4d12ebe7786b) ) + ROM_LOAD( "b0601_ph177.rom", 0x0800000, 0x0400000, CRC(f43e4276) SHA1(b0ad317f70681e4300228f34bb8f4bead50111ea) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps61 ) //kovplus2012d + ROM_REGION( 0x700000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph354.119", 0x100000, 0x600000, CRC(0dfe94e8) SHA1(65dc5a32a857b1f238a9bafb0aed6864ff1bed10) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_ph259.rom", 0x180000, 0x800000, CRC(842b7711) SHA1(b999d55e6e304b4057c66d57bf970f7b181ddac8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph259.rom", 0x1000000, 0x0800000, CRC(899a0596) SHA1(db6b9f1a075119ffb5ec7199f7d3902634d7c89b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph259.rom", 0x0800000, 0x0400000, CRC(10e4f375) SHA1(20fbe6062183e8936bc8b92d02f4061078316bd7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) //Bios + ROM_LOAD( "m0600_ph259.rom", 0x400000, 0x400000, CRC(7a50501b) SHA1(1af6be69f3133ed56d4a132a1910cf562da83dac) ) +ROM_END + +ROM_START( kovps62 ) //kovplusms + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph356.119", 0x100000, 0x200000, CRC(a2019f79) SHA1(1f6530f936da3d9da64a84a8bc70b2e3c6647f94) ) + ROM_LOAD16_WORD_SWAP( "p0600_ph356.118", 0x300000, 0x200000, CRC(e0c7de17) SHA1(2f877ef7cf0438e01e957236229f889a192d5226) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps63 ) //kovplusms + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph357.119", 0x100000, 0x200000, CRC(70c50121) SHA1(621e48ebaed454f0d7daadeb0a7e7a689c70708e) ) + ROM_LOAD16_WORD_SWAP( "p0600_ph357.118", 0x300000, 0x200000, CRC(8e49a7f2) SHA1(4a76e7187702048a00fda54e3c91e58dd020bd47) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps64 ) //kovpluswm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph365.119", 0x100000, 0x400000, CRC(b552067a) SHA1(e9f212347b5ceabd7aab20503e43818cb52880e2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph208.rom", 0x180000, 0x800000, CRC(806cfc9a) SHA1(d092de39ca8c625c752473461eaca877fce80e7a) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps65 ) //kovsgyyv + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph371.119", 0x100000, 0x400000, CRC(b90acf78) SHA1(4cdf8e585faf96b49434410b1d25911670cd9533) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph155.rom", 0x180000, 0x800000, CRC(954551ff) SHA1(97d1fc65334c9aec093275a45fedb8dcb8a3cc34) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph371.rom", 0x1000000, 0x0800000, CRC(0d2b7d23) SHA1(22c84c48bedb0d109179c1347b1dcbece02f8f88) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph371.rom", 0x0800000, 0x0400000, CRC(05f4c1da) SHA1(30b0543beac5a200e05aa71cf16743561e0b7dc0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps66 ) //kovsgyyv + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph374.119", 0x100000, 0x400000, CRC(0701e666) SHA1(8d3b6410d8b22cf9a3f0fda573e9f8ae6a8e1f46) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph155.rom", 0x180000, 0x800000, CRC(954551ff) SHA1(97d1fc65334c9aec093275a45fedb8dcb8a3cc34) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph374.rom", 0x1000000, 0x0800000, CRC(db9b1215) SHA1(3584265564b95456baa4698b2a95bb72444a5268) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph374.rom", 0x0800000, 0x0400000, CRC(3ed639f8) SHA1(9c420ac3ddf2860037607acd1cd5babc4ef608cd) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps67 ) //kovpluswmb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph377.119", 0x100000, 0x400000, CRC(3269d60c) SHA1(2aa488ee3736491476204f119c5ffb93967686d6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_ph377.rom", 0x1000000, 0x0800000, CRC(7d68a03f) SHA1(5f2d8c10ed0a6a5f2c48a7878903341e4f57d069) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_ph377.rom", 0x0800000, 0x0400000, CRC(26d26fd7) SHA1(fc0eb924be405b3f990e1ff6459955efe810a176) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps68 ) //kovpluswmb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph378.ph1", 0x100000, 0x400000, CRC(42868f9d) SHA1(72f1819f312ceb1b78e28a608f86d8e5f6222ecf) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u2", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0603.u9", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u5", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u7", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u3", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovps69 ) //kovplus2012dw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_ph383.119", 0x100000, 0x400000, CRC(64fa7a89) SHA1(58fcfa948d50fc11873fe3ba13e7445ee04ff95b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph259.rom", 0x180000, 0x800000, CRC(842b7711) SHA1(b999d55e6e304b4057c66d57bf970f7b181ddac8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_ph115.rom", 0x0000000, 0x0800000, CRC(5bd7ea9f) SHA1(0eb33bd0e23441394ae7c6fa28aafe11adf0b22f) ) + ROM_LOAD( "a0601_ph157.rom", 0x0800000, 0x0800000, CRC(551e3563) SHA1(377951b13508103796baeb4097670aff187d1696) ) + ROM_LOAD( "a0602_ph372.rom", 0x1000000, 0x0800000, CRC(f68a56b7) SHA1(fb5a77476cb5a30533a528ddc454517cc6428043) ) + ROM_LOAD( "a0603_ph366.rom", 0x1800000, 0x0400000, CRC(4fcbb71b) SHA1(25c563256456f36d8c431904fee83452ecfaaa2d) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_ph115.rom", 0x0000000, 0x0800000, CRC(07d91ea3) SHA1(8713409439eb4a2875baffbda711587f283a652b) ) + ROM_LOAD( "b0601_ph372.rom", 0x0800000, 0x0400000, CRC(a8fc03a0) SHA1(1e48d52b30463c142221683e1ffa7523fb70a10b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh01.rom", 0x000000, 0x200000, CRC(692511a5) SHA1(b272fdd0aa3724ba8ff30d2568c3a6b63f1358b3) ) + ROM_LOAD( "m0600_ph366.rom", 0x400000, 0x400000, CRC(acadac0d) SHA1(f6b195b7cd33a197d377c750a1f9f5bee2900779) ) +ROM_END + + /*********************************************************** + Knights of Valour Super Heroes / Quanhuang Sanguo Tebie Ban +*************************************************************/ + +ROM_START( kovshs02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600re.322", 0x100000, 0x2a3000, CRC(4c38c199) SHA1(48876b6a9cd85d39c4b49b7a47e66d66f2bfd375) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600re.rom", 0x0000000, 0x0800000, CRC(2f5e017e) SHA1(83655f4c4d5f4155f0f8908870c0a97de9d52907) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600re.rom", 0x0000000, 0x0800000, CRC(c16d355b) SHA1(2f711376d489ba19cf466e3ee1d498c93313fcb5) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.103", 0x100000, 0x400000, CRC(f0b3da82) SHA1(4067beb69c049b51bce6154f4cf880600ca4de11) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602.sh3", 0x0c00000, 0x0400000, CRC(c3e0b454) SHA1(7aaa9b1abf9f1e7fe9acbba757ff7fbfa46557d3) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw04.322", 0x100000, 0x400000, CRC(664fca69) SHA1(4d8e92b4616308e49291fe4846fc00255ae5509a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs06 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw06.322", 0x100000, 0x400000, CRC(3d18aa52) SHA1(0bc8afd55fc391a766c653aa02e73b8ac2963d03) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "qhsg_c51_ps01.rom", 0x100000, 0x400000, CRC(4c5ea070) SHA1(1f7db4e4c7e407d2994adc1ddbc8458688f64df2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) +ROM_END + +ROM_START( kovshs08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "qhsg_c51_ps02.rom", 0x100000, 0x400000, CRC(ee2fc9b1) SHA1(958647dec8133aa6889668e4747d48af1e6153a0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) +ROM_END + +ROM_START( kovshs09 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "qhsg_c51_ps03.rom", 0x100000, 0x400000, CRC(400d0a08) SHA1(c617a2986f5d83e5a04e971d4037a5da9877e414) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "lsqh2_t01.rom",0x180000, 0x800000, CRC(d498d97f) SHA1(97a7b6d2ed1170449e7c2899448af7cbbca4c94f) ) + ROM_IGNORE( 0x800000 ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "lsqh2_a01.rom", 0x0000000, 0x1000000, CRC(25ae3efd) SHA1(083d977602ddb5ad54fbdcba000cd4287de8d463) ) + ROM_LOAD( "lsqh2_a23.rom", 0x1000000, 0x1000000, CRC(7a779112) SHA1(0a7d36b3715063d8eac629b95a9bb3ecd8e54fca) ) + ROM_LOAD( "lsqh2_a45.rom", 0x2000000, 0x1000000, CRC(5d7de052) SHA1(7663b6cf09f65c4644661005a38f9aba84a32913) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "lsqh2_b01.rom", 0x0000000, 0x1000000, CRC(df7ca696) SHA1(7af3d27957a39de7e4873867c9972c05af7e7964) ) + + ROM_REGION( 0xc00000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "lsqh2_m01.rom",0x400000, 0x400000, CRC(01af1b65) SHA1(6cf523fa8f1e03f974771611bb9a4e08a4d4443f) ) + ROM_IGNORE( 0x400000 ) + ROM_CONTINUE( 0x800000, 0x400000 ) + ROM_IGNORE( 0x400000 ) +ROM_END + +ROM_START( kovshs10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0605_v104.u1", 0x100000, 0x400000, CRC(7c78e5f3) SHA1(9b1e4bd63fb1294ebeb539966842273c8dc7683b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "pgm_p0605_v104.u1", 0x100000, 0x400000, CRC(7c78e5f3) SHA1(9b1e4bd63fb1294ebeb539966842273c8dc7683b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs17 ) //kovshsjcs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw17.322", 0x100000, 0x454F49, CRC(72146042) SHA1(ded04e61c4297bade13d5766c419cc31016254d6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw17.rom", 0x180000, 0x800000, CRC(12097ed8) SHA1(b154e025c77f54109c442822158fdf5cc0320e11) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw17.rom", 0x0000000, 0x0800000, CRC(26b3b2ee) SHA1(46a5523204e7177902ed25f6a58903eea28beb21) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw16.rom", 0x1000000, 0x0800000, CRC(ab94d8a0) SHA1(f54843fc3ec6f2e0d56da5f8e2a55880bf603109) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw17.rom", 0x1a00000, 0x0400000, CRC(d1bb8945) SHA1(a5019f11ceedbc8bd787bba5b1189e244b83c026) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw17.rom", 0x0000000, 0x0800000, CRC(9ca61576) SHA1(8f57c7d98d4dc9cb433239230f2e48bfe8dcec72) ) + ROM_LOAD( "b0601_pw16.rom", 0x0800000, 0x0400000, CRC(1e917e36) SHA1(480c691c0c3df7225145e163848c46404306fcb4) ) + ROM_LOAD( "b0602_pw17.rom", 0x0c00000, 0x0400000, CRC(79a0c0e1) SHA1(a2eb32110e70a1946872b93fc241addf7d9cda2c) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs18 ) // Gem Fighter hack + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.sh18", 0x100000, 0x400000, CRC(24f9d4dc) SHA1(5e32c9faab39a735fa9c26aac09a7e87d84c252b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600.sh18", 0x0000000, 0x0800000, CRC(7bd1a62d) SHA1(8dee71a336a21b8ba967066477f0285e310686e4) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600.sh18", 0x0000000, 0x0800000, CRC(52f5ba74) SHA1(05abef7cdfc9632601628bc2e8df142fc348b914) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs19 ) // Rugal 98 hack + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.sh19", 0x100000, 0x400000, CRC(ed4a87a8) SHA1(70845ccd41eee2b31ffb93cd76fc53e2f6e4d5a8) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600.sh19", 0x0000000, 0x0800000, CRC(ba94a9ac) SHA1(6bd779196cbcc89864b7f5aae6d363eacd93ed68) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600.sh19", 0x0000000, 0x0800000, CRC(3d90f533) SHA1(7026a2193ed16ec3097f024326fdae08bc639f50) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600.sh19", 0x400000, 0x400000, CRC(4a6053b0) SHA1(64b37dc52f7924a727f549a4c2c2682851f9405e) ) +ROM_END + +ROM_START( kovshs22 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw22.322", 0x100000, 0x400000, CRC(A7346564) SHA1(E77ee27ee264f8d7c7028a29ee0b45eee273547e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs23 ) + ROM_REGION( 0xE00000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw23.322", 0x100000, 0x258000, CRC(A43f8e3e) SHA1(577a2345b0393ad5de2be30ef3878706c9960919) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs25 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw25.322", 0x100000, 0x400000, CRC(987b274a) SHA1(edba3f8263eacbbe1eef1c403b949c221533e4f9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs28 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw28.322", 0x100000, 0x400000, CRC(eab9638c) SHA1(35a8b8d0f0868ccd90a08ac382449fce44160bf2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw28.asic", 0x000000, 0x04000, CRC(e77e03d6) SHA1(cd779f8761c9a684d098f858de16bea2a4b74c53) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw28.rom", 0x1a00000, 0x0400000, CRC(6407ca44) SHA1(454ff5471f3a2116bfa80ed7a3fb7d2598b2d208) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw28.rom", 0x0c00000, 0x0100000, CRC(d128397f) SHA1(07d7d17f03f36e58669ab32e7e2ec4dd99f5dbfd) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs31 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw31.322", 0x100000, 0x400000, CRC(b4447c30) SHA1(9aaed5cbde16516553514d31ac2ec40883fb3ea5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw31.asic", 0x000000, 0x04000, CRC(367875c5) SHA1(f8bb234cc4e0561635b927240f375b17ee201e1d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph06.rom", 0x180000, 0x800000, CRC(d049c5bf) SHA1(8f75b6f3171d5dda9010be325a4c8f880b8fc645) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs32 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw32.322", 0x100000, 0x400000, CRC(326dd0e1) SHA1(5db7029fcf1b156ff964ccbaf1cb85cd388281fa) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw17.rom", 0x0000000, 0x0800000, CRC(26b3b2ee) SHA1(46a5523204e7177902ed25f6a58903eea28beb21) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw32.rom", 0x1a00000, 0x0400000, CRC(7932242a) SHA1(c164cde3a456c812b513b55dc43e194e404f9931) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw17.rom", 0x0000000, 0x0800000, CRC(9ca61576) SHA1(8f57c7d98d4dc9cb433239230f2e48bfe8dcec72) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw32.rom", 0x0c00000, 0x0100000, CRC(0547134a) SHA1(26de6be4e56e8fc5e4ccda63035b8361c24bf92d) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs33 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw33.322", 0x100000, 0x400000, CRC(835f76ab) SHA1(dcb33d6d6ce44ec663f2683784876eeafec1910d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw16.rom", 0x0000000, 0x0800000, CRC(a616c24d) SHA1(3d972ae65f28b16f56d7ed86d65060705eaa0483) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw16.rom", 0x0000000, 0x0800000, CRC(2c5421a6) SHA1(fdb9d9b1d1b716f8835e093ffbb7f7d84b8fb630) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs34 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw34.322", 0x100000, 0x400000, CRC(581d32a8) SHA1(d51c8af315553f5f1ac26b28e583853372302f4c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsharm.bin", 0x000000, 0x04000, CRC(9d8ecc0c) SHA1(51f288e8aa3dd1d4b7f24155fea9c6a7f4cd1144) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600lb.rom", 0x180000, 0x800000, CRC(9920e650) SHA1(1d46233869d4e65fd8b84ec520fc7e7e3840c7aa) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw02.rom", 0x0000000, 0x0800000, CRC(b41159b2) SHA1(3f563fda2984aa9db14203fd8ba482db1a8ad0af) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw09.rom", 0x1a00000, 0x0400000, CRC(93798795) SHA1(a178c6554c5034a670e882390587a101d4289872) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw02.rom", 0x0000000, 0x0800000, CRC(895a1902) SHA1(d84fd403fdc8f4d707135fdecfe05eca950bb67b) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw09.rom", 0x0c00000, 0x0100000, CRC(0f39414a) SHA1(0e8daa5c73f86e26da7c702b35d20112ebe91cf0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs35 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw35.322", 0x100000, 0x400000, CRC(29a5258a) SHA1(5e50895cb16c43a041f22664df653edde93d9ef3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw35.rom", 0x180000, 0x800000, CRC(f1dc8801) SHA1(5fe0a2d6e606b7fad284483f496d1630833e78b0) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw16.rom", 0x1000000, 0x0800000, CRC(ab94d8a0) SHA1(f54843fc3ec6f2e0d56da5f8e2a55880bf603109) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw16.rom", 0x1a00000, 0x0400000, CRC(8e3c32bc) SHA1(296376cefcf2d04e8c62a9131ca141162fafa3b0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw16.rom", 0x0800000, 0x0400000, CRC(1e917e36) SHA1(480c691c0c3df7225145e163848c46404306fcb4) ) + ROM_LOAD( "b0602_pw26.rom", 0x0c00000, 0x0100000, CRC(aa64ac60) SHA1(e9291715e691c09dfc2889e1c2f6e423aa3f1409) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs36 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw36.322", 0x100000, 0x2BC000, CRC(254bce8c) SHA1(93e6bd6a4ad73ec788fe6331ae732a93097acb5e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsharm.bin", 0x000000, 0x04000, CRC(9d8ecc0c) SHA1(51f288e8aa3dd1d4b7f24155fea9c6a7f4cd1144) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600lb.rom", 0x180000, 0x800000, CRC(9920e650) SHA1(1d46233869d4e65fd8b84ec520fc7e7e3840c7aa) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw36.rom", 0x0000000, 0x0800000, CRC(47ff7bff) SHA1(1a1f9c55fce18f2839ad562504b7078a2438a8d2) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw09.rom", 0x1a00000, 0x0400000, CRC(93798795) SHA1(a178c6554c5034a670e882390587a101d4289872) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw36.rom", 0x0000000, 0x0800000, CRC(cb4d32fa) SHA1(0f9ffac31926b08818461bd72e9221a80948d980) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw09.rom", 0x0c00000, 0x0100000, CRC(0f39414a) SHA1(0e8daa5c73f86e26da7c702b35d20112ebe91cf0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs38 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw38.322", 0x100000, 0x400000, CRC(aa50c658) SHA1(7e2e7065a10864eef5cda1f004a542c7f1d13b95) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw17.rom", 0x180000, 0x800000, CRC(12097ed8) SHA1(b154e025c77f54109c442822158fdf5cc0320e11) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw16.rom", 0x1000000, 0x0800000, CRC(ab94d8a0) SHA1(f54843fc3ec6f2e0d56da5f8e2a55880bf603109) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw16.rom", 0x1a00000, 0x0400000, CRC(8e3c32bc) SHA1(296376cefcf2d04e8c62a9131ca141162fafa3b0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw16.rom", 0x0800000, 0x0400000, CRC(1e917e36) SHA1(480c691c0c3df7225145e163848c46404306fcb4) ) + ROM_LOAD( "b0602_pw26.rom", 0x0c00000, 0x0100000, CRC(aa64ac60) SHA1(e9291715e691c09dfc2889e1c2f6e423aa3f1409) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs39 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw39.322", 0x100000, 0x400000, CRC(1082bacc) SHA1(ecfa43a17cec7ccf2b4c21e8eb149db2ef83c86b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs40 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw40.322", 0x100000, 0x400000, CRC(2a6b4287) SHA1(34da0dd9e8d8fe80211f61ef4e7fe3b30e9fc5a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw40.asic", 0x000000, 0x04000, CRC(32b780dd) SHA1(423f51dd4470fb521dbb8702640dcbde2c559454) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw40.rom", 0x1a00000, 0x0400000, CRC(410f3a5e) SHA1(93e854d128bd354f50021a60fbf5f5a38fe8c481) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw21.rom", 0x0800000, 0x0400000, CRC(88f01bfb) SHA1(df14e280eb5b22c1bcedc16112ead97a3c344ab1) ) + ROM_LOAD( "b0602_pw40.rom", 0x0c00000, 0x0100000, CRC(a81a7b61) SHA1(290764a49703db8ab7b682084bc12619f4c29796) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs41 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw41.322", 0x100000, 0x400000, CRC(a6e757b8) SHA1(051a38bf6d621351d309f808eedc105eee594b7a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs43 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw43.322", 0x100000, 0x400000, CRC(e59c9ef6) SHA1(7d1679c1a3ed45ff1e884a9668f9c07c2da903ae) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs44 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw44.322", 0x100000, 0x400000, CRC(0ded9c96) SHA1(4980a01339c60a4f9f5dce9a3cb743bfb06e8e7b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs47 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw47.322", 0x100000, 0x400000, CRC(ffbb438e) SHA1(7349b7278bc37f9e6a91342f03e1670d1cc8f0cd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw40.asic", 0x000000, 0x04000, CRC(32b780dd) SHA1(423f51dd4470fb521dbb8702640dcbde2c559454) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw40.rom", 0x1a00000, 0x0400000, CRC(410f3a5e) SHA1(93e854d128bd354f50021a60fbf5f5a38fe8c481) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw21.rom", 0x0800000, 0x0400000, CRC(88f01bfb) SHA1(df14e280eb5b22c1bcedc16112ead97a3c344ab1) ) + ROM_LOAD( "b0602_pw40.rom", 0x0c00000, 0x0100000, CRC(a81a7b61) SHA1(290764a49703db8ab7b682084bc12619f4c29796) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs48 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw48.322", 0x100000, 0x400000, CRC(2f7c024b) SHA1(979e0333ed49c10a7365fe9b97d4bae6d6627e91) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw17.rom", 0x180000, 0x800000, CRC(12097ed8) SHA1(b154e025c77f54109c442822158fdf5cc0320e11) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw16.rom", 0x1000000, 0x0800000, CRC(ab94d8a0) SHA1(f54843fc3ec6f2e0d56da5f8e2a55880bf603109) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw16.rom", 0x1a00000, 0x0400000, CRC(8e3c32bc) SHA1(296376cefcf2d04e8c62a9131ca141162fafa3b0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw16.rom", 0x0800000, 0x0400000, CRC(1e917e36) SHA1(480c691c0c3df7225145e163848c46404306fcb4) ) + ROM_LOAD( "b0602_pw26.rom", 0x0c00000, 0x0100000, CRC(aa64ac60) SHA1(e9291715e691c09dfc2889e1c2f6e423aa3f1409) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs50 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw50.322", 0x100000, 0x400000, CRC(d088bf6e) SHA1(806c1713f80f83529e6a344d46be52caeda0696f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw17.rom", 0x180000, 0x800000, CRC(12097ed8) SHA1(b154e025c77f54109c442822158fdf5cc0320e11) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw16.rom", 0x1000000, 0x0800000, CRC(ab94d8a0) SHA1(f54843fc3ec6f2e0d56da5f8e2a55880bf603109) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw16.rom", 0x1a00000, 0x0400000, CRC(8e3c32bc) SHA1(296376cefcf2d04e8c62a9131ca141162fafa3b0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw16.rom", 0x0800000, 0x0400000, CRC(1e917e36) SHA1(480c691c0c3df7225145e163848c46404306fcb4) ) + ROM_LOAD( "b0602_pw26.rom", 0x0c00000, 0x0100000, CRC(aa64ac60) SHA1(e9291715e691c09dfc2889e1c2f6e423aa3f1409) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs52 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw52.322", 0x100000, 0x400000, CRC(bf7874c3) SHA1(f0db8284f3bf21788a163426c62cc1920ab24094) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw52.asic", 0x000000, 0x04000, CRC(480e0eb4) SHA1(9d15ca02543a6503e7fe3b29cc43186c4bea3511) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw52.rom", 0x1000000, 0x0800000, CRC(b8214d04) SHA1(0a9d2c07ded0debaa21e4ebaf45fa16f2b390506) ) + ROM_LOAD( "a0603_pw52.rom", 0x1800000, 0x0400000, CRC(e804de4f) SHA1(20e7adfcb1d7455d005c8f532bf455e7a72696dd) ) + ROM_LOAD( "a0604_pw53.rom", 0x1a00000, 0x0400000, CRC(fd74d47f) SHA1(9d93eafd93878fd2ddc2c98d63155db649b858be) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw52.rom", 0x0800000, 0x0400000, CRC(d678e7cd) SHA1(61cbf9eb2835e9c95a69d731bd8b54f4ff24a38e) ) + ROM_LOAD( "b0602_pw52.rom", 0x0c00000, 0x0100000, CRC(de08a253) SHA1(6e75dc67c95741da305e93563f3c1392ec35d5c5) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs53 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw53.322", 0x100000, 0x400000, CRC(03322057) SHA1(106f200cbd3f76d6073535ab88be6420e857b77e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw53.rom", 0x0000000, 0x0800000, CRC(51f8c4ba) SHA1(361d2ffbdbdf3976f9bf3456a060d020d16b166c) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw40.rom", 0x1a00000, 0x0400000, CRC(410f3a5e) SHA1(93e854d128bd354f50021a60fbf5f5a38fe8c481) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw53.rom", 0x0800000, 0x0400000, CRC(6ce1d01c) SHA1(6e6ffa0ed762b0a82880521a4cb51b4ec51988bb) ) + ROM_LOAD( "b0602_pw40.rom", 0x0c00000, 0x0100000, CRC(a81a7b61) SHA1(290764a49703db8ab7b682084bc12619f4c29796) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs57 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw57.322", 0x100000, 0x400000, CRC(d44654c8) SHA1(e3a5aaad41954f5079d9fc0031b74df16e941efb) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw57.asic", 0x000000, 0x04000, CRC(7aedccc7) SHA1(017e4853bed307e3d47c2eb74522abb82d86910c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600lb.rom", 0x180000, 0x800000, CRC(9920e650) SHA1(1d46233869d4e65fd8b84ec520fc7e7e3840c7aa) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs61 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw61.322", 0x100000, 0x400000, CRC(74e6174e) SHA1(38e9efb53a906d58b0c6416cce5974a24b2b2a0b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph67.rom", 0x180000, 0x800000, CRC(388a0bd2) SHA1(57233a7da7558fcad12a0f8ac16d9258ead1efe0) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw18.rom", 0x0000000, 0x0800000, CRC(f96de31a) SHA1(b93a8683ef0437f92a946cc7fa425e748b669730) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw18.rom", 0x1000000, 0x0800000, CRC(a9662e72) SHA1(1d8e10eb6b79399d2685c9678807a01743d6f8a8) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw18.rom", 0x1a00000, 0x0400000, CRC(cf060122) SHA1(587858e0aac2d703b0a94358c24e29d0832b2329) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw18.rom", 0x0000000, 0x0800000, CRC(7db37aa0) SHA1(d43f31551c9b0531cde51e5c77331c592e5c23b8) ) + ROM_LOAD( "b0601_pw18.rom", 0x0800000, 0x0400000, CRC(89a894d7) SHA1(5ae7cd79c7e80453b064cca82292537be76b7b54) ) + ROM_LOAD( "b0602_pw61.rom", 0x0c00000, 0x0100000, CRC(0145830f) SHA1(f91a371e3d44c3bcd0ac352d6cd1025cac6de44a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs64 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw64.322", 0x100000, 0x400000, CRC(e0cb8056) SHA1(9f2583ea2e50ec011928a561664938476d21f45b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw09.asic", 0x000000, 0x04000, CRC(95b190a7) SHA1(6379acd02919fbf0dd77d86648cf17a3c3b81546) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_ph06.rom", 0x180000, 0x800000, CRC(d049c5bf) SHA1(8f75b6f3171d5dda9010be325a4c8f880b8fc645) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs65 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw65.322", 0x100000, 0x400000, CRC(6727489b) SHA1(713173002315f368b6dbef1022cb51d9595d5736) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw65.rom", 0x0000000, 0x0800000, CRC(b364f569) SHA1(6b552283885e19f097a35ac62381f30119ca715c) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw65.rom", 0x0000000, 0x0800000, CRC(df975d7c) SHA1(6be54b52d443a74193baafc3e10abff9ab7c7e91) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_pw65.rom", 0x400000, 0x400000, CRC(efc1d26d) SHA1(382ec011c27b1b357a16863a53235c6935fa0b27) ) +ROM_END + +ROM_START( kovshs67 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw67.322", 0x100000, 0x400000, CRC(0d25a1eb) SHA1(bf26252d0886b3667b99213047afe2fd39f4ec03) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw28.asic", 0x000000, 0x04000, CRC(e77e03d6) SHA1(cd779f8761c9a684d098f858de16bea2a4b74c53) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw28.rom", 0x1a00000, 0x0400000, CRC(6407ca44) SHA1(454ff5471f3a2116bfa80ed7a3fb7d2598b2d208) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw28.rom", 0x0c00000, 0x0100000, CRC(d128397f) SHA1(07d7d17f03f36e58669ab32e7e2ec4dd99f5dbfd) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs68 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw68.322", 0x100000, 0x400000, CRC(42e49501) SHA1(f079206ecd2c5066b4b7b660f7d91855d84d4c08) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs72 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw72.322", 0x100000, 0x400000, CRC(8d00f133) SHA1(e1834c5bf67b55f902207e8534f6b469da4e563b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs73 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw73.322", 0x100000, 0x400000, CRC(d344874c) SHA1(ef7e4415a92ad3cf213ce3368ca51a3c21da9079) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs75 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw75.322", 0x100000, 0x400000, CRC(144a269c) SHA1(8c9eb22daf43829c3cf636728b3d4904d70ff961) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs76 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw76.322", 0x100000, 0x400000, CRC(fa62d491) SHA1(89ab33aac482e8f0b079306169dd007d00b32433) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw40.asic", 0x000000, 0x04000, CRC(32b780dd) SHA1(423f51dd4470fb521dbb8702640dcbde2c559454) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw78.rom", 0x180000, 0x800000, CRC(03a53939) SHA1(0fd839b759e3ad430d80961b4ce271844da7827d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw40.rom", 0x1a00000, 0x0400000, CRC(410f3a5e) SHA1(93e854d128bd354f50021a60fbf5f5a38fe8c481) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601_pw21.rom", 0x0800000, 0x0400000, CRC(88f01bfb) SHA1(df14e280eb5b22c1bcedc16112ead97a3c344ab1) ) + ROM_LOAD( "b0602_pw40.rom", 0x0c00000, 0x0100000, CRC(a81a7b61) SHA1(290764a49703db8ab7b682084bc12619f4c29796) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs78 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw78.322", 0x100000, 0x400000, CRC(29d45d26) SHA1(f7add008ad3e005d785bfe116abe167d7b9f0b45) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsharm.bin", 0x000000, 0x04000, CRC(9d8ecc0c) SHA1(51f288e8aa3dd1d4b7f24155fea9c6a7f4cd1144) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw78.rom", 0x180000, 0x800000, CRC(03a53939) SHA1(0fd839b759e3ad430d80961b4ce271844da7827d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw09.rom", 0x1a00000, 0x0400000, CRC(93798795) SHA1(a178c6554c5034a670e882390587a101d4289872) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw09.rom", 0x0c00000, 0x0100000, CRC(0f39414a) SHA1(0e8daa5c73f86e26da7c702b35d20112ebe91cf0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs80 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw80.322", 0x100000, 0x400000, CRC(0c75d650) SHA1(3b1615695d2d628c4f800ee071b485a3d1da7d91) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw35.rom", 0x180000, 0x800000, CRC(f1dc8801) SHA1(5fe0a2d6e606b7fad284483f496d1630833e78b0) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw02.rom", 0x0000000, 0x0800000, CRC(b41159b2) SHA1(3f563fda2984aa9db14203fd8ba482db1a8ad0af) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw16.rom", 0x1000000, 0x0800000, CRC(ab94d8a0) SHA1(f54843fc3ec6f2e0d56da5f8e2a55880bf603109) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw16.rom", 0x1a00000, 0x0400000, CRC(8e3c32bc) SHA1(296376cefcf2d04e8c62a9131ca141162fafa3b0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw02.rom", 0x0000000, 0x0800000, CRC(895a1902) SHA1(d84fd403fdc8f4d707135fdecfe05eca950bb67b) ) + ROM_LOAD( "b0601_pw16.rom", 0x0800000, 0x0400000, CRC(1e917e36) SHA1(480c691c0c3df7225145e163848c46404306fcb4) ) + ROM_LOAD( "b0602_pw26.rom", 0x0c00000, 0x0100000, CRC(aa64ac60) SHA1(e9291715e691c09dfc2889e1c2f6e423aa3f1409) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs82 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw82.322", 0x100000, 0x400000, CRC(9b52e6e0) SHA1(d97d921cdaddd02d4adc1aad170c30493e63ef52) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs83 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw83.322", 0x100000, 0x400000, CRC(a7c1d1c4) SHA1(beb5fd34b8e42d5c3a75e2d06ca84d661753b31d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs85 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw85.322", 0x100000, 0x400000, CRC(444209e0) SHA1(4e94832bed17bc8dd92d52ec3f7d0d18c622cf4a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs86 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw86.322", 0x100000, 0x400000, CRC(6c6647f9) SHA1(7f17fb76b6c9c260239b23527ea9e963902beb47) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs88 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw88.322", 0x100000, 0x400000, CRC(c11176d3) SHA1(752f9e7942e2c896520824041a43f6284cdbe788) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs90 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw90.322", 0x100000, 0x400000, CRC(9845122d) SHA1(54fc2d4f3e62e82f6797448d370afcb4a2d2dde5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs91 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw91.322", 0x100000, 0x400000, CRC(7e23b885) SHA1(479b7e2e1ee848cd306174902efcc5d7c2025190) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs93 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw93.322", 0x100000, 0x400000, CRC(33b9d119) SHA1(efa38621242d16c8103df754c687b5afa4c96a6e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw28.asic", 0x000000, 0x04000, CRC(e77e03d6) SHA1(cd779f8761c9a684d098f858de16bea2a4b74c53) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw28.rom", 0x1a00000, 0x0400000, CRC(6407ca44) SHA1(454ff5471f3a2116bfa80ed7a3fb7d2598b2d208) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw28.rom", 0x0c00000, 0x0100000, CRC(d128397f) SHA1(07d7d17f03f36e58669ab32e7e2ec4dd99f5dbfd) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs108 ) //kovshfy6 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw108.322", 0x100000, 0x400000, CRC(2380ff69) SHA1(a1e7f69baff73763129f4a1467def81e56fd961c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs109 ) //kovshfy6 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw109.322", 0x100000, 0x400000, CRC(73a47834) SHA1(2e8878abbe47cc566178eade04e395e908f0cfdc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs110 ) //kovshwsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw110.322", 0x100000, 0x454F48, CRC(bf450faa) SHA1(335343e133b699422694fb719b971e3b0a695dc3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw110.asic", 0x000000, 0x04000, CRC(e2011ab0) SHA1(c0359ef4baaa5ac162b3360c50697e244b6f45a8) ) + ROM_IGNORE( 0x450F48 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw110.rom", 0x180000, 0x800000, CRC(a7cf5653) SHA1(de11be770bedc2009ce3f61df9637dff1973e4df) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw16.rom", 0x0000000, 0x0800000, CRC(a616c24d) SHA1(3d972ae65f28b16f56d7ed86d65060705eaa0483) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw110.rom", 0x1000000, 0x0800000, CRC(247eb04e) SHA1(d7253508188fea03363f76f2cb3dd31da411f7a0) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw110.rom", 0x1a00000, 0x0400000, CRC(959c5f05) SHA1(3279a6ff7112e7b6708f80b723b9726e8bdde0c7) ) + ROM_IGNORE( 0x054F48 ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw16.rom", 0x0000000, 0x0800000, CRC(2c5421a6) SHA1(fdb9d9b1d1b716f8835e093ffbb7f7d84b8fb630) ) + ROM_LOAD( "b0601_pw110.rom", 0x0800000, 0x0400000, CRC(a1d0da44) SHA1(3b6d991f86e14661f5b7ac96c73b1a179ce8e2dc) ) + ROM_IGNORE( 0x054F4C ) + ROM_LOAD( "b0602_pw110.rom", 0x0c00000, 0x0400000, CRC(da4fee54) SHA1(98665071be74fbe8532fed3a53a07d121d49be04) ) + ROM_IGNORE( 0x054F70 ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs112 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw112.322", 0x100000, 0x400000, CRC(7b258e76) SHA1(54ad020b38e9c88934bfa1fb9e37ecc687b30358) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw112.rom", 0x180000, 0x800000, CRC(db5ffd0b) SHA1(a5a237d56348b8b665fe03ef0abc79a280d88076) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw18.rom", 0x0000000, 0x0800000, CRC(f96de31a) SHA1(b93a8683ef0437f92a946cc7fa425e748b669730) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw18.rom", 0x1000000, 0x0800000, CRC(a9662e72) SHA1(1d8e10eb6b79399d2685c9678807a01743d6f8a8) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw18.rom", 0x1a00000, 0x0400000, CRC(cf060122) SHA1(587858e0aac2d703b0a94358c24e29d0832b2329) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw18.rom", 0x0000000, 0x0800000, CRC(7db37aa0) SHA1(d43f31551c9b0531cde51e5c77331c592e5c23b8) ) + ROM_LOAD( "b0601_pw18.rom", 0x0800000, 0x0400000, CRC(89a894d7) SHA1(5ae7cd79c7e80453b064cca82292537be76b7b54) ) + ROM_LOAD( "b0602_pw18.rom", 0x0c00000, 0x0400000, CRC(7638b82e) SHA1(14263da02ee20b382962039728550888005c6e10) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph174.rom", 0x400000, 0x454F47, CRC(132765c9) SHA1(b4f56dfeba59fea248ec4e04255033e2cb3ec8fb) ) +ROM_END + +ROM_START( kovshs114 ) //kovshfy6 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw114.322", 0x100000, 0x400000, CRC(42104c3d) SHA1(8b57d85dead99c6865c9ada90d8b7fa5b87f3c5d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs115 ) //kovshfy6 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw115.322", 0x100000, 0x400000, CRC(59d8b3fe) SHA1(072a89b23553a0da5ea07749ce61db689590256b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "pgm_a0604_v200.u9", 0x1a00000, 0x0400000, CRC(26b59fd3) SHA1(53219376056f4766dc5236735599d982ceb56b84) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "pgm_b0602_v200.u10", 0x0c00000, 0x0100000, CRC(9df77934) SHA1(99a3fe337c13702c9aa2373bcd1bb1befd0e2a13) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs119 ) //kovshzlzymy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw119.322", 0x100000, 0x400000, CRC(21bffcf1) SHA1(126033e9050ccac052ad3520eb893cdb77eeadbc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5c1c9305) SHA1(ba789c2c5df60def95faaf9607fbbba712afc0e8) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u11", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u1", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u5", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw111.rom", 0x1a00000, 0x0400000, CRC(17a67ffa) SHA1(44dc2b7df6680beeef03d25c4306f37851073ba4) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u6", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "pgm_b0601.u8", 0x0800000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + ROM_LOAD( "b0602_pw111.rom", 0x0c00000, 0x0100000, CRC(1f79f118) SHA1(b5d1ed2acb9b22ec3bc662c0557b70524996cabd) ) + ROM_LOAD( "b0603_pw111.rom", 0x0D00000, 0x0800000, CRC(d9da8cba) SHA1(aa509a7b8ab84edc35f7677b8dacf2c7e6c8fd66) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs121 ) //kovshwsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw121.322", 0x100000, 0x400000, CRC(9c8a9890) SHA1(40053b429c8a79acd5547733ae4ff1f675756a85) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw110.rom", 0x180000, 0x800000, CRC(a7cf5653) SHA1(de11be770bedc2009ce3f61df9637dff1973e4df) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw16.rom", 0x0000000, 0x0800000, CRC(a616c24d) SHA1(3d972ae65f28b16f56d7ed86d65060705eaa0483) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw110.rom", 0x1000000, 0x0800000, CRC(247eb04e) SHA1(d7253508188fea03363f76f2cb3dd31da411f7a0) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw16.rom", 0x1a00000, 0x0400000, CRC(8e3c32bc) SHA1(296376cefcf2d04e8c62a9131ca141162fafa3b0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw16.rom", 0x0000000, 0x0800000, CRC(2c5421a6) SHA1(fdb9d9b1d1b716f8835e093ffbb7f7d84b8fb630) ) + ROM_LOAD( "b0601_pw110.rom", 0x0800000, 0x0400000, CRC(a1d0da44) SHA1(3b6d991f86e14661f5b7ac96c73b1a179ce8e2dc) ) + ROM_IGNORE( 0x054F4C ) + ROM_LOAD( "b0602_pw121.rom", 0x0c00000, 0x0400000, CRC(6bfaa3db) SHA1(fa251d79fa79c23d90785a1cc39e1c6e901e9adc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovshs122 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw122.322", 0x100000, 0x400000, CRC(17395578) SHA1(f5cb70d1f55c483131d80f5d76ce6a72e31345f9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw16.asic", 0x000000, 0x04000, CRC(d79943df) SHA1(d3c32b30aed245fec3ce18e7cd0fcab1de06d74d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw16.rom", 0x180000, 0x800000, CRC(c62ba437) SHA1(a120a9db95306749a1e2589db872d54dc9751210) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw16.rom", 0x0000000, 0x0800000, CRC(a616c24d) SHA1(3d972ae65f28b16f56d7ed86d65060705eaa0483) ) + ROM_LOAD( "pgm_a0601.u3", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_pw16.rom", 0x1000000, 0x0800000, CRC(ab94d8a0) SHA1(f54843fc3ec6f2e0d56da5f8e2a55880bf603109) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + ROM_LOAD( "a0604_pw16.rom", 0x1a00000, 0x0400000, CRC(8e3c32bc) SHA1(296376cefcf2d04e8c62a9131ca141162fafa3b0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw16.rom", 0x0000000, 0x0800000, CRC(2c5421a6) SHA1(fdb9d9b1d1b716f8835e093ffbb7f7d84b8fb630) ) + ROM_LOAD( "b0601_pw16.rom", 0x0800000, 0x0400000, CRC(1e917e36) SHA1(480c691c0c3df7225145e163848c46404306fcb4) ) + ROM_LOAD( "b0602_pw16.rom", 0x0c00000, 0x0400000, CRC(caec6b2c) SHA1(c27805d016c8ba7c35ffa01a3ccc4fa8ae900ead) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u4", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + + /******************* + Knights of Valour 2 +**********************/ +ROM_START( kov2s01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p01.106", 0x100000, 0x400000, CRC(a6328b82) SHA1(535b583552b7fbb2cdc7ff91fd7a7a69474c6ea5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p02.106", 0x100000, 0x400000, CRC(c0d5f63e) SHA1(ed571a0401bac2fa812862df1d10ee98aa12825d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p05.325", 0x2000000, 0x0800000, CRC(3a26b7df) SHA1(d39e451f956e7555069d274eb72ca464770fcac3) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p03.106", 0x100000, 0x400000, CRC(ec1d4ecc) SHA1(03b13bbf9b1a29f00660a0e1dcba068e0f95ba2a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p04.106", 0x100000, 0x400000, CRC(c5ac039b) SHA1(6e0076022639773672c7356418190c4c337e4ce6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p05.106", 0x100000, 0x400000, CRC(c09b22eb) SHA1(6a170611de180b8e4a8ff420dfddd1858dc5d4b6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p05.325", 0x2000000, 0x0800000, CRC(3a26b7df) SHA1(d39e451f956e7555069d274eb72ca464770fcac3) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s06 ) //kov2102 + ROM_REGION( 0xE00000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p06.106", 0x100000, 0x454F4A, CRC(c8f583bd) SHA1(1c3f44a65e9c379c9e9a1638841f583eebac28ae) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p07.106", 0x100000, 0x400000, CRC(0cbfe386) SHA1(c4a8a30ac7001563d90ce9ef4c02cfd2d2aff73b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p08.106", 0x100000, 0x400000, CRC(a45e502f) SHA1(ed9def932955d2281846be801218668fce3e0ff1) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s09 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p09.106", 0x100000, 0x400000, CRC(660790b8) SHA1(283330cfb275455dbe8f10197fa334e40d207b75) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p10.106", 0x100000, 0x400000, CRC(40051ad9) SHA1(ba2ddf267fe688d5dfed575aeeccbab10135b37b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p11.106", 0x100000, 0x400000, CRC(0052d505) SHA1(83d049e676d3a86552ab0acc2ead0acc8d670e25) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s12 ) //kov2103 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p12.106", 0x100000, 0x400000, CRC(bcc8e78d) SHA1(439fdd4208d15f49cb8113b369052dfd947808ca) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.101", 0x000000, 0x200000, CRC(8c35f2fe) SHA1(d4858f97fcfad0f342fccbc9cf1590276cc3c69c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s13 ) //kov2106v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p13.106", 0x100000, 0x400000, CRC(f6fd591c) SHA1(b6a2d7c5e016da7e9e051ccacc97a13a75b6d86e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s14 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p14.106", 0x100000, 0x400000, CRC(c78a7c65) SHA1(ce3701782de7b4b1afab71c0d10c4fe84fbc6c49) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s15 ) //kov2101 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p15.106", 0x100000, 0x400000, CRC(f6d32462) SHA1(ca087983fb0ac13e87e113b29249b3c76193cc07) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s16 ) //kov2103 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p16.106", 0x100000, 0x400000, CRC(d58d0c0b) SHA1(35e73476d5b0db41a1f3ac9e178c03609454aa1c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s17 ) //kov2106cb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p17.106", 0x100000, 0x400000, CRC(4e99c6f6) SHA1(8233bd956f418f9bbbe401f8c8efabe884ab4876) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + //ROM_LOAD( "u19a.102", 0x000000, 0x200000, CRC(b953f260) SHA1(53d3c362f82065516311b85a47bda0c376e82f67) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s18 ) //kov2106q + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p18.106", 0x100000, 0x400000, CRC(210a896b) SHA1(8ae92753d9d131b843dc67b1c2139ca0359edb54) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s19 ) //kov2106s + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p19.106", 0x100000, 0x400000, CRC(cd0bb205) SHA1(e9943d2e4a52aeeb67415cf211e241b59d6f3887) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + //ROM_LOAD( "u19b.102", 0x000000, 0x200000, CRC(00ed5a91) SHA1(955654c19b3a93f2438b328fe4d8d8cd1179a42e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s20 ) //kov2106sp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p20.106", 0x100000, 0x400000, CRC(2d518618) SHA1(b38a6185bcce0197c46bc88b611905f4ad0d6a01) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + //ROM_LOAD( "u19a.102", 0x000000, 0x200000, CRC(b953f260) SHA1(53d3c362f82065516311b85a47bda0c376e82f67) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s21 ) //kov21061v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p21.106", 0x100000, 0x400000, CRC(3ffae3f3) SHA1(a54c41af403b084c5c0c521747ea02be4a507a5d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + //ROM_LOAD( "u19a.102", 0x000000, 0x200000, CRC(b953f260) SHA1(53d3c362f82065516311b85a47bda0c376e82f67) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s22 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p22.106", 0x100000, 0x400000, CRC(6f3aae4a) SHA1(9e4edcba8022d265bda829b8acafb0285b0d7e63) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s23 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p23.106", 0x100000, 0x400000, CRC(e6f26533) SHA1(d70b5c0090f30befd7a3c1bb81b3348f8d995e75) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s24 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p24.106", 0x100000, 0x400000, CRC(b08cb9a0) SHA1(d2dcf33df694a54e4c6d5d6a717628f3f9c4fa30) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s25 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p25.106", 0x100000, 0x400000, CRC(c722456d) SHA1(fc297cac5f7c010fc4bd9673767418620576ac5b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s26 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p26.106", 0x100000, 0x400000, CRC(f9953087) SHA1(3c8a39d8bc640a43eacb000bd1c49c772c3159a3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s27 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p27.106", 0x100000, 0x400000, CRC(b5b37c37) SHA1(2072b3abf2b7bbaa445454368be831296f4424f8) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s28 ) //kov2106v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p28.106", 0x100000, 0x400000, CRC(36c4e4e9) SHA1(ccc251a7df7f03555c0385c18a1663d5011bca10) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_u19.u19", 0x000000, 0x200000, CRC(462e2980) SHA1(3da7c3d2c65b59f50c78be1c25922b71d40f6080) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s29 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p29.106", 0x100000, 0x400000, CRC(22ac98cd) SHA1(260ecd413156d8b5bc98833f4edfc4512ced3b56) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2s30 ) //kov2100v3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p30.106", 0x100000, 0x400000, CRC(d97d26e2) SHA1(af67e794d5caa8581968ba50aca7532ac6809ae6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2_v100_hongkong.asic", 0x000000, 0x04000, CRC(e0d7679f) SHA1(e1c2d127eba4ddbeb8ad173c55b90ac1467e1ca8) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "u19.100", 0x000000, 0x200000, CRC(edd59922) SHA1(09b14f20f685944a93292c83e5830849aade42c9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u27", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + + /************************ + Knights of Valour 2 Plus +***************************/ +ROM_START( kov2ps01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p01.rom", 0x100000, 0x400000, CRC(93947935) SHA1(00ebf73dd9988307f1a94e20eae1d34a78bd89fe) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p02.rom", 0x100000, 0x400000, CRC(e85a7fd7) SHA1(40bcf31eb53f5fd317521eda38438e889573ead0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p03.rom", 0x100000, 0x400000, CRC(4f9cc851) SHA1(6365f6c7ae9488355b963fef84543d42a32afeb4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p04.rom", 0x100000, 0x400000, CRC(f8f78955) SHA1(86d16a8417836795936c7d7eebc1f0710c4b7ee9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p05.rom", 0x100000, 0x400000, CRC(85a955b8) SHA1(bc98be324f19c2c322cfa9f5807518b7781ebc76) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps06 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p06.rom", 0x100000, 0x400000, CRC(4c3da4bb) SHA1(3c2a7cda0da082a31ab53c6deef2f7d6c3e28142) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p07.rom", 0x100000, 0x400000, CRC(c68c57f4) SHA1(a3884eb101314cfdf11be18a678e2970e44da1c4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + //ROM_LOAD16_WORD_SWAP( "v204-32m-p08.rom", 0x100000, 0x400000, CRC(583e0650) SHA1(b6fb616fbbad1aba710e6a43e37ab6dcf3f0d82c) ) // crc collision + ROM_LOAD16_WORD_SWAP( "v204-32m-p08.rom", 0x100000, 0x400000, CRC(50e13216) SHA1(37fce0b64f3c3d870993eb229df8b6a4bab6173f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p10.rom", 0x100000, 0x400000, CRC(11328c32) SHA1(15361e867eebd597a50d7c197646795ae44b7b20) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p11.rom", 0x100000, 0x400000, CRC(a3d1c44c) SHA1(bb0e0b7d74c0df4ac00804a022b32c56bc8465f5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps12 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p12.rom", 0x100000, 0x400000, CRC(966d96f8) SHA1(b356a565f6393a230521659722cf95027e29efdc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps13 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p13.rom", 0x100000, 0x400000, CRC(38c78d33) SHA1(482b6e7b8be8c233611e8f5c7cd71a594ae88485) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps14 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p14.rom", 0x100000, 0x400000, CRC(a4a5dfb4) SHA1(6d8d7419e8f734c282a6101dd68a5491bacd61d0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps15 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p15.rom", 0x100000, 0x400000, CRC(38c5cee3) SHA1(57d3d97ffc862d0f4125a5921b775984a3738d3f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps16 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p16.rom", 0x100000, 0x400000, CRC(b873e7af) SHA1(e4ebe4db00d7bd25d1f7d8539973e78789b8ad1f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps17 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p17.rom", 0x100000, 0x400000, CRC(f30e4d2e) SHA1(0244aab4f746884a7404516ab2128e118939386f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps18 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p18.rom", 0x100000, 0x400000, CRC(79e42657) SHA1(657a1eb0b36bc4489d9af5ce489a8853b4eebcdf) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps19 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p19.rom", 0x100000, 0x400000, CRC(e10ffca4) SHA1(74e86bf45ddfd98a61f6d17435c89f279c4d6f5d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps20 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p20.rom", 0x100000, 0x400000, CRC(1b1a8510) SHA1(6d94d4e2eac1c96f59c3691a9ba8305b8ec6d7db) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps21 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p21.rom", 0x100000, 0x400000, CRC(e861186e) SHA1(3e40a2c441765d8ea56329a7b904db864cbb1999) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps22 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p22.rom", 0x100000, 0x400000, CRC(aa67fda8) SHA1(404ac2a8b5598b0c62595906c7c7230c54a540a9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps23 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p23.rom", 0x100000, 0x400000, CRC(6968e96e) SHA1(341472d813cef7ce2d2980c47c14327178b21b77) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps24 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p24.rom", 0x100000, 0x400000, CRC(8254f3f8) SHA1(9d76f6bfb3bc949e1baa9c009618c512b531365c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps25 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p25.rom", 0x100000, 0x400000, CRC(51c2be17) SHA1(fe152b7e15aa94a2cdaa5672106c6a5a9d41a99d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps26 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p26.rom", 0x100000, 0x400000, CRC(85bfcedb) SHA1(c4e9aab1c77fb083317076ee2b36004f564b7a5d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps27 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p27.rom", 0x100000, 0x400000, CRC(00be54ce) SHA1(96f4565d606740722a084186c727fcff7c02387f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps28 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p28.rom", 0x100000, 0x400000, CRC(dd290726) SHA1(45826f6eef298d5a9f9e9e0a3618830401bc8943) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps29 ) //kov2sgws2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p29.rom", 0x100000, 0x400000, CRC(eb6e0cab) SHA1(e4c07229d44911886891ba4ef6597cbb96040d8f) ) + ROM_IGNORE( 0x10000 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps31 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p31.rom", 0x100000, 0x400000, CRC(6105c18a) SHA1(c341dbf9180fbed1bb2d088fdcc108fc168042e7) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps32 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p32.rom", 0x100000, 0x400000, CRC(084e82c0) SHA1(3adfcc28f23512709927e05ff11a21a83d1d160f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps33 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p33.rom", 0x100000, 0x400000, CRC(6396688b) SHA1(c5975d4fe9f805d0daf37fc5907f9097d4d1f95c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps34 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p34.rom", 0x100000, 0x400000, CRC(fe56006c) SHA1(bed646cfa8e5921eb2b29ae9ae2c605d69bd33b2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps35 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p35.rom", 0x100000, 0x400000, CRC(aa65f087) SHA1(140bc774d46b2ea8e704128247ab4792e771a1fb) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps36 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p36.rom", 0x100000, 0x400000, CRC(643ea71b) SHA1(8bb95d908dee1e8553973a32287e080dd278eddf) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps37 ) //kov2psblq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p37.rom", 0x100000, 0x400000, CRC(4c2ab419) SHA1(e7dae915d4d0445a2aa685719bf8858873de22f6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps38 ) //kov2pgsfy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p38.rom", 0x100000, 0x454f4d, CRC(2eb8fa40) SHA1(3aca7210c105b635f79a64621da5870a260ffbe5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps39 ) //kov2pgsqy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p39.rom", 0x100000, 0x454f48, CRC(203fc30d) SHA1(58b5f344fe97be06acd7b34c1bee4835711367d3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps40 ) //kov2pgsfy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p40.rom", 0x100000, 0x454F48, CRC(0f69ac48) SHA1(75860d5e5c1585b6bd9e71daff078a54fcadce8e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "a1201-p10.rom", 0x0800000, 0x0800000, CRC(82f0a878) SHA1(ddd13e404252a71de1b2b3b974b910f899f51c38) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "a1204-p04.rom", 0x2000000, 0x0800000, CRC(27527099) SHA1(e23cf366bdeaca1e009a5cec6b13164310a34384) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps41 ) //kov2pgsqy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p41.rom", 0x100000, 0x454F48, CRC(190f7751) SHA1(c766ac92942cfdc337fdd664f0cf7b242643db18) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps42 ) //kov2phsqj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p42.rom", 0x100000, 0x455272, CRC(6dbe3dd1) SHA1(635d94ba4fcd4b54d6171e14c818a1325523eae2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps43 ) //kov2pmmqf + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p43.rom", 0x100000, 0x454F48, CRC(24a6418a) SHA1(bc7baae6c27c799e1ae0bfbf588cb1da5bb93bda) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps44 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p44.rom", 0x100000, 0x454F56, CRC(d55aeeed) SHA1(2fe789ec6afa05528caa2defee50f728f16ea8ff) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps45 ) //kov2ptxlw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p45.rom", 0x100000, 0x454F47, CRC(3310c1f2) SHA1(1ae05679c50f09aae588165c6b9f0f0434689f72) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps46 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p46.rom", 0x100000, 0x40032A, CRC(5040774c) SHA1(9f8351f1b4bae6ac95d161217254f3b7d721bace) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps47 ) //kov2pplus + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p47.rom", 0x100000, 0x40032A, CRC(397476e9) SHA1(7027720638778775fab88072fbd2cbb8f596b131) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps48 ) //kov2ppws, kov2gsws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p48.rom", 0x100000, 0x400000, CRC(4fdba013) SHA1(52d38b4508cf167bdf3592d8a247b338fc45ffdc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps49 ) //kov2pfwly, kov2fy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p49.rom", 0x100000, 0x400000, CRC(85bcb56e) SHA1(24088fd94f89e5ca2561ec027cc0fee251040760) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p49.rom", 0x000000, 0x200000, CRC(28029563) SHA1(7974729002e529655e8f13caf689603c2fc3a43b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1800002, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m1200-p49.rom", 0x800000, 0x800002, CRC(05dcaf3d) SHA1(c4e26b353f0c9cafabf22296d631165593167965) ) +ROM_END + +ROM_START( kov2ps51 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p51.rom", 0x100000, 0x400000, CRC(a661fa49) SHA1(19e57bc9be4ce21f0e3e64908cc386948695bebf) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps52 ) + ROM_REGION( 0xA54F47, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p52.rom", 0x100000, 0x454F47, CRC(8015801f) SHA1(94c31381eb1f4c3e1752860194251c8b097ca8b5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p52.rom", 0x000000, 0x200000, CRC(c27d1ce1) SHA1(69b732b25cc8e127fa8cc36654b904c0f9f88554) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps53 ) + ROM_REGION( 0xA54F47, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p53.rom", 0x100000, 0x454F47, CRC(11c8152e) SHA1(44cb00bb90d341f682fea646c5f925990d40d67f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps54 ) + ROM_REGION( 0xA54F47, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p54.rom", 0x100000, 0x454F47, CRC(5f2fd667) SHA1(a4a27e1948c7df2a9a82cdbfdaf955fec141bb9f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p54.rom", 0x000000, 0x200000, CRC(114cefcf) SHA1(e4e3d040e09d90df040ed5cba974c67c7935b892) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000002, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m1200-p49.rom", 0x800000, 0x800002, CRC(05dcaf3d) SHA1(c4e26b353f0c9cafabf22296d631165593167965) ) +ROM_END + +ROM_START( kov2ps56 ) //kov2pplus + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p56.rom", 0x100000, 0x40032A, CRC(5a050189) SHA1(246f7839a9e30980a896163bf9f086845637db36) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps57 ) //kov2pfwly + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p57.rom", 0x100000, 0x400000, CRC(a1bb7cd8) SHA1(fd9498e2965bc5e4dd918a0e80a97a35e1364b33) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p49.rom", 0x000000, 0x200000, CRC(28029563) SHA1(7974729002e529655e8f13caf689603c2fc3a43b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps58 ) //kov2pmmqf + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p58.rom", 0x100000, 0x454F3F, CRC(27b7979a) SHA1(3877c6c03c3e509fae9516eecb949162177b5620) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps59 ) //kov2ppws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p59.rom", 0x100000, 0x454F3F, CRC(f68ab0bd) SHA1(becf46664cc6278f02ad5ec5aaa1b318ab961756) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps60 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p60.rom", 0x100000, 0x400000, CRC(f10a7f3b) SHA1(f8af7608653d8b03422787c206d84ef9f9cd7dbd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16_p60.rom", 0x000000, 0x200000, CRC(b16857b4) SHA1(0f031cc62f48d84f31dee74c827ff906879341bc) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps61 ) //kov2ppws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p61.rom", 0x100000, 0x400000, CRC(4903a531) SHA1(c2d19b95d47c759145d42b95505ac081a91912f4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps62 ) //kov2pfwly + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p62.rom", 0x100000, 0x400000, CRC(e0c35180) SHA1(3bec238b8cb999ad968f65110969f2a64047b1c7) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p49.rom", 0x000000, 0x200000, CRC(28029563) SHA1(7974729002e529655e8f13caf689603c2fc3a43b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000002, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m1200-p49.rom", 0x800000, 0x800002, CRC(05dcaf3d) SHA1(c4e26b353f0c9cafabf22296d631165593167965) ) +ROM_END + +ROM_START( kov2ps63 ) //kov2phsqj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p63.rom", 0x100000, 0x400000, CRC(f47e4172) SHA1(c2584a247cb1f41aa2c05348737e12a9bed97c89) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps64 ) //kov2pmess + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p64.rom", 0x100000, 0x400000, CRC(b07626e2) SHA1(6285904a5b6f56ab411aee7f16f5892d0e2082d0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps65 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p65.rom", 0x100000, 0x400000, CRC(1c94ed55) SHA1(ad657e63a3b676052048448b39fbc2b382ed589c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a1200-p65.rom", 0x0000000, 0x0800000, CRC(78fa5653) SHA1(302ba79390e73fae39addb971db78134e589257a) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "b1201-p65.rom", 0x0800000, 0x0800000, CRC(2f45693b) SHA1(34203a43e3c1c0b166c88b1f8362861716f96f94) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps66 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p66.rom", 0x100000, 0x400000, CRC(1c7d06f1) SHA1(3ea9108ae84d542f2bd56aa74e6ca50ebe05c919) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p66.rom", 0x000000, 0x200000, CRC(96cff396) SHA1(c6879686126216b4d5e07c7b3f99617b1f44b939) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps67 ) //kov2plsqx + ROM_REGION( 0x654F80, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p67.rom", 0x100000, 0x454F80, CRC(61da8700) SHA1(3d2cc6d70b6545c795be136b92183c0fd5fdb051) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps68 ) //kov2pqjn + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p68.rom", 0x100000, 0x400000, CRC(5da6bb59) SHA1(5f059f4f0d8b9ddea8212cda6f3898781c12e113) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps69 ) //kov2phsqj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p69.rom", 0x100000, 0x400000, CRC(f61b2033) SHA1(0c72636a4a195351d7c89112639db5c2e4ae5914) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps70 ) //kov2phsqj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p70.rom", 0x100000, 0x400000, CRC(491cc37a) SHA1(df100de38f106d5d6060e0f8c1fa102511ea706f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps71 ) //kov2pplus + ROM_REGION( 0x60032A, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p71.rom", 0x100000, 0x40032A, CRC(7a7dcb05) SHA1(4f86d6cb032e875bf2df7a907a59bb668ea01b4a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps72 ) //kov2pqjn + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p72.rom", 0x100000, 0x400000, CRC(1bcadbc2) SHA1(43a47446ddb139121477d13f98b239d889dba9ee) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps73 ) //kov2pplus + ROM_REGION( 0x60032A, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p73.rom", 0x100000, 0x40032A, CRC(e1318861) SHA1(db963c17e3781d897b590de404f024f7a8267a14) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps74 ) //kov2pqjn + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p74.rom", 0x100000, 0x400000, CRC(e65bfd61) SHA1(96a5d9c38c5b3e89b7b2fa4f2fae950d25b74720) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps75 ) //kov2pgsqy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p75.rom", 0x100000, 0x400000, CRC(94f1e4b2) SHA1(c1de1e849ef3a86ac3617c1ec083f0e0bd156c42) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps76 ) //kov2pgsyx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p76.rom", 0x100000, 0x400000, CRC(96730100) SHA1(c715a6354362375a73d168ee6028933fb4af9db6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps77 ) //kov2pgsfy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p77.rom", 0x100000, 0x400000, CRC(68724690) SHA1(d130a0c518d98c210a8f37ee2128204ae8d4f882) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps78 ) //kov2psblq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p78.rom", 0x100000, 0x400000, CRC(e3edc8c9) SHA1(391a1db238d347b09dcde95ae8e41ac772ee9d6d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps79 ) //kov2pyxb + ROM_REGION( 0x60032A, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p79.rom", 0x100000, 0x40032A, CRC(9a659cf6) SHA1(7d81e989ed9cd99d06f31d2f7720418895ec2ba5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps80 ) //kov2ppws2016 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p80.rom", 0x100000, 0x400000, CRC(2c59cc1c) SHA1(8aa8e84c4b070ad826c68a07fa8ddf555c81ac14) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps81 ) //kov2ppws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p81.rom", 0x100000, 0x400000, CRC(14751691) SHA1(b61a391e34c6eed0c8425c96cbf5e676e747eba4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china-p81.bin", 0x000000, 0x04000, CRC(40a75c7e) SHA1(d2fc992a300a0c09f7ac3deba639aca4e8446663) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p81.rom", 0x000000, 0x200000, CRC(76642296) SHA1(ed8716695541bc023177d32d669a3e7875d69f52) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps83 ) //kov2pjlcq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p83.rom", 0x100000, 0x400000, CRC(538596a6) SHA1(e3a9dbee22a78c66836fe0231c98cabbfb7fd692) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "a1202-p83.rom", 0x1000000, 0x0800000, CRC(24a4315f) SHA1(168bc3d7d834683edcfb968794c28e30d9b0ea16) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "b1201-p83.rom", 0x0800000, 0x0800000, CRC(07347997) SHA1(444a753229f9356570583ee71e58665b2763f561) ) + + ROM_REGION( 0x1000002, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m1200-p49.rom", 0x800000, 0x800002, CRC(05dcaf3d) SHA1(c4e26b353f0c9cafabf22296d631165593167965) ) +ROM_END + +ROM_START( kov2ps84 ) //kov2pjlcq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p84.rom", 0x100000, 0x400000, CRC(836075b8) SHA1(0ee2b6455b44a1b932e3eb0f9b97a0fd0b8409cb) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "a1202-p83.rom", 0x1000000, 0x0800000, CRC(24a4315f) SHA1(168bc3d7d834683edcfb968794c28e30d9b0ea16) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "b1201-p83.rom", 0x0800000, 0x0800000, CRC(07347997) SHA1(444a753229f9356570583ee71e58665b2763f561) ) + + ROM_REGION( 0x1000002, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m1200-p84.rom", 0x800000, 0x800000, CRC(4bc06a41) SHA1(de8f799c8f281da9e89e592e833f529e47f2b63e) ) +ROM_END + +ROM_START( kov2ps85 ) //kov2pmess + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p85.rom", 0x100000, 0x400000, CRC(9b3ce7ca) SHA1(51f769cae4c1fe08237029b6c0260b959a018f7f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps86 ) //kov2pswcq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p86.rom", 0x100000, 0x400000, CRC(44f7966a) SHA1(881bc4b987b9823f268302642704bbdf9ad22023) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p49.rom", 0x000000, 0x200000, CRC(28029563) SHA1(7974729002e529655e8f13caf689603c2fc3a43b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + ROM_LOAD( "b1202-p86.rom", 0x1000000, 0x0200000, CRC(66f561e6) SHA1(2df90bc6112c3a7e85aec8f147aa30e4c71e7e9f) ) + ROM_LOAD( "b1203-p86.rom", 0x1200000, 0x0200000, CRC(85cc2079) SHA1(fd7883569a48b3fb517cfac4329ebe58a7d85373) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps87 ) //kov2pcthl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p86.rom", 0x100000, 0x400000, CRC(44f7966a) SHA1(881bc4b987b9823f268302642704bbdf9ad22023) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + ROM_LOAD( "b1202-p87.rom", 0x1000000, 0x0200000, CRC(8b8d3bf4) SHA1(2b3425cbb739f2cbd247a9050b82fde2415bbccb) ) + ROM_LOAD( "b1203-p87.rom", 0x1200000, 0x0200000, CRC(f2926e49) SHA1(5f807dcd3a2ac8c57fdbf826160f052bf447c0a4) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps88 ) //kov2pgsyx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p88.rom", 0x100000, 0x400000, CRC(a335d367) SHA1(8f7800b33aa1087b527cb5959ba250989c4417df) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps89 ) //kov2psjyh + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p89.rom", 0x100000, 0x400000, CRC(4e101e20) SHA1(dd6e34e2b897ae439a53a9551f2d2ee67379d326) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps90 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p90.rom", 0x100000, 0x400000, CRC(a7724151) SHA1(99a6aade4500b265eeb0979c003617a5da4cca41) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200-16-p90.rom", 0x000000, 0x200000, CRC(ef2bd23b) SHA1(754926548d9112da77f9b6929ad2e52e6c7bc3e4) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps91 ) //kov2sgws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p91.rom", 0x100000, 0x400000, CRC(8bf35ddc) SHA1(386e3c3a455dec82be74efcb95c7eaa63c73e20e) ) + ROM_IGNORE( 0x10000 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps92 ) //kov2pzsws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p92.rom", 0x100000, 0x400000, CRC(dba78f2c) SHA1(e2f3b3955ef2b9832226f6e564cddd6244610fae) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps93 ) //kov2pgsyx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p93.rom", 0x100000, 0x400000, CRC(9abfd9e7) SHA1(6807a53ad1b9b87e7a26dfc62202cde18f8b25ab) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps94 ) //kov2plffw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p94.rom", 0x100000, 0x400000, CRC(7ba8253f) SHA1(517f159cf1e331489bd71eba30a2066ffc290949) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps95 ) //kov2psblq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p95.rom", 0x100000, 0x400000, CRC(d18d5ca3) SHA1(27a6b8282df12e3f529cebee8e6ebeb70ff450af) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps96 ) //kov2pgsyx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p96.rom", 0x100000, 0x400000, CRC(9e10c844) SHA1(65a65039aed5d934fee38cb7840aab73bfe56a28) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps97 ) //kov2plffw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p97.rom", 0x100000, 0x400000, CRC(2b238d52) SHA1(a450360377fa28519491feea05134d6ab9cbce92) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps98 ) //kov2pzsws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p98.rom", 0x100000, 0x400000, CRC(95e872be) SHA1(f3b3a1901ebdc5c05a39057936f5e90c7d16610f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps103 ) //kov2pec + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p103.rom", 0x100000, 0x400000, CRC(849a9d36) SHA1(4e224109d4dcc6f959307d4fbcdad0ea70694818) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps104 ) //kov2pmp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "u18-p29.106", 0x100000, 0x400000, CRC(9ff09f23) SHA1(752b13f06717acbb85fceeb470a88610221f8f24) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m-p29.u23", 0x000000, 0x200000, CRC(03ffac76) SHA1(60964bbf917a16ae7c8722fdeebb57f58631c553) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps106 ) //kov2pzsws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p106.rom", 0x100000, 0x400000, CRC(9afd444d) SHA1(6de5d2a302abfe625ae52f445d27ebe57e632234) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps107 ) //kov2pme + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p107.rom", 0x100000, 0x400000, CRC(bfc69c44) SHA1(a2fc8ae685167ee8a59560f44b9c1710629f3ba0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m-p107.u23", 0x000000, 0x200000, CRC(725b0638) SHA1(3fab9c065aa6b2037ac60764d72081118f470fb8) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200-p107.u1", 0x0000000, 0x0800000, CRC(a337bc61) SHA1(9f2540e637666ab48b1c4140d5e88d77c4201872) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201-p107.u7", 0x0800000, 0x0800000, CRC(e2d2fe31) SHA1(1a6dd7eb60d749b6a228a4f65baea97464429da8) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps108 ) //kov2pmes + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p108.rom", 0x100000, 0x400000, CRC(5af17293) SHA1(625ad9ee0f79cc611c846ea2ed9f0b0d3bf6788e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china_p49.bin", 0x000000, 0x04000, CRC(06214503) SHA1(ddede08011ab723a92a6da690e38903c173de2fa) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m-p108.u23", 0x000000, 0x200000, CRC(80e672d7) SHA1(14a24314e25cf0b8abde3dd03b2c2394a05df9c4) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps110 ) //kov2pshpd2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m-p110.rom", 0x100000, 0x500000, CRC(39352749) SHA1(b49cbb45ecd9f6a4172b855c17250a42e6a2b802) ) + ROM_IGNORE(0x100000) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china-p81.bin", 0x000000, 0x04000, CRC(40a75c7e) SHA1(d2fc992a300a0c09f7ac3deba639aca4e8446663) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m-p110.u23", 0x000000, 0x200000, CRC(c4c1ddba) SHA1(bc8c1a177d618d70bfaac9293b79335be70d886a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200-p109.u1", 0x0000000, 0x0800000, CRC(f93967d6) SHA1(9f47403dba30ef837297143f9ee0a8d0b8f2dfce) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202-p110.u6", 0x1000000, 0x0800000, CRC(49ac20bb) SHA1(d2c8a6c46013da03de41c59e664ada9d69f8f107) ) + ROM_LOAD( "pgm_a1203-p109.u8", 0x1800000, 0x0800000, CRC(56a3f258) SHA1(623c887e04068dcf4953a2b255ff38dea65cc4c7) ) + ROM_LOAD( "pgm_a1204-p109.u10", 0x2000000, 0x0200000, CRC(7bbc9f1e) SHA1(ead54fb6681d3eab50779dc9f500d4fc43dd4a45) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200-p109.u5", 0x0000000, 0x0800000, CRC(d9cdb53e) SHA1(143f3c284cde4b2907628f48b806713c4c13cc1e) ) + ROM_LOAD( "pgm_b1201-p110.u7", 0x0800000, 0x0800000, CRC(b693dad1) SHA1(951537fd61b6357040a52cd69aaa1b1dfda73ebe) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200-p110.u3", 0x800000, 0x800000, CRC(30eb3c86) SHA1(3e5adceba440bb196065408dfe8398a7d7b31311) ) +ROM_END + +ROM_START( kov2ps111 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m.2h1", 0x100000, 0x400000, CRC(1f8cda84) SHA1(9220ef478edc2267c5d96083c2c4ecf465ab9685) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps112 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m.2h2", 0x100000, 0x400000, CRC(7fcc1ab6) SHA1(47f9ab9f7f1b3d7941a70b383072d2d58e07637b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps113 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m.2h3", 0x100000, 0x400000, CRC(baa217ad) SHA1(f781d96870b7ac7043049ab08174bf2cc48979f5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps114 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32m.2h4", 0x100000, 0x400000, CRC(ee8fb036) SHA1(bf1f3006a5e5026ff9bec8d8cb2e147ec2ee6716) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + +ROM_START( kov2ps115 ) // was kov2psv + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v204-32mv.rom", 0x100000, 0x400000, CRC(fa8d8e5b) SHA1(b7dc3853145bbc063a2953f5840eced1bbd9186e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kov2p_igs027a_china.bin", 0x000000, 0x04000, CRC(19a0bd95) SHA1(83e9f22512832a51d41c588debe8be7adb3b1df7) ) + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v200_16m.u23", 0x000000, 0x200000, CRC(16a0c11f) SHA1(ce449cef76ebd5657d49b57951e2eb0f132e203e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1200.u21", 0x180000, 0x800000, CRC(d7e26609) SHA1(bdad810f82fcf1d50a8791bdc495374ec5a309c6) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1200.u1", 0x0000000, 0x0800000, CRC(ceeb81d8) SHA1(5476729443fc1bc9593ae10fbf7cbc5d7290b017) ) + ROM_LOAD( "pgm_a1201.u4", 0x0800000, 0x0800000, CRC(21063ca7) SHA1(cf561b44902425a920d5cbea5bf65dd9530b2289) ) + ROM_LOAD( "pgm_a1202.u6", 0x1000000, 0x0800000, CRC(4bb92fae) SHA1(f0b6d72ed425de1c69dc8f8d5795ea760a4a59b0) ) + ROM_LOAD( "pgm_a1203.u8", 0x1800000, 0x0800000, CRC(e73cb627) SHA1(4c6e48b845a5d1e8f9899010fbf273d54c2b8899) ) + ROM_LOAD( "pgm_a1204.u10", 0x2000000, 0x0200000, CRC(14b4b5bb) SHA1(d7db5740eec971f2782fb2885ee3af8f2a796550) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1200.u5", 0x0000000, 0x0800000, CRC(bed7d994) SHA1(019dfba8154256d64cd249eb0fa4c451edce34b8) ) + ROM_LOAD( "pgm_b1201.u7", 0x0800000, 0x0800000, CRC(f251eb57) SHA1(56a5fc14ab7822f83379cecb26638e5bb266349a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1200.u3", 0x800000, 0x800000, CRC(b0d88720) SHA1(44ab137e3f8e15b7cb5697ffbd9b1143d8210c4f) ) +ROM_END + + /*********************************** + Knights of Valour Super Heroes Plus +*************************************/ + +ROM_START( kovsho01 ) //kovshpd18 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po01.rom", 0x100000, 0x400000, CRC(8102c945) SHA1(f2f168974fe1b1b2d345456d3f2ce90d8f8a5221) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, BAD_DUMP CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho02 ) //kovshpd19 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po02.rom", 0x100000, 0x400000, CRC(51f2fd47) SHA1(8bb7330c576995578f986a5dacab831caa736d5e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, BAD_DUMP CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po03.rom", 0x100000, 0x400000, CRC(4958c43f) SHA1(31852f58e89f53b2ff7196b033771c42fee6338e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, BAD_DUMP CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po04.rom", 0x100000, 0x400000, CRC(14f0ce80) SHA1(c155d9104fbe257d77789bedccb018a6677b149c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po04.rom", 0x1800000, 0x0800000, CRC(e6153471) SHA1(98f28e7cd661d9c51838d8413a289331d3b822fe) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po04.rom", 0x0800000, 0x0800000, CRC(aa236e3b) SHA1(a9fb4e7107cd2eaabc32df2c633b4fbac1563205) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho05 ) //kovshptpls + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po05.rom", 0x100000, 0x400000, CRC(5399b60e) SHA1(7c896961177a66b0e5e79f2f97ba25a7fa8e9500) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po04.rom", 0x1800000, 0x0800000, CRC(e6153471) SHA1(98f28e7cd661d9c51838d8413a289331d3b822fe) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po04.rom", 0x0800000, 0x0800000, CRC(aa236e3b) SHA1(a9fb4e7107cd2eaabc32df2c633b4fbac1563205) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho06 ) //kovshpd19 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po06.rom", 0x100000, 0x400000, CRC(96d87c9d) SHA1(55cc1bced4f3990b55295de5de8d6b9be48fd2b3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po13.asic", 0x000000, 0x04000, BAD_DUMP CRC(b3123ccb) SHA1(ac13a9a3bcf86ea7dfd93e58e4b6772a9ca5ab35) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po06.rom", 0x1800000, 0x0800000, CRC(4f4ac911) SHA1(436e4534ce953a301f3eaacd483f68b320171c59) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po06.rom", 0x0800000, 0x0800000, CRC(94eb0579) SHA1(3041c7e3cc8fedbbe94a58b2c6aba3f32a3ac01c) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho07 ) //kovshnv17 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_po07.rom", 0x100000, 0x454F4C, CRC(e153264e) SHA1(28697741308d4670b3c078f3c13ef107810edbdd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po12.asic", 0x000000, 0x04000, BAD_DUMP CRC(9af4d680) SHA1(5512504272a0940274f3cf7cd8e15ff4fa9d594b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po07.rom", 0x1800000, 0x1000000, CRC(7d85204b) SHA1(b73fa7fa576089d510f73cc6c79bac5e5ed8cc20) ) + ROM_LOAD( "pgm_a0613.u7", 0x2800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po07.rom", 0x0000000, 0x0800000, CRC(437a3c51) SHA1(f1d444fe6e66e22aa3ce412de7ef34a647a43554) ) + ROM_LOAD( "b0540_po07.rom", 0x0800000, 0x0800000, CRC(6e21727b) SHA1(1b23ec0beca8daf8020a4bbab42961c8f5557e1e) ) + ROM_LOAD( "pgm_b0601.u8", 0x1000000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po07.rom", 0x400000, 0x40001C, CRC(c68e36b6) SHA1(690b5f4734a4f48fa010df0611d7188f3dff4deb) ) +ROM_END + +ROM_START( kovsho08 ) //kovshpa + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po08.rom", 0x100000, 0x454F4A, CRC(843d3523) SHA1(3f1d331e6b315efd881df8dde54d6f11edd0a08f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po12.asic", 0x000000, 0x04000, BAD_DUMP CRC(9af4d680) SHA1(5512504272a0940274f3cf7cd8e15ff4fa9d594b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po07.rom", 0x1800000, 0x1000000, CRC(7d85204b) SHA1(b73fa7fa576089d510f73cc6c79bac5e5ed8cc20) ) + ROM_LOAD( "pgm_a0613.u7", 0x2800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po08.rom", 0x0000000, 0x0800000, CRC(8e650b67) SHA1(cfd600a2cf1d86d493af50e2759022aaa1b61ac6) ) + ROM_LOAD( "b0540_po07.rom", 0x0800000, 0x0800000, CRC(6e21727b) SHA1(1b23ec0beca8daf8020a4bbab42961c8f5557e1e) ) + ROM_LOAD( "pgm_b0601.u8", 0x1000000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po07.rom", 0x400000, 0x40001C, CRC(c68e36b6) SHA1(690b5f4734a4f48fa010df0611d7188f3dff4deb) ) +ROM_END + +ROM_START( kovsho09 ) //kovshpb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po09.rom", 0x100000, 0x454F84, CRC(a360fdf7) SHA1(2820c24ef9134b198976fde70f3eccc574b06c00) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + ROM_LOAD( "pgm_a0613.u7", 0x1800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + ROM_LOAD( "pgm_b0601.u8", 0x1000000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po10.rom", 0x100000, 0x454F48, CRC(645f924f) SHA1(7d5ce45910a6ead39b0d0457d9e98e7609b0c3cb) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po10.asic", 0x000000, 0x04000, BAD_DUMP CRC(8427c690) SHA1(e08ac566e98fa604fb819ce6c7871e112969f305) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po10.rom", 0x0000000, 0x0800000, CRC(0f73015a) SHA1(8d41f1892163b38bf1531283e867ced985304679) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po07.rom", 0x1800000, 0x1000000, CRC(7d85204b) SHA1(b73fa7fa576089d510f73cc6c79bac5e5ed8cc20) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po07.rom", 0x0000000, 0x0800000, CRC(437a3c51) SHA1(f1d444fe6e66e22aa3ce412de7ef34a647a43554) ) + ROM_LOAD( "b0540_po07.rom", 0x0800000, 0x0800000, CRC(6e21727b) SHA1(1b23ec0beca8daf8020a4bbab42961c8f5557e1e) ) + ROM_LOAD( "b0601_kv11.rom", 0x1000000, 0x0400000, CRC(184fb667) SHA1(532aab9ad823d4eb6c21b143c6d5be429bcc1f38) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po10.rom", 0x400000, 0x40001C, CRC(ae740508) SHA1(86d79163028d4615e7f34e4eaea499126a2db7dd) ) +ROM_END + +ROM_START( kovsho11 ) //kovshpd2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po11.rom", 0x100000, 0x454F46, CRC(2c4ed676) SHA1(7f30986859604f5ab90b22ac39614995f53ce7ce) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po11.asic", 0x000000, 0x04000, BAD_DUMP CRC(537b628d) SHA1(013be0cbff49ccca97d0fcb2df3e70da1dfeca3a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po10.rom", 0x0000000, 0x0800000, CRC(0f73015a) SHA1(8d41f1892163b38bf1531283e867ced985304679) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po11.rom", 0x1800000, 0x0800000, CRC(eaa23882) SHA1(ab2e26f13d9f965b1870b4dd373427e43e4c03a8) ) + ROM_LOAD( "a0541_po11.rom", 0x2000000, 0x0800000, CRC(a723f320) SHA1(b4d4576d0748e9d40a81c0ccabd2d7ee46cf999d) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po11.rom", 0x0000000, 0x0800000, CRC(f48a3b3d) SHA1(b54b49a3cf02575febda48d1deb5ed8f1370adb8) ) + ROM_LOAD( "b0540_po11.rom", 0x0800000, 0x0800000, CRC(c3eefa33) SHA1(0d4a47e3c5661268e2f32d3b982b95e765c9b2ad) ) + ROM_LOAD( "b0601_kv11.rom", 0x1000000, 0x0400000, CRC(184fb667) SHA1(532aab9ad823d4eb6c21b143c6d5be429bcc1f38) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh03.rom", 0x000000, 0x200000, CRC(81a6aeca) SHA1(9b77df457566209fdbf47ed3f62c5d3249b03ec7) ) //BIOS + ROM_LOAD( "m0600_po11.rom", 0x400000, 0x400000, CRC(459ad15f) SHA1(6dda85c32e5472db60551870cb522e9333013b32) ) +ROM_END + +ROM_START( kovsho12 ) //kovshpdm, kovshpem + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po12.rom", 0x100000, 0x400000, CRC(613870d0) SHA1(3e9a9c06b421db5b04232ca3249a8c680f44b9a1) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po12.asic", 0x000000, 0x04000, BAD_DUMP CRC(9af4d680) SHA1(5512504272a0940274f3cf7cd8e15ff4fa9d594b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po07.rom", 0x1800000, 0x1000000, CRC(7d85204b) SHA1(b73fa7fa576089d510f73cc6c79bac5e5ed8cc20) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po08.rom", 0x0000000, 0x0800000, CRC(8e650b67) SHA1(cfd600a2cf1d86d493af50e2759022aaa1b61ac6) ) + ROM_LOAD( "b0540_po07.rom", 0x0800000, 0x0800000, CRC(6e21727b) SHA1(1b23ec0beca8daf8020a4bbab42961c8f5557e1e) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po07.rom", 0x400000, 0x40001C, CRC(c68e36b6) SHA1(690b5f4734a4f48fa010df0611d7188f3dff4deb) ) +ROM_END + +ROM_START( kovsho13 ) //kovshpd19, kovshplus + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po13.rom", 0x100000, 0x400000, CRC(2fea8d59) SHA1(530b5fd0e7caf5f89a11add41a3e7fc517aa8363) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po13.asic", 0x000000, 0x04000, BAD_DUMP CRC(b3123ccb) SHA1(ac13a9a3bcf86ea7dfd93e58e4b6772a9ca5ab35) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po13.rom", 0x1800000, 0x0800000, CRC(fd1e6e0b) SHA1(a3f41016f9a7c50e5f4a37422cfd0cf704db5ab6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po13.rom", 0x0800000, 0x0800000, CRC(14bd80ef) SHA1(60293a5a9608994fc74caee230fbc94c494f8555) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho16 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po16.rom", 0x100000, 0x400000, CRC(0e0af359) SHA1(f84108a674fa30e5f3b41bc2056e58b42a3eca6f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po16.asic", 0x000000, 0x04000, BAD_DUMP CRC(675a51ba) SHA1(3831e9c4bf089e236a6f42be17a14f5c92de5ded) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho17 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po17.rom", 0x100000, 0x400000, CRC(886b4221) SHA1(95752d2201d9d3e7d81521bc85f879b88ceeb752) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho18 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po18.rom", 0x100000, 0x400000, CRC(e4a4f7e0) SHA1(afe0bca07d248adba53b8aa8a8e01563e0f61967) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho19 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po19.rom", 0x100000, 0x400000, CRC(395b2a44) SHA1(1bc45fab0a84ab4036c582c6b9f0068fdc16a9ec) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po19.asic", 0x000000, 0x04000, BAD_DUMP CRC(72075d95) SHA1(4ea628447f173b9a7dd6bbd89c1ab7cef100695c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po19.rom", 0x1800000, 0x0800000, CRC(be69995a) SHA1(edb2aed103c670f7e390c46b5a1d7929faab8738) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po19.rom", 0x0800000, 0x0800000, CRC(c3949114) SHA1(dbfa1a6a2b4a1ad5b40e51fef9c0775d0858ccce) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho20 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po20.rom", 0x100000, 0x400000, CRC(2814fd43) SHA1(08d88cd960621ae6e05b7917b6eb426daa888b2c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po16.asic", 0x000000, 0x04000, BAD_DUMP CRC(675a51ba) SHA1(3831e9c4bf089e236a6f42be17a14f5c92de5ded) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po20.rom", 0x0800000, 0x0800000, CRC(53b64af5) SHA1(7e14f4b06326be0193b5a03ca1adbbdd5ed89502) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho21 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po21.rom", 0x100000, 0x400000, CRC(f8d5d87a) SHA1(8298f6cfdab95c53d06193c3f05d67394d06abb1) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po20.rom", 0x0800000, 0x0800000, CRC(53b64af5) SHA1(7e14f4b06326be0193b5a03ca1adbbdd5ed89502) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho22 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po22.rom", 0x100000, 0x400000, CRC(aa451070) SHA1(7f9f0441b826dde7f55b1ebece5803a98f6807bc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po20.rom", 0x0800000, 0x0800000, CRC(53b64af5) SHA1(7e14f4b06326be0193b5a03ca1adbbdd5ed89502) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho28 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po28.rom", 0x100000, 0x400000, CRC(e8050027) SHA1(fdb3b95b333086af94ea8da5f9124a8f1bbf117e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po28.rom", 0x0000000, 0x0800000, CRC(e9c2610a) SHA1(93b20fb2e06b20ec5aa14bfa3bc3af64f4c41629) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po28.rom", 0x0000000, 0x0800000, CRC(7f17c867) SHA1(00ecfd6ad0b53d3839ef025b28d760045bd1ad57) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho29 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po29.rom", 0x100000, 0x400000, CRC(16e1865e) SHA1(f16192ade0c6d6ed22be8de64e055ad6aeff6ddc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po29.rom", 0x0000000, 0x0800000, CRC(d2fb59af) SHA1(a56d2adf9755e7ab87a42003482410cac85645d3) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po28.rom", 0x0000000, 0x0800000, CRC(7f17c867) SHA1(00ecfd6ad0b53d3839ef025b28d760045bd1ad57) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho30 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po30.rom", 0x100000, 0x400000, CRC(1d82fc88) SHA1(fea4f8b5ed77236a66f40dfd4c74c7a87f7d0d5f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po30.rom", 0x0000000, 0x0800000, CRC(f43d9969) SHA1(16240cfa7c6951c87cfa64c65dc822c33261eb2d) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po30.rom", 0x1800000, 0x0800000, CRC(fdc4601d) SHA1(4d24744438b4b1c254d7e454b8f00a6e8c00509a) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po28.rom", 0x0000000, 0x0800000, CRC(7f17c867) SHA1(00ecfd6ad0b53d3839ef025b28d760045bd1ad57) ) + ROM_LOAD( "b0540_po30.rom", 0x0800000, 0x0800000, CRC(2b5f7874) SHA1(bdd1a3906cccd47bfa09e1aed0b77ee214ed0bd8) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho31 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po31.rom", 0x100000, 0x400000, CRC(1ca558a7) SHA1(46d842443bfd6cf2527c6cec3acf07ecc55ab070) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po31.rom", 0x0000000, 0x0800000, CRC(9262f949) SHA1(2c03c14466640814eabfb2aba851a3d768a11173) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po31.rom", 0x1800000, 0x0800000, CRC(732fac87) SHA1(d0106472c9114199892e14ddc8a173c2156525d1) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po31.rom", 0x0000000, 0x0800000, CRC(49378fe7) SHA1(370349b4d278bb69d0362652a6cee557045ed4f7) ) + ROM_LOAD( "b0540_po31.rom", 0x0800000, 0x0800000, CRC(cafe39a8) SHA1(6870d3e9b141e084bb22c9122c365106ec1c8147) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho32 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po32.rom", 0x100000, 0x400000, CRC(119b532e) SHA1(2def24058f321ed0710264e1295bab558b7c459e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho33 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po33.rom", 0x100000, 0x400000, CRC(2021d65f) SHA1(727e85df94d58fc62a2a748a2e1e4bacf215065a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho34 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po34.rom", 0x100000, 0x400000, CRC(a5b4e572) SHA1(85ed3ecbe47a7cd1b3d9b6e22768a68dbdd6f109) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho35 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po35.rom", 0x100000, 0x400000, CRC(2b120889) SHA1(761ed8d1818b379d0f9d4cd71c827d999e9cd4fe) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho36 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po36.rom", 0x100000, 0x400000, CRC(e9f01fb8) SHA1(0be79b99ca56fc927974bcec14a466f54f5e7952) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho37 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po37.rom", 0x100000, 0x400000, CRC(f972a361) SHA1(d02f7ea87e11eae4f6e22d21738b20b9d7e17ee6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho38 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po38.rom", 0x100000, 0x400000, CRC(7434a3a5) SHA1(79b87c8ea08f8a4ebebbd890e570bf7f336704fa) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho40 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po40.rom", 0x100000, 0x400000, CRC(988636d2) SHA1(444cd404828e98d724e925658365806ac474f93c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po40.asic", 0x000000, 0x04000, BAD_DUMP CRC(eedfdff3) SHA1(12692dec11f39e63fcfcbef261595b4fd17c0218) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po08.rom", 0x0000000, 0x0800000, CRC(8e650b67) SHA1(cfd600a2cf1d86d493af50e2759022aaa1b61ac6) ) + ROM_LOAD( "b0540_po40.rom", 0x0800000, 0x0800000, CRC(a5735ee2) SHA1(1a89815d736ba47c93a4b77d672870963a886090) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po40.rom", 0x400000, 0x400000, CRC(33bfc064) SHA1(b77d1bee46c64c1c46ce9118b3b25bf1c6905f75) ) +ROM_END + +ROM_START( kovsho41 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po41.rom", 0x100000, 0x400000, CRC(ed4b8ee6) SHA1(605af90e4ff403116b726ce4cc09d32c35e17c9d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po40.asic", 0x000000, 0x04000, BAD_DUMP CRC(eedfdff3) SHA1(12692dec11f39e63fcfcbef261595b4fd17c0218) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po08.rom", 0x0000000, 0x0800000, CRC(8e650b67) SHA1(cfd600a2cf1d86d493af50e2759022aaa1b61ac6) ) + ROM_LOAD( "b0540_po40.rom", 0x0800000, 0x0800000, CRC(a5735ee2) SHA1(1a89815d736ba47c93a4b77d672870963a886090) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po40.rom", 0x400000, 0x400000, CRC(33bfc064) SHA1(b77d1bee46c64c1c46ce9118b3b25bf1c6905f75) ) +ROM_END + +ROM_START( kovsho42 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po15.rom", 0x100000, 0x400000, CRC(f61c7f17) SHA1(c6e3778e96102721ccc4c3f9fa2e20d1b11e536e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po40.asic", 0x000000, 0x04000, BAD_DUMP CRC(eedfdff3) SHA1(12692dec11f39e63fcfcbef261595b4fd17c0218) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po08.rom", 0x0000000, 0x0800000, CRC(8e650b67) SHA1(cfd600a2cf1d86d493af50e2759022aaa1b61ac6) ) + ROM_LOAD( "b0540_po40.rom", 0x0800000, 0x0800000, CRC(a5735ee2) SHA1(1a89815d736ba47c93a4b77d672870963a886090) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po40.rom", 0x400000, 0x400000, CRC(33bfc064) SHA1(b77d1bee46c64c1c46ce9118b3b25bf1c6905f75) ) +ROM_END + +ROM_START( kovsho43 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po43.rom", 0x100000, 0x400000, CRC(c7d5fae1) SHA1(c840562d464b998197fc9ee83a470b8e5c5f85d9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho44 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po44.rom", 0x100000, 0x400000, CRC(cf688e0d) SHA1(7a7663bd6979e0fd216de6cd8dedaa9ffee99a2c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho45 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po45.rom", 0x100000, 0x400000, CRC(c2480f1a) SHA1(55f3883e31cad0c56388b90d151852f925d8c1e6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho46 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po46.rom", 0x100000, 0x400000, CRC(aba6dc20) SHA1(de188f875dd0f489cbafb6de72e0366d057f5200) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho47 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po47.rom", 0x100000, 0x400000, CRC(c13ef37e) SHA1(a05a868a6479b38640f366aaafd0218a7c6b90f8) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho48 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po48.rom", 0x100000, 0x400000, CRC(485b6e14) SHA1(d954eee8b8403aff40598be8d097d95fb990f56d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho49 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po49.rom", 0x100000, 0x400000, CRC(f499ef3f) SHA1(68da8a98800083201d3868d81ee5766711158ba4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho50 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po50.rom", 0x100000, 0x400000, CRC(32a2694d) SHA1(484ce56bbee9f473f694bb7fd95921bccf005d8c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho51 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po51.rom", 0x100000, 0x400000, CRC(8997a3b4) SHA1(692bc453ff8118aff14188c40a6016f258c825cc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho52 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po52.rom", 0x100000, 0x400000, CRC(23a8a4a2) SHA1(41753e9fae1cc93b874ca8ccff948cfe8809f416) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho53 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po53.rom", 0x100000, 0x400000, CRC(a63d978f) SHA1(e25ff1e69bf026e2b628bd1ba840a825f5453c13) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho54 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po54.rom", 0x100000, 0x400000, CRC(289b7a74) SHA1(7037ad6d9595f290dfcb6c7f27c151cf9b0673c9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho55 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po55.rom", 0x100000, 0x400000, CRC(ea796d45) SHA1(28d9f9f042416ccd004154966617846e15182de8) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho56 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po56.rom", 0x100000, 0x400000, CRC(fafbd19c) SHA1(a9a8a316db3d1426102c752817f158e3dd0d792a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho57 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po57.rom", 0x100000, 0x400000, CRC(77bdd158) SHA1(2a4d72c25d7e2fb1ed2a6cb994a2f99da4583f4f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho58 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po58.rom", 0x100000, 0x400000, CRC(77c0a833) SHA1(aefbc0c94553febd0bf2eb4eb328e6ad0dd810bf) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho59 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po59.rom", 0x100000, 0x400000, CRC(c45c881c) SHA1(01daa0cb1d013591e1f0f7fd7140ae1853850b77) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho60 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po60.rom", 0x100000, 0x400000, CRC(cce1fcf0) SHA1(ec1512fd6f780f411d95768cfee2dcd3244f26bb) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho61 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po61.rom", 0x100000, 0x400000, CRC(f3705ea0) SHA1(e31ad474d0c2364311d21a8ce37d49919c7b999c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho62 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po62.rom", 0x100000, 0x400000, CRC(4ec3474d) SHA1(74a134a9b3cc75c4be79aef8b9b5e33026f23df9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho63 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po63.rom", 0x100000, 0x400000, CRC(3cb21372) SHA1(8e4d2b943d52c58577d7134fae63e6ca0a7149d2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po16.asic", 0x000000, 0x04000, BAD_DUMP CRC(675a51ba) SHA1(3831e9c4bf089e236a6f42be17a14f5c92de5ded) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho64 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po64.rom", 0x100000, 0x400000, CRC(a803f41d) SHA1(1d3a41c68029697b36c892b0b74eea090ec23dc1) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho65 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po65.rom", 0x100000, 0x400000, CRC(5f9f0eb7) SHA1(89171667b75f6e4c3d17a1af8311ce828886cb2a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po19.asic", 0x000000, 0x04000, BAD_DUMP CRC(72075d95) SHA1(4ea628447f173b9a7dd6bbd89c1ab7cef100695c) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po19.rom", 0x1800000, 0x0800000, CRC(be69995a) SHA1(edb2aed103c670f7e390c46b5a1d7929faab8738) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po19.rom", 0x0800000, 0x0800000, CRC(c3949114) SHA1(dbfa1a6a2b4a1ad5b40e51fef9c0775d0858ccce) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho66 ) //kovshptpls + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po66.rom", 0x100000, 0x45EF47, CRC(8655bed2) SHA1(381394822a51caf24837ebeb57c4eefd865b6d73) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po66.asic", 0x000000, 0x04000, BAD_DUMP CRC(d6fe40e1) SHA1(b0dfcc3f1b40e9056461e6165eb90a4e60c01bd6) ) + ROM_IGNORE( 0x450F48 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po04.rom", 0x1800000, 0x0800000, CRC(e6153471) SHA1(98f28e7cd661d9c51838d8413a289331d3b822fe) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po04.rom", 0x0800000, 0x0800000, CRC(aa236e3b) SHA1(a9fb4e7107cd2eaabc32df2c633b4fbac1563205) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho67 ) //kovshpa2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po67.rom", 0x100000, 0x454F84, CRC(a75c3b16) SHA1(cd5d99743295181bf9481b1b2fcccde0ed137940) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po67.rom", 0x1800000, 0x0800000, CRC(bd947a6b) SHA1(eea290dec1fbf3ac066f090d6939f29554a935ef) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po67.rom", 0x0800000, 0x0800000, CRC(15ef8e41) SHA1(775833ddfe2af1ad29ac05b856586dc9b670cb07) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho68 ) //kovshp1v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po68.rom", 0x100000, 0x400000, CRC(abf18981) SHA1(bf9aa24110756773051ab3099e67309bbe8ca38e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po68.asic", 0x000000, 0x04000, BAD_DUMP CRC(e844fede) SHA1(bd5328be9b07c2296a148e6f63851e9d864be25a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po68.rom", 0x1800000, 0x0800000, CRC(f9b4bbd5) SHA1(e4df7ffc86464915a95bed2c87f08ba438024d4a) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po68.rom", 0x0800000, 0x0800000, CRC(106eb7c0) SHA1(0f050ac974f388dbcfa103e615906ad60017af63) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho69 ) //kovshpb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po69.rom", 0x100000, 0x440FFE, CRC(e0d98d8b) SHA1(b629ad48c158b835405f5e340500f9e5fab3b377) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po69.rom", 0x1800000, 0x0800000, CRC(3492b945) SHA1(c4dfffc3f032e2a8dc41d978062c57316ec8f785) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po69.rom", 0x0800000, 0x0800000, CRC(898386e5) SHA1(17d0e5de24c39e42143237694505bf1867c23b56) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho70 ) //kovshptpls, kovshptp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po14.rom", 0x100000, 0x400000, CRC(e6b9c60e) SHA1(d47d510df379f0d1536aee4b17eba8e5b73905a2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po04.rom", 0x1800000, 0x0800000, CRC(e6153471) SHA1(98f28e7cd661d9c51838d8413a289331d3b822fe) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po04.rom", 0x0800000, 0x0800000, CRC(aa236e3b) SHA1(a9fb4e7107cd2eaabc32df2c633b4fbac1563205) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho71 ) //kovshp1v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po71.rom", 0x100000, 0x400000, CRC(7ff6454c) SHA1(5a49c18f677f594cbfabe09376c312d4f4592a5c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po68.asic", 0x000000, 0x04000, BAD_DUMP CRC(e844fede) SHA1(bd5328be9b07c2296a148e6f63851e9d864be25a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po71.rom", 0x1800000, 0x0800000, CRC(7bfda264) SHA1(94f3ba6101ae57e3c225b3d59c94f0f984892862) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po71.rom", 0x0800000, 0x0800000, CRC(5e9ff06a) SHA1(093cce8223af79d717dff18f036a4e9b01c22793) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho72 ) //kovshpa2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po72.rom", 0x100000, 0x400000, CRC(1f28ec7d) SHA1(7a0a76b2d63a7043707cd56db40c28c609463690) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho74 ) //kovshp1v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po74.rom", 0x100000, 0x400000, CRC(52167c43) SHA1(d6457f3031b8db374558ba99dca8f85b7487eba9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po68.asic", 0x000000, 0x04000, BAD_DUMP CRC(e844fede) SHA1(bd5328be9b07c2296a148e6f63851e9d864be25a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po71.rom", 0x1800000, 0x0800000, CRC(7bfda264) SHA1(94f3ba6101ae57e3c225b3d59c94f0f984892862) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po71.rom", 0x0800000, 0x0800000, CRC(5e9ff06a) SHA1(093cce8223af79d717dff18f036a4e9b01c22793) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho75 ) //kovshpd3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po75.rom", 0x100000, 0x400000, CRC(d3d35cf9) SHA1(270f1e16ecd8e20db9768c0b2d7a4fb38e18d86b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po75.asic", 0x000000, 0x04000, BAD_DUMP CRC(84719489) SHA1(ade255e95a9a63f04f6a6ba5971b58895bdd4dac) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po75.rom", 0x2000000, 0x0800000, CRC(eb14e314) SHA1(62e4291768acc852f5c8c19ba96b9c3172351518) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po75.rom", 0x0800000, 0x0800000, CRC(9a295eb6) SHA1(9d89cfee82ee94cea83b6c329c12cb3f523dc2d9) ) + ROM_LOAD( "b0601_po75.rom", 0x1000000, 0x0800000, CRC(47bc6c00) SHA1(16b71e4583547c518a6a89125f28f2a57dc799d7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po75.rom", 0x400000, 0x400000, CRC(5496bd58) SHA1(76267b7f3baab0b23c0e71df4ee6c6e633508496) ) +ROM_END + +ROM_START( kovsho76 ) //kovshpdx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po76.rom", 0x100000, 0x400000, CRC(8e22f85c) SHA1(f8ff963689a775ca70b9f87cc23f4baab21a3e71) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po76.asic", 0x000000, 0x04000, BAD_DUMP CRC(1e968c13) SHA1(3618e4f04ca528e51276a8b6d29c1c0b180b9b37) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po76.rom", 0x1800000, 0x0800000, CRC(85e9c4c0) SHA1(8c9f28902dc37086f638a58e43cb8ce64de839bb) ) + ROM_LOAD( "a0541_po75.rom", 0x2000000, 0x0800000, CRC(eb14e314) SHA1(62e4291768acc852f5c8c19ba96b9c3172351518) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po75.rom", 0x0800000, 0x0800000, CRC(9a295eb6) SHA1(9d89cfee82ee94cea83b6c329c12cb3f523dc2d9) ) + ROM_LOAD( "b0601_po76.rom", 0x1000000, 0x0800000, CRC(75c127d3) SHA1(07a45e9a2d3f0a7413ec34fc2756a044660f366b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho78 ) //kovshp1v4s + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po78.rom", 0x100000, 0x400000, CRC(6967eb83) SHA1(af32a784c7d64195df496172e266170a130a3b7d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po78.rom", 0x1800000, 0x0800000, CRC(241cbd34) SHA1(3c850e0199f464a87c616ee1e44d9841ee0e2e10) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po78.rom", 0x0800000, 0x0800000, CRC(55cebe8c) SHA1(8ea1ea773d5ac147c40f447ff724f46e6e5cfdfe) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho79 ) //kovshpd3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600_pw113.322", 0x100000, 0x400000, CRC(dfb1f3f8) SHA1(436f327a36ab44cf517b0025e739a5b01fcaee91) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + ROM_LOAD( "b0601_po113.rom", 0x1000000, 0x0800000, CRC(095378f3) SHA1(b068db120ff8d7c52a9553cd58f2382a58943114) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho81 ) //kovshpa2 + ROM_REGION( 0x654F59, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po81.rom", 0x100000, 0x454F59, CRC(c216686d) SHA1(7517d9e1f0f74de276f2300008fc2997b4f35056) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_po81.rom", 0x180000, 0x800000, CRC(1cdfc484) SHA1(2eb8da647f4db9fb2a229354bce1a738b9d48f4a) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho82 ) //kovshpa3 + ROM_REGION( 0x6454F52, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po82.rom", 0x100000, 0x454F52, CRC(e35a957b) SHA1(3bd5143db6a850043e6acf8b047faea6b4645a3c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po66.asic", 0x000000, 0x04000, BAD_DUMP CRC(d6fe40e1) SHA1(b0dfcc3f1b40e9056461e6165eb90a4e60c01bd6) ) + ROM_IGNORE( 0x450F48 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po82.rom", 0x1800000, 0x0800000, CRC(63830ea2) SHA1(115f238e48904bfdd9c2b2a0bc6c98592254673b) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po82.rom", 0x0800000, 0x0800000, CRC(a772b4bf) SHA1(7a7bd4695c11522fb2b4142206435cdbe0c447d6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho83 ) //kovshpd + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po83.322", 0x100000, 0x400000, CRC(4ad43d5e) SHA1(e56b431de3e20018ad7cbbcfcc25aab30a8ba1e5) ) + ROM_IGNORE( 0x054F84 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po12.asic", 0x000000, 0x04000, BAD_DUMP CRC(9af4d680) SHA1(5512504272a0940274f3cf7cd8e15ff4fa9d594b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po07.rom", 0x1800000, 0x1000000, CRC(7d85204b) SHA1(b73fa7fa576089d510f73cc6c79bac5e5ed8cc20) ) + ROM_LOAD( "pgm_a0613.u7", 0x2800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po08.rom", 0x0000000, 0x0800000, CRC(8e650b67) SHA1(cfd600a2cf1d86d493af50e2759022aaa1b61ac6) ) + ROM_LOAD( "b0540_po07.rom", 0x0800000, 0x0800000, CRC(6e21727b) SHA1(1b23ec0beca8daf8020a4bbab42961c8f5557e1e) ) + ROM_LOAD( "pgm_b0601.u8", 0x1000000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po07.rom", 0x400000, 0x40001C, CRC(c68e36b6) SHA1(690b5f4734a4f48fa010df0611d7188f3dff4deb) ) +ROM_END + +ROM_START( kovsho84 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po84.322", 0x100000, 0x400000, CRC(3466fe0e) SHA1(898c27293cbb151481583c1defe2f5bf13cbf1f1) ) + ROM_IGNORE( 0x054F84 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po12.asic", 0x000000, 0x04000, BAD_DUMP CRC(9af4d680) SHA1(5512504272a0940274f3cf7cd8e15ff4fa9d594b) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po07.rom", 0x1800000, 0x1000000, CRC(7d85204b) SHA1(b73fa7fa576089d510f73cc6c79bac5e5ed8cc20) ) + ROM_LOAD( "pgm_a0613.u7", 0x2800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po08.rom", 0x0000000, 0x0800000, CRC(8e650b67) SHA1(cfd600a2cf1d86d493af50e2759022aaa1b61ac6) ) + ROM_LOAD( "b0540_po07.rom", 0x0800000, 0x0800000, CRC(6e21727b) SHA1(1b23ec0beca8daf8020a4bbab42961c8f5557e1e) ) + ROM_LOAD( "pgm_b0601.u8", 0x1000000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po07.rom", 0x400000, 0x40001C, CRC(c68e36b6) SHA1(690b5f4734a4f48fa010df0611d7188f3dff4deb) ) +ROM_END + +ROM_START( kovsho85 ) //kovshpd3x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po85.rom", 0x100000, 0x400000, CRC(c7885c6b) SHA1(16768af5def199e234fcb11e17ea9a2f47a28b65) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po85.rom", 0x0800000, 0x0800000, CRC(5334333b) SHA1(034425196f17fef422646e89aae86df014496e69) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po85.rom", 0x0000000, 0x0800000, CRC(efd47825) SHA1(8027430b58cc21f2459dbd4a8c9b53286e2cfd0d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho86 ) //kovshpb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po86.rom", 0x100000, 0x400000, CRC(929bffd8) SHA1(9ed4afd3885614f479020bbfbb5b5b7577835b84) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po86.rom", 0x0000000, 0x0800000, CRC(e3296767) SHA1(9e2821d236c67a7207ae7a57d2c059b186dbb1d3) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po86.rom", 0x1800000, 0x0800000, CRC(1669097c) SHA1(e905dd87140b2545dc780cf08b64e63b18e85fac) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po86.rom", 0x0000000, 0x0800000, CRC(6d71f012) SHA1(403dc6808353bf2812faddf019b8eeaa54ea0ad1) ) + ROM_LOAD( "b0540_po86.rom", 0x0800000, 0x0800000, CRC(7bcbf278) SHA1(3f5c40d68e9bc7ae1252eeb9bc602736aee016b6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho87 ) //kovshpd19 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po87.rom", 0x100000, 0x400000, CRC(b993ca1b) SHA1(8778e00e72ca32f5236f9659493162e97363ed58) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po13.asic", 0x000000, 0x04000, BAD_DUMP CRC(b3123ccb) SHA1(ac13a9a3bcf86ea7dfd93e58e4b6772a9ca5ab35) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po13.rom", 0x1800000, 0x0800000, CRC(fd1e6e0b) SHA1(a3f41016f9a7c50e5f4a37422cfd0cf704db5ab6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po13.rom", 0x0800000, 0x0800000, CRC(14bd80ef) SHA1(60293a5a9608994fc74caee230fbc94c494f8555) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho88 ) //kovshpb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po88.rom", 0x100000, 0x400000, CRC(46410a40) SHA1(180c5dc84b14013a684a6e34d480965a43fa18e5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po88.rom", 0x0000000, 0x0800000, CRC(39d6f300) SHA1(7fda2be433418104e4fc1ec1dc9b4bbd816c3487) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po88.rom", 0x1800000, 0x0800000, CRC(eceac4bd) SHA1(3a00e2c9602a8d17337244c3960c7c5319dbc35a) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po88.rom", 0x0000000, 0x0800000, CRC(c9601515) SHA1(3546976d3a39e4ebf57070aacef7f550882390f4) ) + ROM_LOAD( "b0540_po88.rom", 0x0800000, 0x0800000, CRC(69c542b7) SHA1(287719ce525cce105a57cd2ebd25445822b5f47d) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho91 ) //kovshpd3tw and kovshpd3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po91.rom", 0x100000, 0x400000, CRC(8268e84f) SHA1(b1ece003864d765beebc8d49da11a3842de0ab43) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po89.asic", 0x000000, 0x04000, BAD_DUMP CRC(4627f36f) SHA1(c4daf33bcf2b3a8a8cd4c53fa0ede594170ab326) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po89.rom", 0x1800000, 0x0800000, CRC(b038e568) SHA1(67ae413771279cce95622025ef6be5b50983bc39) ) + ROM_LOAD( "a0541_po73.rom", 0x2000000, 0x0800000, CRC(1fa3c921) SHA1(44f053826c50e762af6de9b3017563e485a4c5de) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po89.rom", 0x0800000, 0x0800000, CRC(03a1641e) SHA1(38934c2eb18fa75011de68f92bfccee7ec044524) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho93 ) //kovshptx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po93.rom", 0x100000, 0x400000, CRC(c3579501) SHA1(16fc6290c8fbbb49088f05ee74c5f19ecf8477fc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po93.rom", 0x1800000, 0x0800000, CRC(c68f3b54) SHA1(a67a4815ae33ea0f0a481c4822654413c6a1530d) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po93.rom", 0x0800000, 0x0800000, CRC(664adc02) SHA1(d3672e87c1a0ba7958a80b392a6ad1179d0b2a7a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho94 ) //kovshpd19 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po94.rom", 0x100000, 0x400000, CRC(7cffefac) SHA1(2e0f0d19b419a040b1b58f94f4e0d072d7cf0521) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po13.asic", 0x000000, 0x04000, BAD_DUMP CRC(b3123ccb) SHA1(ac13a9a3bcf86ea7dfd93e58e4b6772a9ca5ab35) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po06.rom", 0x1800000, 0x0800000, CRC(4f4ac911) SHA1(436e4534ce953a301f3eaacd483f68b320171c59) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po06.rom", 0x0800000, 0x0800000, CRC(94eb0579) SHA1(3041c7e3cc8fedbbe94a58b2c6aba3f32a3ac01c) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho95 ) //kovshpd3tw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po95.rom", 0x100000, 0x400000, CRC(c8f14031) SHA1(3446f8029607f767e30d750f4a890308eef66968) ) + ROM_IGNORE( 0x04B2 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + ROM_LOAD( "b0601_po113.rom", 0x1000000, 0x0800000, CRC(095378f3) SHA1(b068db120ff8d7c52a9553cd58f2382a58943114) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho98 ) //kovshpd3tw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po98.rom", 0x100000, 0x4004B2, CRC(9b6aae71) SHA1(ffcd93750b74493308c07c65e6873ec85535052b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + ROM_LOAD( "b0601_po113.rom", 0x1000000, 0x0800000, CRC(095378f3) SHA1(b068db120ff8d7c52a9553cd58f2382a58943114) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho101 ) //kovlsyxqxzl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po101.rom", 0x100000, 0x400000, CRC(4c434662) SHA1(43ac4c3a9c2d3c11f766912da3e58b4aa2b6b281) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho102 ) //kovlsyxqxzlp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po102.rom", 0x100000, 0x400000, CRC(9f1274ff) SHA1(9af1c6957984dc9cfede9d47b3d339dd69363673) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho104 ) //kovshpd3tw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po104.rom", 0x100000, 0x4004b2, CRC(1fa694c6) SHA1(0b7f0a91f408729817fa1a567d671cecb1d0a25c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + ROM_LOAD( "b0601_po113.rom", 0x1000000, 0x0800000, CRC(095378f3) SHA1(b068db120ff8d7c52a9553cd58f2382a58943114) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho109 ) //kovshpd3tw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po109.rom", 0x100000, 0x4004B2, CRC(2727409c) SHA1(5f376dd57700125157727c8083c14b3fd2e85ccd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + ROM_LOAD( "b0601_po113.rom", 0x1000000, 0x0800000, CRC(095378f3) SHA1(b068db120ff8d7c52a9553cd58f2382a58943114) ) + + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho111 ) //kovwslswz + ROM_REGION( 0x60013c, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po111.rom", 0x100000, 0x40013c, CRC(acb6f7ed) SHA1(f838187d1aac53566329250f4abd85113ee3ac91) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po111.rom", 0x1000000, 0x0800000, CRC(f7bac06b) SHA1(9252cb2dc080814fb72438b4b4b64a22fecaefc3) ) + ROM_LOAD( "a0540_po111.rom", 0x1800000, 0x0800000, CRC(73549b2d) SHA1(519e0168f2475a06fd9bd478ff0f62ecd99a47f9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po111.rom", 0x0800000, 0x0800000, CRC(8ee47335) SHA1(e814d5d0691f08e35a56d6daf368097bc4fc1372) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph259.rom", 0x400000, 0x400000, CRC(7a50501b) SHA1(1af6be69f3133ed56d4a132a1910cf562da83dac) ) +ROM_END + +ROM_START( kovsho112 ) //kovwsqxzb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po112.rom", 0x100000, 0x400000, CRC(1bb44834) SHA1(5f6ff2943a3eabc735379e3bcfc4b1c679df4d77) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po112.rom", 0x1800000, 0x0800000, CRC(e88ea35e) SHA1(74887ab676857073476987c1090823a9eeb4a000) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po112.rom", 0x0800000, 0x0800000, CRC(2556bf16) SHA1(0a82878c206ee9c074e0ff328885b34e87d94319) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho113 ) //kovytzywstw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po113.rom", 0x100000, 0x400000, CRC(e2e520fc) SHA1(a313d602a300b88998e99f20e512879da19d6d2d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po113.rom", 0x1800000, 0x0800000, CRC(cd17f5d1) SHA1(27ce1281e97515cf39bb1834448a16fe1f535045) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po118.rom", 0x0800000, 0x0800000, CRC(2e92acde) SHA1(0d00f25ccba142f2a32cacf5822f83006f62d7ba) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho114 ) //kovwsqxzb2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po114.rom", 0x100000, 0x400000, CRC(ab716e87) SHA1(2e1390230f1e739147c7152f85b70d9b8088a434) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po113.rom", 0x1800000, 0x0800000, CRC(cd17f5d1) SHA1(27ce1281e97515cf39bb1834448a16fe1f535045) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po118.rom", 0x0800000, 0x0800000, CRC(2e92acde) SHA1(0d00f25ccba142f2a32cacf5822f83006f62d7ba) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho115 ) //kovwslswz + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po115.rom", 0x100000, 0x40089A, CRC(2b2ece8c) SHA1(668fbc67ab19a9006b19d123fea82d15626d8e4c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po111.rom", 0x1000000, 0x0800000, CRC(f7bac06b) SHA1(9252cb2dc080814fb72438b4b4b64a22fecaefc3) ) + ROM_LOAD( "a0540_po115.rom", 0x1800000, 0x0800000, CRC(3aff2125) SHA1(efe5746f8280d2b87e6b3a048e7bfa153e56ffbf) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po115.rom", 0x0800000, 0x0800000, CRC(12c0ab5b) SHA1(4bad455c96c6f017f5b7fd48dcf8be438db269b3) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph259.rom", 0x400000, 0x400000, CRC(7a50501b) SHA1(1af6be69f3133ed56d4a132a1910cf562da83dac) ) +ROM_END + +ROM_START( kovsho116 ) //kovytzyftxws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po116.rom", 0x100000, 0x400000, CRC(9c4ace91) SHA1(7bf43edcc3009b35ecafd26235ea4cefbd7f5004) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po116.rom", 0x1800000, 0x0800000, CRC(5e8e9406) SHA1(38c13c624087976617f8aef34bde1c3f62f08d21) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po116.rom", 0x0800000, 0x0800000, CRC(da995981) SHA1(9a4207bc5b02bdc6e0adcc3372ffa65fc8a2e99b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho117 ) //kovytzyhjb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po117.rom", 0x100000, 0x400000, CRC(a3776799) SHA1(fab91f0cc89ba9ba231565e7b7a42bce8372f632) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw117.asic", 0x000000, 0x04000, CRC(9d352b6f) SHA1(9a9737478cc5aed4e60d341569c866854a3fca81) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw117.rom", 0x180000, 0x800000, CRC(fb5a543a) SHA1(2bdefe367ce3112de38b01be0d860bf7107b42fa) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "a0601_po117.rom", 0x0800000, 0x0800000, CRC(b252c4ba) SHA1(a167a805017d37889e3b2faa03a7daa113836405) ) + ROM_LOAD( "a0602_po117.rom", 0x1000000, 0x0800000, CRC(6a65f8a8) SHA1(039b54c2bef270307235ba9cea05fc48e1c27d6b) ) + ROM_LOAD( "a0540_po117.rom", 0x1800000, 0x0800000, CRC(ec1b5760) SHA1(a58be9a5e38a5346f3ac1e51c3e14e155ea81181) ) + ROM_LOAD( "a0541_po11.rom", 0x2000000, 0x0800000, CRC(a723f320) SHA1(b4d4576d0748e9d40a81c0ccabd2d7ee46cf999d) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po117.rom", 0x0800000, 0x0800000, CRC(94fc8287) SHA1(885b85afd0a730e74bd2e83a271f45c2d90e183f) ) + + ROM_REGION( 0x800041, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po117.rom", 0x400000, 0x400041, CRC(858ab94e) SHA1(9674110a943dd2cd0408a4cdeb0b08b9e6f3ce9f) ) +ROM_END + +ROM_START( kovsho118 ) //kovwsqxzb3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po118.rom", 0x100000, 0x400000, CRC(178e341e) SHA1(15adae0669ccda7265af4fe39eec8caef9222afd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po113.rom", 0x1800000, 0x0800000, CRC(cd17f5d1) SHA1(27ce1281e97515cf39bb1834448a16fe1f535045) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po118.rom", 0x0800000, 0x0800000, CRC(2e92acde) SHA1(0d00f25ccba142f2a32cacf5822f83006f62d7ba) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho120 ) //kovytzywstw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po120.rom", 0x100000, 0x400000, CRC(0cbb95ca) SHA1(c42943cd4f081e91f2bb41bc8e9dcfdc542ff6a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po116.rom", 0x1800000, 0x0800000, CRC(5e8e9406) SHA1(38c13c624087976617f8aef34bde1c3f62f08d21) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po116.rom", 0x0800000, 0x0800000, CRC(da995981) SHA1(9a4207bc5b02bdc6e0adcc3372ffa65fc8a2e99b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho121 ) //kovytzywstw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po121.rom", 0x100000, 0x400000, CRC(f9d77baf) SHA1(4ff9ee7beec3eae7d64c66971a9c03687f7135e1) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po116.rom", 0x1800000, 0x0800000, CRC(5e8e9406) SHA1(38c13c624087976617f8aef34bde1c3f62f08d21) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po116.rom", 0x0800000, 0x0800000, CRC(da995981) SHA1(9a4207bc5b02bdc6e0adcc3372ffa65fc8a2e99b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho122 ) //kovshpzqhl1v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po122.rom", 0x100000, 0x200000, CRC(4a631aac) SHA1(e8b7a78f68f2730630ae247a062d6140583546b6) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po122.rom", 0x300000, 0x200000, CRC(dabf844a) SHA1(e5ae6c6316beb8a6628b4e84f4c6fb5b8688f84e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw122.rom", 0x180000, 0x800000, CRC(3e5bec7a) SHA1(850eacb647c250db0c0a82a9eac98749ee8a70a1) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po71.rom", 0x1800000, 0x0800000, CRC(7bfda264) SHA1(94f3ba6101ae57e3c225b3d59c94f0f984892862) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po71.rom", 0x0800000, 0x0800000, CRC(5e9ff06a) SHA1(093cce8223af79d717dff18f036a4e9b01c22793) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho123 ) //kovshpzqhl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po123.rom", 0x100000, 0x200000, CRC(31ea8cea) SHA1(0925f34eb9e60c1a4c18a3c2e70c1654af7bcd1e) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po123.rom", 0x300000, 0x200000, CRC(b9ad393f) SHA1(56683259014c1157dfc28c817353e7eb18221d21) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po123.asic", 0x000000, 0x04000, BAD_DUMP CRC(39abc15f) SHA1(f839eb7ddf3c30ad05373fc54fae8a12f0d4cda9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw122.rom", 0x180000, 0x800000, CRC(3e5bec7a) SHA1(850eacb647c250db0c0a82a9eac98749ee8a70a1) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po123.rom", 0x0000000, 0x2000000, CRC(8cee9b01) SHA1(4a3bb08844846b9217170d08d6ea3fff18b1b49a) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po123.rom", 0x0000000, 0x1000000, CRC(82a43111) SHA1(9ce61e51d3ebfcb7acd2eb32087acc1137a1723a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho125 ) //kovshptx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po125.rom", 0x100000, 0x200000, CRC(c19862a3) SHA1(089c0037df7ea3091bc42ce9e8942abe45c06433) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po125.rom", 0x300000, 0x200000, CRC(dbf88515) SHA1(aedc85ad5974c6e716ccd5bf0a62c47597fde9ec) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw125.rom", 0x180000, 0x800000, CRC(9b0ec32f) SHA1(21ee21c44672a22072679cbaae70e805f914c71f) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po125.rom", 0x0000000, 0x2000000, CRC(257f7a70) SHA1(f21ea42bb93049a49950cb392d94ae7357214908) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po125.rom", 0x0000000, 0x1000000, CRC(d5c4da25) SHA1(4fbbad31f9c986788450df442fecc8fedf9eb725) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho126 ) //kovshpd3gs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po126.rom", 0x100000, 0x200000, CRC(07575b97) SHA1(6262630d61bdc2f08a1eb31b956cdd784520254e) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po126.rom", 0x300000, 0x200000, CRC(889587ee) SHA1(830320d012357c590b85401a1367dd8a5aa6eef0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po113.rom", 0x2000000, 0x0800000, CRC(fac5160e) SHA1(021ee624c5840f82c5838800f8eb6284cfcab979) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + ROM_LOAD( "b0601_po113.rom", 0x1000000, 0x0800000, CRC(095378f3) SHA1(b068db120ff8d7c52a9553cd58f2382a58943114) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho128 ) //kovshp1v4x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po128.rom", 0x100000, 0x200000, CRC(4bc18e5b) SHA1(31f6d9745443a2a0d7d087e10846b9d8ea25b46c) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po128.rom", 0x300000, 0x200000, CRC(ff2733f6) SHA1(281dafb0b3a2ec4ded12a07883d987c6088f7807) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho129 ) //kovshp1v4x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po129.rom", 0x100000, 0x200000, CRC(1305668f) SHA1(a81673bcc85fbde35a94f462d86c45319d2848d3) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po129.rom", 0x300000, 0x200000, CRC(8ddefe6a) SHA1(c7574553ec60e5100661b3c4271d7b79e091b34c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho130 ) //kovshpwsb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po130.rom", 0x100000, 0x200000, CRC(60992645) SHA1(ec4641e90b9c085c905bb01984f78304d421b7d8) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po130.rom", 0x300000, 0x200000, CRC(f73c8e82) SHA1(7c13904332f5b48b0397c1c0be8a20c707087247) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po130.rom", 0x0000000, 0x2000000, CRC(a3f903ca) SHA1(e717489adf89f4769cf2583526b9a42d60db3cd0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po130.rom", 0x0000000, 0x1000000, CRC(7d4930d4) SHA1(93246fee290f2034a0af120bd22e253005cc80cf) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho131 ) //kovshp1v4x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po131.rom", 0x100000, 0x200000, CRC(f513d89c) SHA1(924b8dc1fcfa131d782193ce7ca0b812785c52f7) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po131.rom", 0x300000, 0x200000, CRC(19125f83) SHA1(0bb7be19128b8790403bb68191996d87d9121f63) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho132 ) //kovshp1v4xtw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po132.rom", 0x100000, 0x200000, CRC(96f921d6) SHA1(3d3b26c22c2b1bc68e1ba2544c9e1391985ff33c) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po132.rom", 0x300000, 0x200000, CRC(a31bd590) SHA1(42d665680ef3073dc4e689e7fae8ee9d81edfeed) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho133 ) //kovshptplscs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po133.rom", 0x100000, 0x200000, CRC(a279f5f2) SHA1(a2a0759ccc005bd65d32df3c2f29845ea0593816) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po133.rom", 0x300000, 0x200000, CRC(468e039a) SHA1(36efc6a5f816d8f3f7b4c6e5bced9c4921a07f2f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po133.rom", 0x0000000, 0x2000000, CRC(26a884e8) SHA1(2e84a7b11e4eea4603aded9fee7aff0078408ed0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po133.rom", 0x0000000, 0x1000000, CRC(602f1e77) SHA1(d696cb21e929f9ba7e64913e462181c3c4198e24) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho134 ) //kovshp1v4x + ROM_REGION( 0x700000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po134.rom", 0x100000, 0x300000, CRC(494b5556) SHA1(309627108dd55c0007e9b432dadd8b3ba7913071) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po134.rom", 0x400000, 0x300000, CRC(0071a443) SHA1(321045847e8a0798a0935942c535b04e1c4f7c1d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho135 ) //kovshpp19 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po135.rom", 0x100000, 0x200000, CRC(f238fbf5) SHA1(e4d05a217138afea503e8c4262d96d9329531063) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po135.rom", 0x300000, 0x200000, CRC(d5638f8d) SHA1(08e14551847979e9050686da8ae8040f4595d6a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po135.rom", 0x0000000, 0x2000000, CRC(a45fa949) SHA1(68fbf3ca8e5cdfdc351e62d2392c8460ba2ccdbd) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po135.rom", 0x0000000, 0x1000000, CRC(b1c15d4f) SHA1(29526e1e47dad6deb18274f847056be031afab59) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho137 ) //kovshp1v4x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po131.rom", 0x100000, 0x200000, CRC(f513d89c) SHA1(924b8dc1fcfa131d782193ce7ca0b812785c52f7) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po137.rom", 0x300000, 0x200000, CRC(1578876a) SHA1(2df98e22a5fd4cf1b261049e5c4aaf4481e7d4e4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho138 ) //kovshp1v4xtw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po138.rom", 0x100000, 0x200000, CRC(d659ab97) SHA1(56f3edd4a0bf81c2b167c41d772b926ce4c0f85c) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po138.rom", 0x300000, 0x200000, CRC(4721a05c) SHA1(c2fd17e5a71a1326e45d267bec761e20d65d8892) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho140 ) //kovshptplscs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po140.rom", 0x100000, 0x200000, CRC(86322d6a) SHA1(fcfa7691615e1d785aa95b0336d531b7dd102043) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po140.rom", 0x300000, 0x200000, CRC(b673c954) SHA1(367d40cfdc64fc44742e17ff64cb8c5c544171f1) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po140.rom", 0x0000000, 0x2000000, CRC(dab91337) SHA1(3e81510afc25702a32baae81f8569335312ee278) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po140.rom", 0x0000000, 0x1000000, CRC(22b3beb8) SHA1(f35fbcfc28fcd12f30e1af7e6de4da8bccf0b8f9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho141 ) //kovshp1v4x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po131.rom", 0x100000, 0x200000, CRC(f513d89c) SHA1(924b8dc1fcfa131d782193ce7ca0b812785c52f7) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po141.rom", 0x300000, 0x200000, CRC(505c0fb9) SHA1(a896d117ad6532d9df0bf101d1bd5ef20f11d137) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho142 ) //kovshpwsb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po142.rom", 0x100000, 0x200000, CRC(82579022) SHA1(b15f1f1950c3c35c336371005a039e3559e52aed) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po142.rom", 0x300000, 0x200000, CRC(69c260ba) SHA1(bdb5fbe61c900958bef5cc5d3ee2a4dfec428c4b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po130.rom", 0x0000000, 0x2000000, CRC(a3f903ca) SHA1(e717489adf89f4769cf2583526b9a42d60db3cd0) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po130.rom", 0x0000000, 0x1000000, CRC(7d4930d4) SHA1(93246fee290f2034a0af120bd22e253005cc80cf) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho144 ) //kovshp1v4x + ROM_REGION( 0x700000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po144.rom", 0x100000, 0x300000, CRC(3e4bd0ca) SHA1(6e6eb4c22d88b72288bd67468187b550a070a506) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po144.rom", 0x400000, 0x300000, CRC(134c54d5) SHA1(1856db4417bf9c3a12e79337653bedf55de4b52e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho146 ) //kovshp1v4x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po146.rom", 0x100000, 0x200000, CRC(1dbd4769) SHA1(2ebf0c8f1fe13796ae9c4abd9ee8f70713dcdf54) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po146.rom", 0x300000, 0x200000, CRC(8172bd64) SHA1(3b0919b08a37e999a337650eb2d97fcde431f4f2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho148 ) //kovytzyftxq + ROM_REGION( 0x700000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po148.rom", 0x100000, 0x200000, CRC(7e6afce3) SHA1(2267cc2e5802a9bf689e2a5e1c98bc549fd5a413) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po148.rom", 0x300000, 0x200000, CRC(73120f04) SHA1(e4a1ef58e01b56082312dfe3dee32eb8218d755d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw148.asic", 0x000000, 0x04000, CRC(36a4ecc8) SHA1(c1475b56dc5de44c2c9de8717dfe92ebc3221b95) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_pw148.rom", 0x1800000, 0x0800000, CRC(b78d6fbe) SHA1(055c49a8592eee119f1adfc52f0dd9a6c580f34d) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_pw148.rom", 0x0800000, 0x0800000, CRC(92e07517) SHA1(b4a560a82094da41606483230a3050174cdf12e2) ) + ROM_LOAD( "pgm_b0601.u8", 0x1000000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po92.rom", 0x400000, 0x400000, CRC(1f981f2c) SHA1(da3949e38e6ff8e6f84704ac9edff19dab2b8964) ) +ROM_END + +ROM_START( kovsho149 ) //kovshpxy + ROM_REGION( 0x700000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po149.rom", 0x100000, 0x200000, CRC(4d972b05) SHA1(30ce31f7b9ca82b006d6279f313990f0a60e47fc) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po149.rom", 0x300000, 0x200000, CRC(60071bdd) SHA1(49013eb0847c552bd9ba335e7d352ef1ec857e6b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_pw149.rom", 0x0000000, 0x0800000, CRC(9f98ed76) SHA1(b4ceab1d10c8214f7e19302fca9d4a469f35b078) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_pw149.rom", 0x1800000, 0x0800000, CRC(f5f5d7fc) SHA1(150eac16162b1f8830b16e326f2584d7190413f9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_pw149.rom", 0x0000000, 0x0800000, CRC(7d1eacc7) SHA1(ef759850110cc121504be58fbc3bc4aca3fa5b62) ) + ROM_LOAD( "b0540_pw149.rom", 0x0800000, 0x0800000, CRC(9708e8b8) SHA1(8d304ee075171adf4963b60cd457a88a0de78ac0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho152 ) //kovlsyxqxzl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po152.322", 0x100000, 0x400000, CRC(4021e963) SHA1(8e3b4d2d9f796e78fd93be5808211aa4ed44019d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po75.asic", 0x000000, 0x04000, BAD_DUMP CRC(84719489) SHA1(ade255e95a9a63f04f6a6ba5971b58895bdd4dac) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po75.rom", 0x2000000, 0x0800000, CRC(eb14e314) SHA1(62e4291768acc852f5c8c19ba96b9c3172351518) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po75.rom", 0x0800000, 0x0800000, CRC(9a295eb6) SHA1(9d89cfee82ee94cea83b6c329c12cb3f523dc2d9) ) + ROM_LOAD( "b0601_po75.rom", 0x1000000, 0x0800000, CRC(47bc6c00) SHA1(16b71e4583547c518a6a89125f28f2a57dc799d7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po75.rom", 0x400000, 0x400000, CRC(5496bd58) SHA1(76267b7f3baab0b23c0e71df4ee6c6e633508496) ) +ROM_END + +ROM_START( kovsho153 ) //kovlsyxxzbf + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po153.322", 0x100000, 0x400000, CRC(1dd04dc6) SHA1(2e9115ee4d9711ee676f566f4e78f9ff7d4fbe94) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po76.asic", 0x000000, 0x04000, BAD_DUMP CRC(1e968c13) SHA1(3618e4f04ca528e51276a8b6d29c1c0b180b9b37) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po76.rom", 0x1800000, 0x0800000, CRC(85e9c4c0) SHA1(8c9f28902dc37086f638a58e43cb8ce64de839bb) ) + ROM_LOAD( "a0541_po75.rom", 0x2000000, 0x0800000, CRC(eb14e314) SHA1(62e4291768acc852f5c8c19ba96b9c3172351518) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po75.rom", 0x0800000, 0x0800000, CRC(9a295eb6) SHA1(9d89cfee82ee94cea83b6c329c12cb3f523dc2d9) ) + ROM_LOAD( "b0601_po76.rom", 0x1000000, 0x0800000, CRC(75c127d3) SHA1(07a45e9a2d3f0a7413ec34fc2756a044660f366b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho155 ) //kovlsyxqxzl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po155.322", 0x100000, 0x400000, CRC(63af34fa) SHA1(2dd6898d2ee7b40397cf8a75787a98f136f1dcf7) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po75.asic", 0x000000, 0x04000, BAD_DUMP CRC(84719489) SHA1(ade255e95a9a63f04f6a6ba5971b58895bdd4dac) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po75.rom", 0x1800000, 0x0800000, CRC(612306ed) SHA1(ff29e784ca062b1c9295bacc02c30db0097ef8cf) ) + ROM_LOAD( "a0541_po75.rom", 0x2000000, 0x0800000, CRC(eb14e314) SHA1(62e4291768acc852f5c8c19ba96b9c3172351518) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po75.rom", 0x0800000, 0x0800000, CRC(9a295eb6) SHA1(9d89cfee82ee94cea83b6c329c12cb3f523dc2d9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po75.rom", 0x400000, 0x400000, CRC(5496bd58) SHA1(76267b7f3baab0b23c0e71df4ee6c6e633508496) ) +ROM_END + +ROM_START( kovsho156 ) //kovlsyxxzbf + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po156.322", 0x100000, 0x400000, CRC(f0b55d87) SHA1(7d54089b97c87c9f8885b0aa28023aba242760ff) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po156.asic", 0x000000, 0x04000, BAD_DUMP CRC(f7029d77) SHA1(bb5421319a9e19fe0d2580be3b41e5616247d1bd) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_po76.rom", 0x1800000, 0x0800000, CRC(85e9c4c0) SHA1(8c9f28902dc37086f638a58e43cb8ce64de839bb) ) + ROM_LOAD( "a0541_po75.rom", 0x2000000, 0x0800000, CRC(eb14e314) SHA1(62e4291768acc852f5c8c19ba96b9c3172351518) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po75.rom", 0x0800000, 0x0800000, CRC(9a295eb6) SHA1(9d89cfee82ee94cea83b6c329c12cb3f523dc2d9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho157 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po157.322", 0x100000, 0x400000, CRC(fc5972b7) SHA1(04694b0f0c8c14b92330dd1c31978bf86374d2de) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw113.asic", 0x000000, 0x04000, CRC(d9a43086) SHA1(089a9ff2b5a67c6e74df4826501a366db84b0b9a) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po73.rom", 0x0000000, 0x0800000, CRC(72643288) SHA1(632f4a24f4f6a65f38dfbb9af1d624bc5c1d01f1) ) + ROM_LOAD( "a0601_po73.rom", 0x0800000, 0x0800000, CRC(9c1d1bea) SHA1(f1fba1e71493b2f6755095b9a655c5d038f1ca0d) ) + ROM_LOAD( "a0602_po73.rom", 0x1000000, 0x0800000, CRC(7b437e0f) SHA1(b3daa3c7d02ec79457e6a2e661daa1c6a9a8388c) ) + ROM_LOAD( "a0540_pw157.rom", 0x1800000, 0x1000000, CRC(dff33658) SHA1(90a989435dd63593249e7b23b1633040f2a62e3f) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po73.rom", 0x0000000, 0x0800000, CRC(0646c5ef) SHA1(062261023538da5d647e17a4fa47b4e4ebc4614d) ) + ROM_LOAD( "b0540_po113.rom", 0x0800000, 0x0800000, CRC(b7032905) SHA1(4a0e003c58567769421c56b9626513dfb10afae4) ) + ROM_LOAD( "b0601_po113.rom", 0x1000000, 0x0800000, CRC(095378f3) SHA1(b068db120ff8d7c52a9553cd58f2382a58943114) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho159 ) //kovassga + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po159.322", 0x100000, 0x400000, CRC(a781cf51) SHA1(cb86d125fe2f00e9b9d566a6b8ce755cf6796d67) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw147.asic", 0x000000, 0x04000, CRC(c5494399) SHA1(77a1bdd68e6eaaa9a00d41123cbc71d4f3018612) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po147.rom", 0x0000000, 0x0800000, CRC(8bccc3ba) SHA1(5511109abf8dd6e69d167c021ae6a7a9fd08b026) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po147.rom", 0x1800000, 0x1000000, CRC(3b11c9b3) SHA1(3244d263c0a1aea3b619670b47c21220a42a7d10) ) + ROM_LOAD( "pgm_a0613.u7", 0x2800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po147.rom", 0x0000000, 0x0800000, CRC(32cb43ef) SHA1(96e20d08506b94a345cfc2681da24ae68fe15ed2) ) + ROM_LOAD( "b0540_po147.rom", 0x0800000, 0x0800000, CRC(127085a9) SHA1(aeddde5212f7f0dc9478ec1503e925dc54b0eac8) ) + ROM_LOAD( "b0601_kv11.rom", 0x1000000, 0x0400000, CRC(184fb667) SHA1(532aab9ad823d4eb6c21b143c6d5be429bcc1f38) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh03.rom", 0x000000, 0x200000, CRC(81a6aeca) SHA1(9b77df457566209fdbf47ed3f62c5d3249b03ec7) ) //BIOS + ROM_LOAD( "m0600_po07.rom", 0x400000, 0x40001C, CRC(c68e36b6) SHA1(690b5f4734a4f48fa010df0611d7188f3dff4deb) ) +ROM_END + +ROM_START( kovsho162 ) //kovlsqh2 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po162.322", 0x100000, 0x400000, CRC(7b5c5a72) SHA1(1fb917bb81b0f6f2ccb7d947ee687212a1e9adb8) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw147.asic", 0x000000, 0x04000, CRC(c5494399) SHA1(77a1bdd68e6eaaa9a00d41123cbc71d4f3018612) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po147.rom", 0x0000000, 0x0800000, CRC(8bccc3ba) SHA1(5511109abf8dd6e69d167c021ae6a7a9fd08b026) ) + ROM_LOAD( "a0601_po07.rom", 0x0800000, 0x0800000, CRC(cd391de8) SHA1(c593f61ba9e0c42c4a48e549b217c396099ca840) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po147.rom", 0x1800000, 0x1000000, CRC(3b11c9b3) SHA1(3244d263c0a1aea3b619670b47c21220a42a7d10) ) + ROM_LOAD( "pgm_a0613.u7", 0x2800000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po147.rom", 0x0000000, 0x0800000, CRC(32cb43ef) SHA1(96e20d08506b94a345cfc2681da24ae68fe15ed2) ) + ROM_LOAD( "b0540_po147.rom", 0x0800000, 0x0800000, CRC(127085a9) SHA1(aeddde5212f7f0dc9478ec1503e925dc54b0eac8) ) + ROM_LOAD( "b0601_kv11.rom", 0x1000000, 0x0400000, CRC(184fb667) SHA1(532aab9ad823d4eb6c21b143c6d5be429bcc1f38) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh03.rom", 0x000000, 0x200000, CRC(81a6aeca) SHA1(9b77df457566209fdbf47ed3f62c5d3249b03ec7) ) //BIOS + ROM_LOAD( "m0600_po07.rom", 0x400000, 0x40001C, CRC(c68e36b6) SHA1(690b5f4734a4f48fa010df0611d7188f3dff4deb) ) +ROM_END + +ROM_START( kovsho163 ) //kovlsqh3 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po163.322", 0x100000, 0x400000, CRC(6c61f80f) SHA1(2797971c5a53c983284525603e2d41b2efd8f26d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) //BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po163.rom", 0x1800000, 0x0800000, CRC(eadc7955) SHA1(7ae5acded2a5c47ccbeb1726f93f14afdd1ede86) ) + ROM_LOAD( "pgm_a0613.u7", 0x2000000, 0x0400000, CRC(ec31abda) SHA1(ee526655369bae63b0ef0730e9768b765c9950fc) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po163.rom", 0x0800000, 0x0800000, CRC(bf30ea67) SHA1(9d8049307c4084765eb1a1adb0530811347f2695) ) + ROM_LOAD( "b0601_kv11.rom", 0x1000000, 0x0400000, CRC(184fb667) SHA1(532aab9ad823d4eb6c21b143c6d5be429bcc1f38) ) + + ROM_REGION( 0x900000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh05.rom", 0x000000, 0x200000, CRC(ef3a23ab) SHA1(5f0b73a1b8dfa5a19aa471e832a6f619c4bd4db1) ) //BIOS + ROM_LOAD( "m0600.sh5", 0x400000, 0x400000, CRC(eae5bf80) SHA1(5052849cb1ea573ee98188c594b4a449c195e441) ) +ROM_END + +ROM_START( kovsho164 ) //kovlsqhd + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po164.322", 0x100000, 0x400000, CRC(54f6c5d9) SHA1(9abf1fed12261fdddd2e40d30d6ce536e91c1c55) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po164.rom", 0x1800000, 0x0800000, CRC(fe74e90a) SHA1(e6ce4e9ee7441a2175990814b19edf45eb31c51b) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601xas_pl03.rom", 0x0800000, 0x0800000, CRC(188406ee) SHA1(45ec6b36d48aa143ad6a0913704c7eda08572f2b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho165 ) //kovshpa + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po165.rom", 0x100000, 0x400000, CRC(68009e8c) SHA1(15964ea882ecbb0af5482c536080333ee27c9d72) ) + ROM_IGNORE( 0x54F52 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po01.asic", 0x000000, 0x04000, BAD_DUMP CRC(7ece721c) SHA1(3aa11f11803643f9aa4bdafa35421626d066c4e9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po01.rom", 0x0000000, 0x0800000, CRC(eaa46772) SHA1(b70b2b7aaf87cd1c56f860eb2a88aed3564996da) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po01.rom", 0x1800000, 0x0800000, CRC(631a868d) SHA1(cb15835b49f10c923c8e083579c9810dfc0424d2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po01.rom", 0x0000000, 0x0800000, CRC(f2a85ce6) SHA1(815c8f74909a0d37299aa7f4d22b5c0550674c55) ) + ROM_LOAD( "b0540_po01.rom", 0x0800000, 0x0800000, CRC(53002691) SHA1(d65477c93da089a7e54ffb1e00a122a787062ae0) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho171 ) //kovytzy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po171.rom", 0x100000, 0x400000, CRC(1faf89f5) SHA1(e7d1dde5196273672dce02fea2188df5553e8a95) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho172 ) //kovshpzy + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po172.rom", 0x100000, 0x400000, CRC(db9618f9) SHA1(d6bccd7c9109b279228cf23c9e22360223c2547b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po69.rom", 0x1800000, 0x0800000, CRC(3492b945) SHA1(c4dfffc3f032e2a8dc41d978062c57316ec8f785) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po69.rom", 0x0800000, 0x0800000, CRC(898386e5) SHA1(17d0e5de24c39e42143237694505bf1867c23b56) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho173 ) //kovshpqxzqex + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po173.rom", 0x100000, 0x200000, CRC(c0071469) SHA1(00519b033d67fe38394b006beaa61543ab290c7e) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po173.rom", 0x300000, 0x200000, CRC(09d0b85f) SHA1(1c6e99a2f651afc7027951fe2c270629c2e8c64d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw117.asic", 0x000000, 0x04000, CRC(9d352b6f) SHA1(9a9737478cc5aed4e60d341569c866854a3fca81) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "a0601_po117.rom", 0x0800000, 0x0800000, CRC(b252c4ba) SHA1(a167a805017d37889e3b2faa03a7daa113836405) ) + ROM_LOAD( "a0602_po117.rom", 0x1000000, 0x0800000, CRC(6a65f8a8) SHA1(039b54c2bef270307235ba9cea05fc48e1c27d6b) ) + ROM_LOAD( "a0540_po117.rom", 0x1800000, 0x0800000, CRC(ec1b5760) SHA1(a58be9a5e38a5346f3ac1e51c3e14e155ea81181) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po117.rom", 0x0800000, 0x0800000, CRC(94fc8287) SHA1(885b85afd0a730e74bd2e83a271f45c2d90e183f) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_ph365.rom", 0x400000, 0x400000, CRC(968a15b9) SHA1(a335cb0e0bea1e6d3abd330a5ffb588eac0edba4) ) +ROM_END + +ROM_START( kovsho174 ) //kovshpqxzqp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po174.rom", 0x100000, 0x400000, CRC(5000b71c) SHA1(6c3641c73df23fd8052800c977f9d4ba02b7c23d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw174.asic", 0x000000, 0x04000, CRC(9e9c04a3) SHA1(004d6d5a7d47b355313fcbf16ca5b166133cd7b6) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po174.rom", 0x0000000, 0x0800000, CRC(f203d4dd) SHA1(8b47d046eb13a755fe4c9b6f1095f98db5638c5f) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po174.rom", 0x1800000, 0x0800000, CRC(7808afe8) SHA1(f5957247e769363827d4ee2670feca77fe8e7c9f) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po174.rom", 0x0000000, 0x0800000, CRC(5a9a07b7) SHA1(f2bcc2f4331fd38973c73cda9ca5c64c9d978e41) ) + ROM_LOAD( "b0540_po174.rom", 0x0800000, 0x0800000, CRC(b54bfc74) SHA1(70bbc91e7d45543b4d631b107b9537a916a05155) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_pw114.rom", 0x400000, 0x400000, CRC(63c76ec7) SHA1(a0a7d34e25e97f2e4f12d74d7c04e7a7a2c2bd39) ) +ROM_END + +ROM_START( kovsho175 ) //kovshpzqhl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po175.rom", 0x100000, 0x200000, CRC(396b0f14) SHA1(f661b5b32249382f0ae06ab27e359f374b755b30) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po123.rom", 0x300000, 0x200000, CRC(b9ad393f) SHA1(56683259014c1157dfc28c817353e7eb18221d21) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po123.asic", 0x000000, 0x04000, BAD_DUMP CRC(39abc15f) SHA1(f839eb7ddf3c30ad05373fc54fae8a12f0d4cda9) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po123.rom", 0x0000000, 0x2000000, CRC(8cee9b01) SHA1(4a3bb08844846b9217170d08d6ea3fff18b1b49a) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po123.rom", 0x0000000, 0x1000000, CRC(82a43111) SHA1(9ce61e51d3ebfcb7acd2eb32087acc1137a1723a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho176 ) //kovshpzqhl1v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po176.rom", 0x100000, 0x200000, CRC(42e29952) SHA1(4c974685f01161a3b1c8dbc85ed4f66829f80422) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po122.rom", 0x300000, 0x200000, CRC(dabf844a) SHA1(e5ae6c6316beb8a6628b4e84f4c6fb5b8688f84e) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po71.rom", 0x1800000, 0x0800000, CRC(7bfda264) SHA1(94f3ba6101ae57e3c225b3d59c94f0f984892862) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po71.rom", 0x0800000, 0x0800000, CRC(5e9ff06a) SHA1(093cce8223af79d717dff18f036a4e9b01c22793) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho177 ) //kovwsqxzs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po177.rom", 0x100000, 0x400000, CRC(5556e8ba) SHA1(1c917940c835e9259dc98c69a6e0211befcdf1e9) ) + ROM_IGNORE( 0x400000 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po177.rom", 0x1800000, 0x0800000, CRC(0c175a59) SHA1(bad17288e375926772818c2adc5db31c0a1cebd9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po177.rom", 0x0800000, 0x0800000, CRC(43f63c0f) SHA1(aeeb5d5f5c9c96f756f48286c171245c9cf799c2) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho178 ) //kovytzywstw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po178.rom", 0x100000, 0x400000, CRC(65e05f5d) SHA1(e9897175b1165282c10445dbe3b73ad57e4b4778) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po116.rom", 0x1800000, 0x0800000, CRC(5e8e9406) SHA1(38c13c624087976617f8aef34bde1c3f62f08d21) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po116.rom", 0x0800000, 0x0800000, CRC(da995981) SHA1(9a4207bc5b02bdc6e0adcc3372ffa65fc8a2e99b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho180 ) //kovshptpls, kovshptp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po14.rom", 0x100000, 0x400000, CRC(e6b9c60e) SHA1(d47d510df379f0d1536aee4b17eba8e5b73905a2) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po180.rom", 0x1800000, 0x0800000, CRC(6b7bde3e) SHA1(a92ae9b5250d91db71027ae473c7a4965db8c6fa) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po180.rom", 0x0800000, 0x0800000, CRC(43471434) SHA1(9a503e43a0517184eeb9af60bc59600c96440252) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho182 ) //kovlsyx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po182.rom", 0x100000, 0x400000, CRC(4809af14) SHA1(ffc06af435d5fcc099d3b995b5b0fa0d253c2ce3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po182.asic", 0x000000, 0x04000, BAD_DUMP CRC(8598d603) SHA1(41644cd252a7a457fc36f95d5287c93873abf543) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw10.rom", 0x180000, 0x800000, CRC(a919ec0f) SHA1(b464490abba8a5e651c407a7833c3a2e3befa5b8) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po182.rom", 0x0000000, 0x0800000, CRC(47794602) SHA1(be1916d3501f7946348833fd5860d129900769f1) ) + ROM_LOAD( "a0601_po01.rom", 0x0800000, 0x0800000, CRC(d94abe4b) SHA1(58ee22308ca8eaa73ee6532cefbb574f0a994eee) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0540_po182.rom", 0x1800000, 0x0800000, CRC(6afd8e35) SHA1(01ff4c433d8d85780f78fcf4e419c9036bc61707) ) + ROM_LOAD( "a0541_po182.rom", 0x2000000, 0x0800000, CRC(164de1a8) SHA1(25febeef8cd058772daa4e7fb12c886f0585864e) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po11.rom", 0x0000000, 0x0800000, CRC(f48a3b3d) SHA1(b54b49a3cf02575febda48d1deb5ed8f1370adb8) ) + ROM_LOAD( "b0540_po11.rom", 0x0800000, 0x0800000, CRC(c3eefa33) SHA1(0d4a47e3c5661268e2f32d3b982b95e765c9b2ad) ) + //ROM_LOAD( "b0601_kv11.rom", 0x1000000, 0x0400000, CRC(184fb667) SHA1(532aab9ad823d4eb6c21b143c6d5be429bcc1f38) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m01s_bios=bh03.rom", 0x000000, 0x200000, CRC(81a6aeca) SHA1(9b77df457566209fdbf47ed3f62c5d3249b03ec7) ) //BIOS + ROM_LOAD( "m0600_po11.rom", 0x400000, 0x400000, CRC(459ad15f) SHA1(6dda85c32e5472db60551870cb522e9333013b32) ) +ROM_END + +ROM_START( kovsho183 ) //kovytzyce + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po183.rom", 0x100000, 0x400000, CRC(763bc95e) SHA1(8a092e05646fc47aaa9a255c8c6e52acbdeabb88) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw148.asic", 0x000000, 0x04000, CRC(36a4ecc8) SHA1(c1475b56dc5de44c2c9de8717dfe92ebc3221b95) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_pw148.rom", 0x1800000, 0x0800000, CRC(b78d6fbe) SHA1(055c49a8592eee119f1adfc52f0dd9a6c580f34d) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_pw148.rom", 0x0800000, 0x0800000, CRC(92e07517) SHA1(b4a560a82094da41606483230a3050174cdf12e2) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po92.rom", 0x400000, 0x400000, CRC(1f981f2c) SHA1(da3949e38e6ff8e6f84704ac9edff19dab2b8964) ) +ROM_END + +ROM_START( kovsho184 ) //kovytzyws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po184.rom", 0x100000, 0x400000, CRC(4f01a87d) SHA1(dbbc7f28e6bb56050efebc4f879c68119968e7ba) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_pw184.rom", 0x1800000, 0x0800000, CRC(df811b9c) SHA1(4ab8acdd7ccb5192ba4c41fdf20177b89b333d40) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_pw184.rom", 0x0800000, 0x0800000, CRC(aa821799) SHA1(b03ab8971e0656de47b2d4374c3bb1906f8d2dbe) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho185 ) //kovytzyhm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po185.rom", 0x100000, 0x400000, CRC(67902066) SHA1(e6bb48594a790bf892f3067a37a3c3ee4bd2ea1a) ) + ROM_IGNORE( 0x400000 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_pw185.rom", 0x1800000, 0x0800000, CRC(0a7a89a9) SHA1(105753386cd9d15e050cb7460ce75f490a994bf7) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_pw185.rom", 0x0800000, 0x0800000, CRC(2c39cf4e) SHA1(53bf34907f3a3ee926326b88b3a09d816c9e0818) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho186 ) //kovytzyhm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po186.rom", 0x100000, 0x400000, CRC(bfcad6a0) SHA1(aa9e3ac8109388085713614c3b2b88b398922ca9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_pw185.rom", 0x1800000, 0x0800000, CRC(0a7a89a9) SHA1(105753386cd9d15e050cb7460ce75f490a994bf7) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_pw185.rom", 0x0800000, 0x0800000, CRC(2c39cf4e) SHA1(53bf34907f3a3ee926326b88b3a09d816c9e0818) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho187 ) //kovytzywstw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po187.rom", 0x100000, 0x400000, CRC(93a23c94) SHA1(e5668761f865cb5d09f98cd479a1b4f463c37106) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw111.asic", 0x000000, 0x04000, CRC(5aa832c1) SHA1(ccd7c7553050cbd94faf6a70dc1e3bc79bbecafb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_po116.rom", 0x1800000, 0x0800000, CRC(5e8e9406) SHA1(38c13c624087976617f8aef34bde1c3f62f08d21) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po116.rom", 0x0800000, 0x0800000, CRC(da995981) SHA1(9a4207bc5b02bdc6e0adcc3372ffa65fc8a2e99b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po112.rom", 0x400000, 0x400000, CRC(53532587) SHA1(e1562903c6bc6fc278d6ed6448bb715736e6d129) ) +ROM_END + +ROM_START( kovsho188 ) //kovshp1v4x + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po188.rom", 0x100000, 0x200000, CRC(6f2a7954) SHA1(4dc2f28d76d890d7fb0da2b895238d7493ac800e) ) + ROM_LOAD16_WORD_SWAP( "p0601h_101_po188.rom", 0x300000, 0x200000, CRC(02ee468a) SHA1(9ab2db0d31dee0b14ad7ade5324fb0f25bcb3f80) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po14.asic", 0x000000, 0x04000, BAD_DUMP CRC(0d87d4a1) SHA1(bc981c20da426143c5e49d9fadf680b185002dd1) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw111.rom", 0x180000, 0x800000, CRC(de7fdc0c) SHA1(67cf82401d44336ea6b41fb60eb36028d0236a7d) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po128.rom", 0x0000000, 0x2000000, CRC(92444dcd) SHA1(0c10f5d2e6f4a58c647153df535756b08e47e0d9) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po128.rom", 0x0000000, 0x1000000, CRC(5d5d9512) SHA1(212620d0156ce3daed88a62f0cd941d6cad31ee9) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po69.rom", 0x400000, 0x400000, CRC(ec3f335d) SHA1(f81e2238eae4bb5154afa28ff07e69b8f10c5ee2) ) +ROM_END + +ROM_START( kovsho189 ) //kovytzyjb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po189.rom", 0x100000, 0x400000, CRC(9923a5da) SHA1(acd1dc085e6fe0cc15e459695bdbc8e7be37508f) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw117.asic", 0x000000, 0x04000, CRC(9d352b6f) SHA1(9a9737478cc5aed4e60d341569c866854a3fca81) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0600_pw117.rom", 0x180000, 0x800000, CRC(fb5a543a) SHA1(2bdefe367ce3112de38b01be0d860bf7107b42fa) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "a0601_po117.rom", 0x0800000, 0x0800000, CRC(b252c4ba) SHA1(a167a805017d37889e3b2faa03a7daa113836405) ) + ROM_LOAD( "a0602_po117.rom", 0x1000000, 0x0800000, CRC(6a65f8a8) SHA1(039b54c2bef270307235ba9cea05fc48e1c27d6b) ) + ROM_LOAD( "a0540_po189.rom", 0x1800000, 0x0800000, CRC(062d2e1b) SHA1(daeea0860ea90ebe4c1b7a480355a45eac0cc800) ) + ROM_LOAD( "a0541_po11.rom", 0x2000000, 0x0800000, CRC(a723f320) SHA1(b4d4576d0748e9d40a81c0ccabd2d7ee46cf999d) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_po189.rom", 0x0800000, 0x0800000, CRC(84e09be5) SHA1(207ad7d85f743d61b31d3c8f6a676f69478fd927) ) + + ROM_REGION( 0x800041, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po117.rom", 0x400000, 0x400041, CRC(858ab94e) SHA1(9674110a943dd2cd0408a4cdeb0b08b9e6f3ce9f) ) +ROM_END + +ROM_START( kovsho190 ) //kovytzyftxq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po190.rom", 0x100000, 0x400000, CRC(b2e375cb) SHA1(4a2f272eadbdff7a04d2f4ff98ed4a4731d7c651) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw148.asic", 0x000000, 0x04000, CRC(36a4ecc8) SHA1(c1475b56dc5de44c2c9de8717dfe92ebc3221b95) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "a0602_po112.rom", 0x1000000, 0x0800000, CRC(f25b6930) SHA1(b29bf150ba7cee93a345cbf931ae108628d3bd83) ) + ROM_LOAD( "a0540_pw190.rom", 0x1800000, 0x0800000, CRC(0acdd7f2) SHA1(382649c6798195527cf96768e7df12f931b29d7e) ) + + ROM_REGION16_LE( 0x2000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0540_pw190.rom", 0x0800000, 0x0800000, CRC(767bf47a) SHA1(15d2ce1a720d52e2c01e32771f0d7e0300a5a360) ) + ROM_LOAD( "pgm_b0601.u8", 0x1000000, 0x0400000, CRC(a0bb1c2f) SHA1(0542348c6e27779e0a98de16f04f9c18158f2b28) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0600_po92.rom", 0x400000, 0x400000, CRC(1f981f2c) SHA1(da3949e38e6ff8e6f84704ac9edff19dab2b8964) ) +ROM_END + +ROM_START( kovsho191 ) //kovshpsjb + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po191.rom", 0x100000, 0x400000, CRC(e9163584) SHA1(79329c69f2e8dbe21257baec32103695f98cc51c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_pw149.asic", 0x000000, 0x04000, BAD_DUMP CRC(aba16d49) SHA1(8c160541f74daf446f8094c3ba42489322c9ee74) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "igs_a05401w064.u8", 0x1800000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "igs_b05401w064.u11", 0x0800000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho192 ) //kovshpzysj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600h_101_po192.rom", 0x100000, 0x400000, CRC(7ca354f2) SHA1(c3d0ab6dcf995eb70071beb9543277253e026afd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0600_po192.rom", 0x0000000, 0x2000000, CRC(89f03a27) SHA1(9bbad8931dab5b33e56b86a921edb470110b0ce7) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0600_po192.rom", 0x0000000, 0x1000000, CRC(763e6cdf) SHA1(e1fed6ac07ce54541488a32a140c6dadd00bf724) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + + /************ + Aoshi Sanguo +**************/ + +ROM_START( kovsho193 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "de_p0609_pl01.322", 0x100000, 0x400000, CRC(ceeb8786) SHA1(d28b4119d2690b346519d3daf6999ca1880797a3) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china_po16.asic", 0x000000, 0x04000, BAD_DUMP CRC(675a51ba) SHA1(3831e9c4bf089e236a6f42be17a14f5c92de5ded) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603xas_pl01.rom", 0x1800000, 0x0800000, CRC(544eddd2) SHA1(f79334cc6c7b883e25a68c1d13eef1f9d3a24a58) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601xas_pl01.rom", 0x0800000, 0x0800000, CRC(77e77426) SHA1(cbf29e48b000ffe84d525380cb0f19163790723f) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho194 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0600.sh4", 0x100000, 0x400000, CRC(739a92ca) SHA1(69387dfbc5015c3cb43283a189b49ae05f93f3fd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603xas.rom", 0x1800000, 0x0800000, CRC(7057b37e) SHA1(85a19f23303b4d581c4fa315b2c204af92fcb424) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601xas.rom", 0x0800000, 0x0800000, CRC(3784fb49) SHA1(7e85fe5b5fb8746f1321c03ad2350d2a58969d7a) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho195 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "de_p0609_pl03.322", 0x100000, 0x400000, CRC(bbc48e4c) SHA1(14ffd1148a213abdf216038daa2d274dd6783fa5) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603xas_pl03.rom", 0x1800000, 0x0800000, CRC(a5f8332b) SHA1(6b7e5a9225dcfb2c31f49c94ace24dbf06cf88a2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601xas_pl03.rom", 0x0800000, 0x0800000, CRC(188406ee) SHA1(45ec6b36d48aa143ad6a0913704c7eda08572f2b) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + +ROM_START( kovsho196 ) //kovshxas + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "de_p0609_pl04.322", 0x100000, 0x400000, CRC(86f9ead0) SHA1(9c1b35325ee2d4e293db04c1cda40c31458225d9) ) + ROM_IGNORE( 0x54F52 ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "kovsh_v100_china.asic", 0x000000, 0x04000, BAD_DUMP CRC(0f09a5c1) SHA1(621b38c05f33277608d58b49822aebc930ae4870) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0600.u2", 0x180000, 0x800000, CRC(4acc1ad6) SHA1(0668dbd5e856c2406910c6b7382548b37c631780) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0600.u3", 0x0000000, 0x0800000, CRC(d8167834) SHA1(fa55a99629d03b2ea253392352f70d2c8639a991) ) + ROM_LOAD( "pgm_a0601.u4", 0x0800000, 0x0800000, CRC(ff7a4373) SHA1(7def9fca7513ad5a117da230bebd2e3c78679041) ) + ROM_LOAD( "pgm_a0602.u6", 0x1000000, 0x0800000, CRC(e7a32959) SHA1(3d0ed684dc5b269238890836b2ce7ef46aa5265b) ) + ROM_LOAD( "a0603xas.rom", 0x1800000, 0x0800000, CRC(7057b37e) SHA1(85a19f23303b4d581c4fa315b2c204af92fcb424) ) + //ROM_LOAD( "igs_a05401w064.u8", 0x2000000, 0x0800000, CRC(4fd3413e) SHA1(5e8f3e421342bf558c77e59635f9b5d713e825c2) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0600.u9", 0x0000000, 0x0800000, CRC(7d3cd059) SHA1(00cf994b63337e0e4ebe96453daf45f24192af1c) ) + ROM_LOAD( "b0601xas.rom", 0x0800000, 0x0800000, CRC(3784fb49) SHA1(7e85fe5b5fb8746f1321c03ad2350d2a58969d7a) ) + //ROM_LOAD( "igs_b05401w064.u11", 0x1000000, 0x0800000, CRC(60999757) SHA1(118cf058e67858958bcb931e14f5d160c7de87cc) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0600.u5", 0x400000, 0x400000, CRC(3ada4fd6) SHA1(4c87adb25d31cbd41f04fbffe31f7bc37173da76) ) +ROM_END + + /*************** + Martial Masters +******************/ + +ROM_START( martmasts01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v104_32m_ps01.u9", 0x100000, 0x400000, CRC(c8b39568) SHA1(f377a3ba3461f2b84f3acf8febf98707a7f2a62b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "martial_masters_v101_cn.asic", 0x000000, 0x04000, CRC(b3e25b7d) SHA1(6147d7ee2e11636521df1bb96ed5da8ad21b2a57) ) // not verified, could be bad + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_16m.u10", 0x000000, 0x200000, CRC(18b745e6) SHA1(7bcb58dd3a2d6072f492cf0dd7181cb061c1f49d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + +ROM_START( martmasts02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v104_32m_ps02.u9", 0x100000, 0x400000, CRC(5f51a4e5) SHA1(8e3ae6f70699912572e6f3d0e1ba7f9d80b5d656) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "martial_masters_v101_cn.asic", 0x000000, 0x04000, CRC(b3e25b7d) SHA1(6147d7ee2e11636521df1bb96ed5da8ad21b2a57) ) // not verified, could be bad + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_16m.u10", 0x000000, 0x200000, CRC(18b745e6) SHA1(7bcb58dd3a2d6072f492cf0dd7181cb061c1f49d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + +ROM_START( martmasts03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v104_32m_ps03.u9", 0x100000, 0x400000, CRC(39010ca0) SHA1(51cc7b57b4670a5ac77f019c2b652e63fbaab9c4) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "martial_masters_v101_cn.asic", 0x000000, 0x04000, CRC(b3e25b7d) SHA1(6147d7ee2e11636521df1bb96ed5da8ad21b2a57) ) // not verified, could be bad + + ROM_REGION32_LE( 0x400000, "user1", 0 ) + ROM_LOAD( "v102_16m.u10", 0x000000, 0x200000, CRC(18b745e6) SHA1(7bcb58dd3a2d6072f492cf0dd7181cb061c1f49d) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t1000.u3", 0x180000, 0x800000, CRC(bbf879b5) SHA1(bd9a6aea34ad4001e89e62ff4b7a2292eb833c00) ) + + ROM_REGION16_LE( 0x4000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a1000.u3", 0x0000000, 0x0800000, CRC(43577ac8) SHA1(6eea8b455985d5bac74dcc9943cdc3c0902de6cc) ) + ROM_LOAD( "pgm_a1001.u4", 0x0800000, 0x0800000, CRC(fe7a476f) SHA1(a8c7f1f0dd3e53141aed6d927eb88a3ceebb81e4) ) + ROM_LOAD( "pgm_a1002.u6", 0x1000000, 0x0800000, CRC(62e33d38) SHA1(96163d583e25073594f8413ce263e56b66bd69a1) ) + ROM_LOAD( "pgm_a1003.u8", 0x1800000, 0x0800000, CRC(b2c4945a) SHA1(7b18287a2db56db3651cfd4deb607af53522fefd) ) + ROM_LOAD( "pgm_a1004.u10", 0x2000000, 0x0400000, CRC(9fd3f5fd) SHA1(057531f91062be51589c6cf8f4170089b9be6380) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b1000.u9", 0x0000000, 0x0800000, CRC(c5961f6f) SHA1(a68060b10edbd084cbde79d2ed1c9084777beb10) ) + ROM_LOAD( "pgm_b1001.u11", 0x0800000, 0x0800000, CRC(0b7e1c06) SHA1(545e15e0087f8621d593fecd8b4013f7ca311686) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m1000.u5", 0x400000, 0x800000, CRC(ed407ae8) SHA1(a6e9c09b39c13e8fb7fbc89fa9f823cbeb66e901) ) + ROM_LOAD( "pgm_m1001.u7", 0xc00000, 0x400000, CRC(662d2d48) SHA1(2fcc3099d9c04456cae3b13035fb28eaf709e7d8) ) +ROM_END + + /*********************** + Oriental Legend Special +**************************/ + +ROM_START( olds01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_BYTE( "v100-u2_ph01.040", 0x100001, 0x080000, CRC(efcac4c1) SHA1(d9d4b8f6c1b53d675539c38217a7918e95ab448f) ) + ROM_LOAD16_BYTE( "v100-u3.040", 0x100000, 0x080000, CRC(d0e2b741) SHA1(2e671dbb4320d1f0c059b35efd33cdea26f12131) ) + ROM_LOAD16_BYTE( "v100-u4.040", 0x200001, 0x080000, CRC(32a6bdbd) SHA1(a93d7f4eae722a58eca9ec351ad5890cefda56f0) ) + ROM_LOAD16_BYTE( "v100-u5.040", 0x200000, 0x080000, CRC(b4a1cafb) SHA1(b2fccd480ede93f58ad043387b18b898152f06ef) ) + ROM_LOAD16_WORD_SWAP( "v100-u1.040", 0x300000, 0x080000, CRC(37ea4e75) SHA1(a94fcb89da3394a43d360f885419677f511d2580) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0x010000, "user1", 0 ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah01.v10", 0x100000, 0x400000, CRC(f9133fbe) SHA1(6cc801ead9d26b9c5d9921c5500f8848b7188be8) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah01.rom", 0x180000, 0x400000, CRC(cbda06e1) SHA1(b93350d299772f9faecc508104d28fd7957b7ede) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah03.v10", 0x100000, 0x400000, CRC(98c26fce) SHA1(5372f81b7075f4b8cc5ab4149dd47e5e6035ca95) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah04.v10", 0x100000, 0x400000, CRC(fcb51cc0) SHA1(6d12887f0eaade302f3a2b14cf343a8600c2d557) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah05.v10", 0x100000, 0x400000, CRC(8ea3ff5a) SHA1(d416e109579264ad6c7cb38226e65f4901619dad) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds06 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah06.v10", 0x100000, 0x400000, CRC(cdce5db9) SHA1(db1ee341141b933e2969f201bc478726c908c0fd) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah07.v10", 0x100000, 0x400000, CRC(0c6cdb8a) SHA1(a7f293fb7e487ba0d08f5cb5560f81bb807ce996) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah08.v10", 0x100000, 0x400000, CRC(07f923b7) SHA1(5ea09660ae2a43da8e6f351374ffcce9fcb4a712) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds09 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah09.v10", 0x100000, 0x400000, CRC(b81621c0) SHA1(d4c12092ac15251fdfb0fcfc0e4ae244291bb9a2) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah09.rom", 0x180000, 0x400000, CRC(06abbb6d) SHA1(8c40c0031cb7dcfc08ef1b36e8759903207262da) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah09.rom", 0x1800000, 0x400000, CRC(4f1d3295) SHA1(c8c64266a327d450995c4b3b2c6b8f0145526097) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah09.u16", 0x0c00000, 0x400000, CRC(35f396a8) SHA1(2c28f63a207429534651e385fb441faa3e26cf4e) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds10 ) //oldsl, Xiyou Shi E Chuan Super + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_po01.v103",0x100000, 0x400000, CRC(64dc8f38) SHA1(6be1377ae6a837a93e22ba39c5132a9bf05f114e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah11.v10", 0x100000, 0x400000, CRC(e174df54) SHA1(97a57ccec72898f62e0262e5e99f2efea8a49618) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds12 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah12.v10", 0x100000, 0x400000, CRC(405c6608) SHA1(9057df66f11955b5600cda5a4f4ed07ff9f685d5) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds13 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah13.v10", 0x100000, 0x400000, CRC(fec010af) SHA1(2dac21b7641efab72d7047a7beabda81ff721fb1) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds14 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah14.v10", 0x100000, 0x400000, CRC(17f2df39) SHA1(6f742483e0a68ce6496fe75991edcd4e7c79e3c2) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds15 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah15.v10", 0x100000, 0x400000, CRC(cd2c37c2) SHA1(69bfe886a791c51e6c870ffc603f6590aba18d01) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds16 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah16.v10", 0x100000, 0x400000, CRC(b7fbed70) SHA1(f4ad389f0f14ec8c1c3d73a564e98813a2d332fb) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds17 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah17.v10", 0x100000, 0x400000, CRC(04cd2385) SHA1(a6e89fa505122c1a4991a28a80987951634637ab) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds18 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah18.v10", 0x100000, 0x400000, CRC(e610b340) SHA1(375dfa36d5f59a5e9424a07970a099e9ea0f6906) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds19 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah19.v10", 0x100000, 0x400000, CRC(4300d254) SHA1(405c8cd2e7ffcebda544784b87175d2a91018dc8) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds20 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah20.v10", 0x100000, 0x400000, CRC(754c3fbf) SHA1(a765501b933c11b58f51051737da7b60fc982ddd) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds22 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah22.v10", 0x100000, 0x400000, CRC(b9819a6f) SHA1(1f5dee7b8387a421b1d506afce50d94c28eb202a) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds23 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah23.v10", 0x100000, 0x400000, CRC(f5073d22) SHA1(f3abe1370449a5208000d5c843a554894fe69527) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds25 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah25.v10", 0x100000, 0x400000, CRC(9bf146eb) SHA1(d5d768d661be399877e9fa1afaca552bd324f87b) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds26 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah26.v10", 0x100000, 0x400000, CRC(edd6ca48) SHA1(ac13bf326599b52ac7316f5557e6c88fa7b53110) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds27 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah27.v10", 0x100000, 0x400000, CRC(adc0df6f) SHA1(8d603e90ab361d3d4f230150c0897fba5954a590) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah27.rom", 0x180000, 0x400000, CRC(090f1697) SHA1(6a9696beb8b838de1566bdb9e195235ff4eb5cd4) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah27.rom", 0x0000000, 0x400000, CRC(bbc06d42) SHA1(09399a556327bd93035654c7e2e51ccd8f352358) ) + ROM_LOAD( "a0501_ah27.rom", 0x0400000, 0x400000, CRC(f0b6af8a) SHA1(2872ca14c7e03af32b4420e9dd3f74cc2f616b17) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "a0505_ah27.rom", 0x1400000, 0x400000, CRC(9d378b0c) SHA1(228f8ac3cb3486faa8721d54be74ef1d603b0983) ) + ROM_LOAD( "a0506_ah27.rom", 0x1800000, 0x400000, CRC(e2dace7d) SHA1(374640a3faf5c824944b7a495d37a59afb7bcb70) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah27.rom", 0x0000000, 0x400000, CRC(1b68c121) SHA1(323fc40cbf3556e7f9fda65059aee5fc1d1b6065) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "b0502_ah27.rom", 0x0800000, 0x400000, CRC(6b22373b) SHA1(004f266e3525320899e8b87cde530f964081e4ae) ) + ROM_LOAD( "b0503_ah27.u16", 0x0c00000, 0x400000, CRC(cb813cab) SHA1(970f074755114fd219091ae86dcb3590aa583e01) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah27.rom", 0x400000, 0x200000, CRC(5a462366) SHA1(e7a6cf66dfc9e822c799e78fbba08a910f50c504) ) +ROM_END + +ROM_START( olds28 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah28.v10", 0x100000, 0x400000, CRC(1f63e7c9) SHA1(cbf0eda5955764cedcec33f576a624a03c94de48) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds32 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah32.v10", 0x100000, 0x400000, CRC(119dcb89) SHA1(19618ea167eab9cbabd0343a166a2b6ce060deda) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds33 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah33.v10", 0x100000, 0x400000, CRC(e6018a06) SHA1(9ae81254be1ced85dba6f8d0e866d0946d4a4785) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds34 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah34.v10", 0x100000, 0x400000, CRC(343a74c3) SHA1(7e41e478c7fb078412417a31fe352b25ecf7e321) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds35 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah35.v10", 0x100000, 0x400000, CRC(74ed447d) SHA1(d8334c633361742c6e333e14af0fada8912faf68) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds36 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah36.v10", 0x100000, 0x400000, CRC(2114e061) SHA1(c067d09a4c9eb3af7344d17ef08136123ed416de) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds37 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah37.v10", 0x100000, 0x400000, CRC(618ddd99) SHA1(115d1fbaadffa3116d999adfa71a1e5e52412e66) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds41 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah41.v10", 0x100000, 0x400000, CRC(173dbbe1) SHA1(12e627c5fe51af587f1e0f5c7dfde13dc63b746a) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds42 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah42.v10", 0x100000, 0x400000, CRC(d65a13df) SHA1(212e1ffe375f2a7e95611fbcad90ee9b91b69107) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds43 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah43.v10", 0x100000, 0x400000, CRC(cdd92c41) SHA1(9d3da588056e4ee19c680363b384b3e8fc9d1ffc) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds50 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah50.v10", 0x100000, 0x400000, CRC(746834bd) SHA1(59390a3a8f997bd9abf52a3fefad8a5721556e72) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah50.rom", 0x0000000, 0x400000, CRC(06c4eaab) SHA1(0e835c79246cf66ede3233e84d3b8a91259b1438) ) + ROM_LOAD( "a0501_ah50.rom", 0x0400000, 0x400000, CRC(c352d1c0) SHA1(1f44ae8ab64d5b764a61480e8fcdbdc75d98d7aa) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah50.rom", 0x0000000, 0x400000, CRC(82c97490) SHA1(3c0b414001bed4469a650d9917dd2928936ec4c2) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah50.rom", 0x400000, 0x200000, CRC(cd569b41) SHA1(442fa9ec67bd669b0c8bd259c53a5b8a09e9ab5f) ) +ROM_END + +ROM_START( olds51 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah51.v10", 0x100000, 0x400000, CRC(a3db49f1) SHA1(952cce122fbd92e8ef650984cd28ac25688621b9) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x40000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump_ah128", 0x000000, 0x40000, CRC(619cc52d) SHA1(f249a0b58c8790a42d042ad09eb28d8d4eeb20eb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah51.rom", 0x180000, 0x400000, CRC(4d8063e6) SHA1(2be2fbf50abf11348d6e03c2500b87857d83b124) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah51.rom", 0x0000000, 0x400000, CRC(4d0c685f) SHA1(8fa33b5d18a0e96cc645a5d891997cac8ff3d194) ) + ROM_LOAD( "a0501_ah50.rom", 0x0400000, 0x400000, CRC(c352d1c0) SHA1(1f44ae8ab64d5b764a61480e8fcdbdc75d98d7aa) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah51.rom", 0x1800000, 0x400000, CRC(212f9bec) SHA1(87c144e893e1a84370519df7aeeb23c0a0fe3dec) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah51.rom", 0x0000000, 0x400000, CRC(2c617c9d) SHA1(38df6857c2de885abf3ffd64496fbc115e4c759b) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah51.u16", 0x0c00000, 0x400000, CRC(c5beb6f8) SHA1(0d6eb085b1fe38c1842edc189fe5a3786c23b8a8) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah50.rom", 0x400000, 0x200000, CRC(cd569b41) SHA1(442fa9ec67bd669b0c8bd259c53a5b8a09e9ab5f) ) +ROM_END + +ROM_START( olds52 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah52.v10", 0x100000, 0x400000, CRC(a02bf3c3) SHA1(23c76c9226fb571b13b58cf0c228b1ea584c3adb) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x40000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump_ah128", 0x000000, 0x40000, CRC(619cc52d) SHA1(f249a0b58c8790a42d042ad09eb28d8d4eeb20eb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah52.rom", 0x0000000, 0x400000, CRC(292202eb) SHA1(8b8d51515b7eedcc9d1e03e0bf50af01450e9d71) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah52.rom", 0x0000000, 0x400000, CRC(b7eb219f) SHA1(06923215030b4e4640eebf9ffff6a7b43965de45) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah52.rom", 0x400000, 0x200000, CRC(cf5ffc59) SHA1(1c76101afc3e44d189c890cd52e5d905975a2e53) ) +ROM_END + +ROM_START( olds56 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah56.v10", 0x100000, 0x400000, CRC(a6e54509) SHA1(7e043ca4173fdb11a2aa81f8f8f578eca968d458) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds57 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah57.v10", 0x100000, 0x400000, CRC(3272f820) SHA1(c108ba5346901877eef6e1bb47e5efcae74ae159) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds58 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah58.v10", 0x100000, 0x400000, CRC(9e356f8b) SHA1(524bc7956381f9be973be259420483d4a5f941bf) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds59 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah59.v10", 0x100000, 0x400000, CRC(571efee3) SHA1(fc4a69bc092d1a50113286adbb499e57b8e9b914) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds62 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah62.v10", 0x100000, 0x400000, CRC(36c079d3) SHA1(dd460fc8dd84a89dafda26c28de26568d13af1aa) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah27.rom", 0x180000, 0x400000, CRC(090f1697) SHA1(6a9696beb8b838de1566bdb9e195235ff4eb5cd4) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah27.rom", 0x0000000, 0x400000, CRC(bbc06d42) SHA1(09399a556327bd93035654c7e2e51ccd8f352358) ) + ROM_LOAD( "a0501_ah27.rom", 0x0400000, 0x400000, CRC(f0b6af8a) SHA1(2872ca14c7e03af32b4420e9dd3f74cc2f616b17) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "a0505_ah27.rom", 0x1400000, 0x400000, CRC(9d378b0c) SHA1(228f8ac3cb3486faa8721d54be74ef1d603b0983) ) + ROM_LOAD( "a0506_ah27.rom", 0x1800000, 0x400000, CRC(e2dace7d) SHA1(374640a3faf5c824944b7a495d37a59afb7bcb70) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah27.rom", 0x0000000, 0x400000, CRC(1b68c121) SHA1(323fc40cbf3556e7f9fda65059aee5fc1d1b6065) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "b0502_ah27.rom", 0x0800000, 0x400000, CRC(6b22373b) SHA1(004f266e3525320899e8b87cde530f964081e4ae) ) + ROM_LOAD( "b0503_ah27.u16", 0x0c00000, 0x400000, CRC(cb813cab) SHA1(970f074755114fd219091ae86dcb3590aa583e01) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah27.rom", 0x400000, 0x200000, CRC(5a462366) SHA1(e7a6cf66dfc9e822c799e78fbba08a910f50c504) ) +ROM_END + +ROM_START( olds63 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah63.v10", 0x100000, 0x400000, CRC(d001979c) SHA1(732b1028e6254a852544247888964fa99b732f3a) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah63.rom", 0x180000, 0x400000, CRC(502b4044) SHA1(fcb96d4960e09906fe27a7c668885ee28b65e2ef) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah63.rom", 0x0000000, 0x400000, CRC(d6008de3) SHA1(5d306ba738441d26956084ecf1de09c23b2d988c) ) + ROM_LOAD( "a0501_ah63.rom", 0x0400000, 0x400000, CRC(b6266e02) SHA1(d8ffc5ca209fa08165e84d11c5e2f1028ee14616) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah63.rom", 0x1800000, 0x400000, CRC(1539faa1) SHA1(7d9615c16ad0282640ebb1035fce0e887f0707f6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah63.rom", 0x0000000, 0x400000, CRC(d3b2d80d) SHA1(32eef56c4785b04b74dcf1aa813e153bc1dba060) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah63.u16", 0x0c00000, 0x400000, CRC(7d777b31) SHA1(3621b9a6767cfa5a899dbd441565e09b4ef13204) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds64 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah64.v10", 0x100000, 0x400000, CRC(312181b9) SHA1(9f1dcab2b60fea6b377df695d260743a07ae5bec) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + //ROM_LOAD( "t0500_ah64.rom", 0x180000, 0x400000, CRC(d6e659d2) SHA1(5161b6462ecb6192c7e5494ce63bc962fce01844) ) + ROM_LOAD( "t0500_ahs64.rom", 0x180000, 0x400000, CRC(8389d89b) SHA1(9e147b5cd3ae412356906975073f045788d76d6b) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah64.rom", 0x0000000, 0x400000, CRC(3bd1f686) SHA1(44924f2fede3f539fe7b61a88beda62c21bac0f1) ) + ROM_LOAD( "a0501_ah64.rom", 0x0400000, 0x400000, CRC(66761144) SHA1(a371c765886067c8d75202438172ca81dc6db96d) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah64.rom", 0x1800000, 0x400000, CRC(cdc61ba7) SHA1(2f3c52d2ba801780ad5c94b76000d885a136ac3e) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah64.rom", 0x0000000, 0x400000, CRC(37efad3a) SHA1(48a552d7a5ef45d4a44cfc848b4b6da1a99f2a48) ) + ROM_LOAD( "b0501_ah64.rom", 0x0400000, 0x400000, CRC(e79b47bf) SHA1(588af08a8ebeab2ff202cdf289b7b8fd35976655) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah64.u16", 0x0c00000, 0x400000, CRC(83d3f7b4) SHA1(33dc746ea3e415424e69f966e881808109475aa7) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds65 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah65.v10", 0x100000, 0x400000, CRC(8d9b5763) SHA1(e9aa1f82bb6ea6a529338a71a96ecac208637d5d) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds66 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah66.v10", 0x100000, 0x400000, CRC(84a61162) SHA1(82e3597e1ca8736d8435221b17c0a46929adcd2e) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah66.rom", 0x180000, 0x400000, CRC(78cb3c1f) SHA1(ae04e1e508015f4bb5c35c053dfc76627de0c523) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah66.rom", 0x0000000, 0x400000, CRC(f4cc4b57) SHA1(b3877e2cd03ddaabee6302b0b19dd7db75174a63) ) + ROM_LOAD( "a0501_ah66.rom", 0x0400000, 0x400000, CRC(6957bbe6) SHA1(871a76f66b12ee7dd00346045ef68ca4ddc44cc0) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah66.rom", 0x0000000, 0x400000, CRC(28c48da5) SHA1(433ec883b5501ed45c43c4fdeef9d5fda3f510d8) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds67 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah67.v10", 0x100000, 0x400000, CRC(4f056900) SHA1(2e30dab6d017d156a3aa1910e3422b46d29639be) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah67.rom", 0x180000, 0x400000, CRC(bfdb2172) SHA1(fe7ca4eeb097a442b4ad283e416e6e0aff397955) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds68 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah68.v10", 0x100000, 0x400000, CRC(e8233797) SHA1(e9827760944b76db5589cf3f7ab464f916f6fcfd) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah68.rom", 0x180000, 0x400000, CRC(66370b17) SHA1(2df3bebf8f040afe7b24a9d334af2d1445a5e098) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah68.rom", 0x0000000, 0x400000, CRC(60c8d643) SHA1(65f46f1463ab6ae5d07b986a95856ce99c4b284d) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah68.rom", 0x0000000, 0x400000, CRC(6b38b24a) SHA1(d6a328f32f57e10476ffd07951b1b2fa6f52fcc6) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds69 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah69.v10", 0x100000, 0x400000, CRC(d56475e6) SHA1(a31cb41239393af9f7c772666299898b659df1c5) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds71 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah71.v10", 0x100000, 0x400000, CRC(d6ec0f63) SHA1(174868ee9573bbd6d47562799913ab238a5e3c5b) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds73 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah73.v10", 0x100000, 0x400000, CRC(efd59c5e) SHA1(3d86bd7ebe41d1dfbef707dc9d656d47b1a8f29c) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah73.rom", 0x0000000, 0x400000, CRC(934284ca) SHA1(b54aaef0cdc92aaa77eb11286f2ba69ca9809bf6) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah73.rom", 0x0000000, 0x400000, CRC(0ad692b4) SHA1(087e4a33b991efeb5d064324adfafdb82f8556ce) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds74 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah74.v10", 0x100000, 0x400000, CRC(9db3d051) SHA1(b6e41144c21d3a6ce21e81cfcb39b4858b7a174a) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah74.rom", 0x180000, 0x400000, CRC(2cbe64d2) SHA1(f9d8ff9cec9f5aea63880f463255c742719ac692) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds75 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah75.v10", 0x100000, 0x400000, CRC(c45eeb67) SHA1(fd887111d459fdd95998a1bc454c623ee73e6aed) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds76 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah76.v10", 0x100000, 0x400000, CRC(9aed69d9) SHA1(1872802360217e50235e622d55ccc0e6e1f3f23f) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds77 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah77.v10", 0x100000, 0x400000, CRC(c7e05174) SHA1(a078fe7bd8e19d18a78ae621687d9bff28796a05) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds78 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah78.v10", 0x100000, 0x400000, CRC(db744735) SHA1(514f8dc2b256e4aacab0ba9ce3cdc9a5ef1f5565) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds79 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah79.v10", 0x100000, 0x400000, CRC(0395338e) SHA1(cfc78cd3c7efe9bafc5d21b822f9c085a3cb8edf) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds80 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah80.v10", 0x100000, 0x400000, CRC(93cc6fcf) SHA1(23c27a6ea91d0fc07f5cf050ab880c3106c217a5) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds81 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah81.v10", 0x100000, 0x400000, CRC(03dd5d6c) SHA1(eb6ea65f1405071d2d6dafe6c4b1e7472a5eb3b3) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds82 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah82.v10", 0x100000, 0x400000, CRC(cff68de7) SHA1(84912e5d3b1036cefa634e94e5c7a7bd3bc63de7) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds83 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah83.v10", 0x100000, 0x400000, CRC(821b0b78) SHA1(6b275c2f05ffa2c33841fa6706b65634ae95e0a8) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds84 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah84.v10", 0x100000, 0x400000, CRC(002df4d2) SHA1(df84722d8373ea3e998ea69d5158855ffd06a68e) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds85 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah85.v10", 0x100000, 0x400000, CRC(b7997b62) SHA1(63c521c9b4948d5330a1c5816e17de615b06b755) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds86 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah86.v10", 0x100000, 0x400000, CRC(ee363849) SHA1(e061da66260d28e183d5578f49e4baafe69c4508) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds87 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah87.v10", 0x100000, 0x400000, CRC(f8ab1e69) SHA1(5ce6a009e2ded29edb847289cc33223096ed5201) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds88 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah88.v10", 0x100000, 0x400000, CRC(47e43f30) SHA1(caa546a0e283630b25ab56d8e6e249f8335a21f2) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds89 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah89.v10", 0x100000, 0x400000, CRC(ba7e17cb) SHA1(26459484a215c9f7116a4e4637d249a2523c2cd9) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds91 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah91.v10", 0x100000, 0x400000, CRC(f2f65d45) SHA1(d2e2cf0c649bfa925102a42f4afdb9b080d76583) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds101 ) //oldskof + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah101.v10", 0x100000, 0x400000, CRC(da40ae72) SHA1(0c5fe59799e931f49c3f3f000485f9cf7bf7b0af) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah66.rom", 0x180000, 0x400000, CRC(78cb3c1f) SHA1(ae04e1e508015f4bb5c35c053dfc76627de0c523) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah66.rom", 0x0000000, 0x400000, CRC(f4cc4b57) SHA1(b3877e2cd03ddaabee6302b0b19dd7db75174a63) ) + ROM_LOAD( "a0501_ah66.rom", 0x0400000, 0x400000, CRC(6957bbe6) SHA1(871a76f66b12ee7dd00346045ef68ca4ddc44cc0) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah66.rom", 0x0000000, 0x400000, CRC(28c48da5) SHA1(433ec883b5501ed45c43c4fdeef9d5fda3f510d8) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds113 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah113.v10", 0x100000, 0x400000, CRC(39c8843d) SHA1(4f7a706e3e94cff1a43a48e470e2667a0faf0815) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds114 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah114.v10", 0x100000, 0x400000, CRC(b3a83417) SHA1(36e9c6ab416708d02dd10df41ab66ae3f2bf8d61) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds115 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah115.v10", 0x100000, 0x400000, CRC(3ffb13c7) SHA1(27c0282e60d227fc7cba26026adb1a027c6ab1f6) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds122 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah122.v10", 0x100000, 0x400000, CRC(13e4b9fa) SHA1(27bd0efc602eed262753dd79fdec3ce60ad27c27) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah51.rom", 0x180000, 0x400000, CRC(4d8063e6) SHA1(2be2fbf50abf11348d6e03c2500b87857d83b124) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah51.rom", 0x0000000, 0x400000, CRC(4d0c685f) SHA1(8fa33b5d18a0e96cc645a5d891997cac8ff3d194) ) + ROM_LOAD( "a0501_ah50.rom", 0x0400000, 0x400000, CRC(c352d1c0) SHA1(1f44ae8ab64d5b764a61480e8fcdbdc75d98d7aa) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah51.rom", 0x1800000, 0x400000, CRC(212f9bec) SHA1(87c144e893e1a84370519df7aeeb23c0a0fe3dec) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah51.rom", 0x0000000, 0x400000, CRC(2c617c9d) SHA1(38df6857c2de885abf3ffd64496fbc115e4c759b) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah51.u16", 0x0c00000, 0x400000, CRC(c5beb6f8) SHA1(0d6eb085b1fe38c1842edc189fe5a3786c23b8a8) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah50.rom", 0x400000, 0x200000, CRC(cd569b41) SHA1(442fa9ec67bd669b0c8bd259c53a5b8a09e9ab5f) ) +ROM_END + +ROM_START( olds123 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah123.v10", 0x100000, 0x400000, CRC(86aa9332) SHA1(036cf2d3fbe0354fd5b052f57b8f1f520a7cca27) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds124 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah124.v10", 0x100000, 0x400000, CRC(95bebd77) SHA1(a283eb8932eeae9b851849ca825879a56348b2d1) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds125 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah125.v10", 0x100000, 0x400000, CRC(47ce8562) SHA1(8465ef44f027d9e017a59d33990be6da17098997) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah125.rom", 0x180000, 0x400000, CRC(1a8e3cec) SHA1(60f2b84762893826dff93a72c28547995c69bcc7) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "a0501_ah63.rom", 0x0400000, 0x400000, CRC(b6266e02) SHA1(d8ffc5ca209fa08165e84d11c5e2f1028ee14616) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah125.rom", 0x1800000, 0x400000, CRC(69adc397) SHA1(ec44f4d1494c1128706636284196ae0b6016f789) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah63.rom", 0x0000000, 0x400000, CRC(d3b2d80d) SHA1(32eef56c4785b04b74dcf1aa813e153bc1dba060) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah126.u16", 0x0c00000, 0x400000, CRC(b9569fb9) SHA1(3311e15e41537af1eed23cad62c0e42ec9de3e7e) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah125.rom", 0x400000, 0x200000, CRC(256f2e79) SHA1(ba1ccadf85ce6ed7c8de1c112ba87385683239ad) ) +ROM_END + +ROM_START( olds126 ) //olds100ahm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah126.v10", 0x100000, 0x400000, CRC(42a2157f) SHA1(bb906c569eb710006e3d37ec34c7a851ffaf3226) ) + ROM_IGNORE( 0x54F47 ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds127 ) //olds100anmw + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah127.v10", 0x100000, 0x400000, CRC(5fee2c3f) SHA1(274e412f9ddc5e220fce167163ea8c9aa8c32305) ) + ROM_IGNORE( 0x54F48 ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds128 ) //olds100a2009 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah128.v10", 0x100000, 0x400000, CRC(9f6865cd) SHA1(48c029865896206e6afd9dc78809b7187a2399a3) ) + ROM_IGNORE( 0x54F47 ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x40000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump_ah128", 0x000000, 0x40000, CRC(619cc52d) SHA1(f249a0b58c8790a42d042ad09eb28d8d4eeb20eb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah63.rom", 0x180000, 0x400000, CRC(502b4044) SHA1(fcb96d4960e09906fe27a7c668885ee28b65e2ef) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah63.rom", 0x0000000, 0x400000, CRC(d6008de3) SHA1(5d306ba738441d26956084ecf1de09c23b2d988c) ) + ROM_LOAD( "a0501_ah63.rom", 0x0400000, 0x400000, CRC(b6266e02) SHA1(d8ffc5ca209fa08165e84d11c5e2f1028ee14616) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah63.rom", 0x1800000, 0x400000, CRC(1539faa1) SHA1(7d9615c16ad0282640ebb1035fce0e887f0707f6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah63.rom", 0x0000000, 0x400000, CRC(d3b2d80d) SHA1(32eef56c4785b04b74dcf1aa813e153bc1dba060) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah63.u16", 0x0c00000, 0x400000, CRC(7d777b31) SHA1(3621b9a6767cfa5a899dbd441565e09b4ef13204) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds129 ) //olds100a2010 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah129.v10", 0x100000, 0x400000, CRC(6523d3dc) SHA1(68510cf59dfa1582eaefa9ac56ab253f4a78f43d) ) + ROM_IGNORE( 0x54F48 ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah125.rom", 0x180000, 0x400000, CRC(1a8e3cec) SHA1(60f2b84762893826dff93a72c28547995c69bcc7) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "a0501_ah63.rom", 0x0400000, 0x400000, CRC(b6266e02) SHA1(d8ffc5ca209fa08165e84d11c5e2f1028ee14616) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah125.rom", 0x1800000, 0x400000, CRC(69adc397) SHA1(ec44f4d1494c1128706636284196ae0b6016f789) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah63.rom", 0x0000000, 0x400000, CRC(d3b2d80d) SHA1(32eef56c4785b04b74dcf1aa813e153bc1dba060) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah126.u16", 0x0c00000, 0x400000, CRC(b9569fb9) SHA1(3311e15e41537af1eed23cad62c0e42ec9de3e7e) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah125.rom", 0x400000, 0x200000, CRC(256f2e79) SHA1(ba1ccadf85ce6ed7c8de1c112ba87385683239ad) ) +ROM_END + +ROM_START( olds130 ) //olds100agj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah130.v10", 0x100000, 0x400000, CRC(6364bd9c) SHA1(cc2664add4e94f97b533dfccd1fbf67dee68ffcf) ) + ROM_IGNORE( 0x54F47 ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump_ah130", 0x000000, 0x04000, CRC(e7b26aea) SHA1(17d101f760d790619ce4858984787b494bdbbc8a) ) + ROM_IGNORE( 0x1FC000 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah73.rom", 0x0000000, 0x400000, CRC(934284ca) SHA1(b54aaef0cdc92aaa77eb11286f2ba69ca9809bf6) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah73.rom", 0x0000000, 0x400000, CRC(0ad692b4) SHA1(087e4a33b991efeb5d064324adfafdb82f8556ce) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds134 ) //olds100afyzq + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah134.v10", 0x100000, 0x400000, CRC(13ad261a) SHA1(6c01383d1102d0b69c909fc8ef9b02f91cb122fc) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah01.rom", 0x180000, 0x400000, CRC(cbda06e1) SHA1(b93350d299772f9faecc508104d28fd7957b7ede) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds135 ) //olds100asr + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah135.v10", 0x100000, 0x400000, CRC(9fa9540f) SHA1(43bc0b474ac0975eaa5af9f589f21240eb5aa9a5) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah135.rom", 0x1800000, 0x400000, CRC(d76bdbad) SHA1(6785ffc0acd3b9b04eba550b243b6125d0ee6c9f) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah135.u16", 0x0c00000, 0x400000, CRC(d5c55bd3) SHA1(11aa795d20a6efeb0dcd240214ff4983c48061e4) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds138 ) //olds100asm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah138.v10", 0x100000, 0x400000, CRC(d77ee880) SHA1(7dbf1f03781d3f468e586654ec48c1cd200bc802) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah135.rom", 0x1800000, 0x400000, CRC(d76bdbad) SHA1(6785ffc0acd3b9b04eba550b243b6125d0ee6c9f) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah135.u16", 0x0c00000, 0x400000, CRC(d5c55bd3) SHA1(11aa795d20a6efeb0dcd240214ff4983c48061e4) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds140 ) //olds100ahm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah140.v10", 0x100000, 0x400000, CRC(6fd0df4d) SHA1(217de3cba56c68504bd923345b0b34741b0a8bb7) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds142 ) //olds100asrp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah142.v10", 0x100000, 0x400000, CRC(5162b454) SHA1(13314a0abceb96453527a9343066ca98242f72d7) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah135.rom", 0x1800000, 0x400000, CRC(d76bdbad) SHA1(6785ffc0acd3b9b04eba550b243b6125d0ee6c9f) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah135.u16", 0x0c00000, 0x400000, CRC(d5c55bd3) SHA1(11aa795d20a6efeb0dcd240214ff4983c48061e4) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds146 ) //olds100afybh + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah146.v10", 0x100000, 0x400000, CRC(fc1bcd42) SHA1(e16bc382df78b71672c352bf19965755ce562244) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah51.rom", 0x180000, 0x400000, CRC(4d8063e6) SHA1(2be2fbf50abf11348d6e03c2500b87857d83b124) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah51.rom", 0x0000000, 0x400000, CRC(4d0c685f) SHA1(8fa33b5d18a0e96cc645a5d891997cac8ff3d194) ) + ROM_LOAD( "a0501_ah50.rom", 0x0400000, 0x400000, CRC(c352d1c0) SHA1(1f44ae8ab64d5b764a61480e8fcdbdc75d98d7aa) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah51.rom", 0x1800000, 0x400000, CRC(212f9bec) SHA1(87c144e893e1a84370519df7aeeb23c0a0fe3dec) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah146.rom", 0x0000000, 0x400000, CRC(cb608609) SHA1(fc17bbd10fe270bc7c84080246cf1ff940f4c996) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah51.u16", 0x0c00000, 0x400000, CRC(c5beb6f8) SHA1(0d6eb085b1fe38c1842edc189fe5a3786c23b8a8) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds147 ) //olds100adsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah147.v10", 0x100000, 0x400000, CRC(d63d9999) SHA1(c8925a21f9e6c97b3b64ea8a60f6da7f7e274550) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah147.rom", 0x1800000, 0x400000, CRC(2e50561c) SHA1(8f4016c36c9183a58f55d7a3d36bfb4e3975b155) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah147.u16", 0x0c00000, 0x400000, CRC(069ec4d1) SHA1(fe778d3a5d4926aa18b64722945e73c513367e6b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds148 ) //olds100aylzx + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah148.v10", 0x100000, 0x400000, CRC(3541e3b5) SHA1(67cbdee7be4e210a7ecc1ebe70e825ac54bcfdd9) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah148.rom", 0x1800000, 0x400000, CRC(8a050a47) SHA1(c84ea6674cfcacb09453b8946d97345eabfcd12e) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah148.u16", 0x0c00000, 0x400000, CRC(659ea5d5) SHA1(7383d9ea87f746d9e4bf956b9f4b026ddd44a374) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds149 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah149.v10", 0x100000, 0x400000, CRC(03ade78f) SHA1(649860d2bb075c3b8dce37aef77a403dc2015268) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds152 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah152.v10", 0x100000, 0x400000, CRC(0f0c8976) SHA1(d781fa685e97063e825c5268255b7ea0e07069e3) ) + ROM_IGNORE( 0x54F4A ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah152.rom", 0x180000, 0x400000, CRC(66454e73) SHA1(8d25023353734ae927b5423e31e81a28caea3d00) ) + ROM_IGNORE( 0x54F47 ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah152.rom", 0x0000000, 0x400000, CRC(d47d941a) SHA1(eabd0dced30695df51d1598ada17cb87fdcbe9d2) ) + ROM_IGNORE( 0x54F9F ) + ROM_LOAD( "a0501_ah152.rom", 0x0400000, 0x400000, CRC(99f56cc8) SHA1(2ac00b6580defc44bb9b2ddc6088b7dc13fba8a1) ) + ROM_IGNORE( 0x54F50 ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "a0505_ah152.rom", 0x1400000, 0x400000, CRC(44a19493) SHA1(e9d1148e96f7d1d62ab9c82a0bd6094debd82a6e) ) + ROM_IGNORE( 0x54F60 ) + ROM_LOAD( "a0506_ah152.rom", 0x1800000, 0x400000, CRC(8b397a19) SHA1(6aeb7c199c4cc3e3953fcf1b0452263dc7359f37) ) + ROM_IGNORE( 0x54F5F ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah152.rom", 0x0000000, 0x400000, CRC(410b06b3) SHA1(ecda99d7bcc381038848be03bc8a1d1e7a16ab2f) ) + ROM_IGNORE( 0x54F48 ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "b0502_ah152.rom", 0x0800000, 0x400000, CRC(6f0c1d86) SHA1(2e18e3825e189f90bc868f207379731046375c48) ) + ROM_IGNORE( 0x54F4A ) + ROM_LOAD( "b0503_ah152.u16", 0x0c00000, 0x400000, CRC(dee8ef89) SHA1(64422ec9bd752b0c1be5074aa015babeb7033d10) ) + ROM_IGNORE( 0x54F4A ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah152.rom", 0x400000, 0x200000, CRC(c0c377af) SHA1(c0b587409c6c7858f802f37db0cff169f8bffec7) ) + ROM_IGNORE( 0x254F47 ) +ROM_END + +ROM_START( olds153 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah153.v10", 0x100000, 0x400000, CRC(43c7ef43) SHA1(fc8f9b9039fcdcd1bf63b75a1e24b8c16a7be41a) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds154 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah154.v10", 0x100000, 0x400000, CRC(f68185e5) SHA1(6a9aa880ff760b1dfc7ad5ccd840cfdbe43c4f35) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds156 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah156.v10", 0x100000, 0x400000, CRC(ca2d98ac) SHA1(cd63be5f1eedb71620e7a0b6ab5e704f94aaa8b6) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x40000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump_ah128", 0x000000, 0x40000, CRC(619cc52d) SHA1(f249a0b58c8790a42d042ad09eb28d8d4eeb20eb) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah27.rom", 0x180000, 0x400000, CRC(090f1697) SHA1(6a9696beb8b838de1566bdb9e195235ff4eb5cd4) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah27.rom", 0x0000000, 0x400000, CRC(bbc06d42) SHA1(09399a556327bd93035654c7e2e51ccd8f352358) ) + ROM_LOAD( "a0501_ah27.rom", 0x0400000, 0x400000, CRC(f0b6af8a) SHA1(2872ca14c7e03af32b4420e9dd3f74cc2f616b17) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "a0505_ah27.rom", 0x1400000, 0x400000, CRC(9d378b0c) SHA1(228f8ac3cb3486faa8721d54be74ef1d603b0983) ) + ROM_LOAD( "a0506_ah27.rom", 0x1800000, 0x400000, CRC(e2dace7d) SHA1(374640a3faf5c824944b7a495d37a59afb7bcb70) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah27.rom", 0x0000000, 0x400000, CRC(1b68c121) SHA1(323fc40cbf3556e7f9fda65059aee5fc1d1b6065) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "b0502_ah27.rom", 0x0800000, 0x400000, CRC(6b22373b) SHA1(004f266e3525320899e8b87cde530f964081e4ae) ) + ROM_LOAD( "b0503_ah27.u16", 0x0c00000, 0x400000, CRC(cb813cab) SHA1(970f074755114fd219091ae86dcb3590aa583e01) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah27.rom", 0x400000, 0x200000, CRC(5a462366) SHA1(e7a6cf66dfc9e822c799e78fbba08a910f50c504) ) +ROM_END + +ROM_START( olds157 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah153.v10", 0x100000, 0x400000, CRC(43c7ef43) SHA1(fc8f9b9039fcdcd1bf63b75a1e24b8c16a7be41a) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds160 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah153.v10", 0x100000, 0x400000, CRC(43c7ef43) SHA1(fc8f9b9039fcdcd1bf63b75a1e24b8c16a7be41a) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds162 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah162.v10", 0x100000, 0x400000, CRC(a7c39af7) SHA1(f0004e3d221ff6060531cc6931fb2cf59caafaae) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah64.rom", 0x180000, 0x400000, CRC(d6e659d2) SHA1(5161b6462ecb6192c7e5494ce63bc962fce01844) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0500_ah64.rom", 0x0000000, 0x400000, CRC(3bd1f686) SHA1(44924f2fede3f539fe7b61a88beda62c21bac0f1) ) + ROM_LOAD( "a0501_ah64.rom", 0x0400000, 0x400000, CRC(66761144) SHA1(a371c765886067c8d75202438172ca81dc6db96d) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah64.rom", 0x1800000, 0x400000, CRC(cdc61ba7) SHA1(2f3c52d2ba801780ad5c94b76000d885a136ac3e) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah64.rom", 0x0000000, 0x400000, CRC(37efad3a) SHA1(48a552d7a5ef45d4a44cfc848b4b6da1a99f2a48) ) + ROM_LOAD( "b0501_ah64.rom", 0x0400000, 0x400000, CRC(e79b47bf) SHA1(588af08a8ebeab2ff202cdf289b7b8fd35976655) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah64.u16", 0x0c00000, 0x400000, CRC(83d3f7b4) SHA1(33dc746ea3e415424e69f966e881808109475aa7) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds163 ) //olds100adsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah163.v10", 0x100000, 0x400000, CRC(8ce84e5b) SHA1(38c5af01ba7383925595364aee5c0b5694a9f215) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah163.rom", 0x1800000, 0x400000, CRC(1c174e4a) SHA1(e1e01e54837c306c32424f61090edf45dd614866) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah163.u16", 0x0c00000, 0x400000, CRC(4922301f) SHA1(a9822daff33b1ef95d7e087ffd47265b4259120b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds164 ) //olds100ahxwj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah164.v10", 0x100000, 0x400000, CRC(ec4efc5a) SHA1(27e7aeb1b674d34a0ea6258c69364d74273e47d3) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah164.rom", 0x1800000, 0x400000, CRC(5d36a5ed) SHA1(0403e1a7001e3daa2f22bec2886853d80c32727b) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah164.u16", 0x0c00000, 0x400000, CRC(7445851e) SHA1(6510e06a80379aa81f48b4f8449a2e7884e38f35) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds165 ) //olds100adsgls + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah165.v10", 0x100000, 0x400000, CRC(68b45a94) SHA1(bf2e519db23b0948777f99b4dfda87ad973bfb80) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah148.rom", 0x1800000, 0x400000, CRC(8a050a47) SHA1(c84ea6674cfcacb09453b8946d97345eabfcd12e) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah148.u16", 0x0c00000, 0x400000, CRC(659ea5d5) SHA1(7383d9ea87f746d9e4bf956b9f4b026ddd44a374) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds166 ) //oldsdsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah166.v10", 0x100000, 0x400000, CRC(5ca8df67) SHA1(1a1e9a86e225f94cd893976bd93d67e32c4c60e5) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah163.rom", 0x1800000, 0x400000, CRC(1c174e4a) SHA1(e1e01e54837c306c32424f61090edf45dd614866) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah163.u16", 0x0c00000, 0x400000, CRC(4922301f) SHA1(a9822daff33b1ef95d7e087ffd47265b4259120b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds167 ) //oldsdsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah167.v10", 0x100000, 0x400000, CRC(9c7e0f7f) SHA1(db3bd075000f4a533710b464a0a77ba2041af4b5) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah163.rom", 0x1800000, 0x400000, CRC(1c174e4a) SHA1(e1e01e54837c306c32424f61090edf45dd614866) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah163.u16", 0x0c00000, 0x400000, CRC(4922301f) SHA1(a9822daff33b1ef95d7e087ffd47265b4259120b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds168 ) //olds100az + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah168.v10", 0x100000, 0x400000, CRC(c0d74394) SHA1(8356ee4b1c76440177b559e1201a2eb1eea8c6fa) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah168.rom", 0x180000, 0x400000, CRC(593f07e3) SHA1(e5afdf0885021d3af354a154619840ed0824b679) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "a0501_ah168.rom", 0x0400000, 0x400000, CRC(b946398d) SHA1(e35e709ec2a429b69651d5acdcdb802ccccb4c60) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah161.rom", 0x1800000, 0x400000, CRC(f5e5cce3) SHA1(8672e1a3282b2738dcc3d04c8deba13e4e79005d) ) + //ROM_LOAD( "pgm_a0506.u13", 0x1800000, 0x400000, CRC(087ac60c) SHA1(3d5bf7dd40c8a3c1224cf82e12410ca904c0c5db) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0500_ah168.rom", 0x0000000, 0x400000, CRC(2b273a17) SHA1(f87687c2011b7cca374c9aabc0f29b9d4b86db05) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah161.u16", 0x0c00000, 0x400000, CRC(9679f77d) SHA1(a35fd4a130a9083a5edf0f98b1f9f01ff4f7844b) ) + //ROM_LOAD( "pgm_b0503.u16", 0x0c00000, 0x400000, CRC(e41d98e4) SHA1(f80b27fcee81762993e09bf1b3cad6e85274760c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah168.rom", 0x400000, 0x200000, CRC(d36c1661) SHA1(95a0e4075222fc25c317f704ac8861222cdaa47d) ) +ROM_END + +ROM_START( olds171 ) //olds100adsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah171.v10", 0x100000, 0x400000, CRC(399822b4) SHA1(11992ffe2cbdd846f1321c9911950b8746c64c68) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah163.rom", 0x1800000, 0x400000, CRC(1c174e4a) SHA1(e1e01e54837c306c32424f61090edf45dd614866) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah163.u16", 0x0c00000, 0x400000, CRC(4922301f) SHA1(a9822daff33b1ef95d7e087ffd47265b4259120b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds172 ) //olds100am + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah172.v10", 0x100000, 0x400000, CRC(88e2865b) SHA1(9836b78075384934872a50054d40d081d5afa1d3) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah172.rom", 0x1800000, 0x400000, CRC(8ace89af) SHA1(8cd226a18ef982fcf590c272f9c727110bad6b5e) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah172.u16", 0x0c00000, 0x400000, CRC(9e6fc426) SHA1(792d3e531572d5c547e2cafc9f0a28b79aa583ad) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds173 ) //olds100azero + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah173.v10", 0x100000, 0x400000, CRC(98c35ddd) SHA1(a418c3e2798287d689af26c80538314a359d0f35) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0500.u18", 0x180000, 0x400000, CRC(d881726c) SHA1(a82517e665996f7b7017c940f1fcf016fccb65c2) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah161.rom", 0x1800000, 0x400000, CRC(f5e5cce3) SHA1(8672e1a3282b2738dcc3d04c8deba13e4e79005d) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah161.u16", 0x0c00000, 0x400000, CRC(9679f77d) SHA1(a35fd4a130a9083a5edf0f98b1f9f01ff4f7844b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "m0500_ah161.rom", 0x400000, 0x200000, CRC(8d10c3a6) SHA1(4efd78ae2bbdf0e6de7375b17f32e11c9c67e6fb) ) +ROM_END + +ROM_START( olds174 ) //olds100adsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah174.v10", 0x100000, 0x400000, CRC(309da19e) SHA1(724289e5c814bb3d69f1377cadfe3f02a4ebc809) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah163.rom", 0x1800000, 0x400000, CRC(1c174e4a) SHA1(e1e01e54837c306c32424f61090edf45dd614866) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah163.u16", 0x0c00000, 0x400000, CRC(4922301f) SHA1(a9822daff33b1ef95d7e087ffd47265b4259120b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds175 ) //olds100am + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah175.v10", 0x100000, 0x400000, CRC(81e70571) SHA1(5ffa40141d442ee5174781329d5249cb0d726a55) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah175.rom", 0x1800000, 0x400000, CRC(b88991f9) SHA1(760ee8b6d3e418ada1c433ffc97673eacb81d8ba) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah175.u16", 0x0c00000, 0x400000, CRC(d1d330e8) SHA1(38ad585299fc5f4b7b78cac8db6ee0bb9e5b329c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds176 ) //olds100adsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah176.v10", 0x100000, 0x400000, CRC(8aee6443) SHA1(054e3e864f5d844ee0077023abd9d73ad65a5f0c) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah163.rom", 0x1800000, 0x400000, CRC(1c174e4a) SHA1(e1e01e54837c306c32424f61090edf45dd614866) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah163.u16", 0x0c00000, 0x400000, CRC(4922301f) SHA1(a9822daff33b1ef95d7e087ffd47265b4259120b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds177 ) //olds100am + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah177.v10", 0x100000, 0x400000, CRC(3b94c0ac) SHA1(c6ef873f9e41d215ee97378a584813c0caab2355) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah175.rom", 0x1800000, 0x400000, CRC(b88991f9) SHA1(760ee8b6d3e418ada1c433ffc97673eacb81d8ba) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah175.u16", 0x0c00000, 0x400000, CRC(d1d330e8) SHA1(38ad585299fc5f4b7b78cac8db6ee0bb9e5b329c) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + +ROM_START( olds178 ) //olds100adsgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0500_ah178.v10", 0x100000, 0x400000, CRC(9db0d56b) SHA1(53684a0fdc013402edb78e9631b61481585866c1) ) + + ROM_REGION( 0x010000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "sp_data.u6", 0x000000, 0x010000, CRC(e7613dda) SHA1(0d7c043b90e2f9a36a45066f22e3e305dc716676) ) + + ROM_REGION( 0x4000, "user2", ROMREGION_ERASEFF ) + ROM_LOAD( "ram_dump", 0x000000, 0x04000, CRC(280cfb4e) SHA1(cd2bdcaa21347952c2bf38b105a204d327fde39e) ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0500_ah163.rom", 0x180000, 0x400000, CRC(434ddae8) SHA1(6a439dfd169b83bbd8ed442e72cf6fc27c142e80) ) + ROM_LOAD( "pgm_t0501.u19", 0x580000, 0x200000, CRC(d2106864) SHA1(65d827135b87d82196433aea3279608ee263feca) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0500.u5", 0x0000000, 0x400000, CRC(80a59197) SHA1(7d0108e2f0d0347d43ace2d96c0388202c05fdfb) ) + ROM_LOAD( "pgm_a0501.u6", 0x0400000, 0x400000, CRC(98c931b1) SHA1(9b70d1a7beb4c3a0c1436c25fd1fb76e47539538) ) + ROM_LOAD( "pgm_a0502.u7", 0x0800000, 0x400000, CRC(c3fcdf1d) SHA1(107585fd103fcd0af0fb7db283be4f7c7058aef7) ) + ROM_LOAD( "pgm_a0503.u8", 0x0c00000, 0x400000, CRC(066dffec) SHA1(f023032a7202b7090fb609a39e0f19018e664bf3) ) + ROM_LOAD( "pgm_a0504.u11", 0x1000000, 0x400000, CRC(45337583) SHA1(c954d0e5bf7fa99c90b0d154e7119d2b0c461f1c) ) + ROM_LOAD( "pgm_a0505.u12", 0x1400000, 0x400000, CRC(5b8cf3a5) SHA1(856d1e47b5d9a66dcfbdc74a51ed646fd7d96a35) ) + ROM_LOAD( "a0506_ah163.rom", 0x1800000, 0x400000, CRC(1c174e4a) SHA1(e1e01e54837c306c32424f61090edf45dd614866) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0500.u9", 0x0000000, 0x400000, CRC(cde07f74) SHA1(1fe90db7c57faa28f3a054b2c07909bef89e3efb) ) + ROM_LOAD( "pgm_b0501.u10", 0x0400000, 0x400000, CRC(1546c2e9) SHA1(a7b9c8b44203db54a59d49fe469bb52bba807ba2) ) + ROM_LOAD( "pgm_b0502.u15", 0x0800000, 0x400000, CRC(e97b31c3) SHA1(1a7ca4f6c8644e84a33ae41cd4637f21046b14c5) ) + ROM_LOAD( "b0503_ah163.u16", 0x0c00000, 0x400000, CRC(4922301f) SHA1(a9822daff33b1ef95d7e087ffd47265b4259120b) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0500.u1", 0x400000, 0x200000, CRC(37928cdd) SHA1(e80498cabc2a6a54d4f3ebcb097d4b3fad96fe55) ) +ROM_END + + /**************************** + Oriental Legend Special Plus +*******************************/ + +ROM_START( oldsplus01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw01.rom", 0x100000, 0x454F48, CRC(10d59a7d) SHA1(25207cc1b879ec9cc39815e31ef8e9d506c59e94) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw02.rom", 0x100000, 0x454F99, CRC(3f404202) SHA1(d8f5f52b2eae7a111763dd6b44783313eeaf94cc) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus03 ) //oldsplus2016 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw03.rom", 0x100000, 0x454F48, CRC(a3dde0f7) SHA1(ab2ef26e5b41e7648f478a4c5a77254632f762c6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus04 ) //oldsplusp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw04.rom", 0x100000, 0x454F99, CRC(861ce19f) SHA1(f53612050fa9df90cb8bcb4b3c1602bf78652c5a) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a05301_pw04.rom", 0x0000000, 0x0800000, CRC(802266a0) SHA1(098a3b08462328912087384048c3538b705f001d) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b05301_pw04.rom", 0x0000000, 0x0800000, CRC(bb7b3060) SHA1(1d299440fe634b2fb1f69a0a3f09eceb3d3c70c0) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw05.rom", 0x100000, 0x400000, CRC(702b8a43) SHA1(7477a4af84dc3ad558b2facd7b65ce1a56e28af0) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus06 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw06.rom", 0x100000, 0x400000, CRC(81ddb6b6) SHA1(990ea5edd4c0a069fedd77d313b664203b77b554) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw07.rom", 0x100000, 0x400000, CRC(229578da) SHA1(246525c0f94348995b8adb4cb0e9fefefa46bd91) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw08.rom", 0x100000, 0x400000, CRC(b86e27da) SHA1(0c8f2c6307bbfa8f5a4f7208df1bb7d43c6184ac) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus09 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw09.rom", 0x100000, 0x400000, CRC(b60429aa) SHA1(0fa734ef7e27190234459ab8769daa32de0785bd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw10.rom", 0x100000, 0x400000, CRC(ee4e60be) SHA1(987053868620a38b6ee72bac750994d9b5ac748b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw11.rom", 0x100000, 0x400000, CRC(80ab9659) SHA1(8530eecf6bb11c8cbfbcc93279a7a326d7000983) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus12 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw12.rom", 0x100000, 0x400000, CRC(f154727b) SHA1(cfdfdb522febf703a2aa64e4d43c05543b38bb8b) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus13 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw13.rom", 0x100000, 0x400000, CRC(d4073025) SHA1(fc6d13edc27c97f28f3c5443c088659fe9514fde) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a05301_pw13.rom", 0x0000000, 0x0800000, CRC(329e6c64) SHA1(1976530ff762984e6041fac36d1abc6b9f9a8bf4) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b05301_pw13.rom", 0x0000000, 0x0800000, CRC(6124cde7) SHA1(89c8d7ab1d074482360bde349c0cea1c273d1b9a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus14 ) //oldsplus2016 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw14.rom", 0x100000, 0x400000, CRC(db93da21) SHA1(94fcbdda6de88cad64b05265ac5d7984709b5a5c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus15 ) //oldsplusfm + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw15.rom", 0x100000, 0x400000, CRC(b1c47f99) SHA1(9e982bfa59152b26ab624198f23c9689bbb4c109) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus16 ) //oldsplusp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw16.rom", 0x100000, 0x400000, CRC(e59b261e) SHA1(14e058a3edb839880cf2daf4e7fce503e4941717) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus18 ) //oldsplusp + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw18.rom", 0x100000, 0x400000, CRC(d97004a3) SHA1(e8144d68e92e132e5aa5af662737d16f7576419c) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus19 ) //oldsplusnr + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw19.rom", 0x100000, 0x400000, CRC(97a7cf98) SHA1(4adf2104e5de92ffd7e4e15cd3933b1d85daaf04) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a05301_pw19.rom", 0x0000000, 0x0800000, CRC(3d3125ff) SHA1(fef80d4ae377e391e2fb7a296fb4b49df42a6687) ) + ROM_LOAD( "a05302_pw19.rom", 0x0800000, 0x0800000, CRC(4ed9028c) SHA1(9c4038097b225c331618dbf0dac3fb9d37a25e9f) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b05301_pw19.rom", 0x0000000, 0x0800000, CRC(13702bbf) SHA1(564bd59bf30531577321bbe0583609a5ceecfbad) ) + ROM_LOAD( "b05302_pw19.rom", 0x0800000, 0x0800000, CRC(b9f75120) SHA1(b087cfd02cbaa22e3c4732b5fc50a385f2d5d4a7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus20 ) //oldsplusyjhl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw20.rom", 0x100000, 0x400000, CRC(d7860f14) SHA1(d23c269e65463bd840c181ac278e64b6b7c361d9) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus21 ) //oldsplusl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw21.rom", 0x100000, 0x400000, CRC(9928747a) SHA1(aa2ff5ac81a41967a6327af32ff07f5e5b842c4d) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a05301w064.u3", 0x0000000, 0x0800000, CRC(57946fd2) SHA1(5d79bc71a1881f3099821a9b255a5f271e0eeff6) ) + ROM_LOAD( "igs_a05302w064.u4", 0x0800000, 0x0800000, CRC(3459a0b8) SHA1(94ab6f980b5582f1db9bb12019d03f0b6e0a06df) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b05301w064.u9", 0x0000000, 0x0800000, CRC(fd98f503) SHA1(02046ab1aa89f63bff149003d9d61776e025a92a) ) + ROM_LOAD( "igs_b05302w064.u11", 0x0800000, 0x0800000, CRC(9f6094a8) SHA1(69f6f2003ab975eae13ea6b5c2ffa40df6e6bdf6) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus22 ) //oldsplusnr + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw22.rom", 0x100000, 0x400000, CRC(d1653005) SHA1(0a633da37c8ebf71c7aa957820496d3805ce5dfb) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a05301_pw19.rom", 0x0000000, 0x0800000, CRC(3d3125ff) SHA1(fef80d4ae377e391e2fb7a296fb4b49df42a6687) ) + ROM_LOAD( "a05302_pw19.rom", 0x0800000, 0x0800000, CRC(4ed9028c) SHA1(9c4038097b225c331618dbf0dac3fb9d37a25e9f) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b05301_pw19.rom", 0x0000000, 0x0800000, CRC(13702bbf) SHA1(564bd59bf30531577321bbe0583609a5ceecfbad) ) + ROM_LOAD( "b05302_pw19.rom", 0x0800000, 0x0800000, CRC(b9f75120) SHA1(b087cfd02cbaa22e3c4732b5fc50a385f2d5d4a7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus24 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw24.rom", 0x100000, 0x400000, CRC(8a3e4b60) SHA1(3367bcc07a453d332341b438b198b31c361db0fd) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a05301_pw19.rom", 0x0000000, 0x0800000, CRC(3d3125ff) SHA1(fef80d4ae377e391e2fb7a296fb4b49df42a6687) ) + ROM_LOAD( "a05302_pw19.rom", 0x0800000, 0x0800000, CRC(4ed9028c) SHA1(9c4038097b225c331618dbf0dac3fb9d37a25e9f) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b05301_pw19.rom", 0x0000000, 0x0800000, CRC(13702bbf) SHA1(564bd59bf30531577321bbe0583609a5ceecfbad) ) + ROM_LOAD( "b05302_pw19.rom", 0x0800000, 0x0800000, CRC(b9f75120) SHA1(b087cfd02cbaa22e3c4732b5fc50a385f2d5d4a7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus26 ) //oldsplusnew + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw26.rom", 0x100000, 0x400000, CRC(17af4568) SHA1(3af02d88e6e560a7ebdbc48e9af612286ac30772) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a05301_pw19.rom", 0x0000000, 0x0800000, CRC(3d3125ff) SHA1(fef80d4ae377e391e2fb7a296fb4b49df42a6687) ) + ROM_LOAD( "a05302_pw19.rom", 0x0800000, 0x0800000, CRC(4ed9028c) SHA1(9c4038097b225c331618dbf0dac3fb9d37a25e9f) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b05301_pw19.rom", 0x0000000, 0x0800000, CRC(13702bbf) SHA1(564bd59bf30531577321bbe0583609a5ceecfbad) ) + ROM_LOAD( "b05302_pw19.rom", 0x0800000, 0x0800000, CRC(b9f75120) SHA1(b087cfd02cbaa22e3c4732b5fc50a385f2d5d4a7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + +ROM_START( oldsplus27 ) //oldsplusnr + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p05301_pw27.rom", 0x100000, 0x400000, CRC(ce6893ae) SHA1(486f6dcc5c99538a489a663409ddd1a15ea7c8f6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "oldsplus_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION( 0x800000, "user1", ROMREGION_ERASE00 ) + + ROM_REGION( 0xc00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t05301w064.u2", 0x180000, 0x800000, CRC(8257bbb0) SHA1(b48067b7e7081a15fddf21739b641d677c2df3d9) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a05301_pw19.rom", 0x0000000, 0x0800000, CRC(3d3125ff) SHA1(fef80d4ae377e391e2fb7a296fb4b49df42a6687) ) + ROM_LOAD( "a05302_pw19.rom", 0x0800000, 0x0800000, CRC(4ed9028c) SHA1(9c4038097b225c331618dbf0dac3fb9d37a25e9f) ) + ROM_LOAD( "igs_a05303w064.u6", 0x1000000, 0x0800000, CRC(13475d85) SHA1(4683a3bf304fdc15ffb1c61b7957ad68b023fa33) ) + ROM_LOAD( "igs_a05304w064.u8", 0x1800000, 0x0800000, CRC(f03ef7a6) SHA1(c18b1b622b430d5e031e65daa6819b84c3e12ef5) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b05301_pw19.rom", 0x0000000, 0x0800000, CRC(13702bbf) SHA1(564bd59bf30531577321bbe0583609a5ceecfbad) ) + ROM_LOAD( "b05302_pw19.rom", 0x0800000, 0x0800000, CRC(b9f75120) SHA1(b087cfd02cbaa22e3c4732b5fc50a385f2d5d4a7) ) + + ROM_REGION( 0x800000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w05301b032.u5", 0x400000, 0x400000, CRC(86ec83bc) SHA1(067cb7ec449eacd1f49298f45a364368934db5dd) ) +ROM_END + + /******************** + Oriental Legend Plus +***********************/ +ROM_START( orlegends01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po01.160", 0x100000, 0x200000, CRC(5f00b0b9) SHA1(60a097cc6b0195afb79a2646f2f0954e40cbb8fb) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends02 ) //orlegndcjhcs, orlegndcm, orlegendms + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po02.160", 0x100000, 0x200000, CRC(C580eb2c) SHA1(3eb133f27b37d6b0c940340795e1c163e21288bf) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po03.160", 0x100000, 0x200000, CRC(Fb98db8f) SHA1(D41e26ffa36664ddecd3a329f33762eb46fdfbfd) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends04 ) + ROM_REGION( 0xE00000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po04.160", 0x100000, 0x1FFFE1, CRC(0ff9f059) SHA1(1fd39d0e337df0049e9c4aa2b91aee9d057c0edb) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po05.160", 0x100000, 0x200000, CRC(B7d450dd) SHA1(E71e8376ae31ebc4b840d105964eed54ebd07348) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends06 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po06.160", 0x100000, 0x200000, CRC(a4db5335) SHA1(1e5de478e5304fc4b5a7575d7d5eff944965e816) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends07 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po07.160", 0x100000, 0x200000, CRC(96427568) SHA1(a716456aab2d644ec10b460152f8c108ca934e18) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po08.160", 0x100000, 0x200000, CRC(3ed90022) SHA1(cbaa136e14ee3e4429ce109af0e3291a3d5f1d8b) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends09 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po09.160", 0x100000, 0x200000, CRC(27d9b2d3) SHA1(1b8d5854c84ee28b85112c0354cdb68b1e262c12) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends10 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po10.160", 0x100000, 0x200000, CRC(13e87c42) SHA1(cd26e4ae24b19c242736ee62aa65ce6aee68bb6b) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends11 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po11.160", 0x100000, 0x200000, CRC(d9ccee25) SHA1(2d9881ade9603bbc6408fb9edd6fff8cb41b4103) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends12 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po12.160", 0x100000, 0x200000, CRC(ea7ade3e) SHA1(373763bc17fb3a280c1df150b0244d89ce44af48) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends13 ) //orlegndcyxgl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po13.160", 0x100000, 0x200000, CRC(f9b2b569) SHA1(858bbf0ad12a099b2d88b6b6cad27ba32da32abf) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends14 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po14.160", 0x100000, 0x200000, CRC(182adf6b) SHA1(8dafdf92c47c54b597957cc01dca27f27cdae163) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends16 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po16.160", 0x100000, 0x200000, CRC(88b9d096) SHA1(e86e21952fcdd6a442d9c58264d9c55a43f66e17) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends17 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po17.160", 0x100000, 0x200000, CRC(1936e347) SHA1(e82406f5d6715e02d0ad0da18222dfaa22fb41ec) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends18 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po18.160", 0x100000, 0x200000, CRC(5807cb45) SHA1(93491c686fc54f1b88ccfffe8d4ef500331a93bc) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends19 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po19.160", 0x100000, 0x200000, CRC(fdc80657) SHA1(403a2f175ecba883ad31cee54f0a368c18565d8a) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends20 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po20.160", 0x100000, 0x200000, CRC(4821faf2) SHA1(e799c27fad9cb54fb5bf6185afd051afa7c3477c) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends21 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po21.160", 0x100000, 0x200000, CRC(fdec3e95) SHA1(1fc054c3876e8757174d8692845a1d12c60c207c) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends22 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po22.160", 0x100000, 0x200000, CRC(a52cbedd) SHA1(d2c0719c921bf4c6226994874c9d0cadf7d4539d) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends23 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po23.160", 0x100000, 0x200000, CRC(5fef586e) SHA1(37496e0383a0c864fe554b4a84ea8f2c4b1696cd) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends24 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po24.160", 0x100000, 0x200000, CRC(112dd3bc) SHA1(0203b9eff5c35b3156d3ca011d868c5284ba14c0) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends25 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po25.160", 0x100000, 0x200000, CRC(1a361230) SHA1(3e69ac67950e4f7f6a83907b1849e3b3cc3f284b) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends26 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po26.160", 0x100000, 0x200000, CRC(0708d53e) SHA1(8e78acd3946509ec22465a7d6f79b22e86cc5977) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends28 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po28.160", 0x100000, 0x200000, CRC(4c76d30c) SHA1(0195c8812127a2b8b0bd8f105fcba69e6682b84f) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100hc28.u5", 0x0000000, 0x400000, CRC(360f6d80) SHA1(82ab60793980f343dd5a3128763667f621208254) ) + ROM_LOAD( "a0101hc28.u6", 0x0400000, 0x400000, CRC(196c427b) SHA1(dbe454013531992eb3e7fc4d780087cc457f8d54) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100hc28.u9", 0x0000000, 0x400000, CRC(1c82e255) SHA1(331951c2f977652cecc27dad752df618f7db93dd) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends29 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po29.160", 0x100000, 0x200000, CRC(02f5924b) SHA1(9e29b1b1af03cc205631c74c2b8f4df7e53925db) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends30 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po30.160", 0x100000, 0x200000, CRC(c53913b9) SHA1(df694ff0885699a58698ecb54abb78c86316ef95) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends31 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po31.160", 0x100000, 0x200000, CRC(f1c9ad47) SHA1(d7caedf53b7aac4ab108d1f6e68c9a71695e582c) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends32 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po32.160", 0x100000, 0x200000, CRC(246d0499) SHA1(42d2e511d2628fd2a77f437f633ce2f41de063b0) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends33 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po33.160", 0x100000, 0x200000, CRC(e856480d) SHA1(a35cedc08136d26a1c5a55e04d0a28833011c33a) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends34 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po34.160", 0x100000, 0x200000, CRC(f40c01a8) SHA1(def6a5dc3a8ad5c1725e13c9bea574793db9a06d) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends35 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po35.160", 0x100000, 0x200000, CRC(0c4df2a0) SHA1(a10d7f150ec96d365afc8c8f16aca7a1f40428a4) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends36 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po36.160", 0x100000, 0x200000, CRC(443cde1d) SHA1(39e825008ae1a01b5424175399c746d989b59f11) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends37 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po37.160", 0x100000, 0x200000, CRC(2c7b81d9) SHA1(c0b724655042fb17a36289c764fa8746904de816) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends38 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po38.160", 0x100000, 0x200000, CRC(76226444) SHA1(5002ffe8e3058dbfdc4f10163822890a955d5060) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends42 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po42.160", 0x100000, 0x200000, CRC(c14ba34c) SHA1(51c8ef02d96701e9793afb45d70345f592bf022b) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends43 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po43.160", 0x100000, 0x200000, CRC(461ed056) SHA1(ee63ec1f5c70fd53964f15c65914438449162f51) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends44 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po44.160", 0x100000, 0x200000, CRC(1f192c67) SHA1(7595536856f827856a39ac6f69ac0975e9a2fe33) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends45 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po45.160", 0x100000, 0x200000, CRC(eeea25b9) SHA1(310a61bd676140ae2e9712f37f8c4137932926aa) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends46 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po46.160", 0x100000, 0x200000, CRC(e1c36859) SHA1(361ac929fc8af2351ba0171f1dd0521f97a9549a) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends47 ) //orlegndcxsty + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po47.160", 0x100000, 0x200000, CRC(91923b5a) SHA1(c6cd26832eea47fc7353fd59e74856b0ee035ec3) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends50 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po50.160", 0x100000, 0x200000, CRC(de36c981) SHA1(1dc6253fcc4202e02617c5525ccf5e0334387eea) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends51 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po51.160", 0x100000, 0x200000, CRC(19111d8e) SHA1(4d4130bb8eb3cace9b370977f14207bdf3d81a12) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends52 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po52.160", 0x100000, 0x200000, CRC(56114ee9) SHA1(f4641cb2d0caa1f8ba1659d383b3e673ff25e9fd) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends53 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po53.160", 0x100000, 0x200000, CRC(3f3f3193) SHA1(e038ff138f3a9468919b6d07b38d9796df7fcea2) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends54 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + //ROM_LOAD16_WORD_SWAP( "p0101_po54.160", 0x100000, 0x200000, CRC(b24f0c1e) SHA1(78070ea538c421d76ea382f7da6dfd62c0427333) ) // crc collision + ROM_LOAD16_WORD_SWAP( "p0101_po54.160", 0x100000, 0x200000, CRC(3681fe21) SHA1(2408c2aa0d8b7f6d273f83be60374c3bb4256208) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends55 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po55.160", 0x100000, 0x200000, CRC(5b999b3c) SHA1(e4844b915b0a24323ac19774197ae7485fda92be) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends56 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po56.160", 0x100000, 0x200000, CRC(d26a4a85) SHA1(5269f38486bb816a5c59eb5618c31384bf475f38) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends57 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po57.160", 0x100000, 0x200000, CRC(100e1078) SHA1(38f70bfcb74a5dd07a324945edfd73eb7dbccefd) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends58 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po58.160", 0x100000, 0x200000, CRC(3dc66c6f) SHA1(51d7ff7a80559dcd8e2f42b144320edf8c99bed4) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends60 ) //orlegendjj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po60.160", 0x100000, 0x200000, CRC(d5c3bbef) SHA1(da516bf3322025107203eba85e30ec5215fb16ad) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends61 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po61.160", 0x100000, 0x200000, CRC(f0bd1554) SHA1(1109b1a5cc16985cb41f4ad642001ac45f30a917) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends62 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po62.160", 0x100000, 0x200000, CRC(607ca005) SHA1(ecc04e2ea02209b3641103ded47a90e3df0c14ac) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends63 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po63.160", 0x100000, 0x200000, CRC(a2b42ca4) SHA1(89bb3363004d134185180294eb568a738cdba06a) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends64 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po64.160", 0x100000, 0x200000, CRC(011a8274) SHA1(3a32a8914a6a90f0a24dabef26bf7dba94b9e3e6) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends67 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po67.s160", 0x100000, 0x200000, CRC(3fcaa3b8) SHA1(4dbedb20653cf0f6308fe3b00195cd24119332cf) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends69 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po69.s160", 0x100000, 0x200000, CRC(2335a6c1) SHA1(82613afc72441cd01e321cf17ef71d3c7a4fed4b) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends70 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po70.s160", 0x100000, 0x200000, CRC(10f32d7c) SHA1(d8a845d01207c0d21031cc17dd9770e6ac45d0a4) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends71 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po71.s160", 0x100000, 0x200000, CRC(3b0b3733) SHA1(f1035f3f9c7c90d091d19bb3d779e5337ed83eef) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends74 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po74.s160", 0x100000, 0x200000, CRC(da526a83) SHA1(7572f1cc07061f017c1d009a509efbdae6b1e176) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends75 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po75.s160", 0x100000, 0x200000, CRC(7d12e593) SHA1(ff825c8af0decfcbcb585f032104d5ab9fde99b9) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends76 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po76.s160", 0x100000, 0x200000, CRC(c274f1d0) SHA1(4970a144a3e6e8fbd383a62c2474a1a37e79773c) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends77 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po77.s160", 0x100000, 0x200000, CRC(0c71b594) SHA1(6f696f32ec2415a7cd9984006a99765c1342b1f4) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends78 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po78.s160", 0x100000, 0x200000, CRC(a9f92eb3) SHA1(8255698bd5281f727866481d49ce2dd028760502) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends79 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po79.rom", 0x100000, 0x200000, CRC(a226d271) SHA1(c2f3d039d07957264767ea9a56a4ee723dea2b7d) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends84 ) //orlegndcbbws + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po84.s160", 0x100000, 0x200000, CRC(e4fd3b1a) SHA1(91b46e173f30507be82b7e1a596c09c5087eec35) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends87 ) //orlegend1v4 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po87.s160", 0x100000, 0x200000, CRC(aec1ba2d) SHA1(84ebfbe1e11f93bb2c6a91cea3bf4ba2ac4c7f41) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends88 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po88.s160", 0x100000, 0x200000, CRC(3bd3aa4e) SHA1(9110381eab34a83663c717a1f532ec7d761f767f) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "t0100_po06.u8", 0x180000, 0x400000, CRC(d69009ed) SHA1(ac5834a082d7912fe9b36722490446d13ca23c83) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "a0100_po23.u5", 0x0000000, 0x400000, CRC(1bc35928) SHA1(a7898a69fab119501b6107214d35c5971ba4dac2) ) + ROM_LOAD( "a0101_po23.u6", 0x0400000, 0x400000, CRC(97cf4912) SHA1(0c7a908b09cddf4ba5887cedc599c6197b325b9c) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "b0100_po23.u9", 0x0000000, 0x400000, CRC(5a914019) SHA1(8fa854f8546e09e60dabd80647974eefe4971cac) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends89 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po89.s160", 0x100000, 0x200000, CRC(0af70e9d) SHA1(1ef6237a5d9ea12888909587f886e8bfb18e5603) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends91 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po91.s160", 0x100000, 0x200000, CRC(91b6793b) SHA1(aad35f0b34210a3c85107d2e525d1ec2c9ba02dd) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends92 ) //orlegndcjhcs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po92.s160", 0x100000, 0x200000, CRC(85745c7f) SHA1(adde8881b90d384f21b66eb47ed30f87f1379684) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends94 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po94.s160", 0x100000, 0x200000, CRC(c6081d7f) SHA1(d625094c81c56ca3195cdeee6d71d9602ab99624) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends96 ) //orlegndcjhcs + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po96.s160", 0x100000, 0x200000, CRC(b022ede5) SHA1(6787c8135297fb71c2594fa4d392e96b4ad51783) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends97 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po97.s160", 0x100000, 0x200000, CRC(eb7eb28c) SHA1(f07d9c6a7c5f052c9673c519b7c2d6bc1fbd49c6) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends98 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po98.s160", 0x100000, 0x200000, CRC(cdad13e0) SHA1(ba39bcc560c20da30a8e98f937526d48ed7866df) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends99 ) //orlegendcl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po99.s160", 0x100000, 0x200000, CRC(5265c1b7) SHA1(0741f5b897088597e4e263d76de9c16fed744410) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends100 ) //orlegendl + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po100.s160", 0x100000, 0x200000, CRC(7b0dfe13) SHA1(3b6d6709a62965bdc3669cbcbeefe753f3d007f2) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends101 ) //orlegendne + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0101_po101.s160", 0x100000, 0x200000, CRC(61d386aa) SHA1(db2422145e9484585d8f732f93a25ffe8ae6a9bf) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends102 ) //orlegendyj + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po102.s160", 0x100000, 0x200000, CRC(8f4aa6b1) SHA1(59d116f719941c9421af2447673c7a51a2475444) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends103 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_po01.s160", 0x100000, 0x200000, CRC(13e7486d) SHA1(fc42e807845443fe477b51fdb095b68cdadda6d8) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends104 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps03.s160", 0x100000, 0x200000, CRC(660f3956) SHA1(d58be714ce0d4628400c2c39a32d5cd28a1de600) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends105 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps04.s160", 0x100000, 0x200000, CRC(85b49375) SHA1(d8371fd2abe4c7f4a07ddbc0698e1e641a1e0531) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends106 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps05.s160", 0x100000, 0x200000, CRC(0a5bf0fc) SHA1(ebd5f323f8e1150b96ee2c15ffc6140ad073c9fd) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends107 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps06.s160", 0x100000, 0x201228, CRC(d473702c) SHA1(35c86f453463990acfb550c3b94823e6b117ecdb) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends108 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps09.rom", 0x100000, 0x200000, CRC(0cc21921) SHA1(2d025a608df40248c6d5a4474d61a86664e06f9e) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends109 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps10.rom", 0x100000, 0x200000, CRC(42d567eb) SHA1(12bdaf6a6ca1291416b74e9883a2030e161cb0c1) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends110 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps11.rom", 0x100000, 0x200000, CRC(59ef964b) SHA1(53433b1e955d84ed94d3943c6d659ba00d204f66) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + +ROM_START( orlegends111 ) //orlegendnote + ROM_REGION( 0x600728, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "p0103_ps12.rom", 0x100000, 0x200728, CRC(faca9018) SHA1(91ad53800ecd8160d3eadf4acc4d7bc560ea95cb) ) + + ROM_REGION( 0x800000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "pgm_t0100.u8", 0x180000, 0x400000, CRC(61425e1e) SHA1(20753b86fc12003cfd763d903f034dbba8010b32) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "pgm_a0100.u5", 0x0000000, 0x400000, CRC(8b3bd88a) SHA1(42db3a60c6ba9d83ebe2008c8047d094027f65a7) ) + ROM_LOAD( "pgm_a0101.u6", 0x0400000, 0x400000, CRC(3b9e9644) SHA1(5b95ec1d25c3bc3504c93547f5adb5ce24376405) ) + ROM_LOAD( "pgm_a0102.u7", 0x0800000, 0x400000, CRC(069e2c38) SHA1(9bddca8c2f5bd80f4abe4e1f062751736dc151dd) ) + ROM_LOAD( "pgm_a0103.u8", 0x0c00000, 0x400000, CRC(4460a3fd) SHA1(cbebdb65c17605853f7d0b298018dd8801a25a58) ) + ROM_LOAD( "pgm_a0104.u11", 0x1000000, 0x400000, CRC(5f8abb56) SHA1(6c1ddc0309862a141aa0c0f63b641aec9257aaee) ) + ROM_LOAD( "pgm_a0105.u12", 0x1400000, 0x400000, CRC(a17a7147) SHA1(44eeb43c6b0ebb829559a20ae357383fbdeecd82) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "pgm_b0100.u9", 0x0000000, 0x400000, CRC(69d2e48c) SHA1(5b5f759007264c07b3b39be8e03a713698e1fc2a) ) + ROM_LOAD( "pgm_b0101.u10", 0x0400000, 0x400000, CRC(0d587bf3) SHA1(5347828b0a6e4ddd7a263663d2c2604407e4d49c) ) + ROM_LOAD( "pgm_b0102.u15", 0x0800000, 0x400000, CRC(43823c1e) SHA1(e10a1a9a81b51b11044934ff702e35d8d7ab1b08) ) + + ROM_REGION( 0x600000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "pgm_m0100.u1", 0x400000, 0x200000, CRC(e5c36c83) SHA1(50c6f66770e8faa3df349f7d68c407a7ad021716) ) +ROM_END + + /************* + The Gladiator +****************/ +ROM_START( theglads01 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas.bin", 0x0188, 0x3e78, CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "v107_ph01.u26", 0x000000, 0x200000, CRC(aba60d88) SHA1(953f6476871c2ad32b195e231c4a07ec3ddfb5b5) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglads02 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas.bin", 0x0188, 0x3e78, CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "v107_ph02.u26", 0x000000, 0x200000, CRC(8187ce9d) SHA1(3670eb61c458a8e5aa32a087574de865a51263ee) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglads03 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas.bin", 0x0188, 0x3e78, CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "v107_ph03.u26", 0x000000, 0x200000, CRC(78959ea7) SHA1(a4591431bbdbfd2ae2912264bad268e91862d240) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglads04 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas.bin", 0x0188, 0x3e78, CRC(02fe6f52) SHA1(0b0ddf4507856cfc5b7d4ef7e4c5375254c2a024) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "v107_ph04.u26", 0x000000, 0x200000, CRC(8c8eb98e) SHA1(6868da4136d6594586997abe0629c61ff5303214) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglads05 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "u2_pw01.rom", 0x000000, 0x200000, CRC(e9ebb722) SHA1(03a4f4c9541b7c605381537f4490b236d6993f2f) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglads06 ) //theglad100 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "u2_pw02.rom", 0x000000, 0x200000, CRC(90061701) SHA1(0eeef7257c2ea706e037551b0def27d8fae5889e) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglads07 ) //theglad100 + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "thegladpcb_igs027a_v100_japan.bin", 0x0188, 0x3e78, CRC(d7f06e2d) SHA1(9c3aca7a487f5329d84731e2c63d5ed591bf9d24) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "u2_pw03.rom", 0x000000, 0x200000, CRC(8ec8724b) SHA1(bd11dc3be6e1277e612a7c159f5a4f5d84742b12) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +ROM_START( theglads08 ) + ROM_REGION( 0x600000, "maincpu", 0 ) + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "v101_u6.u6", 0x100000, 0x080000, CRC(f799e866) SHA1(dccc3c903357c40c3cf85ac0ae8fc12fb0f853a6) ) + + ROM_REGION( 0x4000, "prot", 0 ) + ROM_LOAD( "theglad_igs027a_execute_only_area", 0x0000, 0x00188, NO_DUMP ) + ROM_LOAD( "theglad_igs027a_v100_overseas_pw01.bin", 0x0188, 0x3e78, CRC(bb1f6013) SHA1(ac6109c64ed775dd38e732fc0f517db026f4239f) ) + + ROM_REGION32_LE( 0x800000, "user1", 0 ) + ROM_LOAD( "v101_pw01.u26", 0x000000, 0x200000, CRC(9629273b) SHA1(3004d44079ddd680ea426b00b2bcff5e9e123e81) ) + + ROM_REGION( 0xa00000, "tiles", 0 ) + PGM_VIDEO_BIOS + ROM_LOAD( "igs_t04601w64m.u33", 0x180000, 0x800000, CRC(e5dab371) SHA1(2e3c93958eb0326b6b84b95c2168626f26bbac76) ) + + ROM_REGION16_LE( 0x2000000, "sprcol", 0 ) + ROM_LOAD( "igs_a04601w64m.u2", 0x0000000, 0x0800000, CRC(d9b2e004) SHA1(8e1882b800fe9f12d7d49303e7417ba5b6f8ef85) ) + ROM_LOAD( "igs_a04602w64m.u4", 0x0800000, 0x0800000, CRC(14f22308) SHA1(7fad54704e8c97eab723f53dfb50fb3e7bb606d2) ) + ROM_LOAD( "igs_a04603w64m.u6", 0x1000000, 0x0800000, CRC(8f621e17) SHA1(b0f87f378e0115d0c95017ca0f1b0d508827a7c6) ) + + ROM_REGION16_LE( 0x1000000, "sprmask", 0 ) + ROM_LOAD( "igs_b04601w64m.u11", 0x0000000, 0x0800000, CRC(ee72bccf) SHA1(73c25fe659f6c903447066e4ef83d2f580449d76) ) + ROM_LOAD( "igs_b04602w32m.u12", 0x0800000, 0x0400000, CRC(7dba9c38) SHA1(a03d509274e8f6a500a7ebe2da5aab8bed4e7f2f) ) + + ROM_REGION( 0x1000000, "ics", 0 ) + PGM_AUDIO_BIOS + ROM_LOAD( "igs_w04601b64m.u1", 0x400000, 0x800000, CRC(5f15ddb3) SHA1(c38dcef8e06802a84e42a7fc9fa505475fc3ac65) ) +ROM_END + +/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */ +// Homebrew +GAME( 2006, pgemeni, pgm, pgm_asic3, pgm, pgm_asic3_state, init_orlegend, ROT0, "Blastar", "P-Gemeni (2006-01-23)", MACHINE_SUPPORTS_SAVE ) // has no sound +GAME( 2005, pgmdemo, pgm, pgm_asic3, pgm, pgm_asic3_state, init_orlegend, ROT0, "Charles Doty", "Demo - PGM", MACHINE_SUPPORTS_SAVE ) // has no sound +GAME( 2006, pgmfrog, pgm, pgm_asic3, pgm, pgm_asic3_state, init_orlegend, ROT0, "Rastersoft", "Frog Feast (PGM)", MACHINE_SUPPORTS_SAVE ) +// Ketsui Arrange +GAME( 2012, ketarrb, ket, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, init_ket, ROT270, "trap15", "Ketsui: Kizuna Jigoku Tachi (2012-04-17 BACK. VER)", MACHINE_SUPPORTS_SAVE ) +// The Killing Blade +GAME( 1998, killblds01, killbld, pgm_022_025_killbld,killbld, pgm_022_025_state, init_killbld, ROT0, "DDJ", "The Killing Blade (Always Have Super Move)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, killblds02, killbld, pgm_022_025_killbld,killbld, pgm_022_025_state, init_killbld, ROT0, "DDJ", "The Killing Blade (Easy Move)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, killblds03, killbld, pgm_022_025_killbld,killbld, pgm_022_025_state, init_killbld, ROT0, "DDJ", "The Killing Blade (Enable Hidden Boss)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, killblds04, killbld, pgm_022_025_killbld,killbld, pgm_022_025_state, init_killbld, ROT0, "hack", "The Killing Blade (Qun Ying Edition, 2018-06-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, killblds05, killbld, pgm_022_025_killbld,killbld, pgm_022_025_state, init_killbld, ROT0, "hack", "The Killing Blade (Simplified, 2018-08-24)", MACHINE_SUPPORTS_SAVE ) +// Knights of Valour +GAME( 2018, kovs01, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "Creamymami", "Knights of Valour (Enhanced Power)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovs02, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Super Enhanced Version, 2018-08-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovs03, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Reduce the Damage, 2018-08-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovs04, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Super Enhanced Version (set 1), 2018-08-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovs05, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Super Enhanced Version (set 2), 2018-08-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovs06, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Super Enhanced Version of the Energy Collector, 2018-08-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovs07, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Reduce Damage to the Lowest, 2017-08-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovs08, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Reduce the Damage, 2017-08-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovs09, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Super Enhanced Version Rom Repair (set 1), 2017-05-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovs10, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (Super Enhanced Version Rom Repair (set 2), 2017-05-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovs11, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (2017 Super Enhanced Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovs12, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour (2017 The Warriors, 2017-07-18)", MACHINE_SUPPORTS_SAVE ) +// Knights of Valour 2 Plus +GAME( 2006, kov2ps01, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Warlords Furious Hack Beta, 2006-11-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2006, kov2ps02, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Warlords Furious Hack Beta, 2006-12-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2008, kov2ps03, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "tdkj009", "Knights of Valour 2 Plus (Warlords Furious Hack Beta, 2008-11-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps04, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Warlords Original Hack v3.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps05, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Fast Gas Collection)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps06, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Enable Hidden Characters)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps07, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "fenguan34", "Knights of Valour 2 Plus (Special Revision Moved Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps08, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Gai Shi Wu Shen First Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps10, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "007325", "Knights of Valour 2 Plus (Unrecognizable Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps11, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Imitation 32 violent version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps12, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Military Commander vs. Zhenzhen Lubu)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps13, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Metamorphosis Lu Bu Official Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps14, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (BT Sun Quan)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps15, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Metamorphosis Lu Bu And Other Versions)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps16, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "baby123123", "Knights of Valour 2 Plus (Tempest Counterattack Version Mid-Autumn Preview)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps17, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "liuxujie", "Knights of Valour 2 Plus (The Overall Revised Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps18, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "lichenzhao", "Knights of Valour 2 Plus (Positive Character Best Weapon & Negative Character Reinforcements)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps19, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "qqq88844", "Knights of Valour 2 Plus (Authentic PLUX version V1.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps20, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "qqq88844", "Knights of Valour 2 Plus (Authentic PLUX version V1.5)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps21, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "fyc123", "Knights of Valour 2 Plus (Enhanced Version V2.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps22, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Qun Xiong Hegemony 204 Version Of The Super Modification)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps23, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "gameko789", "Knights of Valour 2 Plus (Enhanced Version V2.5)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps24, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "3DS", "Knights of Valour 2 Plus (Unlimited Props)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps25, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "gameko789", "Knights of Valour 2 Plus (Enhanced version V3.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps26, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Military Division Enhanced Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps27, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (There Is No Time Limit For Reinforcements)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps28, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Quick Set Gas And Infinite Time Reinforcements Props Unlimited)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps29, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Edition, 2018-07-19)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2001, kov2ps31, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Zhen Lu Bu - Jun Lin Tianxia)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps32, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "gameko789", "Knights of Valour 2 Plus (Plus !!!)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps33, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Max Power, Hacks Alternate Set 01)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2001, kov2ps34, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Plus Storm Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps35, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Add character, Max Power, Max Live)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2016, kov2ps36, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Magic Weapon Updated Version, 2016-08-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps37, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Magic Weapon Updated Version, 2016-10-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps38, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Flying Dragons in the sky, 2016-05-05)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2016, kov2ps39, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Unparalleled Groups 51 New Edition, 2016-04-30)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2016, kov2ps40, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (The New World Matchless Situation, 2016-02-01)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2016, kov2ps41, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Wushuang Qunying Second Edition, 2016-01-16)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2016, kov2ps42, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Sweeping the Second Army, 2016-01-17)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2016, kov2ps43, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Unrecognizable, 2016-01-17)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2015, kov2ps44, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Unknown Hack, 2015-09-10)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2016, kov2ps45, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Fluttering in the world, 2016-01-02)", MACHINE_SUPPORTS_SAVE ) //This roms is already verified +GAME( 2016, kov2ps46, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Unknown Hack, 2016-07-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps47, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (San Guo Wu Shuang 2018, 2018-04-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps48, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Gai Shi Wu Shuang 2016, 2016-07-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps49, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Feng Ye Dai Bi, 2016-09-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps51, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Imitation 32 Storm Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps52, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Qun Mo Luan Wu Fu Mo Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps53, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Ming Yue Hua Cai)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps54, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Tian Wai Shen Bing)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps56, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (San Guo Wu Shuang 2018, 2018-06-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps57, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Maple Leafwriting, 2018-01-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2ps58, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Thunder, 2017-02-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2ps59, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Gesang Musou 2016, 2017-02-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps60, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Qun Ying 2018)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps61, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Gai Shi Wu Shuang, 2018 2018-06-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps62, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Maple Leaf Yuanqing, 2018-07-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps63, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Jun Lin Tianxia Update, 2016-11-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps64, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Ling Hun Bo Li, 2018-09-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps65, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Yi Tong Qun Xiong)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps66, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Shen Yuan Qun Ying)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps67, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Gai Shi Wu Shen New 2, 2016-01-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps68, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (2p full attack version, 2016-10-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps69, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (King of the world, 2016-08-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps70, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (King of the world, 2016-10-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps71, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Plus, 2016-10-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps72, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Full attack version, 2016-10-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps73, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Update 1612, 2016-11-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps74, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Full attack version Updated, 2016-11-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps75, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (No Pairs English Update, 2016-11-28)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps76, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Heroes of the World 2016, 2016-11-23)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps77, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (The new world, 2016-11-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps78, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Gods weapon update version, 2016-11-23)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2ps79, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Hero Edition, 2016-11-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps80, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (World Warriors 2016, 2018-07-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps81, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (World Warriors Perfect Edition, 2018-08-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps83, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Days of Falling Soldiers - Legend of Kowloon, 2018-09-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps84, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Kowloon Legend, 2018-09-24)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps85, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Soul Stripping, 2018-10-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kov2ps86, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Shenwu Legend, 2019 2019-01-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kov2ps87, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Cangtian Route, 2019-01-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps88, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Unknown Hack, 2018-03-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps89, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Unknown Hack, 2018-07-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kov2ps90, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Ching Ying, 2019-01-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2ps91, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (The Warriors Edition 2016, 2018-06-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps92, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (God of War Musou, 2020-03-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps93, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Heroes, 2020-05-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps94, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Dragon And Phoenix Dance, 2020-05-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps95, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Shenbing Mushuang, 2020-05-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps96, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Heroes of the World, 2020-05-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps97, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Dragon And Phoenix Dance, 2020-05-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps98, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (God of War Musou, 2020-05-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps103, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Qi Men Dunjia, 2020-08-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps104, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Martial Universe, 2020-08-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2ps106, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (God of War Musou, 2020-09-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kov2ps107, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Mingyue Huacai, 2019-03-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kov2ps108, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Tianhuo Mingming, 2019-10-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps110, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (found version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps111, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "007325", "Knights of Valour 2 Plus (Integrated version)(ver. M204XX, 200, 100CN)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps112, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "hack", "Knights of Valour 2 Plus (Unknown Hack)(Set 01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps113, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "Wuyd", "Knights of Valour 2 Plus (Unparalleled beta)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps114, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "rote", "Knights of Valour 2 Plus (Changed Zhang Liao Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, kov2ps115, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2p, ROT0, "IGS", "Knights of Valour 2 Plus (Unknown Hack)(Set 02)", MACHINE_SUPPORTS_SAVE ) +// Knights of Valour 2 +GAME( 2000, kov2s01, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "lichenzhao", "Knights of Valour 2 (Full Character Initial Equipment Full Weapon V2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, kov2s02, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Easy Max Power, Hacks Alternate Set 01)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2000, kov2s03, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Boss,Hack Alternate Set)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2000, kov2s04, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Simple Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, kov2s05, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Easy Max Power, Life Max, Hacks Alternate Set 03)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2016, kov2s06, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Gods and Soldiers will be the second edition, 2016-01-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, kov2s07, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "lichenzhao", "Knights of Valour 2 (Full Character Initial Equipment)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, kov2s08, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "lichenzhao", "Knights of Valour 2 (All Characters Initially Open All Skills)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, kov2s09, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "lichenzhao", "Knights of Valour 2 (Full Character Initial Equipment Full Weapon)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, kov2s10, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Hidden Characters Are Fully Open)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, kov2s11, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Hidden Characters Full-Opening Reinforcements No Time Limit Props No Time Limit)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2s12, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Frosty Edition, 2017-02-04)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2s13, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (1v4 Edition, 2018-07-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kov2s14, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Full Attack Version, 2016-08-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2s15, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Enhanced Edition, 2017-08-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2s16, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Enhanced Edition, 2017-06-28)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2s17, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Enhanced Edition, 2017-06-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2s18, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Enhanced Edition, 2017-06-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2s19, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Enhanced Edition, 2017-06-09)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kov2s20, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Enhanced Edition, 2017-06-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kov2s21, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (1v4 Edition, 2018-07-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s22, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (1v3 Edition, 2020-02-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s23, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Green Edition, 2020-05-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s24, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Green Edition, 2020-06-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s25, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Green Edition, 2020-07-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s26, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Green Edition, 2020-07-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s27, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Green Edition, 2020-08-23)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s28, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (1V4 Edition, 2020-07-02)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s29, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Green Edition, 2020-09-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kov2s30, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, init_kov2, ROT0, "hack", "Knights of Valour 2 (Green Edition, 2020-10-15)", MACHINE_SUPPORTS_SAVE ) +// Knights of Valour Plus +GAME( 2012, kovps01, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "Hui Yi", "Knights of Valour Plus 2012 (Hack set 17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovps02, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "Hui Yi", "Knights of Valour Plus 2012 (Hack set 18)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps03, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "Huangxu", "Knights of Valour Plus (Rich World Perfect Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps04, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic Hacks Tour Together Enhanced Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovps05, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic 2012 Nightmare Version Swim Gather Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovps06, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic 2012 Nightmare Version (Old Version))", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovps07, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic 2012 Unparalleled Version Of Tour Gather)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps08, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Double Qin Double Dominate The World To Commemorate The Special Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps09, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "huangxu", "Knights of Valour Plus (Royal Sword Flight)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps10, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "huangxu", "Knights of Valour Plus (Righteous Spirit)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps11, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "RockyWall", "Knights of Valour Plus (Simulator Bug Is Fully Repaired)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps12, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Kingdoms Warriors 2015 Amazing Change purgatory)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps13, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Kingdoms Warriors 2015)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps14, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Kingdoms Warriors 2015 Unparalleled Purgatory)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps15, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (King Of The Three King Spike The New Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps16, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Kingdoms War Authentic BAKA)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovps17, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Kingdoms Wars)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps18, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (The Three Kingdoms Great God Road, 2016-09-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps19, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Kingdoms Jiqin Double Love 2015 Enhanced Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps20, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (War Of The Three Kingdoms 2015 Nightmare Advent)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovps21, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (2012 Authentic Nightmare Come)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovps22, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (Wars Musou, 2012-07-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps23, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2015 (Authentic 2015 Nightmare, 2015-07-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps24, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2015 (Wars Musou 2015, 2015-08-09)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps25, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Sanguozhanji Authentic King Spike, 2016-02-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps26, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Musou 2015 Unparalleled Purgatory, 2015-12-23)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps27, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Musou 2015 Variety Purgatory, 2015-12-23)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps28, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Qin Double Love 2015 Enhanced Edition, 2015-08-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps29, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Kings Smash New Version, 2016-09-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps30, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Wars 2015 Variety purgatory)", MACHINE_SUPPORTS_SAVE ) +GAME( 2009, kovps31, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic 2009)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovps32, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic 2012 Tour Gatherings)", MACHINE_SUPPORTS_SAVE ) //File Not Yet Checked +GAME( 2016, kovps33, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Revived 2016 Edition, 2016-04-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps34, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (Warriors Edition, 2016-12-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovps35, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Dragon Finch Update, 2017-05-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovps36, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Legend of Tu Mi, 2018-05-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovps37, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (Warriors Edition, 2017-04-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovps38, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Beer Dream, 2017-04-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps39, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Seckilling, 2016-04-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2014, kovps40, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (E Meng Jiang Lin 2014, 2014-05-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovps41, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Wu Shuang 2012 Edition 2017)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps42, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic Baka, 2016-08-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps43, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Authentic PLUS Eight Gods Edition, 2016-08-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps44, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Original Version Completely Repaired The Bug Version, 2016-09-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps45, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Zhuge rainy seconds boss + Zilong Zhuque + characters refueling admission, 2016-09-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2010, kovps46, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Unlimited gas + infinite card Tianshu + can take 4 swords etc, 2010-12-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2014, kovps47, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Soldier double infinity unlimited book, 2014-04-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps48, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Three Kingdoms, 2016-09-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps49, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Dragon Suzaku 2nd Edition, 2016-10-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps50, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Zilong Suzaku, 2016-09-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovps51, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Great God Road 2018 Final Edition, 2018-07-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps52, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Unrivalled in the World, 2016-09-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovps53, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Infinite Power, 2019-02-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps54, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Rerise of Shu, 2016-03-02)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps55, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2007 (2015-06-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovps56, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (2015-06-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovps57, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Classic Unrivalled Version, 2016-01-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovps58, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Dream of Shuang Er, 2018-01-09)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovps59, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Dream of Tu Mi, 2018-03-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovps60, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (Legend Of Ares 2020, 2019-08-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovps61, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (Warriors Classic Edition, 2020-01-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovps62, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, init_kovboot, ROT0, "hack", "Knights of Valour Plus (Spike Edition, 2019-09-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovps63, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, init_kovboot, ROT0, "hack", "Knights of Valour Plus (2012S Edition, 2019-09-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovps64, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Perfect Bug Fix, 2018-02-24)", MACHINE_SUPPORTS_SAVE ) //Name of the unknown roms +GAME( 2020, kovps65, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (Tu Tuo legend plus, 2020-05-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovps66, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus (The Legend of Tu Ya Plus, 2020-06-28)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovps67, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (You Ju Edition, 2020-08-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovps68, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (You Ju Restored Version, 2020-08-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovps69, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, init_kov, ROT0, "hack", "Knights of Valour Plus 2012 (Warriors Edition, 2020-10-10)", MACHINE_SUPPORTS_SAVE ) +// Knights of Valour Super Heroes / Quanhuang Sanguo Tebie Ban +GAME( 1999, kovshs02, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Hack set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs03, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Hack set 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovshs04, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Three Wars Revival Original 2016 Remake)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 1999, kovshs06, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "Shuanger", "Knights of Valour Super Heroes (Zhao Mystery)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs07, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovqhsgs, ROT0, "hack", "Quanhuang Sanguo Tebie Ban (Three Kingdoms Wars - King of Fighters)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs08, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovqhsgs, ROT0, "hack", "Quanhuang Sanguo Tebie Ban (4 Times Sent Out Test)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs09, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovqhsgs, ROT0, "huangxu", "Quanhuang Sanguo Tebie Ban (Four Swords Legend)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs10, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Hack set 10)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs11, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Hack set 11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovshs17, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Feng Yun Zai Qi Xin Si Jian Chuan Shuo 2015-11-05)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 1999, kovshs18, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "Grand", "Knights of Valour Super Heroes (Q version of the Three Kingdoms G2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs19, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Hack set 19)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs22, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "Creamymami", "Knights of Valour Super Heroes (Enhanced Power)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs23, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Kof Robert Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs25, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Boss Battle Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs28, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Crazy Cloud Renewed New Year's Day Invincible Version Of Invincible)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs31, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Xie Feng Tian Chi B4)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs32, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Huang Yueying)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs33, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Huang Yueying Upgraded Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs34, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Chaos Of The World 3.25)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs35, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Super Enhanced Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs36, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Chaos Of The World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs38, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Rising Fusion Edition - Dream Three Kingdoms)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs39, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Clouds Re-Launch Version Of The Military Will Compete For The Beta2 Miracle Of The Three Kingdoms)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs40, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (The World Is In Turmoil)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs41, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Rising Fusion Version - Qunxiong Hegemony Beta 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs43, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Rising Fusion Version - Qunxiong Hegemony Beta 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs44, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Rising Fusion Version - Qunxiong Hegemony Beta 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs47, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Rising Fusion Version - Qunxiong Hegemony Beta 6)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs48, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Rising Fusion Version - Qunxiong Hegemony Beta 7)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs50, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Storm Rising Fusion Version - Qunxiong Hegemony Beta 8)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs52, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Three Kingdoms, The British Biography, The God Of War, Lu Bu)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs53, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Three Kingdoms)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs57, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Legend Of The Valkyrie Double Boss Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs61, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Battle Of The king)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs64, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Evil Phoenix)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs65, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Bloody Clouds)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs67, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Original Character Generals Score Enhancement)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs68, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Original Optimized Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs72, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Undo The Number Of Items)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs73, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Turn On Hidden Characters)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs75, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "huangxu", "Knights of Valour Super Heroes (Regression version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs76, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Evil Feng Tian Chi Online Battle / Evil Feng Tian Chi Hack (V106) B4 (Super Beta))", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs78, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Evil Feng Tianqi Online Battle / Evil Feng Tian Chi B4 Evil Phoenix Battle)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs80, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Chaos In The Sky, Super Enhanced Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs82, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "sertsuna", "Knights of Valour Super Heroes (Reinforcement Damage Repair)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs83, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "yuanshaoning", "Knights of Valour Super Heroes (Bug Repair Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs85, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Fix Hack Timer Color)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs86, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Lub Stable)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs88, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "huangxu", "Knights of Valour Super Heroes (Four Swords Legend)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs90, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Random Level 108 Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs91, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Restore FZ fonts)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, kovshs93, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Like The Chaos Of The World - The Military Commander Mode - The Character Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovshs108, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Fengyun 2016 Update 2017 Edition 2, 2017-01-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovshs109, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Fengyun 2016 Update 2017 Edition, 2017-01-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovshs110, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Feng Yun Zai Qi Yue Hua Chuan Shuo, 2015-11-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2014, kovshs112, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Wang Zhe Zhi Zhan Double Dragon, 2014-05-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovshs114, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Fengyun 2016 Final Edition, 2016-09-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovshs115, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Fengyun 2016 Final Edition 2, 2016-09-10)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovshs119, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (The Central Plains, 2019-01-02)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovshs121, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Legend Of Moonlight, 2019-03-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2014, kovshs122, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovsh, ROT0, "hack", "Knights of Valour Super Heroes (Unknown Hack, 2014-06-07)", MACHINE_SUPPORTS_SAVE ) +// Knights of Valour Super Heroes Plus +GAME( 2015, kovsho01, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (In the troubled times, Xiongxiong strengthened the 1.8 reinforcements and did not crash 01, 2015-02-15)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2014, kovsho02, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled people in the world to strengthen the 1.9 reinforcements without a crash, 2014-08-29)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2004, kovsho03, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Lawrence of chaos Sanguozhanji Enhanced Version Of 2014)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho04, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Troubled Times Enhanced Version Taiping)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2016, kovsho05, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (the Pacific World, The Pro Version, The Second Edition, 2016-05-11)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2016, kovsho06, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Troubled Times Lawrence Of The New Enhanced Version Fifty-One 2nd Edition, 2016-05-05)", MACHINE_SUPPORTS_SAVE ) // This roms is already verified +GAME( 2004, kovsho07, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Troubled Times Enhanced Version Kof 94/95 Set 01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovsho08, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Troubled Times Enhanced Version Kof 94/95 Set 02, 2016-06-08)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovsho09, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Troubled Times Lawrence Of Version 103, 2016-06-08)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho10, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Troubled Times Enhanced Version Kof 94/95 Set 03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho11, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho12, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Ying Xiong 2.8 - E Meng Edition, 2018-03-31)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho13, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Xiao Xiong Plus 2018, 2018-01-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho16, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Chaos of the World)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho17, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times 1.2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho18, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times 1.3, 2018-07-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho19, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled World Plus 1.4)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho20, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troublesome Plus 1.4)(Fix)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho21, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Plus 1.5)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho22, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Plus 1.5)(Ver. 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho28, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Grand", "Knights of Valour Super Heroes Plus (Q Version Of The Three Kingdoms, First Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho29, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Grand", "Knights of Valour Super Heroes Plus (Q version Of The Three Kingdoms, Old Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho30, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Grand", "Knights of Valour Super Heroes Plus (Q Version Of The Three Kingdoms G5 Beta)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho31, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Rockman G)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho32, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Break Four Strokes One Style: Unlimited)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho33, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Red Clothes Zhao Yun, set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho34, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Blue Zhao Yun)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho35, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (In The Chaos Of The World, The Four Big Black Characters Plus The Switch)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho36, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Hooooook", "Knights of Valour Super Heroes Plus (Fractional Micro Repair)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho37, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Hooooook", "Knights of Valour Super Heroes Plus (Score Defense Enhancement)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho38, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Hooooook", "Knights of Valour Super Heroes Plus (Solve The Invincible Soldier)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho40, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Kingdoms Wars - Heroes of the World 2.4)(Alt)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho41, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Kingdoms Wars - Heroes of the World 2.6)(Alt)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho42, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Heroes 6.21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho43, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Energy Free)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho44, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Sima Yi Recruited Conditional Repair)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho45, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Immortal Pen Change Probability Change)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho46, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Immortal Pen Change Probability Change 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho47, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Kingdoms Wars Tour version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho48, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times 1.3)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho49, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times 1.6)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho50, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled World Plus 1.7 Tour Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho51, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled World Plus Edition 1.8 Three Kingdoms Westward Tour)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho52, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Red Clothes Zhao Yun, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho53, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Blue Zhao Yun 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho54, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (The Chaotic World Four Big Black Characters Plus Switch)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho55, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Hooooook", "Knights of Valour Super Heroes Plus (Fractional Micro Repair 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho56, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Hooooook", "Knights of Valour Super Heroes Plus (Score Defense Enhancement 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho57, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "Hooooook", "Knights of Valour Super Heroes Plus (Solve The Invincible Soldier 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho58, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled In The World)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho59, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Energy Free 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho60, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Sima Yi Recruited Conditional Repair 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho61, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (The Three Kingdoms Wars Unified Central Plains)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho62, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times 1.6a)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho63, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Chaos)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho64, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times 1.2a)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho65, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times 1.4)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovsho66, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Three Kingdoms Wars Taiping Chaos, 2016-03-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho67, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Xiao Xiong Ne Zhe Huo Lun, 2018-01-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho68, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times, Gods at Dusk, Dawn Edition, 2017-10-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho69, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Xiao Xiong Zhao Zi Long, 2017-10-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho70, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Xiao Xiong Tai Pin Lun Shi, 2017-12-31)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho71, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Chaos Of The Gods Dusk, 2017-01-08)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovsho72, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Turbulent World 1v4 Strengthen 2016, 2016-12-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho74, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Memorial Gods Dusk Update, 2017-03-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho75, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Enhanced Edition, 2017-08-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho76, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Enhanced Edition, 2017-08)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho78, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Zhu Shen Huang Hun Li Ming Edition, 2018-05-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho79, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Ying Xiong Shen Zhang Fei Zhang Liao, 2018-04-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovsho81, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Enhanced version 2, 2015-12-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovsho82, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (The World Wars, 2015-12-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovsho83, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Nightmare Edition + 1v4 Super Edition, 3rd Edition, 2016-07-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, kovsho84, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Heroes Nightmare Edition, 2016-07-02)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho85, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Chaotic hero god cloud VS dog god, 2018-08-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho86, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Zhao Zilong Edition Update, 2018-09-09)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho87, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Plus 2018, 2018-08-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho88, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Blood Zhao Yun update, 2018-09-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho91, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Fighting Deer Update, 2018-09-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho93, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Edition 2019, 2019-03-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho94, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Enhanced Version 1.9, 2019-03-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho95, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Fighting Deer Update, 2019-03-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho98, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Fighting Deer Update, 2019-04-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho101, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Luan Shi Ying Xiong - Qun Xiong Zhu Lu (hack of ver. 500 2017)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho102, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Luan Shi Ying Xiong - Qun Xiong Zhu Lu Plus (hack of ver. 500 2017)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho104, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Fighting Deer Update, 2019-04-23)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho109, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Fighting Deer Update, 2019-07-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho111, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors In Troubled Times, 2019-11-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho112, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors Warlords, 2019-11-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho113, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors Edition, 2019-12-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho114, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Musou Combo Edition, 2019-12-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho115, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors World War II, 2019-12-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho116, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Unification Of Central Plains Warriors, 2019-10-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho117, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Central Plains Gold Edition, 2019-10-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho118, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Heavenly Kingdom Protoss, 2020-01-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho120, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors Edition, 2020-01-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho121, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors Edition, 2020-01-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho122, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (The Best firepower 1v4, 2020-01-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho123, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (The Best Firepower In 2020 2020-01-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho125, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Troubled Times, 2019-05-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho126, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Heroes Of The Destroyer, 2019-05-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho128, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War 2019, 2019-05-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho129, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War 2019, 2019-02-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho130, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Gone With The Wind Warriors 2019, 2019-02-28)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho131, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War 2019, 2019-02-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho132, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War Uranus Edition, 2019-02-28)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho133, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Taiping Chaos Legend Edition, 2019-02-28)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho134, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War, 2019-01-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho135, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Special Edition, 2019-01-04)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho137, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War, 2019-02-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho138, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War Uranus Edition, 2019-02-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho140, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Taiping Chaos Legend Edition, 2019-03-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho141, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War, 2019-03-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho142, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Gone With The Wind Warriors 2019, 2019-03-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho144, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War, 2019-01-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho146, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War, 2019-07-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho148, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Green Edition, 2019-09-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho149, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Journey To The West 2019, 2019-08-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho152, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Super Hero Qun Xiong Zhu Lu, 2017-10-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho153, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Bloody Battle Against All Quarters, 2017-10-02)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho155, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (hack of ver. 500, 2017-11-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho156, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Bloody Battle Against All Quarters, 2017-08-26)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho157, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Ying Xiong Qiu Sheng Qun Xiong Zhu Lu Edition, 2018-09-02)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho159, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Ying Xiong 2.7S Tian Wang Edition 2018, 2018-08-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2014, kovsho162, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Heavenly King Edition, 2014-07-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovsho163, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Heavenly King Edition, 2012-11-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, kovsho164, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Heavenly King Edition, 2012-04-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovsho165, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Enhanced Version of 2015, 2015-12-10)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, kovsho171, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Enhanced Edition, 2015-01-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho172, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Zhao Zilong Edition, 2018-06-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho173, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (EX, 2020-02-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, kovsho174, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Plus, 2018-07-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho175, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (The Best Firepower In 2020, 2020-02-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho176, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (The Best firepower 1v4, 2020-02-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho177, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (2020 Seven Stars Reincarnation Athena Edition, 2020-02-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho178, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors Edition, 2020-02-04)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, kovsho180, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Xiao Xiong Tai Pin Lun Shi, 2018-02-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho182, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Luan Shi Ying Xiong)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho183, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Blue Version, 2019-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, kovsho184, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Edition, 2019)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho185, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (Yellow Hat Edition, 2020-03-08)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho186, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Yellow Hat Edition, 2020-03-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho187, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Warriors Edition, 2020-03-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho188, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Knights of Valour Super Heroes Plus (God of War, 2020-07-10)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho189, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (You Ju Edition, 2020-03-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho190, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Green Edition Version A, 2020-07-31)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho191, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Random Edition, 2020-09-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, kovsho192, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshp, ROT0, "hack", "Knights of Valour Super Heroes Plus (Zhao Yun Dead World Edition, 2020-09-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho193, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Aoshi Sanguo (Troubled Hero)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho194, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Aoshi Sanguo (Metamorphosis V0.1)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, kovsho195, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Aoshi Sanguo (Chaos King)", MACHINE_SUPPORTS_SAVE ) //Lost roms generating incomplete graph +GAME( 2015, kovsho196, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, init_kovshxas, ROT0, "hack", "Aoshi Sanguo (Unknown Hack, 2015-12-11)", MACHINE_SUPPORTS_SAVE ) +//Martial Masters +GAME( 2001, martmasts01, martmast, pgm_arm_type2, martmast, pgm_arm_type2_state, init_martmast, ROT0, "0 Days", "Martial Masters (Enable Hidden Characters)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, martmasts02, martmast, pgm_arm_type2, martmast, pgm_arm_type2_state, init_martmast, ROT0, "DDJ", "Martial Masters (All Super Move)", MACHINE_SUPPORTS_SAVE ) //press ac or bd +GAME( 2016, martmasts03, martmast, pgm_arm_type2, martmast, pgm_arm_type2_state, init_martmast, ROT0, "DDJ", "Martial Masters (Always Have Super Move)", MACHINE_SUPPORTS_SAVE ) +//Oriental Legend Super / Xiyou Shi E Chuan Super +GAME( 1998, olds01, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "Creamymami", "Oriental Legend Special (Enhanced power)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds02, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "Xyahzhs", "Oriental Legend Special (West S-Fengyun Restarts B2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds03, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Boss Battle Mode)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds04, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "QQ84381882", "Oriental Legend Special (Perfect Conqueror)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds05, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Enemy Wukong)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds06, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Enemy Wukong 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds07, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Super Perfect Big Magic And Small Magic)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds08, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Phoenix Dance Nine Days)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds09, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Phoenix Dance Nine Days Second Edition Revised Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds10, olds, pgm, pgm, pgm_state, init_pgm, ROT0, "hack", "Xiyou Shi E Chuan Super (Unknown Hack, 2014-07-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds11, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The Original Moves Plus My Moves Additionally Strengthen Boss, Metamorphosis Level)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds12, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Battered Dragon Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds13, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Battered Zombie Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds14, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Dragon's Version Of Blood Can Be Sent To The Ground)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds15, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Dragon Edition Full Character Does Not Need Gas Gathering To Send All Moves)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds16, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Dragon Reduction (No Energy Version Required))", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds17, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Dragon Edition Joins The Call)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds18, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (S perfect Online Substitution [Calling Version])", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds19, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The Perfect Conqueror Of The Dance Soul West S)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds20, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dance Soul 2011 West S Is The Most Powerful Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds22, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Soul 2011 West S Is The Most Powerful Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds23, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dance Spirit West S)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds25, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The Military Commander Mode Basically Has No Bug)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds26, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Boss Battle Perfect Edition Unlimited Items)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds27, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Magician Zhao Yun Fast Gas Storage Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds28, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "Creamymami", "Oriental Legend Special (Enhanced Power/Alt)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds32, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "QQ84381882", "Oriental Legend Special (Magic Legend B2 Repair)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds33, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Unblock 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds34, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Unblock 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds35, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Quick Whirlwind Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds36, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dance Soul, 2013-09-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds37, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Can Collect Gas Magician To Fix The Hole Bug)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds41, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Magic legend)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds42, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Military Commander Test Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds43, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Evil Feng Tian Chi Modified Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds50, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The World's Unparalleled Bulls)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds51, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The World's Latest Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds52, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Haunted Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds56, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Xiyou Shie Chuan super Wu Chuan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds57, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Unknown Version 2012)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds58, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dragon Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds59, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Xiyou Shuangxiong)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds62, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Magician Zhao Yun)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds63, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Chinese Group Of Magical Dance)", MACHINE_SUPPORTS_SAVE ) +GAME( 2010, olds64, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Jing Ming Yue & Zhan Guo Wan, 2010-06-12 )", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds65, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Kof Combo Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds66, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Kof Westward Tour)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds67, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dapeng King Test Second Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds68, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "wydqzdh", "Oriental Legend Special (Kof Terry Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds69, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Sun Wukong Changed The Devil)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds71, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Walk Around)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds73, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Ghost Sword Tour)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds74, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Qitian Dasheng)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds75, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Various Restrictions Cancelled)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds76, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Repair Invincible Creeps)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds77, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (System Stability + Instruction Simplification)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds78, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Wukong Super Invincible Bug Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds79, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Goku Super Invincible + Longma Super Metamorphosis)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds80, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Full Role Super Unlimited Enhanced Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds81, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S Full Role Super Unlimited Final Repair Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds82, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (All Characters Accelerate To Various Restrictions)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds83, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Sun Wukong Invincible Bomb Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds84, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Western S's Violent Wukong Explosive Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds85, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (West S's Goku Violence Whip Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds86, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Sun Wukong Violent Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds87, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Unknown Version)(Set 01)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds88, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Unknown Version)(Set 02)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds89, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Full Character Bloodsucking Acceleration)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds91, olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Western S Super Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 2009, olds101,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Kof Westward B2 Repair Most, 2009-08-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds113,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Original Gorgeous Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds114,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Original Gorgeous Moves Canceled The Combo Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1998, olds115,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The Original Gorgeous Moves Increase One Button Energy Full)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds122,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Super World Unparalleled Latest Yuanshen Lite, 2015-01-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds123,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Wu Kong Da Luan Dou, 2015-01-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds124,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The Super Group Of The Demon Fights The Simplified Version, 2015-01-31)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds125,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (The Immortal Devil Dance 2015 Enhanced Version, 2015-01-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds126,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Enhanced version 1, 2015-12-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds127,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Enhanced version 2, 2015-12-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2009, olds128,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Super Dance Macabre 2009 Edition, 2009-12-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2010, olds129,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Super Dance Macabre 2010 Edition, 2010-12-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds130,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Super Edition Ghost Sword Journey, 2015-12-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, olds134,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Biography Super Version, 2017-02-14)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, olds135,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Remix, 2017-03-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, olds138,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Wu Zhi Shuang Mo, 2017-03-07)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, olds140,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Magical legend, 2017-03-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, olds142,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Remix enhanced version, 2018-09-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds146,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "WYDQZDH", "Oriental Legend Special (No match, Travel Edition, 2015-02-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, olds147,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (No match, Travel Edition, 2018-12-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, olds148,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Yuanling, 2019-01-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, olds149,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (1v4 simplify, 2016-05-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, olds152,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Unknown Hack, 2015-05-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2008, olds153,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Unknown Hack, 2008-09-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2011, olds154,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Gyuumaou Edition, 2011-05-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2012, olds156,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Zhao Yun & Magicia, 2012-10-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2008, olds157,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Super xftz qmlw, 2009 2008-09-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2008, olds160,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (KOF Version Terry, 2008-07-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, olds162,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Street Fighter 2, 2017-09-29)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, olds163,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Return of the Great Saint, 2019-09-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, olds164,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Promise of Magic, 2019-09-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, olds165,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Breath Enhanced Edition 2019, 2019-02-02)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, olds166,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Hack of Xi You Shi E Zhuan Super)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, olds167,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Hack of Xi You Shi E Zhuan Super, 2019-08-01)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, olds168,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Enhanced Edition, 2017-07-08)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds171,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Return of the Great Saint, 2020-07-04)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds172,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dreaming of Spiritual Mountain, 2020-07-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds173,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Zero, 2020-07-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds174,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Return of the Great Saint, 2020-07-21)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds175,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dreaming of Spiritual Mountain, 2020-07-22)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds176,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Return of the Great Saint, 2020-08-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds177,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Dreaming of Spiritual Mountain, 2020-08-04)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, olds178,olds, pgm_028_025_ol, olds, pgm_028_025_state, init_olds, ROT0, "hack", "Oriental Legend Special (Return of the Great Saint, 2020-10-14)", MACHINE_SUPPORTS_SAVE ) +// Oriental Legend Special Plus +GAME( 2016, oldsplus01, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Super Dance Macabre 2016 Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 2014, oldsplus02, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Unknown Hack, 2014-04-04)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, oldsplus03, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Super Dance Macabre 2016 Edition, 2016-02-05)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, oldsplus04, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Super Edition Macabre Enhanced Version, 2015-12-30)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus05, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Simplification Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus06, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "Xyahzhs", "Oriental Legend 2 (Simplification Version)(Alt)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus07, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "Xyahzhs", "Oriental Legend 2 (Unlimited Props)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus08, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Turn On Masking)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus09, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Unlimited Life)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus10, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (No Need To Inflate)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus11, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "Xyahzhs", "Oriental Legend 2 (Energy Mode Enhancement)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus12, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Simply Press AC Perfect!)", MACHINE_SUPPORTS_SAVE ) +GAME( 2004, oldsplus13, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Enhanced Version 1.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, oldsplus14, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (2016 Flender Dance Simplify More, 2017-01-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, oldsplus15, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Qun Mo Luan Wu Fu Mo Edition, 2017-02-13)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, oldsplus16, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Group Devil Dance 2017 Enhanced Edition Plus, 2017-01-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, oldsplus18, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Combo Plus, 2019-07-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, oldsplus19, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Xinqun Magic Ranwu 208, 2019-12-31)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, oldsplus20, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (One-Key Gorgeous Edition A Legendary Edition, 2019-01-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2011, oldsplus21, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Simplify Edition, 2011-06-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, oldsplus22, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Xinqun Magic Ranwu 208, 2019-02-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, oldsplus24, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Xinqun Magic Ranwu 208, 2020-03-09)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, oldsplus26, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (New Group Of Dances V215, 2020-06-10)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, oldsplus27, oldsplus, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, init_oldsplus, ROT0, "hack", "Oriental Legend 2 (Xinqun Magic Ranwu 208, 2020-06-09)", MACHINE_SUPPORTS_SAVE ) +// Oriental Legend Plus +GAME( 1997, orlegends01, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Easy Super Moves)", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, orlegends02, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Creamymami", "Oriental Legend (Meng Hui Ling Shan, 2016-11-04)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends03, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Enhanced Score)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends04, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Evil Wind Return The Final Version)", MACHINE_SUPPORTS_SAVE ) //(!) +GAME( 1997, orlegends05, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Plus Ver 1.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends06, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 2 Funny Innocence Plus)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends07, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 3 Phantom Legend)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends08, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 3 West Overlord)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends09, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 4 I Want To Rank)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends10, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 4 I Want To Rank Fever)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends11, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 4 I Want To Rank Pro)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends12, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 5 Very Skynet EX-2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends13, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 5 Very Skynet EX-3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends14, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 5 Very Skynet EX-3 Easy)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends16, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Warcraft Liberation 1024 Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends17, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Warcraft Liberation 1201 Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends18, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Warcraft Liberation Longma Special Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends19, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Warcraft Liberation Sha Wu Net Special Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends20, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Warcraft Liberation Sun Wukong Special Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends21, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Warcraft Liberation Little Dragon Girl Special Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends22, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Warcraft Liberation Pig Eight Rings Special Edition)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends23, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (World Of Warcraft Liberation)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends24, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Wave Power Recovery)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends25, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Super World - Red Dragon Dance 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends26, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Super World - Red Dragon Dance 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, orlegends28, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (2008 Musou Dragon Edition, 2015-02-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, orlegends29, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Thousands Of Machines Change. Variety Unparalleled 1, 2015-03-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, orlegends30, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Thousands Of Machines Change. Variety Unparalleled 2, 2015-03-25)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends31, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Thousands Of Machines Change. Variety Unparalleled 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends32, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Thousands Of Machines Change. Variety Unparalleled 4)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends33, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Thousands Of Machines. Variety Unparalleled PRO)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends34, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Koftt521", "Oriental Legend (Return of the Holy)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends35, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Plus Ver 1.1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends36, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Plus Ver 1.2 (Moves Simplified Version))", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends37, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Group Of Flurry Dance Beta 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends38, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Group Of Flurry Dance Beta 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends42, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Westbound Evil Wind Beta 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends43, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Return Of Evil Winds Beta 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends44, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Return Of Evil Winds Beta 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends45, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Return Of Evil Winds Beta 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends46, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "xyahzhs", "Oriental Legend (Join Hands)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, orlegends47, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "xyahzhs", "Oriental Legend (Join Hands 2, 2017-03-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends50, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Chaos Demon Discipline)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends51, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Small Work)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends52, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Hide The Conversation)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends53, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Wukong Legend)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends54, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Return Of Evil Winds)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends55, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Instructional Simplified Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends56, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Gold Fish)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends57, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Full-Featured Pig Journey)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends58, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Boss Weakened Version)", MACHINE_SUPPORTS_SAVE ) +GAME( 2008, orlegends60, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Jin Jiao Chuan Shuo, 2008-08-17)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends61, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Full Featured Dragon Horse)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends62, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Full Color Little Dragon Girl)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends63, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (The Full Role Of Sand Wu Net)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends64, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (The Full Role Of The Monkey King)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends67, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Super Return To Thousands Of Machines To Change 2008 v2.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 2008, orlegends69, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Yin Jiao Chuan Shuo, 2008-11-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends70, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Plus v2.0a)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends71, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Super 2008)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends74, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 5 Very Skynet Ex)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends75, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "old9977", "Oriental Legend (Super Return 5 Very Skynet)", MACHINE_SUPPORTS_SAVE ) +GAME( 2006, orlegends76, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Plus v1.3, 2006-09-12)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends77, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Enbrow", "Oriental Legend (Plus v3.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends78, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Chao Mo Ji Super v2.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends79, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "Creamymami", "Oriental Legend (Enhanced Power)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, orlegends84, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Westward Variety, World of Warcraft, 2017-02-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, orlegends87, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Westward Tour 1v4, 2017-03-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, orlegends88, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Enhanced Edition, 2015-02-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, orlegends89, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Enhanced Edition, 2015-02-20)", MACHINE_SUPPORTS_SAVE ) +GAME( 2015, orlegends91, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Enhanced Edition, 2015-02-23)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, orlegends92, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Xiyou Turned Into An Enhanced Version 2018-05-28)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends94, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Plus)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, orlegends96, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Five Elements, 2019-09-16)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, orlegends97, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "GOTVG", "Oriental Legend (Unknown Hack, 2019-05-24/Set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 2019, orlegends98, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "GOTVG", "Oriental Legend (Unknown Hack, 2019-05-24/Set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2011, orlegends99, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Chinese Substrate Simplified, 2011-01-19)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, orlegends100, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (4v1 Simplified Edition, 2018-06-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, orlegends101, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Note version, 2018-06-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, orlegends102, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Marriage Together Edition, 2020-05-15)", MACHINE_SUPPORTS_SAVE ) +GAME( 2013, orlegends103, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Unknown Hack, 2013-02-11)", MACHINE_SUPPORTS_SAVE ) //(!) +GAME( 2017, orlegends104, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Unknown Hack, 2017-10-05)", MACHINE_SUPPORTS_SAVE ) //(!) +GAME( 1997, orlegends105, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Unknow Hack)", MACHINE_SUPPORTS_SAVE ) //(!) +GAME( 1997, orlegends106, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Evil Spirit Plus)", MACHINE_SUPPORTS_SAVE ) //(!) +GAME( 1997, orlegends107, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Plus Revision)", MACHINE_SUPPORTS_SAVE ) //(!) +GAME( 1997, orlegends108, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Skills Instruction Is Simplified)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends109, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Super Qigong)", MACHINE_SUPPORTS_SAVE ) +GAME( 1997, orlegends110, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Super Moves)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, orlegends111, orlegend, pgm_asic3, orlegend, pgm_asic3_state, init_orlegend, ROT0, "hack", "Oriental Legend (Note Edition, 2017-06-13)", MACHINE_SUPPORTS_SAVE ) +// The Gladiator +GAME( 2003, theglads01, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglad, ROT0, "Hooooook", "The Gladiator (Ex Super Version v2)", MACHINE_SUPPORTS_SAVE ) +GAME( 2003, theglads02, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglad, ROT0, "hack", "The Gladiator (Infinite Power)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, theglads03, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglad, ROT0, "hack", "The Gladiator (Excalibur Vol. 2017 + Enhanced, 2017-01-24)", MACHINE_SUPPORTS_SAVE ) +GAME( 2018, theglads04, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglad, ROT0, "hack", "The Gladiator (Excalibur Vol.2 Enhanced version 2018, 2018-08-03)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, theglads05, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglada, ROT0, "hack", "The Gladiator (Excalibur Vol. 2017 + Enhanced, 2017-10-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, theglads06, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglada, ROT0, "hack", "The Gladiator (Full Attack Enhanced Edition 2020, 2020-09-06)", MACHINE_SUPPORTS_SAVE ) +GAME( 2020, theglads07, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglada, ROT0, "hack", "The Gladiator (Full Attack Enhanced Edition 2020, 2020-09-18)", MACHINE_SUPPORTS_SAVE ) +GAME( 2017, theglads08, theglad, pgm_arm_type3, theglad, pgm_arm_type3_state, init_theglad, ROT0, "hack", "The Gladiator (Excalibur Vol. 2017 + Enhanced, 2017-11-04)", MACHINE_SUPPORTS_SAVE ) + diff --git a/docs/release/src/hbmame/igs/pgm_v.cpp b/docs/release/src/hbmame/igs/pgm_v.cpp new file mode 100644 index 00000000000..2ac721f3d53 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgm_v.cpp @@ -0,0 +1,718 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/*** Video *******************************************************************/ + +#include "emu.h" +#include "pgm.h" + +#include "screen.h" + +void pgm_state::sprite_buffer() +{ + int i, j; + static const u16 mask[5] = { 0xffff, 0xfbff, 0x7fff, 0xffff, 0xffff }; // the sprite buffer hardware masks these bits! + + for (i = 0; i < 0xa00/2; i+= 10/2) + { + for (j = 0; j < 10 / 2; j++) + { + m_sprite_buffer[(i / (10 / 2)) * (16 / 2) + j] = m_mainram[i + j] & mask[j]; + } + + if ((m_mainram[i + 4] & 0x7fff) == 0) break; // verified on hardware + } +} + +u16 pgm_state::video_registers_r(offs_t offset) +{ + switch (((offset * 2) + 0x1000) & 0xf000) // b0x000 + { + // case 0x0000: return m_sprite_buffer[offset]; + case 0x1000: return 0; // zoom regs are not readable by the 68k + case 0x2000: return m_bg_scroll_y; + case 0x3000: return m_bg_scroll_x; + case 0x4000: return m_zoom_flags; // ? + case 0x5000: return m_fg_scroll_y; + case 0x6000: return m_fg_scroll_x; + case 0x7000: return m_screen->vpos(); // scanline + // 7000-b000 returns junk, not used? + case 0xc000: return 0; // returns junk, but accesses here cause video to lose synch? + case 0xd000: return 0; // returns junk, but accesses here cause video to lose synch? + case 0xe000: return m_control_flags; + // f000 returns junk, not used? + } + + return 0; +} + +void pgm_state::video_registers_w(offs_t offset, u16 data, u16 mem_mask) +{ + switch (((offset * 2) + 0x1000) & 0xf000) // b0x000 + { + // case 0x0000: COMBINE_DATA(&m_sprite_buffer[offset]; break; // hardware tests suggest this should not be writeable, but some games suggest otherwise + case 0x1000: COMBINE_DATA(&m_zoom_table[offset & 0x3f]); break; // mirroring not verified + case 0x2000: COMBINE_DATA(&m_bg_scroll_y); break; + case 0x3000: COMBINE_DATA(&m_bg_scroll_x); break; + case 0x4000: COMBINE_DATA(&m_zoom_flags); break; // written in same routines as zoom table, not understood yet + case 0x5000: COMBINE_DATA(&m_fg_scroll_y); break; + case 0x6000: COMBINE_DATA(&m_fg_scroll_x); break; + // 7000-b000 not used? + case 0xc000: break; // accesses here cause video to lose synch? + case 0xd000: break; // accesses here cause video to lose synch? + case 0xe000: + { + u16 old = m_control_flags; + COMBINE_DATA(&m_control_flags); + + if (old & 0x0001) sprite_buffer(); + // if (old & 0x0002) // purpose unknown + if (!(old & 0x0004) && (m_control_flags & 0x0004)) { m_maincpu->set_input_line(M68K_IRQ_4, CLEAR_LINE); } + if (!(old & 0x0008) && (m_control_flags & 0x0008)) { m_maincpu->set_input_line(M68K_IRQ_6, CLEAR_LINE); } + // if (old & 0x0010) // all games set this + // if (old & 0x0060) // all games, with the exception CAVE titles, set this + // if (old & 0x0080) // causes loss of video synch? + // if (old & 0x0100) // causes garbage on-screen + // if (old & 0x0200) // disable everything except background layer? + // if (old & 0x0400) // unknown? + // if (old & 0x0800) // disable text layer + // if (old & 0x1000) // disable background layer + // if (old & 0x2000) // disable high (above background) priority sprites + // if (old & 0xc000) // unknown? + } + break; + // f000 not used? + } +} + +/****************************************************************************** + Sprites + + these are fairly complex to render due to the data format, unless you + pre-decode the data you have to draw pixels in the order they're decoded from + the ROM which becomes quite complex with flipped and zoomed cases +******************************************************************************/ + +// nothing pri is 0 +// bg pri is 2 +// sprite already here is 1 / 3 + +static constexpr bool get_flipy(u8 flip) { return BIT(flip, 1); } +static constexpr bool get_flipx(u8 flip) { return BIT(flip, 0); } + +inline void pgm_state::pgm_draw_pix(int xdrawpos, int pri, u16* dest, u8* destpri, const rectangle &cliprect, u16 srcdat) +{ + if ((xdrawpos >= cliprect.min_x) && (xdrawpos <= cliprect.max_x)) + { + if (!(destpri[xdrawpos] & 1)) + { + if (!pri) + { + dest[xdrawpos] = srcdat; + } + else + { + if (!(destpri[xdrawpos] & 2)) + { + dest[xdrawpos] = srcdat; + } + } + } + + destpri[xdrawpos] |= 1; + } +} + +inline void pgm_state::pgm_draw_pix_nopri(int xdrawpos, u16* dest, u8* destpri, const rectangle &cliprect, u16 srcdat) +{ + if ((xdrawpos >= cliprect.min_x) && (xdrawpos <= cliprect.max_x)) + { + if (!(destpri[xdrawpos] & 1)) + { + dest[xdrawpos] = srcdat; + } + destpri[xdrawpos] |= 1; + } +} + +inline void pgm_state::pgm_draw_pix_pri(int xdrawpos, u16* dest, u8* destpri, const rectangle &cliprect, u16 srcdat) +{ + if ((xdrawpos >= cliprect.min_x) && (xdrawpos <= cliprect.max_x)) + { + if (!(destpri[xdrawpos] & 1)) + { + if (!(destpri[xdrawpos] & 2)) + { + dest[xdrawpos] = srcdat; + } + } + destpri[xdrawpos] |= 1; + } +} + +inline u8 pgm_state::get_sprite_pix() +{ + const u8 srcdat = ((m_adata[m_aoffset & (m_adata.length() - 1)] >> m_abit) & 0x1f); + m_abit += 5; // 5 bit per pixel, 3 pixels in each word; 15 bit used + if (m_abit >= 15) + { + m_aoffset++; + m_abit = 0; + } + return srcdat; +} + +/************************************************************************* + Full Sprite Renderer + for complex zoomed cases +*************************************************************************/ + +void pgm_state::draw_sprite_line(int wide, u16* dest, u8* destpri, const rectangle &cliprect, int xzoom, bool xgrow, int flip, int xpos, int pri, int realxsize, int palt, bool draw) +{ + int xoffset = 0; + int xdrawpos = 0; + int xcntdraw = 0; + + for (int xcnt = 0; xcnt < wide; xcnt++) + { + u16 msk = m_bdata[m_boffset & (m_bdata.length() - 1)]; + + for (int x = 0; x < 16; x++) + { + if (!(BIT(msk, 0))) + { + const u16 srcdat = get_sprite_pix() + palt * 32; + + if (draw) + { + const bool xzoombit = BIT(xzoom, xoffset & 0x1f); + xoffset++; + + if (xzoombit && xgrow) + { // double this column + + if (!get_flipx(flip)) + xdrawpos = xpos + xcntdraw; + else + xdrawpos = xpos + realxsize - xcntdraw; + + pgm_draw_pix(xdrawpos, pri, dest, destpri, cliprect, srcdat); + + xcntdraw++; + + if (!get_flipx(flip)) + xdrawpos = xpos + xcntdraw; + else + xdrawpos = xpos + realxsize - xcntdraw; + + pgm_draw_pix(xdrawpos, pri, dest, destpri, cliprect, srcdat); + + xcntdraw++; + } + else if (xzoombit && (!xgrow)) + { + /* skip this column */ + } + else //normal column + { + if (!get_flipx(flip)) + xdrawpos = xpos + xcntdraw; + else + xdrawpos = xpos + realxsize - xcntdraw; + + pgm_draw_pix(xdrawpos, pri, dest, destpri, cliprect, srcdat); + + xcntdraw++; + } + } + + } + else + { + const bool xzoombit = BIT(xzoom, xoffset & 0x1f); + xoffset++; + if (xzoombit && xgrow) { xcntdraw += 2; } + else if (xzoombit && (!xgrow)) { } + else { xcntdraw++; } + } + + msk >>= 1; + } + + m_boffset++; + } +} + +void pgm_state::draw_sprite_new_zoomed(int wide, int high, int xpos, int ypos, int palt, int flip, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, u32 xzoom, bool xgrow, u32 yzoom, bool ygrow, int pri) +{ + int ydrawpos; + int xcnt = 0; + + m_aoffset = (m_bdata[(m_boffset + 1) & (m_bdata.length() - 1)] << 16) | (m_bdata[(m_boffset + 0) & (m_bdata.length() - 1)] << 0); + m_aoffset = m_aoffset >> 2; + m_abit = 0; + + m_boffset += 2; + + // precalculate where drawing will end, for flipped zoomed cases. + // if we're to avoid pre-decoding the data for each sprite each time we draw then we have to draw the sprite data + // in the order it is in ROM due to the nature of the compresson scheme. This means drawing upwards from the end point + // in the case of flipped sprites + int ycnt = 0; + int ycntdraw = 0; + int realysize = 0; + + while (ycnt < high) + { + const bool yzoombit = BIT(yzoom, ycnt & 0x1f); + if (yzoombit && ygrow) { realysize += 2; } + else if (yzoombit && (!ygrow)) { } + else { realysize++; }; + + ycnt++; + } + realysize--; + + int realxsize = 0; + + while (xcnt < wide * 16) + { + const bool xzoombit = BIT(xzoom, xcnt & 0x1f); + if (xzoombit && xgrow) { realxsize += 2; } + else if (xzoombit && (!xgrow)) { } + else { realxsize++; }; + + xcnt++; + } + realxsize--; + + // now draw it + ycnt = 0; + ycntdraw = 0; + + while (ycnt < high) + { + const bool yzoombit = BIT(yzoom, ycnt & 0x1f); + + if (yzoombit && ygrow) // double this line + { + const int temp_aoffset = m_aoffset; + const int temp_abit = m_abit; + const int temp_boffset = m_boffset; + + if (!get_flipy(flip)) + ydrawpos = ypos + ycntdraw; + else + ydrawpos = ypos + realysize - ycntdraw; + + if ((ydrawpos >= cliprect.min_y) && (ydrawpos <= cliprect.max_y)) + { + u16 *dest = &bitmap.pix(ydrawpos); + u8 *destpri = &priority_bitmap.pix(ydrawpos); + draw_sprite_line(wide, dest, destpri, cliprect, xzoom, xgrow, flip, xpos, pri, realxsize, palt, true); + } + else + { + draw_sprite_line(wide, nullptr, nullptr, cliprect, xzoom, xgrow, flip, xpos, pri, realxsize, palt, false); + } + + ycntdraw++; + + // we need to draw this line again, so restore our pointers to previous values + m_aoffset = temp_aoffset; + m_abit = temp_abit; + m_boffset = temp_boffset; + + if (!get_flipy(flip)) + ydrawpos = ypos + ycntdraw; + else + ydrawpos = ypos + realysize - ycntdraw; + + if ((ydrawpos >= cliprect.min_y) && (ydrawpos <= cliprect.max_y)) + { + u16 *dest = &bitmap.pix(ydrawpos); + u8 *destpri = &priority_bitmap.pix(ydrawpos); + draw_sprite_line(wide, dest, destpri, cliprect, xzoom, xgrow, flip, xpos, pri, realxsize, palt, true); + } + else + { + draw_sprite_line(wide, nullptr, nullptr, cliprect, xzoom, xgrow, flip, xpos, pri, realxsize, palt, false); + + if (!get_flipy(flip)) + { + if (ydrawpos >= cliprect.max_y) + return; + } + else + { + if (ydrawpos < cliprect.min_y) + return; + } + } + + ycntdraw++; + + } + else if (yzoombit && (!ygrow)) + { + // skip this line + draw_sprite_line(wide, nullptr, nullptr, cliprect, xzoom, xgrow, flip, xpos, pri, realxsize, palt, false); + } + else // normal line + { + if (!get_flipy(flip)) + ydrawpos = ypos + ycntdraw; + else + ydrawpos = ypos + realysize - ycntdraw; + + if ((ydrawpos >= cliprect.min_y) && (ydrawpos <= cliprect.max_y)) + { + u16 *dest = &bitmap.pix(ydrawpos); + u8 *destpri = &priority_bitmap.pix(ydrawpos); + draw_sprite_line(wide, dest, destpri, cliprect, xzoom, xgrow, flip, xpos, pri, realxsize, palt, true); + } + else + { + draw_sprite_line(wide, nullptr, nullptr, cliprect, xzoom, xgrow, flip, xpos, pri, realxsize, palt, false); + + if (!get_flipy(flip)) + { + if (ydrawpos >= cliprect.max_y) + return; + } + else + { + if (ydrawpos < cliprect.min_y) + return; + } + + } + + ycntdraw++; + } + + ycnt++; + } +} + + +void pgm_state::draw_sprite_line_basic(int wide, u16* dest, u8* destpri, const rectangle &cliprect, int flip, int xpos, int pri, int realxsize, int palt, bool draw) +{ + int xdrawpos = 0; + int xcntdraw = 0; + + if (!pri) + { + for (int xcnt = 0; xcnt < wide; xcnt++) + { + u16 msk = m_bdata[m_boffset & (m_bdata.length() - 1)]; + + for (int x = 0; x < 16; x++) + { + if (!(BIT(msk, 0))) + { + const u16 srcdat = get_sprite_pix() + palt * 32; + + if (draw) + { + if (!get_flipx(flip)) + xdrawpos = xpos + xcntdraw; + else + xdrawpos = xpos + realxsize - xcntdraw; + + pgm_draw_pix_nopri(xdrawpos, dest, destpri, cliprect, srcdat); + + xcntdraw++; + } + + } + else + { + xcntdraw++; + } + + msk >>= 1; + } + + m_boffset++; + } + } + else + { + for (int xcnt = 0; xcnt < wide; xcnt++) + { + u16 msk = m_bdata[m_boffset & (m_bdata.length() - 1)]; + + for (int x = 0; x < 16; x++) + { + if (!(BIT(msk, 0))) + { + const u16 srcdat = get_sprite_pix() + palt * 32; + + if (draw) + { + if (!get_flipx(flip)) + xdrawpos = xpos + xcntdraw; + else + xdrawpos = xpos + realxsize - xcntdraw; + + pgm_draw_pix_pri(xdrawpos, dest, destpri, cliprect, srcdat); + + xcntdraw++; + } + + } + else + { + xcntdraw++; + } + + msk >>= 1; + } + + m_boffset++; + } + } +} + +/************************************************************************* + Basic Sprite Renderer + simplified version for non-zoomed cases, a bit faster +*************************************************************************/ + +void pgm_state::draw_sprite_new_basic(int wide, int high, int xpos, int ypos, int palt, int flip, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, int pri) +{ + int ydrawpos; + + m_aoffset = (m_bdata[(m_boffset + 1) & (m_bdata.length() - 1)] << 16) | (m_bdata[(m_boffset + 0) & (m_bdata.length() - 1)] << 0); + m_aoffset = m_aoffset >> 2; + m_abit = 0; + + m_boffset += 2; + + const int realysize = high - 1; + const int realxsize = (wide * 16) - 1; + + /* now draw it */ + int ycnt = 0; + int ycntdraw = 0; + + while (ycnt < high) + { + if (!get_flipy(flip)) + ydrawpos = ypos + ycntdraw; + else + ydrawpos = ypos + realysize - ycntdraw; + + if ((ydrawpos >= cliprect.min_y) && (ydrawpos <= cliprect.max_y)) + { + u16 *dest = &bitmap.pix(ydrawpos); + u8 *destpri = &priority_bitmap.pix(ydrawpos); + draw_sprite_line_basic(wide, dest, destpri, cliprect, flip, xpos, pri, realxsize, palt, true); + } + else + { + draw_sprite_line_basic(wide, nullptr, nullptr, cliprect, flip, xpos, pri, realxsize, palt, false); + + if (!get_flipy(flip)) + { + if (ydrawpos >= cliprect.max_y) + return; + } + else + { + if (ydrawpos < cliprect.min_y) + return; + } + } + + ycntdraw++; + ycnt++; + } +} + + +void pgm_state::draw_sprites(bitmap_ind16& spritebitmap, const rectangle &cliprect, bitmap_ind8& priority_bitmap) +{ + struct sprite_t *sprite_ptr = m_sprite_ptr_pre; + while (sprite_ptr != m_spritelist.get()) + { + sprite_ptr--; + + // disable high priority sprites (what's a better way to do this?) + if ((m_control_flags & 0x2000) == 0x2000 && !sprite_ptr->pri) continue; + + m_boffset = sprite_ptr->offs; + if ((!sprite_ptr->xzoom) && (!sprite_ptr->yzoom)) + { + draw_sprite_new_basic(sprite_ptr->width, sprite_ptr->height, + sprite_ptr->x, sprite_ptr->y, + sprite_ptr->color, sprite_ptr->flip, + spritebitmap, cliprect, priority_bitmap, + sprite_ptr->pri); + } + else + { + draw_sprite_new_zoomed(sprite_ptr->width, sprite_ptr->height, + sprite_ptr->x, sprite_ptr->y, + sprite_ptr->color, sprite_ptr->flip, + spritebitmap, cliprect, priority_bitmap, + sprite_ptr->xzoom, sprite_ptr->xgrow, sprite_ptr->yzoom, sprite_ptr->ygrow, sprite_ptr->pri); + } + } +} + +/* + Sprite buffer list format (16 bytes per sprites, 256 entries) + + Offset Bits + fedcba98 76543210 + 00 x------- -------- Horizontal Zoom/Shrink mode select + -xxxx--- -------- Horizontal Zoom/Shrink table select + -----xxx xxxxxxxx X position (11 bit signed) + + 02 x------- -------- Vertical Zoom/Shrink mode select + -xxxx--- -------- Vertical Zoom/Shrink table select + -----x-- -------- Masked by the sprite buffer DMA + ------xx xxxxxxxx Y position (10 bit signed) + + 04 x------- -------- Masked by the sprite buffer DMA + -x------ -------- Flip Y + --x----- -------- Flip X + ---xxxxx -------- Palette select (32 color each) + -------- x------- Priority (Over(0) or Under(1) background) + -------- -xxxxxxx Sprite mask ROM address MSB + 06 xxxxxxxx xxxxxxxx Sprite mask ROM address LSB + + 08 x------- -------- Another sprite width bit? + -xxxxxx- -------- Sprite width (16 pixel each) + -------x xxxxxxxx Sprite height (1 pixel each) + +*/ +void pgm_state::get_sprites() +{ + m_sprite_ptr_pre = m_spritelist.get(); + + u16 *sprite_source = &m_sprite_buffer[0]; + const u16 *finish = &m_sprite_buffer[0x1000 / 2]; + const u16* sprite_zoomtable = &m_zoom_table[0]; + + while (sprite_source < finish) + { + if (!(sprite_source[4] & 0x7fff)) break; // Verified + + int xzom = (sprite_source[0] & 0x7800) >> 11; + const bool xgrow = (sprite_source[0] & 0x8000) >> 15; + m_sprite_ptr_pre->x = (sprite_source[0] & 0x03ff) - (sprite_source[0] & 0x0400); + + int yzom = (sprite_source[1] & 0x7800) >> 11; + const bool ygrow = (sprite_source[1] & 0x8000) >> 15; + m_sprite_ptr_pre->y = (sprite_source[1] & 0x01ff) - (sprite_source[1] & 0x0200); + + m_sprite_ptr_pre->flip = (sprite_source[2] & 0x6000) >> 13; + m_sprite_ptr_pre->color = (sprite_source[2] & 0x1f00) >> 8; + m_sprite_ptr_pre->pri = (sprite_source[2] & 0x0080) >> 7; + m_sprite_ptr_pre->offs = ((sprite_source[2] & 0x007f) << 16) | (sprite_source[3] & 0xffff); + + m_sprite_ptr_pre->width = (sprite_source[4] & 0x7e00) >> 9; + m_sprite_ptr_pre->height = sprite_source[4] & 0x01ff; + + if (xgrow) + { + // xzom = 0xf - xzom; // would make more sense but everything gets zoomed slightly in dragon world 2 ?! + xzom = 0x10 - xzom; // this way it doesn't but there is a bad line when zooming after the level select? + } + + if (ygrow) + { + // yzom = 0xf - yzom; // see comment above + yzom = 0x10 - yzom; + } + + m_sprite_ptr_pre->xzoom = (sprite_zoomtable[xzom * 2] << 16) | sprite_zoomtable[xzom * 2 + 1]; + m_sprite_ptr_pre->yzoom = (sprite_zoomtable[yzom * 2] << 16) | sprite_zoomtable[yzom * 2 + 1]; + m_sprite_ptr_pre->xgrow = xgrow; + m_sprite_ptr_pre->ygrow = ygrow; + m_sprite_ptr_pre++; + sprite_source += 16/2; + } +} + +// TX Layer +void pgm_state::tx_videoram_w(offs_t offset, u16 data, u16 mem_mask) +{ + m_tx_videoram[offset] = data; + m_tx_tilemap->mark_tile_dirty(offset / 2); +} + +TILE_GET_INFO_MEMBER(pgm_state::get_tx_tile_info) +{ + const u32 tileno = m_tx_videoram[tile_index * 2] & 0xffff; + const u32 colour = (m_tx_videoram[tile_index * 2 + 1] & 0x3e) >> 1; + const u8 flipyx = (m_tx_videoram[tile_index * 2 + 1] & 0xc0) >> 6; + + tileinfo.set(0,tileno,colour,TILE_FLIPYX(flipyx)); +} + +// BG Layer +void pgm_state::bg_videoram_w(offs_t offset, u16 data, u16 mem_mask) +{ + m_bg_videoram[offset] = data; + m_bg_tilemap->mark_tile_dirty(offset / 2); +} + +TILE_GET_INFO_MEMBER(pgm_state::get_bg_tile_info) +{ + const u32 tileno = m_bg_videoram[tile_index *2] & 0xffff; + const u32 colour = (m_bg_videoram[tile_index * 2 + 1] & 0x3e) >> 1; + const u8 flipyx = (m_bg_videoram[tile_index * 2 + 1] & 0xc0) >> 6; + + tileinfo.set(1,tileno,colour,TILE_FLIPYX(flipyx)); +} + +void pgm_state::video_start() +{ + memset (m_zoom_table, 0, sizeof(m_zoom_table)); + + // assumes it can make an address mask with .length() - 1 on these + assert(!(m_adata.length() & (m_adata.length() - 1))); + assert(!(m_bdata.length() & (m_bdata.length() - 1))); + + m_spritelist = std::make_unique<sprite_t[]>(0xa00/2/5); + m_sprite_ptr_pre = m_spritelist.get(); + + m_aoffset = 0; + m_abit = 0; + m_boffset = 0; + + m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(pgm_state::get_tx_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); + m_tx_tilemap->set_transparent_pen(15); + + m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(pgm_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 32, 32, 64, 16); + m_bg_tilemap->set_transparent_pen(31); + m_bg_tilemap->set_scroll_rows(16 * 32); +} + +u32 pgm_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + get_sprites(); + + bitmap.fill(0x3ff, cliprect); // ddp2 igs logo needs 0x3ff + + screen.priority().fill(0, cliprect); + + m_bg_tilemap->set_scrolly(0, m_bg_scroll_y); + + for (int y = cliprect.min_y; y <= cliprect.max_y; y++) + m_bg_tilemap->set_scrollx((y + m_bg_scroll_y) & 0x1ff, m_bg_scroll_x + m_rowscrollram[y]); + + if (!(m_control_flags & 0x1000)) m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 2); + + draw_sprites(bitmap, cliprect, screen.priority()); + + m_tx_tilemap->set_scrolly(0, m_fg_scroll_y); + m_tx_tilemap->set_scrollx(0, m_fg_scroll_x); + + if (!(m_control_flags & 0x0800)) m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 0); + + return 0; +} diff --git a/docs/release/src/hbmame/igs/pgmcrypt.cpp b/docs/release/src/hbmame/igs/pgmcrypt.cpp new file mode 100644 index 00000000000..5e42952f5d8 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmcrypt.cpp @@ -0,0 +1,1689 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/* IGS 027 Encryptions + + the IGS027 chips are typically used with encrypted ROMs. + + Games with an External ARM Rom usually have that ROM encrypted + otherwise (in the case of PGM) the 68k ROM ends up encrypted + instead. The encryption is controlled by a set of registers + mapped to ARM space where the table and some additional values + are uploaded. We don't currently emulate this in realtime + even for cases where the internal ROM is dumped. + +*/ + + + +#include "emu.h" +#include "pgmcrypt.h" + +// a common set of these are used, selectable in the real scheme by an uploaded bitfield +// some may be duplicates simply due to differing rom sizes + +#define IGS27_CRYPT1 \ + if ((i & 0x040480) != 0x000080) x ^= 0x0001; +#define IGS27_CRYPT1_ALT \ + if ((i & 0x040080) != 0x000080) x ^= 0x0001; +#define IGS27_CRYPT1_ALT2 \ + if ((i & 0x0480) != 0x0080) x ^= 0x0001; +#define IGS27_CRYPT2 \ + if ((i & 0x104008) == 0x104008) x ^= 0x0002; +#define IGS27_CRYPT2_ALT \ + if ((i & 0x004008) == 0x004008) x ^= 0x0002; +#define IGS27_CRYPT2_ALT2 \ + if((i & 0x004008) == 0x004008 && (i & 0x180000) != 0x000000) x ^= 0x0002; +#define IGS27_CRYPT2_ALT3 \ + if((i & 0x84008) == 0x84008) x ^= 0x0002; +#define IGS27_CRYPT3 \ + if ((i & 0x080030) == 0x080010) x ^= 0x0004; +#define IGS27_CRYPT3_ALT \ + if((i & 0x000030) == 0x000010 && (i & 0x180000) != 0x080000) x ^= 0x0004; +#define IGS27_CRYPT3_ALT2 \ + if ((i & 0x000030) == 0x000010) x ^= 0x0004; +// ket - due to address starting at 0 and not 100000/2! +#define IGS27_CRYPT3_ALT3 \ + if ((i & 0x080030) == 0x000010) x ^= 0x0004; +#define IGS27_CRYPT4 \ + if ((i & 0x000242) != 0x000042) x ^= 0x0008; +#define IGS27_CRYPT4_ALT \ + if ((i & 0x000042) != 0x000042) x ^= 0x0008; +#define IGS27_CRYPT5 \ + if ((i & 0x008100) == 0x008000) x ^= 0x0010; +#define IGS27_CRYPT5_ALT \ + if ((i & 0x48100) == 0x48000) x ^= 0x0010; +#define IGS27_CRYPT6 \ + if ((i & 0x002004) != 0x000004) x ^= 0x0020; +#define IGS27_CRYPT6_ALT \ + if ((i & 0x022004) != 0x000004) x ^= 0x0020; +#define IGS27_CRYPT7 \ + if ((i & 0x011800) != 0x010000) x ^= 0x0040; +#define IGS27_CRYPT7_ALT \ + if ((i & 0x01800) != 0x00000) x ^= 0x0040; +#define IGS27_CRYPT8 \ + if ((i & 0x004820) == 0x004820) x ^= 0x0080; +#define IGS27_CRYPT8_ALT \ + if ((i & 0x000820) == 0x000820) x ^= 0x0080; + +static const uint8_t kov_tab[256] = { + 0x17, 0x1c, 0xe3, 0x02, 0x62, 0x59, 0x97, 0x4a, 0x67, 0x4d, 0x1f, 0x11, 0x76, 0x64, 0xc1, 0xe1, + 0xd2, 0x41, 0x9f, 0xfd, 0xfa, 0x04, 0xfe, 0xab, 0x89, 0xeb, 0xc0, 0xf5, 0xac, 0x2b, 0x64, 0x22, + 0x90, 0x7d, 0x88, 0xc5, 0x8c, 0xe0, 0xd9, 0x70, 0x3c, 0xf4, 0x7d, 0x31, 0x1c, 0xca, 0xe2, 0xf1, + 0x31, 0x82, 0x86, 0xb1, 0x55, 0x95, 0x77, 0x01, 0x77, 0x3b, 0xab, 0xe6, 0x88, 0xef, 0x77, 0x11, + 0x56, 0x01, 0xac, 0x55, 0xf7, 0x6d, 0x9b, 0x6d, 0x92, 0x14, 0x23, 0xae, 0x4b, 0x80, 0xae, 0x6a, + 0x43, 0xcc, 0x35, 0xfe, 0xa1, 0x0d, 0xb3, 0x21, 0x4e, 0x4c, 0x99, 0x80, 0xc2, 0x3d, 0xce, 0x46, + 0x9b, 0x5d, 0x68, 0x75, 0xfe, 0x1e, 0x25, 0x41, 0x24, 0xa0, 0x79, 0xfd, 0xb5, 0x67, 0x93, 0x07, + 0x3a, 0x78, 0x24, 0x64, 0xe1, 0xa3, 0x62, 0x75, 0x38, 0x65, 0x8a, 0xbf, 0xf9, 0x7c, 0x00, 0xa0, + 0x6d, 0xdb, 0x1f, 0x80, 0x37, 0x37, 0x8e, 0x97, 0x1a, 0x45, 0x61, 0x0e, 0x10, 0x24, 0x8a, 0x27, + 0xf2, 0x44, 0x91, 0x3e, 0x62, 0x44, 0xc5, 0x55, 0xe6, 0x8e, 0x5a, 0x25, 0x8a, 0x90, 0x25, 0x74, + 0xa0, 0x95, 0x33, 0xf7, 0x51, 0xce, 0xe4, 0xa0, 0x13, 0xcf, 0x33, 0x1e, 0x59, 0x5b, 0xec, 0x42, + 0xc5, 0xb8, 0xe4, 0xc5, 0x71, 0x38, 0xc5, 0x6b, 0x8d, 0x1d, 0x84, 0xf8, 0x4e, 0x21, 0x6d, 0xdc, + 0x2c, 0xf1, 0xae, 0xad, 0x19, 0xc5, 0xed, 0x8e, 0x36, 0xb5, 0x81, 0x94, 0xfe, 0x62, 0x3a, 0xe8, + 0xc9, 0x95, 0x84, 0xbd, 0x65, 0x15, 0x16, 0x15, 0xd2, 0xe7, 0x16, 0xd7, 0x9c, 0xd3, 0xd2, 0x66, + 0xf6, 0x46, 0xe3, 0x32, 0x62, 0x51, 0x86, 0x4a, 0x67, 0xcc, 0x4d, 0xea, 0x37, 0x45, 0xd5, 0xa6, + 0x80, 0xe6, 0xba, 0xb3, 0x08, 0xd8, 0x30, 0x5b, 0x5f, 0xf2, 0x5a, 0xfb, 0x63, 0xb0, 0xa4, 0x41 +}; + +void pgm_kov_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + IGS27_CRYPT3_ALT + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= kov_tab[i & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t kovsh_tab[256] = { + 0xe7, 0x06, 0xa3, 0x70, 0xf2, 0x58, 0xe6, 0x59, 0xe4, 0xcf, 0xc2, 0x79, 0x1d, 0xe3, 0x71, 0x0e, + 0xb6, 0x90, 0x9a, 0x2a, 0x8c, 0x41, 0xf7, 0x82, 0x9b, 0xef, 0x99, 0x0c, 0xfa, 0x2f, 0xf1, 0xfe, + 0x8f, 0x70, 0xf4, 0xc1, 0xb5, 0x3d, 0x7c, 0x60, 0x4c, 0x09, 0xf4, 0x2e, 0x7c, 0x87, 0x63, 0x5f, + 0xce, 0x99, 0x84, 0x95, 0x06, 0x9a, 0x20, 0x23, 0x5a, 0xb9, 0x52, 0x95, 0x48, 0x2c, 0x84, 0x60, + 0x69, 0xe3, 0x93, 0x49, 0xb9, 0xd6, 0xbb, 0xd6, 0x9e, 0xdc, 0x96, 0x12, 0xfa, 0x60, 0xda, 0x5f, + 0x55, 0x5d, 0x5b, 0x20, 0x07, 0x1e, 0x97, 0x42, 0x77, 0xea, 0x1d, 0xe0, 0x70, 0xfb, 0x6a, 0x00, + 0x77, 0x9a, 0xef, 0x1b, 0xe0, 0xf9, 0x0d, 0xc1, 0x2e, 0x2f, 0xef, 0x25, 0x29, 0xe5, 0xd8, 0x2c, + 0xaf, 0x01, 0xd9, 0x6c, 0x31, 0xce, 0x5c, 0xea, 0xab, 0x1c, 0x92, 0x16, 0x61, 0xbc, 0xe4, 0x7c, + 0x5a, 0x76, 0xe9, 0x92, 0x39, 0x5b, 0x97, 0x60, 0xea, 0x57, 0x83, 0x9c, 0x92, 0x29, 0xa7, 0x12, + 0xa9, 0x71, 0x7a, 0xf9, 0x07, 0x68, 0xa7, 0x45, 0x88, 0x10, 0x81, 0x12, 0x2c, 0x67, 0x4d, 0x55, + 0x33, 0xf0, 0xfa, 0xd7, 0x1d, 0x4d, 0x0e, 0x63, 0x03, 0x34, 0x65, 0xe2, 0x76, 0x0f, 0x98, 0xa9, + 0x5f, 0x9a, 0xd3, 0xca, 0xdd, 0xc1, 0x5b, 0x3d, 0x4d, 0xf8, 0x40, 0x08, 0xdc, 0x05, 0x38, 0x00, + 0xcb, 0x24, 0x02, 0xff, 0x39, 0xe2, 0x9e, 0x04, 0x9a, 0x08, 0x63, 0xc8, 0x2b, 0x5a, 0x34, 0x06, + 0x62, 0xc1, 0xbb, 0x8a, 0xd0, 0x54, 0x4c, 0x43, 0x21, 0x4e, 0x4c, 0x99, 0x80, 0xc2, 0x3d, 0xce, + 0x2a, 0x7b, 0x09, 0x62, 0x1a, 0x91, 0x9b, 0xc3, 0x41, 0x24, 0xa0, 0xfd, 0xb5, 0x67, 0x93, 0x07, + 0xa7, 0xb8, 0x85, 0x8a, 0xa1, 0x1e, 0x4f, 0xb6, 0x75, 0x38, 0x65, 0x8a, 0xf9, 0x7c, 0x00, 0xa0, +}; + + +void pgm_kovsh_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2_ALT2 + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= kovsh_tab[i & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t photoy2k_tab[256] = { + 0xd9, 0x92, 0xb2, 0xbc, 0xa5, 0x88, 0xe3, 0x48, 0x7d, 0xeb, 0xc5, 0x4d, 0x31, 0xe4, 0x82, 0xbc, + 0x82, 0xcf, 0xe7, 0xf3, 0x15, 0xde, 0x8f, 0x91, 0xef, 0xc6, 0xb8, 0x81, 0x97, 0xe3, 0xdf, 0x4d, + 0x88, 0xbf, 0xe4, 0x05, 0x25, 0x73, 0x1e, 0xd0, 0xcf, 0x1e, 0xeb, 0x4d, 0x18, 0x4e, 0x6f, 0x9f, + 0x00, 0x72, 0xc3, 0x74, 0xbe, 0x02, 0x09, 0x0a, 0xb0, 0xb1, 0x8e, 0x9b, 0x08, 0xed, 0x68, 0x6d, + 0x25, 0xe8, 0x28, 0x94, 0xa6, 0x44, 0xa6, 0xfa, 0x95, 0x69, 0x72, 0xd3, 0x6d, 0xb6, 0xff, 0xf3, + 0x45, 0x4e, 0xa3, 0x60, 0xf2, 0x58, 0xe7, 0x59, 0xe4, 0x4f, 0x70, 0xd2, 0xdd, 0xc0, 0x6e, 0xf3, + 0xd7, 0xb2, 0xdc, 0x1e, 0xa8, 0x41, 0x07, 0x5d, 0x60, 0x15, 0xea, 0xcf, 0xdb, 0xc1, 0x1d, 0x4d, + 0xb7, 0x42, 0xec, 0xc4, 0xca, 0xa9, 0x40, 0x30, 0x0f, 0x3c, 0xe2, 0x81, 0xe0, 0x5c, 0x51, 0x07, + 0xb0, 0x1e, 0x4a, 0xb3, 0x64, 0x3e, 0x1c, 0x62, 0x17, 0xcd, 0xf2, 0xe4, 0x14, 0x9d, 0xa6, 0xd4, + 0x64, 0x36, 0xa5, 0xe8, 0x7e, 0x84, 0x0e, 0xb3, 0x5d, 0x79, 0x57, 0xea, 0xd7, 0xad, 0xbc, 0x9e, + 0x2d, 0x90, 0x03, 0x9e, 0x0e, 0xc6, 0x98, 0xdb, 0xe3, 0xb6, 0x9f, 0x9b, 0xf6, 0x21, 0xe6, 0x98, + 0x94, 0x77, 0xb7, 0x2b, 0xaa, 0xc9, 0xff, 0xef, 0x7a, 0xf2, 0x71, 0x4e, 0x52, 0x06, 0x85, 0x37, + 0x81, 0x8e, 0x86, 0x64, 0x39, 0x92, 0x2a, 0xca, 0xf3, 0x3e, 0x87, 0xb5, 0x0c, 0x7b, 0x42, 0x5e, + 0x04, 0xa7, 0xfb, 0xd7, 0x13, 0x7f, 0x83, 0x6a, 0x77, 0x0f, 0xa7, 0x34, 0x51, 0x88, 0x9c, 0xac, + 0x23, 0x90, 0x4d, 0x4d, 0x72, 0x4e, 0xa3, 0x26, 0x1a, 0x45, 0x61, 0x0e, 0x10, 0x24, 0x8a, 0x27, + 0x92, 0x14, 0x23, 0xae, 0x4b, 0x80, 0xae, 0x6a, 0x56, 0x01, 0xac, 0x55, 0xf7, 0x6d, 0x9b, 0x6d, +}; + +void pgm_photoy2k_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2_ALT3 + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + IGS27_CRYPT5_ALT + IGS27_CRYPT6 + IGS27_CRYPT7_ALT + IGS27_CRYPT8 + + x ^= photoy2k_tab[i & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t pstar[256] = { + 0x62, 0x59, 0x17, 0xe3, 0xe1, 0x11, 0x02, 0x97, 0x67, 0x4d, 0x4a, 0x1c, 0x1f, 0x76, 0x64, 0xc1, + 0xfa, 0x04, 0xd2, 0x9f, 0x22, 0xf5, 0xfd, 0xfe, 0x89, 0xeb, 0xab, 0x41, 0xc0, 0xac, 0x2b, 0x64, + 0xfe, 0x1e, 0x9b, 0x68, 0x07, 0xfd, 0x75, 0x25, 0x24, 0xa0, 0x41, 0x5d, 0x79, 0xb5, 0x67, 0x93, + 0xe1, 0xa3, 0x3a, 0x24, 0xa0, 0xbf, 0x64, 0x62, 0x38, 0x65, 0x75, 0x78, 0x8a, 0xf9, 0x7c, 0x00, + 0x71, 0x38, 0xc5, 0xe4, 0xdc, 0xf8, 0xc5, 0xc5, 0x8d, 0x1d, 0x6b, 0xb8, 0x84, 0x4e, 0x21, 0x6d, + 0x55, 0x95, 0x31, 0x86, 0x11, 0xe6, 0xb1, 0x77, 0x77, 0x3b, 0x01, 0x82, 0xab, 0x88, 0xef, 0x77, + 0x08, 0xd8, 0x80, 0xba, 0x41, 0xfb, 0xb3, 0x30, 0x5f, 0xf2, 0x5b, 0xe6, 0x5a, 0x63, 0xb0, 0xa4, + 0x37, 0x37, 0x6d, 0x1f, 0x27, 0x0e, 0x80, 0x8e, 0x1a, 0x45, 0x97, 0xdb, 0x61, 0x10, 0x24, 0x8a, + 0x62, 0x44, 0xf2, 0x91, 0x74, 0x25, 0x3e, 0xc5, 0xe6, 0x8e, 0x55, 0x44, 0x5a, 0x8a, 0x90, 0x25, + 0xa1, 0x0d, 0x43, 0x35, 0x46, 0x80, 0xfe, 0xb3, 0x4e, 0x4c, 0x21, 0xcc, 0x99, 0xc2, 0x3d, 0xce, + 0x19, 0xc5, 0x2c, 0xae, 0xe8, 0x94, 0xad, 0xed, 0x36, 0xb5, 0x8e, 0xf1, 0x81, 0xfe, 0x62, 0x3a, + 0x8c, 0xe0, 0x90, 0x88, 0xf1, 0x31, 0xc5, 0xd9, 0x3c, 0xf4, 0x70, 0x7d, 0x7d, 0x1c, 0xca, 0xe2, + 0x51, 0xce, 0xa0, 0x33, 0x42, 0x1e, 0xf7, 0xe4, 0x13, 0xcf, 0xa0, 0x95, 0x33, 0x59, 0x5b, 0xec, + 0xf7, 0x6d, 0x56, 0xac, 0x6a, 0xae, 0x55, 0x9b, 0x92, 0x14, 0x6d, 0x01, 0x23, 0x4b, 0x80, 0xae, + 0x65, 0x15, 0xc9, 0x84, 0x66, 0xd7, 0xbd, 0x16, 0xd2, 0xe7, 0x15, 0x95, 0x16, 0x9c, 0xd3, 0xd2, + 0x62, 0x51, 0xf6, 0xe3, 0xa6, 0xea, 0x32, 0x86, 0x67, 0xcc, 0x4a, 0x46, 0x4d, 0x37, 0x45, 0xd5, +}; + +void pgm_pstar_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x100000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x = x ^ pstar[(i & 255)] << 8; + src[i] = x ; + } +} + +static const uint8_t dfront_tab[256] = { + 0x51, 0xc4, 0xe3, 0x10, 0x1c, 0xad, 0x8a, 0x39, 0x8c, 0xe0, 0xa5, 0x04, 0x0f, 0xe4, 0x35, 0xc3, + 0x2d, 0x6b, 0x32, 0xe2, 0x60, 0x54, 0x63, 0x06, 0xa3, 0xf1, 0x0b, 0x5f, 0x6c, 0x5c, 0xb3, 0xec, + 0x77, 0x61, 0x69, 0xe7, 0x3c, 0xb7, 0x42, 0x72, 0x1a, 0x70, 0xb0, 0x96, 0xa4, 0x28, 0xc0, 0xfb, + 0x0a, 0x00, 0xcb, 0x15, 0x49, 0x48, 0xd3, 0x94, 0x58, 0xcf, 0x41, 0x86, 0x17, 0x71, 0xb1, 0xbd, + 0x21, 0x01, 0x37, 0x1e, 0xba, 0xeb, 0xf3, 0x59, 0xf6, 0xa7, 0x29, 0x4f, 0xb5, 0xca, 0x4c, 0x34, + 0x20, 0xa2, 0x62, 0x4b, 0x93, 0x9e, 0x47, 0x9f, 0x8d, 0x0e, 0x1b, 0xb6, 0x4d, 0x82, 0xd5, 0xf4, + 0x85, 0x79, 0x53, 0x92, 0x9b, 0xf7, 0xea, 0x44, 0x76, 0x1f, 0x22, 0x45, 0xed, 0xbe, 0x11, 0x55, + 0xaf, 0xf5, 0xf8, 0x50, 0x07, 0xe6, 0xc7, 0x5e, 0xd7, 0xde, 0xe5, 0x26, 0x2b, 0xf2, 0x6a, 0x8b, + 0xb8, 0x98, 0x89, 0xdb, 0x14, 0x5b, 0xc5, 0x78, 0xdc, 0xd0, 0x87, 0x5d, 0xc1, 0x0d, 0x95, 0x97, + 0x7e, 0xa8, 0x24, 0x3d, 0xe1, 0xd1, 0x19, 0xa6, 0x99, 0xd8, 0x83, 0x1d, 0xff, 0x30, 0x9d, 0x05, + 0xd4, 0x02, 0x27, 0x7b, 0x13, 0xb2, 0x7f, 0x40, 0x12, 0xa0, 0x68, 0x67, 0x4e, 0x3a, 0x46, 0xb9, + 0xee, 0xdf, 0x66, 0xd6, 0x8f, 0xa9, 0x0c, 0x91, 0x65, 0x18, 0x52, 0x56, 0xd9, 0x74, 0x09, 0x6e, + 0xc6, 0x73, 0xc9, 0xfc, 0x03, 0x43, 0xef, 0xaa, 0x7c, 0xbb, 0x2c, 0x90, 0xcc, 0xce, 0xe8, 0xae, + 0x2a, 0xf9, 0x57, 0x88, 0xc8, 0xe9, 0x5a, 0xdd, 0x2e, 0x7d, 0x64, 0xc2, 0x6d, 0x3e, 0xfa, 0x80, + 0x16, 0xcd, 0x6f, 0x84, 0x8e, 0x9c, 0xf0, 0xac, 0xb4, 0x9a, 0x2f, 0xbc, 0x31, 0x23, 0xfe, 0x38, + 0x08, 0x75, 0xa1, 0x33, 0xab, 0xd2, 0xda, 0x81, 0xbf, 0x7a, 0x3b, 0x3f, 0x4a, 0xfd, 0x25, 0x36, +}; + +void pgm_dfront_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2 + IGS27_CRYPT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= dfront_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t ddp2_tab[256] = { + 0x2a, 0x4a, 0x39, 0x98, 0xac, 0x39, 0xb2, 0x55, 0x72, 0xf3, 0x7b, 0x3c, 0xee, 0x94, 0x6e, 0xd5, + 0xcd, 0xbc, 0x9a, 0xd0, 0x45, 0x7d, 0x49, 0x68, 0xb1, 0x61, 0x54, 0xef, 0xa2, 0x84, 0x29, 0x20, + 0x32, 0x52, 0x82, 0x04, 0x38, 0x69, 0x9f, 0x24, 0x46, 0xf4, 0x3f, 0xc2, 0xf1, 0x25, 0xac, 0x2d, + 0xdf, 0x2d, 0xb4, 0x51, 0xc7, 0xb5, 0xe5, 0x88, 0xbd, 0x3b, 0x5a, 0x25, 0x5b, 0xc7, 0xae, 0x5f, + 0x43, 0xcf, 0x89, 0xd9, 0xe2, 0x63, 0xc6, 0x76, 0x21, 0x2b, 0x77, 0xc0, 0x27, 0x98, 0xfd, 0x09, + 0xe1, 0x8c, 0x26, 0x2e, 0x92, 0x99, 0xbc, 0xbe, 0x0e, 0xba, 0xbf, 0x70, 0xe7, 0xb7, 0xe9, 0x37, + 0x5c, 0xd1, 0x5e, 0xad, 0x22, 0x17, 0xc5, 0x67, 0x9d, 0xc6, 0xfb, 0x53, 0xc7, 0x4d, 0x32, 0xb4, + 0xf2, 0x43, 0x53, 0x7c, 0x01, 0xfe, 0xd2, 0x91, 0x40, 0x85, 0xa3, 0xe8, 0xdf, 0xdb, 0xff, 0x6c, + 0x64, 0x15, 0xcd, 0x8e, 0x07, 0x82, 0x78, 0x8d, 0x4e, 0x2d, 0x66, 0x8a, 0x62, 0x6f, 0xd3, 0x6a, + 0xae, 0x16, 0x44, 0x1e, 0xed, 0xc4, 0x12, 0x7a, 0xbe, 0x05, 0x06, 0xce, 0x9b, 0x8a, 0xf7, 0xf8, + 0x74, 0x23, 0x73, 0x74, 0xb8, 0x13, 0xc2, 0x42, 0xea, 0xf9, 0x7f, 0xa9, 0xaf, 0x56, 0xd6, 0xb3, + 0xb7, 0xc4, 0x47, 0x31, 0x67, 0xaa, 0x58, 0x8b, 0x47, 0x1b, 0xf5, 0x75, 0x95, 0x8f, 0xf0, 0x3a, + 0x85, 0x76, 0x59, 0x24, 0x0c, 0xd7, 0x00, 0xb3, 0xdc, 0xfc, 0x65, 0x34, 0xde, 0xfa, 0xd8, 0xc3, + 0xc3, 0x5e, 0xe3, 0x9e, 0x02, 0x28, 0x50, 0x81, 0x95, 0x2f, 0xe4, 0xb5, 0xa0, 0x4d, 0xa1, 0x36, + 0x9d, 0x18, 0x6d, 0x79, 0x19, 0x3b, 0x1d, 0xb8, 0xe1, 0xcc, 0x61, 0x1a, 0xe2, 0x31, 0x4c, 0x3f, + 0xdc, 0xca, 0xd4, 0xda, 0xcd, 0xd2, 0x83, 0xca, 0xeb, 0x4f, 0xf2, 0x2f, 0x2d, 0x2a, 0xec, 0x1f +}; + +void pgm_ddp2_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x200000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT2 + // NO CRYPT2 + // NO CRYPT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7_ALT + IGS27_CRYPT8_ALT + + x ^= ddp2_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t mm_tab[256] = { + 0xd0, 0x45, 0xbc, 0x84, 0x93, 0x60, 0x7d, 0x49, 0x68, 0xb1, 0x54, 0xa2, 0x05, 0x29, 0x41, 0x20, + 0x04, 0x08, 0x52, 0x25, 0x89, 0xf4, 0x69, 0x9f, 0x24, 0x46, 0x3d, 0xf1, 0xf9, 0xab, 0xa6, 0x2d, + 0x18, 0x19, 0x6d, 0x33, 0x79, 0x23, 0x3b, 0x1d, 0xe0, 0xb8, 0x61, 0x1a, 0xe1, 0x4c, 0x5d, 0x3f, + 0x5e, 0x02, 0xe3, 0x4d, 0x9e, 0x80, 0x28, 0x50, 0xa0, 0x81, 0xe4, 0xa5, 0x97, 0xa1, 0x86, 0x36, + 0x1e, 0xed, 0x16, 0x8a, 0x44, 0x06, 0x64, 0x12, 0x9a, 0x7e, 0xce, 0x9b, 0xef, 0xf7, 0x3e, 0xf8, + 0x15, 0x07, 0xcb, 0x6f, 0x8e, 0x3c, 0x82, 0x70, 0x62, 0x8d, 0x66, 0x7a, 0x4e, 0xd3, 0xb6, 0x6a, + 0x51, 0xa7, 0x2c, 0xc7, 0xa4, 0x0b, 0xb5, 0xe5, 0x88, 0xbd, 0x5a, 0x5b, 0x1b, 0xae, 0xe6, 0x5f, + 0x2e, 0x92, 0x8c, 0xb7, 0x96, 0xba, 0x99, 0xbb, 0xbe, 0x0e, 0xbf, 0xe7, 0x2f, 0xe9, 0x30, 0x37, + 0x98, 0xac, 0x4a, 0x94, 0x38, 0xf3, 0x39, 0xb2, 0x55, 0x72, 0x7b, 0xee, 0xdd, 0x6e, 0x11, 0xd5, + 0x26, 0xa8, 0x71, 0xd6, 0x74, 0x7f, 0x13, 0xc2, 0x56, 0xea, 0xa9, 0xaf, 0xc3, 0x42, 0x03, 0xb3, + 0xc4, 0x6b, 0x47, 0xf0, 0x31, 0xf5, 0xaa, 0x58, 0x8f, 0x48, 0x75, 0x95, 0x35, 0x8b, 0x57, 0x3a, + 0x73, 0x0c, 0x59, 0xd8, 0x14, 0x65, 0xd7, 0x00, 0xfa, 0xdc, 0x34, 0xde, 0xc0, 0xb0, 0x87, 0xc1, + 0xc8, 0xcd, 0xd4, 0x2a, 0xda, 0xe8, 0xd2, 0x83, 0x0d, 0xca, 0xf2, 0x0f, 0xeb, 0xec, 0x9c, 0x1f, + 0xad, 0x22, 0xd1, 0x4b, 0x5c, 0xf6, 0x17, 0xc5, 0x67, 0x9d, 0xfb, 0xc9, 0xcc, 0x32, 0x1c, 0xb4, + 0xd9, 0xe2, 0xcf, 0x90, 0xb9, 0x2b, 0x63, 0xc6, 0x76, 0x21, 0x77, 0x27, 0xfc, 0xfd, 0x0a, 0x09, + 0x7c, 0x01, 0x43, 0xdb, 0x53, 0x85, 0xfe, 0x78, 0x91, 0x40, 0xa3, 0xdf, 0x4f, 0xff, 0x10, 0x6c, +}; + +void pgm_mm_decrypt(running_machine &machine) // and dw2001 +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x200000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= mm_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t kov2_tab[256] = { + 0x11, 0x4a, 0x38, 0x98, 0xac, 0x39, 0xb2, 0x55, 0x72, 0xf3, 0x7b, 0x3c, 0xee, 0x94, 0x6e, 0xd5, + 0x41, 0xbc, 0x93, 0xd0, 0x45, 0x7d, 0x49, 0x68, 0xb1, 0x60, 0x54, 0xef, 0xa2, 0x84, 0x29, 0x20, + 0xa6, 0x52, 0x89, 0x04, 0x08, 0x69, 0x9f, 0x24, 0x46, 0xf4, 0x3d, 0xc3, 0xf1, 0x25, 0xab, 0x2d, + 0xe6, 0x2c, 0xa4, 0x51, 0xa7, 0xb5, 0xe5, 0x88, 0xbd, 0x0b, 0x5a, 0x35, 0x5b, 0xc7, 0xae, 0x5f, + 0x0a, 0xcf, 0xb9, 0xd9, 0xe2, 0x63, 0xc6, 0x76, 0x21, 0x2b, 0x77, 0xc0, 0x27, 0x90, 0xfd, 0x09, + 0x30, 0x8c, 0x96, 0x2e, 0x92, 0x99, 0xbb, 0xbe, 0x0e, 0xba, 0xbf, 0x80, 0xe7, 0xb7, 0xe9, 0x37, + 0x1c, 0xd1, 0x5c, 0xad, 0x22, 0x17, 0xc5, 0x67, 0x9d, 0xf6, 0xfb, 0x23, 0xc9, 0x4b, 0x32, 0xb4, + 0x10, 0x43, 0x53, 0x7c, 0x01, 0xfe, 0x78, 0x91, 0x40, 0x85, 0xa3, 0xe8, 0xdf, 0xdb, 0xff, 0x6c, + 0xb6, 0x15, 0xcb, 0x8e, 0x07, 0x82, 0x70, 0x8d, 0x4e, 0xdd, 0x66, 0x7a, 0x62, 0x6f, 0xd3, 0x6a, + 0x3e, 0x16, 0x44, 0x1e, 0xed, 0x64, 0x12, 0x9a, 0x7e, 0x05, 0x06, 0xce, 0x9b, 0x8a, 0xf7, 0xf8, + 0x03, 0x26, 0x71, 0x74, 0xa8, 0x13, 0xc2, 0x42, 0xea, 0xf9, 0x7f, 0xa9, 0xaf, 0x56, 0xd6, 0xb3, + 0x57, 0xc4, 0x47, 0x31, 0x6b, 0xaa, 0x58, 0x8b, 0x48, 0x1b, 0xf5, 0x75, 0x95, 0x8f, 0xf0, 0x3a, + 0x87, 0x73, 0x59, 0x14, 0x0c, 0xd7, 0x00, 0xb0, 0xdc, 0xfc, 0x65, 0x34, 0xde, 0xfa, 0xd8, 0xc1, + 0x86, 0x5e, 0xe3, 0x9e, 0x02, 0x28, 0x50, 0x81, 0x97, 0x2f, 0xe4, 0xa5, 0xa0, 0x4d, 0xa1, 0x36, + 0x5d, 0x18, 0x6d, 0x79, 0x19, 0x3b, 0x1d, 0xb8, 0xe1, 0xcc, 0x61, 0x1a, 0xe0, 0x33, 0x4c, 0x3f, + 0x9c, 0xc8, 0xd4, 0xda, 0xcd, 0xd2, 0x83, 0xca, 0xeb, 0x4f, 0xf2, 0x0f, 0x0d, 0x2a, 0xec, 0x1f, +}; + +void pgm_kov2_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x200000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + // NO CRYPT2 + IGS27_CRYPT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5_ALT + IGS27_CRYPT6_ALT + IGS27_CRYPT7_ALT + IGS27_CRYPT8_ALT + + x ^= kov2_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t kov2p_tab[256] = { + 0x44, 0x47, 0xb8, 0x28, 0x03, 0xa2, 0x21, 0xbc, 0x17, 0x32, 0x4e, 0xe2, 0xdf, 0x69, 0x35, 0xc7, + 0xa2, 0x06, 0xec, 0x36, 0xd2, 0x44, 0x12, 0x6a, 0x8d, 0x51, 0x6b, 0x20, 0x69, 0x01, 0xca, 0xf0, + 0x71, 0xc4, 0x34, 0xdc, 0x6b, 0xd6, 0x42, 0x2a, 0x5d, 0xb5, 0xc7, 0x6f, 0x4f, 0xd8, 0xb3, 0xed, + 0x51, 0x9e, 0x37, 0x1e, 0xc0, 0x85, 0x2a, 0x91, 0xc6, 0x9c, 0xac, 0xf5, 0x20, 0x3b, 0x09, 0x74, + 0x24, 0xf1, 0xe0, 0x42, 0x02, 0xbe, 0x84, 0x75, 0x4a, 0x82, 0xa2, 0x17, 0xae, 0xb6, 0x24, 0x79, + 0x0a, 0x5a, 0x56, 0xcb, 0xa1, 0x2e, 0x47, 0xea, 0xa9, 0x25, 0x73, 0x79, 0x0b, 0x17, 0x9e, 0x33, + 0x64, 0xb6, 0x03, 0x7f, 0x4f, 0xc3, 0xae, 0x45, 0xe6, 0x82, 0x27, 0x01, 0x86, 0x6b, 0x50, 0x16, + 0xd3, 0x22, 0x90, 0x64, 0xfc, 0xa9, 0x31, 0x1c, 0x41, 0xd5, 0x07, 0xd3, 0xb2, 0xfe, 0x53, 0xd6, + 0x39, 0xfb, 0xe6, 0xbe, 0xda, 0x4d, 0x8a, 0x44, 0x3a, 0x9b, 0x9d, 0x56, 0x5e, 0x5f, 0xff, 0x6a, + 0xb6, 0xde, 0x2f, 0x12, 0x5a, 0x5d, 0xb0, 0xd0, 0x93, 0x92, 0xb2, 0x2c, 0x9d, 0x59, 0xee, 0x05, + 0xab, 0xa8, 0xd2, 0x25, 0x2c, 0xc5, 0xde, 0x18, 0x4d, 0xb6, 0x4e, 0x3d, 0xbf, 0xfa, 0xf9, 0x1d, + 0xba, 0x76, 0x79, 0xfc, 0x42, 0xb2, 0x8c, 0xae, 0xa9, 0x45, 0xba, 0xac, 0x55, 0x8e, 0x38, 0x67, + 0xc3, 0xa5, 0x0d, 0xdc, 0xcc, 0x91, 0x73, 0x69, 0x27, 0xbc, 0x80, 0xdf, 0x30, 0xa4, 0x05, 0xd8, + 0xe7, 0xd2, 0xb7, 0x4b, 0x3c, 0x10, 0x8c, 0x5d, 0x8a, 0xd7, 0x68, 0x7a, 0x61, 0x07, 0xf9, 0xa5, + 0x88, 0xda, 0xdf, 0x0c, 0x42, 0x1b, 0x11, 0xe0, 0xd1, 0x93, 0x7c, 0x63, 0x39, 0xc5, 0xed, 0x43, + 0x46, 0xdb, 0x30, 0x26, 0xd0, 0xdf, 0x7a, 0x86, 0x3e, 0x2e, 0x04, 0xbf, 0x49, 0x2a, 0xf9, 0x66, +}; + +void pgm_kov2p_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x200000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2_ALT + IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= kov2p_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t puzzli2_tab[256] = { + 0xb7, 0x66, 0xa3, 0xc0, 0x51, 0x55, 0x6d, 0x63, 0x86, 0x60, 0x64, 0x6c, 0x67, 0x18, 0x0b, 0x05, + 0x62, 0xff, 0xe0, 0x1e, 0x30, 0x21, 0x2e, 0x40, 0x41, 0xb9, 0x60, 0x38, 0xd1, 0x24, 0x7e, 0x36, + 0x7a, 0x0b, 0x1c, 0x69, 0x4f, 0x09, 0xe1, 0x9e, 0xcf, 0xcd, 0x7c, 0x00, 0x73, 0x08, 0x77, 0x37, + 0x5f, 0x50, 0x32, 0x3e, 0xd3, 0x54, 0x77, 0x6b, 0x60, 0x60, 0x74, 0x7c, 0x55, 0x4f, 0x44, 0x5e, + 0x66, 0x5c, 0x58, 0x26, 0x35, 0x29, 0x3f, 0x35, 0x3f, 0x1c, 0x0b, 0x0d, 0x08, 0x5b, 0x59, 0x5c, + 0xa0, 0xa5, 0x87, 0x85, 0x24, 0x75, 0x5f, 0x42, 0x1b, 0xf3, 0x1a, 0x58, 0x17, 0x58, 0x71, 0x6b, + 0x69, 0x89, 0x7d, 0x3a, 0xf3, 0xc4, 0x5d, 0xa0, 0x4f, 0x27, 0x58, 0xc4, 0xa8, 0xdd, 0xa8, 0xfb, + 0xbe, 0xa4, 0xe2, 0xee, 0x07, 0x10, 0x90, 0x72, 0x99, 0x08, 0x68, 0x6d, 0x5c, 0x5c, 0x6d, 0x58, + 0x2f, 0xdc, 0x15, 0xd5, 0xd6, 0xd6, 0x3b, 0x3b, 0xf9, 0x32, 0xcc, 0xdd, 0xd4, 0xf1, 0xea, 0xed, + 0xe4, 0xf6, 0xf2, 0x91, 0xca, 0xc1, 0xed, 0xf2, 0xf6, 0xfb, 0xc0, 0xe8, 0xe3, 0xe7, 0xfa, 0xf1, + 0xf5, 0x08, 0x26, 0x2b, 0x2f, 0x34, 0x39, 0x13, 0x28, 0x07, 0x88, 0x5b, 0x8f, 0x94, 0x9b, 0x2e, + 0xf5, 0xab, 0x72, 0x76, 0x7a, 0x40, 0xb9, 0x09, 0xd8, 0x3b, 0xcd, 0x31, 0x3d, 0x42, 0xab, 0xb1, + 0xb5, 0xb9, 0x3b, 0xe3, 0x0b, 0x65, 0x18, 0xfb, 0x1f, 0x12, 0xe4, 0xe8, 0xec, 0xf2, 0xf7, 0xfc, + 0xc0, 0xe8, 0xe0, 0xe6, 0xfa, 0xf1, 0xf4, 0x0b, 0x26, 0x2b, 0x30, 0x35, 0x39, 0x13, 0x29, 0x21, + 0x0c, 0x11, 0x16, 0x1b, 0x1f, 0x64, 0x0e, 0x60, 0x05, 0x79, 0x7c, 0x37, 0x00, 0x0f, 0x4f, 0x38, + 0x1d, 0x18, 0xa2, 0xb6, 0xb2, 0xa9, 0xac, 0xab, 0xae, 0x91, 0x98, 0x8d, 0x91, 0xbb, 0xb1, 0xc0, +}; + +void pgm_puzzli2_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x100000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2_ALT + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= puzzli2_tab[i & 0xff] << 8; + src[i] = x; + } +} + + +static const uint8_t theglad_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x30, 0x35, 0x52, 0x44, 0x31, 0x30, 0x32, 0x31, 0x32, 0x30, 0x33, + 0xC4, 0xA3, 0x46, 0x78, 0x30, 0xB3, 0x8B, 0xD5, 0x2F, 0xC4, 0x44, 0xBF, 0xDB, 0x76, 0xDB, 0xEA, + 0xB4, 0xEB, 0x95, 0x4D, 0x15, 0x21, 0x99, 0xA1, 0xD7, 0x8C, 0x40, 0x1D, 0x43, 0xF3, 0x9F, 0x71, + 0x3D, 0x8C, 0x52, 0x01, 0xAF, 0x5B, 0x8B, 0x63, 0x34, 0xC8, 0x5C, 0x1B, 0x06, 0x7F, 0x41, 0x96, + 0x2A, 0x8D, 0xF1, 0x64, 0xDA, 0xB8, 0x67, 0xBA, 0x33, 0x1F, 0x2B, 0x28, 0x20, 0x13, 0xE6, 0x96, + 0x86, 0x34, 0x25, 0x85, 0xB0, 0xD0, 0x6D, 0x85, 0xFE, 0x78, 0x81, 0xF1, 0xCA, 0xE4, 0xEF, 0xF2, + 0x9B, 0x09, 0xE1, 0xB4, 0x8D, 0x79, 0x22, 0xE2, 0x00, 0xFB, 0x6F, 0x68, 0x80, 0x6A, 0x00, 0x69, + 0xF5, 0xD3, 0x57, 0x7E, 0x0C, 0xCA, 0x48, 0x31, 0xE5, 0x0D, 0x4A, 0xB9, 0xFD, 0x5C, 0xFD, 0xF8, + 0x5F, 0x98, 0xFB, 0xB3, 0x07, 0x1A, 0xE3, 0x10, 0x96, 0x56, 0xA3, 0x56, 0x3D, 0xB1, 0x07, 0xE0, + 0xE3, 0x9F, 0x7F, 0x62, 0x99, 0x01, 0x35, 0x60, 0x40, 0xBE, 0x4F, 0xEB, 0x79, 0xA0, 0x82, 0x9F, + 0xCD, 0x71, 0xD8, 0xDA, 0x1E, 0x56, 0xC2, 0x3E, 0x4E, 0x6B, 0x60, 0x69, 0x2D, 0x9F, 0x10, 0xF4, + 0xA9, 0xD3, 0x36, 0xAA, 0x31, 0x2E, 0x4C, 0x0A, 0x69, 0xC3, 0x2A, 0xFF, 0x15, 0x67, 0x96, 0xDE, + 0x3F, 0xCC, 0x0F, 0xA1, 0xAC, 0xE2, 0xD6, 0x62, 0x7E, 0x6F, 0x3E, 0x1B, 0x2A, 0xED, 0x36, 0x9C, + 0x9D, 0xA4, 0x14, 0xCD, 0xAA, 0x08, 0xA4, 0x26, 0xB7, 0x55, 0x70, 0x6C, 0xA9, 0x69, 0x52, 0xAE, + 0x0C, 0xE1, 0x38, 0x7F, 0x87, 0x78, 0x38, 0x75, 0x80, 0x9C, 0xD4, 0xE2, 0x0B, 0x52, 0x8F, 0xD2, + 0x19, 0x4C, 0xB0, 0x45, 0xDE, 0x48, 0x55, 0xAE, 0x82, 0xAB, 0xBC, 0xAB, 0x0C, 0x5E, 0xCE, 0x07, +}; + +void pgm_theglad_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x200000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2 + IGS27_CRYPT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= theglad_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t oldsplus_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x31, 0x33, 0x52, 0x44, 0x31, 0x30, 0x34, 0x30, 0x37, 0x32, 0x37, + 0xF5, 0x79, 0x6D, 0xAB, 0x04, 0x22, 0x51, 0x96, 0xF2, 0x72, 0xE8, 0x3A, 0x96, 0xD2, 0x9A, 0xCC, + 0x3F, 0x47, 0x3C, 0x09, 0xF2, 0xD9, 0x72, 0x41, 0xE6, 0x44, 0x43, 0xA7, 0x3E, 0xE2, 0xFD, 0xD8, + 0x06, 0xD8, 0x4C, 0xA9, 0x70, 0x80, 0x95, 0x35, 0x50, 0x17, 0x99, 0x27, 0xD5, 0xA8, 0x47, 0x45, + 0x89, 0x38, 0xE1, 0x3D, 0x8C, 0x33, 0x53, 0xB4, 0x0D, 0x17, 0xD1, 0x8D, 0x09, 0x5F, 0xAF, 0x76, + 0x48, 0xB2, 0x85, 0xB9, 0x95, 0x4C, 0x83, 0x42, 0x3D, 0xAD, 0x11, 0xEC, 0xCA, 0x82, 0xAC, 0x10, + 0x01, 0xD0, 0xFD, 0x50, 0x19, 0x67, 0x3B, 0xA0, 0x3E, 0x86, 0xC2, 0x97, 0x46, 0xCB, 0xF4, 0xF5, + 0xB3, 0x5F, 0x50, 0x74, 0xE9, 0x5F, 0xD2, 0xD4, 0xB0, 0x8D, 0x8A, 0x21, 0xED, 0x37, 0x80, 0x47, + 0x9D, 0x68, 0xC7, 0xD9, 0x12, 0x4E, 0xDF, 0x1E, 0x72, 0xEB, 0x50, 0x5E, 0x6D, 0x00, 0x85, 0x6B, + 0x3E, 0x37, 0xE6, 0x72, 0xE5, 0x8F, 0x3A, 0x03, 0xA3, 0x0D, 0x3B, 0x5F, 0xB6, 0xA1, 0x7B, 0x02, + 0x56, 0x56, 0x77, 0x71, 0xEF, 0xBE, 0xF9, 0x46, 0xA1, 0x9D, 0xB3, 0x79, 0xF6, 0xD5, 0x19, 0xF0, + 0xE2, 0x91, 0x7E, 0x4A, 0x01, 0xB6, 0x73, 0xE8, 0x0C, 0x86, 0x5D, 0x3E, 0x9C, 0x97, 0x55, 0x58, + 0x23, 0xF4, 0x45, 0xB0, 0x28, 0x91, 0x40, 0x2F, 0xC2, 0xF4, 0x21, 0x81, 0x58, 0x22, 0x68, 0x9D, + 0x97, 0xC7, 0x51, 0x95, 0xB4, 0xAA, 0x36, 0x9B, 0xE4, 0x51, 0x27, 0x55, 0x18, 0xF0, 0xC7, 0x62, + 0xFE, 0x98, 0x6A, 0x2D, 0x35, 0x9D, 0x6C, 0xF1, 0xCF, 0x48, 0xD4, 0x0D, 0x0C, 0xBE, 0x2A, 0x8A, + 0x55, 0x31, 0x96, 0xEA, 0x78, 0x45, 0x3A, 0x33, 0x23, 0xC5, 0xD1, 0x3C, 0xA3, 0x86, 0x88, 0x38, +}; + +void pgm_oldsplus_decrypt(running_machine &machine) +{ + int i; + unsigned short *src = (unsigned short *)(machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) { + unsigned short x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + IGS27_CRYPT5_ALT + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= oldsplus_tab[i & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t kovshp_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x30, 0x39, 0x72, 0x64, 0x31, 0x30, 0x34, 0x30, 0x32, 0x31, 0x39, + 0xF9, 0x8C, 0xBD, 0x87, 0x16, 0x07, 0x39, 0xEB, 0x29, 0x9E, 0x17, 0xEF, 0x4F, 0x64, 0x7C, 0xE0, + 0x5F, 0x73, 0x5B, 0xA1, 0x5E, 0x95, 0x0D, 0xF1, 0x40, 0x36, 0x2F, 0x00, 0xE2, 0x8A, 0xBC, 0x32, + 0x44, 0xFA, 0x6C, 0x33, 0x0B, 0xD5, 0x4C, 0x3B, 0x36, 0x34, 0x9E, 0xA3, 0x20, 0x2E, 0xF3, 0xA9, + 0xB7, 0x3E, 0x87, 0x80, 0xFB, 0xF1, 0xDD, 0x9C, 0xBA, 0xD3, 0x9B, 0x3B, 0x8A, 0x9C, 0xA8, 0x37, + 0x07, 0x97, 0x84, 0x0C, 0x4E, 0x54, 0xE7, 0x25, 0xBA, 0x8E, 0x9D, 0x6B, 0xDE, 0x5F, 0xA1, 0x10, + 0xC3, 0xA2, 0x79, 0x99, 0x63, 0xA9, 0xD1, 0x2A, 0x65, 0x20, 0x5B, 0x16, 0x1B, 0x41, 0xE6, 0xA7, + 0xBA, 0x3A, 0xBD, 0x2A, 0xD8, 0xDB, 0x43, 0x3F, 0x2B, 0x85, 0xCC, 0x5F, 0x80, 0x4F, 0xBE, 0xAE, + 0xFA, 0x79, 0xE8, 0x03, 0x8D, 0x16, 0x22, 0x35, 0xBB, 0xF6, 0x26, 0xA9, 0x8D, 0xD2, 0xAF, 0x19, + 0xD4, 0xBB, 0xD0, 0xA6, 0xA1, 0xC4, 0x96, 0x21, 0x02, 0xEF, 0xE1, 0x96, 0x00, 0x56, 0x80, 0x1B, + 0xD6, 0x9A, 0x8C, 0xD7, 0x73, 0x91, 0x07, 0x55, 0x32, 0x2B, 0xB5, 0x0B, 0xD8, 0xA5, 0x39, 0x26, + 0xCE, 0xF2, 0x74, 0x98, 0xA1, 0x66, 0x1A, 0x64, 0xB8, 0xA5, 0x96, 0x29, 0x54, 0xCB, 0x21, 0xED, + 0xCD, 0xDD, 0x1E, 0x2C, 0x0B, 0x70, 0xB8, 0x22, 0x43, 0x98, 0xBE, 0x54, 0xF3, 0x14, 0xBE, 0x65, + 0x21, 0xB7, 0x61, 0x17, 0xCF, 0x19, 0x07, 0xA0, 0xC2, 0x7F, 0xA3, 0x30, 0x75, 0x08, 0xD8, 0xBF, + 0x58, 0x1A, 0x55, 0x1B, 0x4E, 0x0D, 0x6D, 0x32, 0x65, 0x15, 0xFB, 0x9E, 0xD8, 0x75, 0x76, 0x6F, + 0x42, 0xE2, 0x4F, 0x3C, 0x25, 0x35, 0x93, 0x6C, 0x9B, 0x56, 0xBE, 0xC1, 0x5B, 0x65, 0xDE, 0x27, +}; + +void pgm_kovshp_decrypt(running_machine &machine) +{ + int i; + unsigned short *src = (unsigned short *)(machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) { + unsigned short x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2_ALT2 + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= kovshp_tab[i & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t killbldp_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x32, 0x34, 0x52, 0x44, 0x31, 0x30, 0x35, 0x30, 0x39, 0x30, 0x38, + 0x12, 0xA0, 0xD1, 0x9E, 0xB1, 0x8A, 0xFB, 0x1F, 0x50, 0x51, 0x4B, 0x81, 0x28, 0xDA, 0x5F, 0x41, + 0x78, 0x6C, 0x7A, 0xF0, 0xCD, 0x6B, 0x69, 0x14, 0x94, 0x55, 0xB6, 0x42, 0xDF, 0xFE, 0x10, 0x79, + 0x74, 0x08, 0xFA, 0xC0, 0x1C, 0xA5, 0xB4, 0x03, 0x2A, 0x91, 0x67, 0x2B, 0x49, 0x4A, 0x94, 0x7D, + 0x8B, 0x92, 0xBE, 0x35, 0xAF, 0x28, 0x56, 0x63, 0xB3, 0xC2, 0xE8, 0x06, 0x9B, 0x4E, 0x85, 0x66, + 0x7F, 0x6B, 0x70, 0xB7, 0xDB, 0x22, 0x0C, 0xEB, 0x13, 0xE9, 0x06, 0xD7, 0x45, 0xDA, 0xBE, 0x8B, + 0x54, 0x30, 0xFC, 0xEB, 0x32, 0x02, 0xD0, 0x92, 0x6D, 0x44, 0xCA, 0xE8, 0xFD, 0xFB, 0x5B, 0x81, + 0x4C, 0xC0, 0x8B, 0xB9, 0x87, 0x78, 0xDD, 0x8E, 0x24, 0x52, 0x80, 0xBE, 0xB4, 0x01, 0xB7, 0x21, + 0xEB, 0x3C, 0x8A, 0x49, 0xED, 0x73, 0xAE, 0x58, 0xDB, 0xD2, 0xB2, 0x21, 0x9E, 0x7C, 0x6C, 0x82, + 0xF3, 0x01, 0xA3, 0x00, 0xB7, 0x21, 0xFE, 0xA5, 0x75, 0xC4, 0x2D, 0x17, 0x2D, 0x39, 0x56, 0xF9, + 0x67, 0xAE, 0xC2, 0x87, 0x79, 0xF1, 0xC8, 0x6D, 0x15, 0x66, 0xFA, 0xE8, 0x16, 0x48, 0x8F, 0x1F, + 0x8B, 0x24, 0x10, 0xC4, 0x04, 0x93, 0x47, 0xE6, 0x1D, 0x37, 0x65, 0x1A, 0x49, 0xF8, 0x72, 0xCB, + 0xE1, 0x80, 0xFA, 0xDD, 0x6D, 0xF5, 0xF6, 0x89, 0x32, 0xF6, 0xF8, 0x75, 0xFC, 0xD8, 0x9B, 0x12, + 0x2D, 0x22, 0x2A, 0x3B, 0x06, 0x46, 0x90, 0x0C, 0x35, 0xA2, 0x80, 0xFF, 0xA0, 0xB7, 0xE5, 0x4D, + 0x71, 0xA9, 0x8C, 0x84, 0x62, 0xF7, 0x10, 0x65, 0x4A, 0x7B, 0x06, 0x00, 0xE8, 0xA4, 0x6A, 0x13, + 0xF0, 0xF3, 0x4A, 0x9F, 0x54, 0xB4, 0xB1, 0xCC, 0xD4, 0xFF, 0xD6, 0xFF, 0xC9, 0xEE, 0x86, 0x39, +}; + +void pgm_killbldp_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x200000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2 + IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= killbldp_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +void pgm_svg_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x800000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2_ALT + IGS27_CRYPT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5_ALT + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + src[i] = x; + } +} + +static const unsigned char svgpcb_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x31, 0x37, 0x52, 0x44, 0x31, 0x30, 0x35, 0x30, 0x35, 0x30, 0x34, + 0x75, 0x0B, 0xF1, 0x6B, 0x6D, 0xD7, 0xA8, 0xE7, 0x0C, 0xC5, 0x28, 0x81, 0x1F, 0xCF, 0x30, 0x15, + 0xA8, 0x0D, 0xDA, 0x76, 0xF8, 0x7D, 0xD6, 0xE1, 0x0A, 0x11, 0xE3, 0xA4, 0x23, 0xFF, 0x8E, 0x0B, + 0xA8, 0x44, 0x2F, 0x8B, 0x3F, 0x7A, 0x21, 0x32, 0x2A, 0xDC, 0x41, 0x4E, 0xE0, 0x97, 0xA9, 0x5D, + 0xED, 0x53, 0xAE, 0x35, 0x0B, 0x02, 0x18, 0x74, 0x82, 0xE8, 0xA1, 0x2A, 0xBD, 0xEB, 0xB0, 0xC6, + 0x2E, 0x1D, 0x56, 0x3E, 0x63, 0x87, 0x8A, 0x83, 0x69, 0x38, 0xA1, 0x24, 0x61, 0x8F, 0x11, 0x41, + 0x61, 0xC5, 0x67, 0xB3, 0x8E, 0xBE, 0x85, 0x79, 0x77, 0x10, 0x21, 0x66, 0xB4, 0x54, 0x7B, 0x09, + 0xBF, 0xAD, 0x5E, 0xDD, 0x12, 0x97, 0x5A, 0xB2, 0x82, 0xF3, 0x40, 0x5B, 0xDB, 0x4F, 0xDE, 0x99, + 0xBD, 0x7A, 0xFC, 0x48, 0xB6, 0x48, 0x97, 0xC8, 0xA1, 0xA2, 0x5C, 0xAE, 0x3E, 0xD2, 0x68, 0xAC, + 0x13, 0x0D, 0x3F, 0xBE, 0x82, 0x42, 0x0A, 0x97, 0x2C, 0x22, 0x16, 0x4B, 0x85, 0x70, 0x89, 0x3D, + 0xB8, 0x8B, 0x66, 0x4C, 0xBD, 0x39, 0xC4, 0x39, 0xB9, 0xB6, 0x4B, 0x5C, 0x96, 0xFC, 0xEF, 0x87, + 0xE3, 0x55, 0xF1, 0x3B, 0xED, 0x1F, 0x13, 0x0A, 0x1F, 0xDF, 0x1A, 0x4C, 0x97, 0x8A, 0x8A, 0x06, + 0x0A, 0x0F, 0x9D, 0x17, 0xDA, 0x28, 0x85, 0xA4, 0x75, 0x63, 0xE4, 0xC6, 0xF1, 0x6B, 0x88, 0x73, + 0xE6, 0x9C, 0x6B, 0xAA, 0x8B, 0xC7, 0xEA, 0xE3, 0x13, 0x42, 0x46, 0xB6, 0x4A, 0x34, 0x59, 0xCA, + 0x6C, 0x1F, 0x99, 0x01, 0x46, 0xAE, 0x52, 0xE1, 0x90, 0xC1, 0x1F, 0x46, 0x89, 0xB7, 0xAB, 0x46, + 0xD4, 0xFB, 0xA6, 0x65, 0x92, 0xD1, 0x0A, 0xFA, 0xC1, 0x63, 0x90, 0xE1, 0xD5, 0x07, 0x6D, 0x62 +}; + +void pgm_svgpcb_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x800000; + + for (i = 0; i < rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT; // ok? + IGS27_CRYPT2 // ok? + IGS27_CRYPT3 + IGS27_CRYPT4 // ok? + IGS27_CRYPT5 // ok? + IGS27_CRYPT6_ALT // ok? + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= svgpcb_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t py2k2_tab[256] = { + 0x74, 0xe8, 0xa8, 0x64, 0x26, 0x44, 0xa6, 0x9a, 0xa5, 0x69, 0xa2, 0xd3, 0x6d, 0xba, 0xff, 0xf3, + 0xeb, 0x6e, 0xe3, 0x70, 0x72, 0x58, 0x27, 0xd9, 0xe4, 0x9f, 0x50, 0xa2, 0xdd, 0xce, 0x6e, 0xf6, + 0x44, 0x72, 0x0c, 0x7e, 0x4d, 0x41, 0x77, 0x2d, 0x00, 0xad, 0x1a, 0x5f, 0x6b, 0xc0, 0x1d, 0x4e, + 0x4c, 0x72, 0x62, 0x3c, 0x32, 0x28, 0x43, 0xf8, 0x9d, 0x52, 0x05, 0x7e, 0xd1, 0xee, 0x82, 0x61, + 0x3b, 0x3f, 0x77, 0xf3, 0x8f, 0x7e, 0x3f, 0xf1, 0xdf, 0x8f, 0x68, 0x43, 0xd7, 0x68, 0xdf, 0x19, + 0x87, 0xff, 0x74, 0xe5, 0x3f, 0x43, 0x8e, 0x80, 0x0f, 0x7e, 0xdb, 0x32, 0xe8, 0xd1, 0x66, 0x8f, + 0xbe, 0xe2, 0x33, 0x94, 0xc8, 0x32, 0x39, 0xfa, 0xf0, 0x43, 0xde, 0x84, 0x18, 0xd0, 0x6d, 0xd5, + 0x74, 0x98, 0xf8, 0x64, 0xcf, 0x84, 0xc6, 0xea, 0x55, 0x32, 0xe2, 0x38, 0xdd, 0xea, 0xfd, 0x6c, + 0xeb, 0x6e, 0xe3, 0x70, 0xae, 0x38, 0xc7, 0xd9, 0x54, 0x84, 0x10, 0xc1, 0xfd, 0x1e, 0x6e, 0x6d, + 0x37, 0xe0, 0x03, 0x9e, 0x06, 0x36, 0x68, 0x5b, 0xe3, 0xf6, 0x7f, 0x0b, 0x56, 0x79, 0xe0, 0xa8, + 0x98, 0x77, 0xc7, 0x2b, 0xa5, 0x79, 0xff, 0x2f, 0xca, 0x15, 0x71, 0x7e, 0x02, 0xbf, 0x87, 0xb7, + 0x7a, 0x8e, 0xe6, 0x64, 0x32, 0x62, 0x2a, 0xca, 0x23, 0x72, 0x87, 0xb5, 0x0c, 0x02, 0x4b, 0xee, + 0x44, 0x72, 0x9c, 0x7e, 0x5d, 0xc1, 0xa7, 0x1d, 0x30, 0x38, 0xda, 0xc9, 0x5b, 0xd0, 0x11, 0xf9, + 0xb1, 0x72, 0x6c, 0x04, 0x31, 0xc9, 0x50, 0x60, 0x6f, 0xc1, 0xf2, 0xae, 0x00, 0xf4, 0x5d, 0x66, + 0x43, 0x0e, 0x7a, 0xc3, 0x76, 0xae, 0x3c, 0xc2, 0xb7, 0xc9, 0x52, 0xf4, 0x74, 0x51, 0xaf, 0x12, + 0x19, 0xc6, 0x75, 0xe8, 0x6c, 0x54, 0x7e, 0x63, 0xdd, 0xae, 0x07, 0x5a, 0xb7, 0x00, 0xb5, 0x5e +}; + +void pgm_py2k2_decrypt(running_machine &machine) // and ddpdoj/ddpdojbl +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT3 + IGS27_CRYPT3_ALT + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= py2k2_tab[i & 0xff] << 8; + + src[i] = x; + } +} + + +static const unsigned char ket_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x30, 0x34, 0x52, 0x44, 0x31, 0x30, 0x32, 0x31, 0x30, 0x31, 0x35, + 0x7c, 0x49, 0x27, 0xa5, 0xff, 0xf6, 0x98, 0x2d, 0x0f, 0x3d, 0x12, 0x23, 0xe2, 0x30, 0x50, 0xcf, + 0xf1, 0x82, 0xf0, 0xce, 0x48, 0x44, 0x5b, 0xf3, 0x0d, 0xdf, 0xf8, 0x5d, 0x50, 0x53, 0x91, 0xd9, + 0x12, 0xaf, 0x05, 0x7a, 0x98, 0xd0, 0x2f, 0x76, 0xf1, 0x5d, 0x17, 0x44, 0xc5, 0x03, 0x58, 0xf4, + 0x61, 0xee, 0xd1, 0xce, 0x00, 0x88, 0x90, 0x2e, 0x5c, 0x76, 0xfb, 0x9f, 0x75, 0xcf, 0x40, 0x37, + 0xa1, 0x9f, 0x00, 0x32, 0xd5, 0x9c, 0x37, 0xd2, 0x32, 0x27, 0x6f, 0x76, 0xd3, 0x86, 0x25, 0xf9, + 0xd6, 0x60, 0x7b, 0x4e, 0xa9, 0x7a, 0x20, 0x59, 0x96, 0xb1, 0x7d, 0x10, 0x92, 0x37, 0x22, 0xd2, + 0x42, 0x12, 0x6f, 0x07, 0x4f, 0xd2, 0x87, 0xfa, 0xeb, 0x92, 0x71, 0xf3, 0xa4, 0x31, 0x91, 0x98, + 0x68, 0xd2, 0x47, 0x86, 0xda, 0x92, 0xe5, 0x2b, 0xd4, 0x89, 0xd7, 0xe7, 0x3d, 0x03, 0x0d, 0x63, + 0x0c, 0x00, 0xac, 0x31, 0x9d, 0xe9, 0xf6, 0xa5, 0x34, 0x95, 0x77, 0xf2, 0xcf, 0x7c, 0x72, 0x89, + 0x31, 0x3a, 0x8b, 0xae, 0x2b, 0x47, 0xb6, 0x5d, 0x2d, 0xf5, 0x5f, 0x5c, 0x0e, 0xab, 0xdb, 0xa1, + 0x18, 0x60, 0x0e, 0xe6, 0x58, 0x5b, 0x5e, 0x8b, 0x24, 0x29, 0xd8, 0xac, 0xed, 0xdf, 0xa2, 0x83, + 0x46, 0x91, 0xa1, 0xff, 0x35, 0x13, 0x6a, 0xa5, 0xba, 0xef, 0x6e, 0xa8, 0x9e, 0xa6, 0x62, 0x44, + 0x7e, 0x2c, 0xed, 0x60, 0x17, 0x9e, 0x96, 0x64, 0xd3, 0x46, 0xec, 0x58, 0x95, 0xd1, 0xf7, 0x3e, + 0xc2, 0xcf, 0xdf, 0xb0, 0x90, 0x6c, 0xdb, 0xbe, 0x93, 0x6d, 0x5d, 0x02, 0x85, 0x6e, 0x7c, 0x05, + 0x55, 0x5a, 0xa1, 0xd7, 0x73, 0x2b, 0x76, 0xe9, 0x5b, 0xe4, 0x0c, 0x2e, 0x60, 0xcb, 0x4b, 0x72 +}; + +void pgm_ket_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + IGS27_CRYPT3_ALT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + + x ^= ket_tab[i & 0xff] << 8; + + src[i] = x; + } +} + +static const unsigned char espgal_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x30, 0x37, 0x52, 0x44, 0x31, 0x30, 0x33, 0x30, 0x39, 0x30, 0x39, + 0xa7, 0xf1, 0x0a, 0xca, 0x69, 0xb2, 0xce, 0x86, 0xec, 0x3d, 0xa2, 0x5a, 0x03, 0xe9, 0xbf, 0xba, + 0xf7, 0xd5, 0xec, 0x68, 0x03, 0x90, 0x15, 0xcc, 0x0d, 0x08, 0x2d, 0x76, 0xa5, 0xb5, 0x41, 0xf1, + 0x43, 0x06, 0xdd, 0xcb, 0xbd, 0x0c, 0xa4, 0xe2, 0x08, 0x65, 0x2a, 0xf0, 0x30, 0x6b, 0x15, 0x59, + 0x99, 0x9e, 0x75, 0x35, 0x77, 0x4f, 0x60, 0x99, 0x8c, 0x8f, 0xd2, 0x2b, 0x21, 0x57, 0xc3, 0xe5, + 0x48, 0xf9, 0x8a, 0x29, 0x50, 0xc6, 0x71, 0x06, 0x89, 0x01, 0x9a, 0xc9, 0x39, 0x04, 0x12, 0xc8, + 0xdf, 0xb1, 0x33, 0x6b, 0xa7, 0x1c, 0x3f, 0x7b, 0x2d, 0x76, 0x3a, 0xaf, 0x76, 0x3d, 0x08, 0x74, + 0x2c, 0xa2, 0xc8, 0xfd, 0x1a, 0x3a, 0x6f, 0x8b, 0xe8, 0xe9, 0xa9, 0xfe, 0x17, 0x0c, 0xed, 0x9d, + 0x40, 0xe6, 0xdf, 0x22, 0x89, 0x4d, 0xea, 0x09, 0x68, 0x96, 0x1e, 0x1a, 0x9c, 0xbd, 0x47, 0x35, + 0x68, 0xd9, 0x4f, 0x5e, 0x12, 0xbf, 0xd6, 0x09, 0x9d, 0xf6, 0x0f, 0xa7, 0xc2, 0xdb, 0xde, 0x70, + 0x35, 0x15, 0x2f, 0x73, 0x16, 0x3c, 0x9a, 0xdc, 0xb5, 0xc5, 0x35, 0x86, 0x8a, 0x31, 0xb8, 0xc1, + 0x74, 0x76, 0xd7, 0x65, 0x32, 0xad, 0xdc, 0x17, 0x1f, 0xfe, 0x85, 0xda, 0x32, 0xc9, 0x1d, 0xda, + 0x36, 0x16, 0xde, 0x76, 0x45, 0x3f, 0x85, 0x8c, 0x8b, 0xdc, 0x37, 0x08, 0x39, 0xef, 0x94, 0xaf, + 0xc8, 0x51, 0x19, 0x29, 0x70, 0x5d, 0xbb, 0x4e, 0xe8, 0xdb, 0xc2, 0xb2, 0x5f, 0x2e, 0xe3, 0x73, + 0xba, 0xc2, 0xa1, 0x42, 0x10, 0xb0, 0xe5, 0xb0, 0x64, 0xb4, 0xdc, 0xbb, 0xa1, 0x51, 0x12, 0x98, + 0xdc, 0x43, 0xcc, 0xc3, 0xc5, 0x25, 0xab, 0x45, 0x6e, 0x63, 0x7e, 0x45, 0x40, 0x63, 0x67, 0xd2 +}; + +void pgm_espgal_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT3 + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4_ALT + IGS27_CRYPT5_ALT + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= espgal_tab[i & 0xff] << 8; + + src[i] = x; + } +} + + + +static const uint8_t happy6in1_tab[256] = { // IGS0008RD1031215 + 0x49, 0x47, 0x53, 0x30, 0x30, 0x30, 0x38, 0x52, 0x44, 0x31, 0x30, 0x33, 0x31, 0x32, 0x31, 0x35, + 0x14, 0xd6, 0x37, 0x5c, 0x5e, 0xc3, 0xd3, 0x62, 0x96, 0x3d, 0xfb, 0x47, 0xf0, 0xcb, 0xbf, 0xb0, + 0x60, 0xa1, 0xc2, 0x3d, 0x90, 0xd0, 0x58, 0x56, 0x22, 0xac, 0xdd, 0x39, 0x27, 0x7e, 0x58, 0x44, + 0xe0, 0x6b, 0x51, 0x80, 0xb4, 0xa4, 0xf0, 0x6f, 0x71, 0xd0, 0x57, 0x18, 0xc7, 0xb6, 0x41, 0x50, + 0x02, 0x2f, 0xdb, 0x4a, 0x08, 0x4b, 0xe3, 0x62, 0x92, 0xc3, 0xff, 0x26, 0xaf, 0x9f, 0x60, 0xa5, + 0x76, 0x28, 0x97, 0xfd, 0x0b, 0x10, 0xb7, 0x1f, 0xd5, 0xe0, 0xac, 0xe6, 0xfd, 0xa3, 0xdb, 0x58, + 0x2a, 0xd1, 0xfc, 0x3b, 0x7c, 0x7e, 0x34, 0xdc, 0xc7, 0xc4, 0x76, 0x1b, 0x11, 0x6d, 0x1b, 0xbb, + 0x4e, 0xe5, 0xc0, 0xe8, 0x5a, 0x60, 0x60, 0x0a, 0x38, 0x47, 0xb3, 0xc9, 0x89, 0xe9, 0xc6, 0x61, + 0x50, 0x5f, 0xdb, 0x28, 0xe5, 0xc0, 0x83, 0x5c, 0x37, 0x86, 0xfa, 0x32, 0x46, 0x40, 0xc3, 0x1d, + 0xdf, 0x7a, 0x85, 0x5c, 0x9a, 0xea, 0x24, 0xc7, 0x12, 0xdc, 0x23, 0xda, 0x65, 0xdf, 0x39, 0x02, + 0xeb, 0xb1, 0x32, 0x28, 0x3a, 0x69, 0x09, 0x7c, 0x5a, 0xe3, 0x44, 0x83, 0x45, 0x71, 0x8f, 0x64, + 0xa3, 0xbf, 0x9c, 0x6f, 0xc4, 0x07, 0x3a, 0xee, 0xdd, 0x77, 0xb4, 0x31, 0x87, 0xdf, 0x6d, 0xd4, + 0x75, 0x9f, 0xb9, 0x53, 0x75, 0xd0, 0xfe, 0xd1, 0xaa, 0xb2, 0x0b, 0x25, 0x08, 0x56, 0xb8, 0x27, + 0x10, 0x8c, 0xbf, 0x39, 0xce, 0x0f, 0xdb, 0x18, 0x10, 0xf0, 0x1f, 0xe5, 0xe8, 0x40, 0x98, 0x6f, + 0x64, 0x02, 0x27, 0xc3, 0x8c, 0x4f, 0x98, 0xf6, 0x9d, 0xcb, 0x07, 0x31, 0x85, 0x48, 0x75, 0xff, + 0x9f, 0xba, 0xa6, 0xd3, 0xb0, 0x5b, 0x3d, 0xdd, 0x22, 0x1f, 0x1b, 0x0e, 0x7f, 0x5a, 0xf4, 0x6a +}; + +void pgm_happy6_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("user1")->base()); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2 + IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5_ALT + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= happy6in1_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t sdwx_tab[] = +{ + 0x49,0x47,0x53,0x30,0x30,0x35,0x35,0x52,0x44,0x34,0x30,0x32,0x30,0x36,0x32,0x31, + 0x8A,0xBB,0x20,0x67,0x97,0xA5,0x20,0x45,0x6B,0xC0,0xE8,0x0C,0x80,0xFB,0x49,0xAA, + 0x1E,0xAC,0x29,0xF2,0xB9,0x9F,0x01,0x4A,0x8D,0x5F,0x95,0x96,0x78,0xC3,0xF6,0x65, + 0x17,0xBD,0xB6,0x5B,0x25,0x5F,0x6B,0xDE,0x10,0x2E,0x67,0x05,0xDC,0xAC,0xB6,0xBD, + 0x3D,0x20,0x58,0x3D,0xF0,0xA8,0xC0,0xAD,0x5B,0x82,0x8D,0x12,0x65,0x97,0x87,0x7D, + 0x97,0x49,0xDD,0x74,0x74,0x7E,0x9D,0xA1,0x15,0xED,0x75,0xB9,0x09,0xA8,0xA8,0xB0, + 0x6B,0xEA,0x54,0x1B,0x45,0x23,0xE2,0xE5,0x25,0x42,0xCE,0x36,0xFE,0x42,0x99,0xA0, + 0x41,0xF8,0x0B,0x8C,0x3C,0x1B,0xAE,0xE4,0xB2,0x94,0x87,0x02,0xBC,0x08,0x17,0xD9, + 0xE0,0xA4,0x93,0x63,0x6F,0x28,0x5F,0x4A,0x24,0x36,0xD1,0xDA,0xFA,0xDD,0x23,0x26, + 0x4E,0x61,0xB9,0x7A,0x36,0x4D,0x95,0x01,0x20,0xBC,0x18,0xB7,0xAF,0xE4,0xFB,0x92, + 0xD2,0xE3,0x8E,0xEC,0x26,0xCE,0x2F,0x34,0x8F,0xF7,0x0D,0xD6,0x11,0x7F,0x1F,0x68, + 0xF4,0x1D,0x5F,0x16,0x19,0x2D,0x4C,0x4F,0x96,0xFC,0x9F,0xB0,0x99,0x53,0x4C,0x32, + 0x7B,0x41,0xBC,0x90,0x23,0x2E,0x4A,0xFC,0x9E,0x1D,0xFC,0x02,0xFC,0x41,0x83,0xBC, + 0x6D,0xC4,0x75,0x37,0x9D,0xD3,0xC9,0x26,0x4D,0xED,0x93,0xC6,0x32,0x6D,0x02,0x11, + 0x12,0x56,0x97,0x26,0x1D,0x5F,0xA7,0xF8,0x89,0x3F,0x14,0x36,0x72,0x3B,0x48,0x7B, + 0xF1,0xED,0x72,0xB7,0x7A,0x56,0x05,0xDE,0x7B,0x27,0x6D,0xCF,0x33,0x4C,0x14,0x86, +}; + + +void sdwx_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT2 + IGS27_CRYPT2_ALT + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= sdwx_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t hauntedh_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x32, 0x35, 0x34, 0x52, 0x44, 0x34, 0x30, 0x36, 0x30, 0x35, 0x32, 0x36, + 0x6C, 0x65, 0x33, 0xFD, 0x7A, 0x71, 0x3D, 0xB8, 0x07, 0xF1, 0x86, 0x96, 0x19, 0x5A, 0xA2, 0x05, + 0x49, 0xB1, 0xED, 0x2E, 0x7C, 0x7A, 0x65, 0x8B, 0xE1, 0xE3, 0xC8, 0xAA, 0x2B, 0x32, 0xEE, 0x3F, + 0x10, 0x6C, 0x69, 0x70, 0x02, 0x47, 0x5B, 0x5D, 0x2D, 0x52, 0x97, 0xEF, 0xB1, 0x63, 0xFB, 0xE3, + 0x21, 0x41, 0x0C, 0x17, 0x3C, 0x93, 0xD4, 0x13, 0xEB, 0x08, 0xF9, 0xDB, 0x7A, 0xC8, 0x1E, 0xF4, + 0x1B, 0x1B, 0x7F, 0xB4, 0x98, 0x59, 0xC8, 0xCF, 0x58, 0x12, 0x36, 0x1F, 0x96, 0x7D, 0xF0, 0xB3, + 0xDC, 0x26, 0xA8, 0x1C, 0xC6, 0xD4, 0x6E, 0xF3, 0xF5, 0xB9, 0xD4, 0xAF, 0x52, 0xDD, 0x48, 0xA5, + 0x85, 0xCC, 0xAD, 0x60, 0xB4, 0x7F, 0x3C, 0x24, 0x80, 0x88, 0x9B, 0xBD, 0x3E, 0x82, 0x3B, 0x8D, + 0x73, 0xB8, 0xF7, 0xD5, 0x92, 0x15, 0xeb, 0x43, 0xF9, 0x4C, 0x91, 0xBD, 0x29, 0x48, 0x22, 0x6D, + 0x45, 0xD6, 0x2C, 0x0D, 0xCE, 0x91, 0x70, 0x74, 0x9D, 0x0E, 0xFE, 0x62, 0x22, 0x49, 0x94, 0x88, + 0xDB, 0x50, 0x33, 0xDB, 0x18, 0x2E, 0x03, 0x1B, 0xED, 0x1A, 0x69, 0x9E, 0x78, 0xE1, 0x66, 0x62, + 0x54, 0x91, 0x33, 0x52, 0x5E, 0x67, 0x1B, 0xD9, 0xA7, 0xFB, 0x98, 0xA5, 0xBA, 0xAA, 0xB1, 0xBD, + 0x0F, 0x44, 0x93, 0xC6, 0xCF, 0xF7, 0x6F, 0x91, 0xCA, 0x7B, 0x93, 0xEA, 0xB6, 0x7F, 0xCC, 0x9C, + 0xAB, 0x54, 0xFB, 0xC8, 0xDB, 0xD9, 0xF5, 0x68, 0x96, 0xA7, 0xA1, 0x1F, 0x7D, 0x7D, 0x4C, 0x43, + 0x06, 0xED, 0x50, 0x2D, 0x30, 0x48, 0xE6, 0xC0, 0x88, 0xC8, 0x48, 0x38, 0x5D, 0xFC, 0x0a, 0x35, + 0x3F, 0x79, 0xBA, 0x07, 0xBE, 0xBF, 0xB7, 0x3B, 0x61, 0x69, 0x4F, 0x67, 0xE5, 0x9A, 0x1D, 0x33 +}; + +void hauntedh_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x080000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + // IGS27_CRYPT2 + // IGS27_CRYPT3 + IGS27_CRYPT4_ALT + // IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7_ALT + IGS27_CRYPT8 + + x ^= hauntedh_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t chessc2_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x38, 0x32, 0x52, 0x44, 0x34, 0x30, 0x32, 0x31, 0x32, 0x31, 0x31, + 0x28, 0xCA, 0x9C, 0xAD, 0xBB, 0x2D, 0xF0, 0x41, 0x6E, 0xCE, 0xAD, 0x73, 0xAE, 0x1C, 0xD1, 0x14, + 0x6F, 0x9A, 0x75, 0x18, 0xA8, 0x91, 0x68, 0xe4, 0x09, 0xF4, 0x0F, 0xD7, 0xFF, 0x93, 0x7D, 0x1B, + 0xEB, 0x84, 0xce, 0xAD, 0x9E, 0xCF, 0xC9, 0xAB, 0x18, 0x59, 0xb6, 0xde, 0x82, 0x13, 0x7C, 0x88, + 0x69, 0x63, 0xFF, 0x6F, 0x3C, 0xD2, 0xB9, 0x29, 0x09, 0xF8, 0x97, 0xAA, 0x74, 0xA5, 0x16, 0x0D, + 0xF9, 0x51, 0x9E, 0x9f, 0x63, 0xC6, 0x1E, 0x32, 0x8C, 0x0C, 0xE9, 0xA0, 0x56, 0x95, 0xD1, 0x9D, + 0xEA, 0xA9, 0x82, 0xC3, 0x30, 0x15, 0x21, 0xD8, 0x8F, 0x10, 0x25, 0x61, 0xE6, 0x6D, 0x75, 0x6D, + 0xCB, 0x08, 0xC3, 0x9B, 0x03, 0x6A, 0x28, 0x6D, 0x42, 0xBF, 0x00, 0xd2, 0x24, 0xFA, 0x08, 0xEE, + 0x6B, 0x46, 0xB7, 0x2C, 0x7B, 0xB0, 0xDA, 0x86, 0x13, 0x14, 0x73, 0x14, 0x4D, 0x45, 0xD3, 0xD4, + 0xD9, 0x80, 0xF5, 0xB8, 0x76, 0x13, 0x1E, 0xF6, 0xB1, 0x4A, 0xB3, 0x8B, 0xE2, 0x9A, 0x5A, 0x11, + 0x64, 0x11, 0x55, 0xC3, 0x14, 0xFD, 0x1B, 0xCe, 0x0C, 0xDC, 0x38, 0xDA, 0xA1, 0x84, 0x66, 0xD9, + 0x9b, 0x93, 0xED, 0x0F, 0xB4, 0x19, 0x38, 0x62, 0x53, 0x85, 0xB9, 0xE5, 0x89, 0xCd, 0xFE, 0x9E, + 0x4D, 0xE2, 0x14, 0x9F, 0xF4, 0x53, 0x1C, 0x46, 0xf4, 0x40, 0x2C, 0xCC, 0xDa, 0x82, 0x69, 0x15, + 0x88, 0x18, 0x62, 0xB7, 0xB4, 0xD5, 0xAF, 0x4B, 0x9E, 0x48, 0xCA, 0xF4, 0x11, 0xEC, 0x2D, 0x2C, + 0x9D, 0x91, 0xAD, 0xDA, 0x13, 0x0A, 0x16, 0x86, 0x41, 0x18, 0x08, 0x01, 0xef, 0x97, 0x11, 0x1f, + 0x1A, 0xE7, 0x0C, 0xC9, 0x6D, 0x9D, 0xB9, 0x49, 0x0B, 0x6B, 0x9E, 0xD4, 0x72, 0x4D, 0x1D, 0x59 +}; + +void chessc2_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + // IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6 // correct?? + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= chessc2_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t klxyj_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x30, 0x38, 0x52, 0x44, 0x34, 0x30, 0x31, 0x30, 0x39, 0x32, 0x34, + 0x3F, 0x0F, 0x66, 0x9A, 0xBF, 0x0D, 0x06, 0x55, 0x09, 0x01, 0xEB, 0x72, 0xEB, 0x9B, 0x89, 0xFA, + 0x24, 0xD1, 0x5D, 0xCA, 0xE6, 0x8A, 0x8C, 0xE0, 0x92, 0x8D, 0xBF, 0xE4, 0xAF, 0xAA, 0x3E, 0xFA, + 0x2B, 0x27, 0x4B, 0xC7, 0xD6, 0x6D, 0xC1, 0xC2, 0x1C, 0xF4, 0xED, 0xBD, 0x03, 0x6C, 0xAD, 0xB3, + 0x65, 0x2D, 0xC7, 0xD3, 0x6E, 0xE0, 0x8C, 0xCE, 0x59, 0x6F, 0xAE, 0x5E, 0x66, 0x2B, 0x5E, 0x17, + 0x20, 0x3D, 0xA9, 0x72, 0xCD, 0x4F, 0x14, 0x17, 0x35, 0x7B, 0x77, 0x6B, 0x98, 0x73, 0x17, 0x5A, + 0xEA, 0xF2, 0x07, 0x66, 0x51, 0x64, 0xC1, 0xF0, 0xE2, 0xD1, 0x00, 0xC6, 0x97, 0x0F, 0xE0, 0xEE, + 0x94, 0x28, 0x39, 0xB2, 0x9B, 0x0A, 0x38, 0xED, 0xCC, 0x6E, 0x40, 0x94, 0xA2, 0x0A, 0x00, 0x88, + 0x2B, 0xFA, 0xD5, 0x9A, 0x87, 0x6C, 0x62, 0xDF, 0xA4, 0x8B, 0x6D, 0x37, 0x38, 0xAE, 0xFD, 0x18, + 0xFF, 0xC2, 0xB2, 0xA0, 0x37, 0xF5, 0x64, 0xDB, 0x59, 0xA5, 0x00, 0x51, 0x19, 0x88, 0x9F, 0xD4, + 0xA0, 0x1C, 0xE7, 0x88, 0x08, 0x51, 0xA7, 0x33, 0x19, 0x75, 0xAE, 0xC7, 0x42, 0x61, 0xEC, 0x2D, + 0xDB, 0xE2, 0xCC, 0x54, 0x9A, 0x6A, 0xD1, 0x7A, 0x53, 0xF8, 0x6F, 0xBA, 0xF4, 0x45, 0x2C, 0xD7, + 0xC0, 0x30, 0xF7, 0x47, 0xCC, 0x6B, 0xC8, 0x83, 0xB7, 0x67, 0x7A, 0x8E, 0xAD, 0x7E, 0xE5, 0xC4, + 0x9F, 0x60, 0x40, 0xE5, 0xBC, 0xC0, 0xB5, 0x61, 0x33, 0x3F, 0x46, 0xE6, 0x2D, 0x98, 0xDF, 0x28, + 0x05, 0x0E, 0xBC, 0xF0, 0xCA, 0x13, 0xFE, 0x68, 0xF7, 0x3A, 0x89, 0xA5, 0x71, 0x5F, 0x21, 0x76, + 0xC2, 0x14, 0xC5, 0x6C, 0x95, 0x4f, 0x4f, 0x2A, 0x71, 0x52, 0x3C, 0xEE, 0xAA, 0xDB, 0xf1, 0x00 +}; + +void klxyj_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + // IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= klxyj_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t zhongguo_tab[0x100] = { + 0x68, 0x56, 0xC2, 0x54, 0xA2, 0x8C, 0x7B, 0x4F, 0x37, 0xAC, 0x60, 0xF8, 0x24, 0xDF, 0x3E, 0x6B, + 0xE2, 0x89, 0x3D, 0xF3, 0x31, 0x83, 0x4A, 0x65, 0x27, 0x98, 0xC5, 0xBF, 0x78, 0x3E, 0x6C, 0x02, + 0x07, 0x96, 0x88, 0x4D, 0xAE, 0xA6, 0x56, 0x3A, 0x4A, 0xD5, 0xB8, 0x7E, 0x0B, 0xA7, 0x1D, 0xBC, + 0xFA, 0xBA, 0xAD, 0xA9, 0xCB, 0x02, 0xBA, 0x66, 0xE5, 0x41, 0x63, 0x1A, 0xB0, 0xCA, 0x8A, 0xCF, + 0x1E, 0x76, 0xF9, 0x8F, 0x7C, 0xE7, 0xD0, 0xC0, 0x7B, 0xFC, 0x32, 0xBC, 0x7A, 0x95, 0x2F, 0xB4, + 0x16, 0x88, 0xF5, 0xC6, 0xF4, 0xE3, 0x33, 0x5D, 0xCE, 0x65, 0xCE, 0xCA, 0xBC, 0x37, 0xC8, 0x20, + 0xC5, 0xEF, 0x6D, 0x55, 0xA6, 0xC7, 0xBF, 0x96, 0xE1, 0x1A, 0x24, 0xEA, 0x09, 0x20, 0x4E, 0x0B, + 0x4D, 0xEB, 0x6B, 0x82, 0x44, 0xA1, 0x8F, 0x01, 0xF8, 0xFB, 0x5E, 0x05, 0x35, 0xFF, 0xFE, 0xAC, + 0x13, 0xF9, 0x3C, 0xD4, 0xC1, 0xC0, 0xFD, 0x76, 0x95, 0x27, 0xE7, 0x41, 0x52, 0xC1, 0x51, 0x7A, + 0xB8, 0xDA, 0x69, 0x13, 0x52, 0xB3, 0xA4, 0x0B, 0x7B, 0xFD, 0x6B, 0x05, 0xB2, 0x98, 0x04, 0x2C, + 0x20, 0x8C, 0xBE, 0x46, 0x68, 0x48, 0x60, 0x17, 0xAE, 0x1B, 0xD4, 0xF8, 0xEA, 0xF1, 0x10, 0xB8, + 0x6F, 0x4F, 0x45, 0xB3, 0xB6, 0x90, 0x4C, 0x31, 0x70, 0x61, 0x4D, 0x02, 0xCC, 0x7B, 0xB1, 0x57, + 0x06, 0xA0, 0x4B, 0xE2, 0x31, 0xD9, 0xC2, 0x31, 0x45, 0xEE, 0x42, 0x48, 0x6B, 0x26, 0x63, 0x7E, + 0x89, 0x40, 0x59, 0x9A, 0x09, 0xB1, 0x5E, 0x2D, 0xEF, 0x20, 0x5C, 0x32, 0x1B, 0x20, 0xDF, 0xE5, + 0xDA, 0x2D, 0x3B, 0xE1, 0xB4, 0xE9, 0xFA, 0x7D, 0x71, 0x97, 0x88, 0x68, 0x6D, 0xD8, 0x22, 0x82, + 0x1E, 0xA6, 0xFC, 0xFE, 0xE3, 0x8E, 0xB1, 0xB7, 0x0F, 0x32, 0xF1, 0xCF, 0x36, 0xFE, 0x65, 0x8E +}; + +void zhongguo_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + // IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= zhongguo_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t gonefsh2_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x38, 0x32, 0x52, 0x44, 0x34, 0x30, 0x32, 0x31, 0x32, 0x31, 0x31, + 0x28, 0xca, 0x9c, 0xAD, 0xbb, 0x2d, 0xf0, 0x41, 0x6e, 0xce, 0xad, 0x73, 0xae, 0x1c, 0xd1, 0x14, + 0x6f, 0x9a, 0x75, 0x18, 0xa8, 0x91, 0x68, 0xe4, 0x09, 0xf4, 0x0f, 0xd7, 0xff, 0x93, 0x7d, 0x1b, + 0xeb, 0x84, 0xce, 0xad, 0x9e, 0xcf, 0xc9, 0xab, 0x18, 0x59, 0xb6, 0xde, 0x82, 0x13, 0x7c, 0x88, + 0x69, 0x63, 0xff, 0x6f, 0x3c, 0xd2, 0xb9, 0x29, 0x09, 0xf8, 0x97, 0xaa, 0x74, 0xa5, 0x16, 0x0d, + 0xf9, 0x51, 0x9e, 0x9f, 0x63, 0xc6, 0x1e, 0x32, 0x8c, 0x0c, 0xe9, 0xa0, 0x56, 0x95, 0xd1, 0x9d, + 0xea, 0xa9, 0x82, 0xc3, 0x30, 0x15, 0x21, 0xd8, 0x8f, 0x10, 0x25, 0x61, 0xe6, 0x6d, 0x75, 0x6d, + 0xcb, 0x08, 0xc3, 0x9b, 0x03, 0x6a, 0x28, 0x6d, 0x42, 0xbf, 0x00, 0xd2, 0x24, 0xfa, 0x08, 0xee, + 0x6b, 0x46, 0xb7, 0x2c, 0x7b, 0xb0, 0xda, 0x86, 0x13, 0x14, 0x73, 0x14, 0x4d, 0x45, 0xd3, 0xd4, + 0xd9, 0x80, 0xf5, 0xb8, 0x76, 0x13, 0x1e, 0xf6, 0xb1, 0x4a, 0xb3, 0x8b, 0xe2, 0x9a, 0x5a, 0x11, + 0x64, 0x11, 0x55, 0xc3, 0x14, 0xfd, 0x1b, 0xce, 0x0c, 0xdc, 0x38, 0xda, 0xa1, 0x84, 0x66, 0xd9, + 0x9b, 0x93, 0xed, 0x0f, 0xb4, 0x19, 0x38, 0x62, 0x53, 0x85, 0xb9, 0xe4, 0x89, 0xcd, 0xfe, 0x9e, + 0x4d, 0xe2, 0x14, 0x9f, 0xf4, 0x53, 0x1c, 0x46, 0xf4, 0x40, 0x2c, 0xcc, 0xda, 0x82, 0x69, 0x15, + 0x88, 0x18, 0x62, 0xb7, 0xb4, 0xd5, 0xaf, 0x4b, 0x9e, 0x48, 0xca, 0xf4, 0x11, 0xec, 0x2d, 0x2e, + 0x9d, 0x91, 0xad, 0xda, 0x13, 0x0a, 0x16, 0x86, 0x41, 0x18, 0x08, 0x01, 0xEF, 0x97, 0x11, 0x1f, + 0x1a, 0xe7, 0x0c, 0xc9, 0x6f, 0x9d, 0xb9, 0x49, 0x0b, 0x6b, 0x9e, 0xd4, 0x72, 0x4d, 0x1d, 0x59 +}; + +void gonefsh2_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + // IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= gonefsh2_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t sddz_tab[0x100] = { + 0xd7, 0x5f, 0xc8, 0x5b, 0xbf, 0xfa, 0x61, 0x0c, 0xdd, 0xab, 0xc3, 0x26, 0x3b, 0xd8, 0xbc, 0x1e, + 0xa6, 0x4b, 0xcf, 0xdc, 0x12, 0x61, 0x70, 0xd2, 0x76, 0xef, 0x44, 0xe8, 0x9a, 0x65, 0xf5, 0x13, + 0xb3, 0x1e, 0xcd, 0x00, 0xdf, 0x30, 0xa7, 0x9d, 0xb7, 0x49, 0xdf, 0xf6, 0xa7, 0x0b, 0x1a, 0x58, + 0x2a, 0xea, 0x0e, 0x92, 0x39, 0x96, 0x25, 0x5d, 0x1b, 0xda, 0x27, 0x63, 0x4f, 0xe0, 0xda, 0x04, + 0x7e, 0x10, 0x16, 0xbc, 0xff, 0x52, 0x73, 0x4a, 0x82, 0xd4, 0xba, 0xd8, 0x13, 0xb3, 0xe9, 0xfd, + 0x9a, 0x6c, 0x6c, 0xd6, 0xef, 0x63, 0x9d, 0xa2, 0xf6, 0x26, 0x94, 0x55, 0x25, 0x93, 0x21, 0x26, + 0x2a, 0xbf, 0x4b, 0xc8, 0x22, 0x18, 0x2d, 0x5d, 0xb6, 0x02, 0xba, 0x70, 0xcd, 0xae, 0xd5, 0xed, + 0x5f, 0x48, 0xca, 0xd5, 0x3d, 0x41, 0xd0, 0xee, 0xd7, 0xd9, 0xba, 0x01, 0x6c, 0x34, 0x58, 0x33, + 0xde, 0x44, 0x6d, 0xee, 0x95, 0x5c, 0x0f, 0x97, 0x98, 0xdc, 0xf0, 0x76, 0xc5, 0x73, 0x46, 0x51, + 0x1c, 0xe5, 0xe0, 0xda, 0x4b, 0x38, 0xb6, 0x08, 0x20, 0xfd, 0xa2, 0xbc, 0x0e, 0xcc, 0xa9, 0xac, + 0x84, 0xb8, 0x42, 0x5c, 0x5b, 0x14, 0x4f, 0xc3, 0xb0, 0x2b, 0xbd, 0x68, 0x42, 0xbc, 0x9c, 0x01, + 0x7e, 0xec, 0xd6, 0x3b, 0x20, 0x10, 0x07, 0x78, 0xdf, 0x18, 0xa5, 0xa2, 0x15, 0xa2, 0x7a, 0xa0, + 0x7c, 0xf1, 0xcb, 0x1a, 0x7d, 0x69, 0x47, 0xe9, 0xd9, 0xf6, 0xf7, 0x78, 0x41, 0x8f, 0x0f, 0x24, + 0xed, 0xb5, 0x04, 0x39, 0x09, 0xf0, 0x7b, 0x06, 0x14, 0xb4, 0xc1, 0xe2, 0xc5, 0xa0, 0x2d, 0x75, + 0xb9, 0xb7, 0xa8, 0x81, 0x03, 0x13, 0xce, 0x0e, 0x47, 0x45, 0x0f, 0xfe, 0xe5, 0x24, 0xf7, 0x77, + 0x4c, 0x87, 0xd2, 0x04, 0xe9, 0xc1, 0xea, 0x7b, 0xbe, 0x58, 0x4f, 0x35, 0x27, 0xfc, 0xf1, 0x11 +}; + +void sddz_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT; + IGS27_CRYPT2_ALT + // IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= sddz_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t lhzb3_tab[0x100] = { + 0x13, 0x45, 0x21, 0xA1, 0x69, 0x9A, 0x05, 0xDA, 0x7D, 0x10, 0xDA, 0x7F, 0x34, 0x9F, 0xF3, 0x64, + 0x35, 0xF9, 0x16, 0x1C, 0xD4, 0x60, 0x02, 0xF3, 0x42, 0xC7, 0x42, 0x29, 0xF3, 0x2C, 0x31, 0x71, + 0x50, 0x35, 0x4E, 0xAA, 0x9F, 0x09, 0xC3, 0xDD, 0x2F, 0x72, 0x30, 0x77, 0xC7, 0x30, 0xBC, 0xC8, + 0x51, 0xA0, 0x5E, 0xBB, 0xC3, 0x8E, 0x69, 0xD7, 0x4F, 0x57, 0x56, 0x77, 0xCB, 0x43, 0xD6, 0x46, + 0x62, 0x21, 0x18, 0xFD, 0x7D, 0x24, 0x58, 0x61, 0xEC, 0xFE, 0xA9, 0x77, 0x59, 0x3B, 0x03, 0x0A, + 0xEF, 0xDF, 0x90, 0x60, 0x46, 0x43, 0x33, 0x38, 0x92, 0x2D, 0x5A, 0x08, 0x0D, 0x2F, 0x05, 0x75, + 0x3E, 0x60, 0x87, 0x22, 0xB7, 0xBF, 0xD6, 0xF9, 0x17, 0x86, 0xEA, 0x02, 0xBE, 0x23, 0xBA, 0xD3, + 0xDD, 0x0D, 0x3E, 0x8C, 0x65, 0xA0, 0xF8, 0xD8, 0x2F, 0x35, 0xC6, 0x26, 0x6C, 0x81, 0xE6, 0x29, + 0x50, 0x30, 0x4A, 0x8E, 0xFA, 0xC2, 0x1E, 0xFD, 0xA7, 0xA5, 0x98, 0x53, 0x18, 0x94, 0xFF, 0x1D, + 0x41, 0x2F, 0xFF, 0x58, 0x33, 0xDC, 0x2B, 0x67, 0x4B, 0xDD, 0xD3, 0x56, 0x9C, 0xB2, 0x09, 0x4E, + 0x9B, 0xB1, 0xEE, 0x58, 0x0A, 0xE4, 0x42, 0x56, 0x26, 0x23, 0x2C, 0x3F, 0x14, 0x73, 0x46, 0x9A, + 0xA1, 0x42, 0x17, 0x12, 0xDB, 0xA2, 0xDD, 0x5D, 0x0C, 0xEC, 0xDC, 0xF7, 0xC1, 0x76, 0xE0, 0x24, + 0x65, 0xEF, 0x41, 0x83, 0x35, 0x38, 0x78, 0x0E, 0x65, 0x82, 0xE3, 0x55, 0x90, 0xA8, 0xD5, 0xF7, + 0x66, 0xCF, 0xE2, 0x61, 0x91, 0x3C, 0x69, 0xCB, 0xE7, 0x75, 0x62, 0x6F, 0xD7, 0x9B, 0x69, 0x0C, + 0x0D, 0x07, 0x0C, 0x9C, 0x68, 0x24, 0x51, 0x51, 0x1F, 0x8D, 0x8B, 0xD6, 0x2E, 0x67, 0x5F, 0xC3, + 0x07, 0x00, 0x12, 0x61, 0x77, 0xA8, 0x15, 0xA1, 0xD6, 0xD0, 0xD3, 0x57, 0x73, 0x62, 0xB9, 0xBB +}; + +void lhzb3_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + // IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= lhzb3_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t mgfx_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x38, 0x33, 0x52, 0x44, 0x34, 0x30, 0x32, 0x31, 0x32, 0x31, 0x32, + 0x82, 0x6B, 0xCA, 0xBE, 0x9B, 0x9F, 0xC3, 0xA5, 0x8F, 0x2A, 0x9F, 0x0E, 0x26, 0x28, 0x4A, 0x9D, + 0xA2, 0x57, 0xFC, 0x43, 0xF3, 0x34, 0x05, 0x72, 0x1E, 0x59, 0xD9, 0xA0, 0xE7, 0x16, 0x5B, 0xFF, + 0xC6, 0x4F, 0x6E, 0x7A, 0x09, 0x96, 0xBA, 0xF3, 0x46, 0x89, 0xBB, 0xBC, 0x04, 0x6D, 0x11, 0x54, + 0xA9, 0x0B, 0x03, 0x63, 0xA6, 0xCB, 0x54, 0xF7, 0xE2, 0x0F, 0x4B, 0x01, 0x65, 0xD3, 0xFD, 0x0B, + 0x46, 0x82, 0xDE, 0x3C, 0xD7, 0x1B, 0x87, 0x8E, 0x0E, 0x84, 0xCA, 0x4D, 0x37, 0x2E, 0xF4, 0xD4, + 0xD8, 0xEB, 0x61, 0x84, 0xE5, 0x0C, 0x46, 0x05, 0x25, 0xBF, 0xBB, 0xC0, 0xE4, 0xA7, 0x07, 0x9D, + 0xDA, 0xBD, 0x31, 0xFA, 0x5B, 0x66, 0xC3, 0xEC, 0xC1, 0xD5, 0xE1, 0xB9, 0x17, 0xA4, 0x8B, 0x96, + 0x07, 0xAE, 0x2F, 0x9D, 0x06, 0x30, 0x73, 0x12, 0xBE, 0x1F, 0x40, 0xD7, 0xBB, 0xCC, 0x12, 0x2D, + 0x5A, 0xB6, 0x7F, 0xAD, 0xEF, 0xB0, 0x06, 0x86, 0x36, 0x34, 0x1A, 0xF8, 0xFC, 0x06, 0x6F, 0x11, + 0x0E, 0x0C, 0x84, 0xA7, 0x62, 0x6D, 0x71, 0x97, 0x84, 0xE9, 0xF3, 0x3C, 0x44, 0x79, 0xB5, 0x32, + 0x9E, 0x27, 0xE1, 0x4C, 0xEA, 0x30, 0xE7, 0xD4, 0x45, 0x57, 0x8D, 0x02, 0x3E, 0x8C, 0x38, 0xBF, + 0xC5, 0xBE, 0x79, 0x9B, 0x51, 0xFD, 0xDB, 0x0B, 0x51, 0xD5, 0xEC, 0xE8, 0xD6, 0xE6, 0x89, 0x26, + 0x7E, 0xC8, 0x6F, 0xD1, 0xA4, 0x1E, 0xFF, 0x4D, 0xC5, 0xF8, 0x51, 0xCE, 0x36, 0x6F, 0x7D, 0x16, + 0x04, 0x7B, 0x26, 0x6F, 0x2C, 0x18, 0x47, 0xE8, 0xFC, 0x99, 0x42, 0xD3, 0xC9, 0x4C, 0x26, 0x7F, + 0xD2, 0x4F, 0x40, 0x32, 0x74, 0xB2, 0xE6, 0x6B, 0x90, 0xCF, 0x7F, 0x56, 0x3A, 0xE5, 0xD7, 0x8F +}; + +void mgfx_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + // IGS27_CRYPT2 + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + // IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= mgfx_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t lhzb4_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x31, 0x36, 0x39, 0x52, 0x44, 0x32, 0x30, 0x34, 0x30, 0x37, 0x33, 0x30, + 0x87, 0xA5, 0x22, 0x6E, 0x2F, 0x89, 0xC6, 0x3B, 0xF3, 0x4D, 0x29, 0xD5, 0x46, 0x17, 0x9C, 0x38, + 0xC2, 0xE4, 0x16, 0x4B, 0x36, 0xFD, 0xE0, 0x7F, 0xF2, 0xBE, 0x83, 0xA6, 0x52, 0x87, 0xF2, 0x11, + 0x88, 0x03, 0xF4, 0xEE, 0xAF, 0x98, 0xD5, 0xE0, 0x0E, 0x2F, 0x4D, 0xDF, 0xA9, 0x26, 0xB1, 0x53, + 0x0E, 0x92, 0x58, 0x6C, 0x5E, 0xB9, 0x50, 0xC5, 0x99, 0xCF, 0x42, 0x39, 0x2F, 0xF1, 0xA3, 0x04, + 0xC5, 0x60, 0x1D, 0x1E, 0x44, 0xFF, 0x3D, 0xD5, 0x28, 0x0E, 0x5D, 0xA9, 0x08, 0x29, 0xD4, 0x6C, + 0x61, 0x7C, 0x5D, 0x9B, 0xA7, 0x48, 0xC5, 0xF7, 0x8E, 0x9B, 0xD9, 0x67, 0x95, 0x4B, 0x8F, 0x12, + 0xD4, 0x35, 0x74, 0xB8, 0x07, 0xB4, 0x55, 0x52, 0xDC, 0x64, 0x32, 0xEA, 0x7A, 0x18, 0x5F, 0xBC, + 0x52, 0x19, 0xFC, 0x8E, 0x2A, 0xA2, 0x98, 0x4D, 0x66, 0x99, 0x21, 0xE9, 0x9A, 0x8E, 0x0F, 0x72, + 0x4D, 0xF9, 0xD1, 0x74, 0x10, 0xB0, 0x77, 0x8F, 0xC0, 0xA7, 0xA2, 0x5B, 0x17, 0xED, 0xA9, 0x7B, + 0x7A, 0xE3, 0x0D, 0xFF, 0xFE, 0xBE, 0x1F, 0xFF, 0xBB, 0x40, 0xF0, 0x76, 0x56, 0xB2, 0x79, 0x5D, + 0xC9, 0x26, 0x0C, 0x08, 0x76, 0xEB, 0xFA, 0xC5, 0x6C, 0x51, 0x86, 0xB2, 0xF9, 0x9E, 0x0A, 0xDF, + 0x70, 0x50, 0x68, 0xA5, 0x3C, 0x96, 0xB4, 0x46, 0x25, 0x09, 0x1F, 0xC6, 0xE2, 0xAF, 0x26, 0x09, + 0xE0, 0x32, 0xFD, 0x2E, 0x52, 0x5D, 0x36, 0x2B, 0x79, 0xD8, 0xB6, 0xA9, 0x35, 0x24, 0xDA, 0x22, + 0xCD, 0xDA, 0xE5, 0x39, 0xFB, 0x20, 0xAD, 0x59, 0x3C, 0x6C, 0x86, 0x92, 0x56, 0x7D, 0x6F, 0xB0, + 0x29, 0x96, 0x7C, 0x9D, 0xBB, 0xFD, 0x83, 0xF9, 0x7F, 0xB5, 0x0A, 0xF8, 0xE6, 0x77, 0x71, 0x7B +}; + +void lhzb4_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + // IGS27_CRYPT2 + // IGS27_CRYPT3 + IGS27_CRYPT4_ALT + // IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= lhzb4_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static const uint8_t fearless_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x32, 0x30, 0x32, 0x52, 0x44, 0x32, 0x30, 0x35, 0x30, 0x31, 0x30, 0x33, + 0x0A, 0x68, 0x3C, 0x24, 0x56, 0x67, 0xED, 0xE3, 0x3A, 0x99, 0x20, 0x24, 0x09, 0x4D, 0x0C, 0xB6, + 0x0D, 0xBB, 0xE0, 0xE4, 0x93, 0x79, 0x6C, 0x10, 0x3B, 0x3B, 0x10, 0x91, 0x7E, 0xCF, 0xE5, 0xC9, + 0x80, 0x58, 0x2B, 0x8B, 0x18, 0xCA, 0xF3, 0xAC, 0x1D, 0xA6, 0x0D, 0xE7, 0xF4, 0xF7, 0x34, 0xF6, + 0x57, 0x8D, 0x79, 0xEF, 0x67, 0x79, 0xED, 0xDC, 0xF5, 0xCA, 0x92, 0x9E, 0x0D, 0x86, 0x84, 0x04, + 0xC5, 0xEB, 0x64, 0x27, 0x44, 0xE7, 0x05, 0x09, 0x15, 0xD5, 0x5A, 0x6D, 0xAE, 0x7A, 0xA0, 0xF9, + 0x3C, 0x40, 0xC8, 0x8B, 0xB1, 0xB1, 0x27, 0xD8, 0x10, 0x37, 0x61, 0x4B, 0xF8, 0x12, 0x92, 0x1D, + 0x70, 0x9A, 0xBF, 0xB0, 0xF2, 0xB7, 0x7D, 0x32, 0xBA, 0x9E, 0xE0, 0x6F, 0x4F, 0xCE, 0xA6, 0xF6, + 0x53, 0x4A, 0xA5, 0x70, 0x88, 0x18, 0x72, 0x3C, 0x24, 0xFA, 0x53, 0x50, 0x57, 0x6B, 0x67, 0x4C, + 0x19, 0xDD, 0x14, 0xDF, 0x39, 0x32, 0xB1, 0x5F, 0xA2, 0x79, 0x75, 0xA4, 0xF1, 0xEA, 0xA0, 0x25, + 0x35, 0x24, 0xE8, 0x56, 0x05, 0xA5, 0x26, 0x41, 0xC8, 0x8A, 0x41, 0x63, 0x41, 0x89, 0x5B, 0xC9, + 0x59, 0x2C, 0x3B, 0x6C, 0x31, 0x50, 0xFB, 0xC9, 0x68, 0xDD, 0xF2, 0xC4, 0xA9, 0xC7, 0xE4, 0xBF, + 0x79, 0x46, 0x69, 0xF6, 0x3F, 0x51, 0x9B, 0x1E, 0x95, 0x61, 0x04, 0x3E, 0xCE, 0x64, 0xC6, 0xCD, + 0xC8, 0xFF, 0x0C, 0x0D, 0xF3, 0x08, 0xB1, 0xA7, 0xA2, 0x44, 0x30, 0x88, 0x92, 0x5D, 0xCC, 0xFB, + 0xB8, 0x27, 0x00, 0x07, 0x4F, 0x14, 0x29, 0x0B, 0x22, 0xF5, 0x72, 0x98, 0x17, 0xF3, 0x00, 0x8F, + 0xFD, 0xCD, 0x60, 0x7C, 0x97, 0x54, 0x2D, 0x32, 0xE9, 0x24, 0x05, 0xA7, 0xC1, 0xA4, 0xAF, 0x11 +}; + +void fearless_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + // might not be 100% correct... + IGS27_CRYPT1 + // IGS27_CRYPT2 + IGS27_CRYPT3_ALT2 + IGS27_CRYPT4 + // IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= fearless_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + + +static unsigned char pgm3in1_tab[256] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x31, 0x31, 0x72, 0x64, 0x31, 0x30, 0x34, 0x30, 0x36, 0x33, 0x30, + 0xc2, 0xbe, 0xde, 0x8b, 0x80, 0x8f, 0x04, 0xbb, 0xd2, 0xd6, 0x11, 0x4a, 0x54, 0xa9, 0x8d, 0x27, + 0xf1, 0x74, 0x88, 0xc2, 0xa3, 0xdd, 0x73, 0x97, 0x6c, 0xf8, 0x41, 0xf9, 0x95, 0xac, 0xbe, 0x20, + 0x26, 0x65, 0x2f, 0x76, 0xa6, 0xfc, 0x2b, 0x1f, 0x15, 0xe3, 0xb9, 0xc7, 0x27, 0x95, 0xab, 0xaf, + 0xc2, 0x3d, 0x3a, 0xfb, 0xba, 0xa5, 0xe3, 0x35, 0xcb, 0x62, 0x81, 0x26, 0xd7, 0x3e, 0xac, 0xd7, + 0x62, 0xe6, 0x51, 0xe2, 0x4b, 0xd5, 0x92, 0xfe, 0xcd, 0x80, 0xe0, 0xca, 0xb6, 0xc3, 0x57, 0xda, + 0xe6, 0x8b, 0x59, 0x00, 0x0a, 0xc5, 0x6f, 0xdc, 0x9a, 0x87, 0x5c, 0xa6, 0x11, 0x7e, 0x83, 0x3b, + 0x6c, 0x98, 0x7b, 0x66, 0xe6, 0xf2, 0xf0, 0x71, 0xf2, 0x04, 0xbd, 0xed, 0x78, 0x0b, 0x47, 0xbd, + 0x54, 0xb6, 0x1d, 0x69, 0x0d, 0x15, 0xcd, 0xa2, 0xd2, 0xc0, 0x09, 0x11, 0xbb, 0x44, 0xfb, 0x64, + 0x3d, 0xd3, 0xe5, 0x9b, 0xee, 0x2b, 0xfd, 0x90, 0x7b, 0xc6, 0x88, 0xc5, 0xe7, 0x44, 0x35, 0x73, + 0x06, 0x17, 0xbc, 0xcf, 0x39, 0x6e, 0xb7, 0x9f, 0x6b, 0x63, 0xc1, 0xfe, 0x4c, 0x68, 0xcd, 0x6c, + 0xcd, 0xee, 0xc8, 0x19, 0xdc, 0x58, 0x72, 0x72, 0x62, 0x20, 0x7a, 0xed, 0x79, 0x48, 0xd8, 0x12, + 0xf2, 0x04, 0x70, 0xca, 0x07, 0xa6, 0xe5, 0xec, 0x5d, 0xc9, 0xba, 0x05, 0x3e, 0xc2, 0xb0, 0x68, + 0x14, 0x43, 0x5b, 0x77, 0x28, 0x51, 0x06, 0x30, 0x9d, 0x69, 0xc9, 0xfb, 0xa8, 0xee, 0xe9, 0xb2, + 0x11, 0xd7, 0x70, 0xf2, 0xef, 0x96, 0x0d, 0xa1, 0xa0, 0x4b, 0x2e, 0xc0, 0x07, 0x2a, 0x5c, 0x72, + 0x09, 0x29, 0xd6, 0x4d, 0x4a, 0xef, 0x71, 0xe1, 0x25, 0xf9, 0xb0, 0x87, 0xea, 0x0f, 0x1f, 0x6c, +}; + +void pgm_decrypt_pgm3in1(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) (machine.root_device().memregion("maincpu")->base()+0x100000); + + int rom_size = 0x400000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2 + IGS27_CRYPT3_ALT + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6 + IGS27_CRYPT7 + IGS27_CRYPT8_ALT + + x ^= pgm3in1_tab[i & 0xff] << 8; + + src[i] = x; + } +} + + +// IGS MAHJONG CHINA VS107C +static const uint8_t slqz3_tab[0x100] = { + 0xef, 0xdf, 0x90, 0x60, 0x46, 0x43, 0x33, 0x38, 0x92, 0x2d, 0x5a, 0x08, 0x0d, 0x2f, 0x05, 0x75, + 0xa1, 0x42, 0x17, 0x12, 0xdb, 0xa2, 0xdd, 0x5d, 0x0c, 0xec, 0xdc, 0xf7, 0xc1, 0x76, 0xe0, 0x24, + 0x65, 0xef, 0x41, 0x83, 0x35, 0x38, 0x78, 0x0e, 0x65, 0x82, 0xe3, 0x55, 0x90, 0xa8, 0xd5, 0xf7, + 0x66, 0xcf, 0xe2, 0x61, 0x91, 0x3c, 0x69, 0xcb, 0xe7, 0x75, 0x62, 0x6f, 0xd7, 0x9b, 0x69, 0x0c, + 0x0d, 0x07, 0x0c, 0x9c, 0x68, 0x24, 0x51, 0x51, 0x1f, 0x8d, 0x8b, 0xd6, 0x2e, 0x67, 0x5f, 0xc3, + 0x13, 0x45, 0x21, 0xa1, 0x69, 0x9a, 0x05, 0xda, 0x7d, 0x10, 0xda, 0x7f, 0x34, 0x9f, 0xf3, 0x64, + 0x35, 0xf9, 0x16, 0x1c, 0xd4, 0x60, 0x02, 0xf3, 0x42, 0xc7, 0x42, 0x29, 0xf3, 0x2c, 0x31, 0x71, + 0x50, 0x35, 0x4e, 0xaa, 0x9f, 0x09, 0xc3, 0xdd, 0x2f, 0x72, 0x30, 0x77, 0xc7, 0x30, 0xbc, 0xc8, + 0x51, 0xa0, 0x5e, 0xbb, 0xc3, 0x8e, 0x69, 0xd7, 0x4f, 0x57, 0x56, 0x77, 0xcb, 0x43, 0xd6, 0x46, + 0x62, 0x21, 0x18, 0xfd, 0x7d, 0x24, 0x58, 0x61, 0xec, 0xfe, 0xa9, 0x77, 0x59, 0x3b, 0x03, 0x0a, + 0x07, 0x00, 0x12, 0x61, 0x77, 0xa8, 0x15, 0xa1, 0xd6, 0xd0, 0xd3, 0x57, 0x73, 0x62, 0xb9, 0xbb, + 0x3e, 0x60, 0x87, 0x22, 0xb7, 0xbf, 0xd6, 0xf9, 0x17, 0x86, 0xea, 0x02, 0xbe, 0x23, 0xba, 0xd3, + 0xdd, 0x0d, 0x3e, 0x8c, 0x65, 0xa0, 0xf8, 0xd8, 0x2f, 0x35, 0xc6, 0x26, 0x6c, 0x81, 0xe6, 0x29, + 0x50, 0x30, 0x4a, 0x8e, 0xfa, 0xc2, 0x1e, 0xfd, 0xa7, 0xa5, 0x98, 0x53, 0x18, 0x94, 0xff, 0x1d, + 0x41, 0x2f, 0xff, 0x58, 0x33, 0xdc, 0x2b, 0x67, 0x4b, 0xdd, 0xd3, 0x56, 0x9c, 0xb2, 0x09, 0x4e, + 0x9b, 0xb1, 0xee, 0x58, 0x0a, 0xe4, 0x42, 0x56, 0x26, 0x23, 0x2c, 0x3f, 0x14, 0x73, 0x46, 0x9a +}; + +void slqz3_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x200000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + // not 100% verified + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= slqz3_tab[(i/2) & 0xff] << 8; + + src[i] = x; + } +} + +static const uint8_t fruitpar_tab[0x100] = { + 0xe9, 0x0b, 0x95, 0x7e, 0x0d, 0x7d, 0x5c, 0x1e, 0x81, 0x0e, 0xa6, 0xd4, 0x8e, 0x90, 0xd8, 0x54, + 0x27, 0x65, 0x51, 0x08, 0x1c, 0xa0, 0x3b, 0x51, 0x83, 0x60, 0x93, 0x02, 0x64, 0x69, 0x77, 0x1a, + 0xa4, 0x03, 0xb0, 0xc2, 0x34, 0x18, 0x80, 0x87, 0x7a, 0x88, 0xad, 0xd9, 0xff, 0xd0, 0xce, 0xc4, + 0x5b, 0xdc, 0xd5, 0xed, 0x5e, 0x29, 0xdd, 0xcf, 0x80, 0x1f, 0x36, 0x38, 0x8b, 0xae, 0xae, 0xfe, + 0x87, 0x27, 0x22, 0x07, 0xe6, 0x5d, 0x46, 0x79, 0xf1, 0xfc, 0xb1, 0x3d, 0x72, 0x29, 0x2c, 0xba, + 0xa3, 0x5b, 0x3c, 0xcf, 0x57, 0x79, 0xed, 0x12, 0x67, 0x34, 0xe1, 0x48, 0x5f, 0xa7, 0x9a, 0x24, + 0x6a, 0x2e, 0x04, 0x44, 0x7b, 0x84, 0x46, 0x6a, 0xbd, 0x20, 0xca, 0xf7, 0x3e, 0xd1, 0x8b, 0xad, + 0xd7, 0x98, 0x9e, 0xa6, 0x5e, 0xc6, 0x04, 0x90, 0x0f, 0x57, 0xae, 0x2b, 0x38, 0x8d, 0xd2, 0x0c, + 0x25, 0xd1, 0x6d, 0x73, 0x4b, 0xc6, 0x19, 0xd3, 0xb8, 0xae, 0x11, 0x01, 0xba, 0x02, 0x82, 0x17, + 0xcf, 0x4d, 0x14, 0x6a, 0xcd, 0x4a, 0xb9, 0xc1, 0x52, 0x3e, 0xb5, 0xd8, 0x6f, 0x98, 0xee, 0x16, + 0x90, 0xc6, 0x76, 0x8a, 0xaf, 0x5a, 0x56, 0x2b, 0xb9, 0x5e, 0x9e, 0x51, 0x40, 0xf4, 0xaa, 0x6e, + 0x63, 0x32, 0xb6, 0x12, 0xfb, 0x3c, 0xa5, 0x1f, 0x07, 0xa3, 0x0d, 0x49, 0x5a, 0xfe, 0x88, 0xd1, + 0x83, 0xc7, 0x37, 0x82, 0xfd, 0x78, 0x97, 0xec, 0x98, 0xe6, 0x88, 0xe0, 0x27, 0xde, 0x9a, 0x2c, + 0x6b, 0xfd, 0x9b, 0x98, 0x40, 0xd5, 0x5f, 0x20, 0x06, 0x3e, 0xcf, 0x74, 0x52, 0xf9, 0x35, 0xae, + 0xd6, 0x8c, 0xc7, 0x53, 0x8e, 0x59, 0x71, 0x8c, 0x2d, 0x00, 0xe7, 0xa5, 0xc7, 0xf8, 0xeb, 0xc7, + 0xbf, 0x68, 0xdc, 0xf2, 0xf4, 0x4c, 0x80, 0x3e, 0x27, 0xc5, 0x13, 0x52, 0xb0, 0xc0, 0x90, 0x2d +}; + +void fruitpar_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + // not 100% verified + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + IGS27_CRYPT1 +// IGS27_CRYPT2 +// IGS27_CRYPT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= fruitpar_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} + +static uint8_t amazonia_tab[0x100] = { + 0x86, 0x00, 0xd2, 0x6b, 0x78, 0x79, 0xbc, 0x80, 0xc6, 0x8e, 0x9b, 0xd8, 0x3a, 0x52, 0x09, 0x15, + 0x05, 0x57, 0x7a, 0x1f, 0x2f, 0x08, 0x47, 0xa0, 0x44, 0x4c, 0xf7, 0xbe, 0x3d, 0x59, 0xd1, 0x18, + 0xac, 0xd5, 0xa0, 0x03, 0x2c, 0x34, 0xc6, 0x06, 0x08, 0x4e, 0x84, 0x94, 0x2b, 0x3f, 0x88, 0x08, + 0x48, 0x84, 0xb8, 0xe6, 0x4a, 0x53, 0x3e, 0x51, 0xfe, 0x3b, 0xd4, 0xc8, 0xff, 0xfd, 0x52, 0x25, + 0xe2, 0xa9, 0x75, 0xd7, 0xa3, 0xfc, 0xf1, 0x5f, 0x50, 0xfa, 0xba, 0x09, 0xf4, 0xc8, 0x90, 0xed, + 0xc6, 0xcc, 0xc9, 0x25, 0x93, 0x07, 0x63, 0x50, 0x69, 0xb2, 0x4a, 0x47, 0x85, 0x18, 0xe6, 0x1f, + 0x7f, 0xb3, 0xe8, 0x5f, 0xb4, 0x8a, 0x56, 0x83, 0xf4, 0xca, 0xd5, 0xb1, 0x6d, 0xa3, 0x37, 0xba, + 0xd7, 0x66, 0x45, 0x54, 0xe2, 0xdc, 0xce, 0x96, 0xdc, 0xe9, 0xf0, 0xb5, 0xa7, 0x62, 0xa5, 0xfd, + 0xdb, 0x2b, 0x92, 0x13, 0x37, 0x95, 0x0c, 0x69, 0x4d, 0xf7, 0x6c, 0x02, 0x6e, 0x8a, 0x95, 0x68, + 0xd4, 0x8a, 0xc3, 0xea, 0x0f, 0x8b, 0x96, 0x1b, 0xb1, 0x19, 0x5e, 0x88, 0x3d, 0x94, 0xa9, 0xb9, + 0x4e, 0x4a, 0x0a, 0x6a, 0x04, 0xd5, 0x2c, 0x0b, 0xb4, 0xb7, 0x18, 0x75, 0xcf, 0x35, 0xc3, 0xef, + 0x13, 0x71, 0xdb, 0x61, 0xf2, 0xcb, 0xd3, 0xd7, 0x3f, 0x79, 0x2d, 0x39, 0x20, 0x65, 0x07, 0x49, + 0x30, 0x47, 0xe9, 0xdd, 0xf3, 0x03, 0xce, 0x5f, 0x7f, 0x45, 0x70, 0x82, 0x69, 0x5a, 0xd9, 0x46, + 0xee, 0x52, 0x27, 0x2f, 0x63, 0x54, 0x9f, 0xc1, 0xde, 0x41, 0xf5, 0x40, 0x26, 0x8d, 0xda, 0xa6, + 0xd9, 0x5a, 0xc7, 0xe4, 0xdc, 0xd6, 0x09, 0x5e, 0x08, 0xd6, 0x0d, 0xa1, 0x12, 0xb3, 0xee, 0x67, + 0xbb, 0x65, 0x3c, 0xcd, 0x3a, 0xdf, 0x0f, 0xd3, 0xe6, 0xaa, 0x4d, 0x14, 0x28, 0xc5, 0x38, 0xc8 +}; + +void amazonia_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= amazonia_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + +// not 100% verified +static const uint8_t amazoni2_tab[0x100] = { + 0x49, 0x47, 0x53, 0x30, 0x30, 0x37, 0x37, 0x52, 0x44, 0x34, 0x30, 0x32, 0x31, 0x30, 0x31, 0x36, + 0xed, 0x3f, 0x77, 0xd0, 0xc4, 0x72, 0x77, 0xe1, 0x35, 0x15, 0x10, 0xc6, 0x1b, 0xee, 0x25, 0x4a, + 0x0d, 0x06, 0x37, 0x19, 0xfa, 0xf9, 0x29, 0xb0, 0x03, 0x7e, 0x32, 0x83, 0x99, 0x32, 0x23, 0x6e, + 0xd8, 0xa9, 0xdb, 0x5f, 0x23, 0xb7, 0x08, 0x41, 0x00, 0xfb, 0x20, 0x2b, 0x36, 0xae, 0x9f, 0xc9, + 0x24, 0xaa, 0x82, 0x0b, 0x64, 0xbe, 0x03, 0x0d, 0xa2, 0x31, 0x97, 0x47, 0xb6, 0x94, 0x26, 0xf6, + 0x09, 0xcd, 0x8a, 0xca, 0x26, 0x61, 0x4a, 0xd1, 0x9f, 0x01, 0x98, 0xa3, 0x23, 0x58, 0x88, 0xcf, + 0xdd, 0x14, 0x93, 0x86, 0x0f, 0x33, 0x4c, 0x86, 0xef, 0x8f, 0x61, 0x4a, 0xc2, 0xad, 0xd5, 0x70, + 0x37, 0xc2, 0x7b, 0x6a, 0x06, 0x07, 0xb7, 0x69, 0xc9, 0x3f, 0x71, 0x87, 0x1a, 0x85, 0x5a, 0x33, + 0xee, 0x5b, 0x63, 0xe2, 0x32, 0xf0, 0x7a, 0xf4, 0xa4, 0xb2, 0x87, 0xe4, 0xf3, 0x14, 0xa7, 0xb4, + 0x1a, 0xa1, 0xa8, 0x98, 0xf9, 0x42, 0xc5, 0xe1, 0x36, 0xcc, 0xa3, 0x2d, 0x54, 0xcd, 0x8b, 0xcd, + 0x11, 0x98, 0xe9, 0x77, 0x05, 0x8e, 0x06, 0x2d, 0x78, 0xb0, 0x02, 0x6d, 0x83, 0x62, 0x15, 0x9a, + 0x6b, 0x82, 0x07, 0xaa, 0x3a, 0xa9, 0xed, 0x12, 0x9f, 0xc0, 0x25, 0xee, 0x08, 0xc7, 0x94, 0x75, + 0xfd, 0xe2, 0x1f, 0x9d, 0xc0, 0xa5, 0x68, 0x0a, 0x23, 0xa1, 0xca, 0x3d, 0xa9, 0x2f, 0x97, 0xfa, + 0xe0, 0x7c, 0x91, 0xfa, 0xfe, 0xd5, 0xa6, 0xd2, 0xbb, 0x34, 0xf1, 0x23, 0x6e, 0x0c, 0xed, 0x03, + 0x6b, 0x52, 0xfb, 0xac, 0x9c, 0xcc, 0x17, 0x64, 0x5d, 0x9e, 0xd7, 0xac, 0x9e, 0x12, 0xa5, 0xac, + 0x34, 0xa7, 0x3e, 0xde, 0x7f, 0x5d, 0x6a, 0xfa, 0x42, 0x40, 0xfd, 0x23, 0xbf, 0x33, 0x0e, 0x50 +}; + + +void amazoni2_decrypt(running_machine &machine) +{ + int i; + uint16_t *src = (uint16_t *) machine.root_device().memregion("user1")->base(); + + int rom_size = 0x80000; + + for(i=0; i<rom_size/2; i++) + { + uint16_t x = src[i]; + + // should be correct + IGS27_CRYPT1 + IGS27_CRYPT2_ALT + // IGS27_CRYPT3 + IGS27_CRYPT4 + IGS27_CRYPT5 + IGS27_CRYPT6_ALT // second half is junk, not sure... + IGS27_CRYPT7 + IGS27_CRYPT8 + + x ^= amazoni2_tab[(i >> 1) & 0xff] << 8; + + src[i] = x; + } +} + +void pgm_dwpc_decrypt(running_machine &machine) +{ + uint16_t *src = (uint16_t *)(machine.root_device().memregion("user1")->base()); + + int rom_size = 0x80000; + + for(int i=0; i<rom_size/2; i++) { + uint16_t x = src[i]; + + IGS27_CRYPT1_ALT + IGS27_CRYPT2 + IGS27_CRYPT3 + IGS27_CRYPT4_ALT + IGS27_CRYPT5_ALT + IGS27_CRYPT6 + IGS27_CRYPT7_ALT + IGS27_CRYPT8 + + x ^= mm_tab[(i>> 1) & 0xff] << 8; + + src[i] = x; + } +} diff --git a/docs/release/src/hbmame/igs/pgmcrypt.h b/docs/release/src/hbmame/igs/pgmcrypt.h new file mode 100644 index 00000000000..f5893113a25 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmcrypt.h @@ -0,0 +1,41 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/* IGS 027 Encryptions */ + +void pgm_kov_decrypt(running_machine &machine); +void pgm_kovsh_decrypt(running_machine &machine); +void pgm_kov2_decrypt(running_machine &machine); +void pgm_kov2p_decrypt(running_machine &machine); +void pgm_mm_decrypt(running_machine &machine); +void pgm_photoy2k_decrypt(running_machine &machine); +void pgm_py2k2_decrypt(running_machine &machine); +void pgm_pstar_decrypt(running_machine &machine); +void pgm_puzzli2_decrypt(running_machine &machine); +void pgm_theglad_decrypt(running_machine &machine); +void pgm_ddp2_decrypt(running_machine &machine); +void pgm_dfront_decrypt(running_machine &machine); +void pgm_oldsplus_decrypt(running_machine &machine); +void pgm_kovshp_decrypt(running_machine &machine); +void pgm_killbldp_decrypt(running_machine &machine); +void pgm_svg_decrypt(running_machine &machine); +void pgm_svgpcb_decrypt(running_machine &machine); +void pgm_ket_decrypt(running_machine &machine); +void pgm_espgal_decrypt(running_machine &machine); +void pgm_happy6_decrypt(running_machine &machine); +void pgm_dwpc_decrypt(running_machine &machine); +void sdwx_decrypt(running_machine &machine); +void hauntedh_decrypt(running_machine &machine); +void chessc2_decrypt(running_machine &machine); +void klxyj_decrypt(running_machine &machine); +void zhongguo_decrypt(running_machine &machine); +void gonefsh2_decrypt(running_machine &machine); +void sddz_decrypt(running_machine &machine); +void lhzb3_decrypt(running_machine &machine); +void mgfx_decrypt(running_machine &machine); +void lhzb4_decrypt(running_machine &machine); +void fearless_decrypt(running_machine &machine); +void pgm_decrypt_pgm3in1(running_machine &machine); +void slqz3_decrypt(running_machine &machine); +void fruitpar_decrypt(running_machine &machine); +void amazonia_decrypt(running_machine &machine); +void amazoni2_decrypt(running_machine &machine); diff --git a/docs/release/src/hbmame/igs/pgmprot_igs025_igs012.cpp b/docs/release/src/hbmame/igs/pgmprot_igs025_igs012.cpp new file mode 100644 index 00000000000..2c28f8f40da --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs025_igs012.cpp @@ -0,0 +1,225 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/*********************************************************************** + PGM 012 + 025 PGM protection emulation + + these are simulations of the IGS 012 and 025 protection combination + used on the following PGM games + + Dragon World 2 + + ---- + + IGS012 provides ROM overlay??? + + IGS025 is some kind of state machine / logic device which the game + uses for various security checks bitswap checks. + + ***********************************************************************/ + +#include "emu.h" +#include "pgm.h" +#include "pgmprot_igs025_igs012.h" + +/* Dragon World 2 */ + +void pgm_012_025_state::pgm_drgw2_decrypt() +{ + u16 *src = (u16 *) (memregion("maincpu")->base() + 0x100000); + + int rom_size = 0x80000; + + for (int i = 0; i < rom_size / 2; i++) + { + u16 x = src[i]; + + if (((i & 0x20890) == 0) || ((i & 0x20000) == 0x20000 && (i & 0x01500) != 0x01400)) + x ^= 0x0002; + + if (((i & 0x20400) == 0 && (i & 0x02010) != 0x02010) || ((i & 0x20000) == 0x20000 && (i & 0x00148) != 0x00140)) + x ^= 0x0400; + + src[i] = x; + } +} + +// All tables all xored by 'warning' information at $1354ee (drgw2) +// tables are the same as drgw3 and olds +static const u8 drgw2_source_data[0x08][0xec] = +{ + { 0, }, // Region 0, not used + { // Region 1, $13A886 + 0x67, 0x51, 0xF3, 0x19, 0xA0, 0x11, 0xB1, 0x11, 0xB0, 0xEE, 0xE3, 0xF6, 0xBE, 0x81, 0x35, 0xE3, + 0xFB, 0xE6, 0xEF, 0xDF, 0x61, 0x01, 0xFA, 0x22, 0x5D, 0x43, 0x01, 0xA5, 0x3B, 0x17, 0xD4, 0x74, + 0xF0, 0xF4, 0xF3, 0x43, 0xB5, 0x19, 0x04, 0xD5, 0x84, 0xCE, 0x87, 0xFE, 0x35, 0x3E, 0xC4, 0x3C, + 0xC7, 0x85, 0x2A, 0x33, 0x00, 0x86, 0xD0, 0x4D, 0x65, 0x4B, 0xF9, 0xE9, 0xC0, 0xBA, 0xAA, 0x77, + 0x9E, 0x66, 0xF6, 0x0F, 0x4F, 0x3A, 0xB6, 0xF1, 0x64, 0x9A, 0xE9, 0x25, 0x1A, 0x5F, 0x22, 0xA3, + 0xA2, 0xBF, 0x4B, 0x77, 0x3F, 0x34, 0xC9, 0x6E, 0xDB, 0x12, 0x5C, 0x33, 0xA5, 0x8B, 0x6C, 0xB1, + 0x74, 0xC8, 0x40, 0x4E, 0x2F, 0xE7, 0x46, 0xAE, 0x99, 0xFC, 0xB0, 0x55, 0x54, 0xDF, 0xA7, 0xA1, + 0x0F, 0x5E, 0x49, 0xCF, 0x56, 0x3C, 0x90, 0x2B, 0xAC, 0x65, 0x6E, 0xDB, 0x58, 0x3E, 0xC9, 0x00, + 0xAE, 0x53, 0x4D, 0x92, 0xFA, 0x40, 0xB2, 0x6B, 0x65, 0x4B, 0x90, 0x8A, 0x0C, 0xE2, 0xA5, 0x9A, + 0xD0, 0x20, 0x29, 0x55, 0xA4, 0x44, 0xAC, 0x51, 0x87, 0x54, 0x53, 0x34, 0x24, 0x4B, 0x81, 0x67, + 0x34, 0x4C, 0x5F, 0x31, 0x4E, 0xF2, 0xF1, 0x19, 0x18, 0x1C, 0x34, 0x38, 0xE1, 0x81, 0x17, 0xCF, + 0x24, 0xB9, 0x9A, 0xCB, 0x34, 0x51, 0x50, 0x59, 0x44, 0xB1, 0x0B, 0x50, 0x95, 0x6C, 0x48, 0x7E, + 0x14, 0xA4, 0xC6, 0xD9, 0xD3, 0xA5, 0xD6, 0xD0, 0xC5, 0x97, 0xF0, 0x45, 0xD0, 0x98, 0x51, 0x91, + 0x9F, 0xA3, 0x43, 0x51, 0x05, 0x90, 0xEE, 0xCA, 0x7E, 0x5F, 0x72, 0x53, 0xB1, 0xD3, 0xAF, 0x36, + 0x08, 0x75, 0xB0, 0x9B, 0xE0, 0x0D, 0x43, 0x88, 0xAA, 0x27, 0x44, 0x11 + }, + { 0, }, // Region 2, not used + { 0, }, // Region 3, not used + { 0, }, // Region 4, not used + { // Region 5, $13ab42 (drgw2c) + 0x7F, 0x41, 0xF3, 0x39, 0xA0, 0x11, 0xA1, 0x11, 0xB0, 0xA2, 0x4C, 0x23, 0x13, 0xE9, 0x25, 0x3D, + 0x0F, 0x72, 0x3A, 0x9D, 0xB5, 0x96, 0xD1, 0xDA, 0x07, 0x29, 0x41, 0x9A, 0xAD, 0x70, 0xBA, 0x46, + 0x63, 0x2B, 0x7F, 0x3D, 0xBE, 0x40, 0xAD, 0xD4, 0x4C, 0x73, 0x27, 0x58, 0xA7, 0x65, 0xDC, 0xD6, + 0xFD, 0xDE, 0xB5, 0x6E, 0xD6, 0x6C, 0x75, 0x1A, 0x32, 0x45, 0xD5, 0xE3, 0x6A, 0x14, 0x6D, 0x80, + 0x84, 0x15, 0xAF, 0xCC, 0x7B, 0x61, 0x51, 0x82, 0x40, 0x53, 0x7F, 0x38, 0xA0, 0xD6, 0x8F, 0x61, + 0x79, 0x19, 0xE5, 0x99, 0x84, 0xD8, 0x78, 0x27, 0x3F, 0x16, 0x97, 0x78, 0x4F, 0x7B, 0x0C, 0xA6, + 0x37, 0xDB, 0xC6, 0x0C, 0x24, 0xB4, 0xC7, 0x94, 0x9D, 0x92, 0xD2, 0x3B, 0xD5, 0x11, 0x6F, 0x0A, + 0xDB, 0x76, 0x66, 0xE7, 0xCD, 0x18, 0x2B, 0x66, 0xD8, 0x41, 0x40, 0x58, 0xA2, 0x01, 0x1E, 0x6D, + 0x44, 0x75, 0xE7, 0x19, 0x4F, 0xB2, 0xE8, 0xC4, 0x96, 0x77, 0x62, 0x02, 0xC9, 0xDC, 0x59, 0xF3, + 0x43, 0x8D, 0xC8, 0xFE, 0x9E, 0x2A, 0xBA, 0x32, 0x3B, 0x62, 0xE3, 0x92, 0x6E, 0xC2, 0x08, 0x4D, + 0x51, 0xCD, 0xF9, 0x3A, 0x3E, 0xC9, 0x50, 0x27, 0x21, 0x25, 0x97, 0xD7, 0x0E, 0xF8, 0x39, 0x38, + 0xF5, 0x86, 0x94, 0x93, 0xBF, 0xEB, 0x18, 0xA8, 0xFC, 0x24, 0xF5, 0xF9, 0x99, 0x20, 0x3D, 0xCD, + 0x2C, 0x94, 0x25, 0x79, 0x28, 0x77, 0x8F, 0x2F, 0x10, 0x69, 0x86, 0x30, 0x43, 0x01, 0xD7, 0x9A, + 0x17, 0xE3, 0x47, 0x37, 0xBD, 0x62, 0x75, 0x42, 0x78, 0xF4, 0x2B, 0x57, 0x4C, 0x0A, 0xDB, 0x53, + 0x4D, 0xA1, 0x0A, 0xD6, 0x3A, 0x16, 0x15, 0xAA, 0x2C, 0x6C, 0x39, 0x42 + }, + { // Region 6, $13ab42 (drgw2), $13ab2e (dw2v100x) + 0x12, 0x09, 0xF3, 0x29, 0xA0, 0x11, 0xA0, 0x11, 0xB0, 0xD5, 0x66, 0xA1, 0x28, 0x4A, 0x21, 0xC0, + 0xD3, 0x9B, 0x86, 0x80, 0x57, 0x6F, 0x41, 0xC2, 0xE4, 0x2F, 0x0B, 0x91, 0xBD, 0x3A, 0x7A, 0xBA, + 0x00, 0xE5, 0x35, 0x02, 0x74, 0x7D, 0x8B, 0x21, 0x57, 0x10, 0x0F, 0xAE, 0x44, 0xBB, 0xE2, 0x37, + 0x18, 0x7B, 0x52, 0x3D, 0x8C, 0x59, 0x9E, 0x20, 0x1F, 0x0A, 0xCC, 0x1C, 0x8E, 0x6A, 0xD7, 0x95, + 0x2B, 0x34, 0xB0, 0x82, 0x6D, 0xFD, 0x25, 0x33, 0xAA, 0x3B, 0x2B, 0x70, 0x15, 0x87, 0x31, 0x5D, + 0xBB, 0x29, 0x19, 0x95, 0xD5, 0x8E, 0x24, 0x28, 0x5E, 0xD0, 0x20, 0x83, 0x46, 0x4A, 0x21, 0x70, + 0x5B, 0xCD, 0xAE, 0x7B, 0x61, 0xA1, 0xFA, 0xF4, 0x2B, 0x84, 0x15, 0x6E, 0x36, 0x5D, 0x1B, 0x24, + 0x0F, 0x09, 0x3A, 0x61, 0x38, 0x0F, 0x18, 0x35, 0x11, 0x38, 0xB4, 0xBD, 0xEE, 0xF7, 0xEC, 0x0F, + 0x1D, 0xB7, 0x48, 0x01, 0xAA, 0x09, 0x8F, 0x61, 0xB5, 0x0F, 0x1D, 0x26, 0x39, 0x2E, 0x8C, 0xD6, + 0x26, 0x5C, 0x3D, 0x23, 0x63, 0xE9, 0x6B, 0x97, 0xB4, 0x9F, 0x7B, 0xB6, 0xBA, 0xA0, 0x7C, 0xC6, + 0x25, 0xA1, 0x73, 0x36, 0x67, 0x7F, 0x74, 0x1E, 0x1D, 0xDA, 0x70, 0xBF, 0xA5, 0x63, 0x35, 0x39, + 0x24, 0x8C, 0x9F, 0x85, 0x16, 0xD8, 0x50, 0x95, 0x71, 0xC0, 0xF6, 0x1E, 0x6D, 0x80, 0xED, 0x15, + 0xEB, 0x63, 0xE9, 0x1B, 0xF6, 0x78, 0x31, 0xC6, 0x5C, 0xDD, 0x19, 0xBD, 0xDF, 0xA7, 0xEC, 0x50, + 0x22, 0xAD, 0xBB, 0xF6, 0xEB, 0xD6, 0xA3, 0x20, 0xC9, 0xE6, 0x9F, 0xCB, 0xF2, 0x97, 0xB9, 0x54, + 0x12, 0x66, 0xA6, 0xBE, 0x4A, 0x12, 0x43, 0xEC, 0x00, 0xEA, 0x49, 0x02 + }, + { 0, } // Region 7, not used +}; + +void pgm_012_025_state::drgw2_common_init() +{ + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xd80000, 0xd80003, read16sm_delegate(*m_igs025, FUNC(igs025_device::killbld_igs025_prot_r)), write16sm_delegate(*m_igs025, FUNC(igs025_device::drgw2_d80000_protection_w))); + + m_igs025->m_kb_source_data = drgw2_source_data; + + pgm_basic_init(); + pgm_drgw2_decrypt(); +} + +void pgm_012_025_state::drgw2_mem(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x1fffff).bankr("bank1"); /* Game ROM */ + map(0xd00000, 0xd00fff).noprw(); // Written, but never read back? Related to the protection device? - IGS012? +} + +void pgm_012_025_state::pgm_012_025_drgw2(machine_config &config) +{ + pgmbase(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_012_025_state::drgw2_mem); + + IGS025(config, m_igs025, 0); + //m_igs025->set_external_cb(FUNC(pgm_022_025_state::igs025_to_igs012_callback), this); +} + + +void pgm_012_025_state::init_drgw2() +{ + /* incomplete? */ + u16 *mem16 = (u16 *)memregion("maincpu")->base(); + + drgw2_common_init(); + + const int region = 0x06; + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = region | (region << 8) | (region << 16) | (region << 24); + + mem16[0x131098 / 2] = 0x4e93; + mem16[0x13113e / 2] = 0x4e93; + mem16[0x1311ce / 2] = 0x4e93; +} + +void pgm_012_025_state::init_dw2v100x() +{ + u16 *mem16 = (u16 *)memregion("maincpu")->base(); + + drgw2_common_init(); + + const int region = 0x06; + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = region | (region << 8) | (region << 16) | (region << 24); + + mem16[0x131084 / 2] = 0x4e93; + mem16[0x13112a / 2] = 0x4e93; + mem16[0x1311ba / 2] = 0x4e93; +} + +void pgm_012_025_state::init_drgw2c() +{ + u16 *mem16 = (u16 *)memregion("maincpu")->base(); + + drgw2_common_init(); + + const int region = 0x05; + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = region | (region << 8) | (region << 16) | (region << 24); + + mem16[0x1303bc / 2] = 0x4e93; + mem16[0x130462 / 2] = 0x4e93; + mem16[0x1304f2 / 2] = 0x4e93; +} + +void pgm_012_025_state::init_drgw2c101() +{ + u16 *mem16 = (u16 *)memregion("maincpu")->base(); + + drgw2_common_init(); + + const int region = 0x05; + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = region | (region << 8) | (region << 16) | (region << 24); + + mem16[0x1306e4 / 2] = 0x4e93; + mem16[0x13078a / 2] = 0x4e93; + mem16[0x13081a / 2] = 0x4e93; +} + +void pgm_012_025_state::init_drgw2j() +{ + u16 *mem16 = (u16 *)memregion("maincpu")->base(); + + drgw2_common_init(); + + const int region = 0x01; + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = region | (region << 8) | (region << 16) | (region << 24); + + mem16[0x1302c0 / 2] = 0x4e93; + mem16[0x130366 / 2] = 0x4e93; + mem16[0x1303f6 / 2] = 0x4e93; +} + +void pgm_012_025_state::init_drgw2hk() +{ + drgw2_common_init(); + + // todo, correct protection sequence for this region? + const int region = 0x01; + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = region | (region << 8) | (region << 16) | (region << 24); + + u16 *mem16 = (u16 *)memregion("maincpu")->base(); + mem16[0x12f520 / 2] = 0x4e93; + mem16[0x12f5c6 / 2] = 0x4e93; + mem16[0x12f656 / 2] = 0x4e93; +} diff --git a/docs/release/src/hbmame/igs/pgmprot_igs025_igs012.h b/docs/release/src/hbmame/igs/pgmprot_igs025_igs012.h new file mode 100644 index 00000000000..bbc5c9799c9 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs025_igs012.h @@ -0,0 +1,28 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi + +class pgm_012_025_state : public pgm_state +{ +public: + pgm_012_025_state(const machine_config &mconfig, device_type type, const char *tag) + : pgm_state(mconfig, type, tag), + m_igs025(*this,"igs025") + { + } + + void drgw2_common_init(); + + void init_drgw2(); + void init_dw2v100x(); + void init_drgw2c(); + void init_drgw2c101(); + void init_drgw2j(); + void init_drgw2hk(); + + void pgm_012_025_drgw2(machine_config &config); +private: + required_device<igs025_device> m_igs025; + + void pgm_drgw2_decrypt(); + void drgw2_mem(address_map &map); +}; diff --git a/docs/release/src/hbmame/igs/pgmprot_igs025_igs022.cpp b/docs/release/src/hbmame/igs/pgmprot_igs025_igs022.cpp new file mode 100644 index 00000000000..d5b21b92b3d --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs025_igs022.cpp @@ -0,0 +1,444 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/*********************************************************************** + PGM 022 + 025 PGM protection emulation + + this file contains the game / pgm specifc hookups for the IGS022/IGS025 + protection chips, actual simulation is in igs022.cpp/igs025.cpp + + Used by: + + The Killing Blade + Dragon World 3 + Dragon World 3 EX + +************************************************************************/ + +#include "emu.h" +#include "pgm.h" +#include "pgmprot_igs025_igs022.h" + +/* + The IGS022 is an MCU which performs encrypted DMA used by: + - The Killing Blade + - Dragon World 3 + - Dragon World 3 Ex + + There is also an automatic transfer which happens on startup using params stored in the data ROM. + This has been verified on real hardware running without any 68k game program. +*/ + + +// NON-device stuff, game specific, keep here + +void pgm_022_025_state::pgm_dw3_decrypt() +{ + u16 *src = (u16 *) (memregion("maincpu")->base() + 0x100000); + + int rom_size = 0x100000; + + for (int i = 0; i < rom_size / 2; i++) + { + u16 x = src[i]; + + if ((i & 0x005460) == 0x001400 || (i & 0x005450) == 0x001040) + x ^= 0x0100; + + if ((i & 0x005e00) == 0x001c00 || (i & 0x005580) == 0x001100) + x ^= 0x0040; + + src[i] = x; + } +} + +void pgm_022_025_state::pgm_killbld_decrypt() +{ + u16 *src = (u16 *) (memregion("maincpu")->base() + 0x100000); + + int rom_size = 0x200000; + + for (int i = 0; i < rom_size / 2; i++) + { + u16 x = src[i]; + + if ((i & 0x006d00) == 0x000400 || (i & 0x006c80) == 0x000880) + x ^= 0x0008; + + if ((i & 0x007500) == 0x002400 || (i & 0x007600) == 0x003200) + x ^= 0x1000; + + src[i] = x; + } +} + +// these were all xored by a table at $178B2A +static const u8 killbld_source_data[0x0c][0xec] = // offsets to these tables stored at $155ed0 +{ + { // region 16, $178772 + 0x5e, 0x09, 0xb3, 0x39, 0x60, 0x71, 0x71, 0x53, 0x11, 0xe5, 0x26, 0x34, 0x4c, 0x8c, 0x90, 0xee, + 0xed, 0xb5, 0x05, 0x95, 0x9e, 0x6b, 0xdd, 0x87, 0x0e, 0x7b, 0xed, 0x33, 0xaf, 0xc2, 0x62, 0x98, + 0xec, 0xc8, 0x2c, 0x2b, 0x57, 0x3d, 0x00, 0xbd, 0x12, 0xac, 0xba, 0x64, 0x81, 0x99, 0x16, 0x29, + 0xb4, 0x63, 0xa8, 0xd9, 0xc9, 0x5f, 0xfe, 0x21, 0xbb, 0xbf, 0x9b, 0xd1, 0x7b, 0x93, 0xc4, 0x82, + 0xef, 0x2b, 0xe8, 0xa6, 0xdc, 0x68, 0x3a, 0xd9, 0xc9, 0x23, 0xc7, 0x7b, 0x98, 0x5b, 0xe1, 0xc7, + 0xa3, 0xd4, 0x51, 0x0a, 0x86, 0x30, 0x20, 0x51, 0x6e, 0x04, 0x1c, 0xd4, 0xfb, 0xf5, 0x22, 0x8f, + 0x16, 0x6f, 0xb9, 0x59, 0x30, 0xcf, 0xab, 0x32, 0x1d, 0x6c, 0x84, 0xab, 0x23, 0x90, 0x94, 0xb1, + 0xe7, 0x4b, 0x6d, 0xc1, 0x84, 0xba, 0x32, 0x68, 0xa3, 0xf2, 0x47, 0x28, 0xe5, 0xcb, 0xbb, 0x47, + 0x14, 0x2c, 0xad, 0x4d, 0xa1, 0xd7, 0x18, 0x53, 0xf7, 0x6f, 0x05, 0x81, 0x8f, 0xbb, 0x29, 0xdc, + 0xbd, 0x17, 0x61, 0x92, 0x9b, 0x1d, 0x4e, 0x7a, 0x83, 0x14, 0x9f, 0x7b, 0x7a, 0x6a, 0xe1, 0x27, + 0x62, 0x52, 0x7e, 0x82, 0x45, 0xda, 0xed, 0xf1, 0x0a, 0x3b, 0x6c, 0x02, 0x5b, 0x6e, 0x45, 0x4e, + 0xf2, 0x65, 0x87, 0x1d, 0x80, 0xed, 0x6a, 0xc3, 0x77, 0xcb, 0xe8, 0x8d, 0x5a, 0xb8, 0xda, 0x89, + 0x88, 0x4b, 0x27, 0xd5, 0x57, 0x29, 0x91, 0x86, 0x12, 0xbb, 0xd3, 0x8c, 0xc7, 0x49, 0x84, 0x9c, + 0x96, 0x59, 0x30, 0x93, 0x92, 0xeb, 0x59, 0x2b, 0x93, 0x5b, 0x5f, 0xf9, 0x67, 0xac, 0x97, 0x8c, + 0x04, 0xda, 0x1b, 0x65, 0xd7, 0xef, 0x44, 0xca, 0xc4, 0x87, 0x18, 0x2b + }, + { // region 17, $178a36 + 0xd7, 0x49, 0xb3, 0x39, 0x60, 0x71, 0x70, 0x53, 0x11, 0x00, 0x27, 0xb2, 0x61, 0xd3, 0x8c, 0x8b, + 0xb2, 0xde, 0x6a, 0x78, 0x40, 0x5d, 0x4d, 0x88, 0xeb, 0x81, 0xd0, 0x2a, 0xbf, 0x8c, 0x22, 0x0d, + 0x89, 0x83, 0xc8, 0xef, 0x0d, 0x7a, 0xf6, 0xf0, 0x1d, 0x49, 0xa2, 0xd3, 0x1e, 0xef, 0x1c, 0xa2, + 0xce, 0x00, 0x5e, 0xa8, 0x7f, 0x4c, 0x41, 0x27, 0xa8, 0x6b, 0x92, 0x0a, 0xb8, 0x03, 0x2f, 0x7e, + 0xaf, 0x4a, 0xd0, 0x5c, 0xce, 0xeb, 0x0e, 0x8a, 0x4d, 0x0b, 0x73, 0xb3, 0xf3, 0x0c, 0x83, 0xaa, + 0xe5, 0xe4, 0x84, 0x06, 0xd7, 0xcc, 0xcb, 0x52, 0x8d, 0xbe, 0xa4, 0xdf, 0xd9, 0xab, 0x50, 0x59, + 0x53, 0x61, 0xa1, 0xc8, 0x6d, 0xbc, 0xde, 0xab, 0xaa, 0x5e, 0xc6, 0xf7, 0x83, 0xdc, 0x40, 0xcb, + 0x1b, 0xdd, 0x28, 0x3b, 0xee, 0xb1, 0x1f, 0x37, 0xdb, 0xe9, 0xbb, 0x74, 0x4b, 0xc2, 0x8a, 0xe8, + 0xec, 0x6e, 0x0e, 0x35, 0xe3, 0x2e, 0xbe, 0xef, 0xfd, 0x07, 0xbf, 0x8c, 0xfe, 0xf3, 0x5c, 0xbf, + 0x87, 0xe5, 0xbc, 0xcf, 0x60, 0xdc, 0x18, 0xf8, 0xfc, 0x51, 0x50, 0x86, 0xc6, 0x48, 0x3d, 0xb9, + 0x1d, 0x26, 0xf7, 0x7e, 0x87, 0x90, 0x12, 0xe8, 0x06, 0x0a, 0x45, 0xe9, 0xd9, 0xd8, 0x41, 0x68, + 0x21, 0x52, 0x92, 0x0f, 0xd6, 0xda, 0xa2, 0x97, 0xeb, 0x68, 0xd0, 0xb1, 0x15, 0x19, 0x8b, 0xd0, + 0x48, 0x1a, 0xeb, 0x90, 0x3f, 0x2a, 0x33, 0x1e, 0x5e, 0x30, 0x66, 0x01, 0x64, 0xef, 0x99, 0x52, + 0xba, 0x23, 0xbd, 0x53, 0xc0, 0x60, 0x87, 0x09, 0xcb, 0x4d, 0xd3, 0x87, 0x0e, 0x3a, 0x5c, 0x8d, + 0xc8, 0xb8, 0xb7, 0x34, 0x01, 0xeb, 0x72, 0x0d, 0xb1, 0x1f, 0x0f, 0xea + }, + { // region 18, $17dac4 + 0x6a, 0x13, 0xb3, 0x09, 0x60, 0x79, 0x61, 0x53, 0x11, 0x33, 0x41, 0x31, 0x76, 0x34, 0x88, 0x0f, + 0x77, 0x08, 0xb6, 0x74, 0xc8, 0x36, 0xbc, 0x70, 0xe2, 0x87, 0x9a, 0x21, 0xe8, 0x56, 0xe1, 0x9a, + 0x26, 0x57, 0x7e, 0x9b, 0xdb, 0xb7, 0xd4, 0x3d, 0x0f, 0xfe, 0x8a, 0x2a, 0xba, 0x2d, 0x22, 0x03, + 0xcf, 0x9c, 0xfa, 0x77, 0x35, 0x39, 0x6a, 0x14, 0xae, 0x30, 0x89, 0x42, 0xdc, 0x59, 0xb2, 0x93, + 0x6f, 0x82, 0xd1, 0x12, 0xd9, 0x88, 0xfa, 0x3b, 0xb7, 0x0c, 0x1f, 0x05, 0x68, 0xa3, 0x0c, 0xa6, + 0x0f, 0xf4, 0x9e, 0x1b, 0x29, 0x82, 0x77, 0x3a, 0xac, 0x92, 0x2d, 0x04, 0xd0, 0x61, 0x65, 0x0a, + 0x77, 0x6c, 0x89, 0x38, 0xaa, 0xa9, 0xf8, 0x0c, 0x1f, 0x37, 0x09, 0x2b, 0xca, 0x29, 0x05, 0xe5, + 0x4e, 0x57, 0xfb, 0xcd, 0x40, 0xa8, 0x0c, 0x06, 0x2d, 0xe0, 0x30, 0xd9, 0x97, 0xb9, 0x59, 0x8a, + 0xde, 0xc9, 0x87, 0x1d, 0x3f, 0x84, 0x4c, 0x73, 0x04, 0x85, 0x61, 0xb0, 0x6e, 0x2c, 0x8f, 0xa2, + 0x6a, 0xcd, 0x31, 0xf3, 0x25, 0x83, 0xe1, 0x5e, 0x5d, 0xa7, 0xe7, 0xaa, 0x13, 0x26, 0xb1, 0x33, + 0xf0, 0x13, 0x58, 0x7a, 0xb0, 0x46, 0x1d, 0xdf, 0x02, 0xbf, 0x1e, 0xd1, 0x71, 0x43, 0x56, 0x82, + 0x4f, 0x58, 0x9d, 0x01, 0x2d, 0xc7, 0xda, 0x6b, 0x47, 0x05, 0xd1, 0xd5, 0xe8, 0x92, 0x3c, 0x18, + 0x21, 0xcf, 0xc9, 0x32, 0x0e, 0x12, 0xed, 0xb5, 0xaa, 0xa4, 0x12, 0x75, 0x01, 0x7d, 0xc7, 0x21, + 0xde, 0xec, 0x32, 0x13, 0xee, 0xd4, 0x9c, 0xe6, 0x04, 0x3f, 0x48, 0xfb, 0xb4, 0xc7, 0x21, 0x8e, + 0x8d, 0x7d, 0x54, 0x03, 0x11, 0xe7, 0xb9, 0x4f, 0x85, 0xb6, 0x1f, 0xaa + }, + { // region 19, $178eee + 0xe3, 0x53, 0xb3, 0x09, 0x60, 0x79, 0x60, 0x53, 0x11, 0x66, 0x5b, 0xc8, 0x8b, 0x94, 0x84, 0xab, + 0x3c, 0x18, 0x03, 0x57, 0x6a, 0x0f, 0x45, 0x58, 0xc0, 0x74, 0x64, 0x18, 0xf8, 0x39, 0xa1, 0x0f, + 0xc2, 0x2b, 0x1b, 0x60, 0xaa, 0x0e, 0xb2, 0x89, 0x01, 0x9b, 0x72, 0x80, 0x57, 0x83, 0x28, 0x63, + 0xe9, 0x39, 0x97, 0x46, 0xea, 0x3f, 0x93, 0x01, 0x9b, 0xf4, 0x80, 0x93, 0x01, 0xaf, 0x1d, 0x8f, + 0x16, 0xa1, 0xb9, 0xc7, 0xe4, 0x0c, 0xe7, 0xd2, 0x3b, 0xf3, 0xca, 0x3d, 0xc3, 0x54, 0xad, 0x89, + 0x51, 0x1e, 0xd1, 0x17, 0x7a, 0x1f, 0x23, 0x22, 0xcb, 0x4d, 0xce, 0x0f, 0xae, 0x30, 0x93, 0xd3, + 0x9b, 0x77, 0x71, 0xa7, 0xe7, 0x96, 0x2c, 0x85, 0xac, 0x29, 0x4b, 0x5e, 0x2b, 0x75, 0xb0, 0x00, + 0x81, 0xe9, 0xb6, 0x47, 0xaa, 0x9f, 0xdf, 0xd4, 0x7e, 0xd7, 0xa4, 0x3f, 0xe3, 0xb0, 0x41, 0x2c, + 0xb7, 0x0c, 0xe7, 0xeb, 0x9a, 0xda, 0xd9, 0x10, 0x23, 0x1d, 0x1c, 0xd4, 0xdd, 0x7d, 0xc2, 0x6c, + 0x4d, 0x9c, 0xa5, 0x18, 0xd0, 0x43, 0xab, 0xdc, 0xbd, 0xe4, 0x7f, 0xb5, 0x5f, 0x04, 0x0d, 0xac, + 0xab, 0xe6, 0xb8, 0x76, 0xf2, 0x15, 0x41, 0xef, 0x17, 0x8e, 0xf6, 0xb9, 0xef, 0x94, 0x52, 0x83, + 0x96, 0x45, 0x8f, 0xf2, 0x9c, 0xb4, 0x13, 0x3f, 0xbb, 0xa1, 0xd2, 0xf9, 0xa3, 0xf2, 0x06, 0x78, + 0xe0, 0x9e, 0xa7, 0xd3, 0xdc, 0x13, 0x8f, 0x4d, 0xf6, 0x19, 0xbd, 0x03, 0x9d, 0x24, 0xdc, 0xd6, + 0xe9, 0xcf, 0xa6, 0xd2, 0x1d, 0x49, 0xca, 0xc4, 0x55, 0x18, 0xbc, 0x70, 0x5b, 0x55, 0xfe, 0x8f, + 0x6b, 0x42, 0xf0, 0xd1, 0x21, 0xe3, 0xe7, 0x91, 0x59, 0x4e, 0x16, 0x83 + }, + { 0, }, // unused region 1a + { 0, }, // unused region 1b + { 0, }, // unused region 1c + { 0, }, // unused region 1d + { 0, }, // unused region 1e + { 0, }, // unused region 1f + { // region 20, $17a322 + 0xb3, 0x10, 0xf3, 0x0b, 0xe0, 0x71, 0x60, 0x53, 0x11, 0x9a, 0x12, 0x70, 0x1f, 0x1e, 0x81, 0xda, + 0x9d, 0x1f, 0x4b, 0xd6, 0x71, 0x48, 0x83, 0xe1, 0x04, 0x6c, 0x1b, 0xf1, 0xcd, 0x09, 0xdf, 0x3e, + 0x0b, 0xaa, 0x95, 0xc1, 0x07, 0xec, 0x0f, 0x54, 0xd0, 0x16, 0xb0, 0xdc, 0x86, 0x7b, 0x52, 0x38, + 0x3c, 0x68, 0x2b, 0xed, 0xe2, 0xeb, 0xb3, 0xc6, 0x48, 0x24, 0x41, 0x36, 0x17, 0x25, 0x1f, 0xa5, + 0x22, 0xc6, 0x5c, 0xa6, 0x19, 0xef, 0x17, 0x5c, 0x56, 0x4b, 0x4a, 0x2b, 0x75, 0xab, 0xe6, 0x22, + 0xd5, 0xc0, 0xd3, 0x46, 0xcc, 0xe4, 0xd4, 0xc4, 0x8c, 0x9a, 0x8a, 0x75, 0x24, 0x73, 0xa4, 0x26, + 0xca, 0x79, 0xaf, 0xb3, 0x94, 0x2a, 0x15, 0xbe, 0x40, 0x7b, 0x4d, 0xf6, 0xb4, 0xa4, 0x7b, 0xcf, + 0xce, 0xa0, 0x1d, 0xcb, 0x2f, 0x60, 0x28, 0x63, 0x85, 0x98, 0xd3, 0xd2, 0x45, 0x3f, 0x02, 0x65, + 0xd7, 0xf4, 0xbc, 0x2a, 0xe7, 0x50, 0xd1, 0x3f, 0x7f, 0xf6, 0x05, 0xb8, 0xe9, 0x39, 0x10, 0x6e, + 0x68, 0xa8, 0x89, 0x60, 0x00, 0x68, 0xfd, 0x20, 0xc4, 0xdc, 0xef, 0x67, 0x75, 0xfb, 0xbe, 0xfe, + 0x2b, 0x16, 0xa6, 0x5a, 0x77, 0x0d, 0x0c, 0xe2, 0x2d, 0xd1, 0xe4, 0x11, 0xc9, 0x4b, 0x81, 0x3a, + 0x0c, 0x24, 0xaa, 0x77, 0x2b, 0x2f, 0x83, 0x23, 0xd1, 0xe9, 0xa7, 0x29, 0x0a, 0xf9, 0x26, 0x9d, + 0x51, 0xc8, 0x6d, 0x71, 0x9d, 0xce, 0x46, 0x72, 0x26, 0x48, 0x3d, 0x64, 0xe5, 0x67, 0xbb, 0x1a, + 0xb4, 0x6d, 0x21, 0x11, 0x79, 0x78, 0xc2, 0xd5, 0x11, 0x6a, 0xd2, 0xea, 0x03, 0x4d, 0x92, 0xaf, + 0x18, 0xd5, 0x07, 0x79, 0xaa, 0xf9, 0x44, 0x93, 0x6f, 0x41, 0x22, 0x0d + }, + { // region 21, $17b3b4 + 0x2d, 0x50, 0xf3, 0x0b, 0xe0, 0x71, 0x61, 0x53, 0x11, 0xb4, 0x2c, 0xee, 0x34, 0x7e, 0x7d, 0x5e, + 0x62, 0x48, 0x97, 0xd2, 0xf9, 0x3a, 0xf2, 0xc9, 0xfa, 0x59, 0xe4, 0xe8, 0xf6, 0xd2, 0x9f, 0xb2, + 0xa7, 0x7e, 0x32, 0x86, 0xbc, 0x43, 0xec, 0xa0, 0xc2, 0xcb, 0x98, 0x33, 0x23, 0xd1, 0x58, 0x98, + 0x56, 0x05, 0xc7, 0xbc, 0x98, 0xd8, 0xdc, 0xb3, 0x35, 0xe8, 0x51, 0x6e, 0x3b, 0x7b, 0x89, 0xba, + 0xe1, 0xe5, 0x44, 0x5c, 0x24, 0x73, 0x04, 0x0d, 0xd9, 0x33, 0xf5, 0x63, 0xe9, 0x5c, 0x88, 0x05, + 0x18, 0xd0, 0x07, 0x5b, 0x1e, 0x81, 0x80, 0xac, 0x92, 0x6e, 0x13, 0x80, 0x1b, 0x29, 0xd2, 0xef, + 0x08, 0x84, 0x97, 0x23, 0xd1, 0x17, 0x2f, 0x38, 0xb4, 0x6d, 0x8f, 0x2a, 0x15, 0xf0, 0x40, 0xe9, + 0x02, 0x33, 0xd7, 0x5e, 0x99, 0x57, 0x15, 0x32, 0xbd, 0x8f, 0x48, 0x38, 0x91, 0x36, 0xe9, 0x07, + 0xc9, 0x37, 0x1d, 0x12, 0x2a, 0xbf, 0x5f, 0xdb, 0x85, 0x75, 0xbf, 0xdc, 0x59, 0x8a, 0x43, 0x51, + 0x4b, 0x77, 0xfd, 0x84, 0xc4, 0x28, 0xc7, 0x85, 0x25, 0x1a, 0x87, 0x8b, 0xc1, 0xd9, 0x1a, 0x78, + 0xe5, 0x03, 0x20, 0x56, 0xa0, 0xc2, 0x17, 0xf2, 0x29, 0xa0, 0xbd, 0xf8, 0x61, 0x9c, 0x7d, 0x54, + 0x3a, 0x11, 0xb5, 0x69, 0x9a, 0x1c, 0xbb, 0xf6, 0x2d, 0x86, 0xa8, 0x4d, 0xdd, 0x5a, 0xd6, 0xe4, + 0x11, 0x7e, 0x4b, 0x13, 0x6c, 0xb6, 0x01, 0x0a, 0x72, 0xbc, 0xe8, 0xf1, 0x82, 0x0e, 0xd0, 0xcf, + 0xbf, 0x50, 0x95, 0xb7, 0xa7, 0xec, 0xd7, 0xb3, 0x49, 0x5c, 0x47, 0x5f, 0xa9, 0xda, 0x70, 0xb0, + 0xdc, 0x9a, 0xa3, 0x48, 0xd3, 0xf5, 0x72, 0xd5, 0x43, 0xd8, 0x19, 0xcc + } +}; + +// all tables xored with data from $149c4c +// tables are the same as olds and drgw2 +static const u8 dw3_source_data[0x08][0xec] = +{ + { 0, }, + { // region 1, $14c21a + 0x67, 0x51, 0xf3, 0x19, 0xa0, 0x09, 0xb1, 0x21, 0xb0, 0xee, 0xe3, 0xf6, 0xbe, 0x81, 0x35, 0xe3, + 0xfb, 0xe6, 0xef, 0xdf, 0x61, 0x01, 0xfa, 0x22, 0x5d, 0x43, 0x01, 0xa5, 0x3b, 0x17, 0xd4, 0x74, + 0xf0, 0xf4, 0xf3, 0x43, 0xb5, 0x19, 0x04, 0xd5, 0x84, 0xce, 0x87, 0xfe, 0x35, 0x3e, 0xc4, 0x3c, + 0xc7, 0x85, 0x2a, 0x33, 0x00, 0x86, 0xd0, 0x4d, 0x65, 0x4b, 0xf9, 0xe9, 0xc0, 0xba, 0xaa, 0x77, + 0x9e, 0x66, 0xf6, 0x0f, 0x4f, 0x3a, 0xb6, 0xf1, 0x64, 0x9a, 0xe9, 0x25, 0x1a, 0x5f, 0x22, 0xa3, + 0xa2, 0xbf, 0x4b, 0x77, 0x3f, 0x34, 0xc9, 0x6e, 0xdb, 0x12, 0x5c, 0x33, 0xa5, 0x8b, 0x6c, 0xb1, + 0x74, 0xc8, 0x40, 0x4e, 0x2f, 0xe7, 0x46, 0xae, 0x99, 0xfc, 0xb0, 0x55, 0x54, 0xdf, 0xa7, 0xa1, + 0x0f, 0x5e, 0x49, 0xcf, 0x56, 0x3c, 0x90, 0x2b, 0xac, 0x65, 0x6e, 0xdb, 0x58, 0x3e, 0xc9, 0x00, + 0xae, 0x53, 0x4d, 0x92, 0xfa, 0x40, 0xb2, 0x6b, 0x65, 0x4b, 0x90, 0x8a, 0x0c, 0xe2, 0xa5, 0x9a, + 0xd0, 0x20, 0x29, 0x55, 0xa4, 0x44, 0xac, 0x51, 0x87, 0x54, 0x53, 0x34, 0x24, 0x4b, 0x81, 0x67, + 0x34, 0x4c, 0x5f, 0x31, 0x4e, 0xf2, 0xf1, 0x19, 0x18, 0x1c, 0x34, 0x38, 0xe1, 0x81, 0x17, 0xcf, + 0x24, 0xb9, 0x9a, 0xcb, 0x34, 0x51, 0x50, 0x59, 0x44, 0xb1, 0x0b, 0x50, 0x95, 0x6c, 0x48, 0x7e, + 0x14, 0xa4, 0xc6, 0xd9, 0xd3, 0xa5, 0xd6, 0xd0, 0xc5, 0x97, 0xf0, 0x45, 0xd0, 0x98, 0x51, 0x91, + 0x9f, 0xa3, 0x43, 0x51, 0x05, 0x90, 0xee, 0xca, 0x7e, 0x5f, 0x72, 0x53, 0xb1, 0xd3, 0xaf, 0x36, + 0x08, 0x75, 0xb0, 0x9b, 0xe0, 0x0d, 0x43, 0x88, 0xaa, 0x27, 0x44, 0x11 + }, + { // region 2, $14c126 + 0xf9, 0x19, 0xf3, 0x09, 0xa0, 0x09, 0xb0, 0x21, 0xb0, 0x22, 0xfd, 0x8e, 0xd3, 0xc8, 0x31, 0x67, + 0xc0, 0x10, 0x3c, 0xc2, 0x03, 0xf2, 0x6a, 0x0a, 0x54, 0x49, 0xca, 0xb5, 0x4b, 0xe0, 0x94, 0xe8, + 0x8d, 0xc8, 0x90, 0xee, 0x6b, 0x6f, 0xfa, 0x09, 0x76, 0x84, 0x6f, 0x55, 0xd1, 0x94, 0xca, 0x9c, + 0xe1, 0x22, 0xc6, 0x02, 0xb5, 0x8c, 0xf9, 0x3a, 0x52, 0x10, 0xf0, 0x22, 0xe4, 0x11, 0x15, 0x73, + 0x5e, 0x9e, 0xde, 0xc4, 0x5a, 0xbd, 0xa3, 0x89, 0xe7, 0x9b, 0x95, 0x5d, 0x75, 0xf6, 0xc3, 0x9f, + 0xe4, 0xcf, 0x65, 0x73, 0x90, 0xd0, 0x75, 0x56, 0xfa, 0xcc, 0xe4, 0x3e, 0x9c, 0x41, 0x81, 0x62, + 0xb1, 0xd3, 0x28, 0xbd, 0x6c, 0xed, 0x60, 0x28, 0x27, 0xee, 0xf2, 0xa1, 0xb4, 0x2c, 0x6c, 0xbb, + 0x42, 0xd7, 0x1d, 0x62, 0xc0, 0x33, 0x7d, 0xf9, 0xe4, 0x5c, 0xe2, 0x41, 0xa4, 0x1c, 0x98, 0xa1, + 0x87, 0x95, 0xad, 0x61, 0x56, 0x96, 0x40, 0x08, 0x6b, 0xe2, 0x4b, 0x95, 0x7b, 0x1b, 0xd8, 0x64, + 0xb3, 0xee, 0x9d, 0x79, 0x69, 0xea, 0x5d, 0xcf, 0x01, 0x91, 0xea, 0x3f, 0x70, 0x29, 0xdc, 0xe0, + 0x08, 0x20, 0xbf, 0x46, 0x90, 0xa8, 0xfc, 0x29, 0x14, 0xd1, 0x0d, 0x20, 0x79, 0xd2, 0x2c, 0xe9, + 0x52, 0xa6, 0x8c, 0xbd, 0xa3, 0x3e, 0x88, 0x2d, 0xb8, 0x4e, 0xf2, 0x74, 0x50, 0xcc, 0x12, 0xde, + 0xd3, 0x5a, 0xa4, 0x7b, 0xa2, 0x8d, 0x91, 0x68, 0x12, 0x0c, 0x9c, 0xb9, 0x6d, 0x26, 0x66, 0x60, + 0xc3, 0x6d, 0xd0, 0x11, 0x33, 0x05, 0x1d, 0xa8, 0xb6, 0x51, 0xe6, 0xe0, 0x58, 0x61, 0x74, 0x37, + 0xcc, 0x3a, 0x4d, 0x6a, 0x0a, 0x09, 0x71, 0xe3, 0x7e, 0xa5, 0x3b, 0xe9 + }, + { // region 3, $14E5BE + 0x73, 0x59, 0xf3, 0x09, 0xa0, 0x09, 0xb1, 0x21, 0xb0, 0x55, 0x18, 0x0d, 0xe8, 0x29, 0x2d, 0x04, + 0x85, 0x39, 0x88, 0xbe, 0x8b, 0xcb, 0xd9, 0x0b, 0x32, 0x36, 0x94, 0xac, 0x74, 0xc3, 0x3b, 0x5d, + 0x2a, 0x83, 0x46, 0xb3, 0x3a, 0xac, 0xd8, 0x55, 0x68, 0x21, 0x57, 0xab, 0x6e, 0xd1, 0xd0, 0xfc, + 0xe2, 0xbe, 0x63, 0xd0, 0x6b, 0x79, 0x23, 0x40, 0x58, 0xd4, 0xe7, 0x73, 0x22, 0x67, 0x7f, 0x88, + 0x05, 0xbd, 0xdf, 0x7a, 0x65, 0x41, 0x90, 0x3a, 0x52, 0x83, 0x28, 0xae, 0xe9, 0x8e, 0x65, 0x82, + 0x0e, 0xdf, 0x98, 0x88, 0xe1, 0x86, 0x21, 0x3e, 0x1a, 0x87, 0x6d, 0x62, 0x7a, 0xf6, 0xaf, 0x2c, + 0xd5, 0xc5, 0x10, 0x2d, 0xa9, 0xda, 0x93, 0xa1, 0x9b, 0xc7, 0x35, 0xd4, 0x15, 0x78, 0x18, 0xd5, + 0x75, 0x6a, 0xd7, 0xdb, 0x12, 0x2a, 0x6a, 0xc8, 0x36, 0x53, 0x57, 0xa6, 0xf0, 0x13, 0x67, 0x43, + 0x79, 0xf0, 0x0e, 0x49, 0xb1, 0xec, 0xcd, 0xa4, 0x8a, 0x61, 0x06, 0xb9, 0xea, 0x53, 0xf2, 0x47, + 0x7d, 0xd6, 0xf8, 0x9d, 0x2e, 0xaa, 0x27, 0x35, 0x61, 0xce, 0x9b, 0x63, 0xbc, 0x07, 0x51, 0x5a, + 0xc2, 0x0d, 0x39, 0x42, 0xd2, 0x5e, 0x21, 0x20, 0x10, 0xa0, 0xe5, 0x08, 0xf7, 0x3d, 0x28, 0x04, + 0x99, 0x93, 0x97, 0xaf, 0xf9, 0x12, 0xc0, 0x01, 0x2d, 0xea, 0xf3, 0x98, 0x0b, 0x46, 0xc2, 0x26, + 0x93, 0x10, 0x69, 0x1d, 0x71, 0x8e, 0x33, 0x00, 0x5e, 0x80, 0x2f, 0x47, 0x0a, 0xcc, 0x94, 0x16, + 0xe7, 0x37, 0x45, 0xd0, 0x61, 0x79, 0x32, 0x86, 0x08, 0x2a, 0x5b, 0x55, 0xfe, 0xee, 0x52, 0x38, + 0xaa, 0x18, 0xe9, 0x39, 0x1a, 0x1e, 0xb8, 0x26, 0x6b, 0x3d, 0x4b, 0xa9 + }, + { // region 4, $14d500 + 0x06, 0x01, 0xf3, 0x39, 0xa0, 0x09, 0xa0, 0x21, 0xb0, 0x6f, 0x32, 0x8b, 0xfd, 0x89, 0x29, 0xa0, + 0x4a, 0x62, 0xed, 0xa1, 0x2d, 0xa4, 0x49, 0xf2, 0x10, 0x3c, 0x77, 0xa3, 0x84, 0x8d, 0xfa, 0xd1, + 0xc6, 0x57, 0xe2, 0x78, 0xef, 0xe9, 0xb6, 0xa1, 0x5a, 0xbd, 0x3f, 0x02, 0x0b, 0x28, 0xd6, 0x76, + 0xfc, 0x5b, 0x19, 0x9f, 0x21, 0x66, 0x4c, 0x2d, 0x45, 0x99, 0xde, 0xab, 0x46, 0xbd, 0xe9, 0x84, + 0xc4, 0xdc, 0xc7, 0x30, 0x70, 0xdd, 0x64, 0xea, 0xbc, 0x6b, 0xd3, 0xe6, 0x45, 0x3f, 0x07, 0x7e, + 0x50, 0xef, 0xb2, 0x84, 0x33, 0x3c, 0xcc, 0x3f, 0x39, 0x5b, 0xf5, 0x6d, 0x71, 0xc5, 0xdd, 0xf5, + 0xf9, 0xd0, 0xf7, 0x9c, 0xe6, 0xc7, 0xad, 0x1b, 0x29, 0xb9, 0x90, 0x08, 0x75, 0xc4, 0xc3, 0xef, + 0xa8, 0xfc, 0xab, 0x55, 0x7c, 0x21, 0x57, 0x97, 0x87, 0x4a, 0xcb, 0x0c, 0x56, 0x0a, 0x4f, 0xcb, + 0x52, 0x33, 0x87, 0x31, 0xf3, 0x43, 0x5b, 0x41, 0x90, 0xf8, 0xc0, 0xdd, 0x5a, 0xa4, 0x26, 0x2a, + 0x60, 0xa5, 0x6d, 0xda, 0xf2, 0x6a, 0xf0, 0xb3, 0xda, 0x25, 0x33, 0x87, 0x22, 0xe4, 0xac, 0xd3, + 0x96, 0xe0, 0x99, 0x3e, 0xfb, 0x14, 0x45, 0x17, 0x25, 0x56, 0xbe, 0xef, 0x8f, 0x8e, 0x3d, 0x1e, + 0xc7, 0x99, 0xa2, 0xa1, 0x50, 0xfe, 0xdf, 0xd4, 0xa1, 0x87, 0xf4, 0xd5, 0xde, 0xa6, 0x8c, 0x6d, + 0x6c, 0xde, 0x47, 0xbe, 0x59, 0x8f, 0xd4, 0x97, 0xc3, 0xf4, 0xda, 0xbb, 0xa6, 0x73, 0xa9, 0xcb, + 0xf2, 0x01, 0xb9, 0x90, 0x8f, 0xed, 0x60, 0x64, 0x40, 0x1c, 0xb6, 0xc9, 0xa5, 0x7c, 0x17, 0x52, + 0x6f, 0xdc, 0x6d, 0x08, 0x2a, 0x1a, 0xe6, 0x68, 0x3f, 0xd4, 0x42, 0x69 + }, + { // region 5, $14bfb2 + 0x7f, 0x41, 0xf3, 0x39, 0xa0, 0x09, 0xa1, 0x21, 0xb0, 0xa2, 0x4c, 0x23, 0x13, 0xe9, 0x25, 0x3d, + 0x0f, 0x72, 0x3a, 0x9d, 0xb5, 0x96, 0xd1, 0xda, 0x07, 0x29, 0x41, 0x9a, 0xad, 0x70, 0xba, 0x46, + 0x63, 0x2b, 0x7f, 0x3d, 0xbe, 0x40, 0xad, 0xd4, 0x4c, 0x73, 0x27, 0x58, 0xa7, 0x65, 0xdc, 0xd6, + 0xfd, 0xde, 0xb5, 0x6e, 0xd6, 0x6c, 0x75, 0x1a, 0x32, 0x45, 0xd5, 0xe3, 0x6a, 0x14, 0x6d, 0x80, + 0x84, 0x15, 0xaf, 0xcc, 0x7b, 0x61, 0x51, 0x82, 0x40, 0x53, 0x7f, 0x38, 0xa0, 0xd6, 0x8f, 0x61, + 0x79, 0x19, 0xe5, 0x99, 0x84, 0xd8, 0x78, 0x27, 0x3f, 0x16, 0x97, 0x78, 0x4f, 0x7b, 0x0c, 0xa6, + 0x37, 0xdb, 0xc6, 0x0c, 0x24, 0xb4, 0xc7, 0x94, 0x9d, 0x92, 0xd2, 0x3b, 0xd5, 0x11, 0x6f, 0x0a, + 0xdb, 0x76, 0x66, 0xe7, 0xcd, 0x18, 0x2b, 0x66, 0xd8, 0x41, 0x40, 0x58, 0xa2, 0x01, 0x1e, 0x6d, + 0x44, 0x75, 0xe7, 0x19, 0x4f, 0xb2, 0xe8, 0xc4, 0x96, 0x77, 0x62, 0x02, 0xc9, 0xdc, 0x59, 0xf3, + 0x43, 0x8d, 0xc8, 0xfe, 0x9e, 0x2a, 0xba, 0x32, 0x3b, 0x62, 0xe3, 0x92, 0x6e, 0xc2, 0x08, 0x4d, + 0x51, 0xcd, 0xf9, 0x3a, 0x3e, 0xc9, 0x50, 0x27, 0x21, 0x25, 0x97, 0xd7, 0x0e, 0xf8, 0x39, 0x38, + 0xf5, 0x86, 0x94, 0x93, 0xbf, 0xeb, 0x18, 0xa8, 0xfc, 0x24, 0xf5, 0xf9, 0x99, 0x20, 0x3d, 0xcd, + 0x2c, 0x94, 0x25, 0x79, 0x28, 0x77, 0x8f, 0x2f, 0x10, 0x69, 0x86, 0x30, 0x43, 0x01, 0xd7, 0x9a, + 0x17, 0xe3, 0x47, 0x37, 0xbd, 0x62, 0x75, 0x42, 0x78, 0xf4, 0x2b, 0x57, 0x4c, 0x0a, 0xdb, 0x53, + 0x4d, 0xa1, 0x0a, 0xd6, 0x3a, 0x16, 0x15, 0xaa, 0x2c, 0x6c, 0x39, 0x42 + }, + { // region 6, $14cd82 + 0x12, 0x09, 0xf3, 0x29, 0xa0, 0x09, 0xa0, 0x21, 0xb0, 0xd5, 0x66, 0xa1, 0x28, 0x4a, 0x21, 0xc0, + 0xd3, 0x9b, 0x86, 0x80, 0x57, 0x6f, 0x41, 0xc2, 0xe4, 0x2f, 0x0b, 0x91, 0xbd, 0x3a, 0x7a, 0xba, + 0x00, 0xe5, 0x35, 0x02, 0x74, 0x7d, 0x8b, 0x21, 0x57, 0x10, 0x0f, 0xae, 0x44, 0xbb, 0xe2, 0x37, + 0x18, 0x7b, 0x52, 0x3d, 0x8c, 0x59, 0x9e, 0x20, 0x1f, 0x0a, 0xcc, 0x1c, 0x8e, 0x6a, 0xd7, 0x95, + 0x2b, 0x34, 0xb0, 0x82, 0x6d, 0xfd, 0x25, 0x33, 0xaa, 0x3b, 0x2b, 0x70, 0x15, 0x87, 0x31, 0x5d, + 0xbb, 0x29, 0x19, 0x95, 0xd5, 0x8e, 0x24, 0x28, 0x5e, 0xd0, 0x20, 0x83, 0x46, 0x4a, 0x21, 0x70, + 0x5b, 0xcd, 0xae, 0x7b, 0x61, 0xa1, 0xfa, 0xf4, 0x2b, 0x84, 0x15, 0x6e, 0x36, 0x5d, 0x1b, 0x24, + 0x0f, 0x09, 0x3a, 0x61, 0x38, 0x0f, 0x18, 0x35, 0x11, 0x38, 0xb4, 0xbd, 0xee, 0xf7, 0xec, 0x0f, + 0x1d, 0xb7, 0x48, 0x01, 0xaa, 0x09, 0x8f, 0x61, 0xb5, 0x0f, 0x1d, 0x26, 0x39, 0x2e, 0x8c, 0xd6, + 0x26, 0x5c, 0x3d, 0x23, 0x63, 0xe9, 0x6b, 0x97, 0xb4, 0x9f, 0x7b, 0xb6, 0xba, 0xa0, 0x7c, 0xc6, + 0x25, 0xa1, 0x73, 0x36, 0x67, 0x7f, 0x74, 0x1e, 0x1d, 0xda, 0x70, 0xbf, 0xa5, 0x63, 0x35, 0x39, + 0x24, 0x8c, 0x9f, 0x85, 0x16, 0xd8, 0x50, 0x95, 0x71, 0xc0, 0xf6, 0x1e, 0x6d, 0x80, 0xed, 0x15, + 0xeb, 0x63, 0xe9, 0x1b, 0xf6, 0x78, 0x31, 0xc6, 0x5c, 0xdd, 0x19, 0xbd, 0xdf, 0xa7, 0xec, 0x50, + 0x22, 0xad, 0xbb, 0xf6, 0xeb, 0xd6, 0xa3, 0x20, 0xc9, 0xe6, 0x9f, 0xcb, 0xf2, 0x97, 0xb9, 0x54, + 0x12, 0x66, 0xa6, 0xbe, 0x4a, 0x12, 0x43, 0xec, 0x00, 0xea, 0x49, 0x02 + }, + { // region 7, $14ce76 + 0xa4, 0x49, 0xf3, 0x29, 0xa0, 0x09, 0xa1, 0x21, 0xb0, 0xef, 0x80, 0x20, 0x3d, 0xaa, 0x36, 0x5d, + 0x98, 0xc4, 0xd2, 0x63, 0xdf, 0x61, 0xb0, 0xc3, 0xc2, 0x35, 0xd4, 0x88, 0xe6, 0x1d, 0x3a, 0x2f, + 0x9c, 0xb9, 0xd1, 0xc6, 0x43, 0xba, 0x69, 0x6d, 0x49, 0xac, 0xdd, 0x05, 0xe0, 0xf8, 0xe8, 0x97, + 0x19, 0x18, 0x08, 0x0c, 0x42, 0x46, 0xc7, 0x0d, 0x25, 0xce, 0xc3, 0x54, 0xb2, 0xd9, 0x42, 0x91, + 0xea, 0x53, 0x98, 0x38, 0x78, 0x81, 0x12, 0xca, 0x15, 0x23, 0xbd, 0xc1, 0x70, 0x1f, 0xd2, 0x40, + 0xfd, 0x39, 0x33, 0xaa, 0x27, 0x2b, 0xe8, 0x10, 0x7d, 0xa4, 0xa8, 0x8e, 0x3d, 0x00, 0x4f, 0x3a, + 0x7f, 0xd8, 0x96, 0xea, 0x9e, 0x8e, 0x15, 0x6e, 0x9f, 0x76, 0x57, 0xba, 0x7d, 0xc2, 0xdf, 0x57, + 0x42, 0x82, 0xf4, 0xda, 0x89, 0x06, 0x05, 0x04, 0x62, 0x2f, 0x29, 0x23, 0x54, 0xd5, 0xbb, 0x97, + 0xf5, 0xf9, 0xc1, 0xcf, 0xec, 0x5f, 0x1d, 0xfd, 0xbb, 0xa6, 0xd7, 0x4a, 0xa8, 0x66, 0xbf, 0xb9, + 0x09, 0x44, 0xb1, 0x60, 0x28, 0xa9, 0x35, 0x16, 0x15, 0xf5, 0x13, 0xc1, 0x07, 0x7e, 0xd7, 0x40, + 0xdf, 0x8e, 0xd3, 0x32, 0xa9, 0x35, 0x98, 0x15, 0x32, 0xa9, 0x49, 0xc0, 0x24, 0xb4, 0x4a, 0x53, + 0x6b, 0x79, 0xaa, 0x77, 0x6c, 0xc5, 0x88, 0x69, 0xe5, 0x5d, 0xde, 0x42, 0x28, 0xf9, 0xb7, 0x5c, + 0xab, 0x19, 0xc7, 0xbc, 0xc5, 0x60, 0xeb, 0x5e, 0xa8, 0x52, 0xc4, 0x32, 0x7c, 0x35, 0x02, 0x06, + 0x46, 0x77, 0x30, 0xb6, 0x33, 0x4b, 0xb8, 0xfd, 0x02, 0xd8, 0x14, 0x40, 0x99, 0x25, 0x7e, 0x55, + 0xd6, 0x44, 0x43, 0x8d, 0x73, 0x0e, 0x71, 0x48, 0xd3, 0x82, 0x40, 0xda + } +}; + +MACHINE_RESET_MEMBER(pgm_022_025_state,killbld) +{ + const int region = (ioport(":Region")->read()) & 0xff; + + m_igs025->m_kb_region = region - 0x16; + m_igs025->m_kb_game_id = 0x89911400 | region; + + pgm_state::machine_reset(); +} + +MACHINE_RESET_MEMBER(pgm_022_025_state, dw3) +{ + const int region = (ioport(":Region")->read()) & 0xff; + + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = 0x00060000 | region; + + pgm_state::machine_reset(); +} + + +void pgm_022_025_state::igs025_to_igs022_callback( void ) +{ +// printf("igs025_to_igs022_callback\n"); + m_igs022->handle_command(); +} + + +void pgm_022_025_state::init_killbld() +{ + pgm_basic_init(); + pgm_killbld_decrypt(); + + // install and configure protection device(s) + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xd40000, 0xd40003, read16sm_delegate(*m_igs025, FUNC(igs025_device::killbld_igs025_prot_r)), write16sm_delegate(*m_igs025, FUNC(igs025_device::killbld_igs025_prot_w))); + m_igs025->m_kb_source_data = killbld_source_data; +} + +void pgm_022_025_state::init_drgw3() +{ + pgm_basic_init(); + pgm_dw3_decrypt(); + + // install and configure protection device(s) + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xda5610, 0xda5613, read16sm_delegate(*m_igs025, FUNC(igs025_device::killbld_igs025_prot_r)), write16sm_delegate(*m_igs025, FUNC(igs025_device::killbld_igs025_prot_w))); + m_igs025->m_kb_source_data = dw3_source_data; +} + + +void pgm_022_025_state::killbld_mem(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x2fffff).bankr("bank1"); /* Game ROM */ + map(0x300000, 0x303fff).ram().share("igs022:sharedprotram"); // Shared with protection device +} + + +void pgm_022_025_state::pgm_022_025(machine_config &config) +{ + pgmbase(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_022_025_state::killbld_mem); + + IGS025(config, m_igs025, 0); + m_igs025->set_external_cb(FUNC(pgm_022_025_state::igs025_to_igs022_callback)); + + IGS022(config, m_igs022, 0); +} + +void pgm_022_025_state::pgm_022_025_dw3(machine_config &config) +{ + pgm_022_025(config); + MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state, dw3) +} + +void pgm_022_025_state::pgm_022_025_killbld(machine_config &config) +{ + pgm_022_025(config); + MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state, killbld) +} + + +INPUT_PORTS_START( killbld ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_DIPNAME( 0x00ff, 0x0021, "Region" ) + PORT_DIPSETTING( 0x0016, DEF_STR( Taiwan ) ) + PORT_DIPSETTING( 0x0017, DEF_STR( China ) ) + PORT_DIPSETTING( 0x0018, DEF_STR( Hong_Kong ) ) + PORT_DIPSETTING( 0x0019, DEF_STR( Japan ) ) +// PORT_DIPSETTING( 0x001a, "1a" ) // invalid +// PORT_DIPSETTING( 0x001b, "1b" ) // invalid +// PORT_DIPSETTING( 0x001c, "1c" ) // invalid +// PORT_DIPSETTING( 0x001d, "1d" ) // invalid +// PORT_DIPSETTING( 0x001e, "1e" ) // invalid +// PORT_DIPSETTING( 0x001f, "1f" ) // invalid + PORT_DIPSETTING( 0x0020, DEF_STR( Korea ) ) + PORT_DIPSETTING( 0x0021, DEF_STR( World ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( dw3 ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0006, DEF_STR( Region ) ) +// PORT_CONFSETTING( 0x0000, "0" ) + PORT_CONFSETTING( 0x0001, DEF_STR( Japan ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( Korea )) + PORT_CONFSETTING( 0x0003, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) // typo Hokg Kong + PORT_CONFSETTING( 0x0005, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) + PORT_CONFSETTING( 0x0007, "Singapore" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( dw3j ) // for dw3100 set + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0001, DEF_STR( Region ) ) +// PORT_CONFSETTING( 0x0000, "0" ) + PORT_CONFSETTING( 0x0001, DEF_STR( Japan ) ) +// PORT_CONFSETTING( 0x0002, DEF_STR( Korea )) +// PORT_CONFSETTING( 0x0003, DEF_STR( Taiwan ) ) +// PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) // typo Hokg Kong +// PORT_CONFSETTING( 0x0005, DEF_STR( China ) ) +// PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) +// PORT_CONFSETTING( 0x0007, "Singapore" ) +INPUT_PORTS_END diff --git a/docs/release/src/hbmame/igs/pgmprot_igs025_igs022.h b/docs/release/src/hbmame/igs/pgmprot_igs025_igs022.h new file mode 100644 index 00000000000..4a21a38a46b --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs025_igs022.h @@ -0,0 +1,34 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi + +class pgm_022_025_state : public pgm_state +{ +public: + pgm_022_025_state(const machine_config &mconfig, device_type type, const char *tag) + : pgm_state(mconfig, type, tag), + m_igs025(*this,"igs025"), + m_igs022(*this,"igs022") + + { } + + void pgm_dw3_decrypt(); + void pgm_killbld_decrypt(); + + void init_killbld(); + void init_drgw3(); + DECLARE_MACHINE_RESET(killbld); + DECLARE_MACHINE_RESET(dw3); + + void igs025_to_igs022_callback( void ); + + required_device<igs025_device> m_igs025; + required_device<igs022_device> m_igs022; + void pgm_022_025(machine_config &config); + void pgm_022_025_dw3(machine_config &config); + void pgm_022_025_killbld(machine_config &config); + void killbld_mem(address_map &map); +}; + +INPUT_PORTS_EXTERN( killbld ); +INPUT_PORTS_EXTERN( dw3 ); +INPUT_PORTS_EXTERN( dw3j ); diff --git a/docs/release/src/hbmame/igs/pgmprot_igs025_igs028.cpp b/docs/release/src/hbmame/igs/pgmprot_igs025_igs028.cpp new file mode 100644 index 00000000000..780c2dbed1b --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs025_igs028.cpp @@ -0,0 +1,215 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi +/*********************************************************************** + IGS28 + IGS025 PGM protection emulation + + these are simulations of the IGS 028 and 025 protection combination + used on the following PGM games + + Oriental Legend Super + + ---- + + IGS28 is some kind of encrypted DMA device, works with data in an + external ROM, more advaned version of IGS022? + + IGS025 is some kind of state machine, bitswaps etc. + + Simulation is incomplete + - DMA Mode 0 decryption unknown + + ***********************************************************************/ + +#include "emu.h" +#include "pgm.h" +#include "pgmprot_igs025_igs028.h" + +// tables are xored by table at $1998dc +// tables are the same as drgw3 and drgw2 +static const u8 m_olds_source_data[8][0xec] = // table addresses $2951CA +{ + { // region 0, unused... + 0, + }, + { // region 1, $1A669A + 0x67, 0x51, 0xf3, 0x19, 0xa0, 0x11, 0xe1, 0x11, 0x10, 0xee, 0xe3, 0xf6, 0xbe, 0x81, 0x35, 0xe3, + 0xfb, 0xe6, 0xef, 0xdf, 0x61, 0x01, 0xfa, 0x22, 0x5d, 0x43, 0x01, 0xa5, 0x3b, 0x17, 0xd4, 0x74, + 0xf0, 0xf4, 0xf3, 0x43, 0xb5, 0x19, 0x04, 0xd5, 0x84, 0xce, 0x87, 0xfe, 0x35, 0x3e, 0xc4, 0x3c, + 0xc7, 0x85, 0x2a, 0x33, 0x00, 0x86, 0xd0, 0x4d, 0x65, 0x4b, 0xf9, 0xe9, 0xc0, 0xba, 0xaa, 0x77, + 0x9e, 0x66, 0xf6, 0x0f, 0x4f, 0x3a, 0xb6, 0xf1, 0x64, 0x9a, 0xe9, 0x25, 0x1a, 0x5f, 0x22, 0xa3, + 0xa2, 0xbf, 0x4b, 0x77, 0x3f, 0x34, 0xc9, 0x6e, 0xdb, 0x12, 0x5c, 0x33, 0xa5, 0x8b, 0x6c, 0xb1, + 0x74, 0xc8, 0x40, 0x4e, 0x2f, 0xe7, 0x46, 0xae, 0x99, 0xfc, 0xb0, 0x55, 0x54, 0xdf, 0xa7, 0xa1, + 0x0f, 0x5e, 0x49, 0xcf, 0x56, 0x3c, 0x90, 0x2b, 0xac, 0x65, 0x6e, 0xdb, 0x58, 0x3e, 0xc9, 0x00, + 0xae, 0x53, 0x4d, 0x92, 0xfa, 0x40, 0xb2, 0x6b, 0x65, 0x4b, 0x90, 0x8a, 0x0c, 0xe2, 0xa5, 0x9a, + 0xd0, 0x20, 0x29, 0x55, 0xa4, 0x44, 0xac, 0x51, 0x87, 0x54, 0x53, 0x34, 0x24, 0x4b, 0x81, 0x67, + 0x34, 0x4c, 0x5f, 0x31, 0x4e, 0xf2, 0xf1, 0x19, 0x18, 0x1c, 0x34, 0x38, 0xe1, 0x81, 0x17, 0xcf, + 0x24, 0xb9, 0x9a, 0xcb, 0x34, 0x51, 0x50, 0x59, 0x44, 0xb1, 0x0b, 0x50, 0x95, 0x6c, 0x48, 0x7e, + 0x14, 0xa4, 0xc6, 0xd9, 0xd3, 0xa5, 0xd6, 0xd0, 0xc5, 0x97, 0xf0, 0x45, 0xd0, 0x98, 0x51, 0x91, + 0x9f, 0xa3, 0x43, 0x51, 0x05, 0x90, 0xee, 0xca, 0x7e, 0x5f, 0x72, 0x53, 0xb1, 0xd3, 0xaf, 0x36, + 0x08, 0x75, 0xb0, 0x9b, 0xe0, 0x0d, 0x43, 0x88, 0xaa, 0x27, 0x44, 0x11 + }, + { // region 2, $19A5F8 + 0xf9, 0x19, 0xf3, 0x09, 0xa0, 0x11, 0xe0, 0x11, 0x10, 0x22, 0xfd, 0x8e, 0xd3, 0xc8, 0x31, 0x67, + 0xc0, 0x10, 0x3c, 0xc2, 0x03, 0xf2, 0x6a, 0x0a, 0x54, 0x49, 0xca, 0xb5, 0x4b, 0xe0, 0x94, 0xe8, + 0x8d, 0xc8, 0x90, 0xee, 0x6b, 0x6f, 0xfa, 0x09, 0x76, 0x84, 0x6f, 0x55, 0xd1, 0x94, 0xca, 0x9c, + 0xe1, 0x22, 0xc6, 0x02, 0xb5, 0x8c, 0xf9, 0x3a, 0x52, 0x10, 0xf0, 0x22, 0xe4, 0x11, 0x15, 0x73, + 0x5e, 0x9e, 0xde, 0xc4, 0x5a, 0xbd, 0xa3, 0x89, 0xe7, 0x9b, 0x95, 0x5d, 0x75, 0xf6, 0xc3, 0x9f, + 0xe4, 0xcf, 0x65, 0x73, 0x90, 0xd0, 0x75, 0x56, 0xfa, 0xcc, 0xe4, 0x3e, 0x9c, 0x41, 0x81, 0x62, + 0xb1, 0xd3, 0x28, 0xbd, 0x6c, 0xed, 0x60, 0x28, 0x27, 0xee, 0xf2, 0xa1, 0xb4, 0x2c, 0x6c, 0xbb, + 0x42, 0xd7, 0x1d, 0x62, 0xc0, 0x33, 0x7d, 0xf9, 0xe4, 0x5c, 0xe2, 0x41, 0xa4, 0x1c, 0x98, 0xa1, + 0x87, 0x95, 0xad, 0x61, 0x56, 0x96, 0x40, 0x08, 0x6b, 0xe2, 0x4b, 0x95, 0x7b, 0x1b, 0xd8, 0x64, + 0xb3, 0xee, 0x9d, 0x79, 0x69, 0xea, 0x5d, 0xcf, 0x01, 0x91, 0xea, 0x3f, 0x70, 0x29, 0xdc, 0xe0, + 0x08, 0x20, 0xbf, 0x46, 0x90, 0xa8, 0xfc, 0x29, 0x14, 0xd1, 0x0d, 0x20, 0x79, 0xd2, 0x2c, 0xe9, + 0x52, 0xa6, 0x8c, 0xbd, 0xa3, 0x3e, 0x88, 0x2d, 0xb8, 0x4e, 0xf2, 0x74, 0x50, 0xcc, 0x12, 0xde, + 0xd3, 0x5a, 0xa4, 0x7b, 0xa2, 0x8d, 0x91, 0x68, 0x12, 0x0c, 0x9c, 0xb9, 0x6d, 0x26, 0x66, 0x60, + 0xc3, 0x6d, 0xd0, 0x11, 0x33, 0x05, 0x1d, 0xa8, 0xb6, 0x51, 0xe6, 0xe0, 0x58, 0x61, 0x74, 0x37, + 0xcc, 0x3a, 0x4d, 0x6a, 0x0a, 0x09, 0x71, 0xe3, 0x7e, 0xa5, 0x3b, 0xe9 + }, + { // region 3, $1F9508 + 0x73, 0x59, 0xf3, 0x09, 0xa0, 0x11, 0xe1, 0x11, 0x10, 0x55, 0x18, 0x0d, 0xe8, 0x29, 0x2d, 0x04, + 0x85, 0x39, 0x88, 0xbe, 0x8b, 0xcb, 0xd9, 0x0b, 0x32, 0x36, 0x94, 0xac, 0x74, 0xc3, 0x3b, 0x5d, + 0x2a, 0x83, 0x46, 0xb3, 0x3a, 0xac, 0xd8, 0x55, 0x68, 0x21, 0x57, 0xab, 0x6e, 0xd1, 0xd0, 0xfc, + 0xe2, 0xbe, 0x63, 0xd0, 0x6b, 0x79, 0x23, 0x40, 0x58, 0xd4, 0xe7, 0x73, 0x22, 0x67, 0x7f, 0x88, + 0x05, 0xbd, 0xdf, 0x7a, 0x65, 0x41, 0x90, 0x3a, 0x52, 0x83, 0x28, 0xae, 0xe9, 0x8e, 0x65, 0x82, + 0x0e, 0xdf, 0x98, 0x88, 0xe1, 0x86, 0x21, 0x3e, 0x1a, 0x87, 0x6d, 0x62, 0x7a, 0xf6, 0xaf, 0x2c, + 0xd5, 0xc5, 0x10, 0x2d, 0xa9, 0xda, 0x93, 0xa1, 0x9b, 0xc7, 0x35, 0xd4, 0x15, 0x78, 0x18, 0xd5, + 0x75, 0x6a, 0xd7, 0xdb, 0x12, 0x2a, 0x6a, 0xc8, 0x36, 0x53, 0x57, 0xa6, 0xf0, 0x13, 0x67, 0x43, + 0x79, 0xf0, 0x0e, 0x49, 0xb1, 0xec, 0xcd, 0xa4, 0x8a, 0x61, 0x06, 0xb9, 0xea, 0x53, 0xf2, 0x47, + 0x7d, 0xd6, 0xf8, 0x9d, 0x2e, 0xaa, 0x27, 0x35, 0x61, 0xce, 0x9b, 0x63, 0xbc, 0x07, 0x51, 0x5a, + 0xc2, 0x0d, 0x39, 0x42, 0xd2, 0x5e, 0x21, 0x20, 0x10, 0xa0, 0xe5, 0x08, 0xf7, 0x3d, 0x28, 0x04, + 0x99, 0x93, 0x97, 0xaf, 0xf9, 0x12, 0xc0, 0x01, 0x2d, 0xea, 0xf3, 0x98, 0x0b, 0x46, 0xc2, 0x26, + 0x93, 0x10, 0x69, 0x1d, 0x71, 0x8e, 0x33, 0x00, 0x5e, 0x80, 0x2f, 0x47, 0x0a, 0xcc, 0x94, 0x16, + 0xe7, 0x37, 0x45, 0xd0, 0x61, 0x79, 0x32, 0x86, 0x08, 0x2a, 0x5b, 0x55, 0xfe, 0xee, 0x52, 0x38, + 0xaa, 0x18, 0xe9, 0x39, 0x1a, 0x1e, 0xb8, 0x26, 0x6b, 0x3d, 0x4b, 0xa9 + }, + { // region 4, $1CA7B8 + 0x06, 0x01, 0xf3, 0x39, 0xa0, 0x11, 0xf0, 0x11, 0x10, 0x6f, 0x32, 0x8b, 0xfd, 0x89, 0x29, 0xa0, + 0x4a, 0x62, 0xed, 0xa1, 0x2d, 0xa4, 0x49, 0xf2, 0x10, 0x3c, 0x77, 0xa3, 0x84, 0x8d, 0xfa, 0xd1, + 0xc6, 0x57, 0xe2, 0x78, 0xef, 0xe9, 0xb6, 0xa1, 0x5a, 0xbd, 0x3f, 0x02, 0x0b, 0x28, 0xd6, 0x76, + 0xfc, 0x5b, 0x19, 0x9f, 0x21, 0x66, 0x4c, 0x2d, 0x45, 0x99, 0xde, 0xab, 0x46, 0xbd, 0xe9, 0x84, + 0xc4, 0xdc, 0xc7, 0x30, 0x70, 0xdd, 0x64, 0xea, 0xbc, 0x6b, 0xd3, 0xe6, 0x45, 0x3f, 0x07, 0x7e, + 0x50, 0xef, 0xb2, 0x84, 0x33, 0x3c, 0xcc, 0x3f, 0x39, 0x5b, 0xf5, 0x6d, 0x71, 0xc5, 0xdd, 0xf5, + 0xf9, 0xd0, 0xf7, 0x9c, 0xe6, 0xc7, 0xad, 0x1b, 0x29, 0xb9, 0x90, 0x08, 0x75, 0xc4, 0xc3, 0xef, + 0xa8, 0xfc, 0xab, 0x55, 0x7c, 0x21, 0x57, 0x97, 0x87, 0x4a, 0xcb, 0x0c, 0x56, 0x0a, 0x4f, 0xcb, + 0x52, 0x33, 0x87, 0x31, 0xf3, 0x43, 0x5b, 0x41, 0x90, 0xf8, 0xc0, 0xdd, 0x5a, 0xa4, 0x26, 0x2a, + 0x60, 0xa5, 0x6d, 0xda, 0xf2, 0x6a, 0xf0, 0xb3, 0xda, 0x25, 0x33, 0x87, 0x22, 0xe4, 0xac, 0xd3, + 0x96, 0xe0, 0x99, 0x3e, 0xfb, 0x14, 0x45, 0x17, 0x25, 0x56, 0xbe, 0xef, 0x8f, 0x8e, 0x3d, 0x1e, + 0xc7, 0x99, 0xa2, 0xa1, 0x50, 0xfe, 0xdf, 0xd4, 0xa1, 0x87, 0xf4, 0xd5, 0xde, 0xa6, 0x8c, 0x6d, + 0x6c, 0xde, 0x47, 0xbe, 0x59, 0x8f, 0xd4, 0x97, 0xc3, 0xf4, 0xda, 0xbb, 0xa6, 0x73, 0xa9, 0xcb, + 0xf2, 0x01, 0xb9, 0x90, 0x8f, 0xed, 0x60, 0x64, 0x40, 0x1c, 0xb6, 0xc9, 0xa5, 0x7c, 0x17, 0x52, + 0x6f, 0xdc, 0x6d, 0x08, 0x2a, 0x1a, 0xe6, 0x68, 0x3f, 0xd4, 0x42, 0x69 + }, + { // region 5, $1A19FA + 0x7f, 0x41, 0xf3, 0x39, 0xa0, 0x11, 0xf1, 0x11, 0x10, 0xa2, 0x4c, 0x23, 0x13, 0xe9, 0x25, 0x3d, + 0x0f, 0x72, 0x3a, 0x9d, 0xb5, 0x96, 0xd1, 0xda, 0x07, 0x29, 0x41, 0x9a, 0xad, 0x70, 0xba, 0x46, + 0x63, 0x2b, 0x7f, 0x3d, 0xbe, 0x40, 0xad, 0xd4, 0x4c, 0x73, 0x27, 0x58, 0xa7, 0x65, 0xdc, 0xd6, + 0xfd, 0xde, 0xb5, 0x6e, 0xd6, 0x6c, 0x75, 0x1a, 0x32, 0x45, 0xd5, 0xe3, 0x6a, 0x14, 0x6d, 0x80, + 0x84, 0x15, 0xaf, 0xcc, 0x7b, 0x61, 0x51, 0x82, 0x40, 0x53, 0x7f, 0x38, 0xa0, 0xd6, 0x8f, 0x61, + 0x79, 0x19, 0xe5, 0x99, 0x84, 0xd8, 0x78, 0x27, 0x3f, 0x16, 0x97, 0x78, 0x4f, 0x7b, 0x0c, 0xa6, + 0x37, 0xdb, 0xc6, 0x0c, 0x24, 0xb4, 0xc7, 0x94, 0x9d, 0x92, 0xd2, 0x3b, 0xd5, 0x11, 0x6f, 0x0a, + 0xdb, 0x76, 0x66, 0xe7, 0xcd, 0x18, 0x2b, 0x66, 0xd8, 0x41, 0x40, 0x58, 0xa2, 0x01, 0x1e, 0x6d, + 0x44, 0x75, 0xe7, 0x19, 0x4f, 0xb2, 0xe8, 0xc4, 0x96, 0x77, 0x62, 0x02, 0xc9, 0xdc, 0x59, 0xf3, + 0x43, 0x8d, 0xc8, 0xfe, 0x9e, 0x2a, 0xba, 0x32, 0x3b, 0x62, 0xe3, 0x92, 0x6e, 0xc2, 0x08, 0x4d, + 0x51, 0xcd, 0xf9, 0x3a, 0x3e, 0xc9, 0x50, 0x27, 0x21, 0x25, 0x97, 0xd7, 0x0e, 0xf8, 0x39, 0x38, + 0xf5, 0x86, 0x94, 0x93, 0xbf, 0xeb, 0x18, 0xa8, 0xfc, 0x24, 0xf5, 0xf9, 0x99, 0x20, 0x3d, 0xcd, + 0x2c, 0x94, 0x25, 0x79, 0x28, 0x77, 0x8f, 0x2f, 0x10, 0x69, 0x86, 0x30, 0x43, 0x01, 0xd7, 0x9a, + 0x17, 0xe3, 0x47, 0x37, 0xbd, 0x62, 0x75, 0x42, 0x78, 0xf4, 0x2b, 0x57, 0x4c, 0x0a, 0xdb, 0x53, + 0x4d, 0xa1, 0x0a, 0xd6, 0x3a, 0x16, 0x15, 0xaa, 0x2c, 0x6c, 0x39, 0x42 + }, + { // region 6, $2937EA + 0x12, 0x09, 0xf3, 0x29, 0xa0, 0x11, 0xf0, 0x11, 0x10, 0xd5, 0x66, 0xa1, 0x28, 0x4a, 0x21, 0xc0, + 0xd3, 0x9b, 0x86, 0x80, 0x57, 0x6f, 0x41, 0xc2, 0xe4, 0x2f, 0x0b, 0x91, 0xbd, 0x3a, 0x7a, 0xba, + 0x00, 0xe5, 0x35, 0x02, 0x74, 0x7d, 0x8b, 0x21, 0x57, 0x10, 0x0f, 0xae, 0x44, 0xbb, 0xe2, 0x37, + 0x18, 0x7b, 0x52, 0x3d, 0x8c, 0x59, 0x9e, 0x20, 0x1f, 0x0a, 0xcc, 0x1c, 0x8e, 0x6a, 0xd7, 0x95, + 0x2b, 0x34, 0xb0, 0x82, 0x6d, 0xfd, 0x25, 0x33, 0xaa, 0x3b, 0x2b, 0x70, 0x15, 0x87, 0x31, 0x5d, + 0xbb, 0x29, 0x19, 0x95, 0xd5, 0x8e, 0x24, 0x28, 0x5e, 0xd0, 0x20, 0x83, 0x46, 0x4a, 0x21, 0x70, + 0x5b, 0xcd, 0xae, 0x7b, 0x61, 0xa1, 0xfa, 0xf4, 0x2b, 0x84, 0x15, 0x6e, 0x36, 0x5d, 0x1b, 0x24, + 0x0f, 0x09, 0x3a, 0x61, 0x38, 0x0f, 0x18, 0x35, 0x11, 0x38, 0xb4, 0xbd, 0xee, 0xf7, 0xec, 0x0f, + 0x1d, 0xb7, 0x48, 0x01, 0xaa, 0x09, 0x8f, 0x61, 0xb5, 0x0f, 0x1d, 0x26, 0x39, 0x2e, 0x8c, 0xd6, + 0x26, 0x5c, 0x3d, 0x23, 0x63, 0xe9, 0x6b, 0x97, 0xb4, 0x9f, 0x7b, 0xb6, 0xba, 0xa0, 0x7c, 0xc6, + 0x25, 0xa1, 0x73, 0x36, 0x67, 0x7f, 0x74, 0x1e, 0x1d, 0xda, 0x70, 0xbf, 0xa5, 0x63, 0x35, 0x39, + 0x24, 0x8c, 0x9f, 0x85, 0x16, 0xd8, 0x50, 0x95, 0x71, 0xc0, 0xf6, 0x1e, 0x6d, 0x80, 0xed, 0x15, + 0xeb, 0x63, 0xe9, 0x1b, 0xf6, 0x78, 0x31, 0xc6, 0x5c, 0xdd, 0x19, 0xbd, 0xdf, 0xa7, 0xec, 0x50, + 0x22, 0xad, 0xbb, 0xf6, 0xeb, 0xd6, 0xa3, 0x20, 0xc9, 0xe6, 0x9f, 0xcb, 0xf2, 0x97, 0xb9, 0x54, + 0x12, 0x66, 0xa6, 0xbe, 0x4a, 0x12, 0x43, 0xec, 0x00, 0xea, 0x49, 0x02 + }, + { // region 7, $255E8C + 0xa4, 0x49, 0xf3, 0x29, 0xa0, 0x11, 0xf1, 0x11, 0x10, 0xef, 0x80, 0x20, 0x3d, 0xaa, 0x36, 0x5d, + 0x98, 0xc4, 0xd2, 0x63, 0xdf, 0x61, 0xb0, 0xc3, 0xc2, 0x35, 0xd4, 0x88, 0xe6, 0x1d, 0x3a, 0x2f, + 0x9c, 0xb9, 0xd1, 0xc6, 0x43, 0xba, 0x69, 0x6d, 0x49, 0xac, 0xdd, 0x05, 0xe0, 0xf8, 0xe8, 0x97, + 0x19, 0x18, 0x08, 0x0c, 0x42, 0x46, 0xc7, 0x0d, 0x25, 0xce, 0xc3, 0x54, 0xb2, 0xd9, 0x42, 0x91, + 0xea, 0x53, 0x98, 0x38, 0x78, 0x81, 0x12, 0xca, 0x15, 0x23, 0xbd, 0xc1, 0x70, 0x1f, 0xd2, 0x40, + 0xfd, 0x39, 0x33, 0xaa, 0x27, 0x2b, 0xe8, 0x10, 0x7d, 0xa4, 0xa8, 0x8e, 0x3d, 0x00, 0x4f, 0x3a, + 0x7f, 0xd8, 0x96, 0xea, 0x9e, 0x8e, 0x15, 0x6e, 0x9f, 0x76, 0x57, 0xba, 0x7d, 0xc2, 0xdf, 0x57, + 0x42, 0x82, 0xf4, 0xda, 0x89, 0x06, 0x05, 0x04, 0x62, 0x2f, 0x29, 0x23, 0x54, 0xd5, 0xbb, 0x97, + 0xf5, 0xf9, 0xc1, 0xcf, 0xec, 0x5f, 0x1d, 0xfd, 0xbb, 0xa6, 0xd7, 0x4a, 0xa8, 0x66, 0xbf, 0xb9, + 0x09, 0x44, 0xb1, 0x60, 0x28, 0xa9, 0x35, 0x16, 0x15, 0xf5, 0x13, 0xc1, 0x07, 0x7e, 0xd7, 0x40, + 0xdf, 0x8e, 0xd3, 0x32, 0xa9, 0x35, 0x98, 0x15, 0x32, 0xa9, 0x49, 0xc0, 0x24, 0xb4, 0x4a, 0x53, + 0x6b, 0x79, 0xaa, 0x77, 0x6c, 0xc5, 0x88, 0x69, 0xe5, 0x5d, 0xde, 0x42, 0x28, 0xf9, 0xb7, 0x5c, + 0xab, 0x19, 0xc7, 0xbc, 0xc5, 0x60, 0xeb, 0x5e, 0xa8, 0x52, 0xc4, 0x32, 0x7c, 0x35, 0x02, 0x06, + 0x46, 0x77, 0x30, 0xb6, 0x33, 0x4b, 0xb8, 0xfd, 0x02, 0xd8, 0x14, 0x40, 0x99, 0x25, 0x7e, 0x55, + 0xd6, 0x44, 0x43, 0x8d, 0x73, 0x0e, 0x71, 0x48, 0xd3, 0x82, 0x40, 0xda + } +}; + +void pgm_028_025_state::machine_reset() +{ + const int region = (ioport(":Region")->read()) & 0xff; + + m_igs025->m_kb_region = region; + m_igs025->m_kb_game_id = 0x00900000 | region; + + pgm_state::machine_reset(); +} + +void pgm_028_025_state::init_olds() +{ + pgm_basic_init(); + + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xdcb400, 0xdcb403, read16sm_delegate(*m_igs025, FUNC(igs025_device::killbld_igs025_prot_r)), write16sm_delegate(*m_igs025, FUNC(igs025_device::olds_w))); + m_igs028->m_sharedprotram = m_sharedprotram; + m_igs025->m_kb_source_data = m_olds_source_data; +} + +void pgm_028_025_state::olds_mem(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x3fffff).bankr("bank1"); /* Game ROM */ + map(0x400000, 0x403fff).mirror(0x0ec000).ram().share("sharedprotram"); // Shared with protection device +} + +void pgm_028_025_state::igs025_to_igs028_callback( void ) +{ +// printf("igs025_to_igs028_callback\n"); + m_igs028->IGS028_handle(); +} + + +void pgm_028_025_state::pgm_028_025_ol(machine_config &config) +{ + pgmbase(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_028_025_state::olds_mem); + + IGS025(config, m_igs025, 0); + m_igs025->set_external_cb(FUNC(pgm_028_025_state::igs025_to_igs028_callback)); + + IGS028(config, m_igs028, 0); +} + + +INPUT_PORTS_START( olds ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0006, DEF_STR( Region ) ) + /* includes the following regions: + 1 = taiwan, 2 = china, 3 = japan (title = orlegend special), + 4 = korea, 5 = hong kong, 6 = world */ + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0003, DEF_STR( Japan ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) +INPUT_PORTS_END diff --git a/docs/release/src/hbmame/igs/pgmprot_igs025_igs028.h b/docs/release/src/hbmame/igs/pgmprot_igs025_igs028.h new file mode 100644 index 00000000000..6219ce12a0d --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs025_igs028.h @@ -0,0 +1,33 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi + +class pgm_028_025_state : public pgm_state +{ +public: + pgm_028_025_state(const machine_config &mconfig, device_type type, const char *tag) + : pgm_state(mconfig, type, tag), + m_sharedprotram(*this, "sharedprotram"), + m_igs025(*this,"igs025"), + m_igs028(*this,"igs028") + + { + } + + void init_olds(); + + void pgm_028_025_ol(machine_config &config); + +protected: + virtual void machine_reset() override; + +private: + required_shared_ptr<u16> m_sharedprotram; + required_device<igs025_device> m_igs025; + required_device<igs028_device> m_igs028; + + void igs025_to_igs028_callback( void ); + + void olds_mem(address_map &map); +}; + +INPUT_PORTS_EXTERN( olds ); diff --git a/docs/release/src/hbmame/igs/pgmprot_igs027a_type1.cpp b/docs/release/src/hbmame/igs/pgmprot_igs027a_type1.cpp new file mode 100644 index 00000000000..202a7d9b830 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs027a_type1.cpp @@ -0,0 +1,2513 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi, Xing Xing +/*********************************************************************** + PGM IGS027A ARM protection simulations & emulation - type 1 + + these are simulations of the 'kov' type ARM device + used by + + Knights of Valor (kov) + bootlegs + Knights of Valor Plus (kovplus) + Puzzli 2 / Puzzli 2 Super (puzzli2s) + Photo Y2k2 (py2k2) + Photo Y2k2 - Flash 3-in-1 (pgm3in1) + Puzzle Star (puzlstar) + + These are implemented in 55857E type chips + + the following appear to have the same basic behavior as the + early '55857E' type chips, but are actually using the '55857G' + chips, which execute only area (confirmed on ddpdoj at least) + + DoDonPachi Dai-ou-jou (ddpdoj) + Espgaluda (espgal) + Ketsui (ket) + Oriental Legend Super Plus (oldsplus) + Knights of Valor Super Plus (kovshp) + bootlegs + + the following also use the 55857E type and we emulate the + internal ROM + + Photo Y2k (photoy2k) + Knights of Valor Superheros (kovsh) + bootlegs + + ---- + + Many of the simulations are preliminary. If functions to access + internal tables exist it is sometimes possible to extract the ROM + via these functions if the buffers are unchecked, however many + games have no table accesses. + + ---- + + The basic protection communication is the same between all games + however the commands differ + + None of these games have an external ARM rom, although it appears + the program code does check for the possibility of one existing. + + The 68k ROM gets checksummed by the ARM, the code doesn't even + get decrytped if it fails. + + 68k code is encrypted on these, decryption table is uploaded to + ARM space. + + Game Region is supplied by internal ARM rom. + + + ***********************************************************************/ + +#include "emu.h" +#include "pgmprot_igs027a_type1.h" + +#include "screen.h" + +#define LOG_PROT (1U << 1) +#define LOG_ALL (LOG_PROT) + +#define VERBOSE (0) +#include "logmacro.h" + +#define LOGPROT(...) LOGMASKED(LOG_PROT, __VA_ARGS__) + +/**************************** EMULATION *******************************/ +/* used by photoy2k, kovsh */ + +u32 pgm_arm_type1_state::arm7_type1_protlatch_r() +{ + return m_arm_type1_latch_68k_w; +} + +void pgm_arm_type1_state::arm7_type1_protlatch_w(offs_t, u32 data, u32 mem_mask) +{ + COMBINE_DATA(&m_arm_type1_latch_arm_w); + m_arm_type1_latch_68k_w &= ~mem_mask; +} + +u16 pgm_arm_type1_state::arm7_type1_68k_protlatch_r(offs_t offset) +{ + return offset ? m_arm_type1_latch_arm_w >> 16 : m_arm_type1_latch_arm_w; +} + +void pgm_arm_type1_state::arm7_type1_68k_protlatch_w(offs_t offset, u16 data) +{ + switch (offset) + { + case 1: + m_arm_type1_latch_68k_w = (m_arm_type1_latch_68k_w & 0x0000ffff) | (data << 16); + break; + + case 0: + m_arm_type1_latch_68k_w = (m_arm_type1_latch_68k_w & 0xffff0000) | data; + break; + } +} + +u16 pgm_arm_type1_state::arm7_type1_ram_r(offs_t offset, u16 mem_mask) +{ + const u16 *share16 = reinterpret_cast<u16 *>(m_arm7_shareram.target()); + + LOGPROT("M68K: ARM7 Shared RAM Read: %04x = %04x (%08x) %s\n", BYTE_XOR_LE(offset), share16[BYTE_XOR_LE(offset)], mem_mask, machine().describe_context()); + return share16[BYTE_XOR_LE(offset << 1)]; +} + +void pgm_arm_type1_state::arm7_type1_ram_w(offs_t offset, u16 data, u16 mem_mask) +{ + // not writeable!! +// u16 *share16 = reinterpret_cast<u16 *>(m_arm7_shareram.target()); + + LOGPROT("M68K: ARM7 Shared RAM Write: %04x = %04x (%04x) %s\n", BYTE_XOR_LE(offset), data, mem_mask, machine().describe_context()); +// COMBINE_DATA(&share16[BYTE_XOR_LE(offset << 1)]); +} + + +u32 pgm_arm_type1_state::arm7_type1_unk_r() +{ + const u32 val = m_arm_type1_counter; + if (!machine().side_effects_disabled()) + m_arm_type1_counter++; + return val; +} + +// this should return data from the 68K ROM +// which is hash checked while encrypted +// returning 0 keeps the asic happy for now +u32 pgm_arm_type1_state::arm7_type1_exrom_r() +{ + return 0x00000000; +} + +u32 pgm_arm_type1_state::arm7_type1_shareram_r(offs_t offset, u32 mem_mask) +{ + LOGPROT("ARM7: ARM7 Shared RAM Read: %04x = %08x (%08x) %s\n", offset << 2, m_arm7_shareram[offset], mem_mask, machine().describe_context()); + return m_arm7_shareram[offset]; +} + +void pgm_arm_type1_state::arm7_type1_shareram_w(offs_t offset, u32 data, u32 mem_mask) +{ + LOGPROT("ARM7: ARM7 Shared RAM Write: %04x = %08x (%08x) %s\n", offset << 2, data, mem_mask, machine().describe_context()); + COMBINE_DATA(&m_arm7_shareram[offset]); +} + +/* 55857E? */ +/* Knights of Valor, Photo Y2k */ +/* no execute only space? */ +void pgm_arm_type1_state::kov_map(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x4effff).bankr("bank1"); /* Game ROM */ + map(0x4f0000, 0x4f003f).rw(FUNC(pgm_arm_type1_state::arm7_type1_ram_r), FUNC(pgm_arm_type1_state::arm7_type1_ram_w)); /* ARM7 Shared RAM */ + map(0x500000, 0x500003).rw(FUNC(pgm_arm_type1_state::arm7_type1_68k_protlatch_r), FUNC(pgm_arm_type1_state::arm7_type1_68k_protlatch_w)); /* ARM7 Latch */ +} + +void pgm_arm_type1_state::_55857E_arm7_map(address_map &map) +{ + map(0x00000000, 0x00003fff).rom(); + map(0x08100000, 0x083fffff).r(FUNC(pgm_arm_type1_state::arm7_type1_exrom_r)); + map(0x10000000, 0x100003ff).ram(); // internal ram for asic + map(0x40000000, 0x40000003).rw(FUNC(pgm_arm_type1_state::arm7_type1_protlatch_r), FUNC(pgm_arm_type1_state::arm7_type1_protlatch_w)); + map(0x40000008, 0x4000000b).nopw(); // ? + map(0x4000000c, 0x4000000f).r(FUNC(pgm_arm_type1_state::arm7_type1_unk_r)); + map(0x50800000, 0x5080003f).rw(FUNC(pgm_arm_type1_state::arm7_type1_shareram_r), FUNC(pgm_arm_type1_state::arm7_type1_shareram_w)).share("arm7_shareram"); + map(0x50000000, 0x500003ff).ram(); // uploads xor table to decrypt 68k rom here +} + + +/**************************** SIMULATIONS *****************************/ + +void pgm_arm_type1_state::kov_sim_map(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x4effff).bankr("bank1"); /* Game ROM */ +} + +void pgm_arm_type1_state::cavepgm_mem(address_map &map) +{ + pgm_base_mem(map); + map(0x000000, 0x3fffff).rom(); + /* protection devices installed (simulated) later */ +} + + +void pgm_arm_type1_state::machine_start() +{ + save_item(NAME(m_value0)); + save_item(NAME(m_value1)); + save_item(NAME(m_valuekey)); + save_item(NAME(m_valueresponse)); + save_item(NAME(m_curslots)); + save_item(NAME(m_slots)); +} + +void pgm_arm_type1_state::pgm_arm_type1(machine_config &config) // ARM7 Shared motherboard XTAL +{ + pgmbase(config); + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_arm_type1_state::kov_map); + + /* protection CPU */ + ARM7(config, m_prot, 20000000); // 55857E? + m_prot->set_addrmap(AS_PROGRAM, &pgm_arm_type1_state::_55857E_arm7_map); +} + +void pgm_arm_type1_state::pgm_arm_type1_sim(machine_config &config) // When simulated +{ + pgm_arm_type1(config); + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_arm_type1_state::kov_sim_map); + + /* protection CPU */ + m_prot->set_disable(); +} + +void pgm_arm_type1_state::pgm_arm_type1_cave(machine_config &config) +{ + pgm_arm_type1_sim(config); +// pgm_arm_type1(config); // When ARM7 ROM is dumped and hooked up + + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_arm_type1_state::cavepgm_mem); +} + +void pgm_arm_type1_state::arm7_type1_latch_init() +{ + m_arm_type1_latch_arm_w = 0; + m_arm_type1_latch_68k_w = 0; + m_arm_type1_counter = 1; + + save_item(NAME(m_arm_type1_latch_arm_w)); + save_item(NAME(m_arm_type1_latch_68k_w)); + save_item(NAME(m_arm_type1_counter)); +} + +u16 pgm_arm_type1_state::kovsh_fake_region_r() +{ + const int regionhack = m_regionhack->read(); + if (regionhack != 0xff) return regionhack; + + offs_t offset = 0x4; + u16 *share16 = reinterpret_cast<u16 *>(m_arm7_shareram.target()); + return share16[BYTE_XOR_LE(offset << 1)]; +} + +void pgm_arm_type1_state::init_photoy2k() +{ + pgm_basic_init(); + pgm_photoy2k_decrypt(machine()); + arm7_type1_latch_init(); + /* we only have a china internal ROM dumped for now.. allow region to be changed for debugging (to ensure all alt titles / regions can be seen) */ + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0008, 0x4f0009, read16smo_delegate(*this, FUNC(pgm_arm_type1_state::kovsh_fake_region_r))); +} + +void pgm_arm_type1_state::init_kovsh() +{ + pgm_basic_init(); + pgm_kovsh_decrypt(machine()); + arm7_type1_latch_init(); + /* we only have a china internal ROM dumped for now.. allow region to be changed for debugging (to ensure all alt titles / regions can be seen) */ + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0008, 0x4f0009, read16smo_delegate(*this, FUNC(pgm_arm_type1_state::kovsh_fake_region_r))); +} + +/* Fake remapping of ASIC commands to the ones used by KOVSH due to the lack of the real ARM rom for this set */ +void pgm_arm_type1_state::kovshp_asic27a_write_word(offs_t offset, u16 data) +{ + switch (offset) + { + case 0: + m_arm_type1_latch_68k_w = (m_arm_type1_latch_68k_w & 0xffff0000) |data; + return; + + case 1: + { + const u8 asic_key = data >> 8; + u8 asic_cmd = (data & 0xff) ^ asic_key; + + switch (asic_cmd) + { + case 0x9a: asic_cmd = 0x99; break; // kovshxas + + case 0x38: asic_cmd = 0xad; break; + case 0x43: asic_cmd = 0xca; break; + case 0x56: asic_cmd = 0xac; break; + case 0x73: asic_cmd = 0x93; break; + case 0x84: asic_cmd = 0xb3; break; + case 0x87: asic_cmd = 0xb1; break; + case 0x89: asic_cmd = 0xb6; break; + case 0x93: asic_cmd = 0x73; break; + case 0xa5: asic_cmd = 0xa9; break; + case 0xac: asic_cmd = 0x56; break; + case 0xad: asic_cmd = 0x38; break; + case 0xb1: asic_cmd = 0x87; break; + case 0xb3: asic_cmd = 0x84; break; + case 0xb4: asic_cmd = 0x90; break; + case 0xb6: asic_cmd = 0x89; break; + case 0xc5: asic_cmd = 0x8c; break; + case 0xca: asic_cmd = 0x43; break; + case 0xcc: asic_cmd = 0xf0; break; + case 0xd0: asic_cmd = 0xe0; break; + case 0xe0: asic_cmd = 0xd0; break; + case 0xe7: asic_cmd = 0x70; break; + case 0xed: asic_cmd = 0xcb; break; + case 0xf0: asic_cmd = 0xcc; break; + case 0xf1: asic_cmd = 0xf5; break; + case 0xf2: asic_cmd = 0xf1; break; + case 0xf4: asic_cmd = 0xf2; break; + case 0xf5: asic_cmd = 0xf4; break; + case 0xfc: asic_cmd = 0xc0; break; + case 0xfe: asic_cmd = 0xc3; break; + + case 0xa6: asic_cmd = 0xa9; break; + case 0xaa: asic_cmd = 0x56; break; + case 0xf8: asic_cmd = 0xf3; break; + } + + m_arm_type1_latch_68k_w = (m_arm_type1_latch_68k_w & 0x0000ffff) | ((asic_cmd ^ (asic_key | (asic_key << 8))) << 16); + } + return; + } +} + + +void pgm_arm_type1_state::init_kovshp() +{ + pgm_basic_init(); + pgm_kovshp_decrypt(machine()); + arm7_type1_latch_init(); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0008, 0x4f0009, read16smo_delegate(*this, FUNC(pgm_arm_type1_state::kovsh_fake_region_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x500000, 0x500005, write16sm_delegate(*this, FUNC(pgm_arm_type1_state::kovshp_asic27a_write_word))); +} + + +/* bootleg inits */ + +void pgm_arm_type1_state::init_kovshxas() +{ + pgm_basic_init(); +// pgm_kovshp_decrypt(machine()); + arm7_type1_latch_init(); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0008, 0x4f0009, read16smo_delegate(*this, FUNC(pgm_arm_type1_state::kovsh_fake_region_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x500000, 0x500005, write16sm_delegate(*this, FUNC(pgm_arm_type1_state::kovshp_asic27a_write_word))); +} + +void pgm_arm_type1_state::pgm_decode_kovlsqh2_tiles() +{ + u16 *src = (u16 *)(memregion("tiles")->base() + 0x180000); + std::vector<u16> dst(0x800000); + + for (int i = 0; i < 0x800000 / 2; i++) + { + const int j = bitswap<24>(i, 23, 22, 9, 8, 21, 18, 0, 1, 2, 3, 16, 15, 14, 13, 12, 11, 10, 19, 20, 17, 7, 6, 5, 4); + + dst[j] = bitswap<16>(src[i], 1, 14, 8, 7, 0, 15, 6, 9, 13, 2, 5, 10, 12, 3, 4, 11); + } + + memcpy( src, &dst[0], 0x800000 ); +} + +void pgm_arm_type1_state::pgm_decode_kovlsqh2_sprites( u8 *src ) +{ + std::vector<u8> dst(0x800000); + + for (int i = 0; i < 0x800000; i++) + { + const int j = bitswap<24>(i, 23, 10, 9, 22, 19, 18, 20, 21, 17, 16, 15, 14, 13, 12, 11, 8, 7, 6, 5, 4, 3, 2, 1, 0); + + dst[j] = src[i]; + } + + memcpy( src, &dst[0], 0x800000 ); +} + +void pgm_arm_type1_state::pgm_decode_kovlsqh2_samples() +{ + u8 *src = (u8 *)(memregion("ics")->base() + 0x400000); + + for (int i = 0; i < 0x400000; i+=2) { + src[i + 0x000001] = src[i + 0x400001]; + } + + memcpy( src + 0x400000, src, 0x400000 ); +} + +void pgm_arm_type1_state::pgm_decode_kovqhsgs_program() +{ + u16 *src = (u16 *)(memregion("maincpu")->base() + 0x100000); + std::vector<u16> dst(0x400000); + + for (int i = 0; i < 0x400000 / 2; i++) + { + const int j = bitswap<24>(i, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 6, 7, 5, 4, 3, 2, 1, 0); + + dst[j] = bitswap<16>(src[i], 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 4, 5, 3, 2, 1, 0); + } + + memcpy( src, &dst[0], 0x400000 ); +} + +void pgm_arm_type1_state::pgm_decode_kovqhsgs2_program() +{ + u16 *src = (u16 *)(memregion("maincpu")->base() + 0x100000); + std::vector<u16> dst(0x400000); + + for (int i = 0; i < 0x400000 / 2; i++) + { + const int j = bitswap<24>(i, 23, 22, 21, 20, 19, 16, 15, 14, 13, 12, 11, 10, 9, 8, 0, 1, 2, 3, 4, 5, 6, 18, 17, 7); + + dst[j] = src[i]; + } + + memcpy( src, &dst[0], 0x400000 ); +} + + +void pgm_arm_type1_state::init_kovlsqh2() +{ + pgm_decode_kovqhsgs2_program(); + pgm_decode_kovlsqh2_tiles(); + + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x0000000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x0800000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x1000000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x1800000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x2000000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x2800000); + pgm_decode_kovlsqh2_sprites(memregion("sprmask")->base() + 0x0000000); + pgm_decode_kovlsqh2_sprites(memregion("sprmask")->base() + 0x0800000); + + pgm_decode_kovlsqh2_samples(); + pgm_basic_init(); + arm7_type1_latch_init(); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0008, 0x4f0009, read16smo_delegate(*this, FUNC(pgm_arm_type1_state::kovsh_fake_region_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x500000, 0x500005, write16sm_delegate(*this, FUNC(pgm_arm_type1_state::kovshp_asic27a_write_word))); +} + +void pgm_arm_type1_state::init_kovqhsgs() +{ + pgm_decode_kovqhsgs_program(); + pgm_decode_kovlsqh2_tiles(); + + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x0000000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x0800000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x1000000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x1800000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x2000000); + pgm_decode_kovlsqh2_sprites(memregion("sprcol")->base() + 0x2800000); + pgm_decode_kovlsqh2_sprites(memregion("sprmask")->base() + 0x0000000); + pgm_decode_kovlsqh2_sprites(memregion("sprmask")->base() + 0x0800000); + + pgm_decode_kovlsqh2_samples(); + pgm_basic_init(); + arm7_type1_latch_init(); + /* we only have a china internal ROM dumped for now.. allow region to be changed for debugging (to ensure all alt titles / regions can be seen) */ + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0008, 0x4f0009, read16smo_delegate(*this, FUNC(pgm_arm_type1_state::kovsh_fake_region_r))); +} + +/* + in Ketsui (ket) @ 000A719C (move.w) + + if you change D0 to 0x12 + the game will runs to "Asic27 Test" mode + + bp A71A0,1,{d0=0x12;g} +*/ + +u16 pgm_arm_type1_state::arm7_type1_sim_r(offs_t offset) +{ + if (offset == 0) + { + u16 d = m_valueresponse & 0xffff; + u16 realkey = m_valuekey >> 8; + realkey |= m_valuekey; + d ^= realkey; + return d; + } + else if (offset == 1) + { + u16 d = m_valueresponse >> 16; + u16 realkey = m_valuekey >> 8; + realkey |= m_valuekey; + d ^= realkey; + return d; + } + return 0xffff; +} + +/* working */ +void pgm_arm_type1_state::command_handler_ddp3(int pc) +{ + switch (m_ddp3lastcommand) + { + default: + printf("%06x command %02x | %04x\n", pc, m_ddp3lastcommand, m_value0); + m_valueresponse = 0x880000; + break; + + case 0x40: + m_valueresponse = 0x880000; + m_slots[(m_value0 >> 10) & 0x1F]= + (m_slots[(m_value0 >> 5) & 0x1F]+ + m_slots[(m_value0 >> 0) & 0x1F]) & 0xffffff; + break; + + case 0x67: // set high bits + // printf("%s command %02x | %04x\n", machine().describe_context().c_str(), m_ddp3lastcommand, m_value0); + m_valueresponse = 0x880000; + m_curslots = (m_value0 & 0xff00) >> 8; + m_slots[m_curslots] = (m_value0 & 0x00ff) << 16; + break; + + case 0xe5: // set low bits for operation? + // printf("%s command %02x | %04x\n", machine().describe_context().c_str(), m_ddp3lastcommand, m_value0); + m_valueresponse = 0x880000; + m_slots[m_curslots] |= (m_value0 & 0xffff); + break; + + case 0x8e: // read back result of operations + // printf("%s command %02x | %04x\n", machine().describe_context().c_str(), m_ddp3lastcommand, m_value0); + m_valueresponse = m_slots[m_value0 & 0xff]; + break; + + case 0x99: // reset? + m_simregion = 0;//m_region->read(); + m_valuekey = 0x100; + m_valueresponse = 0x00880000 | m_simregion << 8; + break; + + } +} + +/* preliminary */ + +// should be correct, note each value only appears once +u8 puzzli2_level_decode[256] = { + // 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , a , b , c , d , e , f , + 0x32, 0x3e, 0xb2, 0x37, 0x31, 0x22, 0xd6, 0x0d, 0x35, 0x5c, 0x8d, 0x3c, 0x7a, 0x5f, 0xd7, 0xac, // 0x0 +// 0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , 1 , 1 , 0 , 0 , 0 , 0 , x , x , + 0x53, 0xff, 0xeb, 0x44, 0xe8, 0x11, 0x69, 0x77, 0xd9, 0x34, 0x36, 0x45, 0xa6, 0xe9, 0x1c, 0xc6, // 0x1 +// 0 , 0 , x , x , x , 0 , x , 0 , x , 0 , 0 , 0 , 0 , x , 0 , x , + 0x3b, 0xbd, 0xad, 0x2e, 0x18, 0xdf, 0xa1, 0xab, 0xdd, 0x52, 0x57, 0xc2, 0xe5, 0x0a, 0x00, 0x6d, // 0x2 +// 0 , 0 , 0 , 1 , 1 , 1 , 1 , x , 1 , 1 , 0 , 0 , 1 , 1 , x , 0 , + 0x67, 0x64, 0x15, 0x70, 0xb6, 0x39, 0x27, 0x78, 0x82, 0xd2, 0x71, 0xb9, 0x13, 0xf5, 0x93, 0x92, // 0x3 +// 0 , x , 1 , 1 , x , 1 , 1 , 1 , 1 , 1 , 1 , 1 , x , 0 , x , x , + 0xfa, 0xe7, 0x5e, 0xb0, 0xf6, 0xaf, 0x95, 0x8a, 0x7c, 0x73, 0xf9, 0x63, 0x86, 0xcb, 0x1a, 0x56, // 0x4 +// 0 , 1 , 1 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 0 , + 0xf1, 0x3a, 0xae, 0x61, 0x01, 0x29, 0x97, 0x23, 0x8e, 0x5d, 0x9a, 0x65, 0x74, 0x21, 0x20, 0x40, // 0x5 +// 0 , 1 , 1 , 1 , 1 , 0 , x , x , x , 0 , 0 , 1 , 1 , 1 , 1 , 1 , + 0xd3, 0x05, 0xa2, 0xe1, 0xbc, 0x9e, 0x1e, 0x10, 0x14, 0x0c, 0x88, 0x9c, 0xec, 0x38, 0xb5, 0x9d, // 0x6 +// 1 , 0 , 0 , x , 1 , 1 , 0 , 0 , x , 0 , x , 0 , 0 , 1 , 1 , 1 , + 0x2d, 0xf7, 0x17, 0x0e, 0x84, 0xc7, 0x7d, 0xce, 0x94, 0x16, 0x48, 0xa8, 0x81, 0x6e, 0x7b, 0xd8, // 0x7 +// 1 , 1 , 1 , 1 , x , 0 , x , 0 , 1 , 1 , 1 , x , x , 1 , 1 , 1 , + 0xa7, 0x7f, 0x42, 0xe6, 0xa0, 0x2a, 0xef, 0xee, 0x24, 0xba, 0xb8, 0x7e, 0xc9, 0x2b, 0x90, 0xcc, // 0x8 +// 1 , x , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , + 0x5b, 0xd1, 0xf3, 0xe2, 0x6f, 0xed, 0x9f, 0xf0, 0x4b, 0x54, 0x8c, 0x08, 0xf8, 0x51, 0x68, 0xc8, // 0x9 +// x , 0 , 0 , 0 , 0 , 0 , 0 , 0 , x , 0 , x , 0 , 0 , 0 , 0 , 1 , + 0x03, 0x0b, 0xbb, 0xc1, 0xe3, 0x4d, 0x04, 0xc5, 0x8f, 0x09, 0x0f, 0xbf, 0x62, 0x49, 0x76, 0x59, // 0xa +// 1 , 1 , 1 , 1 , 1 , x , 0 , 1 , 1 , 0 , x , 1 , 1 , 1 , 1 , 0 , + 0x1d, 0x80, 0xde, 0x60, 0x07, 0xe0, 0x1b, 0x66, 0xa5, 0xbe, 0xcd, 0x87, 0xdc, 0xc3, 0x6b, 0x4e, // 0xb +// 0 , 1 , 1 , 1 , 1 , x , 0 , x , 0 , x , 0 , 1 , 1 , 0 , 1 , 1 , + 0xd0, 0xfd, 0xd4, 0x3f, 0x98, 0x96, 0x2f, 0x4c, 0xb3, 0xea, 0x2c, 0x75, 0xe4, 0xc0, 0x6c, 0x6a, // 0xc +// 0 , x , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , x , 1 , 1 , 1 , + 0x9b, 0xb7, 0x43, 0x8b, 0x41, 0x47, 0x02, 0xdb, 0x99, 0x3d, 0xa3, 0x79, 0x50, 0x4f, 0xb4, 0x55, // 0xd +// 1 , 0 , 0 , 0 , 1 , 0 , 0 , x , x , 1 , 1 , 1 , 0 , 1 , 1 , 1 , + 0x5a, 0x25, 0xf4, 0xca, 0x58, 0x30, 0xc4, 0x12, 0xa9, 0x46, 0xda, 0x91, 0xa4, 0xaa, 0xfc, 0x85, // 0xe +// 1 , 1 , 0 , 1 , 1 , 1 , 1 , 0 , 0 , 1 , 1 , 1 , 1 , 0 , 0 , x , + 0xfb, 0x89, 0x06, 0xcf, 0xfe, 0x33, 0xd5, 0x28, 0x1f, 0x19, 0x4a, 0xb1, 0x83, 0xf2, 0x72, 0x26, // 0xf +// x , x , 1 , 1 , 1 , 1 , 1 , 1 , x , 0 , 1 , 1 , 1 , 1 , 1 , 1 , +}; + + +#define puzzli2_printf logerror + +void pgm_arm_type1_state::command_handler_puzzli2(int pc) +{ + switch (m_ddp3lastcommand) + { + case 0x31: + { + // how is this selected? command 54? + + /* writes the following sequence before how to play + each level has a different sequence written before it, size of sequence doesn't seem directly connected to level size (unlike the reads) + so it's probably compressed somehow as well as scrambled? 68k doesnt know in advance how big each lot of data is either, it only stops + writing when it gets a difference response from the MCU. + + 00138278: 31 00fd | (set xor table offset) + UNKNOWN - related to depth / number of columns? + 00138278: 31 0087 | value 87, after xor is 75 (table address,value fd,f2) + COLUMN 1 + 00138278: 31 0032 | value 32, after xor is 40 (table address,value fe,72) << 4 is the number of entries in this column + 00138278: 31 0029 | value 29, after xor is 0f (table address,value ff,26) << 0x0f is a mask of 4 bits.. + + 00138278: 31 0031 | value 31, after xor is 03 (table address,value 00,32) -> 0x0103 + 00138278: 31 003f | value 3f, after xor is 01 (table address,value 01,3e) -> 0x0101 + 00138278: 31 00b0 | value b0, after xor is 02 (table address,value 02,b2) -> 0x0102 + 00138278: 31 0035 | value 35, after xor is 02 (table address,value 03,37) -> 0x0102 + COLUMN 2 + 00138278: 31 0071 | value 71, after xor is 40 (table address,value 04,31) << 4 is the number of entries in this column + 00138278: 31 002d | value 2d, after xor is 0f (table address,value 05,22) << 0x0f is a mask of 4 bits.. + + 00138278: 31 00d5 | value d5, after xor is 03 (table address,value 06,d6) -> 0x0103 + 00138278: 31 000d | value 0d, after xor is 00 (table address,value 07,0d) -> 0x0100 + 00138278: 31 0034 | value 34, after xor is 01 (table address,value 08,35) -> 0x0101 + 00138278: 31 0059 | value 59, after xor is 05 (table address,value 09,5c) -> 0x0105 + COLUMN 3 + 00138278: 31 00dd | value dd, after xor is 50 (table address,value 0a,8d) << 5 is the number of entries in this column + 00138278: 31 0023 | value 23, after xor is 1f (table address,value 0b,3c) << 0x1f is a mask of 5 bits.. + + 00138278: 31 007a | value 7a, after xor is 00 (table address,value 0c,7a) -> 0x0100 + 00138278: 31 00f3 | value f3, after xor is 01 (table address,value fd,f2) -> 0x0101 + 00138278: 31 0077 | value 77, after xor is 05 (table address,value fe,72) -> 0x0105 + 00138278: 31 0022 | value 22, after xor is 04 (table address,value ff,26) -> 0x0104 + 00138278: 31 0036 | value 36, after xor is 04 (table address,value 00,32) -> 0x0104 + COLUMN 4 + 00138278: 31 002e | value 2e, after xor is 10 (table address,value 01,3e) << 1 is the number of entries in this column + 00138278: 31 00b3 | value b3, after xor is 01 (table address,value 02,b2) << 0x01 is a mask of 1 bit.. + + 00138278: 31 0035 | value 35, after xor is 02 (table address,value 03,37) -> 0x0102 + COLUMN 5 + 00138278: 31 0041 | value 41, after xor is 70 (table address,value 04,31) << 7 is the number of entries in this column + 00138278: 31 005d | value 5d, after xor is 7f (table address,value 05,22) << 0x7f is a mask of 7 bits.. + + 00138278: 31 00d6 | value d6, after xor is 00 (table address,value 06,d6) -> 0x0100 + 00138278: 31 000c | value 0c, after xor is 01 (table address,value 07,0d) -> 0x0101 + 00138278: 31 0036 | value 36, after xor is 03 (table address,value 08,35) -> 0x0103 + 00138278: 31 005e | value 5e, after xor is 02 (table address,value 09,5c) -> 0x0102 + 00138278: 31 0089 | value 89, after xor is 04 (table address,value 0a,8d) -> 0x0104 + 00138278: 31 003c | value 3c, after xor is 00 (table address,value 0b,3c) -> 0x0100 + 00138278: 31 007a | value 7a, after xor is 00 (table address,value 0c,7a) -> 0x0100 + COLUMN 6 + 00138278: 31 00a2 | value a2, after xor is 50 (table address,value fd,f2) << 5 is the number of entries in this column + 00138278: 31 006d | value 6d, after xor is 1f (table address,value fe,72) << 0x1f is a mask of 5 bits.. + + 00138278: 31 0023 | value 23, after xor is 05 (table address,value ff,26) -> 0x0105 + 00138278: 31 0037 | value 37, after xor is 05 (table address,value 00,32) -> 0x0105 + 00138278: 31 003f | value 3f, after xor is 01 (table address,value 01,3e) -> 0x0101 + 00138278: 31 00b3 | value b3, after xor is 01 (table address,value 02,b2) -> 0x0101 + 00138278: 31 0034 | value 34, after xor is 03 (table address,value 03,37) -> 0x0103 + ^ (end, returning 630006 as playfield width) + + */ + + if (command_31_write_type==2) + { + puzzli2_printf("%08x: %02x %04x | ",pc, m_ddp3lastcommand, m_value0); + + // this shouldn't apply to the stuff written on startup, only the level data.. + + if (hackcount2==0) + { + puzzli2_take_leveldata_value(m_value0 & 0xff); + + hack_31_table_offset = m_value0 & 0xff; + hack_31_table_offset2 = 0; + hackcount2++; + m_valueresponse = 0x00d20000; + + //puzzli2_printf("(set xor table offset)\n"); + } + else // how do we decide end? + { + int end = puzzli2_take_leveldata_value(m_value0 & 0xff); + + if (!end) + { + // always d2 0000 when writing doing level data + // but different for the writes on startup? + m_valueresponse = 0x00d20000; + + //u8 tableaddr = (hack_31_table_offset + (hack_31_table_offset2 & 0xf)) & 0xff; + //u8 xoredval = m_value0 ^ puzzli2_level_decode[tableaddr]; + //puzzli2_printf("value %02x, after xor is %02x (table address,value %02x,%02x)\n", m_value0, xoredval, tableaddr, puzzli2_level_decode[tableaddr]); + + hackcount2++; + hack_31_table_offset2++; + } + else + { + hackcount2 = 0; + + // when the ARM detects the end of the stream has been reached it returns a 0x63 status with the number of columns in the data word + m_valueresponse = 0x00630000 | numbercolumns; + + //u8 tableaddr = (hack_31_table_offset + (hack_31_table_offset2 & 0xf)) & 0xff; + //u8 xoredval = m_value0 ^ puzzli2_level_decode[tableaddr]; + //puzzli2_printf("value %02x, after xor is %02x (table address,value %02x,%02x) (end, returning %02x as playfield width)\n", m_value0, xoredval, tableaddr, puzzli2_level_decode[tableaddr], m_valueresponse); + } + } + } + else + { + // todo, responses when uploading the startup values are different + puzzli2_printf("%08x: %02x %04x (for z80 address?)\n ",pc, m_ddp3lastcommand, m_value0); + + m_valueresponse = 0x00d20000 | p2_31_retcounter; + p2_31_retcounter++; // returns 0xc for the first one, 0x19 for the last one + } + + } + break; + + // after writing the compressed and scrambled data stream for the level (copied from ROM) with command 0x31 + // the game expects to read back a fully formed level structure from the ARM + case 0x13: + { + puzzli2_printf("%08x: %02x %04x (READ LEVEL DATA) | ",pc, m_ddp3lastcommand, m_value0); + + // this is the how to play screen, correctly returned with current code + /* + u16 retvals[61] = + { 0x0008, // depth (-2?) + 0x0103, 0x0101, 0x0102, 0x0102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // first column + 0x0103, 0x0100, 0x0101, 0x0105, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0100, 0x0101, 0x0105, 0x0104, 0x0104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0100, 0x0101, 0x0103, 0x0102, 0x0104, 0x0100 ,0x0100, 0x0000, 0x0000, 0x0000, + 0x0105, 0x0105, 0x0101, 0x0101, 0x0103, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 // last column + }; + */ + + + u16* leveldata = &level_structure[0][0]; + if (hackcount==0) + { + m_valueresponse = 0x002d0000 | ((depth>>4)+1); // this *seems* to come from upper bits of the first real value written to the device during the level stream (verify, seems wrong for some levels because you get a black bar on the bottom of the screen, but might be bad xors) + puzzli2_printf("level depth returning %08x\n", m_valueresponse ); + } + else if (hackcount<((10*numbercolumns)+1)) + { + m_valueresponse = 0x002d0000 | leveldata[hackcount-1]; + puzzli2_printf("level data returning %08x\n", m_valueresponse ); + } + else + { + hackcount=0; + m_valueresponse = 0x00740054; // 0x0074 0054 is returned after how to play reads above.. where does 0x54 come from? + puzzli2_printf("END returning %08x\n", m_valueresponse ); + + } + + hackcount++; + + + // 2d seems to be used when there is more data available + // 74 seems to be used when there isn't.. (end of buffer reached?) + // 2d or 74! (based on?) + + } + break; + + + + case 0x38: // Reset + puzzli2_printf("%08x: %02x %04x (RESET)\n",pc, m_ddp3lastcommand, m_value0); + m_simregion = m_region->read(); + m_valueresponse = 0x780000 | m_simregion<<8; // this must also return the cart region or the game will act in odd ways when inserting a coin on continue, or during the game on later levels + m_valuekey = 0x100; + m_puzzli_54_trigger = 0; + + break; + + + + + // 47 and 52 are used to get the images during the intro sequence, different each loop + // also some other gfx? + // logic here seems correct, not sure where the 0x19 and 0x5 etc. come from tho! + case 0x47: + puzzli2_printf("%08x: %02x %04x (GFX OFF PART 1)\n",pc, m_ddp3lastcommand, m_value0); + + hack_47_value = m_value0; + + //hack_47_value = ((m_value0 & 0x0700) >> 8) * 0x19; + //hack_47_value +=((m_value0 & 0x0007) >> 0) * 0x05; + if (m_value0 & 0xf0f0) puzzli2_printf("unhandled 0x47 bits %04x\n", m_value0); + + //puzzli2_printf("0x47 value was %04x - using %04x\n", m_value0, hack_47_value); + + m_valueresponse = 0x00740047; + + break; + + case 0x52: + puzzli2_printf("%08x: %02x %04x (GFX OFF PART 2)\n",pc, m_ddp3lastcommand, m_value0); + + //puzzli2_printf("which %04x\n", m_value0); + if (m_value0 & 0xfff0) puzzli2_printf("unhandled 0x52 bits %04x\n", m_value0); + + // it writes a value of 0x0000 then expects to read back like + // this for the lower part of the game backgrounds + if (m_value0 == 0x0000) + { + int val = ((hack_47_value & 0x0f00) >> 8) * 0x19; + m_valueresponse = 0x00740000 | (val & 0xffff); + } + else + { + int val = ((hack_47_value & 0x0f00) >> 8) * 0x19; + val +=((hack_47_value & 0x000f) >> 0) * 0x05; + val += m_value0 & 0x000f; + m_valueresponse = 0x00740000 | (val & 0xffff); + + } + + + + break; + + + + case 0x61: // ?? + puzzli2_printf("%08x: %02x %04x\n",pc, m_ddp3lastcommand, m_value0); + + // this command is written before the values used to decrypt the z80 addresses (assumed) are uploaded with command 31 + command_31_write_type = 1; + + m_valueresponse = 0x36 << 16; + p2_31_retcounter = 0xc; + break; + + case 0x41: // ASIC status? + puzzli2_printf("%08x: %02x %04x (UNK)\n",pc, m_ddp3lastcommand, m_value0); + + // this command is written after the values used to decrypt the z80 addresses (assumed) are uploaded with command 31 + command_31_write_type = 0; + + //m_valueresponse = 0x74 << 16; + m_valueresponse = 0x740061; + break; + + case 0x54: // ?? + puzzli2_printf("%08x: %02x %04x\n",pc, m_ddp3lastcommand, m_value0); + + // this command is written before uploading the compressed level data stream with command 31 + + command_31_write_type = 2; + stage = -1; + m_puzzli_54_trigger = 1; + hackcount2 = 0; + hackcount = 0; + m_valueresponse = 0x36 << 16; + + // clear the return structure + for (auto & elem : level_structure) + for (int rows=0;rows<10;rows++) + elem[rows] = 0x0000; + + break; + + /* + + puzzli2 on startup (00148a84) puzzli2s on startup (0014cf58) + + (001489f6: 61 0202 0014ceca: 61 0202) + always + : 31 004e a6f7 | : 31 | 0051 14c9 + 26DD2 + : 31 279e 534f | : 31 | 27a0 c121 + : 31 ab5c a7cf | : 31 | ab5f 15a1 + : 31 145f 7054 | : 31 | 1461 de26 + : 31 85a0 7b7f | : 31 | 85a2 e951 + : 31 7003 c5ab | : 31 | 7006 337d + : 31 456d f3aa | : 31 | 4570 617c + + (00148b34: 41 e2bb 0014d008: 41 706d) + + actual values needed always + 0x001694a8 / 0x0019027a + 26DD2 + 0x0016cfae / 0x00193D80 + 0x0016ebf2 / 0x001959c4 + 0x0016faa8 / 0x0019687a + 0x00174416 / 0x0019b1e8 + + 0x00166178 / 0x0018cf4a + 0x00166e72 / 0x0018dc44 + + as you can see the difference between the values written is always 26dd2, as is the difference between offsets expected + this makes it impossible to know which value is for which address without further tests! + + + */ + + // I think the values returned here must be connected to the values written to command 31 on startup + // 63/67 are used on startup to get the z80 music at least + case 0x63: // used as a read address by the 68k code (related to previous uploaded values like cave?) should point at a table of ~0x80 in size? seems to use values as further pointers? + puzzli2_printf("%08x: %02x %04x (Z80 ADDR PART 1)\n",pc, m_ddp3lastcommand, m_value0); + + if (!strcmp(machine().system().name,"puzzli2")) + { + if (m_value0 == 0x0000) + { + m_valueresponse = 0x001694a8; + } + else if (m_value0 == 0x0001) + { + m_valueresponse = 0x0016cfae; + } + else if (m_value0 == 0x0002) + { + m_valueresponse = 0x0016ebf2; // right for puzzli2 , wrong for puzzli2s, probably calculated from the writes then? + } + else if (m_value0 == 0x0003) // before 'cast' screen + { + m_valueresponse = 0x0016faa8; + } + else if (m_value0 == 0x0004) // 2 player demo + { + m_valueresponse = 0x00174416; + } + else + { + puzzli2_printf("unk case x63\n"); + m_valueresponse = 0x00600000; // wrong + + } + } + else // puzzli2 super + { + if (m_value0 == 0x0000) + { + m_valueresponse = 0x19027a; + } + else if (m_value0 == 0x0001) + { + m_valueresponse = 0x193D80; + } + else if (m_value0 == 0x0002) + { + m_valueresponse = 0x1959c4; + } + else if (m_value0 == 0x0003) + { + m_valueresponse = 0x19687a; + } + else if (m_value0 == 0x0004) + { + m_valueresponse = 0x19b1e8; + } + else + { + puzzli2_printf("unk case x63\n"); + m_valueresponse = 0x00600000; // wrong + } + } + break; + + case 0x67: // used as a read address by the 68k code (related to previous uploaded values like cave?) directly reads ~0xDBE from the address.. + puzzli2_printf("%08x: %02x %04x (Z80 ADDR PART 2)\n",pc, m_ddp3lastcommand, m_value0); + + if (!strcmp(machine().system().name,"puzzli2")) + { + if ( (m_value0 == 0x0000) || (m_value0 == 0x0001) || (m_value0 == 0x0002) || (m_value0 == 0x0003) ) + { + m_valueresponse = 0x00166178; // right for puzzli2 , wrong for puzzli2s, probably calculated from the writes then? + } + else if ( m_value0 == 0x0004 ) // 2 player demo + { + m_valueresponse = 0x00166e72; + } + else + { + puzzli2_printf("unk case x67\n"); + m_valueresponse = 0x00400000; // wrong + } + } + else // puzzli2 super + { + if ((m_value0 == 0x0000) || (m_value0 == 0x0001) || (m_value0 == 0x0002) || (m_value0 == 0x0003)) + { + m_valueresponse = 0x18cf4a; + } + else if ( m_value0 == 0x0004 ) // 2 player demo + { + m_valueresponse = 0x0018dc44; + } + else + { + puzzli2_printf("unk case x67\n"); + m_valueresponse = 0x00600000; // wrong + } + } + break; + + default: + puzzli2_printf("%08x: %02x %04x\n",pc, m_ddp3lastcommand, m_value0); + + m_valueresponse = 0x74 << 16; + break; + } +} + +static u32 py2k2_sprite_offset(u16 base, u16 pos) +{ + u16 ret = 0; + u16 offset = (base * 16) + (pos & 0xf); + + switch (base & ~0x3f) + { + case 0x000: ret = bitswap<16>(offset ^ 0x0030, 15, 14, 13, 12, 11, 10, 0, 2, 3, 9, 5, 4, 8, 7, 6, 1); break; + case 0x040: ret = bitswap<16>(offset ^ 0x03c0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 1, 2, 0, 5, 3, 4); break; + case 0x080: ret = bitswap<16>(offset ^ 0x0000, 15, 14, 13, 12, 11, 10, 0, 3, 4, 6, 8, 7, 5, 9, 2, 1); break; + case 0x0c0: ret = bitswap<16>(offset ^ 0x0001, 15, 14, 13, 12, 11, 10, 6, 5, 4, 3, 2, 1, 9, 8, 7, 0); break; + case 0x100: ret = bitswap<16>(offset ^ 0x0030, 15, 14, 13, 12, 11, 10, 0, 2, 3, 9, 5, 4, 8, 7, 6, 1); break; + case 0x140: ret = bitswap<16>(offset ^ 0x01c0, 15, 14, 13, 12, 11, 10, 2, 8, 7, 6, 4, 3, 5, 9, 0, 1); break; + case 0x180: ret = bitswap<16>(offset ^ 0x0141, 15, 14, 13, 12, 11, 10, 4, 8, 2, 6, 1, 7, 9, 5, 3, 0); break; + case 0x1c0: ret = bitswap<16>(offset ^ 0x0090, 15, 14, 13, 12, 11, 10, 5, 3, 7, 2, 1, 4, 0, 9, 8, 6); break; + case 0x200: ret = bitswap<16>(offset ^ 0x02a1, 15, 14, 13, 12, 11, 10, 9, 1, 7, 8, 5, 6, 2, 4, 3, 0); break; + case 0x240: ret = bitswap<16>(offset ^ 0x0000, 15, 14, 13, 12, 11, 10, 3, 2, 1, 0, 9, 8, 7, 6, 5, 4); break; + case 0x280: ret = bitswap<16>(offset ^ 0x02a1, 15, 14, 13, 12, 11, 10, 9, 1, 7, 8, 5, 6, 2, 4, 3, 0); break; + case 0x2c0: ret = bitswap<16>(offset ^ 0x0000, 15, 14, 13, 12, 11, 10, 0, 3, 4, 6, 8, 7, 5, 9, 2, 1); break; + case 0x300: ret = bitswap<16>(offset ^ 0x03c0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 1, 2, 0, 5, 3, 4); break; + case 0x340: ret = bitswap<16>(offset ^ 0x0030, 15, 14, 13, 12, 11, 10, 0, 2, 3, 9, 5, 4, 8, 7, 6, 1); break; + case 0x380: ret = bitswap<16>(offset ^ 0x0001, 15, 14, 13, 12, 11, 10, 6, 5, 4, 3, 2, 1, 9, 8, 7, 0); break; + case 0x3c0: ret = bitswap<16>(offset ^ 0x0090, 15, 14, 13, 12, 11, 10, 5, 3, 7, 2, 1, 4, 0, 9, 8, 6); break; + case 0x400: ret = bitswap<16>(offset ^ 0x02a1, 15, 14, 13, 12, 11, 10, 9, 1, 7, 8, 5, 6, 2, 4, 3, 0); break; + case 0x440: ret = bitswap<16>(offset ^ 0x03c0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 1, 2, 0, 5, 3, 4); break; + case 0x480: ret = bitswap<16>(offset ^ 0x0141, 15, 14, 13, 12, 11, 10, 4, 8, 2, 6, 1, 7, 9, 5, 3, 0); break; + case 0x4c0: ret = bitswap<16>(offset ^ 0x01c0, 15, 14, 13, 12, 11, 10, 2, 8, 7, 6, 4, 3, 5, 9, 0, 1); break; + case 0x500: ret = bitswap<16>(offset ^ 0x0141, 15, 14, 13, 12, 11, 10, 4, 8, 2, 6, 1, 7, 9, 5, 3, 0); break; + case 0x540: ret = bitswap<16>(offset ^ 0x0030, 15, 14, 13, 12, 11, 10, 0, 2, 3, 9, 5, 4, 8, 7, 6, 1); break; + case 0x580: ret = bitswap<16>(offset ^ 0x03c0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 1, 2, 0, 5, 3, 4); break; + case 0x5c0: ret = bitswap<16>(offset ^ 0x0090, 15, 14, 13, 12, 11, 10, 5, 3, 7, 2, 1, 4, 0, 9, 8, 6); break; + case 0x600: ret = bitswap<16>(offset ^ 0x0000, 15, 14, 13, 12, 11, 10, 0, 3, 4, 6, 8, 7, 5, 9, 2, 1); break; + case 0x640: ret = bitswap<16>(offset ^ 0x0000, 15, 14, 13, 12, 11, 10, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5); break; + } + + if (offset >= 0xce80/2 && offset <= 0xceff/2) ret -= 0x0100; + if (offset >= 0xcf00/2 && offset <= 0xcf7f/2) ret += 0x0100; + + return ret; +} + +/* preliminary */ +void pgm_arm_type1_state::command_handler_py2k2(int pc) +{ + switch (m_ddp3lastcommand) + { + case 0x30: + m_valueresponse = py2k2_sprite_offset(m_py2k2_sprite_base, m_py2k2_sprite_pos++); + break; + case 0x32: + m_py2k2_sprite_base = m_value0; + m_py2k2_sprite_pos = 0; + m_valueresponse = py2k2_sprite_offset(m_py2k2_sprite_base, m_py2k2_sprite_pos++); + break; + case 0xba: + m_valueresponse = m_py2k2_prev_base; + m_py2k2_prev_base = m_value0; + break; + case 0x99: // reset? + m_py2k2_prev_base = m_value0; + m_simregion = m_region->read(); + m_valuekey = 0x100; + m_valueresponse = 0x00880000 | m_simregion<<8; + break; + case 0xc0: + puzzli2_printf("%06x command %02x | %04x\n", pc, m_ddp3lastcommand, m_value0); + m_valueresponse = 0x880000; + break; + case 0xc3: + m_valueresponse = 0x904000 + ((m_extra_ram[0xc0] + (m_value0 * 0x40)) * 4); + break; + case 0xd0: + m_valueresponse = 0xa01000 + (m_value0 * 0x20); + break; + case 0xdc: + m_valueresponse = 0xa00800 + (m_value0 * 0x40); + break; + case 0xe0: + m_valueresponse = 0xa00000 + ((m_value0 & 0x1f) * 0x40); + break; + case 0xcb: // Background layer 'x' select (pgm3in1, same as kov) + m_valueresponse = 0x880000; + break; + case 0xcc: // Background layer offset (pgm3in1, same as kov) + { + int y = m_value0; + if (y & 0x400) y = -(0x400 - (y & 0x3ff)); + m_valueresponse = 0x900000 + ((m_extra_ram[0xcb] + (y * 0x40)) * 4); + } + break; + case 0x33: + case 0x34: + case 0x35: + case 0x37: + case 0x38: + default: + puzzli2_printf("%06x command %02x | %04x\n", pc, m_ddp3lastcommand, m_value0); + m_valueresponse = 0x880000; + break; + } +} + +/* preliminary */ + + +static const int pstar_ba[0x1E]={ + 0x02,0x00,0x00,0x01,0x00,0x03,0x00,0x00, //0 + 0x02,0x00,0x06,0x00,0x22,0x04,0x00,0x03, //8 + 0x00,0x00,0x06,0x00,0x20,0x07,0x00,0x03, //10 + 0x00,0x21,0x01,0x00,0x00,0x63 +}; + +static const int pstar_b0[0x10]={ + 0x09,0x0A,0x0B,0x00,0x01,0x02,0x03,0x04, + 0x05,0x06,0x07,0x08,0x00,0x00,0x00,0x00 +}; + +static const int pstar_ae[0x10]={ + 0x5D,0x86,0x8C ,0x8B,0xE0,0x8B,0x62,0xAF, + 0xB6,0xAF,0x10A,0xAF,0x00,0x00,0x00,0x00 +}; + +static const int pstar_a0[0x10]={ + 0x02,0x03,0x04,0x05,0x06,0x01,0x0A,0x0B, + 0x0C,0x0D,0x0E,0x09,0x00,0x00,0x00,0x00, +}; + +static const int pstar_9d[0x10]={ + 0x05,0x03,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +}; + +static const int pstar_90[0x10]={ + 0x0C,0x10,0x0E,0x0C,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +}; +static const int pstar_8c[0x23]={ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02, + 0x02,0x02,0x03,0x03,0x03,0x04,0x04,0x04, + 0x03,0x03,0x03 +}; + +static const int pstar_80[0x1a3]={ + 0x03,0x03,0x04,0x04,0x04,0x04,0x05,0x05, + 0x05,0x05,0x06,0x06,0x03,0x03,0x04,0x04, + 0x05,0x05,0x05,0x05,0x06,0x06,0x07,0x07, + 0x03,0x03,0x04,0x04,0x05,0x05,0x05,0x05, + 0x06,0x06,0x07,0x07,0x06,0x06,0x06,0x06, + 0x06,0x06,0x06,0x07,0x07,0x07,0x07,0x07, + 0x06,0x06,0x06,0x06,0x06,0x06,0x07,0x07, + 0x07,0x07,0x08,0x08,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x06,0x06,0x06,0x07,0x07, + 0x06,0x06,0x06,0x07,0x07,0x07,0x08,0x08, + 0x09,0x09,0x09,0x09,0x07,0x07,0x07,0x07, + 0x07,0x08,0x08,0x08,0x08,0x09,0x09,0x09, + 0x06,0x06,0x07,0x07,0x07,0x08,0x08,0x08, + 0x08,0x08,0x09,0x09,0x05,0x05,0x06,0x06, + 0x06,0x07,0x07,0x08,0x08,0x08,0x08,0x09, + 0x07,0x07,0x07,0x07,0x07,0x08,0x08,0x08, + 0x08,0x09,0x09,0x09,0x06,0x06,0x07,0x03, + 0x07,0x06,0x07,0x07,0x08,0x07,0x05,0x04, + 0x03,0x03,0x04,0x04,0x05,0x05,0x06,0x06, + 0x06,0x06,0x06,0x06,0x03,0x04,0x04,0x04, + 0x04,0x05,0x05,0x06,0x06,0x06,0x06,0x07, + 0x04,0x04,0x05,0x05,0x06,0x06,0x06,0x06, + 0x06,0x07,0x07,0x08,0x05,0x05,0x06,0x07, + 0x07,0x08,0x08,0x08,0x08,0x08,0x08,0x08, + 0x05,0x05,0x05,0x07,0x07,0x07,0x07,0x07, + 0x07,0x08,0x08,0x08,0x08,0x08,0x09,0x09, + 0x09,0x09,0x03,0x04,0x04,0x05,0x05,0x05, + 0x06,0x06,0x07,0x07,0x07,0x07,0x08,0x08, + 0x08,0x09,0x09,0x09,0x03,0x04,0x05,0x05, + 0x04,0x03,0x04,0x04,0x04,0x05,0x05,0x04, + 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, + 0x03,0x03,0x03,0x04,0x04,0x04,0x04,0x04, + 0x04,0x04,0x04,0x04,0x04,0x03,0x03,0x03, + 0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, + 0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00 +}; + +void pgm_arm_type1_state::command_handler_pstars(int pc) +{ + switch (m_ddp3lastcommand) + { + case 0x99: + m_simregion = m_region->read(); + m_valuekey = 0x100; + m_valueresponse = 0x00880000 | m_simregion<<8; + break; + + case 0xe0: + m_valueresponse = 0xa00000 + (m_value0 << 6); + break; + + case 0xdc: + m_valueresponse = 0xa00800 + (m_value0 << 6); + break; + + case 0xd0: + m_valueresponse = 0xa01000 + (m_value0 << 5); + break; + + case 0xb1: + m_pstar_b1_value = m_value0; + m_valueresponse = 0x890000; + break; + + case 0xbf: + m_valueresponse = m_pstar_b1_value * m_value0; + break; + + case 0xc1: //TODO:TIMER 0,1,2,FIX TO 0 should be OK? + m_valueresponse = 0; + break; + + case 0xce: //TODO:TIMER 0,1,2 + m_pstar_ce_value = m_value0; + m_valueresponse=0x890000; + break; + + case 0xcf: //TODO:TIMER 0,1,2 + m_extra_ram[m_pstar_ce_value] = m_value0; + m_valueresponse = 0x890000; + break; + + case 0xe7: + m_pstar_e7_value = (m_value0 >> 12) & 0xf; + m_slots[m_pstar_e7_value] &= 0xffff; + m_slots[m_pstar_e7_value] |= (m_value0 & 0xff) << 16; + m_valueresponse = 0x890000; + break; + + case 0xe5: + m_slots[m_pstar_e7_value] &= 0xff0000; + m_slots[m_pstar_e7_value] |= m_value0; + m_valueresponse = 0x890000; + break; + + case 0xf8: //@73C + m_valueresponse = m_slots[m_value0 & 0xf] & 0xffffff; + break; + + case 0xba: + m_valueresponse = pstar_ba[m_value0]; + break; + + case 0xb0: + m_valueresponse = pstar_b0[m_value0]; + break; + + case 0xae: + m_valueresponse = pstar_ae[m_value0]; + break; + + case 0xa0: + m_valueresponse = pstar_a0[m_value0]; + break; + + case 0x9d: + m_valueresponse = pstar_9d[m_value0]; + break; + + case 0x90: + m_valueresponse = pstar_90[m_value0]; + break; + + case 0x8c: + m_valueresponse = pstar_8c[m_value0]; + break; + + case 0x80: + m_valueresponse = pstar_80[m_value0]; + break; + + default: + m_valueresponse = 0x890000; + logerror("PSTARS PC(%06x) UNKNOWN %4X %4X\n", pc, m_value1, m_value0); + } +} + +/* Old KOV and bootlegs sim ... really these should be read out... */ + +static const u8 kov_BATABLE[0x40] = { + 0x00,0x29,0x2c,0x35,0x3a,0x41,0x4a,0x4e,0x57,0x5e,0x77,0x79,0x7a,0x7b,0x7c,0x7d, + 0x7e,0x7f,0x80,0x81,0x82,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x90, + 0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9e,0xa3,0xd4,0xa9,0xaf,0xb5,0xbb,0xc1 +}; + +static const u8 kov_B0TABLE[16] = { 2, 0, 1, 4, 3 }; // Maps char portraits to tables + + +void pgm_arm_type1_state::command_handler_kov(int pc) +{ + switch (m_ddp3lastcommand) + { + case 0x67: // unknown or status check? + case 0x8e: + case 0xa3: + case 0x33: // kovsgqyz (a3) + case 0x3a: // kovplus + case 0xc5: // kovplus + m_valueresponse = 0x880000; + break; + + case 0x99: // Reset + m_simregion = m_region->read(); + m_valueresponse = 0x880000 | m_simregion<<8; + m_valuekey = 0x100; + break; + + case 0x9d: // Sprite palette offset + m_valueresponse = 0xa00000 + ((m_value0 & 0x1f) * 0x40); + break; + + case 0xb0: // Read from data table + m_valueresponse = kov_B0TABLE[m_value0 & 0x0f]; + break; + + case 0xb4: // Copy slot 'a' to slot 'b' + case 0xb7: // kovsgqyz (b4) + { + m_valueresponse = 0x880000; + + if (m_value0 == 0x0102) m_value0 = 0x0100; // why? + + m_slots[(m_value0 >> 8) & 0x0f] = m_slots[(m_value0 >> 0) & 0x0f]; + } + break; + + case 0xba: // Read from data table + m_valueresponse = kov_BATABLE[m_value0 & 0x3f]; + break; + + case 0xc0: // Text layer 'x' select + m_valueresponse = 0x880000; + m_kov_c0_value = m_value0; + break; + + case 0xc3: // Text layer offset + m_valueresponse = 0x904000 + ((m_kov_c0_value + (m_value0 * 0x40)) * 4); + break; + + case 0xcb: // Background layer 'x' select + m_valueresponse = 0x880000; + m_kov_cb_value = m_value0; + break; + + case 0xcc: // Background layer offset + { + int y = m_value0; + if (y & 0x400) y = -(0x400 - (y & 0x3ff)); + m_valueresponse = 0x900000 + ((m_kov_cb_value + (y * 0x40)) * 4); + } + break; + + case 0xd0: // Text palette offset + case 0xcd: // kovsgqyz (d0) + m_valueresponse = 0xa01000 + (m_value0 * 0x20); + break; + + case 0xd6: // Copy slot to slot 0 + m_valueresponse = 0x880000; + m_slots[0] = m_slots[m_value0 & 0x0f]; + break; + + case 0xdc: // Background palette offset + case 0x11: // kovsgqyz (dc) + m_valueresponse = 0xa00800 + (m_value0 * 0x40); + break; + + case 0xe0: // Sprite palette offset + case 0x9e: // kovsgqyz (e0) + m_valueresponse = 0xa00000 + ((m_value0 & 0x1f) * 0x40); + break; + + case 0xe5: // Write slot (low) + { + m_valueresponse = 0x880000; + + s32 sel = (m_curslots >> 12) & 0x0f; + m_slots[sel] = (m_slots[sel] & 0x00ff0000) | ((m_value0 & 0xffff) << 0); + } + break; + + case 0xe7: // Write slot (and slot select) (high) + { + m_valueresponse = 0x880000; + m_curslots = m_value0; + + s32 sel = (m_curslots >> 12) & 0x0f; + m_slots[sel] = (m_slots[sel] & 0x0000ffff) | ((m_value0 & 0x00ff) << 16); + } + break; + + case 0xf0: // Some sort of status read? + m_valueresponse = 0x00c000; + break; + + case 0xf8: // Read slot + case 0xab: // kovsgqyz (f8) + m_valueresponse = m_slots[m_value0 & 0x0f] & 0x00ffffff; + break; + + case 0xfc: // Adjust damage level to char experience level + m_valueresponse = (m_value0 * m_kov_fe_value) >> 6; + break; + + case 0xfe: // Damage level adjust + m_valueresponse = 0x880000; + m_kov_fe_value = m_value0; + break; + + default: + m_valueresponse = 0x880000; +// logerror("Unknown ASIC27 command: %2.2x data: %4.4x\n", (data ^ m_valuekey) & 0xff, m_value0); + break; + } +} + + +/* Oriental Legend Super Plus ARM simulation */ + +static const int oldsplus_80[0x5]={ + 0xbb8,0x1770,0x2328,0x2ee0,0xf4240 +}; + +static const int oldsplus_fc[0x20]={ + 0x00,0x00,0x0a,0x3a,0x4e,0x2e,0x03,0x40, + 0x33,0x43,0x26,0x2c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x44,0x4d,0xb,0x27,0x3d,0x0f, + 0x37,0x2b,0x02,0x2f,0x15,0x45,0x0e,0x30 +}; + +static const int oldsplus_a0[0x20]={ + 0x000,0x023,0x046,0x069,0x08c,0x0af,0x0d2,0x0f5, + 0x118,0x13b,0x15e,0x181,0x1a4,0x1c7,0x1ea,0x20d, + 0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d, + 0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d, +}; + +static const int oldsplus_90[0x7]={ + 0x50,0xa0,0xc8,0xf0,0x190,0x1f4,0x258 +}; + +static const int oldsplus_5e[0x20]={ + 0x04,0x04,0x04,0x04,0x04,0x03,0x03,0x03, + 0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +}; + +static const int oldsplus_b0[0xe0]={ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04, + 0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c, + 0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08, + 0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10, + 0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18, + + 0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04, + 0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c, + 0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14, + 0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c, + + 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, + 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, + 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17, + 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, + + 0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b, + 0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13, + 0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b, + 0x1c,0x1d,0x1e,0x1f,0x1f,0x1f,0x1f,0x1f +}; + +static const int oldsplus_ae[0xe0]={ + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + 0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50, + + 0x1E,0x1F,0x20,0x21,0x22,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + + 0x1F,0x20,0x21,0x22,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + + 0x20,0x21,0x22,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + + 0x21,0x22,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23, + 0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23 +}; + +static const int oldsplus_ba[0x4]={ + 0x3138,0x2328,0x1C20,0x1518 +}; + +static const int oldsplus_9d[0x111]={ + 0x0000,0x0064,0x00c8,0x012c,0x0190,0x01f4,0x0258,0x02bc, + 0x02f8,0x0334,0x0370,0x03ac,0x03e8,0x0424,0x0460,0x049c, + 0x04d8,0x0514,0x0550,0x058c,0x05c8,0x0604,0x0640,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x0000, + 0x0064,0x00c8,0x012c,0x0190,0x01f4,0x0258,0x02bc,0x0302, + 0x0348,0x038e,0x03d4,0x041a,0x0460,0x04a6,0x04ec,0x0532, + 0x0578,0x05be,0x0604,0x064a,0x0690,0x06d6,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x0000,0x0064, + 0x00c8,0x012c,0x0190,0x01f4,0x0258,0x02bc,0x0316,0x0370, + 0x03ca,0x0424,0x047e,0x04d8,0x0532,0x058c,0x05e6,0x0640, + 0x069a,0x06f4,0x074e,0x07a8,0x0802,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x0000,0x0064,0x00c8, + 0x012c,0x0190,0x01f4,0x0258,0x02bc,0x032a,0x0398,0x0406, + 0x0474,0x04e2,0x0550,0x05be,0x062c,0x069a,0x0708,0x0776, + 0x07e4,0x0852,0x08c0,0x092e,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x0000,0x0064,0x00c8,0x012c, + 0x0190,0x01f4,0x0258,0x02bc,0x0348,0x03d4,0x0460,0x04ec, + 0x0578,0x0604,0x0690,0x071c,0x07a8,0x0834,0x08c0,0x094c, + 0x09d8,0x0a64,0x0af0,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x0000,0x0064,0x00c8,0x012c,0x0190, + 0x01f4,0x0258,0x02bc,0x0384,0x044c,0x0514,0x05dc,0x06a4, + 0x076c,0x0834,0x08fc,0x09c4,0x0a8c,0x0b54,0x0c1c,0x0ce4, + 0x0dac,0x0e74,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x0000,0x0064,0x00c8,0x012c,0x0190,0x01f4, + 0x0258,0x02bc,0x030c,0x035c,0x03ac,0x03fc,0x044c,0x049c, + 0x04ec,0x053c,0x058c,0x05dc,0x062c,0x067c,0x06cc,0x071c, + 0x076c,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc,0x06bc, + 0x06bc +}; + +static const int oldsplus_8c[0x20]={ + 0x0032,0x0032,0x0064,0x0096,0x0096,0x00fa,0x012c,0x015e, + 0x0032,0x0064,0x0096,0x00c8,0x00c8,0x012c,0x015e,0x0190, + 0x0064,0x0096,0x00c8,0x00fa,0x00fa,0x015e,0x0190,0x01c2, + 0x0096,0x00c8,0x00fa,0x012c,0x012c,0x0190,0x01c2,0x01f4 +}; + + +void pgm_arm_type1_state::command_handler_oldsplus(int pc) +{ + switch (m_ddp3lastcommand) + { + case 0x88: + m_simregion = m_region->read(); + m_valuekey = 0x100; + m_valueresponse = 0x00990000 | m_simregion<<8; + + break; + + case 0xd0: + m_valueresponse = 0xa01000 + (m_value0 << 5); + break; + + case 0xc0: + m_valueresponse = 0xa00000 + (m_value0 << 6); + break; + + case 0xc3: + m_valueresponse = 0xa00800 + (m_value0 << 6); + break; + + case 0x36: + m_extra_ram[0x36] = m_value0; + m_valueresponse = 0x990000; + break; + + case 0x33: + m_extra_ram[0x33] = m_value0; + m_valueresponse = 0x990000; + break; + + case 0x35: + m_extra_ram[0x36] += m_value0; + m_valueresponse = 0x990000; + break; + + case 0x37: + m_extra_ram[0x33] += m_value0; + m_valueresponse = 0x990000; + break; + + case 0x34: + m_valueresponse = m_extra_ram[0x36]; + break; + + case 0x38: + m_valueresponse = m_extra_ram[0x33]; + break; + + case 0x80: + m_valueresponse = oldsplus_80[m_value0]; + break; + + case 0xe7: + m_extra_ram[0xe7] = m_value0; + m_valueresponse = 0x990000; + break; + + case 0xe5: + switch (m_extra_ram[0xe7]) + { + case 0xb000: + m_slots[0xb] = m_value0; + m_slots[0xc] = 0; + break; + + case 0xc000: + m_slots[0xc] = m_value0; + break; + + case 0xd000: + m_slots[0xd] = m_value0; + break; + + case 0xf000: + m_slots[0xf] = m_value0; + break; + } + m_valueresponse = 0x990000; + break; + + case 0xf8: + m_valueresponse = m_slots[m_value0]; + break; + + case 0xfc: + m_valueresponse = oldsplus_fc[m_value0]; + break; + + case 0xc5: + m_slots[0xd] --; + m_valueresponse = 0x990000; + break; + + case 0xd6: + m_slots[0xb] ++; + m_valueresponse = 0x990000; + break; + + case 0x3a: + m_slots[0xf] = 0; + m_valueresponse = 0x990000; + break; + + case 0xf0: + m_extra_ram[0xf0] = m_value0; + m_valueresponse = 0x990000; + break; + + case 0xed: + m_valueresponse = m_value0 << 0x6; + m_valueresponse += m_extra_ram[0xf0]; + m_valueresponse = m_valueresponse << 0x2; + m_valueresponse += 0x900000; + break; + + case 0xe0: + m_extra_ram[0xe0] = m_value0; + m_valueresponse = 0x990000; + break; + + case 0xdc: + m_valueresponse = m_value0 << 0x6; + m_valueresponse += m_extra_ram[0xe0]; + m_valueresponse = m_valueresponse << 0x2; + m_valueresponse += 0x904000; + break; + + case 0xcb: + m_valueresponse = 0xc000; + break; + + case 0xa0: + m_valueresponse = oldsplus_a0[m_value0]; + break; + + case 0xba: + m_valueresponse = oldsplus_ba[m_value0]; + break; + + case 0x5e: + m_valueresponse = oldsplus_5e[m_value0]; + break; + + case 0xb0: + m_valueresponse = oldsplus_b0[m_value0]; + break; + + case 0xae: + m_valueresponse = oldsplus_ae[m_value0]; + break; + + case 0x9d: + m_valueresponse = oldsplus_9d[m_value0]; + break; + + case 0x90: + m_valueresponse = oldsplus_90[m_value0]; + break; + + case 0x8c: + m_valueresponse = oldsplus_8c[m_value0]; + break; + + default: + m_valueresponse = 0x990000; + printf("%06X: oldsplus_UNKNOWN W CMD %X VAL %X\n", pc,m_value1,m_value0); + break; + } +} + +void pgm_arm_type1_state::arm7_type1_sim_w(offs_t offset, u16 data) +{ + const int pc = m_maincpu->pc(); + + if (offset == 0) + { + m_value0 = data; + return; + } + else if (offset == 1) + { + u16 realkey; + if ((data >> 8) == 0xff) + m_valuekey = 0xff00; + realkey = m_valuekey >> 8; + realkey |= m_valuekey; + { + m_valuekey += 0x0100; + m_valuekey &= 0xff00; + if (m_valuekey == 0xff00) + m_valuekey = 0x0100; + } + data ^= realkey; + m_value1 = data; + m_value0 ^= realkey; + + m_ddp3lastcommand = m_value1 & 0xff; + + (this->*arm_sim_handler)(pc); + } + else if (offset == 2) + { + } +} + +u16 pgm_arm_type1_state::arm7_type1_sim_protram_r(offs_t offset) +{ + if (offset == 4) + return m_simregion; + + return 0x0000; +} + +u16 pgm_arm_type1_state::pstars_arm7_type1_sim_protram_r(offs_t offset) +{ + if (offset == 4) //region + return m_region->read(); + else if (offset >= 0x10) //timer + { + const u16 val = m_extra_ram[offset - 0x10]; + if (!machine().side_effects_disabled()) + { + logerror("PSTARS ACCESS COUNTER %6X\n", val); + m_extra_ram[offset - 0x10]--; + } + return val; + } + return 0x0000; +} + + +void pgm_arm_type1_state::init_ddp3() +{ + pgm_basic_init(false); + pgm_py2k2_decrypt(machine()); // yes, it's the same as photo y2k2 + arm_sim_handler = &pgm_arm_type1_state::command_handler_ddp3; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); +} + +void pgm_arm_type1_state::init_ket() +{ + pgm_basic_init(false); + pgm_ket_decrypt(machine()); + arm_sim_handler = &pgm_arm_type1_state::command_handler_ddp3; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x400000, 0x400005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); +} + +void pgm_arm_type1_state::init_espgal() +{ + pgm_basic_init(false); + pgm_espgal_decrypt(machine()); + arm_sim_handler = &pgm_arm_type1_state::command_handler_ddp3; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x400000, 0x400005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); +} + + +int count_bits(u16 value) +{ + int count = 0; + for (int i = 0; i < 16; i++) + { + int bit = (value >> i) & 1; + + if (bit) count++; + } + + return count; +} + +int get_position_of_bit(u16 value, int bit_wanted) +{ + int count = 0; + for (int i = 0; i < 16; i++) + { + int bit = (value >> i) & 1; + + if (bit) count++; + + if (count==(bit_wanted+1)) + return i; + } + + return -1; +} + +int pgm_arm_type1_state::puzzli2_take_leveldata_value(u8 datvalue) +{ + if (stage == -1) + { + entries_left = 0; + currentcolumn = 0; + currentrow = 0; + num_entries = 0; + full_entry = 0; + prev_tablloc = 0; + numbercolumns = 0; + depth = 0; + m_row_bitmask = 0; + + puzzli2_printf("%02x <- table offset\n", datvalue); + tableoffs = datvalue; + tableoffs2 = 0; + stage = 0; + } + else + { + u8 rawvalue = datvalue; + u8 tableloc = (tableoffs+tableoffs2) & 0xff; + rawvalue ^= puzzli2_level_decode[tableloc]; + + tableoffs2++; + tableoffs2 &= 0xf; + + if (stage == 0) + { + stage = 1; + + // this seems to be the first thing returned back when reading the level structure always seems to be 0x8 or 0x7, makes sense, levels would be too difficult otherwise ;-) (actually puzzli2 seems to have one specifying 5 unless it's a decrypt table error?!) + depth = (rawvalue & 0xf0); + numbercolumns = (rawvalue & 0x0f); + numbercolumns++; + + puzzli2_printf("%02x <- Sizes (level depth %01x) (number of columns %01x)", rawvalue, depth>>4, numbercolumns); + + if ((depth != 0x80) && (depth != 0x70) && (depth != 0x50)) + fatalerror("depth isn't 0x5, 0x7 or 0x8"); + + // it seems to use this to specify the number of columns, ie how many data structures follow, so that the ARM knows when to send back the 'finished' flag. + // it also gets returned at the end with said flag + if ((numbercolumns != 0x6) && (numbercolumns != 0x7) && (numbercolumns != 0x8)) + fatalerror("number of columns specified isn't 6,7, or 8"); + + puzzli2_printf("\n"); + + } + else if (stage == 1) + { + puzzli2_printf("%02x <- Number of Entries for this Column (and upper mask) (column is %d) (xor table location is %02x) ", rawvalue, currentcolumn, tableloc); + stage = 2; + entries_left = (rawvalue >> 4); + m_row_bitmask = (rawvalue & 0x0f)<<8; + + full_entry = rawvalue; + prev_tablloc = tableloc; + + num_entries = entries_left; + + if (num_entries == 0x00) + { + puzzli2_printf("0 entries for this column?"); // seems a valid condition based on the data + } + + puzzli2_printf("\n"); + } + else if (stage == 2) + { + puzzli2_printf("%02x <- Mask value equal to number of entries (xor table location is %02x)", rawvalue, tableloc); + stage = 3; + + m_row_bitmask |= rawvalue; + + int num_mask_bits = count_bits(m_row_bitmask); + + if (num_mask_bits != num_entries) + puzzli2_printf(" error - number of mask bits != number of entries - "); + + // + if (entries_left == 0) + { + // for 0 entries skip back to state 1 instead of 3, because there is nothing following + stage = 1; + currentcolumn++; + currentrow = 0; + m_row_bitmask = 0; + + coverage[tableloc] = 1; + if (rawvalue != 0) + { + puzzli2_printf(" invalid mask after 00 length?"); + // attempt to correct the table + //new_puzzli2_level_decode[tableloc] = new_puzzli2_level_decode[tableloc] ^ rawvalue; + + } + coverage[prev_tablloc] = 1; + if (full_entry != 0) + { + puzzli2_printf(" previous value wasn't 0x00"); + } + + if (currentcolumn == numbercolumns) + { + return 1; + } + + } + else + { + if (num_entries> 0xa) + { + puzzli2_printf(" more than 10 entries?"); + } + else + { + // this isn't a strict rule + // the mask is used so they can specify spaces between elements too without storing the 00 bytes + coverage[tableloc] = 1; + + int desired_mask = 0; + + if (num_entries == 0x00) desired_mask = 0x00; + if (num_entries == 0x01) desired_mask = 0x01; + if (num_entries == 0x02) desired_mask = 0x03; + if (num_entries == 0x03) desired_mask = 0x07; + if (num_entries == 0x04) desired_mask = 0x0f; + if (num_entries == 0x05) desired_mask = 0x1f; + if (num_entries == 0x06) desired_mask = 0x3f; + if (num_entries == 0x07) desired_mask = 0x7f; + if (num_entries == 0x08) desired_mask = 0xff; + if (num_entries == 0x09) desired_mask = 0xff; + if (num_entries == 0x0a) desired_mask = 0xff; + + if (rawvalue != desired_mask) + { + puzzli2_printf(" possible wrong mask?"); + } + + } + + } + + puzzli2_printf("\n"); + + } + else if (stage == 3) + { + u16 object_value; + + // return values + // 0x0100 = normal fish + // 0x0120 = fish in bubble + // 0x0140 = fish in egg + // 0x0160 = buggy fish in egg (displayed as normal fish) + // 0x0180 = fish on hook + // 0x01a0 = fish on hook (uncatchable) + // 0x01c0 - fish on hook (uncatchable) + // 0x01e0 - fish on hook (uncatchable) + + // fish values + // 100 101 102 103 104 105 106 107 108 normal + // 110 - renders as a flashing fish you can't catch? glitches game? + // 111 - repeat of other fish type you can't catch... + + if (rawvalue <= 0x10) // regular fish + { + int fishtype = rawvalue; + puzzli2_printf("%02x <- fish type %d", rawvalue, fishtype); + object_value = 0x0100 + fishtype; + // 0x110 is a flashy fish? might be glitchy and need a special number.. + } + else if (rawvalue <= 0x21) // fish in bubbles + { + int fishtype = rawvalue - 0x11; + puzzli2_printf("%02x <- fish in bubble %d", rawvalue, fishtype); + object_value = 0x0120 + fishtype; + // 0x130 is a flashy fish? might be glitchy and need a special number.. + } + else if (rawvalue <= 0x32) // fish in eggs + { + int fishtype = rawvalue - 0x22; + puzzli2_printf("%02x <- fish in egg %d", rawvalue, fishtype); + object_value = 0x0140 + fishtype; + // 0x150 is a flashy fish? might be glitchy and need a special number.. + + } + else if (rawvalue <= 0x43) // fish on hook cases, seem to be base 0x180 + { + int fishtype = rawvalue - 0x33; + puzzli2_printf("%02x <- fish on hook %d", rawvalue, fishtype); + object_value = 0x0180 + fishtype; + // 0x190 is a flashy fish? might be glitchy and need a special number.. + + } + ////////////////////// special objects follow + else if (rawvalue == 0xd0) {object_value = 0x0200; puzzli2_printf("%02x <- generic bubbles", rawvalue);} + + else if (rawvalue == 0xe0) {object_value = 0x8000; puzzli2_printf("%02x <- solid middle", rawvalue);} + else if (rawvalue == 0xe1) {object_value = 0x8020; puzzli2_printf("%02x <- solid top slant down", rawvalue);} // solid slant top down + else if (rawvalue == 0xe2) {object_value = 0x8040; puzzli2_printf("%02x <- solid top slant up", rawvalue);} // solid slant top up + else if (rawvalue == 0xe3) {object_value = 0x8060; puzzli2_printf("%02x <- solid bottom slant up", rawvalue);} + else if (rawvalue == 0xe4) {object_value = 0x8080; puzzli2_printf("%02x <- solid bottom slant down", rawvalue);} // sold slant bottom up + + else {object_value = 0xffff; puzzli2_printf("%02x <- unknown object", rawvalue);} + + puzzli2_printf(" (xor table location is %02x)\n",tableloc); + + if (object_value == 0xffff) + { + object_value = 0x110; + popmessage("unknown object type %02x\n", rawvalue); + } + + const int realrow = get_position_of_bit(m_row_bitmask, currentrow); + + if (realrow != -1) + level_structure[currentcolumn][realrow] = object_value; + + currentrow++; + + entries_left--; + if (entries_left == 0) + { + stage = 1; + currentcolumn++; + currentrow = 0; + m_row_bitmask = 0; + + if (currentcolumn == numbercolumns) + { + return 1; + } + + } + } + + } + + return 0; +} + + + +void pgm_arm_type1_state::init_puzzli2() +{ + pgm_basic_init(); + + pgm_puzzli2_decrypt(machine()); + arm_sim_handler = &pgm_arm_type1_state::command_handler_puzzli2; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0000, 0x4f003f, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_protram_r))); + m_irq4_disabled = 1; // // doesn't like this irq?? - seems to be RTC related + + hackcount = 0; + hackcount2 = 0; + hack_47_value = 0; + hack_31_table_offset = 0; + +//#define PUZZLI2_LEVEL_STRUCTURE_LOG +#ifdef PUZZLI2_LEVEL_STRUCTURE_LOG + u8 *src2 = (u8 *) (machine().root_device().memregion("maincpu")->base()); + + int offset; + int limit; + for (int i = 0; i < 256; i++) + coverage[i] = 0; + + if (!strcmp(machine().system().name,"puzzli2")) + { + offset = 0x17ab66; + limit = 476; + } + else + { + offset = 0x16c3ca; + limit = 500; + } + + + + + for (int i = 0; i < limit; i++) + { + u32 val1 = (src2[offset+1]<<24) | (src2[offset+0] << 16) | (src2[offset+3]<<8) | (src2[offset+2] << 0); + offset += 4; + u32 val2 = (src2[offset+1]<<24) | (src2[offset+0] << 16) | (src2[offset+3]<<8) | (src2[offset+2] << 0); + + + printf("(%d) data range %08x %08x\n", i, val1, val2); + + int x = 0; + + stage = -1; + + for (x = val1; x < val2; x++) + { + int end = puzzli2_take_leveldata_value(src2[x^1]); + + if (end) + { + printf("--- ended at %08x (val 2 was %08x)\n",x ,val2); + + if ( (val2-x) > 2 ) + { + fatalerror("ended even earlier than padding byte\n"); + } + else if ( (val2-x) == 2) + { + printf("ended with padding byte\n"); + } + else if ( (val2-x) == 1) + { + printf("ended normally\n"); + } + else // can't happen + { + fatalerror("ended after marker?!\n"); + } + + x = val2; + } + + } + + printf("total number of valid columns was %02x\n", currentcolumn); + + if ((currentcolumn != 0x6) && (currentcolumn != 0x7) && (currentcolumn != 0x8)) // 5 is suspicious + fatalerror("invalid number of columns?\n"); + + if (numbercolumns != currentcolumn) + fatalerror("mismatch in number of columns vs specified amount\n"); + + printf("\n"); + + + } + + +#endif + +#if 0 + if (!strcmp(machine().system().name,"puzzli2")) + { + u8 *src3 = (u8 *) (machine().root_device().memregion("maincpu")->base()); + printf("how to play data pointer %02x %02x %02x %02x\n", src3[0x17b28e ^1], src3[0x17b28f ^1], src3[0x17b290 ^1], src3[0x17b291 ^1]); + src3[0x17b28e ^1] = 0x00; + src3[0x17b28f ^1] = 0x11; + src3[0x17b290 ^1] = 0x42; + src3[0x17b291 ^1] = 0x40; + } + + + pgm_puzzli2_decrypt(machine()); + + { + u8 *ROM = (u8*)memregion("maincpu")->base(); + + FILE *fp; + char filename[256]; + sprintf(filename,"trojan_%s", machine().system().name); + fp=fopen(filename, "w+b"); + if (fp) + { + fwrite(ROM+0x100000, 0x200000, 1, fp); + fclose(fp); + } + } + + + pgm_puzzli2_decrypt(machine()); +#endif +} + +void pgm_arm_type1_state::init_py2k2() +{ + pgm_basic_init(); + pgm_py2k2_decrypt(machine()); + arm_sim_handler = &pgm_arm_type1_state::command_handler_py2k2; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0000, 0x4f003f, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_protram_r))); + + m_py2k2_sprite_pos = 0; + m_py2k2_sprite_base = 0; + m_py2k2_prev_base = 0; + save_item(NAME(m_py2k2_sprite_pos)); + save_item(NAME(m_py2k2_sprite_base)); + save_item(NAME(m_py2k2_prev_base)); +} + +void pgm_arm_type1_state::init_pgm3in1() +{ + pgm_basic_init(); + pgm_decrypt_pgm3in1(machine()); + arm_sim_handler = &pgm_arm_type1_state::command_handler_py2k2; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005,read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0000, 0x4f003f, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_protram_r))); + m_irq4_disabled = 1; // // doesn't like this irq?? +} + +void pgm_arm_type1_state::init_pstar() +{ + pgm_basic_init(); + pgm_pstar_decrypt(machine()); + arm7_type1_latch_init(); + + m_pstar_e7_value = 0; + m_pstar_b1_value = 0; + m_pstar_ce_value = 0; + m_extra_ram[0] = 0; + m_extra_ram[1] = 0; + m_extra_ram[2] = 0; + memset(m_slots, 0, 16 * sizeof(u32)); + + arm_sim_handler = &pgm_arm_type1_state::command_handler_pstars; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0000, 0x4f003f, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::pstars_arm7_type1_sim_protram_r))); + + save_item(NAME(m_pstar_e7_value)); + save_item(NAME(m_pstar_b1_value)); + save_item(NAME(m_pstar_ce_value)); + save_item(NAME(m_extra_ram)); +} + +void pgm_arm_type1_state::init_kov() +{ + pgm_basic_init(); + pgm_kov_decrypt(machine()); + arm7_type1_latch_init(); + m_curslots = 0; + m_kov_c0_value = 0; + m_kov_cb_value = 0; + m_kov_fe_value = 0; + arm_sim_handler = &pgm_arm_type1_state::command_handler_kov; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0000, 0x4f003f, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_protram_r))); +} + +void pgm_arm_type1_state::init_kovboot() +{ + pgm_basic_init(); +// pgm_kov_decrypt(machine()); + arm7_type1_latch_init(); + m_curslots = 0; + m_kov_c0_value = 0; + m_kov_cb_value = 0; + m_kov_fe_value = 0; + arm_sim_handler = &pgm_arm_type1_state::command_handler_kov; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0000, 0x4f003f, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_protram_r))); + +} + +void pgm_arm_type1_state::init_oldsplus() +{ + pgm_basic_init(); + pgm_oldsplus_decrypt(machine()); + arm7_type1_latch_init(); + memset(m_extra_ram, 0, 0x100 * sizeof(u16)); + memset(m_slots, 0, 0x100 * sizeof(u32)); + arm_sim_handler = &pgm_arm_type1_state::command_handler_oldsplus; + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x500000, 0x500005, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_r)), write16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x4f0000, 0x4f003f, read16sm_delegate(*this, FUNC(pgm_arm_type1_state::arm7_type1_sim_protram_r))); + save_item(NAME(m_extra_ram)); +} + +INPUT_PORTS_START( photoy2k ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x00ff, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( World ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x00ff, "Untouched" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( photoy2kj ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x0002, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( World ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x00ff, "Untouched" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( kovsh ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x00ff, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) + PORT_CONFSETTING( 0x00ff, "Untouched" ) // don't hack the region +INPUT_PORTS_END + + + +INPUT_PORTS_START( sango ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0005, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) +INPUT_PORTS_END + +INPUT_PORTS_START( sango_ch ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0000, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( oldsplus ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0001, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( Japan ) ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) + PORT_CONFSETTING( 0x0006, DEF_STR( Taiwan ) ) +INPUT_PORTS_END + +INPUT_PORTS_START( pstar ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0005, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) +INPUT_PORTS_END + +INPUT_PORTS_START( py2k2 ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0003, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( World ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0006, "Singapore, Malaysia" ) +INPUT_PORTS_END + +INPUT_PORTS_START( pgm3in1 ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0003, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0003, DEF_STR( World ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( puzzli2 ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0005, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) +INPUT_PORTS_END + + +// CAVE PCB has some input differs; no 3P/4P inputs +INPUT_PORTS_START( espgal ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("P3P4") + PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused + + PORT_MODIFY("Service") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Test") + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service") + PORT_BIT( 0x0ccc, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused + + PORT_MODIFY("DSW") + PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:1" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:2" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0004, IP_ACTIVE_LOW, "SW1:3" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0008, IP_ACTIVE_LOW, "SW1:4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0020, IP_ACTIVE_LOW, "SW1:6" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0040, IP_ACTIVE_LOW, "SW1:7" ) + PORT_DIPUNKNOWN_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( ddp3 ) // No button 4 + PORT_INCLUDE ( espgal ) + + PORT_MODIFY("Service") + PORT_BIT( 0x0300, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused +INPUT_PORTS_END diff --git a/docs/release/src/hbmame/igs/pgmprot_igs027a_type1.h b/docs/release/src/hbmame/igs/pgmprot_igs027a_type1.h new file mode 100644 index 00000000000..85b86aa4bc1 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs027a_type1.h @@ -0,0 +1,156 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi, Xing Xing +#include "pgm.h" + +class pgm_arm_type1_state : public pgm_state +{ +public: + pgm_arm_type1_state(const machine_config &mconfig, device_type type, const char *tag) + : pgm_state(mconfig, type, tag) + , m_arm7_shareram(*this, "arm7_shareram") + , m_prot(*this, "prot") + { + m_curslots = 0; + m_puzzli_54_trigger = 0; + } + + void init_photoy2k(); + void init_kovsh(); + void init_kovshp(); + void init_kovshxas(); + void init_kovlsqh2(); + void init_kovqhsgs(); + void init_ddp3(); + void init_ket(); + void init_espgal(); + void init_puzzli2(); + void init_py2k2(); + void init_pgm3in1(); + void init_pstar(); + void init_kov(); + void init_kovboot(); + void init_oldsplus(); + + void pgm_arm_type1_sim(machine_config &config); + void pgm_arm_type1_cave(machine_config &config); + void pgm_arm_type1(machine_config &config); + +protected: + virtual void machine_start() override; + +private: + /////////////// simulations + u16 m_value0 = 0; + u16 m_value1 = 0; + u16 m_valuekey = 0; + u16 m_ddp3lastcommand = 0; + u32 m_valueresponse = 0; + int m_curslots = 0; + u32 m_slots[0x100]{}; + + // pstars / oldsplus / kov + u16 m_pstar_e7_value = 0; + u16 m_pstar_b1_value = 0; + u16 m_pstar_ce_value = 0; + u16 m_kov_c0_value = 0; + u16 m_kov_cb_value = 0; + u16 m_kov_fe_value = 0; + u16 m_extra_ram[0x100]{}; + // puzzli2 + s32 m_puzzli_54_trigger; + + typedef void (pgm_arm_type1_state::*pgm_arm_sim_command_handler)(int pc); + + pgm_arm_sim_command_handler arm_sim_handler{}; + + /////////////// emulation + u32 m_arm_type1_latch_arm_w = 0; + u32 m_arm_type1_latch_68k_w = 0; + u32 m_arm_type1_counter = 0; + optional_shared_ptr<u32> m_arm7_shareram; + + optional_device<cpu_device> m_prot; + DECLARE_MACHINE_START(pgm_arm_type1); + + u32 arm7_type1_protlatch_r(); + void arm7_type1_protlatch_w(offs_t offset, u32 data, u32 mem_mask); + u16 arm7_type1_68k_protlatch_r(offs_t offset); + void arm7_type1_68k_protlatch_w(offs_t offset, u16 data); + u16 arm7_type1_ram_r(offs_t offset, u16 mem_mask = ~0); + void arm7_type1_ram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u32 arm7_type1_unk_r(); + u32 arm7_type1_exrom_r(); + u32 arm7_type1_shareram_r(offs_t offset, u32 mem_mask = ~0); + void arm7_type1_shareram_w(offs_t offset, u32 data, u32 mem_mask = ~0); + void arm7_type1_latch_init(); + u16 kovsh_fake_region_r(); + void kovshp_asic27a_write_word(offs_t offset, u16 data); + void pgm_decode_kovlsqh2_tiles(); + void pgm_decode_kovlsqh2_sprites(u8 *src ); + void pgm_decode_kovlsqh2_samples(); + void pgm_decode_kovqhsgs_program(); + void pgm_decode_kovqhsgs2_program(); + u16 arm7_type1_sim_r(offs_t offset); + void command_handler_ddp3(int pc); + void command_handler_puzzli2(int pc); + void command_handler_py2k2(int pc); + void command_handler_pstars(int pc); + void command_handler_kov(int pc); + void command_handler_oldsplus(int pc); + void arm7_type1_sim_w(offs_t offset, u16 data); + u16 arm7_type1_sim_protram_r(offs_t offset); + u16 pstars_arm7_type1_sim_protram_r(offs_t offset); + int m_simregion = 0; + + /* puzzli2 protection internal state stuff */ + int stage = 0; + int tableoffs = 0; + int tableoffs2 = 0; + int entries_left = 0; + int currentcolumn = 0; + int currentrow = 0; + int num_entries = 0; + int full_entry = 0; + int prev_tablloc = 0; + int numbercolumns = 0; + int depth = 0; + u16 m_row_bitmask = 0; + int hackcount = 0; + int hackcount2 = 0; + int hack_47_value = 0; + int hack_31_table_offset = 0; + int hack_31_table_offset2 = 0; + int p2_31_retcounter = 0; + + u8 coverage[256]{}; // coverage is how much of the table we've managed to verify using known facts about the table structure + + int command_31_write_type = 0; + + // py2k2 protection related + u16 m_py2k2_sprite_pos = 0; + u16 m_py2k2_sprite_base = 0; + u16 m_py2k2_prev_base = 0; + + // the maximum level size returned or read by the device appears to be this size + u16 level_structure[8][10]{}; + + + int puzzli2_take_leveldata_value(u8 datvalue); + void _55857E_arm7_map(address_map &map); + void cavepgm_mem(address_map &map); + void kov_map(address_map &map); + void kov_sim_map(address_map &map); +}; + +INPUT_PORTS_EXTERN( sango ); +INPUT_PORTS_EXTERN( sango_ch ); +INPUT_PORTS_EXTERN( photoy2k ); +INPUT_PORTS_EXTERN( photoy2kj ); +INPUT_PORTS_EXTERN( oldsplus ); +INPUT_PORTS_EXTERN( pstar ); +INPUT_PORTS_EXTERN( py2k2 ); +INPUT_PORTS_EXTERN( pgm3in1 ); +INPUT_PORTS_EXTERN( puzzli2 ); +INPUT_PORTS_EXTERN( kovsh ); +INPUT_PORTS_EXTERN( ddp3 ); +INPUT_PORTS_EXTERN( espgal ); diff --git a/docs/release/src/hbmame/igs/pgmprot_igs027a_type2.cpp b/docs/release/src/hbmame/igs/pgmprot_igs027a_type2.cpp new file mode 100644 index 00000000000..5c76a8e6967 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs027a_type2.cpp @@ -0,0 +1,330 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi, Xing Xing +/*********************************************************************** + PGM IGS027A ARM protection emulation - type 2 + + + these are emulation of the 'kov2' type ARM device + used by + + Knights of Valor 2 (kov2) + Knights of Valor 2 Nine Dragons (kov2p) + DoDonPachi 2 - Bee Storm (ddp2) + Martial Masters (martmast) + Dragon World 2001 (dw2001) + Dragon World Pretty Chance (dwpc) (verified to be the same internal rom as dw2001) + + ---- + + These games use a larger region of shared RAM than the earlier + type and have a communication based on interrupts + + ---- + + All of these games have an external ARM rom. + + The external ARM roms are encrypted, the internal ARM rom uploads + the decryption tables. + + The external ARM rom is checksummed + + Game Region is supplied by internal ARM rom. + + ***********************************************************************/ + +#include "emu.h" +#include "pgm.h" +#include "pgmprot_igs027a_type2.h" + +#define LOG_PROT (1U << 1) +#define LOG_ALL (LOG_PROT) + +#define VERBOSE (0) +#include "logmacro.h" + +#define LOGPROT(...) LOGMASKED(LOG_PROT, __VA_ARGS__) + +u32 pgm_arm_type2_state::arm7_latch_arm_r(offs_t offset, u32 mem_mask) +{ + if (!machine().side_effects_disabled()) + m_prot->set_input_line(ARM7_FIRQ_LINE, CLEAR_LINE ); // guess + + LOGPROT("%s ARM7: Latch read: %08x (%08x)\n", machine().describe_context(), m_kov2_latchdata_68k_w, mem_mask); + return m_kov2_latchdata_68k_w; +} + +void pgm_arm_type2_state::arm7_latch_arm_w(offs_t offset, u32 data, u32 mem_mask) +{ + LOGPROT("%s ARM7: Latch write: %08x (%08x)\n", machine().describe_context(), data, mem_mask); + + COMBINE_DATA(&m_kov2_latchdata_arm_w); +} + +u32 pgm_arm_type2_state::arm7_shareram_r(offs_t offset, u32 mem_mask) +{ + LOGPROT("%s ARM7: ARM7 Shared RAM Read: %04x = %08x (%08x)\n", machine().describe_context(), offset << 2, m_arm7_shareram[offset], mem_mask); + return m_arm7_shareram[offset]; +} + +void pgm_arm_type2_state::arm7_shareram_w(offs_t offset, u32 data, u32 mem_mask) +{ + LOGPROT("%s ARM7: ARM7 Shared RAM Write: %04x = %08x (%08x)\n", machine().describe_context(), offset << 2, data, mem_mask); + COMBINE_DATA(&m_arm7_shareram[offset]); +} + +u16 pgm_arm_type2_state::arm7_latch_68k_r(offs_t offset, u16 mem_mask) +{ + LOGPROT("%s M68K: Latch read: %04x (%04x)\n", machine().describe_context(), m_kov2_latchdata_arm_w & 0x0000ffff, mem_mask); + return m_kov2_latchdata_arm_w; +} + +void pgm_arm_type2_state::arm7_latch_68k_w(offs_t offset, u16 data, u16 mem_mask) +{ + LOGPROT("%s M68K: Latch write: %04x (%04x)\n", machine().describe_context(), data & 0x0000ffff, mem_mask); + COMBINE_DATA(&m_kov2_latchdata_68k_w); + + m_prot->set_input_line(ARM7_FIRQ_LINE, ASSERT_LINE ); // guess +} + +u16 pgm_arm_type2_state::arm7_ram_r(offs_t offset, u16 mem_mask) +{ + const u16 *share16 = reinterpret_cast<u16 *>(m_arm7_shareram.target()); + + LOGPROT("%s M68K: ARM7 Shared RAM Read: %04x = %04x (%08x)\n", machine().describe_context(), BYTE_XOR_LE(offset), share16[BYTE_XOR_LE(offset)], mem_mask); + return share16[BYTE_XOR_LE(offset)]; +} + +void pgm_arm_type2_state::arm7_ram_w(offs_t offset, u16 data, u16 mem_mask) +{ + u16 *share16 = reinterpret_cast<u16 *>(m_arm7_shareram.target()); + + LOGPROT("%s M68K: ARM7 Shared RAM Write: %04x = %04x (%04x)\n", machine().describe_context(), BYTE_XOR_LE(offset), data, mem_mask); + COMBINE_DATA(&share16[BYTE_XOR_LE(offset)]); +} + +/* 55857F? */ +/* Knights of Valor 2, Martial Masters, DoDonpachi 2 */ +/* no execute only space? */ +void pgm_arm_type2_state::kov2_mem(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x5fffff).bankr("bank1"); /* Game ROM */ + map(0xd00000, 0xd0ffff).mirror(0x0e0000).rw(FUNC(pgm_arm_type2_state::arm7_ram_r), FUNC(pgm_arm_type2_state::arm7_ram_w)); /* ARM7 Shared RAM */ + map(0xd10000, 0xd10001).mirror(0x0e0000).rw(FUNC(pgm_arm_type2_state::arm7_latch_68k_r), FUNC(pgm_arm_type2_state::arm7_latch_68k_w)); /* ARM7 Latch */ +} + + +void pgm_arm_type2_state::_55857F_arm7_map(address_map &map) +{ + map(0x00000000, 0x00003fff).rom(); + map(0x08000000, 0x083fffff).rom().region("user1", 0); + map(0x10000000, 0x100003ff).ram(); + map(0x18000000, 0x1800ffff).ram().share("arm_ram"); + map(0x38000000, 0x38000003).rw(FUNC(pgm_arm_type2_state::arm7_latch_arm_r), FUNC(pgm_arm_type2_state::arm7_latch_arm_w)); /* 68k Latch */ + map(0x48000000, 0x4800ffff).rw(FUNC(pgm_arm_type2_state::arm7_shareram_r), FUNC(pgm_arm_type2_state::arm7_shareram_w)).share("arm7_shareram"); + map(0x50000000, 0x500003ff).ram(); +} + +/******* ARM 55857F *******/ + +void pgm_arm_type2_state::pgm_arm_type2(machine_config &config) // ARM7 Shared motherboard XTAL +{ + pgmbase(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_arm_type2_state::kov2_mem); + + /* protection CPU */ + ARM7(config, m_prot, 20000000); // 55857F + m_prot->set_addrmap(AS_PROGRAM, &pgm_arm_type2_state::_55857F_arm7_map); +} + +void pgm_arm_type2_state::pgm_arm_type2_22m(machine_config &config) // ARM7 uses 22MHz XTAL (martmast dw2001 dwpc) +{ + pgm_arm_type2(config); + + m_prot->set_clock(22000000); +} + + +void pgm_arm_type2_state::kov2_latch_init() +{ + m_kov2_latchdata_68k_w = 0; + m_kov2_latchdata_arm_w = 0; + + save_item(NAME(m_kov2_latchdata_68k_w)); + save_item(NAME(m_kov2_latchdata_arm_w)); +} + +void pgm_arm_type2_state::kov2_arm_region_w(offs_t offset, u32 data, u32 mem_mask) +{ + const int pc = m_prot->pc(); + const int regionhack = m_regionhack->read(); + if (pc == 0x190 && regionhack != 0xff) data = (data & 0xffff0000) | (regionhack << 0); + COMBINE_DATA(&m_arm7_shareram[0x138/4]); +} + +void pgm_arm_type2_state::kov2p_arm_region_w(offs_t offset, u32 data, u32 mem_mask) +{ + const int pc = m_prot->pc(); + const int regionhack = m_regionhack->read(); +// printf("%08x\n", pc); + if (pc == 0x1b0 && regionhack != 0xff) data = (data & 0xffff0000) | (regionhack << 0); + COMBINE_DATA(&m_arm7_shareram[0x138/4]); +} + + +void pgm_arm_type2_state::init_kov2() +{ + pgm_basic_init(); + pgm_kov2_decrypt(machine()); + kov2_latch_init(); + + // we only have a HK internal ROM dumped for now, allow us to override that for debugging purposes. + m_prot->space(AS_PROGRAM).install_write_handler(0x48000138, 0x4800013b, write32s_delegate(*this, FUNC(pgm_arm_type2_state::kov2_arm_region_w))); +} + + +void pgm_arm_type2_state::init_kov2p() +{ + // this hacks the identification of the kov2 rom to return the string required for kov2p + // this isn't guaranteed to work properly (and definitely wouldn't on real hardware due to the internal + // ROM uploading the encryption table) The internal ROM should be dumped properly. + pgm_basic_init(); + pgm_kov2p_decrypt(machine()); + kov2_latch_init(); + + // we only have a China internal ROM dumped for now, allow us to override that for debugging purposes. + m_prot->space(AS_PROGRAM).install_write_handler(0x48000138, 0x4800013b, write32s_delegate(*this, FUNC(pgm_arm_type2_state::kov2p_arm_region_w))); +} + +void pgm_arm_type2_state::martmast_arm_region_w(offs_t offset, u32 data, u32 mem_mask) +{ + const int pc = m_prot->pc(); + const int regionhack = m_regionhack->read(); + if (pc == 0x170 && regionhack != 0xff) data = (data & 0xffff0000) | (regionhack << 0); + COMBINE_DATA(&m_arm7_shareram[0x138/4]); +} + + +void pgm_arm_type2_state::init_martmast() +{ + pgm_basic_init(); + pgm_mm_decrypt(machine()); + kov2_latch_init(); + + // we only have a USA / CHINA internal ROMs dumped for now, allow us to override that for debugging purposes. + m_prot->space(AS_PROGRAM).install_write_handler(0x48000138, 0x4800013b, write32s_delegate(*this, FUNC(pgm_arm_type2_state::martmast_arm_region_w))); +} + + +u32 pgm_arm_type2_state::ddp2_speedup_r(address_space &space) +{ + const int pc = m_prot->pc(); + const u32 data = m_arm_ram[0x300c/4]; + + if (pc == 0x080109b4) + { + /* if we've hit the loop where this is read and both values are 0 then the only way out is an interrupt */ + int r4 = (m_prot->state_int(ARM7_R4)); + r4 += 0xe; + + if (r4 == 0x18002f9e) + { + const u32 data2 = m_arm_ram[0x2F9C/4] & 0xffff0000; + if ((data == 0x00000000) && (data2 == 0x00000000)) space.device().execute().spin_until_interrupt(); + } + } + + return data; +} + +u16 pgm_arm_type2_state::ddp2_main_speedup_r() +{ + const u16 data = m_mainram[0x0ee54/2]; + const int pc = m_maincpu->pc(); + + if (pc == 0x149dce) m_maincpu->spin_until_interrupt(); + if (pc == 0x149cfe) m_maincpu->spin_until_interrupt(); + + return data; + +} + +void pgm_arm_type2_state::init_ddp2() +{ + pgm_basic_init(); + pgm_ddp2_decrypt(machine()); + kov2_latch_init(); + + m_prot->space(AS_PROGRAM).install_read_handler(0x1800300c, 0x1800300f, read32mo_delegate(*this, FUNC(pgm_arm_type2_state::ddp2_speedup_r))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x80ee54, 0x80ee55, read16smo_delegate(*this, FUNC(pgm_arm_type2_state::ddp2_main_speedup_r))); +} + + +void pgm_arm_type2_state::init_dw2001() +{ + pgm_basic_init(); + kov2_latch_init(); + pgm_mm_decrypt(machine()); // encryption is the same as martial masters +} + +void pgm_arm_type2_state::init_dwpc() +{ + pgm_basic_init(); + pgm_dwpc_decrypt(machine()); + kov2_latch_init(); + + // we only have a JAPAN internal ROM dumped for now, so hack it to allow booting the Chinese version + u8 *armrom = memregion("prot")->base(); + armrom[0x3c8] = 0x01; +} + +void pgm_arm_type2_state::init_dwpc101j() +{ + pgm_basic_init(); + kov2_latch_init(); + pgm_mm_decrypt(machine()); // encryption is the same as martial masters +} + +INPUT_PORTS_START( kov2 ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x00ff, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) // 'Busyou Souha' title for kov2p Japan + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) + PORT_CONFSETTING( 0x00ff, "Untouched" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( martmast ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x00ff, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( Japan ) ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) + PORT_CONFSETTING( 0x0006, "USA (Andamiro USA license)" ) + PORT_CONFSETTING( 0x00ff, "Untouched" ) // don't hack the region +INPUT_PORTS_END + + +INPUT_PORTS_START( dw2001 ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") /* Region - supplied by protection device */ + PORT_CONFNAME( 0x000f, 0x0005, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (Alta license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, DEF_STR( World ) ) +INPUT_PORTS_END diff --git a/docs/release/src/hbmame/igs/pgmprot_igs027a_type2.h b/docs/release/src/hbmame/igs/pgmprot_igs027a_type2.h new file mode 100644 index 00000000000..204688b7e63 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs027a_type2.h @@ -0,0 +1,56 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, ElSemi, Xing Xing + +class pgm_arm_type2_state : public pgm_state +{ +public: + pgm_arm_type2_state(const machine_config &mconfig, device_type type, const char *tag) + : pgm_state(mconfig, type, tag), + m_arm_ram(*this, "arm_ram"), + m_arm7_shareram(*this, "arm7_shareram"), + m_prot(*this, "prot") { + } + void init_kov2(); + void init_kov2p(); + void init_martmast(); + void init_ddp2(); + void init_dw2001(); + void init_dwpc(); + void init_dwpc101j(); + + void pgm_arm_type2(machine_config &config); + void pgm_arm_type2_22m(machine_config &config); + +private: + // kov2 + u32 m_kov2_latchdata_68k_w = 0; + u32 m_kov2_latchdata_arm_w = 0; + + required_shared_ptr<u32> m_arm_ram; + required_shared_ptr<u32> m_arm7_shareram; + + optional_device<cpu_device> m_prot; + + u32 arm7_latch_arm_r(offs_t offset, u32 mem_mask = ~0); + void arm7_latch_arm_w(offs_t offset, u32 data, u32 mem_mask = ~0); + u32 arm7_shareram_r(offs_t offset, u32 mem_mask = ~0); + void arm7_shareram_w(offs_t offset, u32 data, u32 mem_mask = ~0); + u16 arm7_latch_68k_r(offs_t offset, u16 mem_mask = ~0); + void arm7_latch_68k_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 arm7_ram_r(offs_t offset, u16 mem_mask = ~0); + void arm7_ram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void kov2_latch_init(); + void martmast_arm_region_w(offs_t offset, u32 data, u32 mem_mask = ~0); + void kov2_arm_region_w(offs_t offset, u32 data, u32 mem_mask = ~0); + void kov2p_arm_region_w(offs_t offset, u32 data, u32 mem_mask = ~0); + u32 ddp2_speedup_r(address_space &space); + u16 ddp2_main_speedup_r(); + void _55857F_arm7_map(address_map &map); + void kov2_mem(address_map &map); +}; + +/* simulations (or missing) */ +INPUT_PORTS_EXTERN( ddp2 ); +INPUT_PORTS_EXTERN( kov2 ); +INPUT_PORTS_EXTERN( martmast ); +INPUT_PORTS_EXTERN( dw2001 ); diff --git a/docs/release/src/hbmame/igs/pgmprot_igs027a_type3.cpp b/docs/release/src/hbmame/igs/pgmprot_igs027a_type3.cpp new file mode 100644 index 00000000000..127ad407534 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs027a_type3.cpp @@ -0,0 +1,869 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, Xing Xing +/*********************************************************************** + PGM IGS027A ARM protection emulation + + These all use the 55857G type chips + + these are emulation of the 'dmnfrnt' type ARM device + used by + + Demon Front (dmnfrnt) *1 + The Gladiator (theglad) *2 + Spectral vs. Generation (svg) *2 + Happy 6-in-1 (happy6) *4 + The Killing Blade Plus (killbldp) *3 + + + *1 - We bypass the internal ROM entirely! Game doesn't jump back + *2 - Partial dump of internal ROM is used (currently only dumped from a Japan PCB, patched for other types) The missing code from the EO area is replaced with our own fake code with the same function + *3 - Complete dump of IGS027A ROM sourced from a bootleg, looks to be legitimate. + *4 - not yet working + + ---- + + These games use a larger amount of shared RAM which is banked between CPUs compared to previous protection CPUs + + In most cases the games run almost entirely on the ARM with the 68k just parsing the display lists / feeding inputs to the ARM + + ---- + + All of these games have an external ARM rom. + + The internal ROMs contain an 'execute only' region at the start of the + ROM which prevents reading out. + + IGS027A type 55857G has also been seen on various IGS gambling boards + as the main CPU (eg. Haunted House, see igs_m027a) + + 55857G is also used on the Cave single board PGM systems, but in those + cases it behaves like the 55857E (pgmprot1.c) + + Most of these games run almost entirely on the ARM, simply passing display lists back to the 68k to process and reading inputs from the 68k into the shared RAM. + + ***********************************************************************/ + +#include "emu.h" +#include "pgm.h" +#include "pgmprot_igs027a_type3.h" + +#define LOG_PROT (1U << 1) +#define LOG_ALL (LOG_PROT) + +#define VERBOSE (0) +#include "logmacro.h" + +#define LOGPROT(...) LOGMASKED(LOG_PROT, __VA_ARGS__) + +void pgm_arm_type3_state::svg_arm7_ram_sel_w(u32 data) +{ +// printf("svg_arm7_ram_sel_w %08x\n", data); + machine().scheduler().synchronize(); // force resync + m_svg_ram_sel = data & 1; +} + +u32 pgm_arm_type3_state::svg_arm7_shareram_r(offs_t offset) +{ + const u32 retdata = m_svg_shareram[m_svg_ram_sel & 1][offset]; +// logerror("%s ARM7: shared read (bank %02x) offset - %08x retdata - %08x mask - %08x\n", machine().describe_context(), m_svg_ram_sel, offset*4, retdata, mem_mask ); + return retdata; +} + +void pgm_arm_type3_state::svg_arm7_shareram_w(offs_t offset, u32 data, u32 mem_mask) +{ +// logerror("%s ARM7: shared write (bank %02x) offset - %08x retdata - %08x mask - %08x\n", machine().describe_context(), m_svg_ram_sel, offset*4, data, mem_mask ); + COMBINE_DATA(&m_svg_shareram[m_svg_ram_sel & 1][offset]); +} + +u16 pgm_arm_type3_state::svg_m68k_ram_r(offs_t offset) +{ + const int ram_sel = (m_svg_ram_sel & 1) ^ 1; + const u16 *share16 = (u16 *)(m_svg_shareram[ram_sel & 1].get()); + + return share16[BYTE_XOR_LE(offset)]; +} + +void pgm_arm_type3_state::svg_m68k_ram_w(offs_t offset, u16 data, u16 mem_mask) +{ + const int ram_sel = (m_svg_ram_sel & 1) ^ 1; + u16 *share16 = (u16 *)(m_svg_shareram[ram_sel & 1].get()); + + COMBINE_DATA(&share16[BYTE_XOR_LE(offset)]); +} + +u16 pgm_arm_type3_state::svg_68k_nmi_r() +{ + return 0; +} + +void pgm_arm_type3_state::svg_68k_nmi_w(u16 data) +{ + m_prot->pulse_input_line(ARM7_FIRQ_LINE, m_prot->minimum_quantum_time()); +} + +void pgm_arm_type3_state::svg_latch_68k_w(offs_t offset, u16 data, u16 mem_mask) +{ + LOGPROT("M68K: Latch write: %04x (%04x) %s\n", data & 0x0000ffff, mem_mask, machine().describe_context()); + COMBINE_DATA(&m_svg_latchdata_68k_w); +} + + +u16 pgm_arm_type3_state::svg_latch_68k_r(offs_t offset, u16 mem_mask) +{ + LOGPROT("M68K: Latch read: %04x (%04x) %s\n", m_svg_latchdata_arm_w & 0x0000ffff, mem_mask, machine().describe_context()); + return m_svg_latchdata_arm_w; +} + + +u32 pgm_arm_type3_state::svg_latch_arm_r(offs_t offset, u32 mem_mask) +{ + LOGPROT("ARM7: Latch read: %08x (%08x) %s\n", m_svg_latchdata_68k_w, mem_mask, machine().describe_context()); + return m_svg_latchdata_68k_w; +} + +void pgm_arm_type3_state::svg_latch_arm_w(offs_t offset, u32 data, u32 mem_mask) +{ + LOGPROT("ARM7: Latch write: %08x (%08x) %s\n", data, mem_mask, machine().describe_context()); + + COMBINE_DATA(&m_svg_latchdata_arm_w); +} + +/* 55857G? */ +/* Demon Front, The Gladiator, Happy 6-in-1, Spectral Vs. Generation, Killing Blade EX */ +/* the ones with an EXECUTE ONLY region of ARM space? */ +void pgm_arm_type3_state::svg_68k_mem(address_map &map) +{ + pgm_mem(map); + map(0x100000, 0x1fffff).bankr("bank1"); /* Game ROM */ + + map(0x500000, 0x51ffff).mirror(0x020000).rw(FUNC(pgm_arm_type3_state::svg_m68k_ram_r), FUNC(pgm_arm_type3_state::svg_m68k_ram_w)); /* ARM7 Shared RAM */ + map(0x5c0000, 0x5c0001).rw(FUNC(pgm_arm_type3_state::svg_68k_nmi_r), FUNC(pgm_arm_type3_state::svg_68k_nmi_w)); /* ARM7 FIQ */ + map(0x5c0300, 0x5c0301).rw(FUNC(pgm_arm_type3_state::svg_latch_68k_r), FUNC(pgm_arm_type3_state::svg_latch_68k_w)); /* ARM7 Latch */ +} + + +void pgm_arm_type3_state::_55857G_arm7_map(address_map &map) +{ + map(0x00000000, 0x00003fff).rom(); + map(0x08000000, 0x087fffff).rom().region("user1", 0); + map(0x10000000, 0x100003ff).ram().share("arm_ram2"); + map(0x18000000, 0x1803ffff).ram().share("arm_ram"); + map(0x38000000, 0x3801ffff).rw(FUNC(pgm_arm_type3_state::svg_arm7_shareram_r), FUNC(pgm_arm_type3_state::svg_arm7_shareram_w)); + map(0x48000000, 0x48000003).rw(FUNC(pgm_arm_type3_state::svg_latch_arm_r), FUNC(pgm_arm_type3_state::svg_latch_arm_w)); /* 68k Latch */ + map(0x40000018, 0x4000001b).w(FUNC(pgm_arm_type3_state::svg_arm7_ram_sel_w)); /* RAM SEL */ + map(0x50000000, 0x500003ff).ram(); +} + + +void pgm_arm_type3_state::machine_reset() +{ + // internal roms aren't fully dumped + u16 *temp16 = (u16 *)memregion("prot")->base(); + int base = -1; + + if (!strcmp(machine().system().name, "theglad")) base = 0x3316; + if (!strcmp(machine().system().name, "theglad100")) base = 0x3316; + if (!strcmp(machine().system().name, "theglad101")) base = 0x3316; + if (!strcmp(machine().system().name, "theglad104")) base = 0x3316; + if (!strcmp(machine().system().name, "happy6")) base = 0x3586; + if (!strcmp(machine().system().name, "happy6101")) base = 0x3586; + if (!strcmp(machine().system().name, "happy6100hk")) base = 0x3586; + if (!strcmp(machine().system().name, "svgpcb")) base = 0x3a8e; + if (!strcmp(machine().system().name, "svg")) base = 0x3c3e; + if (!strcmp(machine().system().name, "svgtw")) base = 0x3a8e; + if (!strcmp(machine().system().name, "svghk")) base = 0x3a8e; + + if (base != -1) + { + const int regionhack = m_regionhack->read(); + if (regionhack != 0xff) + { +// printf("%04x\n", temp16[(base) / 2]); + temp16[(base) / 2] = regionhack; base += 2; + } + } + pgm_state::machine_reset(); +} + + +/******* ARM 55857G *******/ + +void pgm_arm_type3_state::pgm_arm_type3(machine_config &config) // ARM7 Shared motherboard XTAL +{ + pgmbase(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &pgm_arm_type3_state::svg_68k_mem); + + /* protection CPU */ + ARM7(config, m_prot, 20000000); // 55857G + m_prot->set_addrmap(AS_PROGRAM, &pgm_arm_type3_state::_55857G_arm7_map); +} + +void pgm_arm_type3_state::pgm_arm_type3_22m(machine_config &config) // ARM7 uses 22MHz XTAL (dmnfrnt theglad) +{ + pgm_arm_type3(config); + + m_prot->set_clock(22000000); +} + +void pgm_arm_type3_state::pgm_arm_type3_24m(machine_config &config) // ARM7 uses 24MHz XTAL (dmnfrntpcb happy6) +{ + pgm_arm_type3(config); + + m_prot->set_clock(24000000); +} + +void pgm_arm_type3_state::pgm_arm_type3_33m(machine_config &config) // ARM7 uses 33MHz XTAL (thegladpcb svg) +{ + pgm_arm_type3(config); + + m_prot->set_clock(XTAL(33'000'000)); +} + +void pgm_arm_type3_state::pgm_arm_type3_33_8688m(machine_config &config) // ARM7 uses 33.8688MHz XTAL (killbldp) +{ + pgm_arm_type3(config); + + m_prot->set_clock(XTAL(33'868'800)); +} + + +void pgm_arm_type3_state::svg_basic_init() +{ + pgm_basic_init(); + m_svg_shareram[0] = std::make_unique<u32[]>(0x20000 / 4); // bs616LV1010EC (64K x 16bit) + m_svg_shareram[1] = std::make_unique<u32[]>(0x20000 / 4); // bs616LV1010EC (64K x 16bit) + m_svg_ram_sel = 0; + + save_pointer(NAME(m_svg_shareram[0]), 0x20000 / 4); + save_pointer(NAME(m_svg_shareram[1]), 0x20000 / 4); + save_item(NAME(m_svg_ram_sel)); +} + +void pgm_arm_type3_state::pgm_create_dummy_internal_arm_region(int size) +{ + u16 *temp16 = (u16 *)memregion("prot")->base(); + + // fill with RX 14 + for (int i = 0; i < size / 2; i += 2) + { + temp16[i] = 0xff1e; + temp16[i+1] = 0xe12f; + + } + + // jump straight to external area + temp16[(0x0000)/2] = 0xd088; + temp16[(0x0002)/2] = 0xe59f; + temp16[(0x0004)/2] = 0x0680; + temp16[(0x0006)/2] = 0xe3a0; + temp16[(0x0008)/2] = 0xff10; + temp16[(0x000a)/2] = 0xe12f; + temp16[(0x0090)/2] = 0x0400; + temp16[(0x0092)/2] = 0x1000; +} + +void pgm_arm_type3_state::svg_latch_init() +{ + m_svg_latchdata_68k_w = 0; + m_svg_latchdata_arm_w = 0; + + save_item(NAME(m_svg_latchdata_68k_w)); + save_item(NAME(m_svg_latchdata_arm_w)); +} + +u32 pgm_arm_type3_state::theglad_speedup_r() +{ + const int pc = m_prot->pc(); + if (pc == 0x7c4) m_prot->eat_cycles(500); + //else printf("theglad_speedup_r %08x\n", pc); + return m_arm_ram2[0x00c/4]; +} + + +u32 pgm_arm_type3_state::happy6_speedup_r() +{ + const int pc = m_prot->pc(); + if (pc == 0x0a08) m_prot->eat_cycles(500); + //else printf("theglad_speedup_r %08x\n", pc); + return m_arm_ram2[0x00c/4]; +} + +// installed over rom +u32 pgm_arm_type3_state::svg_speedup_r() +{ + const int pc = m_prot->pc(); + if (pc == 0xb90) m_prot->eat_cycles(500); + return m_armrom[0xb90/4]; +} + +u32 pgm_arm_type3_state::svgpcb_speedup_r() +{ + const int pc = m_prot->pc(); + if (pc == 0x9e0) m_prot->eat_cycles(500); + return m_armrom[0x9e0/4]; +} + + +void pgm_arm_type3_state::pgm_create_dummy_internal_arm_region_theglad(int is_svg) +{ + u16 *temp16 = (u16 *)memregion("prot")->base(); + for (int i = 0; i < 0x188 / 2; i += 2) + { + temp16[i] = 0xFFFE; + temp16[i+1] = 0xEAFF; + } + + // the interrupt code appears to be at 0x08000010 + // so point the FIQ vector to jump there, the actual internal EO area code + // would not look like this because this reads from the EO area to get the jump address which is verified + // as impossible + int base = 0x1c; + temp16[(base) /2] = 0xf000; base += 2; + temp16[(base) /2] = 0xe59f; base += 2; + + if (is_svg == 0) + { + temp16[(base) / 2] = 0x0010; base += 2; + temp16[(base) / 2] = 0x0800; base += 2; + temp16[(base) / 2] = 0x0010; base += 2; + temp16[(base) / 2] = 0x0800; base += 2; + } + else + { + temp16[(base) / 2] = 0x0038; base += 2; + temp16[(base) / 2] = 0x0800; base += 2; + temp16[(base) / 2] = 0x0038; base += 2; + temp16[(base) / 2] = 0x0800; base += 2; + } + + // some startup code to set up the stacks etc. we're assuming + // behavior is basically the same as killing blade plus here, this code + // could be very wrong + base = 0x30; + + temp16[(base) /2] = 0x00D2; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + + temp16[(base) /2] = 0x4001; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x4B06; base += 2; + temp16[(base) /2] = 0xE284; base += 2; + temp16[(base) /2] = 0x0CFA; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xD804; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + temp16[(base) /2] = 0x00D1; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0x0CF6; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xD804; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + temp16[(base) /2] = 0x00D7; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0x0CFF; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xD804; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + temp16[(base) /2] = 0x00DB; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0x4140; base += 2; + temp16[(base) /2] = 0xE1C4; base += 2; + temp16[(base) /2] = 0x0CFE; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xD804; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + temp16[(base) /2] = 0x00D3; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0x4A01; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x0B01; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xD804; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + temp16[(base) /2] = 0x5A0F; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x0008; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x8805; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + temp16[(base) /2] = 0x0010; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x0000; base += 2; + temp16[(base) /2] = 0xE5C8; base += 2; + temp16[(base) /2] = 0x7805; base += 2; + temp16[(base) /2] = 0xE1A0; base += 2; + temp16[(base) /2] = 0x6A01; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x0012; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x0A02; base += 2; + temp16[(base) /2] = 0xE280; base += 2; + temp16[(base) /2] = 0x6806; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + temp16[(base) /2] = 0x6000; base += 2; + temp16[(base) /2] = 0xE587; base += 2; + + // set the SR13 to something sensible + temp16[(base) /2] = 0x00D3; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0x4001; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x4B06; base += 2; + temp16[(base) /2] = 0xE284; base += 2; + temp16[(base) /2] = 0x0CF2; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xD804; base += 2; + temp16[(base) /2] = 0xE080; base += 2; + + temp16[(base) /2] = 0x0013; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + + + temp16[(base) / 2] = 0x0028; base += 2; // jump to 0x184 + temp16[(base) / 2] = 0xEA00; base += 2; + + + base = 0; + temp16[(base) /2] = 0x000a; base += 2; + temp16[(base) /2] = 0xEA00; base += 2; + + // see table at ~080824A4 in The Gladiator (ARM space) + // there are pointers to + // 0000 00FC + // 0000 00E8 + // 0000 0110 + // 0000 0150 + // in the table.. for e8 / fc we can deduce from the calling code and size of the functions expected that they should be the + // same as those in the killing blade plus 'killbldp' (there are also explicit jumps to these addresses in the code) + // + // 0x110 is called after the 'continue' screen, and on inserting coin, I guess it should change the game state, causing it to jump to the title screen when you insert a coin, and back to the attract after the game.. some kind of 'soft reset' + // 0x150 I haven't seen called, I guess it is 0x38 in size because the execute-only area ends at 0x188 + + + base = 0xe8; + temp16[(base) /2] = 0xE004; base += 2; // based on killbldp + temp16[(base) /2] = 0xE52D; base += 2; + temp16[(base) /2] = 0x00D3; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0xE004; base += 2; + temp16[(base) /2] = 0xE49D; base += 2; + temp16[(base) /2] = 0xFF1E; base += 2; + temp16[(base) /2] = 0xE12F; base += 2; + +// base = 0xfc; // already at 0xfc + temp16[(base) /2] = 0xE004; base += 2; // based on killbldp + temp16[(base) /2] = 0xE52D; base += 2; + temp16[(base) /2] = 0x0013; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0xE004; base += 2; + temp16[(base) /2] = 0xE49D; base += 2; + temp16[(base) /2] = 0xFF1E; base += 2; + temp16[(base) /2] = 0xE12F; base += 2; + +// base = 0x110; // already at 0x110 +// temp16[(base) /2] = 0xff1e; base += 2; +// temp16[(base) /2] = 0xe12f; base += 2; +// temp16[(base) /2] = 0xf302; base += 2; +// temp16[(base) /2] = 0xe3a0; base += 2; + // set up stack again, soft-reset reset with a ram variable set to 0 + temp16[(base) /2] = 0x00D1; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0xD0b8; base += 2; + temp16[(base) /2] = 0xE59F; base += 2; + temp16[(base) /2] = 0x00D3; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0xF000; base += 2; + temp16[(base) /2] = 0xE121; base += 2; + temp16[(base) /2] = 0xD0b0; base += 2; + temp16[(base) /2] = 0xE59F; base += 2; + temp16[(base) /2] = 0x10b8; base += 2; + temp16[(base) /2] = 0xE59F; base += 2; + temp16[(base) /2] = 0x0000; base += 2; + temp16[(base) /2] = 0xE3A0; base += 2; + temp16[(base) /2] = 0x0000; base += 2; + temp16[(base) /2] = 0xE581; base += 2; + if (is_svg == 0) + { // jump to start of external rom + temp16[(base) / 2] = 0xF302; base += 2; + temp16[(base) / 2] = 0xE3A0; base += 2; + } + else + { + temp16[(base) / 2] = 0xf0b0; base += 2; + temp16[(base) / 2] = 0xe59f; base += 2; + } + + base = 0x150; + temp16[(base) /2] = 0xff1e; base += 2; + temp16[(base) /2] = 0xe12f; base += 2; + + // the non-EO area starts in the middle of a function that seems similar to those at 000037E4 / 000037D4 in killbldp. by setting this up we allow the intro to run + // it sets '0x10000038' to a value of 1 + base = 0x184; + temp16[(base) /2] = 0x105c; base += 2; + temp16[(base) /2] = 0xE59F; base += 2; +} + +void pgm_arm_type3_state::init_theglad() +{ + svg_basic_init(); + pgm_theglad_decrypt(machine()); + svg_latch_init(); +// pgm_create_dummy_internal_arm_region(0x188); + + pgm_create_dummy_internal_arm_region_theglad(0); + + + m_prot->space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32smo_delegate(*this, FUNC(pgm_arm_type3_state::theglad_speedup_r))); +} + + +void pgm_arm_type3_state::pgm_patch_external_arm_rom_jumptable_theglada(int base) +{ + // we don't have the correct internal ROM for this version, so instead we use the one we have and patch the jump table in the external ROM + u32 subroutine_addresses[] = + { + 0x00FC, 0x00E8, 0x0110, 0x0150, 0x0194, 0x06C8, 0x071C, 0x0728, + 0x0734, 0x0740, 0x0784, 0x0794, 0x07FC, 0x0840, 0x086C, 0x0988, + 0x0A54, 0x0AA8, 0x0AD4, 0x0EB8, 0x0EF8, 0x0F2C, 0x0F3C, 0x0F78, + 0x0FA8, 0x0FD8, 0x1028, 0x1038, 0x1048, 0x1058, 0x1068, 0x1070, + 0x1090, 0x10B0, 0x10D4, 0x1100, 0x113C, 0x1198, 0x1234, 0x1258, + 0x127C, 0x12A8, 0x12E4, 0x1368, 0x142C, 0x0B10, 0x0B54, 0x0B74, + 0x0C08, 0x0C90, 0x0D18, 0x0D90, 0x1570, 0x1600, 0x1640, 0x1694, + 0x1730, 0x176C, 0x17AC, 0x17D8, 0x18C4, 0x18E0, 0x1904, 0x1930, + 0x19D8, 0x1A38, 0x1950, 0x1970, 0x1990, 0x19B8, 0x19C8, 0x1A9C, + 0x1AC4, 0x1AE8, 0x1B20, 0x1B48, 0x1B70, 0x1B8C, 0x1BB4, 0x1BD8, + 0x1BFC, 0x1C10, 0x1C24, 0x1CA0, 0x1D5C, 0x1D7C, 0x1D8C, 0x1DAC, + 0x1DCC, 0x1DE0, 0x1DF4, 0x1E1C, 0x1E2C, 0x1E60, 0x1E94, 0x1EA4, + 0x1ECC, 0x1ED8, 0x1EE4, 0x1F14, 0x1F44, 0x1FB4, 0x1FC4, 0x2040, + 0x20BC, 0x2140, 0x21C4, 0x2240, 0x22BC, 0x2340, 0x23C4, 0x23D0, + 0x2400, 0x2430, 0x244C, 0x245C, 0x246C, 0x2FCC, 0x3000, 0x3028, + 0x3050, 0x30A4, 0x30F8, 0x3120, 0x249C, 0x24C0, 0x27BC, 0x2B40, + 0x2BF4, 0x2CD8, 0x2E2C + }; + u16 *extprot = (u16 *)memregion("user1")->base(); + /* + 0x00C8,0x00B4,0x00DC,0x011C,0x0160,0x02DC,0x0330,0x033C, + 0x0348,0x0354,0x0398,0x03A8,0x0410,0x0454,0x0480,0x059C, + 0x0668,0x06BC,0x06E8,0x0ACC,0x0B0C,0x0B40,0x0B50,0x0B8C, + 0x0BBC,0x0BEC,0x0C3C,0x0C4C,0x0C5C,0x0C6C,0x0C7C,0x0C84, + 0x0CA4,0x0CC4,0x0CE8,0x0D14,0x0D50,0x0DAC,0x0E48,0x0E6C, + 0x0E90,0x0EBC,0x0EF8,0x0F7C,0x1040,0x0724,0x0768,0x0788, + 0x081C,0x08A4,0x092C,0x09A4,0x1184,0x1214,0x1254,0x12A8, + 0x1344,0x1380,0x13C0,0x13EC,0x14D8,0x14F4,0x1518,0x1544, + 0x15EC,0x164C,0x1564,0x1584,0x15A4,0x15CC,0x15DC,0x16B0, + 0x16D8,0x16FC,0x1734,0x175C,0x1784,0x17A0,0x17C8,0x17EC, + 0x1810,0x1824,0x1838,0x18B4,0x1970,0x1990,0x19A0,0x19C0, + 0x19E0,0x19F4,0x1A08,0x1A30,0x1A40,0x1A74,0x1AA8,0x1AB8, + 0x1AE0,0x1AEC,0x1AF8,0x1B28,0x1B58,0x1BC8,0x1BD8,0x1C54, + 0x1CD0,0x1D54,0x1DD8,0x1E54,0x1ED0,0x1F54,0x1FD8,0x1FE4, + 0x2014,0x2044,0x2060,0x2070,0x2080,0x2BE0,0x2C14,0x2C3C, + 0x2C64,0x2CB8,0x2D0C,0x2D34,0x20B0,0x20D4,0x23D0,0x2754, + 0x2808,0x28EC,0x2A40 + */ + + + for (auto & subroutine_addresse : subroutine_addresses) + { +// u32 addr = extprot[(base/2)] | (extprot[(base/2) + 1] << 16); + extprot[(base / 2)] = subroutine_addresse; + + base += 4; +// printf("%04x (%08x)\n", subroutine_addresses[i], addr ); + } +} + +void pgm_arm_type3_state::init_theglada() +{ + init_theglad(); + + pgm_patch_external_arm_rom_jumptable_theglada(0x82078); + +} + +INPUT_PORTS_START( theglad ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x00ff, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + //PORT_CONFSETTING( 0x0002, "Japan (Alta/AMI license)" ) // it doesn't appear that carts of the Japanese version were released, the PCB has an extra sample ROM used in Japanese mode for the music + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, "Spanish Territories" ) + PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) + PORT_CONFSETTING( 0x00ff, "Don't Change" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( svg ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x00ff, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (AMI license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, "Spanish Territories" ) + PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) + PORT_CONFSETTING( 0x00ff, "Don't Change" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( svghk ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x0004, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (AMI license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, "Spanish Territories" ) + PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) + PORT_CONFSETTING( 0x00ff, "Don't Change" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( svgtw ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x0001, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, "Japan (AMI license)" ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, "Spanish Territories" ) + PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) + PORT_CONFSETTING( 0x00ff, "Don't Change" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( svgpcb ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x00ff, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( Japan ) ) + PORT_CONFSETTING( 0x0003, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0004, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0005, "Spanish Territories" ) + PORT_CONFSETTING( 0x0006, DEF_STR( World ) ) + PORT_CONFSETTING( 0x00ff, "Don't Change" ) // don't hack the region +INPUT_PORTS_END + +void pgm_arm_type3_state::init_svg() +{ + svg_basic_init(); + pgm_svg_decrypt(machine()); + svg_latch_init(); + pgm_create_dummy_internal_arm_region_theglad(1); + m_armrom = (u32 *)memregion("prot")->base(); + m_prot->space(AS_PROGRAM).install_read_handler(0xB90, 0xB93, read32smo_delegate(*this, FUNC(pgm_arm_type3_state::svg_speedup_r))); +} + +void pgm_arm_type3_state::init_svgpcb() +{ + svg_basic_init(); + pgm_svgpcb_decrypt(machine()); + svg_latch_init(); + pgm_create_dummy_internal_arm_region_theglad(0); + m_armrom = (u32 *)memregion("prot")->base(); + m_prot->space(AS_PROGRAM).install_read_handler(0x9e0, 0x9e3, read32smo_delegate(*this, FUNC(pgm_arm_type3_state::svgpcb_speedup_r))); +} + + +u32 pgm_arm_type3_state::killbldp_speedup_r() +{ + const int pc = m_prot->pc(); + if (pc == 0x7d8) m_prot->eat_cycles(500); + //else printf("killbldp_speedup_r %08x\n", pc); + return m_arm_ram2[0x00c/4]; +} + +void pgm_arm_type3_state::init_killbldp() +{ + svg_basic_init(); + pgm_killbldp_decrypt(machine()); + svg_latch_init(); + + m_prot->space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32smo_delegate(*this, FUNC(pgm_arm_type3_state::killbldp_speedup_r))); + +// u16 *temp16 = (u16 *)memregion("prot")->base(); +// int base = 0xfc; // startup table uploads +// temp16[(base) /2] = 0x0000; base += 2; +// temp16[(base) /2] = 0xE1A0; base += 2; + +// base = 0xd4; // startup table uploads +// temp16[(base) /2] = 0x0000; base += 2; +// temp16[(base) /2] = 0xE1A0; base += 2; +// +// base = 0x120; // reset game state, uncomment this to break boot sequence how theglad was broken... +// temp16[(base) /2] = 0x0000; base += 2; +// temp16[(base) /2] = 0xE1A0; base += 2; + +} + +u32 pgm_arm_type3_state::dmnfrnt_speedup_r() +{ + const int pc = m_prot->pc(); + if (pc == 0x8000fea) m_prot->eat_cycles(500); +// else printf("dmn_speedup_r %08x\n", pc); + return m_arm_ram[0x000444/4]; +} + +u16 pgm_arm_type3_state::dmnfrnt_main_speedup_r() +{ + u16 data = m_mainram[0xa03c/2]; + const int pc = m_maincpu->pc(); + if (pc == 0x10193a) m_maincpu->spin_until_interrupt(); + else if (pc == 0x1019a4) m_maincpu->spin_until_interrupt(); + return data; +} + +void pgm_arm_type3_state::init_dmnfrnt() +{ + svg_basic_init(); + pgm_dfront_decrypt(machine()); + svg_latch_init(); + + /* put some fake code for the ARM here ... */ + pgm_create_dummy_internal_arm_region(0x4000); + + m_prot->space(AS_PROGRAM).install_read_handler(0x18000444, 0x18000447, read32smo_delegate(*this, FUNC(pgm_arm_type3_state::dmnfrnt_speedup_r))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x80a03c, 0x80a03d, read16smo_delegate(*this, FUNC(pgm_arm_type3_state::dmnfrnt_main_speedup_r))); + + m_svg_ram_sel = 1; + + // the internal rom probably also supplies the region here + // we have to copy it to both shared ram regions because it reads from a different one before the attract story? + // could be a timing error? or shared ram behavior isn't how we think it is? + u16 *share16; + share16 = (u16 *)(m_svg_shareram[1].get()); + share16[0x158/2] = 0x0005; + share16 = (u16 *)(m_svg_shareram[0].get()); + share16[0x158/2] = 0x0005; +} + +// +// int j = bitswap<24>(i, 23, 20, 17, 16, 19, 18, 15, 14, 13, 12, 11, 10, 9, 22, 21, 6, 7, 6, 5, 4, 3, 2, 1, 0); +// buffer[i] = src[j] + +// todo, collapse these to an address swap +void pgm_arm_type3_state::pgm_descramble_happy6(u8* src) +{ + std::vector<u8> buffer(0x800000); + int writeaddress = 0; + + for (int j = 0; j < 0x800; j += 0x200) + { + for (int i = j; i < 0x800000; i += 0x800) + { + memcpy(&buffer[writeaddress], src + i, 0x200); + writeaddress += 0x200; + } + } + memcpy(src, &buffer[0], 0x800000); +} + + + +void pgm_arm_type3_state::pgm_descramble_happy6_2(u8* src) +{ + std::vector<u8> buffer(0x800000); + int writeaddress = 0; + for (int k = 0; k < 0x800000; k += 0x100000) + { + for (int j = 0; j < 0x40000; j += 0x10000) + { + for (int i = j; i < 0x100000; i += 0x40000) + { + memcpy(&buffer[writeaddress], src + i + k, 0x10000); + writeaddress += 0x10000; + } + } + } + memcpy(src, &buffer[0], 0x800000); +} + +INPUT_PORTS_START( happy6 ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x0000, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0003, "Singapore" ) + PORT_CONFSETTING( 0x0004, "Oversea" ) // unlikely this actually exists, there's no English anything! + PORT_CONFSETTING( 0x00ff, "Don't Change" ) // don't hack the region +INPUT_PORTS_END + +INPUT_PORTS_START( happy6hk ) + PORT_INCLUDE ( pgm ) + + PORT_START("RegionHack") /* Region - actually supplied by protection device */ + PORT_CONFNAME( 0x00ff, 0x0002, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( China ) ) + PORT_CONFSETTING( 0x0001, DEF_STR( Taiwan ) ) + PORT_CONFSETTING( 0x0002, DEF_STR( Hong_Kong ) ) + PORT_CONFSETTING( 0x0003, "Singapore" ) + PORT_CONFSETTING( 0x0004, "Oversea" ) // unlikely this actually exists, there's no English anything! + PORT_CONFSETTING( 0x00ff, "Don't Change" ) // don't hack the region +INPUT_PORTS_END + +void pgm_arm_type3_state::init_happy6() +{ + u8 *src = (u8 *)(machine().root_device().memregion("tiles")->base()) + 0x180000; + pgm_descramble_happy6(src); + pgm_descramble_happy6_2(src); + + src = (u8 *)(machine().root_device().memregion("sprcol")->base()) + 0x000000; + pgm_descramble_happy6(src); + pgm_descramble_happy6_2(src); + + src = (u8 *)(machine().root_device().memregion("sprcol")->base()) + 0x0800000; + pgm_descramble_happy6(src); + pgm_descramble_happy6_2(src); + + src = (u8 *)(machine().root_device().memregion("sprmask")->base()); + pgm_descramble_happy6(src); + pgm_descramble_happy6_2(src); + + src = (u8 *)(machine().root_device().memregion("ics")->base()) + 0x400000; + pgm_descramble_happy6(src); + pgm_descramble_happy6_2(src); + + svg_basic_init(); + pgm_happy6_decrypt(machine()); + svg_latch_init(); + pgm_create_dummy_internal_arm_region_theglad(0); + + m_prot->space(AS_PROGRAM).install_read_handler(0x1000000c, 0x1000000f, read32smo_delegate(*this, FUNC(pgm_arm_type3_state::happy6_speedup_r))); +} diff --git a/docs/release/src/hbmame/igs/pgmprot_igs027a_type3.h b/docs/release/src/hbmame/igs/pgmprot_igs027a_type3.h new file mode 100644 index 00000000000..90e3fbe4269 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_igs027a_type3.h @@ -0,0 +1,79 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, Xing Xing + +class pgm_arm_type3_state : public pgm_state +{ +public: + pgm_arm_type3_state(const machine_config &mconfig, device_type type, const char *tag) + : pgm_state(mconfig, type, tag), + m_arm_ram(*this, "arm_ram"), + m_arm_ram2(*this, "arm_ram2"), + m_prot(*this, "prot") { + } + void init_theglad(); + void init_theglada(); + void init_svg(); + void init_svgpcb(); + void init_killbldp(); + void init_dmnfrnt(); + void init_happy6(); + + void pgm_arm_type3(machine_config &config); + void pgm_arm_type3_22m(machine_config &config); + void pgm_arm_type3_24m(machine_config &config); + void pgm_arm_type3_33m(machine_config &config); + void pgm_arm_type3_33_8688m(machine_config &config); + +protected: + virtual void machine_reset() override; + +private: + // svg + int m_svg_ram_sel = 0; + std::unique_ptr<u32[]> m_svg_shareram[2]; //for 5585G MACHINE + + u32 m_svg_latchdata_68k_w = 0; + u32 m_svg_latchdata_arm_w = 0; + required_shared_ptr<u32> m_arm_ram; + required_shared_ptr<u32> m_arm_ram2; + + u32* m_armrom = nullptr; + + optional_device<cpu_device> m_prot; + + void svg_arm7_ram_sel_w(u32 data); + u32 svg_arm7_shareram_r(offs_t offset); + void svg_arm7_shareram_w(offs_t offset, u32 data, u32 mem_mask = ~0); + u16 svg_m68k_ram_r(offs_t offset); + void svg_m68k_ram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 svg_68k_nmi_r(); + void svg_68k_nmi_w(u16 data); + void svg_latch_68k_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 svg_latch_68k_r(offs_t offset, u16 mem_mask = ~0); + u32 svg_latch_arm_r(offs_t offset, u32 mem_mask = ~0); + void svg_latch_arm_w(offs_t offset, u32 data, u32 mem_mask = ~0); + void svg_basic_init(); + void pgm_create_dummy_internal_arm_region(int size); + void pgm_patch_external_arm_rom_jumptable_theglada(int base); + void pgm_create_dummy_internal_arm_region_theglad(int is_svg); + void pgm_descramble_happy6(u8* src); + void pgm_descramble_happy6_2(u8* src); + void svg_latch_init(); + u32 dmnfrnt_speedup_r(); + u16 dmnfrnt_main_speedup_r(); + u32 killbldp_speedup_r(); + u32 theglad_speedup_r(); + u32 happy6_speedup_r(); + u32 svg_speedup_r(); + u32 svgpcb_speedup_r(); + void _55857G_arm7_map(address_map &map); + void svg_68k_mem(address_map &map); +}; + +INPUT_PORTS_EXTERN(theglad); +INPUT_PORTS_EXTERN(happy6); +INPUT_PORTS_EXTERN(happy6hk); +INPUT_PORTS_EXTERN(svg); +INPUT_PORTS_EXTERN(svghk); +INPUT_PORTS_EXTERN(svgtw); +INPUT_PORTS_EXTERN(svgpcb); diff --git a/docs/release/src/hbmame/igs/pgmprot_orlegend.cpp b/docs/release/src/hbmame/igs/pgmprot_orlegend.cpp new file mode 100644 index 00000000000..8fd516ce357 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_orlegend.cpp @@ -0,0 +1,228 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert, iq_132 +/*********************************************************************** + PGM ASIC3 PGM protection emulation + + this seems similar to the IGS025? Is the physical chip ASIC3, or is + that just what the game calls it? + + Used by: + + Oriental Legend + + ***********************************************************************/ + +#include "emu.h" +#include "pgm.h" +#include "pgmprot_orlegend.h" + +void pgm_asic3_state::asic3_compute_hold(int y, int z) +{ + const u16 old = m_asic3_hold; + + m_asic3_hold = ((old << 1) | (old >> 15)); + + m_asic3_hold ^= 0x2bad; + m_asic3_hold ^= BIT(z, y); + m_asic3_hold ^= BIT(m_asic3_x, 2) << 10; + m_asic3_hold ^= BIT(old, 5); + + switch (m_region->read()) // The mode is dependent on the region + { + case 0: + case 1: + m_asic3_hold ^= BIT(old, 10) ^ BIT(old, 8) ^ (BIT(m_asic3_x, 0) << 1) ^ (BIT(m_asic3_x, 1) << 6) ^ (BIT(m_asic3_x, 3) << 14); + break; + + case 2: + m_asic3_hold ^= BIT(old, 10) ^ BIT(old, 8) ^ (BIT(m_asic3_x, 0) << 4) ^ (BIT(m_asic3_x, 1) << 6) ^ (BIT(m_asic3_x, 3) << 12); + break; + + case 3: + m_asic3_hold ^= BIT(old, 7) ^ BIT(old, 6) ^ (BIT(m_asic3_x, 0) << 4) ^ (BIT(m_asic3_x, 1) << 6) ^ (BIT(m_asic3_x, 3) << 12); + break; + + case 4: // orlegend111t + m_asic3_hold ^= BIT(old, 7) ^ BIT(old, 6) ^ (BIT(m_asic3_x, 0) << 3) ^ (BIT(m_asic3_x, 1) << 8) ^ (BIT(m_asic3_x, 3) << 14); + break; + } +} +u16 pgm_asic3_state::pgm_asic3_r() +{ + switch (m_asic3_reg) + { + case 0x00: // region is supplied by the protection device + return (m_asic3_latch[0] & 0xf7) | ((m_region->read() << 3) & 0x08); + + case 0x01: + return m_asic3_latch[1]; + + case 0x02: // region is supplied by the protection device + return (m_asic3_latch[2] & 0x7f) | ((m_region->read() << 6) & 0x80); + + case 0x03: + return bitswap<8>(m_asic3_hold, 5,2,9,7,10,13,12,15); + + // case $157674, expected return $157686 + case 0x20: return 0x49; // "IGS" + case 0x21: return 0x47; + case 0x22: return 0x53; + + case 0x24: return 0x41; + case 0x25: return 0x41; + case 0x26: return 0x7f; + case 0x27: return 0x41; + case 0x28: return 0x41; + + case 0x2a: return 0x3e; + case 0x2b: return 0x41; + case 0x2c: return 0x49; + case 0x2d: return 0xf9; + case 0x2e: return 0x0a; + + case 0x30: return 0x26; + case 0x31: return 0x49; + case 0x32: return 0x49; + case 0x33: return 0x49; + case 0x34: return 0x32; + + // default: + // logerror("ASIC3 R: CMD %2.2X %s\n", m_asic3_reg, machine().describe_context()); + } + + return 0; +} + +void pgm_asic3_state::pgm_asic3_w(offs_t offset, u16 data) +{ + if (offset == 0) + { + m_asic3_reg = data; + return; + } + + switch (m_asic3_reg) + { + case 0x00: + case 0x01: + case 0x02: + m_asic3_latch[m_asic3_reg] = data << 1; + break; + + // case 0x03: // move.w #$88, $c0400e.l + // case 0x04: // move.w #$84, $c0400e.l + // case 0x05: // move.w #$A0, $c0400e.l + // break; + + case 0x40: + m_asic3_hilo = (m_asic3_hilo << 8) | data; + break; + + case 0x41: // Same as CMD 40. What is the purpose of writing data here again?? + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + break; + + case 0x48: + { + m_asic3_x = 0; + if ((m_asic3_hilo & 0x0090) == 0) m_asic3_x |= 0x01; + if ((m_asic3_hilo & 0x0006) == 0) m_asic3_x |= 0x02; + if ((m_asic3_hilo & 0x9000) == 0) m_asic3_x |= 0x04; + if ((m_asic3_hilo & 0x0a00) == 0) m_asic3_x |= 0x08; + } + break; + + // case 0x50: // move.w #$50, $c0400e.l + // break; + + case 0x80: + case 0x81: + case 0x82: + case 0x83: + case 0x84: + case 0x85: + case 0x86: + case 0x87: + asic3_compute_hold(m_asic3_reg & 0x07, data); + break; + + case 0xa0: + m_asic3_hold = 0; + break; + + default: + logerror("ASIC3 W: CMD %2.2X DATA: %4.4x %s\n", m_asic3_reg, data, machine().describe_context()); + } +} + +/* Oriental Legend INIT */ + +void pgm_asic3_state::init_orlegend() +{ + pgm_basic_init(); + + m_maincpu->space(AS_PROGRAM).install_read_handler(0xc04000, 0xc0400f, read16smo_delegate(*this, FUNC(pgm_asic3_state::pgm_asic3_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0xc04000, 0xc0400f, write16sm_delegate(*this, FUNC(pgm_asic3_state::pgm_asic3_w))); + + m_asic3_reg = 0; + m_asic3_latch[0] = 0; + m_asic3_latch[1] = 0; + m_asic3_latch[2] = 0; + m_asic3_x = 0; + m_asic3_hilo = 0; + m_asic3_hold = 0; + + save_item(NAME(m_asic3_reg)); + save_item(NAME(m_asic3_latch)); + save_item(NAME(m_asic3_x)); + save_item(NAME(m_asic3_hilo)); + save_item(NAME(m_asic3_hold)); +} + + +INPUT_PORTS_START( orlegend ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") + PORT_DIPNAME( 0x0003, 0x0000, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, DEF_STR( World ) ) + PORT_CONFSETTING( 0x0001, "World (duplicate)" ) // again? + PORT_CONFSETTING( 0x0002, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0003, DEF_STR( China ) ) +INPUT_PORTS_END + +INPUT_PORTS_START( orlegendt ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") + PORT_DIPNAME( 0x0007, 0x0004, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, "Invalid 00?" ) + PORT_CONFSETTING( 0x0001, "Invalid 01?" ) + PORT_CONFSETTING( 0x0002, "Invalid 02?" ) + PORT_CONFSETTING( 0x0003, "Invalid 03?" ) + PORT_CONFSETTING( 0x0004, DEF_STR( Taiwan ) ) +INPUT_PORTS_END + + +INPUT_PORTS_START( orlegendk ) + PORT_INCLUDE ( pgm ) + + PORT_MODIFY("Region") + PORT_DIPNAME( 0x0007, 0x0002, DEF_STR( Region ) ) + PORT_CONFSETTING( 0x0000, "Invalid 00?" ) + PORT_CONFSETTING( 0x0001, "Invalid 01?" ) + PORT_CONFSETTING( 0x0002, DEF_STR( Korea ) ) + PORT_CONFSETTING( 0x0003, "Invalid 03?" ) + PORT_CONFSETTING( 0x0004, "Invalid 04?" ) +INPUT_PORTS_END + + +void pgm_asic3_state::pgm_asic3(machine_config &config) +{ + pgmbase(config); +} diff --git a/docs/release/src/hbmame/igs/pgmprot_orlegend.h b/docs/release/src/hbmame/igs/pgmprot_orlegend.h new file mode 100644 index 00000000000..fd5a6584d74 --- /dev/null +++ b/docs/release/src/hbmame/igs/pgmprot_orlegend.h @@ -0,0 +1,30 @@ +// license:BSD-3-Clause +// copyright-holders:Olivier Galibert, iq_132 +/* for machine/pgmprot_orlegend.c type games */ + +class pgm_asic3_state : public pgm_state +{ +public: + pgm_asic3_state(const machine_config &mconfig, device_type type, const char *tag) + : pgm_state(mconfig, type, tag) { + } + + void init_orlegend(); + void pgm_asic3(machine_config &config); + +private: + // ASIC 3 (oriental legends protection) + u8 m_asic3_reg = 0; + u8 m_asic3_latch[3]{}; + u8 m_asic3_x = 0; + u16 m_asic3_hilo = 0; + u16 m_asic3_hold = 0; + + void asic3_compute_hold(int,int); + u16 pgm_asic3_r(); + void pgm_asic3_w(offs_t offset, u16 data); +}; + +INPUT_PORTS_EXTERN( orlegend ); +INPUT_PORTS_EXTERN( orlegendt ); +INPUT_PORTS_EXTERN( orlegendk ); diff --git a/docs/release/src/hbmame/includes/neogeo.h b/docs/release/src/hbmame/includes/neogeo.h index 5dabb423f8a..363a0579abd 100644 --- a/docs/release/src/hbmame/includes/neogeo.h +++ b/docs/release/src/hbmame/includes/neogeo.h @@ -214,7 +214,7 @@ public: private: - std::error_condition mvs_open7z(std::string zip_name, std::string filename, uint8_t *region_name, u32 region_size, u32 *file_size); + u32 mvs_open7z(std::string zip_name, std::string filename, uint8_t *region_name, u32 region_size); void io_control_w(offs_t offset, u8 data); u16 memcard_r(offs_t offset); void memcard_w(offs_t offset, u16 data, u16 mem_mask = ~0); diff --git a/docs/release/src/osd/winui/hbmameui.rc b/docs/release/src/osd/winui/hbmameui.rc index fc82d85d057..6aaa460f0a4 100644 --- a/docs/release/src/osd/winui/hbmameui.rc +++ b/docs/release/src/osd/winui/hbmameui.rc @@ -575,7 +575,7 @@ BEGIN LTEXT "Title\nDirectory\nExtra",IDC_PROP_TITLE,52,9,161,25,SS_NOPREFIX GROUPBOX "Number of screens",IDC_STATIC,4,40,103,24 - CONTROL "Slider1",IDC_NUMSCREENS,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,50,75,10,0,HIDC_NUMSCREENS + CONTROL "NOSSlider",IDC_NUMSCREENS,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,50,75,10,0,HIDC_NUMSCREENS RTEXT "1",IDC_NUMSCREENSDISP,88,49,10,10,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Screen",IDC_STATIC,4,66,103,29 @@ -663,23 +663,23 @@ BEGIN CONTROL "Throttle",IDC_THROTTLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,76,39,10,0,HIDC_THROTTLE GROUPBOX "Bitmap prescaling",IDC_PRESCALETEXT,4,89,103,24 - CONTROL "Slider1",IDC_PRESCALE,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,99,71,10,0,HIDC_PRESCALE + CONTROL "BPSlider",IDC_PRESCALE,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,99,71,10,0,HIDC_PRESCALE RTEXT "1.0",IDC_PRESCALEDISP,84,98,6,11,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Gamma Correction",IDC_STATIC,4,115,103,24 - CONTROL "Slider2",IDC_GAMMA,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,125,71,10,0,HIDC_GAMMA + CONTROL "GSlider",IDC_GAMMA,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,125,71,10,0,HIDC_GAMMA RTEXT "2.0",IDC_GAMMADISP,84,124,16,10,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Brightness Correction",IDC_STATIC,4,141,103,24 - CONTROL "Slider3",IDC_BRIGHTCORRECT,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,151,71,10,0,HIDC_BRIGHTCORRECT + CONTROL "BSlider",IDC_BRIGHTCORRECT,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,151,71,10,0,HIDC_BRIGHTCORRECT RTEXT "1.0",IDC_BRIGHTCORRECTDISP,84,150,16,10,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Contrast Correction",IDC_STATIC,4,167,103,24 - CONTROL "Slider4",IDC_CONTRAST,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,177,71,10,0,HIDC_CONTRAST + CONTROL "CSlider",IDC_CONTRAST,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,177,71,10,0,HIDC_CONTRAST RTEXT "1.0",IDC_CONTRASTDISP,84,175,16,11,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Pause Brightness",IDC_STATIC,4,193,103,24 - CONTROL "Slider5",IDC_PAUSEBRIGHT,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,203,71,10,0,HIDC_PAUSEBRIGHT + CONTROL "PBSlider",IDC_PAUSEBRIGHT,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,10,203,71,10,0,HIDC_PAUSEBRIGHT RTEXT "0.65",IDC_PAUSEBRIGHTDISP,84,202,16,11,SS_CENTERIMAGE | NOT WS_GROUP CONTROL "Use Bilinear filtering",IDC_D3D_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,224,80,10,0,HIDC_D3D_FILTER @@ -701,10 +701,10 @@ BEGIN CONTROL "Auto select stretch axis",IDC_AUTOSTRETCHXY,WC_BUTTON,BS_AUTOCHECKBOX | WS_TABSTOP,120,176,92,10,0 CONTROL "Overscan on targets",IDC_INTOVERSCAN,WC_BUTTON,BS_AUTOCHECKBOX | WS_TABSTOP,120,188,92,10,0 GROUPBOX "Horizontal scale factor",IDC_STATIC,120,200,90,24 - CONTROL "",IDC_INTSCALEX,TRACKBAR_CLASS,TBS_AUTOTICKS | WS_TABSTOP,126,210,62,10,0 + CONTROL "HSFSlider",IDC_INTSCALEX,TRACKBAR_CLASS,TBS_AUTOTICKS | WS_TABSTOP,126,210,62,10,0 RTEXT "0",IDC_INTSCALEX_TXT,190,209,14,10,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Vertical scale factor",IDC_STATIC,120,226,90,24 - CONTROL "",IDC_INTSCALEY,TRACKBAR_CLASS,TBS_AUTOTICKS | WS_TABSTOP,126,236,62,10,0 + CONTROL "VSFSlider",IDC_INTSCALEY,TRACKBAR_CLASS,TBS_AUTOTICKS | WS_TABSTOP,126,236,62,10,0 RTEXT "0",IDC_INTSCALEY_TXT,190,235,14,10,SS_CENTERIMAGE | NOT WS_GROUP // PUSHBUTTON "Reset",IDC_PROP_RESET,4,258,97,14,0,0,HIDC_PROP_RESET @@ -730,15 +730,15 @@ BEGIN COMBOBOX IDC_SAMPLERATE,66,106,88,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_SAMPLERATE GROUPBOX "Volume attenuation",IDC_VOLUMETEXT,60,127,100,28 - CONTROL "Slider1",IDC_VOLUME,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,139,68,10,0,HIDC_VOLUME + CONTROL "VolSlider",IDC_VOLUME,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,66,139,68,10,0,HIDC_VOLUME RTEXT "0dB",IDC_VOLUMEDISP,132,138,20,11,SS_CENTERIMAGE GROUPBOX "Audio latency",IDC_AUDIO_LATENCY_TEXT,60,158,100,28 - CONTROL "Slider2",IDC_AUDIO_LATENCY,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,66,170,68,10,0,HIDC_AUDIO_LATENCY + CONTROL "LatSlider",IDC_AUDIO_LATENCY,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,66,170,68,10,0,HIDC_AUDIO_LATENCY RTEXT "1/5",IDC_AUDIO_LATENCY_DISP,132,169,20,11,SS_CENTERIMAGE GROUPBOX "PortAudio latency",IDC_STATIC,60,189,100,28 - CONTROL "Slider3",IDC_PORTAUDIO_LATENCY,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,201,68,10,0 + CONTROL "PALSlider",IDC_PORTAUDIO_LATENCY,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,66,201,68,10,0 RTEXT "0.20",IDC_PORTAUDIO_LATENCY_DISP,132,200,20,11,SS_CENTERIMAGE // PUSHBUTTON "Reset",IDC_PROP_RESET,4,258,97,14,0,0,HIDC_PROP_RESET @@ -764,23 +764,23 @@ BEGIN COMBOBOX IDC_FRAMESKIP,10,127,91,88,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_FRAMESKIP GROUPBOX "Full screen gamma",IDC_FSGAMMATEXT,113,40,102,24 - CONTROL "Slider1",IDC_FSGAMMA,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,50,71,10,0,HIDC_FSGAMMA + CONTROL "FSGSlider",IDC_FSGAMMA,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,50,71,10,0,HIDC_FSGAMMA RTEXT "1.0",IDC_FSGAMMADISP,193,49,16,10,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Full screen brightness",IDC_FSBRIGHTNESSTEXT,113,67,102,24 - CONTROL "Slider1",IDC_FSBRIGHTNESS,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,77,71,10,0,HIDC_FSBRIGHTNESS + CONTROL "FSBSlider",IDC_FSBRIGHTNESS,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,77,71,10,0,HIDC_FSBRIGHTNESS RTEXT "1.0",IDC_FSBRIGHTNESSDISP,193,76,16,10,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Full screen contrast",IDC_FSCONTRASTTEXT,113,94,102,24 - CONTROL "Slider1",IDC_FSCONTRAST,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,104,71,10,0,HIDC_FSCONTRAST + CONTROL "FSCSlider",IDC_FSCONTRAST,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,104,71,10,0,HIDC_FSCONTRAST RTEXT "1.0",IDC_FSCONTRASTDISP,193,103,16,11,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Seconds to run",IDC_SECONDSTORUNTEXT,113,122,102,24 - CONTROL "",IDC_SECONDSTORUN,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,132,71,10,0,HIDC_SECONDSTORUN + CONTROL "STRSlider",IDC_SECONDSTORUN,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,119,132,71,10,0,HIDC_SECONDSTORUN RTEXT "60",IDC_SECONDSTORUNDISP,193,130,16,11,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Emulation speed",IDC_SPEEDTEXT,4,155,211,24 - CONTROL "Slider1",IDC_SPEED,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,12,165,180,10,0,HIDC_SPEED + CONTROL "SpeedSlider",IDC_SPEED,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,12,165,180,10,0,HIDC_SPEED RTEXT "1.00",IDC_SPEEDDISP,191,164,20,11,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Effect",IDC_STATIC,4,182,211,50 @@ -899,7 +899,7 @@ BEGIN GROUPBOX "",IDC_STATIC,4,64,103,74 CONTROL "Enable joystick input",IDC_JOYSTICK,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,64,78,10,0,HIDC_JOYSTICK GROUPBOX "Joystick deadzone",IDC_JDZTEXT,10,76,91,28 - CONTROL "IntensitySlider",IDC_JDZ,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,15,88,60,10,0,HIDC_JDZ + CONTROL "JZSlider",IDC_JDZ,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,15,88,60,10,0,HIDC_JDZ RTEXT "0.3",IDC_JDZDISP,76,87,16,11,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Default input layout",IDC_STATIC,113,40,102,28 COMBOBOX IDC_DEFAULT_INPUT,119,50,90,53,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_DEFAULT_INPUT @@ -910,7 +910,7 @@ BEGIN CONTROL "Multiple keyboards",IDC_MULTIKEYBOARD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,109,75,10,0,HIDC_MULTIKEYBOARD CONTROL "Multiple mice",IDC_MULTIMOUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,122,56,10,0,HIDC_MULTIMOUSE GROUPBOX "Joystick saturation",IDC_JSATTEXT,10,106,91,28 - CONTROL "IntensitySlider",IDC_JSAT,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,16,118,60,10,0,HIDC_JSAT + CONTROL "JSSlider",IDC_JSAT,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,16,118,60,10,0,HIDC_JSAT RTEXT "0.85",IDC_JSATDISP,76,116,16,11,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Joystick map",IDC_STATIC,4,143,211,50 EDITTEXT IDC_JOYSTICKMAP,10,153,200,14,ES_AUTOHSCROLL | WS_BORDER,0 @@ -948,7 +948,7 @@ BEGIN GROUPBOX "BIOS",IDC_STATIC,113,128,102,28 COMBOBOX IDC_BIOS,119,138,90,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_BIOS GROUPBOX "Thread Priority",IDC_HIGH_PRIORITY_TEXT,113,160,102,34 - CONTROL "Slider1",IDC_HIGH_PRIORITY,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,119,170,75,10,0,HIDC_HIGH_PRIORITY + CONTROL "TPSlider",IDC_HIGH_PRIORITY,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,119,170,75,10,0,HIDC_HIGH_PRIORITY LTEXT "idle",IDC_STATIC,123,180,12,8 RTEXT "-15",IDC_HIGH_PRIORITYTXT,193,170,14,10,SS_CENTERIMAGE RTEXT "real-time",IDC_STATIC,163,180,28,8 @@ -965,7 +965,7 @@ BEGIN LTEXT WC_STATIC,IDC_PROP_TITLE,42,10,168,30,SS_NOPREFIX GROUPBOX "LUA settings",IDC_STATIC,4,40,212,164 GROUPBOX "Autoboot delay",IDC_STATIC,10,50,102,28 - CONTROL "",IDC_BOOTDELAY,TRACKBAR_CLASS,TBS_AUTOTICKS | WS_TABSTOP,16,62,72,10,0 + CONTROL "ABDSlider",IDC_BOOTDELAY,TRACKBAR_CLASS,TBS_AUTOTICKS | WS_TABSTOP,16,62,72,10,0 RTEXT "0",IDC_BOOTDELAYDISP,88,60,12,10,SS_CENTERIMAGE | NOT WS_GROUP GROUPBOX "Autoboot script",IDC_STATIC,10,82,200,48 EDITTEXT IDC_LUASCRIPT,16,92,188,14,ES_LEFT | WS_BORDER @@ -989,15 +989,15 @@ BEGIN LTEXT "Title\nDirectory\nExtra",IDC_PROP_TITLE,52,9,161,25,SS_NOPREFIX GROUPBOX "Beam min width",IDC_STATIC,60,53,100,28 - CONTROL "BeamSlider",IDC_BEAM_MIN,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,65,64,10,0,HIDC_BEAM + CONTROL "BminSlider",IDC_BEAM_MIN,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,65,64,10,0,HIDC_BEAM RTEXT "16.00",IDC_BEAM_MINDISP,132,64,20,11,SS_CENTERIMAGE GROUPBOX "Beam max width",IDC_STATIC,60,85,100,28 - CONTROL "BeamSlider",IDC_BEAM_MAX,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,97,64,10,0,HIDC_BEAM + CONTROL "BmaxSlider",IDC_BEAM_MAX,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,97,64,10,0,HIDC_BEAM RTEXT "16.00",IDC_BEAM_MAXDISP,132,96,20,11,SS_CENTERIMAGE GROUPBOX "Beam intensity",IDC_STATIC,60,117,100,28 - CONTROL "BeamSlider",IDC_BEAM_INTEN,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,129,64,10,0,HIDC_BEAM + CONTROL "BintSlider",IDC_BEAM_INTEN,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP,66,129,64,10,0,HIDC_BEAM RTEXT "16.00",IDC_BEAM_INTENDISP,132,128,20,11,SS_CENTERIMAGE GROUPBOX "Flicker",IDC_STATIC,60,149,100,28 @@ -1111,10 +1111,10 @@ BEGIN CONTROL "S&tretch screenshot larger than natural size", IDC_STRETCH_SCREENSHOT_LARGER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,95,148,10,0,HIDC_STRETCH_SCREENSHOT_LARGER GROUPBOX "Screenshot Cycletime in Seconds",IDC_STATIC,210,109,154,28 - CONTROL "Slider1",IDC_CYCLETIMESEC,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,218,121,120,10,0,HIDC_CYCLETIMESEC + CONTROL "SCSlider",IDC_CYCLETIMESEC,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,218,121,120,10,0,HIDC_CYCLETIMESEC RTEXT "60",IDC_CYCLETIMESECTXT,340,120,13,10,SS_CENTERIMAGE GROUPBOX "Screenshot Bordersize",IDC_STATIC,210,141,154,28 - CONTROL "Slider2",IDC_SCREENSHOT_BORDERSIZE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,218,153,120,10 + CONTROL "SSBSlider",IDC_SCREENSHOT_BORDERSIZE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,218,153,120,10 RTEXT "100",IDC_SCREENSHOT_BORDERSIZETXT,340,152,13,10,SS_CENTERIMAGE PUSHBUTTON "Set Screenshot Border Color",IDC_SCREENSHOT_BORDERCOLOR,210,176,154,14 // GROUPBOX "In Game MAME interface language",IDC_STATIC,4,124,212,28 diff --git a/docs/release/src/osd/winui/history.cpp b/docs/release/src/osd/winui/history.cpp index b4cdfe718f6..2e222129bdd 100644 --- a/docs/release/src/osd/winui/history.cpp +++ b/docs/release/src/osd/winui/history.cpp @@ -23,6 +23,12 @@ * - Each table must contain at least MAX_HFILES members (extra lines * are ignored) * - Software comes first, followed by Game then Source. + + * 2023-06: Robbbert + * - Added support for history.xml + * - Dropped support for history.dat + * - HBMAME: Dropped support for messinfo.dat, sysinfo.dat, story.dat, marp.dat + ***************************************************************************/ // license:BSD-3-Clause // copyright-holders:Chris Kirmse, Mike Haaland, René Single, Mamesick, Robbbert @@ -39,6 +45,7 @@ #include "mui_opts.h" #include "emu_opts.h" #include "sound/samples.h" +#include "path.h" /**************************************************************************** @@ -63,39 +70,27 @@ HSOURCEINFO; /*************************** START CONFIGURABLE AREA *******************************/ // number of dats we support -#define MAX_HFILES 8 +#define MAX_HFILES 4 // The order of these is the order they are displayed const HGAMEINFO m_gameInfo[MAX_HFILES] = { - { "history.dat", "\n**** :HISTORY: ****\n\n", "$bio", 1 }, - { "sysinfo.dat", "\n**** :SYSINFO: ****\n\n", "$bio", 1 }, - { "messinfo.dat", "\n**** :MESSINFO: ****\n\n", "$mame", 1 }, + { "history.xml", "\n**** :HISTORY: ****\n\n", "<text>", 1 }, { "mameinfo.dat", "\n**** :MAMEINFO: ****\n\n", "$mame", 1 }, { "gameinit.dat", "\n**** :GAMEINIT: ****\n\n", "$mame", 1 }, { "command.dat", "\n**** :COMMANDS: ****\n\n", "$cmd", 1 }, - { "story.dat", "\n**** :HIGH SCORES: ****\n\n", "$story", 0 }, - { "marp.dat", "\n**** :MARP HIGH SCORES: ****\n\n", "$marp", 0 }, }; const HSOURCEINFO m_sourceInfo[MAX_HFILES] = { { NULL }, - { NULL }, - { "messinfo.dat", "\n***:MESSINFO DRIVER: ", "$drv" }, { "mameinfo.dat", "\n***:MAMEINFO DRIVER: ", "$drv" }, { NULL }, { NULL }, - { NULL }, - { NULL }, }; const HSOURCEINFO m_swInfo[MAX_HFILES] = { - { "history.dat", "\n**** :HISTORY item: ", "$bio" }, - { NULL }, - { NULL }, - { NULL }, - { NULL }, + { "history.xml", "\n**** :HISTORY item: ", "<text>" }, { NULL }, { NULL }, { NULL }, @@ -105,8 +100,125 @@ const HSOURCEINFO m_swInfo[MAX_HFILES] = int file_sizes[MAX_HFILES] = { 0, }; std::map<std::string, std::streampos> mymap[MAX_HFILES]; +const size_t npos = std::string::npos; -static bool create_index(std::ifstream &fp, int filenum) +static void create_index_history(const char* datsdir, std::ifstream &fp, std::string file_line, int filenum) +{ + int what_to_do = 0; // 0 = xml not found; 1 = idx not found or version mismatch; 2 = both ok, need to read idx. + const std::string text1 = "<system name=", text4 = "\""; + std::string xml_ver, idx_ver; + size_t quot1 = npos, quot2 = npos; + + if (!fp.good()) + return; // xml not found + // get version from line 2 + std::getline(fp, file_line); + quot1 = file_line.find(text4); + if (quot1 != npos) + { + quot1++; + quot2 = file_line.find(text4, quot1); + if (quot2 != npos) + { + xml_ver = file_line.substr(quot1, quot2-quot1); + //printf("XML-VER = %s\n",xml_ver.c_str());fflush(stdout); + } + } + + std::string buf, filename = datsdir + std::string("\\history.idx"); + std::ifstream fi (filename); + if (!fi.good()) + what_to_do = 1; // idx not found + else + // get version from line 1 + { + std::getline(fi, idx_ver); + //printf("IDX-VER = %s\n",idx_ver.c_str());fflush(stdout); + if (xml_ver == idx_ver) + what_to_do = 2; + } + + //printf("*******2 %d\n",what_to_do);fflush(stdout); + // 2: just read idx into map + if (what_to_do == 2) + { + std::getline(fi, file_line); + while (fi.good()) + { + quot1 = file_line.find("="); + //std::string t4 = file_line.substr(0, quot1);printf("*** %s\n",t4.c_str());fflush(stdout); + //u32 t5 = stoi(file_line.substr(quot1+1));printf("*** %d\n",t5);fflush(stdout); + mymap[filenum][file_line.substr(0, quot1)] = stoi(file_line.substr(quot1+1)); + std::getline(fi, file_line); + } + fi.close(); + return; + } + + // 1: create idx then save it + fi.close(); + std::streampos key_position = file_line.size() + 2, text_position = 0U; // tellg is buggy, this works and is faster + while (fp.good()) + { + size_t find = file_line.find(text1); + std::string final_key; + if (find != npos) // found a system + { + // Find position of the 2 double-quotes + quot1 = file_line.find(text4); + if (quot1 != npos) + { + quot1++; + quot2 = file_line.find(text4, quot1); + if (quot2 != npos) + final_key = file_line.substr(quot1, quot2-quot1); + } + } + // If we passed the tests we now have the key, find the next text + if (!final_key.empty()) + { + bool found = false; + if (key_position > text_position) // else new key uses the same text as last time + { + // look for next text + text_position = key_position; // set to actual fp + for (;found == false;) + { + std::getline(fp, file_line); + find = file_line.find("<text>"); + if (find != npos) + { + found = true; + text_position += (find+6); + } + else + text_position += (file_line.size() + 2); + } + } + // Save info + mymap[filenum][final_key] = text_position; + } + fp.seekg(key_position); + std::getline(fp, file_line); + key_position += (file_line.size() + 2); + } + + // Save idx + FILE *f = fopen(filename.c_str(), "w"); + if (f == NULL) + { + printf("Unable to open history.idx for writing.\n"); + return; + } + + fprintf(f, "%s\n",xml_ver.c_str()); + for (auto const &it : mymap[filenum]) + fprintf(f, "%s=%d\n", it.first.c_str(), int(it.second)); + fclose(f); + +} + +static bool create_index(const char* datsdir, std::ifstream &fp, int filenum) { if (!fp.good()) return false; @@ -120,41 +232,103 @@ static bool create_index(std::ifstream &fp, int filenum) mymap[filenum].clear(); file_sizes[filenum] = file_size; fp.seekg(0); - std::string file_line, first, second; + std::string file_line; std::getline(fp, file_line); - int position = file_line.size() + 2; // tellg is buggy, this works and is faster - while (fp.good()) + if (filenum == 0) + create_index_history(datsdir, fp, file_line, filenum); + else { - char t1 = file_line[0]; - if ((std::count(file_line.begin(),file_line.end(),'=') == 1) && (t1 == '$')) // line must start with $ and contain one = + std::streampos position = file_line.size() + 2; // tellg is buggy, this works and is faster + while (fp.good()) { - // now start by removing all spaces - file_line.erase(remove_if(file_line.begin(), file_line.end(), ::isspace), file_line.end()); - char s[file_line.length()+1]; - strcpy(s, file_line.c_str()); - - const char* first = strtok(s, "="); // get first part of key - char* second = strtok(NULL, ","); // get second part - while (second) + if (file_line.find("$info=")==0) { - // store into index - mymap[filenum][std::string(first) + std::string("=") + std::string(second)] = position; - second = strtok(NULL, ","); + // now start by removing all spaces + file_line.erase(remove_if(file_line.begin(), file_line.end(), ::isspace), file_line.end()); + file_line.erase(0,6); + size_t t1 = npos; + while (file_line.length() > 0) + { + t1 = file_line.find(","); + // store into index + mymap[filenum][file_line.substr(0, t1)] = position; + if (t1 == npos) + file_line.erase(); + else + file_line.erase(0, t1+1); // erase key and comma + } } + std::getline(fp, file_line); + position += (file_line.size() + 2); } - std::getline(fp, file_line); - position += (file_line.size() + 2); } // check contents -// if (filenum == 0) -// for (auto const &it : mymap[filenum]) -// printf("%s = %X\n", it.first.c_str(), int(it.second)); +// if (filenum == 6) +// for (auto const &it : mymap[filenum]) +// printf("%s = %X\n", it.first.c_str(), int(it.second)); return true; } +static std::string convert_xml(std::string buf) +{ + // convert xml to real chars + if (!buf.empty()) + { + bool found = false; + size_t find = 0; + for (; found == false;) + { + find = buf.find("&"); + if (find != npos) + buf.replace(find,5,"&"); + else + found = true; + } + found = false; + for (; found == false;) + { + find = buf.find("'"); + if (find != npos) + buf.replace(find,6,"\'"); + else + found = true; + } + found = false; + for (; found == false;) + { + find = buf.find("""); + if (find != npos) + buf.replace(find,6,"\""); + else + found = true; + } + found = false; + for (; found == false;) + { + find = buf.find("<"); + if (find != npos) + buf.replace(find,4,"<"); + else + found = true; + } + found = false; + for (; found == false;) + { + find = buf.find(">"); + if (find != npos) + buf.replace(find,4,">"); + else + found = true; + } + } + return buf; +} + +std::string readbuf; + static std::string load_datafile_text(std::ifstream &fp, std::string keycode, int filenum, const char *tag) { - std::string readbuf; + readbuf.clear(); auto search = mymap[filenum].find(keycode); if (search != mymap[filenum].end()) @@ -163,13 +337,19 @@ static std::string load_datafile_text(std::ifstream &fp, std::string keycode, in fp.seekg(offset); std::string file_line; - /* read text until buffer is full or end of entry is encountered */ + // read text until buffer is full or end of entry is encountered while (std::getline(fp, file_line)) { - //printf("%s\n",file_line.c_str()); + //if (filenum == 6) ("*******2: %s\n",file_line.c_str()); + if (file_line == "- CONTRIBUTE -") + break; + if (file_line.find("$end")==0) break; + if (file_line.find("</text>") != npos) + break; + if (file_line.find(tag)==0) continue; @@ -180,9 +360,11 @@ static std::string load_datafile_text(std::ifstream &fp, std::string keycode, in return readbuf; } +std::string buffer; + std::string load_swinfo(const game_driver *drv, const char* datsdir, std::string software, int filenum) { - std::string buffer; + buffer.clear(); // if it's a NULL record exit now if (!m_swInfo[filenum].filename) return buffer; @@ -191,15 +373,13 @@ std::string load_swinfo(const game_driver *drv, const char* datsdir, std::string std::string buf, filename = datsdir + std::string("\\") + m_swInfo[filenum].filename; std::ifstream fp (filename); - /* try to open datafile */ - if (create_index(fp, filenum)) + // try to open datafile + if (create_index(datsdir, fp, filenum)) { size_t i = software.find(":"); - std::string ssys = software.substr(0, i); std::string ssoft = software.substr(i+1); - std::string first = std::string("$") + ssys + std::string("=") + ssoft; // get info on software - buf = load_datafile_text(fp, first, filenum, m_swInfo[filenum].descriptor); + buf = load_datafile_text(fp, software, filenum, m_swInfo[filenum].descriptor); if (!buf.empty()) buffer.append(m_swInfo[filenum].header).append(ssoft).append("\n").append(buf).append("\n\n\n"); @@ -207,12 +387,12 @@ std::string load_swinfo(const game_driver *drv, const char* datsdir, std::string fp.close(); } - return buffer; + return convert_xml(buffer); } std::string load_gameinfo(const game_driver *drv, const char* datsdir, int filenum) { - std::string buffer; + buffer.clear(); // if it's a NULL record exit now if (!m_gameInfo[filenum].filename) return buffer; @@ -221,13 +401,32 @@ std::string load_gameinfo(const game_driver *drv, const char* datsdir, int filen std::string buf, filename = datsdir + std::string("\\") + m_gameInfo[filenum].filename; std::ifstream fp (filename); - /* try to open datafile */ - if (create_index(fp, filenum)) + if (filenum == 0) { - std::string first = std::string("$info=")+drv->name; - // get info on game - buf = load_datafile_text(fp, first, filenum, m_gameInfo[filenum].descriptor); + // try to open history.xml + if (create_index(datsdir, fp, filenum)) + { + // get info on game + buf = load_datafile_text(fp, drv->name, filenum, m_gameInfo[filenum].descriptor); + // if nothing, and it's a clone, and it's allowed, try the parent + if (buf.empty() && m_gameInfo[filenum].bClone) + { + int g = driver_list::clone(*drv); + if (g != -1) + { + drv = &driver_list::driver(g); + buf = load_datafile_text(fp, drv->name, filenum, m_gameInfo[filenum].descriptor); + } + } + } + } + else + // try to open datafile + if (create_index(datsdir, fp, filenum)) + { + // get info on game + buf = load_datafile_text(fp, drv->name, filenum, m_gameInfo[filenum].descriptor); // if nothing, and it's a clone, and it's allowed, try the parent if (buf.empty() && m_gameInfo[filenum].bClone) { @@ -235,23 +434,22 @@ std::string load_gameinfo(const game_driver *drv, const char* datsdir, int filen if (g != -1) { drv = &driver_list::driver(g); - first = std::string("$info=")+drv->name; - buf = load_datafile_text(fp, first, filenum, m_gameInfo[filenum].descriptor); + buf = load_datafile_text(fp, drv->name, filenum, m_gameInfo[filenum].descriptor); } } + } - if (!buf.empty()) - buffer.append(m_gameInfo[filenum].header).append(buf).append("\n\n\n"); + if (!buf.empty()) + buffer.append(m_gameInfo[filenum].header).append(buf).append("\n\n\n"); - fp.close(); - } + fp.close(); - return buffer; + return convert_xml(buffer); } std::string load_sourceinfo(const game_driver *drv, const char* datsdir, int filenum) { - std::string buffer; + buffer.clear(); // if it's a NULL record exit now if (!m_sourceInfo[filenum].filename) return buffer; @@ -264,11 +462,10 @@ std::string load_sourceinfo(const game_driver *drv, const char* datsdir, int fil size_t i = source.find_last_of("/"); source.erase(0,i+1); - if (create_index(fp, filenum)) + if (create_index(datsdir, fp, filenum)) { - std::string first = std::string("$info=")+source; // get info on game driver source - buf = load_datafile_text(fp, first, filenum, m_sourceInfo[filenum].descriptor); + buf = load_datafile_text(fp, source, filenum, m_sourceInfo[filenum].descriptor); if (!buf.empty()) buffer.append(m_sourceInfo[filenum].header).append(source).append("\n").append(buf).append("\n\n\n"); @@ -287,9 +484,9 @@ std::string load_driver_geninfo(const game_driver *drv, int drvindex) const game_driver *parent = NULL; char name[512]; bool is_bios = false; - std::string buffer = "\n**** :GENERAL MACHINE INFO: ****\n\n"; + buffer = "\n**** :GENERAL MACHINE INFO: ****\n\n"; - /* List the game info 'flags' */ + // List the game info 'flags' uint32_t cache = GetDriverCacheLower(drvindex); if (BIT(cache, 6)) buffer.append("This game doesn't work properly\n"); @@ -329,14 +526,14 @@ std::string load_driver_geninfo(const game_driver *drv, int drvindex) if (drv->flags & MACHINE_IS_BIOS_ROOT) is_bios = true; - /* GAME INFORMATIONS */ + // GAME INFORMATIONS snprintf(name, std::size(name), "\nGAME: %s\n", drv->name); buffer.append(name); snprintf(name, std::size(name), "%s", drv->type.fullname()); buffer.append(name); snprintf(name, std::size(name), " (%s %s)\n\nCPU:\n", drv->manufacturer, drv->year); buffer.append(name); - /* iterate over CPUs */ + // iterate over CPUs execute_interface_enumerator cpuiter(config.root_device()); std::unordered_set<std::string> exectags; @@ -370,7 +567,7 @@ std::string load_driver_geninfo(const game_driver *drv, int drvindex) buffer.append("\nSOUND:\n"); int has_sound = 0; - /* iterate over sound chips */ + // iterate over sound chips sound_interface_enumerator sounditer(config.root_device()); std::unordered_set<std::string> soundtags; @@ -583,13 +780,14 @@ bool validate_datfiles(void) return result; } +std::string fullbuf; // For all of MAME builds - called by winui.cpp char * GetGameHistory(int driver_index, std::string software) { - std::string fullbuf; + fullbuf.clear(); if (driver_index < 0) - return ConvertToWindowsNewlines(fullbuf.c_str()); + return ConvertToWindowsNewlines(fullbuf.c_str()); if (validate_datfiles()) { @@ -604,7 +802,7 @@ char * GetGameHistory(int driver_index, std::string software) if (!software.empty()) { size_t i = software.find(':'); - sw_valid = (i != std::string::npos) ? true : false; + sw_valid = (i != npos) ? true : false; } if (datsdir && osd::directory::open(datsdir)) @@ -631,9 +829,9 @@ char * GetGameHistory(int driver_index, std::string software) // For Arcade-only builds char * GetGameHistory(int driver_index) { - std::string fullbuf; + fullbuf.clear(); if (driver_index < 0) - return ConvertToWindowsNewlines(fullbuf.c_str()); + return ConvertToWindowsNewlines(fullbuf.c_str()); if (validate_datfiles()) { diff --git a/docs/release/src/osd/winui/history.old b/docs/release/src/osd/winui/history.old new file mode 100644 index 00000000000..b4cdfe718f6 --- /dev/null +++ b/docs/release/src/osd/winui/history.old @@ -0,0 +1,664 @@ +// For licensing and usage information, read docs/release/winui_license.txt +// MASTER +/*************************************************************************** + + history.cpp + + * history functions. + * History database engine + * Collect all information on the selected driver, and return it as + * a string. Called by winui.cpp + + * Token parsing by Neil Bradley + * Modifications and higher-level functions by John Butler + + * Further work by Mamesick and Robbbert + + * Completely rewritten by Robbbert in July 2017 + * Notes: + * - The order listed in m_gameInfo is the order the data is displayed. + * - The other tables must have the files in the same places so that + * the index numbers line up. Anything with NULL indicates an + * unsupported option (the file doesn't contain the info). + * - Each table must contain at least MAX_HFILES members (extra lines + * are ignored) + * - Software comes first, followed by Game then Source. +***************************************************************************/ +// license:BSD-3-Clause +// copyright-holders:Chris Kirmse, Mike Haaland, René Single, Mamesick, Robbbert + +#include <windows.h> +#include <fstream> + +// MAME/MAMEUI headers +#include "emu.h" +#include "screen.h" +#include "speaker.h" +#include "drivenum.h" +#include "mui_util.h" +#include "mui_opts.h" +#include "emu_opts.h" +#include "sound/samples.h" + + +/**************************************************************************** + * struct definitions + ****************************************************************************/ +typedef struct +{ + LPCSTR filename; + LPCSTR header; + LPCSTR descriptor; + bool bClone; // if nothing found for a clone, try the parent +} +HGAMEINFO; + +typedef struct +{ + LPCSTR filename; + LPCSTR header; + LPCSTR descriptor; +} +HSOURCEINFO; + +/*************************** START CONFIGURABLE AREA *******************************/ +// number of dats we support +#define MAX_HFILES 8 +// The order of these is the order they are displayed +const HGAMEINFO m_gameInfo[MAX_HFILES] = +{ + { "history.dat", "\n**** :HISTORY: ****\n\n", "$bio", 1 }, + { "sysinfo.dat", "\n**** :SYSINFO: ****\n\n", "$bio", 1 }, + { "messinfo.dat", "\n**** :MESSINFO: ****\n\n", "$mame", 1 }, + { "mameinfo.dat", "\n**** :MAMEINFO: ****\n\n", "$mame", 1 }, + { "gameinit.dat", "\n**** :GAMEINIT: ****\n\n", "$mame", 1 }, + { "command.dat", "\n**** :COMMANDS: ****\n\n", "$cmd", 1 }, + { "story.dat", "\n**** :HIGH SCORES: ****\n\n", "$story", 0 }, + { "marp.dat", "\n**** :MARP HIGH SCORES: ****\n\n", "$marp", 0 }, +}; + +const HSOURCEINFO m_sourceInfo[MAX_HFILES] = +{ + { NULL }, + { NULL }, + { "messinfo.dat", "\n***:MESSINFO DRIVER: ", "$drv" }, + { "mameinfo.dat", "\n***:MAMEINFO DRIVER: ", "$drv" }, + { NULL }, + { NULL }, + { NULL }, + { NULL }, +}; + +const HSOURCEINFO m_swInfo[MAX_HFILES] = +{ + { "history.dat", "\n**** :HISTORY item: ", "$bio" }, + { NULL }, + { NULL }, + { NULL }, + { NULL }, + { NULL }, + { NULL }, + { NULL }, +}; + +/*************************** END CONFIGURABLE AREA *******************************/ + +int file_sizes[MAX_HFILES] = { 0, }; +std::map<std::string, std::streampos> mymap[MAX_HFILES]; + +static bool create_index(std::ifstream &fp, int filenum) +{ + if (!fp.good()) + return false; + // get file size + fp.seekg(0, std::ios::end); + size_t file_size = fp.tellg(); + // same file as before? + if (file_size == file_sizes[filenum]) + return true; + // new file, it needs to be indexed + mymap[filenum].clear(); + file_sizes[filenum] = file_size; + fp.seekg(0); + std::string file_line, first, second; + std::getline(fp, file_line); + int position = file_line.size() + 2; // tellg is buggy, this works and is faster + while (fp.good()) + { + char t1 = file_line[0]; + if ((std::count(file_line.begin(),file_line.end(),'=') == 1) && (t1 == '$')) // line must start with $ and contain one = + { + // now start by removing all spaces + file_line.erase(remove_if(file_line.begin(), file_line.end(), ::isspace), file_line.end()); + char s[file_line.length()+1]; + strcpy(s, file_line.c_str()); + + const char* first = strtok(s, "="); // get first part of key + char* second = strtok(NULL, ","); // get second part + while (second) + { + // store into index + mymap[filenum][std::string(first) + std::string("=") + std::string(second)] = position; + second = strtok(NULL, ","); + } + } + std::getline(fp, file_line); + position += (file_line.size() + 2); + } + // check contents +// if (filenum == 0) +// for (auto const &it : mymap[filenum]) +// printf("%s = %X\n", it.first.c_str(), int(it.second)); + return true; +} + +static std::string load_datafile_text(std::ifstream &fp, std::string keycode, int filenum, const char *tag) +{ + std::string readbuf; + + auto search = mymap[filenum].find(keycode); + if (search != mymap[filenum].end()) + { + std::streampos offset = mymap[filenum].find(keycode)->second; + fp.seekg(offset); + std::string file_line; + + /* read text until buffer is full or end of entry is encountered */ + while (std::getline(fp, file_line)) + { + //printf("%s\n",file_line.c_str()); + if (file_line.find("$end")==0) + break; + + if (file_line.find(tag)==0) + continue; + + readbuf.append(file_line).append("\n"); + } + } + + return readbuf; +} + +std::string load_swinfo(const game_driver *drv, const char* datsdir, std::string software, int filenum) +{ + std::string buffer; + // if it's a NULL record exit now + if (!m_swInfo[filenum].filename) + return buffer; + + // datafile name + std::string buf, filename = datsdir + std::string("\\") + m_swInfo[filenum].filename; + std::ifstream fp (filename); + + /* try to open datafile */ + if (create_index(fp, filenum)) + { + size_t i = software.find(":"); + std::string ssys = software.substr(0, i); + std::string ssoft = software.substr(i+1); + std::string first = std::string("$") + ssys + std::string("=") + ssoft; + // get info on software + buf = load_datafile_text(fp, first, filenum, m_swInfo[filenum].descriptor); + + if (!buf.empty()) + buffer.append(m_swInfo[filenum].header).append(ssoft).append("\n").append(buf).append("\n\n\n"); + + fp.close(); + } + + return buffer; +} + +std::string load_gameinfo(const game_driver *drv, const char* datsdir, int filenum) +{ + std::string buffer; + // if it's a NULL record exit now + if (!m_gameInfo[filenum].filename) + return buffer; + + // datafile name + std::string buf, filename = datsdir + std::string("\\") + m_gameInfo[filenum].filename; + std::ifstream fp (filename); + + /* try to open datafile */ + if (create_index(fp, filenum)) + { + std::string first = std::string("$info=")+drv->name; + // get info on game + buf = load_datafile_text(fp, first, filenum, m_gameInfo[filenum].descriptor); + + // if nothing, and it's a clone, and it's allowed, try the parent + if (buf.empty() && m_gameInfo[filenum].bClone) + { + int g = driver_list::clone(*drv); + if (g != -1) + { + drv = &driver_list::driver(g); + first = std::string("$info=")+drv->name; + buf = load_datafile_text(fp, first, filenum, m_gameInfo[filenum].descriptor); + } + } + + if (!buf.empty()) + buffer.append(m_gameInfo[filenum].header).append(buf).append("\n\n\n"); + + fp.close(); + } + + return buffer; +} + +std::string load_sourceinfo(const game_driver *drv, const char* datsdir, int filenum) +{ + std::string buffer; + // if it's a NULL record exit now + if (!m_sourceInfo[filenum].filename) + return buffer; + + // datafile name + std::string buf, filename = datsdir + std::string("\\") + m_sourceInfo[filenum].filename; + std::ifstream fp (filename); + + std::string source = drv->type.source(); + size_t i = source.find_last_of("/"); + source.erase(0,i+1); + + if (create_index(fp, filenum)) + { + std::string first = std::string("$info=")+source; + // get info on game driver source + buf = load_datafile_text(fp, first, filenum, m_sourceInfo[filenum].descriptor); + + if (!buf.empty()) + buffer.append(m_sourceInfo[filenum].header).append(source).append("\n").append(buf).append("\n\n\n"); + + fp.close(); + } + + return buffer; +} + + +// General hardware information +std::string load_driver_geninfo(const game_driver *drv, int drvindex) +{ + machine_config config(*drv, MameUIGlobal()); + const game_driver *parent = NULL; + char name[512]; + bool is_bios = false; + std::string buffer = "\n**** :GENERAL MACHINE INFO: ****\n\n"; + + /* List the game info 'flags' */ + uint32_t cache = GetDriverCacheLower(drvindex); + if (BIT(cache, 6)) + buffer.append("This game doesn't work properly\n"); + + if (BIT(cache, 22)) + buffer.append("This game has protection which isn't fully emulated.\n"); + + if (BIT(cache, 18)) + buffer.append("The video emulation isn't 100% accurate.\n"); + + if (BIT(cache, 21)) + buffer.append("The colors are completely wrong.\n"); + + if (BIT(cache, 20)) + buffer.append("The colors aren't 100% accurate.\n"); + + if (BIT(cache, 17)) + buffer.append("This game lacks sound.\n"); + + if (BIT(cache, 16)) + buffer.append("The sound emulation isn't 100% accurate.\n"); + + if (BIT(cache, 7)) + buffer.append("Save state not supported.\n"); + + if (BIT(cache, 14)) + buffer.append("This game contains mechanical parts.\n"); + + if (BIT(cache, 15)) + buffer.append("This game was never completed.\n"); + + if (BIT(cache, 13)) + buffer.append("This game has no sound hardware.\n"); + + buffer.append("\n"); + + if (drv->flags & MACHINE_IS_BIOS_ROOT) + is_bios = true; + + /* GAME INFORMATIONS */ + snprintf(name, std::size(name), "\nGAME: %s\n", drv->name); + buffer.append(name); + snprintf(name, std::size(name), "%s", drv->type.fullname()); + buffer.append(name); + snprintf(name, std::size(name), " (%s %s)\n\nCPU:\n", drv->manufacturer, drv->year); + buffer.append(name); + /* iterate over CPUs */ + execute_interface_enumerator cpuiter(config.root_device()); + std::unordered_set<std::string> exectags; + + for (device_execute_interface &exec : cpuiter) + { + if (!exectags.insert(exec.device().tag()).second) + continue; + + int count = 1; + int clock = exec.device().clock(); + const char *cpu_name = exec.device().name(); + + for (device_execute_interface &scan : cpuiter) + if (exec.device().type() == scan.device().type() && strcmp(cpu_name, scan.device().name()) == 0 && clock == scan.device().clock()) + if (exectags.insert(scan.device().tag()).second) + count++; + + if (count > 1) + { + snprintf(name, std::size(name), "%d x ", count); + buffer.append(name); + } + + if (clock >= 1000000) + snprintf(name, std::size(name), "%s %d.%06d MHz\n", cpu_name, clock / 1000000, clock % 1000000); + else + snprintf(name, std::size(name), "%s %d.%03d kHz\n", cpu_name, clock / 1000, clock % 1000); + + buffer.append(name); + } + + buffer.append("\nSOUND:\n"); + int has_sound = 0; + /* iterate over sound chips */ + sound_interface_enumerator sounditer(config.root_device()); + std::unordered_set<std::string> soundtags; + + for (device_sound_interface &sound : sounditer) + { + if (!soundtags.insert(sound.device().tag()).second) + continue; + + has_sound = 1; + int count = 1; + int clock = sound.device().clock(); + const char *sound_name = sound.device().name(); + + for (device_sound_interface &scan : sounditer) + if (sound.device().type() == scan.device().type() && strcmp(sound_name, scan.device().name()) == 0 && clock == scan.device().clock()) + if (soundtags.insert(scan.device().tag()).second) + count++; + + if (count > 1) + { + snprintf(name, std::size(name), "%d x ", count); + buffer.append(name); + } + + buffer.append(sound_name); + + if (clock) + { + if (clock >= 1000000) + snprintf(name, std::size(name), " %d.%06d MHz", clock / 1000000, clock % 1000000); + else + snprintf(name, std::size(name), " %d.%03d kHz", clock / 1000, clock % 1000); + + buffer.append(name); + } + + buffer.append("\n"); + } + + if (has_sound) + { + speaker_device_enumerator audioiter(config.root_device()); + int channels = audioiter.count(); + + if(channels == 1) + snprintf(name, std::size(name), "%d Channel\n", channels); + else + snprintf(name, std::size(name), "%d Channels\n", channels); + + buffer.append(name); + } + + buffer.append("\nVIDEO:\n"); + screen_device_enumerator screeniter(config.root_device()); + int scrcount = screeniter.count(); + + if (scrcount == 0) + buffer.append("Screenless"); + else + { + for (screen_device &screen : screeniter) + { + if (screen.screen_type() == SCREEN_TYPE_VECTOR) + buffer.append("Vector"); + else + { + const rectangle &visarea = screen.visible_area(); + + if (drv->flags & ORIENTATION_SWAP_XY) + snprintf(name, std::size(name), "%d x %d (V) %f Hz", visarea.width(), visarea.height(), ATTOSECONDS_TO_HZ(screen.refresh_attoseconds())); + else + snprintf(name, std::size(name), "%d x %d (H) %f Hz", visarea.width(), visarea.height(), ATTOSECONDS_TO_HZ(screen.refresh_attoseconds())); + + buffer.append(name); + } + + buffer.append("\n"); + } + } + + buffer.append("\nROM REGION:\n"); + int g = driver_list::clone(*drv); + + if (g != -1) + parent = &driver_list::driver(g); + + for (device_t &device : device_enumerator(config.root_device())) + { + for (const rom_entry *region = rom_first_region(device); region; region = rom_next_region(region)) + { + for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom)) + { + util::hash_collection hashes(rom->hashdata()); + + if (g != -1) + { + machine_config pconfig(*parent, MameUIGlobal()); + + for (device_t &device : device_enumerator(pconfig.root_device())) + { + for (const rom_entry *pregion = rom_first_region(device); pregion; pregion = rom_next_region(pregion)) + { + for (const rom_entry *prom = rom_first_file(pregion); prom; prom = rom_next_file(prom)) + { + util::hash_collection phashes(prom->hashdata()); + + if (hashes == phashes) + break; + } + } + } + } + + snprintf(name, std::size(name), "%-16s \t", ROM_GETNAME(rom)); + buffer.append(name); + snprintf(name, std::size(name), "%09d \t", rom_file_size(rom)); + buffer.append(name); + snprintf(name, std::size(name), "%-10s", region->name().c_str()); + buffer.append(name).append("\n"); + } + } + } + + for (samples_device &device : samples_device_enumerator(config.root_device())) + { + samples_iterator sampiter(device); + + if (sampiter.altbasename()) + { + snprintf(name, std::size(name), "\nSAMPLES (%s):\n", sampiter.altbasename()); + buffer.append(name); + } + + std::unordered_set<std::string> already_printed; + + for (const char *samplename = sampiter.first(); samplename; samplename = sampiter.next()) + { + // filter out duplicates + if (!already_printed.insert(samplename).second) + continue; + + // output the sample name + snprintf(name, std::size(name), "%s.wav\n", samplename); + buffer.append(name); + } + } + + if (!is_bios) + { + int g = driver_list::clone(*drv); + + if (g != -1) + drv = &driver_list::driver(g); + + buffer.append("\nORIGINAL:\n"); + buffer.append(drv->type.fullname()); + buffer.append("\n\nCLONES:\n"); + + for (int i = 0; i < driver_list::total(); i++) + { + if (!strcmp (drv->name, driver_list::driver(i).parent)) + { + buffer.append(driver_list::driver(i).type.fullname()); + buffer.append("\n"); + } + } + } + + string temp = string(core_filename_extract_base(drv->type.source(), false)); + char source_file[temp.size()+1], tmp[2048]; + strcpy(source_file, temp.c_str()); + snprintf(tmp, std::size(tmp), "\nGENERAL SOURCE INFO: %s\n", temp.c_str()); + buffer.append(tmp); + buffer.append("\nGAMES SUPPORTED:\n"); + + for (int i = 0; i < driver_list::total(); i++) + { + std::string t1 = driver_list::driver(i).type.source(); + size_t j = t1.find_last_of("/"); + t1.erase(0, j+1); + if ((strcmp(source_file, t1.c_str())==0) && !(DriverIsBios(i))) + buffer.append(driver_list::driver(i).type.fullname()).append("\n"); + } + + return buffer; +} + +// This is check that the tables are at least as big as they should be +bool validate_datfiles(void) +{ + bool result = true; + if (std::size(m_gameInfo) < MAX_HFILES) + { + printf("m_gameInfo needs to have at least MAX_HFILES members\n"); + result = false; + } + + if (std::size(m_sourceInfo) < MAX_HFILES) + { + printf("m_sourceInfo needs to have at least MAX_HFILES members\n"); + result = false; + } + + if (std::size(m_swInfo) < MAX_HFILES) + { + printf("m_swInfo needs to have at least MAX_HFILES members\n"); + result = false; + } + + return result; +} + + +// For all of MAME builds - called by winui.cpp +char * GetGameHistory(int driver_index, std::string software) +{ + std::string fullbuf; + if (driver_index < 0) + return ConvertToWindowsNewlines(fullbuf.c_str()); + + if (validate_datfiles()) + { + // Get the path to dat files + std::string t = dir_get_value(23); + char buf[t.size()+1]; + strcpy(buf, t.c_str()); + // only want first path + const char* datsdir = strtok(buf, ";"); + // validate software + BOOL sw_valid = false; + if (!software.empty()) + { + size_t i = software.find(':'); + sw_valid = (i != std::string::npos) ? true : false; + } + + if (datsdir && osd::directory::open(datsdir)) + { + for (int filenum = 0; filenum < MAX_HFILES; filenum++) + { + if (sw_valid) + fullbuf.append(load_swinfo(&driver_list::driver(driver_index), datsdir, software, filenum)); + fullbuf.append(load_gameinfo(&driver_list::driver(driver_index), datsdir, filenum)); + fullbuf.append(load_sourceinfo(&driver_list::driver(driver_index), datsdir, filenum)); + } + } + else + fullbuf = "\nThe path to your dat files is invalid.\n\n\n"; + } + else + fullbuf = "\nUnable to display info due to an internal error.\n\n\n"; + + fullbuf.append(load_driver_geninfo(&driver_list::driver(driver_index), driver_index)); + + return ConvertToWindowsNewlines(fullbuf.c_str()); +} + +// For Arcade-only builds +char * GetGameHistory(int driver_index) +{ + std::string fullbuf; + if (driver_index < 0) + return ConvertToWindowsNewlines(fullbuf.c_str()); + + if (validate_datfiles()) + { + std::string t = dir_get_value(23); + char buf[t.size()+1]; + strcpy(buf, t.c_str()); + // only want first path + const char* datsdir = strtok(buf, ";"); + + if (datsdir && osd::directory::open(datsdir)) + { + for (int filenum = 0; filenum < MAX_HFILES; filenum++) + { + fullbuf.append(load_gameinfo(&driver_list::driver(driver_index), datsdir, filenum)); + fullbuf.append(load_sourceinfo(&driver_list::driver(driver_index), datsdir, filenum)); + } + } + else + fullbuf = "\nThe path to your dat files is invalid.\n\n\n"; + } + else + fullbuf = "\nUnable to display info due to an internal error.\n\n\n"; + + fullbuf.append(load_driver_geninfo(&driver_list::driver(driver_index), driver_index)); + + return ConvertToWindowsNewlines(fullbuf.c_str()); +} + diff --git a/docs/release/src/osd/winui/properties.cpp b/docs/release/src/osd/winui/properties.cpp index 66102807df9..e2725687526 100644 --- a/docs/release/src/osd/winui/properties.cpp +++ b/docs/release/src/osd/winui/properties.cpp @@ -2686,36 +2686,36 @@ static void BuildDataMap(void) datamap_set_float_format(properties_datamap, IDC_BRIGHTCORRECTDISP, "%3.2f"); datamap_set_float_format(properties_datamap, IDC_CONTRASTDISP, "%3.2f"); datamap_set_float_format(properties_datamap, IDC_PAUSEBRIGHTDISP, "%3.2f"); - datamap_set_float_format(properties_datamap, IDC_FSGAMMADISP, "%3.1f"); - datamap_set_float_format(properties_datamap, IDC_FSBRIGHTNESSDISP, "%3.1f"); - datamap_set_float_format(properties_datamap, IDC_FSCONTRASTDISP, "%3.1f"); + datamap_set_float_format(properties_datamap, IDC_FSGAMMADISP, "%3.2f"); + datamap_set_float_format(properties_datamap, IDC_FSBRIGHTNESSDISP, "%3.2f"); + datamap_set_float_format(properties_datamap, IDC_FSCONTRASTDISP, "%3.2f"); datamap_set_float_format(properties_datamap, IDC_JDZDISP, "%3.2f"); datamap_set_float_format(properties_datamap, IDC_JSATDISP, "%3.2f"); - datamap_set_float_format(properties_datamap, IDC_SPEEDDISP, "%3.2f"); + datamap_set_float_format(properties_datamap, IDC_SPEEDDISP, "%3.1f"); datamap_set_float_format(properties_datamap, IDC_PORTAUDIO_LATENCY_DISP, "%3.2f"); // trackbar ranges - slider-name,start,end,step datamap_set_trackbar_range(properties_datamap, IDC_JDZ, 0.00, 1.00, (float)0.05); datamap_set_trackbar_range(properties_datamap, IDC_JSAT, 0.00, 1.00, (float)0.05); - datamap_set_trackbar_range(properties_datamap, IDC_SPEED, 0.00, 3.00, (float)0.01); + datamap_set_trackbar_range(properties_datamap, IDC_SPEED, 0.1, 100.00, (float)0.1); datamap_set_trackbar_range(properties_datamap, IDC_BEAM_MIN, 0.00, 1.00, (float)0.01); datamap_set_trackbar_range(properties_datamap, IDC_BEAM_MAX, 1.00, 10.00, (float)0.01); datamap_set_trackbar_range(properties_datamap, IDC_BEAM_INTEN, -10.00, 10.00, (float)0.01); datamap_set_trackbar_range(properties_datamap, IDC_BEAM_DOT, 1, 4, 1); datamap_set_trackbar_range(properties_datamap, IDC_FLICKER, 0.00, 1.00, (float)0.01); datamap_set_trackbar_range(properties_datamap, IDC_AUDIO_LATENCY, 1, 5, 1); - datamap_set_trackbar_range(properties_datamap, IDC_PORTAUDIO_LATENCY, 0.00, 1.00, (float)0.01); + datamap_set_trackbar_range(properties_datamap, IDC_PORTAUDIO_LATENCY, 0.00, 0.25, (float)0.01); datamap_set_trackbar_range(properties_datamap, IDC_VOLUME, -32, 0, 1); datamap_set_trackbar_range(properties_datamap, IDC_SECONDSTORUN, 0, 60, 1); datamap_set_trackbar_range(properties_datamap, IDC_NUMSCREENS, 1, 4, 1); datamap_set_trackbar_range(properties_datamap, IDC_PRESCALE, 1, 8, 1); - datamap_set_trackbar_range(properties_datamap, IDC_FSGAMMA, 0.0, 8.0, (float)0.5); - datamap_set_trackbar_range(properties_datamap, IDC_FSBRIGHTNESS, 0.1, 2.0, (float)0.1); - datamap_set_trackbar_range(properties_datamap, IDC_FSCONTRAST, 0.1, 4.0, (float)0.1); - datamap_set_trackbar_range(properties_datamap, IDC_GAMMA, 0.0, 3.0, (float)0.1); - datamap_set_trackbar_range(properties_datamap, IDC_BRIGHTCORRECT, 0.0, 2.0, (float)0.1); - datamap_set_trackbar_range(properties_datamap, IDC_CONTRAST, 0.0, 2.0, (float)0.1); - datamap_set_trackbar_range(properties_datamap, IDC_PAUSEBRIGHT, 0.0, 1.0, (float)0.05); + datamap_set_trackbar_range(properties_datamap, IDC_FSGAMMA, 0.1, 3.0, 0.5); + datamap_set_trackbar_range(properties_datamap, IDC_FSBRIGHTNESS, 0.1, 2.0, 0.1); + datamap_set_trackbar_range(properties_datamap, IDC_FSCONTRAST, 0.1, 2.0, 0.1); + datamap_set_trackbar_range(properties_datamap, IDC_GAMMA, 0.1, 3.0, 0.1); + datamap_set_trackbar_range(properties_datamap, IDC_BRIGHTCORRECT, 0.1, 2.0, 0.1); + datamap_set_trackbar_range(properties_datamap, IDC_CONTRAST, 0.1, 2.0, 0.1); + datamap_set_trackbar_range(properties_datamap, IDC_PAUSEBRIGHT, 0.0, 1.0, 0.05); datamap_set_trackbar_range(properties_datamap, IDC_BOOTDELAY, 0, 5, 1); datamap_set_trackbar_range(properties_datamap, IDC_INTSCALEX, 0, 4, 1); datamap_set_trackbar_range(properties_datamap, IDC_INTSCALEY, 0, 4, 1); diff --git a/docs/release/src/version.cpp b/docs/release/src/version.cpp index 7e3be75fc6a..c33180d9de3 100644 --- a/docs/release/src/version.cpp +++ b/docs/release/src/version.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ -#define BARE_BUILD_VERSION "0.245.11" +#define BARE_BUILD_VERSION "0.245.12" extern const char bare_build_version[]; extern const char build_version[]; @@ -1546,7 +1546,7 @@ endif ifeq (posix,$(SHELLTYPE)) $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo '#define BARE_BUILD_VERSION "0.245.11"' > $@ + @echo '#define BARE_BUILD_VERSION "0.245.12"' > $@ @echo '#define BARE_VCS_REVISION "$(NEW_GIT_VERSION)"' >> $@ @echo 'extern const char bare_build_version[];' >> $@ @echo 'extern const char bare_vcs_revision[];' >> $@ @@ -1556,7 +1556,7 @@ $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) @echo 'const char build_version[] = BARE_BUILD_VERSION " (" BARE_VCS_REVISION ")";' >> $@ else $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo #define BARE_BUILD_VERSION "0.245.11" > $@ + @echo #define BARE_BUILD_VERSION "0.245.12" > $@ @echo #define BARE_VCS_REVISION "$(NEW_GIT_VERSION)" >> $@ @echo extern const char bare_build_version[]; >> $@ @echo extern const char bare_vcs_revision[]; >> $@ diff --git a/src/version.cpp b/src/version.cpp index 7e3be75fc6a..c33180d9de3 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ -#define BARE_BUILD_VERSION "0.245.11" +#define BARE_BUILD_VERSION "0.245.12" extern const char bare_build_version[]; extern const char build_version[]; |