From e20c6f66729d820ca982681aa47f44adb1b76cc4 Mon Sep 17 00:00:00 2001 From: davidhay Date: Mon, 9 Mar 2009 21:12:00 +0000 Subject: [PATCH] NeoGeo update from Johnboy Submission for Mame 0.129u6 mainline from Johnboy Affected drivers: \mame\src\mame\drivers\neodrvr.c \mame\src\mame\machine\neocrypt.c \mame\src\mame\drivers\neogeo.c Changes: maglordh - Renamed p1 to correct chip label (MichaelNet) Renamed maglordh to maglord (MVS) and maglord to maglordh (AES) whp - Renamed several roms to correct chip label (MichaelNet) kof2001 - Renamed p's to correct chip label; added note (MichaelNet) Added mv1c bios, redump/reverification required Updated documentation (see neogeo.c) cyberlip - Added correct m1 (Guru/Smitdogg) eightman - Removed BAD_DUMP from m1, is correct (Guru/Smitdogg) --- src/mame/drivers/neodrvr.c | 83 ++++++++++++++++--------------- src/mame/drivers/neogeo.c | 98 ++++++++++++++++++++++++++++++++++++- src/mame/machine/neocrypt.c | 5 +- 3 files changed, 143 insertions(+), 43 deletions(-) diff --git a/src/mame/drivers/neodrvr.c b/src/mame/drivers/neodrvr.c index abdc90fb885..481a13ad729 100644 --- a/src/mame/drivers/neodrvr.c +++ b/src/mame/drivers/neodrvr.c @@ -320,9 +320,9 @@ INPUT_PORTS_END ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_BIOS(bios+1)) /* Note '+1' */ #define NEOGEO_BIOS \ - ROM_REGION16_BE( 0x20000, "mainbios", 0 ) \ + ROM_REGION16_BE( 0x80000, "mainbios", 0 ) \ ROM_SYSTEM_BIOS( 0, "euro", "Europe MVS (Ver. 2)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 0, "sp-s2.sp1", 0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543) ) /* Europe, 1 Slot, has also been found on a 4 Slot (the old hacks were designed for this one) */ \ + ROM_LOAD16_WORD_SWAP_BIOS( 0, "sp-s2.sp1", 0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543) ) /* Europe, 1 Slot, has also been found on 2 Slot and 4 Slot (the old hacks were designed for this one) */ \ ROM_SYSTEM_BIOS( 1, "euro-s1", "Europe MVS (Ver. 1)" ) \ ROM_LOAD16_WORD_SWAP_BIOS( 1, "sp-s.sp1", 0x00000, 0x020000, CRC(c7f2fa45) SHA1(09576ff20b4d6b365e78e6a5698ea450262697cd) ) /* Europe, 4 Slot */ \ ROM_SYSTEM_BIOS( 2, "us", "US MVS (Ver. 2?)" ) \ @@ -334,29 +334,31 @@ INPUT_PORTS_END ROM_SYSTEM_BIOS( 5, "japan", "Japan MVS (Ver. 3)" ) \ ROM_LOAD16_WORD_SWAP_BIOS( 5, "vs-bios.rom", 0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* Japan, Ver 6 VS Bios */ \ ROM_SYSTEM_BIOS( 6, "japan-s2", "Japan MVS (Ver. 2)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 6, "sp-j2.rom", 0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \ + ROM_LOAD16_WORD_SWAP_BIOS( 6, "sp-j2.sp1", 0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \ ROM_SYSTEM_BIOS( 7, "japan-s1", "Japan MVS (Ver. 1)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp1.jipan.1024",0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \ - ROM_SYSTEM_BIOS( 8, "uni-bios_2_3","Universe Bios (Hack, Ver. 2.3)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 8, "uni-bios_2_3.rom", 0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \ - ROM_SYSTEM_BIOS( 9, "uni-bios_2_3o","Universe Bios (Hack, Ver. 2.3, older?)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 9, "uni-bios_2_3o.rom", 0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \ - ROM_SYSTEM_BIOS( 10, "uni-bios_2_2","Universe Bios (Hack, Ver. 2.2)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 10, "uni-bios_2_2.rom", 0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \ - ROM_SYSTEM_BIOS( 11, "uni-bios_2_1","Universe Bios (Hack, Ver. 2.1)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 11, "uni-bios_2_1.rom", 0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \ - ROM_SYSTEM_BIOS( 12, "uni-bios_2_0","Universe Bios (Hack, Ver. 2.0)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 12, "uni-bios_2_0.rom", 0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \ - ROM_SYSTEM_BIOS( 13, "uni-bios_1_3","Universe Bios (Hack, Ver. 1.3)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 13, "uni-bios_1_3.rom", 0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \ - ROM_SYSTEM_BIOS( 14, "uni-bios_1_2","Universe Bios (Hack, Ver. 1.2)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 14, "uni-bios_1_2.rom", 0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \ - ROM_SYSTEM_BIOS( 15, "uni-bios_1_2o","Universe Bios (Hack, Ver. 1.2, older)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 15, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \ - ROM_SYSTEM_BIOS( 16, "uni-bios_1_1","Universe Bios (Hack, Ver. 1.1)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 16, "uni-bios_1_1.rom", 0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \ - ROM_SYSTEM_BIOS( 17, "uni-bios_1_0","Universe Bios (Hack, Ver. 1.0)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 17, "uni-bios_1_0.rom", 0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */ \ + ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp1.jipan.1024",0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \ + ROM_SYSTEM_BIOS( 8, "mv1c", "NEO-MVH MV1C" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp-45.sp1",0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* MV1C; redump required */ \ + ROM_SYSTEM_BIOS( 9, "uni-bios_2_3","Universe Bios (Hack, Ver. 2.3)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 9, "uni-bios_2_3.rom", 0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \ + ROM_SYSTEM_BIOS( 10, "uni-bios_2_3o","Universe Bios (Hack, Ver. 2.3, older?)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 10, "uni-bios_2_3o.rom", 0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \ + ROM_SYSTEM_BIOS( 11, "uni-bios_2_2","Universe Bios (Hack, Ver. 2.2)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 11, "uni-bios_2_2.rom", 0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \ + ROM_SYSTEM_BIOS( 12, "uni-bios_2_1","Universe Bios (Hack, Ver. 2.1)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 12, "uni-bios_2_1.rom", 0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \ + ROM_SYSTEM_BIOS( 13, "uni-bios_2_0","Universe Bios (Hack, Ver. 2.0)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 13, "uni-bios_2_0.rom", 0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \ + ROM_SYSTEM_BIOS( 14, "uni-bios_1_3","Universe Bios (Hack, Ver. 1.3)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 14, "uni-bios_1_3.rom", 0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \ + ROM_SYSTEM_BIOS( 15, "uni-bios_1_2","Universe Bios (Hack, Ver. 1.2)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 15, "uni-bios_1_2.rom", 0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \ + ROM_SYSTEM_BIOS( 16, "uni-bios_1_2o","Universe Bios (Hack, Ver. 1.2, older)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 16, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \ + ROM_SYSTEM_BIOS( 17, "uni-bios_1_1","Universe Bios (Hack, Ver. 1.1)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 17, "uni-bios_1_1.rom", 0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \ + ROM_SYSTEM_BIOS( 18, "uni-bios_1_0","Universe Bios (Hack, Ver. 1.0)" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 18, "uni-bios_1_0.rom", 0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */ \ // ROM_SYSTEM_BIOS( 18, "debug", "Debug MVS (Hack?)" ) // ROM_LOAD16_WORD_SWAP_BIOS( 18, "neodebug.rom", 0x00000, 0x020000, CRC(698ebb7d) SHA1(081c49aa8cc7dad5939833dc1b18338321ea0a07) ) /* Debug (Development) Bios */ // ROM_SYSTEM_BIOS(19, "asia-aes", "Asia AES" ) @@ -796,9 +798,9 @@ ROM_START( mahretsu ) ROM_LOAD16_BYTE( "004-c4.bin", 0x100001, 0x80000, CRC(7e81cb29) SHA1(5036f04df30cf6903bd1a8cc06ff6f015c24a74b) ) /* Plane 2,3 */ ROM_END -ROM_START( maglord ) +ROM_START( maglord ) /* MVS VERSION */ ROM_REGION( 0x100000, "maincpu", 0 ) - ROM_LOAD16_WORD_SWAP( "005-p1.bin", 0x000000, 0x080000, CRC(bd0a492d) SHA1(d043d3710cf2b0d2b3798008e65e4c7c3ead1af3) ) + ROM_LOAD16_WORD_SWAP( "005-pg1.bin", 0x000000, 0x080000, CRC(599043c5) SHA1(43f234b0f89b72b4c6050c40d9daa5c4e96b94ce) ) NEO_SFIX_128K( "005-s1.bin", CRC(1c5369a2) SHA1(db0dba0a7dced6c9ca929c5abda491b05d84199c) ) @@ -821,9 +823,9 @@ ROM_START( maglord ) ROM_LOAD16_BYTE( "005-c6.bin", 0x200001, 0x80000, CRC(ab7ac142) SHA1(e6ad2843947d35d8e913d2666f87946c1ba7944f) ) /* Plane 2,3 */ ROM_END -ROM_START( maglordh ) +ROM_START( maglordh ) /* AES VERSION */ ROM_REGION( 0x100000, "maincpu", 0 ) - ROM_LOAD16_WORD_SWAP( "005-p1h.bin", 0x000000, 0x080000, CRC(599043c5) SHA1(43f234b0f89b72b4c6050c40d9daa5c4e96b94ce) ) + ROM_LOAD16_WORD_SWAP( "005-p1.bin", 0x000000, 0x080000, CRC(bd0a492d) SHA1(d043d3710cf2b0d2b3798008e65e4c7c3ead1af3) ) NEO_SFIX_128K( "005-s1.bin", CRC(1c5369a2) SHA1(db0dba0a7dced6c9ca929c5abda491b05d84199c) ) @@ -945,7 +947,7 @@ ROM_START( ncombat ) ROM_LOAD16_BYTE( "009-c6.bin", 0x200001, 0x80000, CRC(2eca8b19) SHA1(16764ef10e404325ba0a1a2ad3a4c0af287be21f) ) /* Plane 2,3 */ ROM_END -ROM_START( ncombath ) /* MBS AND AES VERSION */ +ROM_START( ncombath ) /* MVS AND AES VERSION */ ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_WORD_SWAP( "009-pg1.bin", 0x000000, 0x080000, CRC(8e9f0add) SHA1(d0b908a86a58f2537eea73a431038f1cd74a5a2f) ) @@ -976,7 +978,7 @@ ROM_START( cyberlip ) NEO_SFIX_128K( "010-s1.bin", CRC(79a35264) SHA1(c2819a82adbe1f5e489496e0e03477863a5b7665) ) - NEO_BIOS_AUDIO_64K( "010-m1.bin", BAD_DUMP CRC(47980d3a) SHA1(afd7be531d2ba69400dff5927202446873266c06) ) + NEO_BIOS_AUDIO_128K( "010-m1.bin", CRC(8be3a078) SHA1(054ec6a061fcc88df1ecbb0a01611a31f37a7709) ) ROM_REGION( 0x200000, "ym", 0 ) ROM_LOAD( "010-v11.bin", 0x000000, 0x080000, CRC(90224d22) SHA1(5443ee6f90d80d43194cb4b4f0e08851a59e7784) ) @@ -1331,7 +1333,7 @@ ROM_START( eightman ) NEO_SFIX_128K( "025-s1.bin", CRC(a402202b) SHA1(75c44e1af459af155f5b892fd18706268dd5e602) ) - NEO_BIOS_AUDIO_128K( "025-m1.bin", BAD_DUMP CRC(9927034c) SHA1(205665361c5b2ab4f01ec480dd3c9b69db858d09) ) + NEO_BIOS_AUDIO_128K( "025-m1.bin", CRC(9927034c) SHA1(205665361c5b2ab4f01ec480dd3c9b69db858d09) ) ROM_REGION( 0x200000, "ym", 0 ) ROM_LOAD( "025-v1.bin", 0x000000, 0x100000, CRC(4558558a) SHA1(a4b277703ed67225c652be0d618daeca65a27b88) ) @@ -3073,7 +3075,7 @@ ROM_START( whp ) ROM_REGION( 0x600000, "ym", 0 ) ROM_LOAD( "090-v1.bin", 0x000000, 0x200000, CRC(30cf2709) SHA1(d1845033f16de2470afd3858ee0efb45176d9ed7) ) - ROM_LOAD( "090-v2.bin", 0x200000, 0x200000, CRC(b6527edd) SHA1(2bcf5bfa6e117cf4a3728a5e5f5771313c93f22a) ) + ROM_LOAD( "064-v2.bin", 0x200000, 0x200000, CRC(b6527edd) SHA1(2bcf5bfa6e117cf4a3728a5e5f5771313c93f22a) ) ROM_LOAD( "090-v3.bin", 0x400000, 0x200000, CRC(1908a7ce) SHA1(78f31bcfea33eb94752bbf5226c481baec1af5ac) ) NO_DELTAT_REGION @@ -3081,14 +3083,14 @@ ROM_START( whp ) ROM_REGION( 0x1c00000, "sprites", ROMREGION_DISPOSE ) ROM_LOAD16_BYTE( "090-c1.bin", 0x0000000, 0x400000, CRC(cd30ed9b) SHA1(839c20f7ff31251acc875ae402b5d267e55510c7) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "090-c2.bin", 0x0000001, 0x400000, CRC(10eed5ee) SHA1(12131b1c8c017ea77a98c044b392a5db6aad0143) ) /* Plane 2,3 */ - ROM_LOAD16_BYTE( "090-c3.bin", 0x0800000, 0x200000, CRC(436d1b31) SHA1(059776d77b91377ed0bcfc278802d659c917fc0f) ) /* Plane 0,1 */ - ROM_LOAD16_BYTE( "090-c4.bin", 0x0800001, 0x200000, CRC(f9c8dd26) SHA1(25a9eea1d49b21b4a988beb32c25bf2f7796f227) ) /* Plane 2,3 */ + ROM_LOAD16_BYTE( "064-c3.bin", 0x0800000, 0x200000, CRC(436d1b31) SHA1(059776d77b91377ed0bcfc278802d659c917fc0f) ) /* Plane 0,1 */ + ROM_LOAD16_BYTE( "064-c4.bin", 0x0800001, 0x200000, CRC(f9c8dd26) SHA1(25a9eea1d49b21b4a988beb32c25bf2f7796f227) ) /* Plane 2,3 */ /* 0c00000-0ffffff empty */ - ROM_LOAD16_BYTE( "090-c5.bin", 0x1000000, 0x200000, CRC(8e34a9f4) SHA1(67b839b426ef3fad0a85d951fdd44c0a45c55226) ) /* Plane 0,1 */ - ROM_LOAD16_BYTE( "090-c6.bin", 0x1000001, 0x200000, CRC(a43e4766) SHA1(54f282f2b1ff2934cca7acbb4386a2b99a29df3a) ) /* Plane 2,3 */ + ROM_LOAD16_BYTE( "064-c5.bin", 0x1000000, 0x200000, CRC(8e34a9f4) SHA1(67b839b426ef3fad0a85d951fdd44c0a45c55226) ) /* Plane 0,1 */ + ROM_LOAD16_BYTE( "064-c6.bin", 0x1000001, 0x200000, CRC(a43e4766) SHA1(54f282f2b1ff2934cca7acbb4386a2b99a29df3a) ) /* Plane 2,3 */ /* 1400000-17fffff empty */ - ROM_LOAD16_BYTE( "090-c7.bin", 0x1800000, 0x200000, CRC(59d97215) SHA1(85a960dc7f364df13ee0c2f99a4c53aefb081486) ) /* Plane 0,1 */ - ROM_LOAD16_BYTE( "090-c8.bin", 0x1800001, 0x200000, CRC(fc092367) SHA1(69ff4ae909dd857de3ca8645d63f8b4bde117448) ) /* Plane 2,3 */ + ROM_LOAD16_BYTE( "064-c7.bin", 0x1800000, 0x200000, CRC(59d97215) SHA1(85a960dc7f364df13ee0c2f99a4c53aefb081486) ) /* Plane 0,1 */ + ROM_LOAD16_BYTE( "064-c8.bin", 0x1800001, 0x200000, CRC(fc092367) SHA1(69ff4ae909dd857de3ca8645d63f8b4bde117448) ) /* Plane 2,3 */ ROM_END ROM_START( kabukikl ) @@ -5176,8 +5178,9 @@ ROM_END ROM_START( kof2001 ) /* MVS VERSION */ ROM_REGION( 0x500000, "maincpu", 0 ) - ROM_LOAD16_WORD_SWAP( "262-p1.bin", 0x000000, 0x100000, CRC(9381750d) SHA1(dcfecd69e563ff52fe07d23c5372d0f748b07819) ) - ROM_LOAD16_WORD_SWAP( "262-p2.bin", 0x100000, 0x400000, CRC(8e0d8329) SHA1(10dcc1baf0aaf1fc84c4d856bca6bcff85aed2bc) ) + ROM_LOAD16_WORD_SWAP( "262-p1-08-e0.bin", 0x000000, 0x100000, CRC(9381750d) SHA1(dcfecd69e563ff52fe07d23c5372d0f748b07819) ) + ROM_LOAD16_WORD_SWAP( "262-p2-08-e0.bin", 0x100000, 0x400000, CRC(8e0d8329) SHA1(10dcc1baf0aaf1fc84c4d856bca6bcff85aed2bc) ) + /* The first/early production run sets have proms with above labels. Some later? sets found have eproms instead of proms */ ROM_Y_ZOOM diff --git a/src/mame/drivers/neogeo.c b/src/mame/drivers/neogeo.c index ee8d6aedb79..70779ddab82 100644 --- a/src/mame/drivers/neogeo.c +++ b/src/mame/drivers/neogeo.c @@ -21,7 +21,20 @@ Zsolt Vasvari - Neogeo Motherboard (info - courtesy of Guru): + The arcade version of the Neo-Geo system is called Multi Video System (MVS). + It is a cartridge based system. + MVS hardware was produced in 1 / 2 / 4 and 6 Slot versions. + + Known hardware (incomplete): + ============================ + + 1 Slot: MV1 / MV1A / MV1B (MV1B CHX) / MV1C / MV1F (MV1FT / MV1FS) / MV1FZ + 2 Slot: MV2F / MV2F-01 + 4 Slot: MV4F / MV4FS + 6 Slot: MV6F + + + Neo-Geo Motherboard (info - courtesy of Guru): NEO-MVH MV1 |---------------------------------------------------------------------| @@ -55,7 +68,88 @@ |---------------------------------------------------------------------| - Known issues/to-do's: + MVS cart pinout + =============== + + kindly submitted by Apollo69 (apollo69@columbus.rr.com) + ================================================================= + CTRG1 CTRG2 + ================================================================= + GND = 01A | 01B = GND GND = 01A | 01B = GND + GND = 02A | 02B = GND GND = 02A | 02B = GND + P0 = 03A | 03B = P1 GND = 03A | 03B = GND + P2 = 04A | 04B = P3 GND = 04A | 04B = GND + P4 = 05A | 05B = P5 D0 = 05A | 05B = A1 + P6 = 06A | 06B = P7 D1 = 06A | 06B = A2 + P8 = 07A | 07B = P9 D2 = 07A | 07B = A3 + P10 = 08A | 08B = P11 D3 = 08A | 08B = A4 + P12 = 09A | 09B = P13 D4 = 09A | 09B = A5 + P14 = 10A | 10B = P15 D5 = 10A | 10B = A6 + P16 = 11A | 11B = P17 D6 = 11A | 11B = A7 + P18 = 12A | 12B = P19 D7 = 12A | 12B = A8 + P20 = 13A | 13B = P21 D8 = 13A | 13B = A9 + P22 = 14A | 14B = P23 D9 = 14A | 14B = A10 + PCK1B = 15A | 15B = 24M D10 = 15A | 15B = A11 + PCK2B = 16A | 16B = 12M D11 = 16A | 16B = A12 + 2H1 = 17A | 17B = 8M D12 = 17A | 17B = A13 + CA4 = 18A | 18B = RESET D13 = 18A | 18B = A14 + CR0 = 19A | 19B = CR1 D14 = 19A | 19B = A15 + CR2 = 20A | 20B = CR3 D15 = 20A | 20B = A16 + CR4 = 21A | 21B = CR5 R/W = 21A | 21B = A17 + CR6 = 22A | 22B = CR7 AS = 22A | 22B = A18 + CR8 = 23A | 23B = CR9 ROMOEU = 23A | 23B = A19 + CR10 = 24A | 24B = CR11 ROMOEL = 24A | 24B = 68KCLKB + CR12 = 25A | 25B = CR13 PORTOEU = 25A | 25B = ROMWAIT + CR14 = 26A | 26B = CR15 PORTOEL = 26A | 26B = PWAIT0 + CR16 = 27A | 27B = CR17 PORTWEU = 27A | 27B = PWAIT1 + CR18 = 28A | 28B = CR19 PORTWEL = 28A | 28B = PDTACT + VCC = 29A | 29B = VCC VCC = 29A | 29B = VCC + VCC = 30A | 30B = VCC VCC = 30A | 30B = VCC + VCC = 31A | 31B = VCC VCC = 31A | 31B = VCC + VCC = 32A | 32B = VCC VCC = 32A | 32B = VCC + CR20 = 33A | 33B = CR21 PORTADRS = 33A | 33B = 4MB + CR22 = 34A | 34B = CR23 NC = 34A | 34B = ROMOE + CR24 = 35A | 35B = CR25 NC = 35A | 35B = RESET + CR26 = 36A | 36B = CR27 NC = 36A | 36B = NC + CR28 = 37A | 37B = CR29 NC = 37A | 37B = NC + CR30 = 38A | 38B = CR31 NC = 38A | 38B = NC + NC = 39A | 39B = FIX00 NC = 39A | 39B = NC + NC = 40A | 40B = FIX01 NC = 40A | 40B = NC + NC = 41A | 41B = FIX02 NC = 41A | 41B = SDPAD0 + SYSTEMB = 42A | 42B = FIX03 SYSTEMB = 42A | 42B = SDPAD1 + SDA0 = 43A | 43B = FIX04 SDPA8 = 43A | 43B = SDPAD2 + SDA1 = 44A | 44B = FIX05 SDPA9 = 44A | 44B = SDPAD3 + SDA2 = 45A | 45B = FIX06 SDPA10 = 45A | 45B = SDPAD4 + SDA3 = 46A | 46B = FIX07 SDPA11 = 46A | 46B = SDPAD5 + SDA4 = 47A | 47B = SDRD0 SDPMPX = 47A | 47B = SDPAD6 + SDA5 = 48A | 48B = SDRD1 SDPOE = 48A | 48B = SDPAD7 + SDA6 = 49A | 49B = SDROM SDRA8 = 49A | 49B = SDRA00 + SDA7 = 50A | 50B = SDMRD SDRA9 = 50A | 50B = SDRA01 + SDA8 = 51A | 51B = SDDO SDRA20 = 51A | 51B = SDRA02 + SDA9 = 52A | 52B = SDD1 SDRA21 = 52A | 52B = SDRA03 + SDA10 = 53A | 53B = SDD2 SDRA22 = 53A | 53B = SDRA04 + SDA11 = 54A | 54B = SDD3 SDRA23 = 54A | 54B = SDRA05 + SDA12 = 55A | 55B = SDD4 SDRMPX = 55A | 55B = SDRA06 + SDA13 = 56A | 56B = SDD5 SDROE = 56A | 56B = SDRA07 + SDA14 = 57A | 57B = SDD6 GND = 57A | 57B = GND + SDA15 = 58A | 58B = SDD7 GND = 58A | 58B = GND + GND = 59A | 59B = GND GND = 59A | 59B = GND + GND = 60A | 60B = GND GND = 60A | 60B = GND + + CTRG1 (CHA) = Contains gfx data ('C' - rom), text layer data ('S' - rom) and sound driver ('M' - rom) + CTRG2 (PROG) = Contains sample data ('V' - rom) and program code ('P' - rom) + +NOTE: On CTRG2-B, The "A" lines start at "A1". If you trace this on an + actual cart, you will see that this is actually "A0" (A0 - A18). + + These are from a very hard to read copy of the schematics, so + I hope that I got the pin names correct. + + Apollo69 10/19/99 + + + Known driver issues/to-do's: + ============================ * Fatal Fury 3 crashes during the ending - this doesn't occur if the language is set to Japanese, maybe the English endings diff --git a/src/mame/machine/neocrypt.c b/src/mame/machine/neocrypt.c index 2b2e6654b8a..cb2c141cc7e 100644 --- a/src/mame/machine/neocrypt.c +++ b/src/mame/machine/neocrypt.c @@ -15,8 +15,10 @@ Also contains 'S' (Text Layer) data on these games M1 (Z80) rom is also encrypted for CMC50 - the M1 roms contain some additional data at 0xf800. Some of this + The M1 roms contain some additional data at 0xf800. Some of this is said to be related to the C rom encryption. + If CMC50 is used, data located at 0xff00 - 0xffff is required for + m1 encryption checksum?. Later games use additional basic scrambling on top of the standard CMC scramble. @@ -1409,6 +1411,7 @@ void kof2003_decrypt_68k(running_machine *machine) } +// Thanks to IQ_132 for the info void kof2003h_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 };