trunk/src/mame/drivers/system1.cpp
| r255124 | r255125 | |
| 2955 | 2955 | |
| 2956 | 2956 | ROM_START( seganinj ) |
| 2957 | 2957 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 2958 | | ROM_LOAD( "epr-.116", 0x0000, 0x4000, CRC(a5d0c9d0) SHA1(b60caccab8269f40d4f6e7a50f3aa0d4901c1e57) ) /* encrypted */ |
| 2959 | | ROM_LOAD( "epr-.109", 0x4000, 0x4000, CRC(b9e6775c) SHA1(f39e815c3c034015125b96de34a2a225b81392b5) ) /* encrypted */ |
| 2960 | | ROM_LOAD( "epr-6552.96", 0x8000, 0x4000, CRC(f2eeb0d8) SHA1(1f0d1c73ba9eaa2887ffc596f0038b0af37ced49) ) /* epr-7151.96 */ |
| 2958 | ROM_LOAD( "epr-6594a.116", 0x0000, 0x4000, CRC(a5d0c9d0) SHA1(b60caccab8269f40d4f6e7a50f3aa0d4901c1e57) ) /* encrypted */ |
| 2959 | ROM_LOAD( "epr-6595a.109", 0x4000, 0x4000, CRC(b9e6775c) SHA1(f39e815c3c034015125b96de34a2a225b81392b5) ) /* encrypted */ |
| 2960 | ROM_LOAD( "epr-6596a.96", 0x8000, 0x4000, CRC(f2eeb0d8) SHA1(1f0d1c73ba9eaa2887ffc596f0038b0af37ced49) ) /* == epr-6552.96 */ |
| 2961 | 2961 | |
| 2962 | 2962 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 2963 | 2963 | ROM_LOAD( "epr-6559.120", 0x0000, 0x2000, CRC(5a1570ee) SHA1(fd9215e007b6687d057ea7aee01f6d3dcbc8f894) ) |
| r255124 | r255125 | |
| 2974 | 2974 | ROM_LOAD( "epr-6546.117", 0x0000, 0x4000, CRC(a4785692) SHA1(95ce23076dc86c5d6d3a65274873d4c48e91cc06) ) |
| 2975 | 2975 | ROM_LOAD( "epr-6548.04", 0x4000, 0x4000, CRC(bdf278c1) SHA1(7ebe505f4f0434edb2cee17a6cbce6b900b29cc4) ) |
| 2976 | 2976 | ROM_LOAD( "epr-6547.110", 0x8000, 0x4000, CRC(34451b08) SHA1(ee8708f6c886b63f138bcc10dc2a053bfad96c37) ) |
| 2977 | | ROM_LOAD( "epr-6549.05", 0xc000, 0x4000, CRC(d2057668) SHA1(ded2a04f7555eb3b1e4da57901ca00635de2c043) ) |
| 2977 | ROM_LOAD( "epr-6549a.05", 0xc000, 0x4000, CRC(7c51488c) SHA1(adc835d86e8b51ac47b8619655b3cc2c01aa8c7a) ) // note 'a' revision |
| 2978 | 2978 | |
| 2979 | 2979 | ROM_REGION( 0x0100, "proms", 0 ) |
| 2980 | 2980 | ROM_LOAD( "pr-5317.76", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| r255124 | r255125 | |
| 2984 | 2984 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 2985 | 2985 | ROM_LOAD( "epr-7149.116", 0x0000, 0x4000, CRC(cd9fade7) SHA1(958ef5c449df6ef5346b8634cb34a646950f706e) ) |
| 2986 | 2986 | ROM_LOAD( "epr-7150.109", 0x4000, 0x4000, CRC(c36351e2) SHA1(17734d3f410feb4cad617d1931b3356192b69ac0) ) |
| 2987 | | ROM_LOAD( "epr-6552.96", 0x8000, 0x4000, CRC(f2eeb0d8) SHA1(1f0d1c73ba9eaa2887ffc596f0038b0af37ced49) ) /* epr-7151.96 */ |
| 2987 | ROM_LOAD( "epr-7151.96", 0x8000, 0x4000, CRC(f2eeb0d8) SHA1(1f0d1c73ba9eaa2887ffc596f0038b0af37ced49) ) /* == epr-6552.96 */ |
| 2988 | 2988 | |
| 2989 | 2989 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 2990 | 2990 | ROM_LOAD( "epr-6559.120", 0x0000, 0x2000, CRC(5a1570ee) SHA1(fd9215e007b6687d057ea7aee01f6d3dcbc8f894) ) |
| r255124 | r255125 | |
| 3007 | 3007 | ROM_LOAD( "pr-5317.76", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| 3008 | 3008 | ROM_END |
| 3009 | 3009 | |
| 3010 | ROM_START( seganinja ) |
| 3011 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 3012 | ROM_LOAD( "epr-6879.116", 0x0000, 0x4000, CRC(cae7e51f) SHA1(de6aec8e83cfbe71ed2c52b8f5692aff5ef596a7) ) |
| 3013 | ROM_LOAD( "epr-6880.109", 0x4000, 0x4000, CRC(7af85e01) SHA1(57d2a8662efc878ae132cd66de8d46d506ddd6e5) ) |
| 3014 | ROM_LOAD( "epr-6881.96", 0x8000, 0x4000, CRC(f2eeb0d8) SHA1(1f0d1c73ba9eaa2887ffc596f0038b0af37ced49) ) /* == epr-6552.96 */ |
| 3015 | |
| 3016 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 3017 | ROM_LOAD( "epr-6559.120", 0x0000, 0x2000, CRC(5a1570ee) SHA1(fd9215e007b6687d057ea7aee01f6d3dcbc8f894) ) |
| 3018 | |
| 3019 | ROM_REGION( 0xc000, "tiles", 0 ) |
| 3020 | ROM_LOAD( "epr-6558.62", 0x0000, 0x2000, CRC(2af9eaeb) SHA1(a8a472e9f156c34f1cfcf6d6be808da4303a2276) ) |
| 3021 | ROM_LOAD( "epr-6592.61", 0x2000, 0x2000, CRC(7804db86) SHA1(8229781b8296d3ffdfa2f0901e2eed297cc3e160) ) |
| 3022 | ROM_LOAD( "epr-6556.64", 0x4000, 0x2000, CRC(79fd26f7) SHA1(a7de0f21ccbcfda495a5c93237569a9b3919d2d5) ) |
| 3023 | ROM_LOAD( "epr-6590.63", 0x6000, 0x2000, CRC(bf858cad) SHA1(1c18c4aa4b9a59f3c06aa459eab6bdd1b298d848) ) |
| 3024 | ROM_LOAD( "epr-6554.66", 0x8000, 0x2000, CRC(5ac9d205) SHA1(c3094d10d1d6226bf9ad174d2dd1631b8d6ca33a) ) |
| 3025 | ROM_LOAD( "epr-6588.65", 0xa000, 0x2000, CRC(dc931dbb) SHA1(4729b27843f226ba5861c3106f8418db70e7c47d) ) |
| 3026 | |
| 3027 | ROM_REGION( 0x10000, "sprites", 0 ) |
| 3028 | ROM_LOAD( "epr-6546.117", 0x0000, 0x4000, CRC(a4785692) SHA1(95ce23076dc86c5d6d3a65274873d4c48e91cc06) ) |
| 3029 | ROM_LOAD( "epr-6548.04", 0x4000, 0x4000, CRC(bdf278c1) SHA1(7ebe505f4f0434edb2cee17a6cbce6b900b29cc4) ) |
| 3030 | ROM_LOAD( "epr-6547.110", 0x8000, 0x4000, CRC(34451b08) SHA1(ee8708f6c886b63f138bcc10dc2a053bfad96c37) ) |
| 3031 | ROM_LOAD( "epr-6549.05", 0xc000, 0x4000, CRC(d2057668) SHA1(ded2a04f7555eb3b1e4da57901ca00635de2c043) ) |
| 3032 | |
| 3033 | ROM_REGION( 0x0100, "proms", 0 ) |
| 3034 | ROM_LOAD( "pr-5317.76", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| 3035 | ROM_END |
| 3036 | |
| 3010 | 3037 | ROM_START( nprinces ) |
| 3011 | 3038 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 3012 | 3039 | ROM_LOAD( "epr-6612.129", 0x0000, 0x2000, CRC(1b30976f) SHA1(f76b7f3d88985a5c190e7880c27ab057f102db31) ) /* encrypted */ |
| 3013 | 3040 | ROM_LOAD( "epr-6613.130", 0x2000, 0x2000, CRC(18281f27) SHA1(3fcf2fbd1fc13eda678b77c58c53aa881882286c) ) /* encrypted */ |
| 3014 | 3041 | ROM_LOAD( "epr-6614.131", 0x4000, 0x2000, CRC(69fc3d73) SHA1(287e6b252ae3cd23812b56afe23d4f239f3a76d5) ) /* encrypted */ |
| 3015 | 3042 | ROM_LOAD( "epr-6615.132", 0x6000, 0x2000, CRC(1d0374c8) SHA1(6d818470e294c03b51ec6db8a285d7b71ab2b61f) ) /* encrypted */ |
| 3016 | | ROM_LOAD( "epr-6577.133", 0x8000, 0x2000, CRC(73616e03) SHA1(429615ee1e041d3e14fc557ec39c380fea07de71) ) /* epr-6616.133 */ |
| 3043 | ROM_LOAD( "epr-6616.133", 0x8000, 0x2000, CRC(73616e03) SHA1(429615ee1e041d3e14fc557ec39c380fea07de71) ) |
| 3017 | 3044 | ROM_LOAD( "epr-6617.134", 0xa000, 0x2000, CRC(20b6f895) SHA1(9c9cb3b0c33c4da2850a5756b63c3886634ec544) ) |
| 3018 | 3045 | |
| 3019 | 3046 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| r255124 | r255125 | |
| 4339 | 4366 | ROM_LOAD( "pr5317.37", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| 4340 | 4367 | ROM_END |
| 4341 | 4368 | |
| 4369 | |
| 4370 | ROM_START( wbmld ) |
| 4371 | ROM_REGION( 0x20000, "maincpu", 0 ) |
| 4372 | ROM_LOAD( "decrypted_ep11031a.90", 0x00000, 0x8000, CRC(aba42eb7) SHA1(d2bb16a52404ba867930140e71f981cfa225dd21) ) |
| 4373 | ROM_LOAD( "decrypted_epr11032.91", 0x10000, 0x8000, CRC(1b158845) SHA1(26360f4bc2884746fbcc5fd6dc21fd848a3d2157) ) |
| 4374 | ROM_LOAD( "decrypted_epr11033.92", 0x18000, 0x8000, CRC(39e07286) SHA1(70192f03e52dd34c9fe5698a5ec1c24d3c58543c) ) |
| 4375 | |
| 4376 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4377 | ROM_LOAD( "epr11037.126", 0x0000, 0x8000, CRC(7a4ee585) SHA1(050436106cced5dcbf40a3d94d48202eedddc3ad) ) |
| 4378 | |
| 4379 | ROM_REGION( 0x18000, "tiles", 0 ) |
| 4380 | ROM_LOAD( "epr11034.4", 0x00000, 0x8000, CRC(37a2077d) SHA1(57f032a98022bf03ff98cb2e563178ba97e4b63c) ) |
| 4381 | ROM_LOAD( "epr11035.5", 0x08000, 0x8000, CRC(cdf2a21b) SHA1(db2553866f21e03bd9d668c179be3352adbaf8a6) ) |
| 4382 | ROM_LOAD( "epr11036.6", 0x10000, 0x8000, CRC(644687fa) SHA1(d6c5bc95da4fc7e81091dcfe6205b6f47d54af76) ) |
| 4383 | |
| 4384 | ROM_REGION( 0x20000, "sprites", 0 ) |
| 4385 | ROM_LOAD( "epr11028.87", 0x00000, 0x8000, CRC(af0b3972) SHA1(413825f66b84c7e45aa1855131482abead8f7f3b) ) |
| 4386 | ROM_LOAD( "epr11027.86", 0x08000, 0x8000, CRC(277d8f1d) SHA1(7854673503ed03d276abe971805a11f8c992f6d6) ) |
| 4387 | ROM_LOAD( "epr11030.89", 0x10000, 0x8000, CRC(f05ffc76) SHA1(f3dbb518240f86430840c3d4cda04bac79c20f69) ) |
| 4388 | ROM_LOAD( "epr11029.88", 0x18000, 0x8000, CRC(cedc9c61) SHA1(dbe5744f9b6f2a406b52b910dd4e133db7bce6b2) ) |
| 4389 | |
| 4390 | ROM_REGION( 0x0300, "palette", 0 ) |
| 4391 | ROM_LOAD( "pr11026.20", 0x0000, 0x0100, CRC(27057298) SHA1(654be7abb937bb0720263ee6512e31194662effe) ) |
| 4392 | ROM_LOAD( "pr11025.14", 0x0100, 0x0100, CRC(41e4d86b) SHA1(a86e8bb0a465d01b04410edfbb82eb96f12b909f) ) |
| 4393 | ROM_LOAD( "pr11024.8", 0x0200, 0x0100, CRC(08d71954) SHA1(df045dbfb3d669e4d42fbdba1e7191cd046f7b47) ) |
| 4394 | |
| 4395 | ROM_REGION( 0x0100, "proms", 0 ) |
| 4396 | ROM_LOAD( "pr5317.37", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| 4397 | ROM_END |
| 4398 | |
| 4399 | ROM_START( wbmljod ) |
| 4400 | ROM_REGION( 0x20000, "maincpu", 0 ) |
| 4401 | ROM_LOAD( "decrypted_epr11031.90", 0x00000, 0x8000, CRC(940b35bf) SHA1(b0e3b494d17cfad3b4bb1de996931ee813e91f92) ) |
| 4402 | ROM_LOAD( "decrypted_epr11032.91", 0x10000, 0x8000, CRC(1b158845) SHA1(26360f4bc2884746fbcc5fd6dc21fd848a3d2157) ) |
| 4403 | ROM_LOAD( "decrypted_epr11033.92", 0x18000, 0x8000, CRC(39e07286) SHA1(70192f03e52dd34c9fe5698a5ec1c24d3c58543c) ) |
| 4404 | |
| 4405 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4406 | ROM_LOAD( "epr11037.126", 0x0000, 0x8000, CRC(7a4ee585) SHA1(050436106cced5dcbf40a3d94d48202eedddc3ad) ) |
| 4407 | |
| 4408 | ROM_REGION( 0x18000, "tiles", 0 ) |
| 4409 | ROM_LOAD( "epr11034.4", 0x00000, 0x8000, CRC(37a2077d) SHA1(57f032a98022bf03ff98cb2e563178ba97e4b63c) ) |
| 4410 | ROM_LOAD( "epr11035.5", 0x08000, 0x8000, CRC(cdf2a21b) SHA1(db2553866f21e03bd9d668c179be3352adbaf8a6) ) |
| 4411 | ROM_LOAD( "epr11036.6", 0x10000, 0x8000, CRC(644687fa) SHA1(d6c5bc95da4fc7e81091dcfe6205b6f47d54af76) ) |
| 4412 | |
| 4413 | ROM_REGION( 0x20000, "sprites", 0 ) |
| 4414 | ROM_LOAD( "epr11028.87", 0x00000, 0x8000, CRC(af0b3972) SHA1(413825f66b84c7e45aa1855131482abead8f7f3b) ) |
| 4415 | ROM_LOAD( "epr11027.86", 0x08000, 0x8000, CRC(277d8f1d) SHA1(7854673503ed03d276abe971805a11f8c992f6d6) ) |
| 4416 | ROM_LOAD( "epr11030.89", 0x10000, 0x8000, CRC(f05ffc76) SHA1(f3dbb518240f86430840c3d4cda04bac79c20f69) ) |
| 4417 | ROM_LOAD( "epr11029.88", 0x18000, 0x8000, CRC(cedc9c61) SHA1(dbe5744f9b6f2a406b52b910dd4e133db7bce6b2) ) |
| 4418 | |
| 4419 | ROM_REGION( 0x0300, "palette", 0 ) |
| 4420 | ROM_LOAD( "pr11026.20", 0x0000, 0x0100, CRC(27057298) SHA1(654be7abb937bb0720263ee6512e31194662effe) ) |
| 4421 | ROM_LOAD( "pr11025.14", 0x0100, 0x0100, CRC(41e4d86b) SHA1(a86e8bb0a465d01b04410edfbb82eb96f12b909f) ) |
| 4422 | ROM_LOAD( "pr11024.8", 0x0200, 0x0100, CRC(08d71954) SHA1(df045dbfb3d669e4d42fbdba1e7191cd046f7b47) ) |
| 4423 | |
| 4424 | ROM_REGION( 0x0100, "proms", 0 ) |
| 4425 | ROM_LOAD( "pr5317.37", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| 4426 | ROM_END |
| 4427 | |
| 4428 | |
| 4342 | 4429 | ROM_START( wbmljb ) |
| 4343 | 4430 | ROM_REGION( 0x40000, "maincpu", 0 ) |
| 4344 | 4431 | ROM_LOAD( "wbml.01", 0x20000, 0x8000, CRC(66482638) SHA1(887f93015f0effa2d0fa1f1f59082f75ac072221) ) /* Unencrypted opcodes */ |
| r255124 | r255125 | |
| 4482 | 4569 | |
| 4483 | 4570 | ROM_REGION( 0x18000, "tiles", 0 ) |
| 4484 | 4571 | ROM_LOAD( "vc.ic4", 0x00000, 0x8000, CRC(820bee59) SHA1(47afff58387eb67a8b0849d74023bd2c176a45e9) ) |
| 4485 | | ROM_LOAD( "vc.ic6", 0x08000, 0x8000, CRC(a9a1447e) SHA1(f7e55080c4fd6e1ff9e21a19b2f71dfd512d62c3) ) |
| 4486 | | ROM_LOAD( "vc.ic5", 0x10000, 0x8000, CRC(359026a0) SHA1(a20c801dbc758f172fcfc505a5083ddb76604243) ) |
| 4572 | ROM_LOAD( "vc.ic5", 0x08000, 0x8000, CRC(a9a1447e) SHA1(f7e55080c4fd6e1ff9e21a19b2f71dfd512d62c3) ) |
| 4573 | ROM_LOAD( "vc.ic6", 0x10000, 0x8000, CRC(359026a0) SHA1(a20c801dbc758f172fcfc505a5083ddb76604243) ) |
| 4487 | 4574 | |
| 4488 | 4575 | ROM_REGION( 0x20000, "sprites", 0 ) |
| 4489 | 4576 | ROM_LOAD( "epr11028.87", 0x00000, 0x8000, CRC(af0b3972) SHA1(413825f66b84c7e45aa1855131482abead8f7f3b) ) |
| r255124 | r255125 | |
| 4500 | 4587 | ROM_LOAD( "pr5317.37", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| 4501 | 4588 | ROM_END |
| 4502 | 4589 | |
| 4590 | ROM_START( wbmlvcd ) |
| 4591 | ROM_REGION( 0x20000, "maincpu", 0 ) |
| 4592 | ROM_LOAD( "wbmlvcd.ic90", 0x00000, 0x8000, CRC(f9c04c07) SHA1(736013b01451c38f7ede207f3154c7387e60ac29) ) |
| 4593 | ROM_LOAD( "wbmlvcd.ic91", 0x10000, 0x8000, CRC(87167a57) SHA1(853e029e2875a2250471f3f405c906c9b5a4829d) ) |
| 4594 | ROM_LOAD( "wbmlvcd.ic92", 0x18000, 0x8000, CRC(ffb69e82) SHA1(0d48ce1e3cc02a992c495a92fec4e2d03fc27193) ) |
| 4503 | 4595 | |
| 4596 | ROM_REGION( 0x10000, "soundcpu", 0 ) |
| 4597 | ROM_LOAD( "epr11037.126", 0x0000, 0x8000, CRC(7a4ee585) SHA1(050436106cced5dcbf40a3d94d48202eedddc3ad) ) |
| 4598 | |
| 4599 | ROM_REGION( 0x18000, "tiles", 0 ) |
| 4600 | ROM_LOAD( "vc.ic4", 0x00000, 0x8000, CRC(820bee59) SHA1(47afff58387eb67a8b0849d74023bd2c176a45e9) ) |
| 4601 | ROM_LOAD( "vc.ic5", 0x08000, 0x8000, CRC(a9a1447e) SHA1(f7e55080c4fd6e1ff9e21a19b2f71dfd512d62c3) ) |
| 4602 | ROM_LOAD( "vc.ic6", 0x10000, 0x8000, CRC(359026a0) SHA1(a20c801dbc758f172fcfc505a5083ddb76604243) ) |
| 4603 | |
| 4604 | ROM_REGION( 0x20000, "sprites", 0 ) |
| 4605 | ROM_LOAD( "epr11028.87", 0x00000, 0x8000, CRC(af0b3972) SHA1(413825f66b84c7e45aa1855131482abead8f7f3b) ) |
| 4606 | ROM_LOAD( "epr11027.86", 0x08000, 0x8000, CRC(277d8f1d) SHA1(7854673503ed03d276abe971805a11f8c992f6d6) ) |
| 4607 | ROM_LOAD( "epr11030.89", 0x10000, 0x8000, CRC(f05ffc76) SHA1(f3dbb518240f86430840c3d4cda04bac79c20f69) ) |
| 4608 | ROM_LOAD( "epr11029.88", 0x18000, 0x8000, CRC(cedc9c61) SHA1(dbe5744f9b6f2a406b52b910dd4e133db7bce6b2) ) |
| 4609 | |
| 4610 | ROM_REGION( 0x0300, "palette", 0 ) |
| 4611 | ROM_LOAD( "pr11026.20", 0x0000, 0x0100, CRC(27057298) SHA1(654be7abb937bb0720263ee6512e31194662effe) ) |
| 4612 | ROM_LOAD( "pr11025.14", 0x0100, 0x0100, CRC(41e4d86b) SHA1(a86e8bb0a465d01b04410edfbb82eb96f12b909f) ) |
| 4613 | ROM_LOAD( "pr11024.8", 0x0200, 0x0100, CRC(08d71954) SHA1(df045dbfb3d669e4d42fbdba1e7191cd046f7b47) ) |
| 4614 | |
| 4615 | ROM_REGION( 0x0100, "proms", 0 ) |
| 4616 | ROM_LOAD( "pr5317.37", 0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) ) |
| 4617 | ROM_END |
| 4618 | |
| 4504 | 4619 | ROM_START( dakkochn ) |
| 4505 | 4620 | ROM_REGION( 0x20000, "maincpu", 0 ) |
| 4506 | 4621 | ROM_LOAD( "epr-11224.ic90", 0x00000, 0x8000, CRC(9fb1972b) SHA1(1bb61c6ec2b5b8eb39f74f20d5bcd0f14501bd21) ) /* encrypted */ |
| r255124 | r255125 | |
| 4838 | 4953 | m_banked_decrypted_opcodes = nullptr; |
| 4839 | 4954 | } |
| 4840 | 4955 | |
| 4841 | | DRIVER_INIT_MEMBER(system1_state,regulus) |
| 4956 | DRIVER_INIT_MEMBER(system1_state,sega315_5033) |
| 4842 | 4957 | { |
| 4843 | 4958 | static const UINT8 convtable[32][4] = |
| 4844 | 4959 | { |
| r255124 | r255125 | |
| 4866 | 4981 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 4867 | 4982 | } |
| 4868 | 4983 | |
| 4869 | | DRIVER_INIT_MEMBER(system1_state,mrviking) |
| 4984 | DRIVER_INIT_MEMBER(system1_state,sega315_5041) |
| 4870 | 4985 | { |
| 4871 | 4986 | static const UINT8 convtable[32][4] = |
| 4872 | 4987 | { |
| r255124 | r255125 | |
| 4894 | 5009 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 4895 | 5010 | } |
| 4896 | 5011 | |
| 4897 | | DRIVER_INIT_MEMBER(system1_state,swat) |
| 5012 | DRIVER_INIT_MEMBER(system1_state,sega315_5048) |
| 4898 | 5013 | { |
| 4899 | 5014 | static const UINT8 convtable[32][4] = |
| 4900 | 5015 | { |
| r255124 | r255125 | |
| 4922 | 5037 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 4923 | 5038 | } |
| 4924 | 5039 | |
| 4925 | | DRIVER_INIT_MEMBER(system1_state,flicky) |
| 5040 | DRIVER_INIT_MEMBER(system1_state,sega315_5051) |
| 4926 | 5041 | { |
| 4927 | 5042 | static const UINT8 convtable[32][4] = |
| 4928 | 5043 | { |
| r255124 | r255125 | |
| 4950 | 5065 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 4951 | 5066 | } |
| 4952 | 5067 | |
| 4953 | | DRIVER_INIT_MEMBER(system1_state,wmatch) |
| 5068 | DRIVER_INIT_MEMBER(system1_state,sega315_5064) |
| 4954 | 5069 | { |
| 4955 | 5070 | static const UINT8 convtable[32][4] = |
| 4956 | 5071 | { |
| r255124 | r255125 | |
| 4978 | 5093 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 4979 | 5094 | } |
| 4980 | 5095 | |
| 4981 | | DRIVER_INIT_MEMBER(system1_state,bullfgtj) |
| 5096 | DRIVER_INIT_MEMBER(system1_state,sega315_5065) |
| 4982 | 5097 | { |
| 4983 | 5098 | static const UINT8 convtable[32][4] = |
| 4984 | 5099 | { |
| r255124 | r255125 | |
| 5006 | 5121 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5007 | 5122 | } |
| 5008 | 5123 | |
| 5009 | | DRIVER_INIT_MEMBER(system1_state,spatter) |
| 5124 | DRIVER_INIT_MEMBER(system1_state,sega315_spat) |
| 5010 | 5125 | { |
| 5011 | 5126 | static const UINT8 convtable[32][4] = |
| 5012 | 5127 | { |
| r255124 | r255125 | |
| 5034 | 5149 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5035 | 5150 | } |
| 5036 | 5151 | |
| 5037 | | DRIVER_INIT_MEMBER(system1_state,spattera) |
| 5152 | DRIVER_INIT_MEMBER(system1_state,sega315_5099) |
| 5038 | 5153 | { |
| 5039 | 5154 | static const UINT8 convtable[32][4] = |
| 5040 | 5155 | { |
| r255124 | r255125 | |
| 5062 | 5177 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5063 | 5178 | } |
| 5064 | 5179 | |
| 5065 | | DRIVER_INIT_MEMBER(system1_state,pitfall2) |
| 5180 | DRIVER_INIT_MEMBER(system1_state,sega315_5093) |
| 5066 | 5181 | { |
| 5067 | 5182 | static const UINT8 convtable[32][4] = |
| 5068 | 5183 | { |
| r255124 | r255125 | |
| 5090 | 5205 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5091 | 5206 | } |
| 5092 | 5207 | |
| 5093 | | DRIVER_INIT_MEMBER(system1_state,nprinces) |
| 5208 | DRIVER_INIT_MEMBER(system1_state,sega315_5098) // also 315-5030 ? |
| 5094 | 5209 | { |
| 5095 | 5210 | static const UINT8 convtable[32][4] = |
| 5096 | 5211 | { |
| r255124 | r255125 | |
| 5118 | 5233 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5119 | 5234 | } |
| 5120 | 5235 | |
| 5121 | | DRIVER_INIT_MEMBER(system1_state,seganinj) |
| 5236 | DRIVER_INIT_MEMBER(system1_state,sega315_5102) |
| 5122 | 5237 | { |
| 5123 | 5238 | static const UINT8 convtable[32][4] = |
| 5124 | 5239 | { |
| r255124 | r255125 | |
| 5146 | 5261 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5147 | 5262 | } |
| 5148 | 5263 | |
| 5149 | | DRIVER_INIT_MEMBER(system1_state,imsorry) |
| 5264 | |
| 5265 | // THIS TABLE IS WRONG |
| 5266 | DRIVER_INIT_MEMBER(system1_state,sega315_5133) |
| 5150 | 5267 | { |
| 5151 | 5268 | static const UINT8 convtable[32][4] = |
| 5152 | 5269 | { |
| 5153 | 5270 | /* opcode data address */ |
| 5154 | 5271 | /* A B C D A B C D */ |
| 5272 | { 0x88,0xa8,0x80,0xa0 }, { 0x88,0x08,0x80,0x00 }, /* ...0...0...0...0 */ |
| 5273 | { 0x28,0xa8,0x08,0x88 }, { 0xa0,0xa8,0x80,0x88 }, /* ...0...0...0...1 */ |
| 5274 | { 0xa8,0xa0,0x28,0x20 }, { 0xa8,0xa0,0x28,0x20 }, /* ...0...0...1...0 */ |
| 5275 | { 0x28,0xa8,0x08,0x88 }, { 0xa0,0xa8,0x80,0x88 }, /* ...0...0...1...1 */ |
| 5276 | { 0x28,0x08,0xa8,0x88 }, { 0x28,0x08,0xa8,0x88 }, /* ...0...1...0...0 */ |
| 5277 | { 0x28,0xa8,0x08,0x88 }, { 0x88,0x08,0x80,0x00 }, /* ...0...1...0...1 */ |
| 5278 | { 0x28,0x08,0xa8,0x88 }, { 0x28,0x08,0xa8,0x88 }, /* ...0...1...1...0 */ |
| 5279 | { 0x28,0xa8,0x08,0x88 }, { 0xa8,0xa0,0x28,0x20 }, /* ...0...1...1...1 */ |
| 5280 | { 0x88,0x08,0x80,0x00 }, { 0x88,0xa8,0x80,0xa0 }, /* ...1...0...0...0 */ |
| 5281 | { 0xa0,0xa8,0x80,0x88 }, { 0x28,0xa8,0x08,0x88 }, /* ...1...0...0...1 */ |
| 5282 | { 0xa8,0xa0,0x28,0x20 }, { 0x88,0xa8,0x80,0xa0 }, /* ...1...0...1...0 */ |
| 5283 | { 0xa8,0xa0,0x28,0x20 }, { 0x28,0xa8,0x08,0x88 }, /* ...1...0...1...1 */ |
| 5284 | { 0x28,0x08,0xa8,0x88 }, { 0x88,0xa8,0x80,0xa0 }, /* ...1...1...0...0 */ |
| 5285 | { 0x28,0x08,0xa8,0x88 }, { 0x28,0x08,0xa8,0x88 }, /* ...1...1...0...1 */ |
| 5286 | { 0x88,0xa8,0x80,0xa0 }, { 0x88,0xa8,0x80,0xa0 }, /* ...1...1...1...0 */ |
| 5287 | { 0xa8,0xa0,0x28,0x20 }, { 0x28,0x08,0xa8,0x88 } /* ...1...1...1...1 */ |
| 5288 | }; |
| 5289 | |
| 5290 | DRIVER_INIT_CALL(bank00); |
| 5291 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5292 | } |
| 5293 | |
| 5294 | |
| 5295 | DRIVER_INIT_MEMBER(system1_state,sega315_5110) |
| 5296 | { |
| 5297 | static const UINT8 convtable[32][4] = |
| 5298 | { |
| 5299 | /* opcode data address */ |
| 5300 | /* A B C D A B C D */ |
| 5155 | 5301 | { 0x88,0x08,0x80,0x00 }, { 0x00,0x20,0x80,0xa0 }, /* ...0...0...0...0 */ |
| 5156 | 5302 | { 0x00,0x20,0x80,0xa0 }, { 0x88,0x08,0x80,0x00 }, /* ...0...0...0...1 */ |
| 5157 | 5303 | { 0x88,0x08,0xa8,0x28 }, { 0x00,0x20,0x80,0xa0 }, /* ...0...0...1...0 */ |
| r255124 | r255125 | |
| 5174 | 5320 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5175 | 5321 | } |
| 5176 | 5322 | |
| 5177 | | DRIVER_INIT_MEMBER(system1_state,teddybb) |
| 5323 | DRIVER_INIT_MEMBER(system1_state,sega315_5155) |
| 5178 | 5324 | { |
| 5179 | 5325 | static const UINT8 convtable[32][4] = |
| 5180 | 5326 | { |
| r255124 | r255125 | |
| 5202 | 5348 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5203 | 5349 | } |
| 5204 | 5350 | |
| 5205 | | DRIVER_INIT_MEMBER(system1_state,myheroj) |
| 5351 | DRIVER_INIT_MEMBER(system1_state,sega315_5132) |
| 5206 | 5352 | { |
| 5207 | 5353 | static const UINT8 convtable[32][4] = |
| 5208 | 5354 | { |
| r255124 | r255125 | |
| 5230 | 5376 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5231 | 5377 | } |
| 5232 | 5378 | |
| 5233 | | DRIVER_INIT_MEMBER(system1_state,4dwarrio) |
| 5379 | // todo, collapse with above (this is sega315_5132 with an extra layer, probably bootleg) |
| 5380 | DRIVER_INIT_MEMBER(system1_state,myherok) |
| 5234 | 5381 | { |
| 5382 | static const UINT8 convtable[32][4] = |
| 5383 | { |
| 5384 | /* opcode data address */ |
| 5385 | /* A B C D A B C D */ |
| 5386 | { 0x20,0x00,0xa0,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...0...0 */ |
| 5387 | { 0x20,0x00,0xa0,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...0...1 */ |
| 5388 | { 0xa8,0xa0,0x88,0x80 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...0...1...0 */ |
| 5389 | { 0x08,0x88,0x00,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...1...1 */ |
| 5390 | { 0x20,0x00,0xa0,0x80 }, { 0x28,0xa8,0x08,0x88 }, /* ...0...1...0...0 */ |
| 5391 | { 0x20,0x00,0xa0,0x80 }, { 0x08,0x88,0x00,0x80 }, /* ...0...1...0...1 */ |
| 5392 | { 0x28,0xa8,0x08,0x88 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...1...1...0 */ |
| 5393 | { 0x08,0x88,0x00,0x80 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...1...1...1 */ |
| 5394 | { 0x28,0xa8,0x08,0x88 }, { 0x20,0x00,0xa0,0x80 }, /* ...1...0...0...0 */ |
| 5395 | { 0x80,0xa0,0x88,0xa8 }, { 0x20,0x00,0xa0,0x80 }, /* ...1...0...0...1 */ |
| 5396 | { 0x80,0xa0,0x88,0xa8 }, { 0x80,0xa0,0x88,0xa8 }, /* ...1...0...1...0 */ |
| 5397 | { 0xa8,0xa0,0x88,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...1...0...1...1 */ |
| 5398 | { 0x88,0x80,0x08,0x00 }, { 0x88,0x80,0x08,0x00 }, /* ...1...1...0...0 */ |
| 5399 | { 0x88,0x80,0x08,0x00 }, { 0x08,0x88,0x00,0x80 }, /* ...1...1...0...1 */ |
| 5400 | { 0x88,0x80,0x08,0x00 }, { 0xa8,0xa0,0x88,0x80 }, /* ...1...1...1...0 */ |
| 5401 | { 0x88,0x80,0x08,0x00 }, { 0xa8,0xa0,0x88,0x80 } /* ...1...1...1...1 */ |
| 5402 | }; |
| 5403 | |
| 5404 | |
| 5405 | int A; |
| 5406 | UINT8 *rom; |
| 5407 | |
| 5408 | DRIVER_INIT_CALL(bank00); |
| 5409 | |
| 5410 | /* additionally to the usual protection, all the program ROMs have data lines */ |
| 5411 | /* D0 and D1 swapped. */ |
| 5412 | rom = m_maincpu_region->base(); |
| 5413 | for (A = 0;A < 0xc000;A++) |
| 5414 | rom[A] = (rom[A] & 0xfc) | ((rom[A] & 1) << 1) | ((rom[A] & 2) >> 1); |
| 5415 | |
| 5416 | /* the tile gfx ROMs are mangled as well: */ |
| 5417 | rom = memregion("tiles")->base(); |
| 5418 | |
| 5419 | /* the first ROM has data lines D0 and D6 swapped. */ |
| 5420 | for (A = 0x0000;A < 0x4000;A++) |
| 5421 | rom[A] = (rom[A] & 0xbe) | ((rom[A] & 0x01) << 6) | ((rom[A] & 0x40) >> 6); |
| 5422 | |
| 5423 | /* the second ROM has data lines D1 and D5 swapped. */ |
| 5424 | for (A = 0x4000;A < 0x8000;A++) |
| 5425 | rom[A] = (rom[A] & 0xdd) | ((rom[A] & 0x02) << 4) | ((rom[A] & 0x20) >> 4); |
| 5426 | |
| 5427 | /* the third ROM has data lines D0 and D6 swapped. */ |
| 5428 | for (A = 0x8000;A < 0xc000;A++) |
| 5429 | rom[A] = (rom[A] & 0xbe) | ((rom[A] & 0x01) << 6) | ((rom[A] & 0x40) >> 6); |
| 5430 | |
| 5431 | /* also, all three ROMs have address lines A4 and A5 swapped. */ |
| 5432 | for (A = 0;A < 0xc000;A++) |
| 5433 | { |
| 5434 | int A1; |
| 5435 | UINT8 temp; |
| 5436 | |
| 5437 | A1 = (A & 0xffcf) | ((A & 0x0010) << 1) | ((A & 0x0020) >> 1); |
| 5438 | if (A < A1) |
| 5439 | { |
| 5440 | temp = rom[A]; |
| 5441 | rom[A] = rom[A1]; |
| 5442 | rom[A1] = temp; |
| 5443 | } |
| 5444 | } |
| 5445 | |
| 5446 | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5447 | } |
| 5448 | |
| 5449 | DRIVER_INIT_MEMBER(system1_state,sega315_5162) |
| 5450 | { |
| 5235 | 5451 | // 315-5162 |
| 5236 | 5452 | static const UINT8 xor_table[128] = |
| 5237 | 5453 | { |
| r255124 | r255125 | |
| 5263 | 5479 | sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table); |
| 5264 | 5480 | } |
| 5265 | 5481 | |
| 5266 | | DRIVER_INIT_MEMBER(system1_state,wboy) |
| 5482 | DRIVER_INIT_MEMBER(system1_state,sega315_5177) |
| 5267 | 5483 | { |
| 5268 | 5484 | // 315-5177 |
| 5269 | 5485 | static const UINT8 xor_table[128] = |
| r255124 | r255125 | |
| 5320 | 5536 | sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table); |
| 5321 | 5537 | } |
| 5322 | 5538 | |
| 5323 | | DRIVER_INIT_MEMBER(system1_state,wboy2) |
| 5539 | // todo, refactor into above |
| 5540 | DRIVER_INIT_MEMBER(system1_state,sega315_5177_s2) |
| 5324 | 5541 | { |
| 5542 | // 315-5177 |
| 5543 | static const UINT8 xor_table[128] = |
| 5544 | { |
| 5545 | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5546 | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5547 | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5548 | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5549 | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5550 | 0x05,0x55,0x50,0x14, |
| 5551 | |
| 5552 | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5553 | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5554 | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5555 | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5556 | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5557 | 0x05,0x55,0x50,0x14, |
| 5558 | }; |
| 5559 | |
| 5560 | static const int swap_table[128] = |
| 5561 | { |
| 5562 | 0,0,0,0, |
| 5563 | 1,1,1,1,1, |
| 5564 | 2,2,2,2,2, |
| 5565 | 3,3,3,3, |
| 5566 | 4,4,4,4,4, |
| 5567 | 5,5,5,5,5, |
| 5568 | 6,6,6,6,6, |
| 5569 | 7,7,7,7,7, |
| 5570 | 8,8,8,8, |
| 5571 | 9,9,9,9,9, |
| 5572 | 10,10,10,10,10, |
| 5573 | 11,11,11,11,11, |
| 5574 | 12,12,12,12,12, |
| 5575 | 13,13, |
| 5576 | |
| 5577 | 8,8,8,8, |
| 5578 | 9,9,9,9,9, |
| 5579 | 10,10,10,10,10, |
| 5580 | 11,11,11,11, |
| 5581 | 12,12,12,12,12, |
| 5582 | 13,13,13,13,13, |
| 5583 | 14,14,14,14,14, |
| 5584 | 15,15,15,15,15, |
| 5585 | 16,16,16,16, |
| 5586 | 17,17,17,17,17, |
| 5587 | 18,18,18,18,18, |
| 5588 | 19,19,19,19,19, |
| 5589 | 20,20,20,20,20, |
| 5590 | 21,21, |
| 5591 | }; |
| 5592 | |
| 5593 | DRIVER_INIT_CALL(bank0c); |
| 5594 | sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table); |
| 5595 | } |
| 5596 | |
| 5597 | |
| 5598 | |
| 5599 | DRIVER_INIT_MEMBER(system1_state,sega315_5178) |
| 5600 | { |
| 5325 | 5601 | // 315-5178 |
| 5326 | 5602 | static const UINT8 xor_table[128] = |
| 5327 | 5603 | { |
| r255124 | r255125 | |
| 5367 | 5643 | sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table); |
| 5368 | 5644 | } |
| 5369 | 5645 | |
| 5370 | | DRIVER_INIT_MEMBER(system1_state,wboyo) |
| 5646 | DRIVER_INIT_MEMBER(system1_state,sega315_5135) |
| 5371 | 5647 | { |
| 5372 | 5648 | static const UINT8 convtable[32][4] = |
| 5373 | 5649 | { |
| r255124 | r255125 | |
| 5401 | 5677 | mc8123_decode(m_maincpu_region->base(), m_decrypted_opcodes, memregion("key")->base(), 0x8000); |
| 5402 | 5678 | } |
| 5403 | 5679 | |
| 5404 | | DRIVER_INIT_MEMBER(system1_state,hvymetal) |
| 5680 | DRIVER_INIT_MEMBER(system1_state,sega315_3135) |
| 5405 | 5681 | { |
| 5406 | 5682 | static const UINT8 convtable[32][4] = |
| 5407 | 5683 | { |
| r255124 | r255125 | |
| 5457 | 5733 | mc8123_decode(m_maincpu_region->base(), m_banked_decrypted_opcodes.get(), memregion("key")->base(), m_maincpu_region->bytes()); |
| 5458 | 5734 | } |
| 5459 | 5735 | |
| 5460 | | DRIVER_INIT_MEMBER(system1_state,wboysys2) |
| 5461 | | { |
| 5462 | | // 315-5177 |
| 5463 | | static const UINT8 xor_table[128] = |
| 5464 | | { |
| 5465 | | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5466 | | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5467 | | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5468 | | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5469 | | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5470 | | 0x05,0x55,0x50,0x14, |
| 5471 | 5736 | |
| 5472 | | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5473 | | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5474 | | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5475 | | 0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40, |
| 5476 | | 0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41, |
| 5477 | | 0x05,0x55,0x50,0x14, |
| 5478 | | }; |
| 5479 | 5737 | |
| 5480 | | static const int swap_table[128] = |
| 5481 | | { |
| 5482 | | 0,0,0,0, |
| 5483 | | 1,1,1,1,1, |
| 5484 | | 2,2,2,2,2, |
| 5485 | | 3,3,3,3, |
| 5486 | | 4,4,4,4,4, |
| 5487 | | 5,5,5,5,5, |
| 5488 | | 6,6,6,6,6, |
| 5489 | | 7,7,7,7,7, |
| 5490 | | 8,8,8,8, |
| 5491 | | 9,9,9,9,9, |
| 5492 | | 10,10,10,10,10, |
| 5493 | | 11,11,11,11,11, |
| 5494 | | 12,12,12,12,12, |
| 5495 | | 13,13, |
| 5496 | | |
| 5497 | | 8,8,8,8, |
| 5498 | | 9,9,9,9,9, |
| 5499 | | 10,10,10,10,10, |
| 5500 | | 11,11,11,11, |
| 5501 | | 12,12,12,12,12, |
| 5502 | | 13,13,13,13,13, |
| 5503 | | 14,14,14,14,14, |
| 5504 | | 15,15,15,15,15, |
| 5505 | | 16,16,16,16, |
| 5506 | | 17,17,17,17,17, |
| 5507 | | 18,18,18,18,18, |
| 5508 | | 19,19,19,19,19, |
| 5509 | | 20,20,20,20,20, |
| 5510 | | 21,21, |
| 5511 | | }; |
| 5512 | | |
| 5513 | | DRIVER_INIT_CALL(bank0c); |
| 5514 | | sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table); |
| 5515 | | } |
| 5516 | | |
| 5517 | | |
| 5518 | | |
| 5519 | 5738 | DRIVER_INIT_MEMBER(system1_state,dakkochn) |
| 5520 | 5739 | { |
| 5521 | 5740 | m_videomode_custom = &system1_state::dakkochn_custom_w; |
| r255124 | r255125 | |
| 5524 | 5743 | } |
| 5525 | 5744 | |
| 5526 | 5745 | |
| 5527 | | DRIVER_INIT_MEMBER(system1_state,myherok) |
| 5528 | | { |
| 5529 | | static const UINT8 convtable[32][4] = |
| 5530 | | { |
| 5531 | | /* opcode data address */ |
| 5532 | | /* A B C D A B C D */ |
| 5533 | | { 0x20,0x00,0xa0,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...0...0 */ |
| 5534 | | { 0x20,0x00,0xa0,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...0...1 */ |
| 5535 | | { 0xa8,0xa0,0x88,0x80 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...0...1...0 */ |
| 5536 | | { 0x08,0x88,0x00,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...1...1 */ |
| 5537 | | { 0x20,0x00,0xa0,0x80 }, { 0x28,0xa8,0x08,0x88 }, /* ...0...1...0...0 */ |
| 5538 | | { 0x20,0x00,0xa0,0x80 }, { 0x08,0x88,0x00,0x80 }, /* ...0...1...0...1 */ |
| 5539 | | { 0x28,0xa8,0x08,0x88 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...1...1...0 */ |
| 5540 | | { 0x08,0x88,0x00,0x80 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...1...1...1 */ |
| 5541 | | { 0x28,0xa8,0x08,0x88 }, { 0x20,0x00,0xa0,0x80 }, /* ...1...0...0...0 */ |
| 5542 | | { 0x80,0xa0,0x88,0xa8 }, { 0x20,0x00,0xa0,0x80 }, /* ...1...0...0...1 */ |
| 5543 | | { 0x80,0xa0,0x88,0xa8 }, { 0x80,0xa0,0x88,0xa8 }, /* ...1...0...1...0 */ |
| 5544 | | { 0xa8,0xa0,0x88,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...1...0...1...1 */ |
| 5545 | | { 0x88,0x80,0x08,0x00 }, { 0x88,0x80,0x08,0x00 }, /* ...1...1...0...0 */ |
| 5546 | | { 0x88,0x80,0x08,0x00 }, { 0x08,0x88,0x00,0x80 }, /* ...1...1...0...1 */ |
| 5547 | | { 0x88,0x80,0x08,0x00 }, { 0xa8,0xa0,0x88,0x80 }, /* ...1...1...1...0 */ |
| 5548 | | { 0x88,0x80,0x08,0x00 }, { 0xa8,0xa0,0x88,0x80 } /* ...1...1...1...1 */ |
| 5549 | | }; |
| 5550 | 5746 | |
| 5551 | | |
| 5552 | | int A; |
| 5553 | | UINT8 *rom; |
| 5554 | | |
| 5555 | | DRIVER_INIT_CALL(bank00); |
| 5556 | | |
| 5557 | | /* additionally to the usual protection, all the program ROMs have data lines */ |
| 5558 | | /* D0 and D1 swapped. */ |
| 5559 | | rom = m_maincpu_region->base(); |
| 5560 | | for (A = 0;A < 0xc000;A++) |
| 5561 | | rom[A] = (rom[A] & 0xfc) | ((rom[A] & 1) << 1) | ((rom[A] & 2) >> 1); |
| 5562 | | |
| 5563 | | /* the tile gfx ROMs are mangled as well: */ |
| 5564 | | rom = memregion("tiles")->base(); |
| 5565 | | |
| 5566 | | /* the first ROM has data lines D0 and D6 swapped. */ |
| 5567 | | for (A = 0x0000;A < 0x4000;A++) |
| 5568 | | rom[A] = (rom[A] & 0xbe) | ((rom[A] & 0x01) << 6) | ((rom[A] & 0x40) >> 6); |
| 5569 | | |
| 5570 | | /* the second ROM has data lines D1 and D5 swapped. */ |
| 5571 | | for (A = 0x4000;A < 0x8000;A++) |
| 5572 | | rom[A] = (rom[A] & 0xdd) | ((rom[A] & 0x02) << 4) | ((rom[A] & 0x20) >> 4); |
| 5573 | | |
| 5574 | | /* the third ROM has data lines D0 and D6 swapped. */ |
| 5575 | | for (A = 0x8000;A < 0xc000;A++) |
| 5576 | | rom[A] = (rom[A] & 0xbe) | ((rom[A] & 0x01) << 6) | ((rom[A] & 0x40) >> 6); |
| 5577 | | |
| 5578 | | /* also, all three ROMs have address lines A4 and A5 swapped. */ |
| 5579 | | for (A = 0;A < 0xc000;A++) |
| 5580 | | { |
| 5581 | | int A1; |
| 5582 | | UINT8 temp; |
| 5583 | | |
| 5584 | | A1 = (A & 0xffcf) | ((A & 0x0010) << 1) | ((A & 0x0020) >> 1); |
| 5585 | | if (A < A1) |
| 5586 | | { |
| 5587 | | temp = rom[A]; |
| 5588 | | rom[A] = rom[A1]; |
| 5589 | | rom[A1] = temp; |
| 5590 | | } |
| 5591 | | } |
| 5592 | | |
| 5593 | | sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable); |
| 5594 | | } |
| 5595 | | |
| 5596 | 5747 | READ8_MEMBER(system1_state::nob_start_r) |
| 5597 | 5748 | { |
| 5598 | 5749 | /* in reality, it's likely some M1-dependent behavior */ |
| r255124 | r255125 | |
| 5661 | 5812 | m_bank1d->configure_entries(0, 4, m_maincpu_region->base() + 0x30000, 0x4000); |
| 5662 | 5813 | } |
| 5663 | 5814 | |
| 5815 | DRIVER_INIT_MEMBER(system1_state,bootsys2d) |
| 5816 | { |
| 5817 | DRIVER_INIT_CALL(bank0c); |
| 5818 | m_bank0d->set_base(m_maincpu_region->base()); |
| 5819 | m_bank1d->configure_entries(0, 4, m_maincpu_region->base() + 0x10000, 0x4000); |
| 5820 | } |
| 5821 | |
| 5822 | |
| 5664 | 5823 | DRIVER_INIT_MEMBER(system1_state,choplift) |
| 5665 | 5824 | { |
| 5666 | 5825 | UINT8 *mcurom = memregion("mcu")->base(); |
| r255124 | r255125 | |
| 5692 | 5851 | *************************************/ |
| 5693 | 5852 | |
| 5694 | 5853 | /* PPI-based System 1 */ |
| 5695 | | GAME( 1983, starjack, 0, sys1ppis, starjack, system1_state, bank00, ROT270, "Sega", "Star Jacker (Sega)", MACHINE_SUPPORTS_SAVE ) |
| 5696 | | GAME( 1983, starjacks, starjack, sys1ppis, starjacks, system1_state, bank00, ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", MACHINE_SUPPORTS_SAVE ) |
| 5697 | | GAME( 1983, upndown, 0, sys1ppix, upndown, system1_state, nprinces, ROT270, "Sega", "Up'n Down (315-5030)", MACHINE_SUPPORTS_SAVE ) |
| 5698 | | GAME( 1983, upndownu, upndown, sys1ppi, upndown, system1_state, bank00, ROT270, "Sega", "Up'n Down (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5699 | | GAME( 1983, regulus, 0, sys1ppix, regulus, system1_state, regulus, ROT270, "Sega", "Regulus (315-5033, Rev A.)", MACHINE_SUPPORTS_SAVE ) |
| 5700 | | GAME( 1983, reguluso, regulus, sys1ppix, reguluso, system1_state, regulus, ROT270, "Sega", "Regulus (315-5033)", MACHINE_SUPPORTS_SAVE ) |
| 5701 | | GAME( 1983, regulusu, regulus, sys1ppi, regulus, system1_state, bank00, ROT270, "Sega", "Regulus (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5702 | | GAME( 1984, mrviking, 0, sys1ppisx, mrviking, system1_state, mrviking, ROT270, "Sega", "Mister Viking (315-5041)", MACHINE_SUPPORTS_SAVE ) |
| 5703 | | GAME( 1984, mrvikingj, mrviking, sys1ppisx, mrvikingj, system1_state, mrviking, ROT270, "Sega", "Mister Viking (315-5041, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5704 | | GAME( 1984, swat, 0, sys1ppix, swat, system1_state, swat, ROT270, "Coreland / Sega", "SWAT (315-5048)", MACHINE_SUPPORTS_SAVE ) |
| 5705 | | GAME( 1984, flickyo, flicky, sys1ppix, flicky, system1_state, flicky, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 1)", MACHINE_SUPPORTS_SAVE ) |
| 5706 | | GAME( 1984, flickys1, flicky, sys1ppix, flickys1, system1_state, flicky, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 2)", MACHINE_SUPPORTS_SAVE ) |
| 5707 | | GAME( 1984, wmatch, 0, sys1ppisx, wmatch, system1_state, wmatch, ROT270, "Sega", "Water Match (315-5064)", MACHINE_SUPPORTS_SAVE ) |
| 5708 | | GAME( 1984, bullfgt, 0, sys1ppix, bullfgt, system1_state, bullfgtj, ROT0, "Coreland / Sega", "Bullfight (315-5065)", MACHINE_SUPPORTS_SAVE ) |
| 5709 | | GAME( 1985, nprinces, seganinj, sys1ppix, seganinj, system1_state, flicky, ROT0, "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) |
| 5710 | | GAME( 1985, nprincesu, seganinj, sys1ppi, seganinj, system1_state, bank00, ROT0, "Sega", "Ninja Princess (64k Ver. not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5711 | | GAME( 1986, wboy2, wboy, sys1ppix, wboy, system1_state, wboy2, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", MACHINE_SUPPORTS_SAVE ) |
| 5712 | | GAME( 1986, wboy2u, wboy, sys1ppi, wboy, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5713 | | GAME( 1986, wbdeluxe, wboy, sys1ppi, wbdeluxe, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy Deluxe", MACHINE_SUPPORTS_SAVE ) |
| 5714 | | GAME( 1986, nob, 0, nobm, nob, system1_state, nob, ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5715 | | GAME( 1986, nobb, nob, nob, nob, system1_state, nobb, ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5854 | GAME( 1983, starjack, 0, sys1ppis, starjack, system1_state, bank00, ROT270, "Sega", "Star Jacker (Sega)", MACHINE_SUPPORTS_SAVE ) |
| 5855 | GAME( 1983, starjacks, starjack, sys1ppis, starjacks, system1_state, bank00, ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", MACHINE_SUPPORTS_SAVE ) |
| 5856 | GAME( 1983, upndown, 0, sys1ppix, upndown, system1_state, sega315_5098, ROT270, "Sega", "Up'n Down (315-5030)", MACHINE_SUPPORTS_SAVE ) |
| 5857 | GAME( 1983, upndownu, upndown, sys1ppi, upndown, system1_state, bank00, ROT270, "Sega", "Up'n Down (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5858 | GAME( 1983, regulus, 0, sys1ppix, regulus, system1_state, sega315_5033, ROT270, "Sega", "Regulus (315-5033, Rev A.)", MACHINE_SUPPORTS_SAVE ) |
| 5859 | GAME( 1983, reguluso, regulus, sys1ppix, reguluso, system1_state, sega315_5033, ROT270, "Sega", "Regulus (315-5033)", MACHINE_SUPPORTS_SAVE ) |
| 5860 | GAME( 1983, regulusu, regulus, sys1ppi, regulus, system1_state, bank00, ROT270, "Sega", "Regulus (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5861 | GAME( 1984, mrviking, 0, sys1ppisx, mrviking, system1_state, sega315_5041, ROT270, "Sega", "Mister Viking (315-5041)", MACHINE_SUPPORTS_SAVE ) |
| 5862 | GAME( 1984, mrvikingj, mrviking, sys1ppisx, mrvikingj, system1_state, sega315_5041, ROT270, "Sega", "Mister Viking (315-5041, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5863 | GAME( 1984, swat, 0, sys1ppix, swat, system1_state, sega315_5048, ROT270, "Coreland / Sega", "SWAT (315-5048)", MACHINE_SUPPORTS_SAVE ) |
| 5864 | GAME( 1984, flickyo, flicky, sys1ppix, flicky, system1_state, sega315_5051, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 1)", MACHINE_SUPPORTS_SAVE ) |
| 5865 | GAME( 1984, flickys1, flicky, sys1ppix, flickys1, system1_state, sega315_5051, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 2)", MACHINE_SUPPORTS_SAVE ) |
| 5866 | GAME( 1984, wmatch, 0, sys1ppisx, wmatch, system1_state, sega315_5064, ROT270, "Sega", "Water Match (315-5064)", MACHINE_SUPPORTS_SAVE ) |
| 5867 | GAME( 1984, bullfgt, 0, sys1ppix, bullfgt, system1_state, sega315_5065, ROT0, "Coreland / Sega", "Bullfight (315-5065)", MACHINE_SUPPORTS_SAVE ) |
| 5868 | GAME( 1985, nprinces, seganinj, sys1ppix, seganinj, system1_state, sega315_5051, ROT0, "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) |
| 5869 | GAME( 1985, nprincesu, seganinj, sys1ppi, seganinj, system1_state, bank00, ROT0, "Sega", "Ninja Princess (64k Ver. not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5870 | GAME( 1986, wboy2, wboy, sys1ppix, wboy, system1_state, sega315_5178, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", MACHINE_SUPPORTS_SAVE ) |
| 5871 | GAME( 1986, wboy2u, wboy, sys1ppi, wboy, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5872 | GAME( 1986, wbdeluxe, wboy, sys1ppi, wbdeluxe, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy Deluxe", MACHINE_SUPPORTS_SAVE ) |
| 5873 | GAME( 1986, nob, 0, nobm, nob, system1_state, nob, ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5874 | GAME( 1986, nobb, nob, nob, nob, system1_state, nobb, ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5716 | 5875 | |
| 5717 | 5876 | /* PIO-based System 1 */ |
| 5718 | | GAME( 1984, flicky, 0, sys1piox, flicky, system1_state, flicky, ROT0, "Sega", "Flicky (128k Version, System 2, 315-5051)", MACHINE_SUPPORTS_SAVE ) |
| 5719 | | GAME( 1984, flickys2, flicky, sys1pio, flickys2, system1_state, bank00, ROT0, "Sega", "Flicky (128k Version, System 2, not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5720 | | GAME( 1984, thetogyu, bullfgt, sys1piox, bullfgt, system1_state, bullfgtj, ROT0, "Coreland / Sega", "The Togyu (315-5065, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5721 | | GAME( 1984, spatter, 0, sys1piosx, spatter, system1_state, spatter, ROT0, "Sega", "Spatter (set 1)", MACHINE_SUPPORTS_SAVE ) |
| 5722 | | GAME( 1984, spattera, spatter, sys1piosx, spatter, system1_state, spattera, ROT0, "Sega", "Spatter (315-5099)", MACHINE_SUPPORTS_SAVE ) |
| 5723 | | GAME( 1984, ssanchan, spatter, sys1piosx, spatter, system1_state, spatter, ROT0, "Sega", "Sanrin San Chan (Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5724 | | GAME( 1985, pitfall2, 0, sys1piox, pitfall2, system1_state, pitfall2, ROT0, "Sega", "Pitfall II (315-5093)", MACHINE_SUPPORTS_SAVE ) |
| 5725 | | GAME( 1985, pitfall2a, pitfall2, sys1piox, pitfall2, system1_state, pitfall2, ROT0, "Sega", "Pitfall II (315-5093, Flicky Conversion)", MACHINE_SUPPORTS_SAVE ) |
| 5726 | | GAME( 1985, pitfall2u, pitfall2, sys1pio, pitfall2u, system1_state, bank00, ROT0, "Sega", "Pitfall II (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5727 | | GAME( 1985, seganinj, 0, sys1piox, seganinj, system1_state, seganinj, ROT0, "Sega", "Sega Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) |
| 5728 | | GAME( 1985, seganinju, seganinj, sys1pio, seganinj, system1_state, bank00, ROT0, "Sega", "Sega Ninja (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5729 | | GAME( 1985, ninja, seganinj, sys1piox, seganinj, system1_state, seganinj, ROT0, "Sega", "Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) |
| 5730 | | GAME( 1985, nprinceso, seganinj, sys1piox, seganinj, system1_state, nprinces, ROT0, "Sega", "Ninja Princess (315-5098, 128k Ver.)", MACHINE_SUPPORTS_SAVE ) |
| 5731 | | GAME( 1985, nprincesb, seganinj, sys1piox, seganinj, system1_state, flicky, ROT0, "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) |
| 5732 | | GAME( 1985, imsorry, 0, sys1piox, imsorry, system1_state, imsorry, ROT0, "Coreland / Sega", "I'm Sorry (315-5110, US)", MACHINE_SUPPORTS_SAVE ) |
| 5733 | | GAME( 1985, imsorryj, imsorry, sys1piox, imsorry, system1_state, imsorry, ROT0, "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5734 | | GAME( 1985, teddybb, 0, sys1piox, teddybb, system1_state, teddybb, ROT0, "Sega", "TeddyBoy Blues (315-5115, New Ver.)", MACHINE_SUPPORTS_SAVE ) |
| 5735 | | GAME( 1985, teddybbo, teddybb, sys1piox, teddybb, system1_state, teddybb, ROT0, "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", MACHINE_SUPPORTS_SAVE ) |
| 5736 | | GAME( 1985, teddybbobl, teddybb, sys1piox, teddybb, system1_state, teddybb, ROT0, "bootleg", "TeddyBoy Blues (Old Ver. bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5737 | | GAME( 1985, myhero, 0, sys1pio, myhero, system1_state, bank00, ROT0, "Coreland / Sega", "My Hero (US, not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5738 | | GAME( 1985, sscandal, myhero, sys1piox, myhero, system1_state, myheroj, ROT0, "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5739 | | GAME( 1985, myherobl, myhero, sys1piox, myhero, system1_state, myheroj, ROT0, "bootleg", "My Hero (bootleg, 315-5132 encryption)", MACHINE_SUPPORTS_SAVE ) // cloned 315-5132 encryption? might be a direct copy of an undumped original set |
| 5740 | | GAME( 1985, myherok, myhero, sys1piox, myhero, system1_state, myherok, ROT0, "Coreland / Sega", "My Hero (Korea)", MACHINE_SUPPORTS_SAVE ) |
| 5741 | | GAME( 1985, 4dwarrio, 0, sys1piox, 4dwarrio, system1_state, 4dwarrio, ROT0, "Coreland / Sega", "4-D Warriors (315-5162)", MACHINE_SUPPORTS_SAVE ) |
| 5742 | | GAME( 1986, raflesia, 0, sys1piox, raflesia, system1_state, 4dwarrio, ROT270, "Coreland / Sega", "Rafflesia (315-5162)", MACHINE_SUPPORTS_SAVE ) |
| 5743 | | GAME( 1986, wboy, 0, sys1piox, wboy, system1_state, wboy, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", MACHINE_SUPPORTS_SAVE ) |
| 5744 | | GAME( 1986, wboyo, wboy, sys1piox, wboy, system1_state, wboyo, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5135)", MACHINE_SUPPORTS_SAVE ) |
| 5745 | | GAME( 1986, wboy3, wboy, sys1piox, wboy3, system1_state, wboyo, ROT0, "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", MACHINE_SUPPORTS_SAVE ) |
| 5746 | | GAME( 1986, wboy4, wboy, sys1piox, wboy, system1_state, 4dwarrio, ROT0, "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", MACHINE_SUPPORTS_SAVE ) |
| 5747 | | GAME( 1986, wboyu, wboy, sys1pio, wboyu, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (prototype?)", MACHINE_SUPPORTS_SAVE ) // appears to be a very early / unfinished version. |
| 5748 | | GAME( 1986, wboy5, wboy, sys1piox, wboy3, system1_state, wboyo, ROT0, "bootleg", "Wonder Boy (set 5, bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5749 | | GAME( 1986, wboyub, wboy, sys1piox, wboy, system1_state, wboyo, ROT0, "bootleg", "Wonder Boy (US bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) |
| 5750 | | GAME( 1987, blockgal, 0, sys1piox, blockgal, system1_state, blockgal, ROT90, "Sega / Vic Tokai","Block Gal (MC-8123B, 317-0029)", MACHINE_SUPPORTS_SAVE) |
| 5877 | GAME( 1984, flicky, 0, sys1piox, flicky, system1_state, sega315_5051, ROT0, "Sega", "Flicky (128k Version, System 2, 315-5051)", MACHINE_SUPPORTS_SAVE ) |
| 5878 | GAME( 1984, flickys2, flicky, sys1pio, flickys2, system1_state, bank00, ROT0, "Sega", "Flicky (128k Version, System 2, not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5879 | GAME( 1984, thetogyu, bullfgt, sys1piox, bullfgt, system1_state, sega315_5065, ROT0, "Coreland / Sega", "The Togyu (315-5065, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5880 | GAME( 1984, spatter, 0, sys1piosx, spatter, system1_state, sega315_spat, ROT0, "Sega", "Spatter (315-xxxx)", MACHINE_SUPPORTS_SAVE ) |
| 5881 | GAME( 1984, spattera, spatter, sys1piosx, spatter, system1_state, sega315_5099, ROT0, "Sega", "Spatter (315-5099)", MACHINE_SUPPORTS_SAVE ) |
| 5882 | GAME( 1984, ssanchan, spatter, sys1piosx, spatter, system1_state, sega315_spat, ROT0, "Sega", "Sanrin San Chan (Japan, 315-xxxx)", MACHINE_SUPPORTS_SAVE ) |
| 5883 | GAME( 1985, pitfall2, 0, sys1piox, pitfall2, system1_state, sega315_5093, ROT0, "Sega", "Pitfall II (315-5093)", MACHINE_SUPPORTS_SAVE ) |
| 5884 | GAME( 1985, pitfall2a, pitfall2, sys1piox, pitfall2, system1_state, sega315_5093, ROT0, "Sega", "Pitfall II (315-5093, Flicky Conversion)", MACHINE_SUPPORTS_SAVE ) |
| 5885 | GAME( 1985, pitfall2u, pitfall2, sys1pio, pitfall2u, system1_state, bank00, ROT0, "Sega", "Pitfall II (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5886 | GAME( 1985, seganinj, 0, sys1piox, seganinj, system1_state, sega315_5102, ROT0, "Sega", "Sega Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) |
| 5887 | GAME( 1985, seganinju, seganinj, sys1pio, seganinj, system1_state, bank00, ROT0, "Sega", "Sega Ninja (not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5888 | GAME( 1985, seganinja, seganinj, sys1piox, seganinj, system1_state, sega315_5133, ROT0, "Sega", "Sega Ninja (315-5113)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // needs decrypting |
| 5889 | GAME( 1985, ninja, seganinj, sys1piox, seganinj, system1_state, sega315_5102, ROT0, "Sega", "Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) |
| 5890 | GAME( 1985, nprinceso, seganinj, sys1piox, seganinj, system1_state, sega315_5098, ROT0, "Sega", "Ninja Princess (315-5098, 128k Ver.)", MACHINE_SUPPORTS_SAVE ) |
| 5891 | GAME( 1985, nprincesb, seganinj, sys1piox, seganinj, system1_state, sega315_5051, ROT0, "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) |
| 5892 | GAME( 1985, imsorry, 0, sys1piox, imsorry, system1_state, sega315_5110, ROT0, "Coreland / Sega", "I'm Sorry (315-5110, US)", MACHINE_SUPPORTS_SAVE ) |
| 5893 | GAME( 1985, imsorryj, imsorry, sys1piox, imsorry, system1_state, sega315_5110, ROT0, "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5894 | GAME( 1985, teddybb, 0, sys1piox, teddybb, system1_state, sega315_5155, ROT0, "Sega", "TeddyBoy Blues (315-5115, New Ver.)", MACHINE_SUPPORTS_SAVE ) |
| 5895 | GAME( 1985, teddybbo, teddybb, sys1piox, teddybb, system1_state, sega315_5155, ROT0, "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", MACHINE_SUPPORTS_SAVE ) |
| 5896 | GAME( 1985, teddybbobl, teddybb, sys1piox, teddybb, system1_state, sega315_5155, ROT0, "bootleg", "TeddyBoy Blues (Old Ver. bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5897 | GAME( 1985, myhero, 0, sys1pio, myhero, system1_state, bank00, ROT0, "Coreland / Sega", "My Hero (US, not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5898 | GAME( 1985, sscandal, myhero, sys1piox, myhero, system1_state, sega315_5132, ROT0, "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", MACHINE_SUPPORTS_SAVE ) |
| 5899 | GAME( 1985, myherobl, myhero, sys1piox, myhero, system1_state, sega315_5132, ROT0, "bootleg", "My Hero (bootleg, 315-5132 encryption)", MACHINE_SUPPORTS_SAVE ) // cloned 315-5132 encryption? might be a direct copy of an undumped original set |
| 5900 | GAME( 1985, myherok, myhero, sys1piox, myhero, system1_state, myherok, ROT0, "Coreland / Sega", "My Hero (Korea)", MACHINE_SUPPORTS_SAVE ) // possible bootleg, has extra encryption |
| 5901 | GAME( 1985, 4dwarrio, 0, sys1piox, 4dwarrio, system1_state, sega315_5162, ROT0, "Coreland / Sega", "4-D Warriors (315-5162)", MACHINE_SUPPORTS_SAVE ) |
| 5902 | GAME( 1986, raflesia, 0, sys1piox, raflesia, system1_state, sega315_5162, ROT270, "Coreland / Sega", "Rafflesia (315-5162)", MACHINE_SUPPORTS_SAVE ) |
| 5903 | GAME( 1986, wboy, 0, sys1piox, wboy, system1_state, sega315_5177, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", MACHINE_SUPPORTS_SAVE ) |
| 5904 | GAME( 1986, wboyo, wboy, sys1piox, wboy, system1_state, sega315_5135, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5135)", MACHINE_SUPPORTS_SAVE ) |
| 5905 | GAME( 1986, wboy3, wboy, sys1piox, wboy3, system1_state, sega315_5135, ROT0, "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", MACHINE_SUPPORTS_SAVE ) |
| 5906 | GAME( 1986, wboy4, wboy, sys1piox, wboy, system1_state, sega315_5162, ROT0, "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", MACHINE_SUPPORTS_SAVE ) |
| 5907 | GAME( 1986, wboyu, wboy, sys1pio, wboyu, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (prototype?)", MACHINE_SUPPORTS_SAVE ) // appears to be a very early / unfinished version. |
| 5908 | GAME( 1986, wboy5, wboy, sys1piox, wboy3, system1_state, sega315_5135, ROT0, "bootleg", "Wonder Boy (set 5, bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5909 | GAME( 1986, wboyub, wboy, sys1piox, wboy, system1_state, sega315_5135, ROT0, "bootleg", "Wonder Boy (US bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) |
| 5910 | GAME( 1987, blockgal, 0, sys1piox, blockgal, system1_state, blockgal, ROT90, "Sega / Vic Tokai","Block Gal (MC-8123B, 317-0029)", MACHINE_SUPPORTS_SAVE) |
| 5751 | 5911 | |
| 5752 | 5912 | /* PIO-based System 1 with ROM banking */ |
| 5753 | | GAME( 1985, hvymetal, 0, sys1piox, hvymetal, system1_state, hvymetal, ROT0, "Sega", "Heavy Metal (315-5135)", MACHINE_SUPPORTS_SAVE ) |
| 5754 | | GAME( 1986, gardia, 0, sys1piox, gardia, system1_state, gardia, ROT270, "Coreland / Sega", "Gardia (317-0006)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE) |
| 5755 | | GAME( 1986, brain, 0, sys1pio, brain, system1_state, bank44, ROT0, "Coreland / Sega", "Brain", MACHINE_SUPPORTS_SAVE ) |
| 5913 | GAME( 1985, hvymetal, 0, sys1piox, hvymetal, system1_state, sega315_3135, ROT0, "Sega", "Heavy Metal (315-5135)", MACHINE_SUPPORTS_SAVE ) |
| 5914 | GAME( 1986, gardia, 0, sys1piox, gardia, system1_state, gardia, ROT270, "Coreland / Sega", "Gardia (317-0006)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE) |
| 5915 | GAME( 1986, brain, 0, sys1pio, brain, system1_state, bank44, ROT0, "Coreland / Sega", "Brain", MACHINE_SUPPORTS_SAVE ) |
| 5756 | 5916 | |
| 5757 | 5917 | /* System 2 */ |
| 5758 | | GAME( 1985, choplift, 0, sys2rowm, choplift, system1_state, choplift, ROT0, "Sega (licensed from Dan Gorlin)", "Choplifter (8751 315-5151)", MACHINE_SUPPORTS_SAVE ) |
| 5759 | | GAME( 1985, chopliftu, choplift, sys2row, choplift, system1_state, bank0c, ROT0, "Sega (licensed from Dan Gorlin)", "Choplifter (unprotected)", MACHINE_SUPPORTS_SAVE ) |
| 5760 | | GAME( 1985, chopliftbl, choplift, sys2row, choplift, system1_state, bank0c, ROT0, "bootleg", "Choplifter (bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5761 | | GAME( 1985, shtngmst, 0, sys2m, shtngmst, system1_state, shtngmst, ROT0, "Sega", "Shooting Master (8751 315-5159)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) |
| 5762 | | GAME( 1985, shtngmste, shtngmst, sys2m, shtngmst, system1_state, shtngmst, ROT0, "Sega / EVG", "Shooting Master (EVG, 8751 315-5159a)", MACHINE_SUPPORTS_SAVE ) |
| 5763 | | GAME( 1986, gardiab, gardia, sys2x, gardia, system1_state, gardiab, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) |
| 5764 | | GAME( 1986, gardiaj, gardia, sys2x, gardia, system1_state, gardia, ROT270, "Coreland / Sega", "Gardia (Japan, 317-0006)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) |
| 5765 | | GAME( 1986, wboysys2, wboy, sys2x, wboysys2, system1_state, wboysys2, ROT0, "Escape (Sega license)", "Wonder Boy (system 2)", MACHINE_SUPPORTS_SAVE ) |
| 5766 | | GAME( 1987, tokisens, 0, sys2, tokisens, system1_state, bank0c, ROT90, "Sega", "Toki no Senshi - Chrono Soldier", MACHINE_SUPPORTS_SAVE ) |
| 5767 | | GAME( 1987, wbml, 0, sys2xb, wbml, system1_state, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan New Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) |
| 5768 | | GAME( 1987, wbmljo, wbml, sys2xb, wbml, system1_state, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan Old Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) |
| 5769 | | GAME( 1987, wbmljb, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (Japan bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5770 | | GAME( 1987, wbmlb, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (English bootleg set 1)", MACHINE_SUPPORTS_SAVE) |
| 5771 | | GAME( 1987, wbmlbg, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg (Galaxy Electronics)", "Wonder Boy in Monster Land (English bootleg set 2)", MACHINE_SUPPORTS_SAVE ) |
| 5772 | | GAME( 1987, wbmlbge, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg (Gecas)", "Wonder Boy in Monster Land (English bootleg set 3)", MACHINE_SUPPORTS_SAVE ) |
| 5773 | | GAME( 2009, wbmlvc, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "Sega", "Wonder Boy in Monster Land (English, Virtual Console)", MACHINE_SUPPORTS_SAVE ) |
| 5774 | | GAME( 1987, dakkochn, 0, sys2xb, dakkochn, system1_state, dakkochn, ROT0, "White Board", "DakkoChan House (MC-8123B, 317-5014)", MACHINE_SUPPORTS_SAVE ) |
| 5775 | | GAME( 1987, blockgalb, blockgal, sys2x, blockgal, system1_state, bootleg, ROT90, "bootleg", "Block Gal (bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5776 | | GAME( 1988, ufosensi, 0, sys2rowxb, ufosensi, system1_state, ufosensi, ROT0, "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", MACHINE_SUPPORTS_SAVE ) |
| 5777 | | GAME( 1988, ufosensib, ufosensi, sys2rowxb, ufosensi, system1_state, bootsys2, ROT0, "bootleg", "Ufo Senshi Yohko Chan (bootleg, not encrypted)", MACHINE_SUPPORTS_SAVE ) |
| 5918 | GAME( 1985, choplift, 0, sys2rowm, choplift, system1_state, choplift, ROT0, "Sega (licensed from Dan Gorlin)", "Choplifter (8751 315-5151)", MACHINE_SUPPORTS_SAVE ) |
| 5919 | GAME( 1985, chopliftu, choplift, sys2row, choplift, system1_state, bank0c, ROT0, "Sega (licensed from Dan Gorlin)", "Choplifter (unprotected)", MACHINE_SUPPORTS_SAVE ) |
| 5920 | GAME( 1985, chopliftbl, choplift, sys2row, choplift, system1_state, bank0c, ROT0, "bootleg", "Choplifter (bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5921 | GAME( 1985, shtngmst, 0, sys2m, shtngmst, system1_state, shtngmst, ROT0, "Sega", "Shooting Master (8751 315-5159)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) |
| 5922 | GAME( 1985, shtngmste, shtngmst, sys2m, shtngmst, system1_state, shtngmst, ROT0, "Sega / EVG", "Shooting Master (EVG, 8751 315-5159a)", MACHINE_SUPPORTS_SAVE ) |
| 5923 | GAME( 1986, gardiab, gardia, sys2x, gardia, system1_state, gardiab, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) |
| 5924 | GAME( 1986, gardiaj, gardia, sys2x, gardia, system1_state, gardia, ROT270, "Coreland / Sega", "Gardia (Japan, 317-0006)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) |
| 5925 | GAME( 1986, wboysys2, wboy, sys2x, wboysys2, system1_state, sega315_5177_s2, ROT0, "Escape (Sega license)", "Wonder Boy (system 2)", MACHINE_SUPPORTS_SAVE ) |
| 5926 | GAME( 1987, tokisens, 0, sys2, tokisens, system1_state, bank0c, ROT90, "Sega", "Toki no Senshi - Chrono Soldier", MACHINE_SUPPORTS_SAVE ) |
| 5927 | GAME( 1987, wbml, 0, sys2xb, wbml, system1_state, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan New Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) |
| 5928 | GAME( 1987, wbmljo, wbml, sys2xb, wbml, system1_state, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan Old Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) |
| 5929 | GAME( 1987, wbmljb, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (Japan bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5930 | GAME( 1987, wbmlb, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (English bootleg set 1)", MACHINE_SUPPORTS_SAVE) |
| 5931 | GAME( 1987, wbmlbg, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg (Galaxy Electronics)", "Wonder Boy in Monster Land (English bootleg set 2)", MACHINE_SUPPORTS_SAVE ) |
| 5932 | GAME( 1987, wbmlbge, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "bootleg (Gecas)", "Wonder Boy in Monster Land (English bootleg set 3)", MACHINE_SUPPORTS_SAVE ) |
| 5933 | GAME( 2009, wbmlvc, wbml, sys2xb, wbml, system1_state, bootsys2, ROT0, "Sega", "Wonder Boy in Monster Land (English, Virtual Console)", MACHINE_SUPPORTS_SAVE ) |
| 5934 | GAME( 2009, wbmlvcd, wbml, sys2xb, wbml, system1_state, bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy in Monster Land (decrypted bootleg of English, Virtual Console release)", MACHINE_SUPPORTS_SAVE ) // fully decrypted version |
| 5935 | GAME( 1987, wbmld, wbml, sys2xb, wbml, system1_state, bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy in Monster Land (decrypted bootleg of Japan New Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) |
| 5936 | GAME( 1987, wbmljod, wbml, sys2xb, wbml, system1_state, bootsys2d, ROT0, "bootleg (mpatou)", "Wonder Boy in Monster Land (decrypted bootleg of Japan Old Ver., MC-8123, 317-0043)", MACHINE_SUPPORTS_SAVE ) |
| 5937 | GAME( 1987, dakkochn, 0, sys2xb, dakkochn, system1_state, dakkochn, ROT0, "White Board", "DakkoChan House (MC-8123B, 317-5014)", MACHINE_SUPPORTS_SAVE ) |
| 5938 | GAME( 1987, blockgalb, blockgal, sys2x, blockgal, system1_state, bootleg, ROT90, "bootleg", "Block Gal (bootleg)", MACHINE_SUPPORTS_SAVE ) |
| 5939 | GAME( 1988, ufosensi, 0, sys2rowxb, ufosensi, system1_state, ufosensi, ROT0, "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", MACHINE_SUPPORTS_SAVE ) |
| 5940 | GAME( 1988, ufosensib, ufosensi, sys2rowxb, ufosensi, system1_state, bootsys2, ROT0, "bootleg", "Ufo Senshi Yohko Chan (bootleg, not encrypted)", MACHINE_SUPPORTS_SAVE ) |