Previous 199869 Revisions Next

r46613 Wednesday 23rd March, 2016 at 14:55:59 UTC by David Haywood
corrected rom names in seganinj set [Mathieu Patard]
- also added correct 'rev A' sprite rom (the program roms were rev A, looks like this ROM was missed when it was dumped before)

new NOT WORKING clone
Sega Ninja (315-5113) [Mathieu Patard]
- we don't have a decryption function for this set

also added some bootleg decrypted sets that are being used on PCBs.
[src/mame]mame.lst
[src/mame/drivers]system1.cpp
[src/mame/includes]system1.h

trunk/src/mame/drivers/system1.cpp
r255124r255125
29552955
29562956ROM_START( seganinj )
29572957   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 */
29612961
29622962   ROM_REGION( 0x10000, "soundcpu", 0 )
29632963   ROM_LOAD( "epr-6559.120",   0x0000, 0x2000, CRC(5a1570ee) SHA1(fd9215e007b6687d057ea7aee01f6d3dcbc8f894) )
r255124r255125
29742974   ROM_LOAD( "epr-6546.117",   0x0000, 0x4000, CRC(a4785692) SHA1(95ce23076dc86c5d6d3a65274873d4c48e91cc06) )
29752975   ROM_LOAD( "epr-6548.04",    0x4000, 0x4000, CRC(bdf278c1) SHA1(7ebe505f4f0434edb2cee17a6cbce6b900b29cc4) )
29762976   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
29782978
29792979   ROM_REGION( 0x0100, "proms", 0 )
29802980   ROM_LOAD( "pr-5317.76",     0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) )
r255124r255125
29842984   ROM_REGION( 0x10000, "maincpu", 0 )
29852985   ROM_LOAD( "epr-7149.116",   0x0000, 0x4000, CRC(cd9fade7) SHA1(958ef5c449df6ef5346b8634cb34a646950f706e) )
29862986   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 */
29882988
29892989   ROM_REGION( 0x10000, "soundcpu", 0 )
29902990   ROM_LOAD( "epr-6559.120",   0x0000, 0x2000, CRC(5a1570ee) SHA1(fd9215e007b6687d057ea7aee01f6d3dcbc8f894) )
r255124r255125
30073007   ROM_LOAD( "pr-5317.76",     0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) )
30083008ROM_END
30093009
3010ROM_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) )
3035ROM_END
3036
30103037ROM_START( nprinces )
30113038   ROM_REGION( 0x10000, "maincpu", 0 )
30123039   ROM_LOAD( "epr-6612.129",   0x0000, 0x2000, CRC(1b30976f) SHA1(f76b7f3d88985a5c190e7880c27ab057f102db31) ) /* encrypted */
30133040   ROM_LOAD( "epr-6613.130",   0x2000, 0x2000, CRC(18281f27) SHA1(3fcf2fbd1fc13eda678b77c58c53aa881882286c) ) /* encrypted */
30143041   ROM_LOAD( "epr-6614.131",   0x4000, 0x2000, CRC(69fc3d73) SHA1(287e6b252ae3cd23812b56afe23d4f239f3a76d5) ) /* encrypted */
30153042   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) )
30173044   ROM_LOAD( "epr-6617.134",   0xa000, 0x2000, CRC(20b6f895) SHA1(9c9cb3b0c33c4da2850a5756b63c3886634ec544) )
30183045
30193046   ROM_REGION( 0x10000, "soundcpu", 0 )
r255124r255125
43394366   ROM_LOAD( "pr5317.37",    0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) )
43404367ROM_END
43414368
4369
4370ROM_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) )
4397ROM_END
4398
4399ROM_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) )
4426ROM_END
4427
4428
43424429ROM_START( wbmljb )
43434430   ROM_REGION( 0x40000, "maincpu", 0 )
43444431   ROM_LOAD( "wbml.01",      0x20000, 0x8000, CRC(66482638) SHA1(887f93015f0effa2d0fa1f1f59082f75ac072221) ) /* Unencrypted opcodes */
r255124r255125
44824569
44834570   ROM_REGION( 0x18000, "tiles", 0 )
44844571   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) )
44874574
44884575   ROM_REGION( 0x20000, "sprites", 0 )
44894576   ROM_LOAD( "epr11028.87",  0x00000, 0x8000, CRC(af0b3972) SHA1(413825f66b84c7e45aa1855131482abead8f7f3b) )
r255124r255125
45004587   ROM_LOAD( "pr5317.37",    0x0000, 0x0100, CRC(648350b8) SHA1(c7986aa9127ef5b50b845434cb4e81dff9861cd2) )
45014588ROM_END
45024589
4590ROM_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) )
45034595
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) )
4617ROM_END
4618
45044619ROM_START( dakkochn )
45054620   ROM_REGION( 0x20000, "maincpu", 0 )
45064621   ROM_LOAD( "epr-11224.ic90",  0x00000, 0x8000, CRC(9fb1972b) SHA1(1bb61c6ec2b5b8eb39f74f20d5bcd0f14501bd21) ) /* encrypted */
r255124r255125
48384953   m_banked_decrypted_opcodes = nullptr;
48394954}
48404955
4841DRIVER_INIT_MEMBER(system1_state,regulus)
4956DRIVER_INIT_MEMBER(system1_state,sega315_5033)
48424957{
48434958   static const UINT8 convtable[32][4] =
48444959   {
r255124r255125
48664981   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
48674982}
48684983
4869DRIVER_INIT_MEMBER(system1_state,mrviking)
4984DRIVER_INIT_MEMBER(system1_state,sega315_5041)
48704985{
48714986   static const UINT8 convtable[32][4] =
48724987   {
r255124r255125
48945009   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
48955010}
48965011
4897DRIVER_INIT_MEMBER(system1_state,swat)
5012DRIVER_INIT_MEMBER(system1_state,sega315_5048)
48985013{
48995014   static const UINT8 convtable[32][4] =
49005015   {
r255124r255125
49225037   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
49235038}
49245039
4925DRIVER_INIT_MEMBER(system1_state,flicky)
5040DRIVER_INIT_MEMBER(system1_state,sega315_5051)
49265041{
49275042   static const UINT8 convtable[32][4] =
49285043   {
r255124r255125
49505065   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
49515066}
49525067
4953DRIVER_INIT_MEMBER(system1_state,wmatch)
5068DRIVER_INIT_MEMBER(system1_state,sega315_5064)
49545069{
49555070   static const UINT8 convtable[32][4] =
49565071   {
r255124r255125
49785093   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
49795094}
49805095
4981DRIVER_INIT_MEMBER(system1_state,bullfgtj)
5096DRIVER_INIT_MEMBER(system1_state,sega315_5065)
49825097{
49835098   static const UINT8 convtable[32][4] =
49845099   {
r255124r255125
50065121   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
50075122}
50085123
5009DRIVER_INIT_MEMBER(system1_state,spatter)
5124DRIVER_INIT_MEMBER(system1_state,sega315_spat)
50105125{
50115126   static const UINT8 convtable[32][4] =
50125127   {
r255124r255125
50345149   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
50355150}
50365151
5037DRIVER_INIT_MEMBER(system1_state,spattera)
5152DRIVER_INIT_MEMBER(system1_state,sega315_5099)
50385153{
50395154   static const UINT8 convtable[32][4] =
50405155   {
r255124r255125
50625177   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
50635178}
50645179
5065DRIVER_INIT_MEMBER(system1_state,pitfall2)
5180DRIVER_INIT_MEMBER(system1_state,sega315_5093)
50665181{
50675182   static const UINT8 convtable[32][4] =
50685183   {
r255124r255125
50905205   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
50915206}
50925207
5093DRIVER_INIT_MEMBER(system1_state,nprinces)
5208DRIVER_INIT_MEMBER(system1_state,sega315_5098) // also 315-5030 ?
50945209{
50955210   static const UINT8 convtable[32][4] =
50965211   {
r255124r255125
51185233   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
51195234}
51205235
5121DRIVER_INIT_MEMBER(system1_state,seganinj)
5236DRIVER_INIT_MEMBER(system1_state,sega315_5102)
51225237{
51235238   static const UINT8 convtable[32][4] =
51245239   {
r255124r255125
51465261   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
51475262}
51485263
5149DRIVER_INIT_MEMBER(system1_state,imsorry)
5264
5265// THIS TABLE IS WRONG
5266DRIVER_INIT_MEMBER(system1_state,sega315_5133)
51505267{
51515268   static const UINT8 convtable[32][4] =
51525269   {
51535270      /*       opcode                   data                     address      */
51545271      /*  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
5295DRIVER_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                           */
51555301      { 0x88,0x08,0x80,0x00 }, { 0x00,0x20,0x80,0xa0 },   /* ...0...0...0...0 */
51565302      { 0x00,0x20,0x80,0xa0 }, { 0x88,0x08,0x80,0x00 },   /* ...0...0...0...1 */
51575303      { 0x88,0x08,0xa8,0x28 }, { 0x00,0x20,0x80,0xa0 },   /* ...0...0...1...0 */
r255124r255125
51745320   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
51755321}
51765322
5177DRIVER_INIT_MEMBER(system1_state,teddybb)
5323DRIVER_INIT_MEMBER(system1_state,sega315_5155)
51785324{
51795325   static const UINT8 convtable[32][4] =
51805326   {
r255124r255125
52025348   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
52035349}
52045350
5205DRIVER_INIT_MEMBER(system1_state,myheroj)
5351DRIVER_INIT_MEMBER(system1_state,sega315_5132)
52065352{
52075353   static const UINT8 convtable[32][4] =
52085354   {
r255124r255125
52305376   sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
52315377}
52325378
5233DRIVER_INIT_MEMBER(system1_state,4dwarrio)
5379// todo, collapse with above (this is sega315_5132 with an extra layer, probably bootleg)
5380DRIVER_INIT_MEMBER(system1_state,myherok)
52345381{
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
5449DRIVER_INIT_MEMBER(system1_state,sega315_5162)
5450{
52355451   // 315-5162
52365452   static const UINT8 xor_table[128] =
52375453   {
r255124r255125
52635479   sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table);
52645480}
52655481
5266DRIVER_INIT_MEMBER(system1_state,wboy)
5482DRIVER_INIT_MEMBER(system1_state,sega315_5177)
52675483{
52685484   // 315-5177
52695485   static const UINT8 xor_table[128] =
r255124r255125
53205536   sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table);
53215537}
53225538
5323DRIVER_INIT_MEMBER(system1_state,wboy2)
5539// todo, refactor into above
5540DRIVER_INIT_MEMBER(system1_state,sega315_5177_s2)
53245541{
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
5599DRIVER_INIT_MEMBER(system1_state,sega315_5178)
5600{
53255601   // 315-5178
53265602   static const UINT8 xor_table[128] =
53275603   {
r255124r255125
53675643   sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table);
53685644}
53695645
5370DRIVER_INIT_MEMBER(system1_state,wboyo)
5646DRIVER_INIT_MEMBER(system1_state,sega315_5135)
53715647{
53725648   static const UINT8 convtable[32][4] =
53735649   {
r255124r255125
54015677   mc8123_decode(m_maincpu_region->base(), m_decrypted_opcodes, memregion("key")->base(), 0x8000);
54025678}
54035679
5404DRIVER_INIT_MEMBER(system1_state,hvymetal)
5680DRIVER_INIT_MEMBER(system1_state,sega315_3135)
54055681{
54065682   static const UINT8 convtable[32][4] =
54075683   {
r255124r255125
54575733   mc8123_decode(m_maincpu_region->base(), m_banked_decrypted_opcodes.get(), memregion("key")->base(), m_maincpu_region->bytes());
54585734}
54595735
5460DRIVER_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,
54715736
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   };
54795737
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
55195738DRIVER_INIT_MEMBER(system1_state,dakkochn)
55205739{
55215740   m_videomode_custom = &system1_state::dakkochn_custom_w;
r255124r255125
55245743}
55255744
55265745
5527DRIVER_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   };
55505746
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
55965747READ8_MEMBER(system1_state::nob_start_r)
55975748{
55985749   /* in reality, it's likely some M1-dependent behavior */
r255124r255125
56615812   m_bank1d->configure_entries(0, 4, m_maincpu_region->base() + 0x30000, 0x4000);
56625813}
56635814
5815DRIVER_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
56645823DRIVER_INIT_MEMBER(system1_state,choplift)
56655824{
56665825   UINT8 *mcurom = memregion("mcu")->base();
r255124r255125
56925851 *************************************/
56935852
56945853/* PPI-based System 1 */
5695GAME( 1983, starjack,   0,        sys1ppis,  starjack,  system1_state, bank00,   ROT270, "Sega", "Star Jacker (Sega)", MACHINE_SUPPORTS_SAVE )
5696GAME( 1983, starjacks,  starjack, sys1ppis,  starjacks, system1_state, bank00,   ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", MACHINE_SUPPORTS_SAVE )
5697GAME( 1983, upndown,    0,        sys1ppix,  upndown,   system1_state, nprinces, ROT270, "Sega", "Up'n Down (315-5030)", MACHINE_SUPPORTS_SAVE )
5698GAME( 1983, upndownu,   upndown,  sys1ppi,   upndown,   system1_state, bank00,   ROT270, "Sega", "Up'n Down (not encrypted)", MACHINE_SUPPORTS_SAVE )
5699GAME( 1983, regulus,    0,        sys1ppix,  regulus,   system1_state, regulus,  ROT270, "Sega", "Regulus (315-5033, Rev A.)", MACHINE_SUPPORTS_SAVE )
5700GAME( 1983, reguluso,   regulus,  sys1ppix,  reguluso,  system1_state, regulus,  ROT270, "Sega", "Regulus (315-5033)", MACHINE_SUPPORTS_SAVE )
5701GAME( 1983, regulusu,   regulus,  sys1ppi,   regulus,   system1_state, bank00,   ROT270, "Sega", "Regulus (not encrypted)", MACHINE_SUPPORTS_SAVE )
5702GAME( 1984, mrviking,   0,        sys1ppisx, mrviking,  system1_state, mrviking, ROT270, "Sega", "Mister Viking (315-5041)", MACHINE_SUPPORTS_SAVE )
5703GAME( 1984, mrvikingj,  mrviking, sys1ppisx, mrvikingj, system1_state, mrviking, ROT270, "Sega", "Mister Viking (315-5041, Japan)", MACHINE_SUPPORTS_SAVE )
5704GAME( 1984, swat,       0,        sys1ppix,  swat,      system1_state, swat,     ROT270, "Coreland / Sega", "SWAT (315-5048)", MACHINE_SUPPORTS_SAVE )
5705GAME( 1984, flickyo,    flicky,   sys1ppix,  flicky,    system1_state, flicky,   ROT0,   "Sega", "Flicky (64k Version, System 1, 315-5051, set 1)", MACHINE_SUPPORTS_SAVE )
5706GAME( 1984, flickys1,   flicky,   sys1ppix,  flickys1,  system1_state, flicky,   ROT0,   "Sega", "Flicky (64k Version, System 1, 315-5051, set 2)", MACHINE_SUPPORTS_SAVE )
5707GAME( 1984, wmatch,     0,        sys1ppisx, wmatch,    system1_state, wmatch,   ROT270, "Sega", "Water Match (315-5064)", MACHINE_SUPPORTS_SAVE )
5708GAME( 1984, bullfgt,    0,        sys1ppix,  bullfgt,   system1_state, bullfgtj, ROT0,   "Coreland / Sega", "Bullfight (315-5065)", MACHINE_SUPPORTS_SAVE )
5709GAME( 1985, nprinces,   seganinj, sys1ppix,  seganinj,  system1_state, flicky,   ROT0,   "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE )
5710GAME( 1985, nprincesu,  seganinj, sys1ppi,   seganinj,  system1_state, bank00,   ROT0,   "Sega", "Ninja Princess (64k Ver. not encrypted)", MACHINE_SUPPORTS_SAVE )
5711GAME( 1986, wboy2,      wboy,     sys1ppix,  wboy,      system1_state, wboy2,    ROT0,   "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", MACHINE_SUPPORTS_SAVE )
5712GAME( 1986, wboy2u,     wboy,     sys1ppi,   wboy,      system1_state, bank00,   ROT0,   "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", MACHINE_SUPPORTS_SAVE )
5713GAME( 1986, wbdeluxe,   wboy,     sys1ppi,   wbdeluxe,  system1_state, bank00,   ROT0,   "Escape (Sega license)", "Wonder Boy Deluxe", MACHINE_SUPPORTS_SAVE )
5714GAME( 1986, nob,        0,        nobm,      nob,       system1_state, nob,      ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", MACHINE_SUPPORTS_SAVE )
5715GAME( 1986, nobb,       nob,      nob,       nob,       system1_state, nobb,     ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", MACHINE_SUPPORTS_SAVE )
5854GAME( 1983, starjack,   0,        sys1ppis,  starjack,  system1_state, bank00,       ROT270, "Sega", "Star Jacker (Sega)", MACHINE_SUPPORTS_SAVE )
5855GAME( 1983, starjacks,  starjack, sys1ppis,  starjacks, system1_state, bank00,       ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", MACHINE_SUPPORTS_SAVE )
5856GAME( 1983, upndown,    0,        sys1ppix,  upndown,   system1_state, sega315_5098, ROT270, "Sega", "Up'n Down (315-5030)", MACHINE_SUPPORTS_SAVE )
5857GAME( 1983, upndownu,   upndown,  sys1ppi,   upndown,   system1_state, bank00,       ROT270, "Sega", "Up'n Down (not encrypted)", MACHINE_SUPPORTS_SAVE )
5858GAME( 1983, regulus,    0,        sys1ppix,  regulus,   system1_state, sega315_5033, ROT270, "Sega", "Regulus (315-5033, Rev A.)", MACHINE_SUPPORTS_SAVE )
5859GAME( 1983, reguluso,   regulus,  sys1ppix,  reguluso,  system1_state, sega315_5033, ROT270, "Sega", "Regulus (315-5033)", MACHINE_SUPPORTS_SAVE )
5860GAME( 1983, regulusu,   regulus,  sys1ppi,   regulus,   system1_state, bank00,       ROT270, "Sega", "Regulus (not encrypted)", MACHINE_SUPPORTS_SAVE )
5861GAME( 1984, mrviking,   0,        sys1ppisx, mrviking,  system1_state, sega315_5041, ROT270, "Sega", "Mister Viking (315-5041)", MACHINE_SUPPORTS_SAVE )
5862GAME( 1984, mrvikingj,  mrviking, sys1ppisx, mrvikingj, system1_state, sega315_5041, ROT270, "Sega", "Mister Viking (315-5041, Japan)", MACHINE_SUPPORTS_SAVE )
5863GAME( 1984, swat,       0,        sys1ppix,  swat,      system1_state, sega315_5048, ROT270, "Coreland / Sega", "SWAT (315-5048)", MACHINE_SUPPORTS_SAVE )
5864GAME( 1984, flickyo,    flicky,   sys1ppix,  flicky,    system1_state, sega315_5051, ROT0,   "Sega", "Flicky (64k Version, System 1, 315-5051, set 1)", MACHINE_SUPPORTS_SAVE )
5865GAME( 1984, flickys1,   flicky,   sys1ppix,  flickys1,  system1_state, sega315_5051, ROT0,   "Sega", "Flicky (64k Version, System 1, 315-5051, set 2)", MACHINE_SUPPORTS_SAVE )
5866GAME( 1984, wmatch,     0,        sys1ppisx, wmatch,    system1_state, sega315_5064, ROT270, "Sega", "Water Match (315-5064)", MACHINE_SUPPORTS_SAVE )
5867GAME( 1984, bullfgt,    0,        sys1ppix,  bullfgt,   system1_state, sega315_5065, ROT0,   "Coreland / Sega", "Bullfight (315-5065)", MACHINE_SUPPORTS_SAVE )
5868GAME( 1985, nprinces,   seganinj, sys1ppix,  seganinj,  system1_state, sega315_5051, ROT0,   "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE )
5869GAME( 1985, nprincesu,  seganinj, sys1ppi,   seganinj,  system1_state, bank00,       ROT0,   "Sega", "Ninja Princess (64k Ver. not encrypted)", MACHINE_SUPPORTS_SAVE )
5870GAME( 1986, wboy2,      wboy,     sys1ppix,  wboy,      system1_state, sega315_5178, ROT0,   "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", MACHINE_SUPPORTS_SAVE )
5871GAME( 1986, wboy2u,     wboy,     sys1ppi,   wboy,      system1_state, bank00,       ROT0,   "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", MACHINE_SUPPORTS_SAVE )
5872GAME( 1986, wbdeluxe,   wboy,     sys1ppi,   wbdeluxe,  system1_state, bank00,       ROT0,   "Escape (Sega license)", "Wonder Boy Deluxe", MACHINE_SUPPORTS_SAVE )
5873GAME( 1986, nob,        0,        nobm,      nob,       system1_state, nob,          ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", MACHINE_SUPPORTS_SAVE )
5874GAME( 1986, nobb,       nob,      nob,       nob,       system1_state, nobb,         ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", MACHINE_SUPPORTS_SAVE )
57165875
57175876/* PIO-based System 1 */
5718GAME( 1984, flicky,     0,        sys1piox,  flicky,    system1_state, flicky,   ROT0,   "Sega", "Flicky (128k Version, System 2, 315-5051)", MACHINE_SUPPORTS_SAVE )
5719GAME( 1984, flickys2,   flicky,   sys1pio,   flickys2,  system1_state, bank00,   ROT0,   "Sega", "Flicky (128k Version, System 2, not encrypted)", MACHINE_SUPPORTS_SAVE )
5720GAME( 1984, thetogyu,   bullfgt,  sys1piox,  bullfgt,   system1_state, bullfgtj, ROT0,   "Coreland / Sega", "The Togyu (315-5065, Japan)", MACHINE_SUPPORTS_SAVE )
5721GAME( 1984, spatter,    0,        sys1piosx, spatter,   system1_state, spatter,  ROT0,   "Sega", "Spatter (set 1)", MACHINE_SUPPORTS_SAVE )
5722GAME( 1984, spattera,   spatter,  sys1piosx, spatter,   system1_state, spattera, ROT0,   "Sega", "Spatter (315-5099)", MACHINE_SUPPORTS_SAVE )
5723GAME( 1984, ssanchan,   spatter,  sys1piosx, spatter,   system1_state, spatter,  ROT0,   "Sega", "Sanrin San Chan (Japan)", MACHINE_SUPPORTS_SAVE )
5724GAME( 1985, pitfall2,   0,        sys1piox,  pitfall2,  system1_state, pitfall2, ROT0,   "Sega", "Pitfall II (315-5093)", MACHINE_SUPPORTS_SAVE )
5725GAME( 1985, pitfall2a,  pitfall2, sys1piox,  pitfall2,  system1_state, pitfall2, ROT0,   "Sega", "Pitfall II (315-5093, Flicky Conversion)", MACHINE_SUPPORTS_SAVE )
5726GAME( 1985, pitfall2u,  pitfall2, sys1pio,   pitfall2u, system1_state, bank00,   ROT0,   "Sega", "Pitfall II (not encrypted)", MACHINE_SUPPORTS_SAVE )
5727GAME( 1985, seganinj,   0,        sys1piox,  seganinj,  system1_state, seganinj, ROT0,   "Sega", "Sega Ninja (315-5102)", MACHINE_SUPPORTS_SAVE )
5728GAME( 1985, seganinju,  seganinj, sys1pio,   seganinj,  system1_state, bank00,   ROT0,   "Sega", "Sega Ninja (not encrypted)", MACHINE_SUPPORTS_SAVE )
5729GAME( 1985, ninja,      seganinj, sys1piox,  seganinj,  system1_state, seganinj, ROT0,   "Sega", "Ninja (315-5102)", MACHINE_SUPPORTS_SAVE )
5730GAME( 1985, nprinceso,  seganinj, sys1piox,  seganinj,  system1_state, nprinces, ROT0,   "Sega", "Ninja Princess (315-5098, 128k Ver.)", MACHINE_SUPPORTS_SAVE )
5731GAME( 1985, nprincesb,  seganinj, sys1piox,  seganinj,  system1_state, flicky,   ROT0,   "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE )
5732GAME( 1985, imsorry,    0,        sys1piox,  imsorry,   system1_state, imsorry,  ROT0,   "Coreland / Sega", "I'm Sorry (315-5110, US)", MACHINE_SUPPORTS_SAVE )
5733GAME( 1985, imsorryj,   imsorry,  sys1piox,  imsorry,   system1_state, imsorry,  ROT0,   "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", MACHINE_SUPPORTS_SAVE )
5734GAME( 1985, teddybb,    0,        sys1piox,  teddybb,   system1_state, teddybb,  ROT0,   "Sega", "TeddyBoy Blues (315-5115, New Ver.)", MACHINE_SUPPORTS_SAVE )
5735GAME( 1985, teddybbo,   teddybb,  sys1piox,  teddybb,   system1_state, teddybb,  ROT0,   "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", MACHINE_SUPPORTS_SAVE )
5736GAME( 1985, teddybbobl, teddybb,  sys1piox,  teddybb,   system1_state, teddybb,  ROT0,   "bootleg", "TeddyBoy Blues (Old Ver. bootleg)", MACHINE_SUPPORTS_SAVE )
5737GAME( 1985, myhero,     0,        sys1pio,   myhero,    system1_state, bank00,   ROT0,   "Coreland / Sega", "My Hero (US, not encrypted)", MACHINE_SUPPORTS_SAVE )
5738GAME( 1985, sscandal,   myhero,   sys1piox,  myhero,    system1_state, myheroj,  ROT0,   "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", MACHINE_SUPPORTS_SAVE )
5739GAME( 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
5740GAME( 1985, myherok,    myhero,   sys1piox,  myhero,    system1_state, myherok,  ROT0,   "Coreland / Sega", "My Hero (Korea)", MACHINE_SUPPORTS_SAVE )
5741GAME( 1985, 4dwarrio,   0,        sys1piox,  4dwarrio,  system1_state, 4dwarrio, ROT0,   "Coreland / Sega", "4-D Warriors (315-5162)", MACHINE_SUPPORTS_SAVE )
5742GAME( 1986, raflesia,   0,        sys1piox,  raflesia,  system1_state, 4dwarrio, ROT270, "Coreland / Sega", "Rafflesia (315-5162)", MACHINE_SUPPORTS_SAVE )
5743GAME( 1986, wboy,       0,        sys1piox,  wboy,      system1_state, wboy,     ROT0,   "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", MACHINE_SUPPORTS_SAVE )
5744GAME( 1986, wboyo,      wboy,     sys1piox,  wboy,      system1_state, wboyo,    ROT0,   "Escape (Sega license)", "Wonder Boy (set 1, 315-5135)", MACHINE_SUPPORTS_SAVE )
5745GAME( 1986, wboy3,      wboy,     sys1piox,  wboy3,     system1_state, wboyo,    ROT0,   "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", MACHINE_SUPPORTS_SAVE )
5746GAME( 1986, wboy4,      wboy,     sys1piox,  wboy,      system1_state, 4dwarrio, ROT0,   "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", MACHINE_SUPPORTS_SAVE )
5747GAME( 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.
5748GAME( 1986, wboy5,      wboy,     sys1piox,  wboy3,     system1_state, wboyo,    ROT0,   "bootleg", "Wonder Boy (set 5, bootleg)", MACHINE_SUPPORTS_SAVE )
5749GAME( 1986, wboyub,     wboy,     sys1piox,  wboy,      system1_state, wboyo,    ROT0,   "bootleg", "Wonder Boy (US bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
5750GAME( 1987, blockgal,   0,        sys1piox,  blockgal,  system1_state, blockgal, ROT90,  "Sega / Vic Tokai","Block Gal (MC-8123B, 317-0029)", MACHINE_SUPPORTS_SAVE)
5877GAME( 1984, flicky,     0,        sys1piox,  flicky,    system1_state, sega315_5051,  ROT0,   "Sega", "Flicky (128k Version, System 2, 315-5051)", MACHINE_SUPPORTS_SAVE )
5878GAME( 1984, flickys2,   flicky,   sys1pio,   flickys2,  system1_state, bank00,        ROT0,   "Sega", "Flicky (128k Version, System 2, not encrypted)", MACHINE_SUPPORTS_SAVE )
5879GAME( 1984, thetogyu,   bullfgt,  sys1piox,  bullfgt,   system1_state, sega315_5065,  ROT0,   "Coreland / Sega", "The Togyu (315-5065, Japan)", MACHINE_SUPPORTS_SAVE )
5880GAME( 1984, spatter,    0,        sys1piosx, spatter,   system1_state, sega315_spat,  ROT0,   "Sega", "Spatter (315-xxxx)", MACHINE_SUPPORTS_SAVE )
5881GAME( 1984, spattera,   spatter,  sys1piosx, spatter,   system1_state, sega315_5099,  ROT0,   "Sega", "Spatter (315-5099)", MACHINE_SUPPORTS_SAVE )
5882GAME( 1984, ssanchan,   spatter,  sys1piosx, spatter,   system1_state, sega315_spat,  ROT0,   "Sega", "Sanrin San Chan (Japan, 315-xxxx)", MACHINE_SUPPORTS_SAVE )
5883GAME( 1985, pitfall2,   0,        sys1piox,  pitfall2,  system1_state, sega315_5093,  ROT0,   "Sega", "Pitfall II (315-5093)", MACHINE_SUPPORTS_SAVE )
5884GAME( 1985, pitfall2a,  pitfall2, sys1piox,  pitfall2,  system1_state, sega315_5093,  ROT0,   "Sega", "Pitfall II (315-5093, Flicky Conversion)", MACHINE_SUPPORTS_SAVE )
5885GAME( 1985, pitfall2u,  pitfall2, sys1pio,   pitfall2u, system1_state, bank00,        ROT0,   "Sega", "Pitfall II (not encrypted)", MACHINE_SUPPORTS_SAVE )
5886GAME( 1985, seganinj,   0,        sys1piox,  seganinj,  system1_state, sega315_5102,  ROT0,   "Sega", "Sega Ninja (315-5102)", MACHINE_SUPPORTS_SAVE )
5887GAME( 1985, seganinju,  seganinj, sys1pio,   seganinj,  system1_state, bank00,        ROT0,   "Sega", "Sega Ninja (not encrypted)", MACHINE_SUPPORTS_SAVE )
5888GAME( 1985, seganinja,  seganinj, sys1piox,  seganinj,  system1_state, sega315_5133,  ROT0,   "Sega", "Sega Ninja (315-5113)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // needs decrypting
5889GAME( 1985, ninja,      seganinj, sys1piox,  seganinj,  system1_state, sega315_5102,  ROT0,   "Sega", "Ninja (315-5102)", MACHINE_SUPPORTS_SAVE )
5890GAME( 1985, nprinceso,  seganinj, sys1piox,  seganinj,  system1_state, sega315_5098,  ROT0,   "Sega", "Ninja Princess (315-5098, 128k Ver.)", MACHINE_SUPPORTS_SAVE )
5891GAME( 1985, nprincesb,  seganinj, sys1piox,  seganinj,  system1_state, sega315_5051,  ROT0,   "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE )
5892GAME( 1985, imsorry,    0,        sys1piox,  imsorry,   system1_state, sega315_5110,  ROT0,   "Coreland / Sega", "I'm Sorry (315-5110, US)", MACHINE_SUPPORTS_SAVE )
5893GAME( 1985, imsorryj,   imsorry,  sys1piox,  imsorry,   system1_state, sega315_5110,  ROT0,   "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", MACHINE_SUPPORTS_SAVE )
5894GAME( 1985, teddybb,    0,        sys1piox,  teddybb,   system1_state, sega315_5155,  ROT0,   "Sega", "TeddyBoy Blues (315-5115, New Ver.)", MACHINE_SUPPORTS_SAVE )
5895GAME( 1985, teddybbo,   teddybb,  sys1piox,  teddybb,   system1_state, sega315_5155,  ROT0,   "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", MACHINE_SUPPORTS_SAVE )
5896GAME( 1985, teddybbobl, teddybb,  sys1piox,  teddybb,   system1_state, sega315_5155,  ROT0,   "bootleg", "TeddyBoy Blues (Old Ver. bootleg)", MACHINE_SUPPORTS_SAVE )
5897GAME( 1985, myhero,     0,        sys1pio,   myhero,    system1_state, bank00,        ROT0,   "Coreland / Sega", "My Hero (US, not encrypted)", MACHINE_SUPPORTS_SAVE )
5898GAME( 1985, sscandal,   myhero,   sys1piox,  myhero,    system1_state, sega315_5132,  ROT0,   "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", MACHINE_SUPPORTS_SAVE )
5899GAME( 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
5900GAME( 1985, myherok,    myhero,   sys1piox,  myhero,    system1_state, myherok,       ROT0,   "Coreland / Sega", "My Hero (Korea)", MACHINE_SUPPORTS_SAVE ) // possible bootleg, has extra encryption
5901GAME( 1985, 4dwarrio,   0,        sys1piox,  4dwarrio,  system1_state, sega315_5162,  ROT0,   "Coreland / Sega", "4-D Warriors (315-5162)", MACHINE_SUPPORTS_SAVE )
5902GAME( 1986, raflesia,   0,        sys1piox,  raflesia,  system1_state, sega315_5162,  ROT270, "Coreland / Sega", "Rafflesia (315-5162)", MACHINE_SUPPORTS_SAVE )
5903GAME( 1986, wboy,       0,        sys1piox,  wboy,      system1_state, sega315_5177,  ROT0,   "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", MACHINE_SUPPORTS_SAVE )
5904GAME( 1986, wboyo,      wboy,     sys1piox,  wboy,      system1_state, sega315_5135,  ROT0,   "Escape (Sega license)", "Wonder Boy (set 1, 315-5135)", MACHINE_SUPPORTS_SAVE )
5905GAME( 1986, wboy3,      wboy,     sys1piox,  wboy3,     system1_state, sega315_5135,  ROT0,   "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", MACHINE_SUPPORTS_SAVE )
5906GAME( 1986, wboy4,      wboy,     sys1piox,  wboy,      system1_state, sega315_5162,  ROT0,   "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", MACHINE_SUPPORTS_SAVE )
5907GAME( 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.
5908GAME( 1986, wboy5,      wboy,     sys1piox,  wboy3,     system1_state, sega315_5135,  ROT0,   "bootleg", "Wonder Boy (set 5, bootleg)", MACHINE_SUPPORTS_SAVE )
5909GAME( 1986, wboyub,     wboy,     sys1piox,  wboy,      system1_state, sega315_5135,  ROT0,   "bootleg", "Wonder Boy (US bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
5910GAME( 1987, blockgal,   0,        sys1piox,  blockgal,  system1_state, blockgal,      ROT90,  "Sega / Vic Tokai","Block Gal (MC-8123B, 317-0029)", MACHINE_SUPPORTS_SAVE)
57515911
57525912/* PIO-based System 1 with ROM banking */
5753GAME( 1985, hvymetal,   0,        sys1piox,  hvymetal,  system1_state, hvymetal, ROT0,   "Sega", "Heavy Metal (315-5135)", MACHINE_SUPPORTS_SAVE )
5754GAME( 1986, gardia,     0,        sys1piox,  gardia,    system1_state, gardia,   ROT270, "Coreland / Sega", "Gardia (317-0006)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE)
5755GAME( 1986, brain,      0,        sys1pio,   brain,     system1_state, bank44,   ROT0,   "Coreland / Sega", "Brain", MACHINE_SUPPORTS_SAVE )
5913GAME( 1985, hvymetal,   0,        sys1piox,  hvymetal,  system1_state, sega315_3135,  ROT0,   "Sega", "Heavy Metal (315-5135)", MACHINE_SUPPORTS_SAVE )
5914GAME( 1986, gardia,     0,        sys1piox,  gardia,    system1_state, gardia,        ROT270, "Coreland / Sega", "Gardia (317-0006)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE)
5915GAME( 1986, brain,      0,        sys1pio,   brain,     system1_state, bank44,        ROT0,   "Coreland / Sega", "Brain", MACHINE_SUPPORTS_SAVE )
57565916
57575917/* System 2 */
5758GAME( 1985, choplift,   0,        sys2rowm,  choplift,  system1_state, choplift, ROT0,   "Sega (licensed from Dan Gorlin)", "Choplifter (8751 315-5151)", MACHINE_SUPPORTS_SAVE )
5759GAME( 1985, chopliftu,  choplift, sys2row,   choplift,  system1_state, bank0c,   ROT0,   "Sega (licensed from Dan Gorlin)", "Choplifter (unprotected)", MACHINE_SUPPORTS_SAVE )
5760GAME( 1985, chopliftbl, choplift, sys2row,   choplift,  system1_state, bank0c,   ROT0,   "bootleg", "Choplifter (bootleg)", MACHINE_SUPPORTS_SAVE )
5761GAME( 1985, shtngmst,   0,        sys2m,     shtngmst,  system1_state, shtngmst, ROT0,   "Sega", "Shooting Master (8751 315-5159)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
5762GAME( 1985, shtngmste,  shtngmst, sys2m,     shtngmst,  system1_state, shtngmst, ROT0,   "Sega / EVG", "Shooting Master (EVG, 8751 315-5159a)", MACHINE_SUPPORTS_SAVE )
5763GAME( 1986, gardiab,    gardia,   sys2x,     gardia,    system1_state, gardiab,  ROT270, "bootleg", "Gardia (317-0007?, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
5764GAME( 1986, gardiaj,    gardia,   sys2x,     gardia,    system1_state, gardia,   ROT270, "Coreland / Sega", "Gardia (Japan, 317-0006)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
5765GAME( 1986, wboysys2,   wboy,     sys2x,     wboysys2,  system1_state, wboysys2, ROT0,   "Escape (Sega license)", "Wonder Boy (system 2)", MACHINE_SUPPORTS_SAVE )
5766GAME( 1987, tokisens,   0,        sys2,      tokisens,  system1_state, bank0c,   ROT90,  "Sega", "Toki no Senshi - Chrono Soldier", MACHINE_SUPPORTS_SAVE )
5767GAME( 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 )
5768GAME( 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 )
5769GAME( 1987, wbmljb,     wbml,     sys2xb,    wbml,      system1_state, bootsys2, ROT0,   "bootleg", "Wonder Boy in Monster Land (Japan bootleg)", MACHINE_SUPPORTS_SAVE )
5770GAME( 1987, wbmlb,      wbml,     sys2xb,    wbml,      system1_state, bootsys2, ROT0,   "bootleg", "Wonder Boy in Monster Land (English bootleg set 1)", MACHINE_SUPPORTS_SAVE)
5771GAME( 1987, wbmlbg,     wbml,     sys2xb,    wbml,      system1_state, bootsys2, ROT0,   "bootleg (Galaxy Electronics)", "Wonder Boy in Monster Land (English bootleg set 2)", MACHINE_SUPPORTS_SAVE )
5772GAME( 1987, wbmlbge,    wbml,     sys2xb,    wbml,      system1_state, bootsys2, ROT0,   "bootleg (Gecas)", "Wonder Boy in Monster Land (English bootleg set 3)", MACHINE_SUPPORTS_SAVE )
5773GAME( 2009, wbmlvc,     wbml,     sys2xb,    wbml,      system1_state, bootsys2, ROT0,   "Sega", "Wonder Boy in Monster Land (English, Virtual Console)", MACHINE_SUPPORTS_SAVE )
5774GAME( 1987, dakkochn,   0,        sys2xb,    dakkochn,  system1_state, dakkochn, ROT0,   "White Board", "DakkoChan House (MC-8123B, 317-5014)", MACHINE_SUPPORTS_SAVE )
5775GAME( 1987, blockgalb,  blockgal, sys2x,     blockgal,  system1_state, bootleg,  ROT90,  "bootleg", "Block Gal (bootleg)", MACHINE_SUPPORTS_SAVE )
5776GAME( 1988, ufosensi,   0,        sys2rowxb, ufosensi,  system1_state, ufosensi, ROT0,   "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", MACHINE_SUPPORTS_SAVE )
5777GAME( 1988, ufosensib,  ufosensi, sys2rowxb, ufosensi,  system1_state, bootsys2, ROT0,   "bootleg", "Ufo Senshi Yohko Chan (bootleg, not encrypted)", MACHINE_SUPPORTS_SAVE )
5918GAME( 1985, choplift,   0,        sys2rowm,  choplift,  system1_state, choplift,        ROT0,   "Sega (licensed from Dan Gorlin)", "Choplifter (8751 315-5151)", MACHINE_SUPPORTS_SAVE )
5919GAME( 1985, chopliftu,  choplift, sys2row,   choplift,  system1_state, bank0c,          ROT0,   "Sega (licensed from Dan Gorlin)", "Choplifter (unprotected)", MACHINE_SUPPORTS_SAVE )
5920GAME( 1985, chopliftbl, choplift, sys2row,   choplift,  system1_state, bank0c,          ROT0,   "bootleg", "Choplifter (bootleg)", MACHINE_SUPPORTS_SAVE )
5921GAME( 1985, shtngmst,   0,        sys2m,     shtngmst,  system1_state, shtngmst,        ROT0,   "Sega", "Shooting Master (8751 315-5159)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
5922GAME( 1985, shtngmste,  shtngmst, sys2m,     shtngmst,  system1_state, shtngmst,        ROT0,   "Sega / EVG", "Shooting Master (EVG, 8751 315-5159a)", MACHINE_SUPPORTS_SAVE )
5923GAME( 1986, gardiab,    gardia,   sys2x,     gardia,    system1_state, gardiab,         ROT270, "bootleg", "Gardia (317-0007?, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
5924GAME( 1986, gardiaj,    gardia,   sys2x,     gardia,    system1_state, gardia,          ROT270, "Coreland / Sega", "Gardia (Japan, 317-0006)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
5925GAME( 1986, wboysys2,   wboy,     sys2x,     wboysys2,  system1_state, sega315_5177_s2, ROT0,   "Escape (Sega license)", "Wonder Boy (system 2)", MACHINE_SUPPORTS_SAVE )
5926GAME( 1987, tokisens,   0,        sys2,      tokisens,  system1_state, bank0c,          ROT90,  "Sega", "Toki no Senshi - Chrono Soldier", MACHINE_SUPPORTS_SAVE )
5927GAME( 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 )
5928GAME( 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 )
5929GAME( 1987, wbmljb,     wbml,     sys2xb,    wbml,      system1_state, bootsys2,        ROT0,   "bootleg", "Wonder Boy in Monster Land (Japan bootleg)", MACHINE_SUPPORTS_SAVE )
5930GAME( 1987, wbmlb,      wbml,     sys2xb,    wbml,      system1_state, bootsys2,        ROT0,   "bootleg", "Wonder Boy in Monster Land (English bootleg set 1)", MACHINE_SUPPORTS_SAVE)
5931GAME( 1987, wbmlbg,     wbml,     sys2xb,    wbml,      system1_state, bootsys2,        ROT0,   "bootleg (Galaxy Electronics)", "Wonder Boy in Monster Land (English bootleg set 2)", MACHINE_SUPPORTS_SAVE )
5932GAME( 1987, wbmlbge,    wbml,     sys2xb,    wbml,      system1_state, bootsys2,        ROT0,   "bootleg (Gecas)", "Wonder Boy in Monster Land (English bootleg set 3)", MACHINE_SUPPORTS_SAVE )
5933GAME( 2009, wbmlvc,     wbml,     sys2xb,    wbml,      system1_state, bootsys2,        ROT0,   "Sega", "Wonder Boy in Monster Land (English, Virtual Console)", MACHINE_SUPPORTS_SAVE )
5934GAME( 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
5935GAME( 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 )
5936GAME( 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 )
5937GAME( 1987, dakkochn,   0,        sys2xb,    dakkochn,  system1_state, dakkochn,        ROT0,   "White Board", "DakkoChan House (MC-8123B, 317-5014)", MACHINE_SUPPORTS_SAVE )
5938GAME( 1987, blockgalb,  blockgal, sys2x,     blockgal,  system1_state, bootleg,         ROT90,  "bootleg", "Block Gal (bootleg)", MACHINE_SUPPORTS_SAVE )
5939GAME( 1988, ufosensi,   0,        sys2rowxb, ufosensi,  system1_state, ufosensi,        ROT0,   "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", MACHINE_SUPPORTS_SAVE )
5940GAME( 1988, ufosensib,  ufosensi, sys2rowxb, ufosensi,  system1_state, bootsys2,        ROT0,   "bootleg", "Ufo Senshi Yohko Chan (bootleg, not encrypted)", MACHINE_SUPPORTS_SAVE )
trunk/src/mame/includes/system1.h
r255124r255125
8383   DECLARE_WRITE8_MEMBER(sound_control_w);
8484
8585   DECLARE_DRIVER_INIT(nobb);
86   DECLARE_DRIVER_INIT(wboy2);
87   DECLARE_DRIVER_INIT(imsorry);
88   DECLARE_DRIVER_INIT(pitfall2);
86   DECLARE_DRIVER_INIT(sega315_5178);
87   DECLARE_DRIVER_INIT(sega315_5110);
88   DECLARE_DRIVER_INIT(sega315_5093);
8989   DECLARE_DRIVER_INIT(dakkochn);
9090   DECLARE_DRIVER_INIT(bootleg);
91   DECLARE_DRIVER_INIT(wboysys2);
91
9292   DECLARE_DRIVER_INIT(shtngmst);
93   DECLARE_DRIVER_INIT(wboyo);
94   DECLARE_DRIVER_INIT(swat);
95   DECLARE_DRIVER_INIT(regulus);
93   DECLARE_DRIVER_INIT(sega315_5135);
94   DECLARE_DRIVER_INIT(sega315_5048);
95   DECLARE_DRIVER_INIT(sega315_5033);
9696   DECLARE_DRIVER_INIT(bank0c);
9797   DECLARE_DRIVER_INIT(blockgal);
9898   DECLARE_DRIVER_INIT(nob);
99   DECLARE_DRIVER_INIT(mrviking);
100   DECLARE_DRIVER_INIT(teddybb);
101   DECLARE_DRIVER_INIT(flicky);
99   DECLARE_DRIVER_INIT(sega315_5041);
100   DECLARE_DRIVER_INIT(sega315_5155);
101   DECLARE_DRIVER_INIT(sega315_5051);
102102   DECLARE_DRIVER_INIT(bank44);
103103   DECLARE_DRIVER_INIT(myherok);
104   DECLARE_DRIVER_INIT(wmatch);
104   DECLARE_DRIVER_INIT(sega315_5064);
105105   DECLARE_DRIVER_INIT(bank00);
106   DECLARE_DRIVER_INIT(myheroj);
106   DECLARE_DRIVER_INIT(sega315_5132);
107107   DECLARE_DRIVER_INIT(ufosensi);
108   DECLARE_DRIVER_INIT(nprinces);
108   DECLARE_DRIVER_INIT(sega315_5098);
109109   DECLARE_DRIVER_INIT(wbml);
110110   DECLARE_DRIVER_INIT(bootsys2);
111   DECLARE_DRIVER_INIT(bullfgtj);
112   DECLARE_DRIVER_INIT(wboy);
113   DECLARE_DRIVER_INIT(hvymetal);
111   DECLARE_DRIVER_INIT(bootsys2d);
112   DECLARE_DRIVER_INIT(sega315_5065);
113   DECLARE_DRIVER_INIT(sega315_5177);
114   DECLARE_DRIVER_INIT(sega315_5177_s2);
115   DECLARE_DRIVER_INIT(sega315_3135);
114116   DECLARE_DRIVER_INIT(gardiab);
115   DECLARE_DRIVER_INIT(4dwarrio);
117   DECLARE_DRIVER_INIT(sega315_5162);
116118   DECLARE_DRIVER_INIT(choplift);
117   DECLARE_DRIVER_INIT(seganinj);
119   DECLARE_DRIVER_INIT(sega315_5102);
120   DECLARE_DRIVER_INIT(sega315_5133);
121
118122   DECLARE_DRIVER_INIT(gardia);
119   DECLARE_DRIVER_INIT(spatter);
120   DECLARE_DRIVER_INIT(spattera);
123   DECLARE_DRIVER_INIT(sega315_spat);
124   DECLARE_DRIVER_INIT(sega315_5099);
121125   TILE_GET_INFO_MEMBER(tile_get_info);
122126   virtual void machine_start() override;
123127   virtual void machine_reset() override;
trunk/src/mame/mame.lst
r255124r255125
3379433794regulusu                        // 834-5328?(c) 1983 (S1)
3379533795seganinj                        // 834-5677 (c) 1985 (S1)
3379633796seganinju                       // 834-5677 (c) 1985 (S1)
33797seganinja                  //
3379733798shtngmst                        // 834-5719/5720 (c) 1985 (S2)
3379833799shtngmste                       // 834-5719/5720 (c) 1985 (S2)
3379933800spatter                         // 834-5583 (c) 1984 (S1)
r255124r255125
3382033821wbmljb                          // (c) 1987 Sega/Westone (S2)
3382133822wbmljo                          // (c) 1987 Sega/Westone (S2)
3382233823wbmlvc                          // Virtual Console
33824wbmlvcd                     //
33825wbmld                     //
33826wbmljod                     //
3382333827wboy                            // 834-5984 (c) 1986 + Escape license (S1)
3382433828wboy2                           // 834-5984 (c) 1986 + Escape license (S1)
3382533829wboy2u                          // 834-5984 (c) 1986 + Escape license (S1)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team