summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author braintro <briantro@users.noreply.github.com>2020-06-02 22:01:26 -0500
committer braintro <briantro@users.noreply.github.com>2020-06-02 22:01:26 -0500
commita38b58c574ac3b5e6c4002d39b64dfed02df9185 (patch)
tree4d676a60dff50cc58552dc465b8fb4ddaa5c8ab9 /src/mame/drivers
parent049096d54050968828244a58a52ac99ede69de6c (diff)
New working clone
New working clone ------------------ Police Trainer (Rev 1.3B, Rev 0.3 PCB) [Brian Troha, The Dumping Union] out of whatsnew: Made this new v1.3B set the new parent updated / corrected misc comments
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/policetr.cpp107
1 files changed, 73 insertions, 34 deletions
diff --git a/src/mame/drivers/policetr.cpp b/src/mame/drivers/policetr.cpp
index 2ce74d37493..ce632d335d9 100644
--- a/src/mame/drivers/policetr.cpp
+++ b/src/mame/drivers/policetr.cpp
@@ -13,17 +13,21 @@
Known bugs:
* Flip screen not supported
-Note: Police Trainer v1.3B runs on the same revision PCB as Sharpshooter - Rev 0.5B
- If you hold the test button down and boot the game, all program roms
- fail the checksum. This has been verified on an original PCB.
+Note: For Police Trainer v1.3B sets that run on the same Rev 0.5B PCB as Sharpshooter: If you
+ boot the game while holding the test button down until you get to the factory test screen,
+ all program roms fail the checksum. This result has been verified on original hardware.
See below for specific information on each set.
-Note: Police Trainer v1.0 (Rev 0.2 PCB), the checksum results in MAME have been
- verified to be the same as an original PCB.
-
-Note: All versions of Police Trainer "claim" to be version 1.5 both in an audio sample
- and during the demo routine the screen shows: POLICE TRAINER VERSION 1.5
- The actual version can be verified by checking the labels or in the service mode.
- To date, no version higher then v1.3B has been found and v1.2 has NEVER been seen.
+Note: Police Trainer v1.0 (Rev 0.2 PCB), the checksum results in MAME have been verified to be
+ the same as an original PCB.
+Note: Starting with Police Trainer v1.3B, support for high scores has been removed.
+
+Note: All versions of Police Trainer "claim" to be version 1.5 both in an audio sample and
+ during the demo routine the screen shows: POLICE TRAINER VERSION 1.5 The actual
+ version can be verified by checking the labels or during the factory test. Boot (or
+ reset) Police Trainer and hold the test button down to get the factory test screen.
+ Police Trainer will show the actual "SOFTWARE REV", except for v1.0 which will show
+ "FACTORY TEST" To date, no version higher then v1.3B has been found and v1.2 has
+ NEVER been seen.
To ID the version of your SharpShooter, check the 2nd printed line on each type of ROM.
@@ -342,11 +346,13 @@ static INPUT_PORTS_START( policetr )
PORT_DIPUNUSED_DIPLOC( 0x00020000, 0x00020000, "SW1:2" )
PORT_DIPUNUSED_DIPLOC( 0x00040000, 0x00040000, "SW1:3" )
PORT_DIPUNUSED_DIPLOC( 0x00080000, 0x00080000, "SW1:4" )
- PORT_DIPUNUSED_DIPLOC( 0x00100000, 0x00100000, "SW1:5" )
+ PORT_DIPNAME( 0x00100000, 0x00100000, "Special Hardware Test" ) PORT_DIPLOCATION("SW1:5") /* reset game with TEST button held down to see it */
+ PORT_DIPSETTING( 0x00100000, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x00200000, 0x00200000, "SW1:6" )
- PORT_DIPNAME( 0x00400000, 0x00400000, "Monitor Sync") PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x00000000, "+")
- PORT_DIPSETTING( 0x00400000, "-")
+ PORT_DIPNAME( 0x00400000, 0x00400000, "Monitor Sync" ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x00000000, "+" )
+ PORT_DIPSETTING( 0x00400000, "-" )
PORT_DIPNAME( 0x00800000, 0x00800000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:8") /* For use with mirrored CRTs - Not supported */
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00800000, DEF_STR( On ) ) /* Will invert the Y axis of guns */
@@ -383,9 +389,20 @@ static INPUT_PORTS_START( polict10 )
INPUT_PORTS_END
+static INPUT_PORTS_START( sshooter )
+ PORT_INCLUDE( policetr )
+
+ PORT_MODIFY("DSW")
+ PORT_DIPUNUSED_DIPLOC( 0x00100000, 0x00100000, "SW1:5" )
+INPUT_PORTS_END
+
+
static INPUT_PORTS_START( sshoot11 )
PORT_INCLUDE( policetr )
+ PORT_MODIFY("DSW")
+ PORT_DIPUNUSED_DIPLOC( 0x00100000, 0x00100000, "SW1:5" )
+
PORT_MODIFY("GUNX1") /* fake analog X */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.012, 0.208, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
@@ -463,7 +480,28 @@ void sshooter_state::sshooter(machine_config &config)
*
*************************************/
-ROM_START( policetr ) /* Rev 0.3 PCB , with the program chips dated 04/01/97 */
+ROM_START( policetr ) /* Rev 0.3 PCB with the newer AT001 video chip, reports as SOFTWARE REV 1.3B - first version to remove support for high scores */
+ ROM_REGION( 0x400000, "gfx", ROMREGION_ERASE00 )
+ ROM_LOAD16_BYTE( "u121_police_trainer_p-p_marketing.u121", 0x000000, 0x100000, CRC(56b0b00a) SHA1(4034fe373a61f756f4813f0c20b1cf05e4338059) ) // mask ROM labeled: U121 POLICE TRAINER P&P MARKETING
+ ROM_LOAD16_BYTE( "u120_police_trainer_p-p_marketing.u120", 0x000001, 0x100000, CRC(ca664142) SHA1(2727ecb9287b4ed30088e017bb6b8763dfb75b2f) ) // mask ROM labeled: U120 POLICE TRAINER P&P MARKETING
+ ROM_LOAD16_BYTE( "u125_police_trainer_p-p_marketing.u125", 0x200000, 0x100000, CRC(e9ccf3a0) SHA1(b3fd8c094f76ace4cf403c3d0f6bd6c5d8db7d6a) ) // mask ROM labeled: U125 POLICE TRAINER P&P MARKETING
+ ROM_LOAD16_BYTE( "u124_police_trainer_p-p_marketing.u124", 0x200001, 0x100000, CRC(f4acf921) SHA1(5b244e9a51304318fa0c03eb7365b3c12627d19b) ) // mask ROM labeled: U124 POLICE TRAINER P&P MARKETING
+
+ ROM_REGION32_BE( 0x80000, "maincpu", 0 ) /* 2MB for R3000 code */
+ ROM_LOAD32_BYTE( "u113_no_hi_a589.u113", 0x00000, 0x20000, CRC(4bfb0fb5) SHA1(12367688bb821de2c54faed8eec27e74d4dac856) ) // hand written labeled: U113 NO HI A589
+ ROM_LOAD32_BYTE( "u112_no_hi_36da.u112", 0x00001, 0x20000, CRC(505a89bf) SHA1(77e289311c5d358478d02bf8e5b14adb8ab1caeb) ) // hand written labeled: U112 NO HI 36DA
+ ROM_LOAD32_BYTE( "u111_no_hi_e6e6.u111", 0x00002, 0x20000, CRC(68e5936e) SHA1(1a8833584a6b74f22fe3bdbb7cd23983da7e6fe1) ) // hand written labeled: U111 NO HI E6E6
+ ROM_LOAD32_BYTE( "u110_no_hi_9f17.u110", 0x00003, 0x20000, CRC(0392824d) SHA1(c394b9a74d11cf9ff5b4edf97178a85276b63852) ) // hand written labeled: U110 NO HI 9F17
+
+ ROM_REGION( 0x1000000, "bsmt", 0 )
+ ROM_LOAD( "u160_police_trainer_p-p_marketing.u160", 0x000000, 0x100000, CRC(f267f813) SHA1(ae58507947fe2e9701b5df46565fd9908e2f9d77) ) // mask ROM labeled: U160 POLICE TRAINER P&P MARKETING
+ ROM_RELOAD( 0x3f8000, 0x100000 )
+ ROM_LOAD( "u162_police_trainer_p-p_marketing.u162", 0x100000, 0x100000, CRC(75fe850e) SHA1(ab8cf24ae6e5cf80f6a9a34e46f2b1596879643b) ) // mask ROM labeled: U162 POLICE TRAINER P&P MARKETING
+ ROM_RELOAD( 0x4f8000, 0x100000 )
+ROM_END
+
+
+ROM_START( policetr13 ) /* Rev 0.3 PCB with the program chips dated 04/01/97, reports as SOFTWARE REV 1.3 */
ROM_REGION( 0x400000, "gfx", ROMREGION_ERASE00 )
ROM_LOAD16_BYTE( "u121_police_trainer_p-p_marketing.u121", 0x000000, 0x100000, CRC(56b0b00a) SHA1(4034fe373a61f756f4813f0c20b1cf05e4338059) ) // mask ROM labeled: U121 POLICE TRAINER P&P MARKETING
ROM_LOAD16_BYTE( "u120_police_trainer_p-p_marketing.u120", 0x000001, 0x100000, CRC(ca664142) SHA1(2727ecb9287b4ed30088e017bb6b8763dfb75b2f) ) // mask ROM labeled: U120 POLICE TRAINER P&P MARKETING
@@ -484,7 +522,7 @@ ROM_START( policetr ) /* Rev 0.3 PCB , with the program chips dated 04/01/97 */
ROM_END
-ROM_START( policetr11 ) /* Rev 0.3 PCB with the program chips dated 01/06/97 */
+ROM_START( policetr11 ) /* Rev 0.3 PCB with the program chips dated 01/06/97, reports as SOFTWARE REV 1.1 */
ROM_REGION( 0x400000, "gfx", ROMREGION_ERASE00 )
ROM_LOAD16_BYTE( "u121_police_trainer_p-p_marketing.u121", 0x000000, 0x100000, CRC(56b0b00a) SHA1(4034fe373a61f756f4813f0c20b1cf05e4338059) ) // mask ROM labeled: U121 POLICE TRAINER P&P MARKETING
ROM_LOAD16_BYTE( "u120_police_trainer_p-p_marketing.u120", 0x000001, 0x100000, CRC(ca664142) SHA1(2727ecb9287b4ed30088e017bb6b8763dfb75b2f) ) // mask ROM labeled: U120 POLICE TRAINER P&P MARKETING
@@ -505,7 +543,7 @@ ROM_START( policetr11 ) /* Rev 0.3 PCB with the program chips dated 01/06/97 */
ROM_END
-ROM_START( policetr10 ) /* Rev 0.2 PCB with all chips dated 10/07/96, there is no mention of version on any chip */
+ROM_START( policetr10 ) /* Rev 0.2 PCB with all chips dated 10/07/96, there is no mention of version on any chip or during the "Factory Test" checksum screen */
ROM_REGION( 0x400000, "gfx", ROMREGION_ERASE00 )
/* Same data as the other sets, but split in 4 meg roms */
ROM_LOAD16_BYTE( "u121_10-7-96.u121", 0x000000, 0x080000, CRC(9d31e805) SHA1(482f38e07ddb758e1fb444af7b56a0ef6ea945c8) ) // labeled: U121 10/7/96
@@ -536,7 +574,7 @@ ROM_START( policetr10 ) /* Rev 0.2 PCB with all chips dated 10/07/96, there is n
ROM_END
-ROM_START( policetr13a ) /* Rev 0.5B PCB , unknown program rom date. Actual version is V1.3B */
+ROM_START( policetr13a ) /* Rev 0.5B PCB, unknown program rom date. Actual version is V1.3B */
ROM_REGION( 0x400000, "gfx", ROMREGION_ERASE00 )
ROM_LOAD16_BYTE( "u121_police_trainer_p-p_marketing.u121", 0x000000, 0x100000, CRC(56b0b00a) SHA1(4034fe373a61f756f4813f0c20b1cf05e4338059) ) // mask ROM labeled: U121 POLICE TRAINER P&P MARKETING
ROM_LOAD16_BYTE( "u120_police_trainer_p-p_marketing.u120", 0x000001, 0x100000, CRC(ca664142) SHA1(2727ecb9287b4ed30088e017bb6b8763dfb75b2f) ) // mask ROM labeled: U120 POLICE TRAINER P&P MARKETING
@@ -546,7 +584,7 @@ ROM_START( policetr13a ) /* Rev 0.5B PCB , unknown program rom date. Actual vers
ROM_REGION32_BE( 0x100000, "maincpu", 0 ) /* Program roms are type 27C020 */
/*
Note: With this version, the program roms are twice the size of those found on all other Police Trainer sets. Like the set listed below,
- if you set the dipswitch to service mode and reset the game within Mame. All 4 program ROMs fail the checksum code and the listed
+ if you hold the test button down and boot (or reset) the game within Mame. All 4 program ROMs fail the checksum code and the listed
checksums on the screen match the set below. IE: U110=556D, U111=E5F1, U112=974C & U113=CB73
However, if you check the Diagnostics screen, the program rom checksum is 6819480C which is different then the set below. So it
@@ -567,7 +605,7 @@ Note: With this version, the program roms are twice the size of those found on a
ROM_END
-ROM_START( policetr13b ) /* Rev 0.5B PCB , unknown program rom date Actual version is V1.3B */
+ROM_START( policetr13b ) /* Rev 0.5B PCB, unknown program rom date Actual version is V1.3B */
ROM_REGION( 0x400000, "gfx", ROMREGION_ERASE00 )
ROM_LOAD16_BYTE( "u121_police_trainer_p-p_marketing.u121", 0x000000, 0x100000, CRC(56b0b00a) SHA1(4034fe373a61f756f4813f0c20b1cf05e4338059) ) // mask ROM labeled: U121 POLICE TRAINER P&P MARKETING
ROM_LOAD16_BYTE( "u120_police_trainer_p-p_marketing.u120", 0x000001, 0x100000, CRC(ca664142) SHA1(2727ecb9287b4ed30088e017bb6b8763dfb75b2f) ) // mask ROM labeled: U120 POLICE TRAINER P&P MARKETING
@@ -576,7 +614,7 @@ ROM_START( policetr13b ) /* Rev 0.5B PCB , unknown program rom date Actual versi
ROM_REGION32_BE( 0x100000, "maincpu", 0 ) /* Program roms are type 27C010 */
/*
-Note: If you set the dipswitch to service mode and reset the game within Mame. All 4 program ROMs fail the checksum code, IE: they
+Note: If you hold the test button down and boot (or reset) the game within Mame. All 4 program ROMs fail the checksum code, IE: they
show in red instead of green. But, the listed checksums on the screen match the checksums printed on the ROM labels. However,
this has been verified to happen on a real PCB
@@ -595,7 +633,7 @@ Note: If you set the dipswitch to service mode and reset the game within Mame. A
ROM_END
-ROM_START( sshooter ) /* Rev 0.5B PCB , Added a "Welcome" start-up screen which shows "This is Version C191012" */
+ROM_START( sshooter ) /* Rev 0.5B PCB, Added a "Welcome" start-up screen which shows "This is Version C191012" */
ROM_REGION( 0x800000, "gfx", ROMREGION_ERASE00 ) /* Graphics v1.0 */
ROM_LOAD16_BYTE( "u121_1-1_g10_021998_ecie-9418_sharpshooter.u121", 0x000000, 0x100000, CRC(22e27dd6) SHA1(cb9e8c450352bb116a9c0407cc8ce6d8ae9d9881) ) // U121 1:1 G10 021998 ECIE:9418 SharpShooter
ROM_LOAD16_BYTE( "u120_1-2_g10_021998_ecie-3395_sharpshooter.u120", 0x000001, 0x100000, CRC(30173b1b) SHA1(366464444ce208391ca350f1639403f0c2217330) ) // U120 1:2 G10 021998 ECIE:3395 SharpShooter
@@ -620,7 +658,7 @@ ROM_START( sshooter ) /* Rev 0.5B PCB , Added a "Welcome" start-up screen which
ROM_END
-ROM_START( sshooter17 ) /* Rev 0.5B PCB , unknown program rom date */
+ROM_START( sshooter17 ) /* Rev 0.5B PCB, unknown program rom date */
ROM_REGION( 0x800000, "gfx", ROMREGION_ERASE00 ) /* Graphics v1.0 */
ROM_LOAD16_BYTE( "u121_1-1_g10_021998_ecie-9418_sharpshooter.u121", 0x000000, 0x100000, CRC(22e27dd6) SHA1(cb9e8c450352bb116a9c0407cc8ce6d8ae9d9881) ) // U121 1:1 G10 021998 ECIE:9418 SharpShooter
ROM_LOAD16_BYTE( "u120_1-2_g10_021998_ecie-3395_sharpshooter.u120", 0x000001, 0x100000, CRC(30173b1b) SHA1(366464444ce208391ca350f1639403f0c2217330) ) // U120 1:2 G10 021998 ECIE:3395 SharpShooter
@@ -645,7 +683,7 @@ ROM_START( sshooter17 ) /* Rev 0.5B PCB , unknown program rom date */
ROM_END
-ROM_START( sshooter12 ) /* Rev 0.5B PCB , program roms dated 04/17/98 */
+ROM_START( sshooter12 ) /* Rev 0.5B PCB, program roms dated 04/17/98 */
ROM_REGION( 0x800000, "gfx", ROMREGION_ERASE00 ) /* Graphics v1.0 */
ROM_LOAD16_BYTE( "u121_1-1_g10_021998_ecie-9418_sharpshooter.u121", 0x000000, 0x100000, CRC(22e27dd6) SHA1(cb9e8c450352bb116a9c0407cc8ce6d8ae9d9881) ) // U121 1:1 G10 021998 ECIE:9418 SharpShooter
ROM_LOAD16_BYTE( "u120_1-2_g10_021998_ecie-3395_sharpshooter.u120", 0x000001, 0x100000, CRC(30173b1b) SHA1(366464444ce208391ca350f1639403f0c2217330) ) // U120 1:2 G10 021998 ECIE:3395 SharpShooter
@@ -670,7 +708,7 @@ ROM_START( sshooter12 ) /* Rev 0.5B PCB , program roms dated 04/17/98 */
ROM_END
-ROM_START( sshooter11 ) /* Rev 0.5B PCB , program roms dated 04/03/98 */
+ROM_START( sshooter11 ) /* Rev 0.5B PCB, program roms dated 04/03/98 */
ROM_REGION( 0x800000, "gfx", ROMREGION_ERASE00 ) /* Graphics v1.0 */
ROM_LOAD16_BYTE( "u121_1-1_g10_021998_ecie-9418_sharpshooter.u121", 0x000000, 0x100000, CRC(22e27dd6) SHA1(cb9e8c450352bb116a9c0407cc8ce6d8ae9d9881) ) // U121 1:1 G10 021998 ECIE:9418 SharpShooter
ROM_LOAD16_BYTE( "u120_1-2_g10_021998_ecie-3395_sharpshooter.u120", 0x000001, 0x100000, CRC(30173b1b) SHA1(366464444ce208391ca350f1639403f0c2217330) ) // U120 1:2 G10 021998 ECIE:3395 SharpShooter
@@ -716,14 +754,15 @@ void policetr_state::driver_init()
*
*************************************/
-GAME( 1996, policetr, 0, policetr, policetr, policetr_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3)", 0 )
-GAME( 1996, policetr11, policetr, policetr, polict10, policetr_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.1)", 0 )
-GAME( 1996, policetr10, policetr, policetr, polict10, polict10_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.0)", 0 )
+GAME( 1996, policetr, 0, policetr, policetr, policetr_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B, Rev 0.3 PCB)", 0 )
+GAME( 1996, policetr13, policetr, policetr, policetr, policetr_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3)", 0 )
+GAME( 1996, policetr11, policetr, policetr, polict10, policetr_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.1)", 0 )
+GAME( 1996, policetr10, policetr, policetr, polict10, polict10_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.0)", 0 )
-GAME( 1996, policetr13a, policetr, sshooter, policetr, plctr13b_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B Newer)", 0 )
-GAME( 1996, policetr13b, policetr, sshooter, policetr, plctr13b_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B)", 0 )
+GAME( 1996, policetr13a, policetr, sshooter, policetr, plctr13b_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B Newer, Rev 0.5B PCB)", 0 )
+GAME( 1996, policetr13b, policetr, sshooter, policetr, plctr13b_state, empty_init, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B, Rev 0.5B PCB)", 0 )
-GAME( 1998, sshooter, 0, sshooter, policetr, sshooter_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.9)", 0 )
-GAME( 1998, sshooter17, sshooter, sshooter, policetr, sshoot17_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.7)", 0 )
-GAME( 1998, sshooter12, sshooter, sshooter, sshoot11, sshoot12_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.2)", 0 )
-GAME( 1998, sshooter11, sshooter, sshooter, sshoot11, sshoot11_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.1)", 0 )
+GAME( 1998, sshooter, 0, sshooter, sshooter, sshooter_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.9)", 0 )
+GAME( 1998, sshooter17, sshooter, sshooter, sshooter, sshoot17_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.7)", 0 )
+GAME( 1998, sshooter12, sshooter, sshooter, sshoot11, sshoot12_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.2)", 0 )
+GAME( 1998, sshooter11, sshooter, sshooter, sshoot11, sshoot11_state, empty_init, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.1)", 0 )