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 ) |