summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2024-10-11 14:40:58 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2024-10-11 14:40:58 +0200
commita06ca9e7226b5152f3189d8bd9ae96d3de68dcee (patch)
tree17e3bedff445723101f5c74071be48cefd3adc45
parent2149f3c65d9865eb3e074991d5ff72061b4f0272 (diff)
New working clones
------------------ 1945k III (Promat license, OPCX1 PCB) [System11, The Dumping Union]
-rw-r--r--src/mame/mame.lst1
-rw-r--r--src/mame/promat/1945kiii.cpp75
2 files changed, 56 insertions, 20 deletions
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 01a80c23a72..50645395918 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -38582,6 +38582,7 @@ positron // 1982 Positron 9000
1945kiii // (c) 2000 Oriental
1945kiiin // (c) 2000 Oriental
1945kiiio // (c) 1999 Oriental
+1945kiiipt // (c) 1999 Promat
flagrall // ?
slspirit // (c) 1999 Promat
diff --git a/src/mame/promat/1945kiii.cpp b/src/mame/promat/1945kiii.cpp
index b4a8552fb34..acf0180cdeb 100644
--- a/src/mame/promat/1945kiii.cpp
+++ b/src/mame/promat/1945kiii.cpp
@@ -6,28 +6,30 @@ what is this HW cloned from? I doubt it's an original design
Promat / Oriental Soft SPR800E driver
-1945K-III (Newer) 2000 Oriental Soft
-1945K-III (Older) 1999 Oriental Soft
+1945K III (Newer) 2000 Oriental Soft
+1945K III (Older) 1999 Oriental Soft
+1945K III 1999 Promat
Solite Spirits 1999 Promat
'96 Flag Rally 1996 Promat???
NOTES
-----
-1945K-III is clearly a retooled Solite Spirtis. There are spots in 1945K-III where it shows "SOLITE SPIRITS"
+1945K III is clearly a retooled Solite Spirits. There are spots in 1945K III where it shows "SOLITE SPIRITS"
such as the ship selection screen's background and after the continue countdown expires, but before the high score table.
It's unknown if the changes were specifically meant for an Export version or if Promat was trying to capitalized
on Psikyo's Striker 1945 series and it's name.
- Older version of 1945K-III there's no dipswitches for Demo Sound or Allow Continue - Demo sounds always OFF
+ In the olders version of 1945K III there's no dipswitches for Demo Sound or Allow Continue - Demo sounds always OFF
+ The Promat license has the same sound test for service mode & P1 graphics error for P2 player select as Solite Spirits
Solite Spirit:
Demo loop is extremely short and only shows one area
- The test screen is basically just for sound test (in 1945K-III you get inputs, then press P1 & P2 start to test sounds)
- In 2 player games when selecting ships, "player 2" uses the same "P1" graphic (fixed in 1945K-III)
+ The test screen is basically just for sound test (in 1945K III you get inputs, then press P1 & P2 start to test sounds)
+ In 2 player games when selecting ships, "player 2" uses the same "P1" graphic (fixed in newer 1945K III sets)
No "Lives", Demo Sound or Allow Continue dipswitches - Demo sounds always ON
---------------
-1945K-III
+1945K III
Oriental, 2000
This game is a straight rip-off of Psikyo's Strikers 1945 III.
@@ -94,7 +96,7 @@ Other: QuickLogic QL2003-XPL84C, SPR800E
* denotes unpopulated socket
-SPR800E on the 1945K-III OPCX1 PCB silkscreened ORIENTAL OP-CX1 SPR800E 9937E
+SPR800E on the 1945K III OPCX1 PCB silkscreened ORIENTAL OP-CX1 SPR800E 9937E
SPR800E on the Solite Spirits PCB silkscreened PROMAT SPR800E ES928
*/
@@ -514,8 +516,8 @@ static INPUT_PORTS_START( k3old )
PORT_DIPSETTING( 0x0020, "4" )
PORT_DIPSETTING( 0x0000, "5" )
PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW2:1" ) // In newer 1945K-III sets this is Demo_Sounds - Demo Sounds always OFF here!
- PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW2:2" ) // In newer 1945K-III sets this is Allow_Continue - Always Continue
+ PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW2:1" ) // In newer 1945K III sets this is Demo_Sounds - Demo Sounds always OFF here!
+ PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW2:2" ) // In newer 1945K III sets this is Allow_Continue - Always Continue
PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SW2:3" )
PORT_DIPUNKNOWN_DIPLOC( 0x0800, 0x0800, "SW2:4" )
PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "SW2:5" )
@@ -566,11 +568,11 @@ static INPUT_PORTS_START( solite )
PORT_DIPSETTING( 0x0008, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0018, DEF_STR( Hardest ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW1:6" ) // In 1945K-III sets 6&7 are Lives
- PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW1:7" ) // In 1945K-III sets 6&7 are Lives
+ PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW1:6" ) // In 1945K III sets 6&7 are Lives
+ PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW1:7" ) // In 1945K III sets 6&7 are Lives
PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW2:1" ) // In newer 1945K-III sets this is Demo_Sounds - Demo Sounds always ON here!
- PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW2:2" ) // In newer 1945K-III sets this is Allow_Continue - Always Continue
+ PORT_DIPUNKNOWN_DIPLOC( 0x0100, 0x0100, "SW2:1" ) // In newer 1945K III sets this is Demo_Sounds - Demo Sounds always ON here!
+ PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW2:2" ) // In newer 1945K III sets this is Allow_Continue - Always Continue
PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SW2:3" )
PORT_DIPUNKNOWN_DIPLOC( 0x0800, 0x0800, "SW2:4" )
PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "SW2:5" )
@@ -679,7 +681,7 @@ void k3_state::k3(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &k3_state::k3_map);
- OKIM6295(config, m_oki[1], MASTER_CLOCK/16, okim6295_device::PIN7_HIGH); // dividers?
+ OKIM6295(config, m_oki[1], MASTER_CLOCK/16, okim6295_device::PIN7_HIGH); // NOTE: OPCX2 PCB is 16.0000MHz / 16 - OPCX1 PCB is 4.000MHz / 4
m_oki[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
m_screen->set_raw(XTAL(27'000'000)/4, 432, 0, 320, 262, 0, 224); // ~60Hz
@@ -764,6 +766,38 @@ ROM_START( 1945kiiio )
ROM_LOAD32_BYTE( "8.u105", 0x000003, 0x80000, CRC(2c3895d5) SHA1(ab5837d996c1bb70071db02f07412c182d7547f8) )
ROM_END
+ROM_START( 1945kiiipt ) // Promat copyright, 1945K III title, earlier PCB - ROMs had no labels
+ ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 Code
+ ROM_LOAD16_BYTE( "u34", 0x00001, 0x80000, CRC(d4efcdf4) SHA1(e53ea3a5d8a44d4adf5e58865f99548d3476d1f5) )
+ ROM_LOAD16_BYTE( "u35", 0x00000, 0x80000, CRC(4381341d) SHA1(518c1b303d6286a794faf6d5731fbe7c51936b86) )
+
+ ROM_REGION( 0x080000, "oki2", 0 ) // Samples
+ ROM_LOAD( "su5", 0x00000, 0x80000, CRC(9d96fd55) SHA1(80025cc2c44e8cd938620818e0b0974026377f5c) ) // Sound data matches other 1945K III sets
+
+ ROM_REGION( 0x080000, "oki1", 0 ) // Samples
+ ROM_LOAD( "su4", 0x00000, 0x80000, CRC(d45aec3b) SHA1(fc182a10e19687eb2f2f4a1d2ad976814185f0fc) )
+
+ ROM_REGION( 0x400000, "sprites", 0 )
+ ROM_LOAD32_BYTE( "u5", 0x000000, 0x080000, CRC(4742aa38) SHA1(6e8d53afe7a6a5d60c135dd6a283d5bb47821f48) ) // these 4 match Solite Spirit
+ ROM_LOAD32_BYTE( "u6", 0x000001, 0x080000, CRC(c137fb33) SHA1(6798bc4569bdcab02c2b16315c8827268e5674eb) )
+ ROM_LOAD32_BYTE( "u7", 0x000002, 0x080000, CRC(d0593a03) SHA1(544e345e0849239b8156df8c50568bb2e2685bd3) )
+ ROM_LOAD32_BYTE( "u8", 0x000003, 0x080000, CRC(baa9eeb1) SHA1(12d905143c707bc0ff6997b89816b7bce40bd9aa) )
+
+ ROM_LOAD32_BYTE( "u58", 0x200000, 0x080000, CRC(eb586bd6) SHA1(1050021a663421be455c215cb9e724463e1fc425) ) // first 3 match Solite Spirit
+ ROM_LOAD32_BYTE( "u59", 0x200001, 0x080000, CRC(abc8b869) SHA1(aea3e2bb447b6b9ac0dd19cac7922cc9bee6afb8) )
+ ROM_LOAD32_BYTE( "u60", 0x200002, 0x080000, CRC(31f9b034) SHA1(d3224d9f11236fcaa65d477b87c46bea8a69db01) )
+ ROM_LOAD32_BYTE( "u61", 0x200003, 0x080000, CRC(f13e609b) SHA1(03ab2ee368d086a927d2b6412db5f6dfd066b08f) ) // this one is VERY different
+
+ ROM_REGION( 0x200000, "tiles", 0 )
+ ROM_LOAD32_BYTE( "u102", 0x000000, 0x80000, CRC(ddca369b) SHA1(66c3daf55cbe5d5f73482eff566c52fe1e509164) ) // These 4 are unique to this set
+ ROM_LOAD32_BYTE( "u103", 0x000001, 0x80000, CRC(32f58186) SHA1(9eab278ce69387e04c90b660686e93e3d7c80439) )
+ ROM_LOAD32_BYTE( "u104", 0x000002, 0x80000, CRC(2031c42e) SHA1(f7132862ac0b908da298d67802266b96f809ff49) )
+ ROM_LOAD32_BYTE( "u105", 0x000003, 0x80000, CRC(8428b693) SHA1(ee9d1a295159c5bbf5c0a59cf3cd23889aa293f7) )
+
+ ROM_REGION( 0x117, "plds", 0 )
+ ROM_LOAD( "gal16v8.u22", 0x000, 0x117, NO_DUMP ) // a dump done via 020 dumper exists, but needs to be reduced
+ROM_END
+
ROM_START( slspirit )
ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 Code
ROM_LOAD16_BYTE( "3.u34", 0x00001, 0x40000, CRC(b5ac3272) SHA1(da223ef3b006be03a11559e00ae9d7bbd2d06ee5) )
@@ -823,9 +857,10 @@ ROM_END
} // anonymous namespace
-GAME( 2000, 1945kiii, 0, k3, k3, k3_state, empty_init, ROT270, "Oriental Soft", "1945k III (newer, OPCX2 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 2000, 1945kiiin, 1945kiii, k3, k3, k3_state, empty_init, ROT270, "Oriental Soft", "1945k III (newer, OPCX1 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1999, 1945kiiio, 1945kiii, k3, k3old, k3_state, empty_init, ROT270, "Oriental Soft", "1945k III (older, OPCX1 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1999, slspirit, 0, k3, solite, k3_state, empty_init, ROT270, "Promat", "Solite Spirits", MACHINE_SUPPORTS_SAVE )
+GAME( 2000, 1945kiii, 0, k3, k3, k3_state, empty_init, ROT270, "Oriental Soft", "1945k III (newer, OPCX2 PCB)", MACHINE_SUPPORTS_SAVE )
+GAME( 2000, 1945kiiin, 1945kiii, k3, k3, k3_state, empty_init, ROT270, "Oriental Soft", "1945k III (newer, OPCX1 PCB)", MACHINE_SUPPORTS_SAVE )
+GAME( 1999, 1945kiiio, 1945kiii, k3, k3old, k3_state, empty_init, ROT270, "Oriental Soft", "1945k III (older, OPCX1 PCB)", MACHINE_SUPPORTS_SAVE )
+GAME( 1999, 1945kiiipt, 1945kiii, k3, solite, k3_state, empty_init, ROT270, "Promat", "1945k III (Promat license, OPCX1 PCB)", MACHINE_SUPPORTS_SAVE )
+GAME( 1999, slspirit, 0, k3, solite, k3_state, empty_init, ROT270, "Promat", "Solite Spirits", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, flagrall, 0, flagrall, flagrall, k3_state, empty_init, ROT0, "Promat?", "'96 Flag Rally", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, flagrall, 0, flagrall, flagrall, k3_state, empty_init, ROT0, "Promat?", "'96 Flag Rally", MACHINE_SUPPORTS_SAVE )