Submission from Johnboy for Mame v0.127u6 mainline

Affected files:

	mame\src\mame\drivers\neodrvr.c
	mame\src\mame\includes\neogeo.h
	mame\src\mame\machine\neocrypt.c
	mame\src\mame\machine\neoboot.c

Changes:
 . Begin of a general cleanup
	Sorting OEM / Bootleg sets
	Renaming roms on non OEM / Bootleg sets to ONE naming sheme
	Renaming functions
	Added some comments
   Cleanup is not completed.
This commit is contained in:
davidhay 2008-10-04 13:00:16 +00:00
parent 099373081e
commit e39b0ece90
4 changed files with 498 additions and 482 deletions

View File

@ -632,6 +632,28 @@ INPUT_PORTS_END
****************************************************************************/ ****************************************************************************/
/* OEM sets */
/*
Missing (undumped) sets:
. Rage of the Dragons (AES)
. Last Blade 2 (early revisions) ?
. Power Spikes II (early revisions) ?
. Metal Slug 3 (rev. Mar/17/2000 1:36)
. Metal Slug 4 (AES)
. Metal Slug 5 (PCB)
. 98 Best 44
Redump required:
. All set with BAD_DUMP roms
. Sets which have a p1h
All rom labels need to be reverified
*/
ROM_START( nam1975 ) /* MVS AND AES VERSION */ ROM_START( nam1975 ) /* MVS AND AES VERSION */
ROM_REGION( 0x100000, "main", 0 ) ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "001-p1.bin", 0x000000, 0x080000, CRC(cc9fc951) SHA1(92f4e6ddeeb825077d92dbb70b50afea985f15c0) ) ROM_LOAD16_WORD_SWAP( "001-p1.bin", 0x000000, 0x080000, CRC(cc9fc951) SHA1(92f4e6ddeeb825077d92dbb70b50afea985f15c0) )
@ -1621,7 +1643,6 @@ ROM_START( sengoku2 )
NEO_SFIX_128K( "040-s1.bin", CRC(cd9802a3) SHA1(f685d4638f4f68e7e3f101c0c39128454536721b) ) NEO_SFIX_128K( "040-s1.bin", CRC(cd9802a3) SHA1(f685d4638f4f68e7e3f101c0c39128454536721b) )
// NEO_BIOS_AUDIO_128K( "040-m1o.bin", CRC(9902dfa2) SHA1(af6284c5298328156726b76b968995ad25fdf4de) ) // old rom, bad?, diff rev?
NEO_BIOS_AUDIO_128K( "040-m1.bin", CRC(d4de4bca) SHA1(ecf604d06f01d40b04e285facef66a6ae2d35661) ) NEO_BIOS_AUDIO_128K( "040-m1.bin", CRC(d4de4bca) SHA1(ecf604d06f01d40b04e285facef66a6ae2d35661) )
ROM_REGION( 0x300000, "ym", 0 ) ROM_REGION( 0x300000, "ym", 0 )
@ -3727,7 +3748,6 @@ ROM_START( rbffspec )
ROM_LOAD16_BYTE( "223-c8.bin", 0x1800001, 0x400000, CRC(5ad62102) SHA1(e28cc9840caed2a1a8bd65a03bef05231071040c) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "223-c8.bin", 0x1800001, 0x400000, CRC(5ad62102) SHA1(e28cc9840caed2a1a8bd65a03bef05231071040c) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( twinspri ) ROM_START( twinspri )
ROM_REGION( 0x400000, "main", 0 ) ROM_REGION( 0x400000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "224-p1.bin", 0x100000, 0x100000, CRC(7697e445) SHA1(5b55ca120f77a931d40719b14e0bfc8cac1d628c) ) ROM_LOAD16_WORD_SWAP( "224-p1.bin", 0x100000, 0x100000, CRC(7697e445) SHA1(5b55ca120f77a931d40719b14e0bfc8cac1d628c) )
@ -3798,20 +3818,20 @@ ROM_END
ROM_START( ghostlop ) ROM_START( ghostlop )
ROM_REGION( 0x200000, "main", 0 ) ROM_REGION( 0x200000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "gl-p1.rom", 0x000000, 0x100000, CRC(6033172e) SHA1(f57fb706aa8dd9e5f9e992a5d35c1799578b59f8) ) ROM_LOAD16_WORD_SWAP( "gl-p1.bin", 0x000000, 0x100000, CRC(6033172e) SHA1(f57fb706aa8dd9e5f9e992a5d35c1799578b59f8) )
NEO_SFIX_128K( "gl-s1.rom", CRC(83c24e81) SHA1(585ef209d8bfc23bdccc1f37d8b764eeedfedc1c) ) NEO_SFIX_128K( "gl-s1.bin", CRC(83c24e81) SHA1(585ef209d8bfc23bdccc1f37d8b764eeedfedc1c) )
NEO_BIOS_AUDIO_128K( "gl-m1.rom", CRC(fd833b33) SHA1(ab6c218c42cba821654cbdae154efecb69f844f6) ) NEO_BIOS_AUDIO_128K( "gl-m1.bin", CRC(fd833b33) SHA1(ab6c218c42cba821654cbdae154efecb69f844f6) )
ROM_REGION( 0x200000, "ym", 0 ) ROM_REGION( 0x200000, "ym", 0 )
ROM_LOAD( "gl-v1.rom", 0x000000, 0x200000, CRC(c603fce6) SHA1(5a866471d35895b2ae13cbd5d1cb41bf2e72e1b8) ) ROM_LOAD( "gl-v1.bin", 0x000000, 0x200000, CRC(c603fce6) SHA1(5a866471d35895b2ae13cbd5d1cb41bf2e72e1b8) )
NO_DELTAT_REGION NO_DELTAT_REGION
ROM_REGION( 0x800000, "sprites", ROMREGION_DISPOSE ) ROM_REGION( 0x800000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "gl-c1.rom", 0x000000, 0x400000, CRC(bfc99efe) SHA1(5cd2545310142080b8286e787cf5b859f627b3db) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "gl-c1.bin", 0x000000, 0x400000, CRC(bfc99efe) SHA1(5cd2545310142080b8286e787cf5b859f627b3db) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "gl-c2.rom", 0x000001, 0x400000, CRC(69788082) SHA1(c3ecb42ddcbd9e16d0018a0c3adb56a911d813ca) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "gl-c2.bin", 0x000001, 0x400000, CRC(69788082) SHA1(c3ecb42ddcbd9e16d0018a0c3adb56a911d813ca) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( breakers ) ROM_START( breakers )
@ -3906,31 +3926,6 @@ ROM_START( kof97a )
ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( kof97pls ) /* bootleg */
ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "232-p1p.bin", 0x000000, 0x100000, CRC(c01fda46) SHA1(bc6402f5082efc80a8936364c657165f19b49415) )
ROM_LOAD16_WORD_SWAP( "232-p2p.bin", 0x100000, 0x400000, CRC(5502b020) SHA1(37c48198d8b3798910a44075782cd1a20b687b4a) )
NEO_SFIX_128K( "232-s1p.bin", CRC(73254270) SHA1(8d06305f9d8890da1327356272b88bdd0dc089f5) )
NEO_BIOS_AUDIO_128K( "232-m1.bin", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) )
ROM_REGION( 0xc00000, "ym", 0 )
ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) )
ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) )
ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) )
NO_DELTAT_REGION
ROM_REGION( 0x2800000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "232-c1.bin", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "232-c2.bin", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "232-c5.bin", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */
ROM_END
ROM_START( magdrop3 ) ROM_START( magdrop3 )
ROM_REGION( 0x100000, "main", 0 ) ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "233-p1.bin", 0x000000, 0x100000, CRC(931e17fa) SHA1(4a95c4b79d0878485ce272e9f4c4f647bec0e070) ) ROM_LOAD16_WORD_SWAP( "233-p1.bin", 0x000000, 0x100000, CRC(931e17fa) SHA1(4a95c4b79d0878485ce272e9f4c4f647bec0e070) )
@ -4460,32 +4455,6 @@ ROM_START( shocktr2 )
ROM_LOAD16_BYTE( "246-c6.bin", 0x2000001, 0x800000, CRC(7e2caae1) SHA1(d9de14e3e323664a8c5b7f1df1ba9ec7dd0e6a46) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "246-c6.bin", 0x2000001, 0x800000, CRC(7e2caae1) SHA1(d9de14e3e323664a8c5b7f1df1ba9ec7dd0e6a46) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( lans2004 ) /* Bootleg / Hack of Shock Troopers - 2nd Squad */
ROM_REGION( 0x600000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "lnsq-p1.bin", 0x000000, 0x200000, CRC(b40a879a) SHA1(379f3d44b0bae430b32157fd5f4018d77b243c58) )
ROM_LOAD16_WORD_SWAP( "lnsq-p21.bin", 0x200000, 0x200000, CRC(ecdb2d42) SHA1(0d930cd369dfbcab7778b144355e5f70874aa324) )
ROM_LOAD16_WORD_SWAP( "lnsq-p22.bin", 0x400000, 0x200000, CRC(fac5e2e7) SHA1(5cce7226c137da80c969df00e1cda41ef9c5082c) )
NEO_SFIX_128K( "lnsq-s1.bin", CRC(39e82897) SHA1(24a8c94dd7e70ecde8f90ea17f75b6b5d065704f) )
NEO_BIOS_AUDIO_128K( "246-m1.bin", CRC(d0604ad1) SHA1(fae3cd52a177eadd5f5775ace957cc0f8301e65d) )
ROM_REGION( 0xA00000, "ym", 0 )
ROM_LOAD( "lnsq-v1.bin", 0x000000, 0x400000, CRC(4408ebc3) SHA1(e3f4d8a7e243a8cf48e97d91bbfec7829c0d9404) )
ROM_LOAD( "lnsq-v2.bin", 0x400000, 0x400000, CRC(3d953975) SHA1(6a4ab02ab3d4416a65343cf16815007cb273f19b) )
ROM_LOAD( "lnsq-v3.bin", 0x800000, 0x200000, CRC(437d1d8e) SHA1(95e015c21707b53ed7223eaa19f6cdcfb4d94f0c) )
NO_DELTAT_REGION
ROM_REGION( 0x3000000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "lnsq-c1.bin", 0x0000000, 0x800000, CRC(b83de59f) SHA1(8cc060f9a57ab7d4238543b0bce5f5cd1d271d4f) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "lnsq-c2.bin", 0x0000001, 0x800000, CRC(e08969fd) SHA1(c192639d023cdad64a8f53dbcda02aa8cfb4168e) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "lnsq-c3.bin", 0x1000000, 0x800000, CRC(013f2cda) SHA1(6261111ce69dc23fbf97241131e5a6a49355d18c) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "lnsq-c4.bin", 0x1000001, 0x800000, CRC(d8c3a758) SHA1(d19ca3be06f9fb0cb1933b1eb3da318524c3145d) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "lnsq-c5.bin", 0x2000000, 0x800000, CRC(75500b82) SHA1(06d2afe94ea3eb3c4e523f593b8e709dd7c284a3) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "lnsq-c6.bin", 0x2000001, 0x800000, CRC(670ac13b) SHA1(f448a144caae51b69ea19e1f43940db135d1164a) ) /* Plane 2,3 */
ROM_END
ROM_START( flipshot ) ROM_START( flipshot )
ROM_REGION( 0x100000, "main", 0 ) ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "247-p1.bin", 0x000000, 0x080000, CRC(d2e7a7e3) SHA1(1ff4f070fcc658bbc7dc69e16c87f82d7392d100) ) ROM_LOAD16_WORD_SWAP( "247-p1.bin", 0x000000, 0x080000, CRC(d2e7a7e3) SHA1(1ff4f070fcc658bbc7dc69e16c87f82d7392d100) )
@ -4875,31 +4844,6 @@ ROM_START( garoup ) /* Prototype Version, seems genuine */
ROM_LOAD16_BYTE( "253-c8p.bin", 0x3000001, 0x800000, CRC(f778fe99) SHA1(c963f6ba90a36d02991728b44ffcf174ca18268a) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "253-c8p.bin", 0x3000001, 0x800000, CRC(f778fe99) SHA1(c963f6ba90a36d02991728b44ffcf174ca18268a) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( garoubl ) /* Bootleg of garoup */
ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "253-p1bl.bin", 0x000000, 0x100000, CRC(fd446d59) SHA1(e37484673a935b2af76c84cd26977c751c0f8cff) )
ROM_LOAD16_WORD_SWAP( "253-p2bl.bin", 0x100000, 0x400000, CRC(3fb10a84) SHA1(4e4a4f4cd7f0ad2520c938c64c8910e6f8805eaf) )
NEO_SFIX_128K( "253-s1bl.bin", CRC(df720e33) SHA1(58d05002d4851682bd626241fa7b70f78f6f3bc8) )
NEO_BIOS_AUDIO_512K( "253-m1bl.bin", CRC(7c51d002) SHA1(01ffba6cbc8da07804f7b21d8c71c39d64a1a4e2) )
ROM_REGION( 0x1000000, "ym", 0 )
ROM_LOAD( "253-v1bl.bin", 0x000000, 0x400000, CRC(98d736e4) SHA1(3edda9a1d45b0e38a85156d24fc8ff2f0011239b) )
ROM_LOAD( "253-v2bl.bin", 0x400000, 0x400000, CRC(eb43c03f) SHA1(83c9c168b154e60a64f1033004b2d33e218bbb8b) )
ROM_LOAD( "253-v3bl.bin", 0x800000, 0x400000, CRC(10a0f814) SHA1(e86def80d6fb2a38ebc9f3338d22f28c15ce85da) )
ROM_LOAD( "253-v4bl.bin", 0xc00000, 0x400000, CRC(8918fdd3) SHA1(60ea2104a0f993341124728d8fde0e8e937c55ef) )
NO_DELTAT_REGION
ROM_REGION( 0x4000000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "253-c1bl.bin", 0x0000000, 0x1000000, CRC(e2ac83fa) SHA1(186f88a85d80efbb0371bd42cca152b6b59817fb) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "253-c2bl.bin", 0x0000001, 0x1000000, CRC(7c344b24) SHA1(f8af62a917e0ce2bf8ae4f17736fdd84d55d0788) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "253-c3bl.bin", 0x2000000, 0x1000000, CRC(d3aec5a6) SHA1(c1a584909a8a1519f676aa49351742b87c18276d) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "253-c4bl.bin", 0x2000001, 0x1000000, CRC(e02a242d) SHA1(8a73826d14880303a7bea2a903e842c733178aca) ) /* Plane 2,3 */
ROM_END
ROM_START( s1945p ) /* Original Version, Encrypted GFX Roms */ ROM_START( s1945p ) /* Original Version, Encrypted GFX Roms */
ROM_REGION( 0x500000, "main", 0 ) ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "254-p1.bin", 0x000000, 0x100000, CRC(ff8efcff) SHA1(dcaeaca573385c172ecc43ee6bee355359091893) ) ROM_LOAD16_WORD_SWAP( "254-p1.bin", 0x000000, 0x100000, CRC(ff8efcff) SHA1(dcaeaca573385c172ecc43ee6bee355359091893) )
@ -5036,7 +4980,6 @@ ROM_START( mslug3h ) /* Original Version - Encrypted GFX */ /* AES VERSION */
ROM_LOAD16_BYTE( "256-c8.bin", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "256-c8.bin", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( kof2000 ) /* Original Version, Encrypted Code + Sound + GFX Roms */ ROM_START( kof2000 ) /* Original Version, Encrypted Code + Sound + GFX Roms */
ROM_REGION( 0x900000, "main", 0 ) ROM_REGION( 0x900000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "257-sma.bin", 0x0c0000, 0x040000, CRC(71c6e6bb) SHA1(1bd29ded4c6b29780db8e8b772c452189699ca89) ) /* stored in the custom chip */ ROM_LOAD16_WORD_SWAP( "257-sma.bin", 0x0c0000, 0x040000, CRC(71c6e6bb) SHA1(1bd29ded4c6b29780db8e8b772c452189699ca89) ) /* stored in the custom chip */
@ -5187,28 +5130,6 @@ ROM_START( nitd ) /* Original Version - Encrypted GFX */
ROM_LOAD16_BYTE( "260-c2.bin", 0x0000001, 0x800000, CRC(d2b04b0d) SHA1(ce4322e6cfacb627fe997efe81018861e21d3c27) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "260-c2.bin", 0x0000001, 0x800000, CRC(d2b04b0d) SHA1(ce4322e6cfacb627fe997efe81018861e21d3c27) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( nitdbl ) /* Bootleg of nitd */
ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "260-p1bl.bin", 0x000000, 0x080000, CRC(1a05bd1b) SHA1(7bbddef842d50b0778711063af695b168a76ff61) )
NEO_SFIX_128K( "260-s1bl.bin", CRC(dd3bf47c) SHA1(881271caee6508b8be51bf1b59c8f1e58e08e551) )
/* Bootleg m1 is 128k, data is identical */
NEO_BIOS_AUDIO_512K( "260-m1.bin", CRC(6407c5e5) SHA1(d273e154cc905b63205a17a1a6d419cac3485a92) )
ROM_REGION( 0x400000, "ym", 0 )
ROM_LOAD( "260-v1bl.bin", 0x000000, 0x200000, CRC(79008868) SHA1(90bd6aaefd37341297ab1f4ae7246e52facd87d0) )
ROM_LOAD( "260-v2bl.bin", 0x200000, 0x200000, CRC(728558F9) SHA1(309aa7c933c199b2e540a601b363e7af8744fe00) )
NO_DELTAT_REGION
ROM_REGION( 0x800000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "260-c1bl.bin", 0x000000, 0x200000, CRC(b4353190) SHA1(90d5352e243a05f5c2be4fa7475667bb56e78016) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "260-c2bl.bin", 0x000001, 0x200000, CRC(6e27511f) SHA1(1fc5cf7786ad0f0bc7b1623acabe605ad04af3c1) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "260-c3bl.bin", 0x400000, 0x200000, CRC(472cf075) SHA1(7cdd25019e37a3d127e68a4179c051881df19afa) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "260-c4bl.bin", 0x400001, 0x200000, CRC(4c3926e6) SHA1(7fc54a9886dbef911f7b226e3cd20081c535e989) ) /* Plane 2,3 */
ROM_END
ROM_START( sengoku3 ) /* Original Version - Encrypted GFX */ ROM_START( sengoku3 ) /* Original Version - Encrypted GFX */
ROM_REGION( 0x200000, "main", 0 ) ROM_REGION( 0x200000, "main", 0 )
// ROM_LOAD16_WORD_SWAP( "261-p1.bin", 0x100000, 0x100000, CRC(5b557201) SHA1(d01421d1dc80fe7d2a46b9f79c0f344b3c81c1e7) ) this one is almost certainly bad // ROM_LOAD16_WORD_SWAP( "261-p1.bin", 0x100000, 0x100000, CRC(5b557201) SHA1(d01421d1dc80fe7d2a46b9f79c0f344b3c81c1e7) ) this one is almost certainly bad
@ -5998,8 +5919,8 @@ ROM_START( samsho5b ) /* bootleg */
ROM_REGION( 0x4000000, "sprites", ROMREGION_DISPOSE ) ROM_REGION( 0x4000000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "ssv-c1.bin", 0x0000000, 0x1000000, CRC(9c564a01) SHA1(99dc8900fd8f56ae04fff72b34ddcaa8abe4c1be) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "ssv-c1.bin", 0x0000000, 0x1000000, CRC(9c564a01) SHA1(99dc8900fd8f56ae04fff72b34ddcaa8abe4c1be) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "ssv-c2.bin", 0x0000001, 0x1000000, CRC(4b73b8da) SHA1(a8b626de74cf57bbd8c222e8e24c953c9e8680f4) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "ssv-c2.bin", 0x0000001, 0x1000000, CRC(4b73b8da) SHA1(a8b626de74cf57bbd8c222e8e24c953c9e8680f4) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "ssv-c3.bin", 0x2000000, 0x1000000, CRC(029f9bb5) SHA1(6296c879aa0bbd22383ceeeac0326805cbc8b4ec) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "ssv-c3.bin", 0x2000000, 0x1000000, CRC(029f9bb5) SHA1(6296c879aa0bbd22383ceeeac0326805cbc8b4ec) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "ssv-c4.bin", 0x2000001, 0x1000000, CRC(75722430) SHA1(30594c30a167e75463670249df7744755e39e75b) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "ssv-c4.bin", 0x2000001, 0x1000000, CRC(75722430) SHA1(30594c30a167e75463670249df7744755e39e75b) ) /* Plane 2,3 */
ROM_END ROM_END
@ -6325,40 +6246,42 @@ ROM_END
ROM_START( vliner ) ROM_START( vliner )
ROM_REGION( 0x100000, "main", 0 ) ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "vl_p1.rom", 0x000000, 0x080000, CRC(72a2c043) SHA1(b34bcc10ff33e4465126a6865fe8bf6b6a3d6cee) ) ROM_LOAD16_WORD_SWAP( "vl-p1.bin", 0x000000, 0x080000, CRC(72a2c043) SHA1(b34bcc10ff33e4465126a6865fe8bf6b6a3d6cee) )
NEO_SFIX_128K( "vl_s1.rom", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) ) NEO_SFIX_128K( "vl-s1.bin", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) )
NEO_BIOS_AUDIO_64K( "vl_m1.rom", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) ) NEO_BIOS_AUDIO_64K( "vl-m1.bin", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) )
ROM_REGION( 0x200000, "ym", ROMREGION_ERASE00 ) ROM_REGION( 0x200000, "ym", ROMREGION_ERASE00 )
NO_DELTAT_REGION NO_DELTAT_REGION
ROM_REGION( 0x400000, "sprites", ROMREGION_DISPOSE ) ROM_REGION( 0x400000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "vl_c1.rom", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "vl-c1.bin", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "vl_c2.rom", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "vl-c2.bin", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */
ROM_END ROM_END
ROM_START( vlinero ) ROM_START( vlinero )
ROM_REGION( 0x100000, "main", 0 ) ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "vl_p1_54.rom", 0x000000, 0x080000, CRC(172efc18) SHA1(8ca739f8780a9e6fa19ac2c3e931d75871603f58) ) ROM_LOAD16_WORD_SWAP( "vl-p1_54.bin", 0x000000, 0x080000, CRC(172efc18) SHA1(8ca739f8780a9e6fa19ac2c3e931d75871603f58) )
NEO_SFIX_128K( "vl_s1.rom", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) ) NEO_SFIX_128K( "vl-s1.bin", CRC(972d8c31) SHA1(41f09ef28a3791668ea304c74b8b06c117a50e9a) )
NEO_BIOS_AUDIO_64K( "vl_m1.rom", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) ) NEO_BIOS_AUDIO_64K( "vl-m1.bin", CRC(9b92b7d1) SHA1(2c9b777feb9a8e43fa1bd942aba5afe3b5427d94) )
ROM_REGION( 0x200000, "ym", ROMREGION_ERASE00 ) ROM_REGION( 0x200000, "ym", ROMREGION_ERASE00 )
NO_DELTAT_REGION NO_DELTAT_REGION
ROM_REGION( 0x400000, "sprites", ROMREGION_DISPOSE ) ROM_REGION( 0x400000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "vl_c1.rom", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "vl-c1.bin", 0x000000, 0x80000, CRC(5118f7c0) SHA1(b6fb6e9cbb660580d98e00780ebf248c0995145a) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "vl_c2.rom", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "vl-c2.bin", 0x000001, 0x80000, CRC(efe9b33e) SHA1(910c651aadce9bf59e51c338ceef62287756d2e8) ) /* Plane 2,3 */
ROM_END ROM_END
/* Jamma PCB sets */ /* Jamma PCB sets */
/****************************************************************************** /******************************************************************************
The following Jamma PCB boards are known: The following Jamma PCB boards are known:
@ -6376,7 +6299,7 @@ ROM_END
******************************************************************************/ ******************************************************************************/
/* comlete redump required */ /* complete redump required */
ROM_START( ms5pcb ) /* Encrypted Set */ ROM_START( ms5pcb ) /* Encrypted Set */
ROM_REGION( 0x800000, "main", 0 ) ROM_REGION( 0x800000, "main", 0 )
ROM_LOAD32_WORD_SWAP( "268-p1r.bin", 0x000000, 0x400000, NO_DUMP ) ROM_LOAD32_WORD_SWAP( "268-p1r.bin", 0x000000, 0x400000, NO_DUMP )
@ -6517,7 +6440,42 @@ ROM_START( kf2k3pcb ) /* Encrypted Set, JAMMA PCB */
ROM_LOAD32_WORD( "271-c6.bin", 0x4000002, 0x1000000, CRC(1c40de87) SHA1(8d6425aed43ff6a96c88194e203df6a783286373) ) /* Plane 2,3 */ ROM_LOAD32_WORD( "271-c6.bin", 0x4000002, 0x1000000, CRC(1c40de87) SHA1(8d6425aed43ff6a96c88194e203df6a783286373) ) /* Plane 2,3 */
ROM_END ROM_END
/* Various Bootlegs */
/* Bootleg sets */
/*
Most bootleg sets are incomplete (missing 'C', 'V' and 'M' roms).
Verification required.
*/
/* The King of Fighters '97 bootlegs */
ROM_START( kof97pls )
ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "kf97-p1p.bin", 0x000000, 0x100000, CRC(c01fda46) SHA1(bc6402f5082efc80a8936364c657165f19b49415) )
ROM_LOAD16_WORD_SWAP( "kf97-p2p.bin", 0x100000, 0x400000, CRC(5502b020) SHA1(37c48198d8b3798910a44075782cd1a20b687b4a) )
NEO_SFIX_128K( "kf97-s1p.bin", CRC(73254270) SHA1(8d06305f9d8890da1327356272b88bdd0dc089f5) )
NEO_BIOS_AUDIO_128K( "232-m1.bin", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) )
ROM_REGION( 0xc00000, "ym", 0 )
ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) )
ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) )
ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) )
NO_DELTAT_REGION
ROM_REGION( 0x2800000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "232-c1.bin", 0x0000000, 0x800000, CRC(5f8bf0a1) SHA1(e8b63bbc814de171fd18c5864a7fc639970c1ecf) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "232-c2.bin", 0x0000001, 0x800000, CRC(e4d45c81) SHA1(fdb2b9326362e27b1c7a5beb977e0bc537488186) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, CRC(581d6618) SHA1(14d3124a08ded59f86932c6b28e1a4e48c564ccd) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, CRC(49bb1e68) SHA1(f769c1bd1b019521111ff3f0d22c63cb1f2640ef) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "232-c5.bin", 0x2000000, 0x400000, CRC(34fc4e51) SHA1(b39c65f27873f71a6f5a5d1d04e5435f874472ee) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */
ROM_END
ROM_START( kog ) ROM_START( kog )
ROM_REGION( 0x600000, "main", 0 ) ROM_REGION( 0x600000, "main", 0 )
@ -6542,6 +6500,116 @@ ROM_START( kog )
ROM_LOAD16_BYTE( "5232-c4.bin", 0x2000001, 0x400000, CRC(d2bd967b) SHA1(c494e0a98e127d37ca360a28accc167fa50fb626) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "5232-c4.bin", 0x2000001, 0x400000, CRC(d2bd967b) SHA1(c494e0a98e127d37ca360a28accc167fa50fb626) ) /* Plane 2,3 */
ROM_END ROM_END
/* Shock Troopers - 2nd Squad bootleg */
ROM_START( lans2004 )
ROM_REGION( 0x600000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "lnsq-p1.bin", 0x000000, 0x200000, CRC(b40a879a) SHA1(379f3d44b0bae430b32157fd5f4018d77b243c58) )
ROM_LOAD16_WORD_SWAP( "lnsq-p21.bin", 0x200000, 0x200000, CRC(ecdb2d42) SHA1(0d930cd369dfbcab7778b144355e5f70874aa324) )
ROM_LOAD16_WORD_SWAP( "lnsq-p22.bin", 0x400000, 0x200000, CRC(fac5e2e7) SHA1(5cce7226c137da80c969df00e1cda41ef9c5082c) )
NEO_SFIX_128K( "lnsq-s1.bin", CRC(39e82897) SHA1(24a8c94dd7e70ecde8f90ea17f75b6b5d065704f) )
NEO_BIOS_AUDIO_128K( "246-m1.bin", CRC(d0604ad1) SHA1(fae3cd52a177eadd5f5775ace957cc0f8301e65d) )
ROM_REGION( 0xA00000, "ym", 0 )
ROM_LOAD( "lnsq-v1.bin", 0x000000, 0x400000, CRC(4408ebc3) SHA1(e3f4d8a7e243a8cf48e97d91bbfec7829c0d9404) )
ROM_LOAD( "lnsq-v2.bin", 0x400000, 0x400000, CRC(3d953975) SHA1(6a4ab02ab3d4416a65343cf16815007cb273f19b) )
ROM_LOAD( "lnsq-v3.bin", 0x800000, 0x200000, CRC(437d1d8e) SHA1(95e015c21707b53ed7223eaa19f6cdcfb4d94f0c) )
NO_DELTAT_REGION
ROM_REGION( 0x3000000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "lnsq-c1.bin", 0x0000000, 0x800000, CRC(b83de59f) SHA1(8cc060f9a57ab7d4238543b0bce5f5cd1d271d4f) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "lnsq-c2.bin", 0x0000001, 0x800000, CRC(e08969fd) SHA1(c192639d023cdad64a8f53dbcda02aa8cfb4168e) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "lnsq-c3.bin", 0x1000000, 0x800000, CRC(013f2cda) SHA1(6261111ce69dc23fbf97241131e5a6a49355d18c) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "lnsq-c4.bin", 0x1000001, 0x800000, CRC(d8c3a758) SHA1(d19ca3be06f9fb0cb1933b1eb3da318524c3145d) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "lnsq-c5.bin", 0x2000000, 0x800000, CRC(75500b82) SHA1(06d2afe94ea3eb3c4e523f593b8e709dd7c284a3) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "lnsq-c6.bin", 0x2000001, 0x800000, CRC(670ac13b) SHA1(f448a144caae51b69ea19e1f43940db135d1164a) ) /* Plane 2,3 */
ROM_END
/* Garou - Mark of the Wolves bootleg */
ROM_START( garoubl ) /* bootleg of garoup */
ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "garou-p1.bin", 0x000000, 0x100000, CRC(fd446d59) SHA1(e37484673a935b2af76c84cd26977c751c0f8cff) )
ROM_LOAD16_WORD_SWAP( "garou-p2.bin", 0x100000, 0x400000, CRC(3fb10a84) SHA1(4e4a4f4cd7f0ad2520c938c64c8910e6f8805eaf) )
NEO_SFIX_128K( "garou-s1.bin", CRC(df720e33) SHA1(58d05002d4851682bd626241fa7b70f78f6f3bc8) )
NEO_BIOS_AUDIO_512K( "garou-m1.bin", CRC(7c51d002) SHA1(01ffba6cbc8da07804f7b21d8c71c39d64a1a4e2) )
ROM_REGION( 0x1000000, "ym", 0 )
ROM_LOAD( "garou-v1.bin", 0x000000, 0x400000, CRC(98d736e4) SHA1(3edda9a1d45b0e38a85156d24fc8ff2f0011239b) )
ROM_LOAD( "garou-v2.bin", 0x400000, 0x400000, CRC(eb43c03f) SHA1(83c9c168b154e60a64f1033004b2d33e218bbb8b) )
ROM_LOAD( "garou-v3.bin", 0x800000, 0x400000, CRC(10a0f814) SHA1(e86def80d6fb2a38ebc9f3338d22f28c15ce85da) )
ROM_LOAD( "garou-v4.bin", 0xc00000, 0x400000, CRC(8918fdd3) SHA1(60ea2104a0f993341124728d8fde0e8e937c55ef) )
NO_DELTAT_REGION
ROM_REGION( 0x4000000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "garou-c1.bin", 0x0000000, 0x1000000, CRC(e2ac83fa) SHA1(186f88a85d80efbb0371bd42cca152b6b59817fb) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "garou-c2.bin", 0x0000001, 0x1000000, CRC(7c344b24) SHA1(f8af62a917e0ce2bf8ae4f17736fdd84d55d0788) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "garou-c3.bin", 0x2000000, 0x1000000, CRC(d3aec5a6) SHA1(c1a584909a8a1519f676aa49351742b87c18276d) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "garou-c4.bin", 0x2000001, 0x1000000, CRC(e02a242d) SHA1(8a73826d14880303a7bea2a903e842c733178aca) ) /* Plane 2,3 */
ROM_END
/* Metal Slug 3 bootleg */
ROM_START( mslug3b6 ) /* This "Metal Slug 6" is a hack/bootleg of Metal Slug 3, the real Metal Slug 6 is on Atomiswave Hardware */
ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "299-p1.bin", 0x000000, 0x200000, CRC(5f2fe228) SHA1(747775a2dfc0da87ad2ddd4f57ce5b2522f23fa5) )
ROM_LOAD16_WORD_SWAP( "299-p2.bin", 0x100000, 0x400000, CRC(193fa835) SHA1(fb1f26db7998b0bb6b1c8b92500c1596ec5dfc71) )
NEO_SFIX_128K( "299-s1.bin", CRC(6f8b9635) SHA1(86b0c8c0ccac913c6192ed6a96c35d4e1a5e8061) )
NEO_BIOS_AUDIO_512K( "256-m1.bin", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) )
ROM_REGION( 0x1000000, "ym", 0 )
ROM_LOAD( "256-v1.bin", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) )
ROM_LOAD( "256-v2.bin", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) )
ROM_LOAD( "256-v3.bin", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) )
ROM_LOAD( "256-v4.bin", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) )
NO_DELTAT_REGION
ROM_REGION( 0x4000000, "sprites", ROMREGION_DISPOSE )
/* Encrypted */
ROM_LOAD16_BYTE( "256-c1.bin", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c2.bin", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "256-c3.bin", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c4.bin", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "256-c5.bin", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c6.bin", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "256-c7.bin", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c8.bin", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */
ROM_END
/* Nightmare in the Dark bootleg */
ROM_START( nitdbl ) /* Bootleg of nitd */
ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "nitd-p1.bin", 0x000000, 0x080000, CRC(1a05bd1b) SHA1(7bbddef842d50b0778711063af695b168a76ff61) )
NEO_SFIX_128K( "nitd-s1.bin", CRC(dd3bf47c) SHA1(881271caee6508b8be51bf1b59c8f1e58e08e551) )
/* Bootleg m1 is 128k, data is identical */
NEO_BIOS_AUDIO_512K( "260-m1.bin", CRC(6407c5e5) SHA1(d273e154cc905b63205a17a1a6d419cac3485a92) )
ROM_REGION( 0x400000, "ym", 0 )
ROM_LOAD( "nitd-v1.bin", 0x000000, 0x200000, CRC(79008868) SHA1(90bd6aaefd37341297ab1f4ae7246e52facd87d0) )
ROM_LOAD( "nitd-v2.bin", 0x200000, 0x200000, CRC(728558F9) SHA1(309aa7c933c199b2e540a601b363e7af8744fe00) )
NO_DELTAT_REGION
ROM_REGION( 0x800000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "nitd-c1.bin", 0x000000, 0x200000, CRC(b4353190) SHA1(90d5352e243a05f5c2be4fa7475667bb56e78016) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "nitd-c2.bin", 0x000001, 0x200000, CRC(6e27511f) SHA1(1fc5cf7786ad0f0bc7b1623acabe605ad04af3c1) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "nitd-c3.bin", 0x400000, 0x200000, CRC(472cf075) SHA1(7cdd25019e37a3d127e68a4179c051881df19afa) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "nitd-c4.bin", 0x400001, 0x200000, CRC(4c3926e6) SHA1(7fc54a9886dbef911f7b226e3cd20081c535e989) ) /* Plane 2,3 */
ROM_END
ROM_START( cthd2003 ) /* Protected hack/bootleg of kof2001 Phenixsoft */ ROM_START( cthd2003 ) /* Protected hack/bootleg of kof2001 Phenixsoft */
ROM_REGION( 0x500000, "main", 0 ) ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "5003-p1.bin", 0x000000, 0x100000, CRC(bb7602c1) SHA1(abf329a40f34c88f7325b255e3bc090db1edaca4) ) ROM_LOAD16_WORD_SWAP( "5003-p1.bin", 0x000000, 0x100000, CRC(bb7602c1) SHA1(abf329a40f34c88f7325b255e3bc090db1edaca4) )
@ -6779,51 +6847,22 @@ ROM_START( kf10thep ) /* this is a hack of kof2002 much like the various korean
ROM_END ROM_END
ROM_START( mslug3b6 ) /* This "Metal Slug 6" is a hack/bootleg of Metal Slug 3, the real Metal Slug 6 is on Atomiswave Hardware */
ROM_REGION( 0x500000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "299-p1.bin", 0x000000, 0x200000, CRC(5f2fe228) SHA1(747775a2dfc0da87ad2ddd4f57ce5b2522f23fa5) )
ROM_LOAD16_WORD_SWAP( "299-p2.bin", 0x100000, 0x400000, CRC(193fa835) SHA1(fb1f26db7998b0bb6b1c8b92500c1596ec5dfc71) )
NEO_SFIX_128K( "299-s1.bin", CRC(6f8b9635) SHA1(86b0c8c0ccac913c6192ed6a96c35d4e1a5e8061) )
NEO_BIOS_AUDIO_512K( "256-m1.bin", CRC(eaeec116) SHA1(54419dbb21edc8c4b37eaac2e7ad9496d2de037a) )
ROM_REGION( 0x1000000, "ym", 0 )
ROM_LOAD( "256-v1.bin", 0x000000, 0x400000, CRC(f2690241) SHA1(fd56babc1934d10e0d27c32f032f9edda7ca8ce9) )
ROM_LOAD( "256-v2.bin", 0x400000, 0x400000, CRC(7e2a10bd) SHA1(0d587fb9f64cba0315ce2d8a03e2b8fe34936dff) )
ROM_LOAD( "256-v3.bin", 0x800000, 0x400000, CRC(0eaec17c) SHA1(c3ed613cc6993edd6fc0d62a90bcd85de8e21915) )
ROM_LOAD( "256-v4.bin", 0xc00000, 0x400000, CRC(9b4b22d4) SHA1(9764fbf8453e52f80aa97a46fb9cf5937ef15a31) )
NO_DELTAT_REGION
ROM_REGION( 0x4000000, "sprites", ROMREGION_DISPOSE )
/* Encrypted */
ROM_LOAD16_BYTE( "256-c1.bin", 0x0000000, 0x800000, CRC(5a79c34e) SHA1(b8aa51fa50935cae62ab3d125b723ab888691e60) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c2.bin", 0x0000001, 0x800000, CRC(944c362c) SHA1(3843ab300f956280475469caee70135658f67089) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "256-c3.bin", 0x1000000, 0x800000, CRC(6e69d36f) SHA1(94e8cf42e999114b4bd8b30e0aa2f365578c4c9a) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c4.bin", 0x1000001, 0x800000, CRC(b755b4eb) SHA1(804700a0966a48f130c434ede3f970792ea74fa5) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "256-c5.bin", 0x2000000, 0x800000, CRC(7aacab47) SHA1(312c1c9846175fe1a3cad51d5ae230cf674fc93d) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c6.bin", 0x2000001, 0x800000, CRC(c698fd5d) SHA1(16818883b06849ba2f8d61bdd5e21aaf99bd8408) ) /* Plane 2,3 */
ROM_LOAD16_BYTE( "256-c7.bin", 0x3000000, 0x800000, CRC(cfceddd2) SHA1(7def666adf8bd1703f40c61f182fc040b6362dc9) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "256-c8.bin", 0x3000001, 0x800000, CRC(4d9be34c) SHA1(a737bdfa2b815aea7067e7af2636e83a9409c414) ) /* Plane 2,3 */
ROM_END
ROM_START( diggerma ) /* Unlicensed Prototype, no official game ID # */ ROM_START( diggerma ) /* Unlicensed Prototype, no official game ID # */
ROM_REGION( 0x100000, "main", 0 ) ROM_REGION( 0x100000, "main", 0 )
ROM_LOAD16_WORD_SWAP( "dig_p1.rom", 0x000000, 0x080000, CRC(eda433d7) SHA1(abb14c66777ab0fe4ac76a402e253a49df7178d8) ) ROM_LOAD16_WORD_SWAP( "dig-p1.bin", 0x000000, 0x080000, CRC(eda433d7) SHA1(abb14c66777ab0fe4ac76a402e253a49df7178d8) )
NEO_SFIX_64K( "dig_s1.rom", CRC(75a88c1f) SHA1(295dd9225f1e3d2fc64a65b3c287c7f1765417b1) ) NEO_SFIX_64K( "dig-s1.bin", CRC(75a88c1f) SHA1(295dd9225f1e3d2fc64a65b3c287c7f1765417b1) )
NEO_BIOS_AUDIO_64K( "dig_m1.rom", CRC(833cdf1b) SHA1(3a92c79adbe0d37956ea46a4746d6f1cbf7d2c14) ) NEO_BIOS_AUDIO_64K( "dig-m1.bin", CRC(833cdf1b) SHA1(3a92c79adbe0d37956ea46a4746d6f1cbf7d2c14) )
ROM_REGION( 0x200000, "ym", 0 ) ROM_REGION( 0x200000, "ym", 0 )
ROM_LOAD( "dig_v1.rom", 0x000000, 0x080000, CRC(ee15bda4) SHA1(fe2206728e6efd02d6302869a98b196eb19a17df) ) ROM_LOAD( "dig-v1.bin", 0x000000, 0x080000, CRC(ee15bda4) SHA1(fe2206728e6efd02d6302869a98b196eb19a17df) )
NO_DELTAT_REGION NO_DELTAT_REGION
ROM_REGION( 0x400000, "sprites", ROMREGION_DISPOSE ) ROM_REGION( 0x400000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "dig_c1.rom", 0x000000, 0x080000, CRC(3db0a4ed) SHA1(6214faa883d97ea05809b6af7e0c85a236a18a28) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "dig-c1.bin", 0x000000, 0x080000, CRC(3db0a4ed) SHA1(6214faa883d97ea05809b6af7e0c85a236a18a28) ) /* Plane 0,1 */
ROM_LOAD16_BYTE( "dig_c2.rom", 0x000001, 0x080000, CRC(3e632161) SHA1(83711c4286fb1d9f3f91414ac6e5fed36618033e) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "dig-c2.bin", 0x000001, 0x080000, CRC(3e632161) SHA1(83711c4286fb1d9f3f91414ac6e5fed36618033e) ) /* Plane 2,3 */
ROM_END ROM_END
@ -6856,7 +6895,6 @@ ROM_START( neogeo )
ROM_END ROM_END
static DRIVER_INIT( fatfury2 ) static DRIVER_INIT( fatfury2 )
{ {
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
@ -6864,6 +6902,13 @@ static DRIVER_INIT( fatfury2 )
fatfury2_install_protection(machine); fatfury2_install_protection(machine);
} }
static DRIVER_INIT ( kof98 )
{
kof98_decrypt_68k(machine);
DRIVER_INIT_CALL(neogeo);
install_kof98_protection(machine);
}
static DRIVER_INIT( mslugx ) static DRIVER_INIT( mslugx )
{ {
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
@ -6879,6 +6924,13 @@ static DRIVER_INIT( kof99 )
kof99_install_protection(machine); kof99_install_protection(machine);
} }
static DRIVER_INIT( kof99n )
{
neogeo_fixed_layer_bank_type = 1;
kof99_neogeo_gfx_decrypt(machine, 0x00);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( garou ) static DRIVER_INIT( garou )
{ {
garou_decrypt_68k(machine); garou_decrypt_68k(machine);
@ -6913,25 +6965,67 @@ static DRIVER_INIT( mslug3 )
mslug3_install_protection(machine); mslug3_install_protection(machine);
} }
static DRIVER_INIT( mslug3h )
{
neogeo_fixed_layer_bank_type = 1;
kof99_neogeo_gfx_decrypt(machine, 0xad);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( mslug3b6 )
{
neogeo_bootleg_sx_decrypt(machine, 2);
cmc42_neogeo_gfx_decrypt(machine, 0xad);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( kof2000 ) static DRIVER_INIT( kof2000 )
{ {
kof2000_decrypt_68k(machine); kof2000_decrypt_68k(machine);
neogeo_fixed_layer_bank_type = 2; neogeo_fixed_layer_bank_type = 2;
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x00); kof2000_neogeo_gfx_decrypt(machine, 0x00);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
kof2000_install_protection(machine); kof2000_install_protection(machine);
} }
static DRIVER_INIT( kof2000n )
{
neogeo_fixed_layer_bank_type = 2;
neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x00);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( kof2001 ) static DRIVER_INIT( kof2001 )
{ {
neogeo_cmc50_m1_decrypt(machine); neogeo_fixed_layer_bank_type = 1;
kof2000_neogeo_gfx_decrypt(machine, 0x1e); kof2000_neogeo_gfx_decrypt(machine, 0x1e);
neogeo_cmc50_m1_decrypt(machine);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( cthd2003 )
{
decrypt_cthd2003(machine);
DRIVER_INIT_CALL(neogeo);
patch_cthd2003(machine);
}
static DRIVER_INIT ( ct2k3sp )
{
decrypt_ct2k3sp(machine);
DRIVER_INIT_CALL(neogeo);
patch_cthd2003(machine);
}
static DRIVER_INIT ( ct2k3sa )
{
decrypt_ct2k3sa(machine);
DRIVER_INIT_CALL(neogeo);
patch_ct2k3sa(machine);
}
static DRIVER_INIT( mslug4 ) static DRIVER_INIT( mslug4 )
{ {
neogeo_fixed_layer_bank_type = 1; /* USA violent content screen is wrong -- not a bug, confirmed on real hardware! */ neogeo_fixed_layer_bank_type = 1; /* USA violent content screen is wrong -- not a bug, confirmed on real hardware! */
@ -6941,13 +7035,6 @@ static DRIVER_INIT( mslug4 )
neo_pcm2_snk_1999(machine, 8); neo_pcm2_snk_1999(machine, 8);
} }
static DRIVER_INIT( kof99n )
{
neogeo_fixed_layer_bank_type = 1;
kof99_neogeo_gfx_decrypt(machine, 0x00);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( ganryu ) static DRIVER_INIT( ganryu )
{ {
neogeo_fixed_layer_bank_type = 1; neogeo_fixed_layer_bank_type = 1;
@ -6969,22 +7056,6 @@ static DRIVER_INIT( preisle2 )
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( mslug3h )
{
neogeo_fixed_layer_bank_type = 1;
kof99_neogeo_gfx_decrypt(machine, 0xad);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( kof2000n )
{
neogeo_fixed_layer_bank_type = 2;
neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x00);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( bangbead ) static DRIVER_INIT( bangbead )
{ {
neogeo_fixed_layer_bank_type = 1; neogeo_fixed_layer_bank_type = 1;
@ -7013,13 +7084,6 @@ static DRIVER_INIT( sengoku3 )
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT ( kof98 )
{
kof98_decrypt_68k(machine);
DRIVER_INIT_CALL(neogeo);
install_kof98_protection(machine);
}
static DRIVER_INIT( rotd ) static DRIVER_INIT( rotd )
{ {
neo_pcm2_snk_1999(machine, 16); neo_pcm2_snk_1999(machine, 16);
@ -7029,7 +7093,6 @@ static DRIVER_INIT( rotd )
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( kof2002 ) static DRIVER_INIT( kof2002 )
{ {
kof2002_decrypt_68k(machine); kof2002_decrypt_68k(machine);
@ -7065,6 +7128,31 @@ static DRIVER_INIT( kof2km2 )
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( kof10th )
{
decrypt_kof10th(machine);
DRIVER_INIT_CALL(neogeo);
install_kof10th_protection(machine);
}
static DRIVER_INIT( kf10thep )
{
decrypt_kf10thep(machine);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( kf2k5uni )
{
decrypt_kf2k5uni(machine);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( kof2k4se )
{
decrypt_kof2k4se_68k(machine);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( matrim ) static DRIVER_INIT( matrim )
{ {
matrim_decrypt_68k(machine); matrim_decrypt_68k(machine);
@ -7072,7 +7160,6 @@ static DRIVER_INIT( matrim )
neogeo_fixed_layer_bank_type = 2; neogeo_fixed_layer_bank_type = 2;
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x6a); kof2000_neogeo_gfx_decrypt(machine, 0x6a);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
@ -7082,7 +7169,6 @@ static DRIVER_INIT( pnyaa )
neogeo_fixed_layer_bank_type = 1; neogeo_fixed_layer_bank_type = 1;
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x2e); kof2000_neogeo_gfx_decrypt(machine, 0x2e);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
@ -7093,8 +7179,6 @@ static DRIVER_INIT( mslug5 )
neogeo_fixed_layer_bank_type = 1; neogeo_fixed_layer_bank_type = 1;
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x19); kof2000_neogeo_gfx_decrypt(machine, 0x19);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
install_pvc_protection(machine); install_pvc_protection(machine);
} }
@ -7115,7 +7199,6 @@ static DRIVER_INIT( ms5pcb )
svcpcb_gfx_decrypt(machine); svcpcb_gfx_decrypt(machine);
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x19); kof2000_neogeo_gfx_decrypt(machine, 0x19);
neogeo_fixed_layer_bank_type = 2; neogeo_fixed_layer_bank_type = 2;
svcpcb_s1data_decrypt(machine); svcpcb_s1data_decrypt(machine);
neo_pcm2_swap(machine, 2); neo_pcm2_swap(machine, 2);
@ -7127,14 +7210,12 @@ static DRIVER_INIT( ms5plus )
{ {
cmc50_neogeo_gfx_decrypt(machine, 0x19); cmc50_neogeo_gfx_decrypt(machine, 0x19);
neo_pcm2_swap(machine, 2); neo_pcm2_swap(machine, 2);
//decrypt_ms5plus_s1();
neogeo_bootleg_sx_decrypt(machine, 1); neogeo_bootleg_sx_decrypt(machine, 1);
neogeo_fixed_layer_bank_type = 1; neogeo_fixed_layer_bank_type = 1;
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
install_ms5plus_protection(machine); install_ms5plus_protection(machine);
} }
static TIMER_CALLBACK( svcpcb_bios_timer_callback ) static TIMER_CALLBACK( svcpcb_bios_timer_callback )
{ {
int harddip3 = input_port_read(machine, "HARDDIP") & 1; int harddip3 = input_port_read(machine, "HARDDIP") & 1;
@ -7147,11 +7228,10 @@ static DRIVER_INIT( svcpcb )
timer_set(attotime_zero, NULL, 0, svcpcb_bios_timer_callback); timer_set(attotime_zero, NULL, 0, svcpcb_bios_timer_callback);
timer_pulse(ATTOTIME_IN_MSEC(1000), NULL, 0, svcpcb_bios_timer_callback); timer_pulse(ATTOTIME_IN_MSEC(1000), NULL, 0, svcpcb_bios_timer_callback);
svcchaos_px_decrypt(machine); svc_px_decrypt(machine);
svcpcb_gfx_decrypt(machine); svcpcb_gfx_decrypt(machine);
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x57); kof2000_neogeo_gfx_decrypt(machine, 0x57);
svcpcb_s1data_decrypt(machine); svcpcb_s1data_decrypt(machine);
neo_pcm2_swap(machine, 3); neo_pcm2_swap(machine, 3);
neogeo_fixed_layer_bank_type = 2; neogeo_fixed_layer_bank_type = 2;
@ -7161,13 +7241,11 @@ static DRIVER_INIT( svcpcb )
static DRIVER_INIT( svc ) static DRIVER_INIT( svc )
{ {
svcchaos_px_decrypt(machine); svc_px_decrypt(machine);
neo_pcm2_swap(machine, 3); neo_pcm2_swap(machine, 3);
neogeo_fixed_layer_bank_type = 2; neogeo_fixed_layer_bank_type = 2;
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x57); kof2000_neogeo_gfx_decrypt(machine, 0x57);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
install_pvc_protection(machine); install_pvc_protection(machine);
} }
@ -7184,7 +7262,6 @@ static DRIVER_INIT( svcplus )
{ {
svcplus_px_decrypt(machine); svcplus_px_decrypt(machine);
svcboot_cx_decrypt(machine); svcboot_cx_decrypt(machine);
//svcplus_sx_decrypt(machine);
neogeo_bootleg_sx_decrypt(machine, 1); neogeo_bootleg_sx_decrypt(machine, 1);
svcplus_px_hack(machine); svcplus_px_hack(machine);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
@ -7201,7 +7278,6 @@ static DRIVER_INIT( svcplusa )
static DRIVER_INIT( svcsplus ) static DRIVER_INIT( svcsplus )
{ {
svcsplus_px_decrypt(machine); svcsplus_px_decrypt(machine);
//svcsplus_sx_decrypt(machine);
neogeo_bootleg_sx_decrypt(machine, 2); neogeo_bootleg_sx_decrypt(machine, 2);
svcboot_cx_decrypt(machine); svcboot_cx_decrypt(machine);
svcsplus_px_hack(machine); svcsplus_px_hack(machine);
@ -7216,14 +7292,13 @@ static DRIVER_INIT( samsho5 )
neogeo_fixed_layer_bank_type = 1; neogeo_fixed_layer_bank_type = 1;
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x0f); kof2000_neogeo_gfx_decrypt(machine, 0x0f);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( samsho5b ) static DRIVER_INIT( samsho5b )
{ {
samsh5bl_px_decrypt(machine); samsho5b_px_decrypt(machine);
samsh5bl_vx_decrypt(machine); samsho5b_vx_decrypt(machine);
neogeo_bootleg_sx_decrypt(machine, 1); neogeo_bootleg_sx_decrypt(machine, 1);
neogeo_bootleg_cx_decrypt(machine); neogeo_bootleg_cx_decrypt(machine);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
@ -7234,7 +7309,6 @@ static DRIVER_INIT( kf2k3pcb )
kf2k3pcb_decrypt_68k(machine); kf2k3pcb_decrypt_68k(machine);
kf2k3pcb_gfx_decrypt(machine); kf2k3pcb_gfx_decrypt(machine);
kof2003biosdecode(machine); kof2003biosdecode(machine);
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
/* extra little swap on the m1 - this must be performed AFTER the m1 decrypt /* extra little swap on the m1 - this must be performed AFTER the m1 decrypt
@ -7252,7 +7326,6 @@ static DRIVER_INIT( kf2k3pcb )
kof2000_neogeo_gfx_decrypt(machine, 0x9d); kof2000_neogeo_gfx_decrypt(machine, 0x9d);
kf2k3pcb_decrypt_s1data(machine); kf2k3pcb_decrypt_s1data(machine);
neo_pcm2_swap(machine, 5); neo_pcm2_swap(machine, 5);
neogeo_fixed_layer_bank_type = 2; neogeo_fixed_layer_bank_type = 2;
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
@ -7260,7 +7333,6 @@ static DRIVER_INIT( kf2k3pcb )
memory_install_read16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0xc00000, 0xc7ffff, 0, 0, SMH_BANK6 ); // 512k bios memory_install_read16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0xc00000, 0xc7ffff, 0, 0, SMH_BANK6 ); // 512k bios
} }
static DRIVER_INIT( kof2003 ) static DRIVER_INIT( kof2003 )
{ {
kof2003_decrypt_68k(machine); kof2003_decrypt_68k(machine);
@ -7300,7 +7372,6 @@ static DRIVER_INIT( kof2k3pl )
kf2k3pl_install_protection(machine); kf2k3pl_install_protection(machine);
} }
static DRIVER_INIT( kof2k3up ) static DRIVER_INIT( kof2k3up )
{ {
kof2k3up_px_decrypt(machine); kof2k3up_px_decrypt(machine);
@ -7310,21 +7381,16 @@ static DRIVER_INIT( kof2k3up )
kof2k3up_install_protection(machine); kof2k3up_install_protection(machine);
} }
static DRIVER_INIT( samsh5sp ) static DRIVER_INIT( samsh5sp )
{ {
samsh5p_decrypt_68k(machine); samsh5sp_decrypt_68k(machine);
neo_pcm2_swap(machine, 6); neo_pcm2_swap(machine, 6);
neogeo_fixed_layer_bank_type = 1; neogeo_fixed_layer_bank_type = 1;
neogeo_cmc50_m1_decrypt(machine); neogeo_cmc50_m1_decrypt(machine);
kof2000_neogeo_gfx_decrypt(machine, 0x0d); kof2000_neogeo_gfx_decrypt(machine, 0x0d);
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( jockeygp ) static DRIVER_INIT( jockeygp )
{ {
UINT16* extra_ram; UINT16* extra_ram;
@ -7363,7 +7429,6 @@ static DRIVER_INIT( vliner )
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( kog ) static DRIVER_INIT( kog )
{ {
/* overlay cartridge ROM */ /* overlay cartridge ROM */
@ -7375,54 +7440,6 @@ static DRIVER_INIT( kog )
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( kof10th )
{
decrypt_kof10th(machine);
DRIVER_INIT_CALL(neogeo);
install_kof10th_protection(machine);
}
static DRIVER_INIT( kf10thep )
{
decrypt_kf10thep(machine);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( kf2k5uni )
{
decrypt_kf2k5uni(machine);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( cthd2003 )
{
decrypt_cthd2003(machine);
DRIVER_INIT_CALL(neogeo);
patch_cthd2003(machine);
}
static DRIVER_INIT ( ct2k3sp )
{
decrypt_ct2k3sp(machine);
DRIVER_INIT_CALL(neogeo);
patch_cthd2003(machine);
}
static DRIVER_INIT ( ct2k3sa )
{
decrypt_ct2k3sa(machine);
DRIVER_INIT_CALL(neogeo);
patch_ct2k3sa(machine);
}
static DRIVER_INIT( kof2k4se )
{
decrypt_kof2k4se_68k(machine);
DRIVER_INIT_CALL(neogeo);
}
static DRIVER_INIT( lans2004 ) static DRIVER_INIT( lans2004 )
{ {
lans2004_decrypt_68k(machine); lans2004_decrypt_68k(machine);
@ -7432,13 +7449,6 @@ static DRIVER_INIT( lans2004 )
DRIVER_INIT_CALL(neogeo); DRIVER_INIT_CALL(neogeo);
} }
static DRIVER_INIT( mslug3b6 )
{
neogeo_bootleg_sx_decrypt(machine, 2);
cmc42_neogeo_gfx_decrypt(machine, 0xad);
DRIVER_INIT_CALL(neogeo);
}
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR */ /* YEAR NAME PARENT MACHINE INPUT INIT MONITOR */
@ -7580,7 +7590,7 @@ GAME( 2003, samsho5, neogeo, neogeo, neogeo, samsho5, ROT0, "Yuki Enterp
GAME( 2003, samsho5h, samsho5, neogeo, neogeo, samsho5, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (set 2)", 0 ) GAME( 2003, samsho5h, samsho5, neogeo, neogeo, samsho5, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (set 2)", 0 )
GAME( 2003, samsho5b, samsho5, neogeo, neogeo, samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)", 0 ) // different program scrambling GAME( 2003, samsho5b, samsho5, neogeo, neogeo, samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)", 0 ) // different program scrambling
GAME( 2003, kf2k3pcb, 0, neogeo, neogeo, kf2k3pcb, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB)", 0 ) // not a clone of neogeo because it's NOT a neogeo cart. GAME( 2003, kf2k3pcb, 0, neogeo, neogeo, kf2k3pcb, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB)", 0 ) // not a clone of neogeo because it's NOT a neogeo cart.
GAME( 2003, kof2003, neogeo, neogeo, neogeo, kof2003, ROT0, "SNK Playmore", "The King of Fighters 2003", 0 ) GAME( 2003, kof2003, neogeo, neogeo, neogeo, kof2003, ROT0, "SNK Playmore", "The King of Fighters 2003 (set 1)", 0 )
GAME( 2003, kof2003h, kof2003, neogeo, neogeo, kof2003h, ROT0, "SNK Playmore", "The King of Fighters 2003 (set 2)", 0 ) GAME( 2003, kof2003h, kof2003, neogeo, neogeo, kof2003h, ROT0, "SNK Playmore", "The King of Fighters 2003 (set 2)", 0 )
GAME( 2003, kf2k3bl, kof2003, neogeo, neogeo, kof2003b, ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 1)", 0 ) // zooming is wrong because its a bootleg of the pcb version on a cart (unless it was a bootleg pcb with the new bios?) GAME( 2003, kf2k3bl, kof2003, neogeo, neogeo, kof2003b, ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 1)", 0 ) // zooming is wrong because its a bootleg of the pcb version on a cart (unless it was a bootleg pcb with the new bios?)
GAME( 2003, kf2k3bla, kof2003, neogeo, neogeo, kof2k3pl, ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 2)", 0 ) // zooming is wrong because its a bootleg of the pcb version on a cart GAME( 2003, kf2k3bla, kof2003, neogeo, neogeo, kof2k3pl, ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 2)", 0 ) // zooming is wrong because its a bootleg of the pcb version on a cart

View File

@ -53,7 +53,7 @@ void kof98_decrypt_68k(running_machine *machine);
void kof2002_decrypt_68k(running_machine *machine); void kof2002_decrypt_68k(running_machine *machine);
void matrim_decrypt_68k(running_machine *machine); void matrim_decrypt_68k(running_machine *machine);
void mslug5_decrypt_68k(running_machine *machine); void mslug5_decrypt_68k(running_machine *machine);
void svcchaos_px_decrypt(running_machine *machine); void svc_px_decrypt(running_machine *machine);
void svcpcb_gfx_decrypt(running_machine *machine); void svcpcb_gfx_decrypt(running_machine *machine);
void svcpcb_s1data_decrypt(running_machine *machine); void svcpcb_s1data_decrypt(running_machine *machine);
void samsho5_decrypt_68k(running_machine *machine); void samsho5_decrypt_68k(running_machine *machine);
@ -63,7 +63,7 @@ void kf2k3pcb_decrypt_s1data(running_machine *machine);
void kof2003_decrypt_68k(running_machine *machine); void kof2003_decrypt_68k(running_machine *machine);
void kof2003h_decrypt_68k(running_machine *machine); void kof2003h_decrypt_68k(running_machine *machine);
void kof2003biosdecode(running_machine *machine); void kof2003biosdecode(running_machine *machine);
void samsh5p_decrypt_68k(running_machine *machine); void samsh5sp_decrypt_68k(running_machine *machine);
void neo_pcm2_snk_1999(running_machine *machine, int value); void neo_pcm2_snk_1999(running_machine *machine, int value);
void neo_pcm2_swap(running_machine *machine, int value); void neo_pcm2_swap(running_machine *machine, int value);
@ -117,8 +117,8 @@ void kof2k3pl_px_decrypt(running_machine *machine);
void kof2k3up_px_decrypt(running_machine *machine); void kof2k3up_px_decrypt(running_machine *machine);
void kof2k3up_install_protection(running_machine *machine); void kof2k3up_install_protection(running_machine *machine);
void kf2k3pl_install_protection(running_machine *machine); void kf2k3pl_install_protection(running_machine *machine);
void samsh5bl_px_decrypt(running_machine *machine); void samsho5b_px_decrypt(running_machine *machine);
void samsh5bl_vx_decrypt(running_machine *machine); void samsho5b_vx_decrypt(running_machine *machine);
/*----------- defined in video/neogeo.c -----------*/ /*----------- defined in video/neogeo.c -----------*/

View File

@ -587,7 +587,9 @@ void decrypt_kof2k4se_68k( running_machine *machine )
free(dst); free(dst);
} }
/* Lans2004 (bootleg of Shock Troopers 2) */
/* Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg) */
void lans2004_vx_decrypt( running_machine *machine ) void lans2004_vx_decrypt( running_machine *machine )
{ {
@ -970,9 +972,11 @@ void kof2k3up_install_protection(running_machine *machine)
memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, kof2003_r, kof2003_w ); memory_install_readwrite16_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, kof2003_r, kof2003_w );
} }
/* samsho5bl */
void samsh5bl_px_decrypt( running_machine *machine ) /* Samurai Shodown V / Samurai Spirits Zero (bootleg) */
void samsho5b_px_decrypt( running_machine *machine )
{ {
int px_size = memory_region_length( machine, "main" ); int px_size = memory_region_length( machine, "main" );
UINT8 *rom = memory_region( machine, "main" ); UINT8 *rom = memory_region( machine, "main" );
@ -998,7 +1002,8 @@ void samsh5bl_px_decrypt( running_machine *machine )
free( buf ); free( buf );
} }
void samsh5bl_vx_decrypt( running_machine *machine )
void samsho5b_vx_decrypt( running_machine *machine )
{ {
int vx_size = memory_region_length( machine, "ym" ); int vx_size = memory_region_length( machine, "ym" );
UINT8 *rom = memory_region( machine, "ym" ); UINT8 *rom = memory_region( machine, "ym" );

View File

@ -33,13 +33,13 @@
(see machine/neoprot.c) (see machine/neoprot.c)
kof2002, matrim, samsho5, samsh5p kof2002, matrim, samsho5, samsh5p
- some basic block / bank swapping - some basic block / bank swapping
svcchaos, kof2003, mslug5 svc, kof2003, mslug5
- different scrambling with additional xor - different scrambling with additional xor
NeoGeo 'V' Rom encryption NeoGeo 'V' Rom encryption
NEO-PCM2 chip used on various games NEO-PCM2 chip used on various games
type1 used on pnyaa, rotd, mslug4 type1 used on pnyaa, rotd, mslug4
type2 used on kof2002, matrim, mslug5, svcchaos, type2 used on kof2002, matrim, mslug5, svc,
samsho5, samsh5s, kof2003 samsho5, samsh5s, kof2003
***************************************************************************/ ***************************************************************************/
@ -669,7 +669,7 @@ void cmc50_neogeo_gfx_decrypt(running_machine *machine, int extra_xor)
} }
/* svcchaos has an additional scramble on top of the standard CMC scrambling */ /* svc has an additional scramble on top of the standard CMC scrambling */
void svcpcb_gfx_decrypt(running_machine *machine) void svcpcb_gfx_decrypt(running_machine *machine)
{ {
static const UINT8 xor[ 4 ] = { 0x34, 0x21, 0xc4, 0xe9 }; static const UINT8 xor[ 4 ] = { 0x34, 0x21, 0xc4, 0xe9 };
@ -970,7 +970,7 @@ void kof2000_decrypt_68k(running_machine *machine)
} }
/* kof2002, matrim, samsho5, samsh5p have some simple block swapping */ /* kof2002, matrim, samsho5, samsh5sp have some simple block swapping */
void kof2002_decrypt_68k(running_machine *machine) void kof2002_decrypt_68k(running_machine *machine)
{ {
int i; int i;
@ -1017,7 +1017,7 @@ void samsho5_decrypt_68k(running_machine *machine)
} }
void samsh5p_decrypt_68k(running_machine *machine) void samsh5sp_decrypt_68k(running_machine *machine)
{ {
int i; int i;
static const int sec[]={0x000000,0x080000,0x500000,0x480000,0x600000,0x580000,0x700000,0x280000,0x100000,0x680000,0x400000,0x780000,0x200000,0x380000,0x300000,0x180000}; static const int sec[]={0x000000,0x080000,0x500000,0x480000,0x600000,0x580000,0x700000,0x280000,0x100000,0x680000,0x400000,0x780000,0x200000,0x380000,0x300000,0x180000};
@ -1033,7 +1033,7 @@ void samsh5p_decrypt_68k(running_machine *machine)
} }
/* mslug5, svcchaos, kof2003 have updated P rom scramble */ /* mslug5, svc, kof2003 have updated P rom scramble */
void mslug5_decrypt_68k(running_machine *machine) void mslug5_decrypt_68k(running_machine *machine)
{ {
static const UINT8 xor1[ 0x20 ] = { 0xc2, 0x4b, 0x74, 0xfd, 0x0b, 0x34, 0xeb, 0xd7, 0x10, 0x6d, 0xf9, 0xce, 0x5d, 0xd5, 0x61, 0x29, 0xf5, 0xbe, 0x0d, 0x82, 0x72, 0x45, 0x0f, 0x24, 0xb3, 0x34, 0x1b, 0x99, 0xea, 0x09, 0xf3, 0x03 }; static const UINT8 xor1[ 0x20 ] = { 0xc2, 0x4b, 0x74, 0xfd, 0x0b, 0x34, 0xeb, 0xd7, 0x10, 0x6d, 0xf9, 0xce, 0x5d, 0xd5, 0x61, 0x29, 0xf5, 0xbe, 0x0d, 0x82, 0x72, 0x45, 0x0f, 0x24, 0xb3, 0x34, 0x1b, 0x99, 0xea, 0x09, 0xf3, 0x03 };
@ -1079,7 +1079,7 @@ void mslug5_decrypt_68k(running_machine *machine)
} }
void svcchaos_px_decrypt(running_machine *machine) void svc_px_decrypt(running_machine *machine)
{ {
static const UINT8 xor1[ 0x20 ] = { 0x3b, 0x6a, 0xf7, 0xb7, 0xe8, 0xa9, 0x20, 0x99, 0x9f, 0x39, 0x34, 0x0c, 0xc3, 0x9a, 0xa5, 0xc8, 0xb8, 0x18, 0xce, 0x56, 0x94, 0x44, 0xe3, 0x7a, 0xf7, 0xdd, 0x42, 0xf0, 0x18, 0x60, 0x92, 0x9f }; static const UINT8 xor1[ 0x20 ] = { 0x3b, 0x6a, 0xf7, 0xb7, 0xe8, 0xa9, 0x20, 0x99, 0x9f, 0x39, 0x34, 0x0c, 0xc3, 0x9a, 0xa5, 0xc8, 0xb8, 0x18, 0xce, 0x56, 0x94, 0x44, 0xe3, 0x7a, 0xf7, 0xdd, 0x42, 0xf0, 0x18, 0x60, 0x92, 0x9f };
static const UINT8 xor2[ 0x20 ] = { 0x69, 0x0b, 0x60, 0xd6, 0x4f, 0x01, 0x40, 0x1a, 0x9f, 0x0b, 0xf0, 0x75, 0x58, 0x0e, 0x60, 0xb4, 0x14, 0x04, 0x20, 0xe4, 0xb9, 0x0d, 0x10, 0x89, 0xeb, 0x07, 0x30, 0x90, 0x50, 0x0e, 0x20, 0x26 }; static const UINT8 xor2[ 0x20 ] = { 0x69, 0x0b, 0x60, 0xd6, 0x4f, 0x01, 0x40, 0x1a, 0x9f, 0x0b, 0xf0, 0x75, 0x58, 0x0e, 0x60, 0xb4, 0x14, 0x04, 0x20, 0xe4, 0xb9, 0x0d, 0x10, 0x89, 0xeb, 0x07, 0x30, 0x90, 0x50, 0x0e, 0x20, 0x26 };
@ -1559,4 +1559,5 @@ void neogeo_cmc50_m1_decrypt(running_machine *machine)
} }
#endif #endif
free( buffer );
} }