summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2023-06-15 14:44:50 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2023-06-15 14:44:50 +1000
commitfc53c8013c641d4a73f42e18e0705414c2675bcd (patch)
tree9313f905350758dd21213d7aeca238a3016f6933
parenta2b6c0bfbdd6b11be8e59c9a6e354bb177d21422 (diff)
Files for 12tag24512
-rw-r--r--docs/release/docs/hbnew.txt2
-rw-r--r--docs/release/makefile4
-rw-r--r--docs/release/src/hbmame/drivers/cps1mis.cpp4
-rw-r--r--docs/release/src/hbmame/drivers/dkong.cpp4
-rw-r--r--docs/release/src/hbmame/drivers/galaxian.cpp2
-rw-r--r--docs/release/src/hbmame/drivers/mhavoc_hb.cpp220
-rw-r--r--docs/release/src/hbmame/drivers/neogeo.cpp24
-rw-r--r--docs/release/src/hbmame/drivers/neogeo_noslot.cpp1
-rw-r--r--docs/release/src/hbmame/drivers/neogeohb.cpp97
-rw-r--r--docs/release/src/hbmame/drivers/taito_f3.cpp104
-rw-r--r--docs/release/src/hbmame/hbmame.lst104
-rw-r--r--docs/release/src/hbmame/igs/igs022.cpp416
-rw-r--r--docs/release/src/hbmame/igs/igs022.h43
-rw-r--r--docs/release/src/hbmame/igs/igs025.cpp339
-rw-r--r--docs/release/src/hbmame/igs/igs025.h59
-rw-r--r--docs/release/src/hbmame/igs/igs028.cpp215
-rw-r--r--docs/release/src/hbmame/igs/igs028.h32
-rw-r--r--docs/release/src/hbmame/igs/pgm.cpp5812
-rw-r--r--docs/release/src/hbmame/igs/pgm.h171
-rw-r--r--docs/release/src/hbmame/igs/pgm_drv.zipbin0 -> 58962 bytes
-rw-r--r--docs/release/src/hbmame/igs/pgm_drv3.zipbin0 -> 91205 bytes
-rw-r--r--docs/release/src/hbmame/igs/pgm_hb.cpp20775
-rw-r--r--docs/release/src/hbmame/igs/pgm_v.cpp718
-rw-r--r--docs/release/src/hbmame/igs/pgmcrypt.cpp1689
-rw-r--r--docs/release/src/hbmame/igs/pgmcrypt.h41
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs025_igs012.cpp225
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs025_igs012.h28
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs025_igs022.cpp444
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs025_igs022.h34
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs025_igs028.cpp215
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs025_igs028.h33
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs027a_type1.cpp2513
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs027a_type1.h156
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs027a_type2.cpp330
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs027a_type2.h56
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs027a_type3.cpp869
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_igs027a_type3.h79
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_orlegend.cpp228
-rw-r--r--docs/release/src/hbmame/igs/pgmprot_orlegend.h30
-rw-r--r--docs/release/src/hbmame/includes/neogeo.h2
-rw-r--r--docs/release/src/osd/winui/hbmameui.rc50
-rw-r--r--docs/release/src/osd/winui/history.cpp346
-rw-r--r--docs/release/src/osd/winui/history.old664
-rw-r--r--docs/release/src/osd/winui/properties.cpp26
-rw-r--r--docs/release/src/version.cpp2
-rw-r--r--makefile4
-rw-r--r--src/version.cpp2
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(&region_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
new file mode 100644
index 00000000000..2bcd98a350c
--- /dev/null
+++ b/docs/release/src/hbmame/igs/pgm_drv.zip
Binary files differ
diff --git a/docs/release/src/hbmame/igs/pgm_drv3.zip b/docs/release/src/hbmame/igs/pgm_drv3.zip
new file mode 100644
index 00000000000..ad37fc345f6
--- /dev/null
+++ b/docs/release/src/hbmame/igs/pgm_drv3.zip
Binary files differ
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("&amp;");
+ if (find != npos)
+ buf.replace(find,5,"&");
+ else
+ found = true;
+ }
+ found = false;
+ for (; found == false;)
+ {
+ find = buf.find("&apos;");
+ if (find != npos)
+ buf.replace(find,6,"\'");
+ else
+ found = true;
+ }
+ found = false;
+ for (; found == false;)
+ {
+ find = buf.find("&quot;");
+ if (find != npos)
+ buf.replace(find,6,"\"");
+ else
+ found = true;
+ }
+ found = false;
+ for (; found == false;)
+ {
+ find = buf.find("&lt;");
+ if (find != npos)
+ buf.replace(find,4,"<");
+ else
+ found = true;
+ }
+ found = false;
+ for (; found == false;)
+ {
+ find = buf.find("&gt;");
+ 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[];
diff --git a/makefile b/makefile
index 3927b63cd82..4e38acd89ba 100644
--- a/makefile
+++ b/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/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[];