From 451f4dba7abfb015920e74f78a47aa0d27c98a05 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Tue, 8 Feb 2011 23:38:20 +0000 Subject: [PATCH] new clone --------- Double Dribble (prototype?) [Smitdogg, The Dumping Union] Tetris Plus 2 (Japan, V2.1) [Yohji, Smitdogg, The Dumping Union] Violent Storm (ver AAB) [Denis Lechevalier] Black Tiger (older) [David Raingeard] (Plus implemented some features for nprsp, not worth) --- src/mame/drivers/blktiger.c | 37 +++++++++++++++++ src/mame/drivers/ddribble.c | 37 ++++++++++++++++- src/mame/drivers/mystwarr.c | 37 +++++++++++++++++ src/mame/drivers/neoprint.c | 82 ++++++++++++++++++++++++++++++------- src/mame/drivers/tetrisp2.c | 40 ++++++++++++++---- src/mame/mamedriv.c | 4 ++ 6 files changed, 215 insertions(+), 22 deletions(-) diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c index 370ff950420..54fa14d407b 100644 --- a/src/mame/drivers/blktiger.c +++ b/src/mame/drivers/blktiger.c @@ -413,6 +413,42 @@ ROM_START( blktiger ) ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) ) ROM_END +ROM_START( blktigera ) + ROM_REGION( 0x50000, "maincpu", 0 ) /* 64k for code + banked ROMs images */ + ROM_LOAD( "bdu-01.5e", 0x00000, 0x08000, CRC(47b13922) SHA1(a722048d48171b68119b7ef1af6e06953c238ad6) ) /* CODE */ + ROM_LOAD( "bdu-02.6e", 0x10000, 0x10000, CRC(2e0daf1b) SHA1(dbcaf2bb1b2c9cd4b2ca1d52b81d6e33b5c7eee9) ) /* 0+1 */ + ROM_LOAD( "bdu-03.8e", 0x20000, 0x10000, CRC(3b67dfec) SHA1(f9d83f2bb1fbf05d80f6870d91411e9b7bbea917) ) /* 2+3 */ + ROM_LOAD( "bd-04.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */ + ROM_LOAD( "bd-05.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */ + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) ) + + ROM_REGION( 0x10000, "mcu", 0 ) + ROM_LOAD( "bd.6k", 0x0000, 0x1000, CRC(ac7d14f1) SHA1(46fd6b43f10312e3e8d3c9e0c0fd616af98fdbad) ) + + ROM_REGION( 0x08000, "gfx1", 0 ) + ROM_LOAD( "bd-15.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */ + + ROM_REGION( 0x40000, "gfx2", 0 ) + ROM_LOAD( "bd-12.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */ + ROM_LOAD( "bd-11.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) ) + ROM_LOAD( "bd-14.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) ) + ROM_LOAD( "bd-13.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) ) + + ROM_REGION( 0x40000, "gfx3", 0 ) + ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */ + ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) ) + ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) ) + ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) ) + + ROM_REGION( 0x0400, "proms", 0 ) /* PROMs (function unknown) */ + ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) ) + ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) ) + ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) ) + ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) ) +ROM_END + ROM_START( blktigerb1 ) ROM_REGION( 0x50000, "maincpu", 0 ) /* 64k for code + banked ROMs images */ ROM_LOAD( "btiger1.f6", 0x00000, 0x08000, CRC(9d8464e8) SHA1(c847ee9a22b8b636e85427214747e6bd779023e8) ) /* CODE */ @@ -550,6 +586,7 @@ ROM_END GAME( 1987, blktiger, 0, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger", GAME_SUPPORTS_SAVE ) +GAME( 1987, blktigera, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger (older)", GAME_SUPPORTS_SAVE ) GAME( 1987, blktigerb1, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 1)", GAME_SUPPORTS_SAVE ) GAME( 1987, blktigerb2, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 2)", GAME_SUPPORTS_SAVE ) GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/ddribble.c b/src/mame/drivers/ddribble.c index a6ef20c94d7..b2be06ffd3a 100644 --- a/src/mame/drivers/ddribble.c +++ b/src/mame/drivers/ddribble.c @@ -372,5 +372,40 @@ ROM_START( ddribble ) ROM_LOAD( "pal10l8-007553.bin", 0x0000, 0x002c, CRC(0ae5a161) SHA1(87571addf434b332019ea0e22372eb24b4fd0197) ) ROM_END +ROM_START( ddribblep ) + ROM_REGION( 0x1a000, "maincpu", 0 ) /* 64K CPU #0 + 40K for Banked ROMS */ + ROM_LOAD( "ebs_11-19.c19", 0x10000, 0x0a000, CRC(0a81c926) SHA1(1ecd30f0d352cf6c96d246bb443b5a6738624b9b) ) + ROM_CONTINUE( 0x0a000, 0x06000 ) -GAME( 1986, ddribble, 0, ddribble, ddribble, 0, ROT0, "Konami", "Double Dribble", GAME_SUPPORTS_SAVE ) + ROM_REGION( 0x10000, "cpu1", 0 ) /* 64 for the CPU #1 */ + ROM_LOAD( "eb_11-19.c12", 0x08000, 0x08000, CRC(22130292) SHA1(a5f9bf3f63ff85d171f096867433513419458b0e) ) + + ROM_REGION( 0x10000, "cpu2", 0 ) /* 64k for the SOUND CPU */ + ROM_LOAD( "master_sound.a6", 0x08000, 0x08000, CRC(090e3a31) SHA1(4c645b55d52abb859354ea2ea401e4ab99f5d493) ) + + ROM_REGION( 0x40000, "gfx1", 0 ) /* same content as parent */ + ROM_LOAD16_BYTE( "v1a.e12", 0x00000, 0x10000, CRC(53724765) SHA1(55a45ab71f7bf55ed805d4dc2345cadc4171f323) ) /* characters & objects */ + ROM_LOAD16_BYTE( "01a.e11", 0x20000, 0x10000, CRC(1ae5d725) SHA1(d8dd41cc1872c6d218cc425d1cd03f8d8eefe3e3) ) /* characters & objects */ + ROM_LOAD16_BYTE( "v1b.e13", 0x00001, 0x10000, CRC(d9dc6f1a) SHA1(f50169525c5109ba65acdccbb01dddb92926462a) ) + ROM_LOAD16_BYTE( "01b.d14", 0x20001, 0x10000, CRC(054c5242) SHA1(411389e36d33fd27e13ffc6a7d4b295a42f08869) ) + + ROM_REGION( 0x80000, "gfx2", 0 ) /* same content as parent */ + ROM_LOAD16_BYTE( "v2a00.i13", 0x00000, 0x10000, CRC(a33f7d6d) SHA1(c2b9a9a66e4712785250cad69a5e43338af60a82) ) /* characters */ + ROM_LOAD16_BYTE( "v2a10.h13", 0x20000, 0x10000, CRC(8fbc7454) SHA1(93782d148afe64b14fa46deb4d227ef167030c94) ) /* characters */ + ROM_LOAD16_BYTE( "v2b00.i12", 0x00001, 0x10000, CRC(e63759bb) SHA1(df7e94f40266aa8995509346cdfdce08a885de16) ) + ROM_LOAD16_BYTE( "v2b10.h12", 0x20001, 0x10000, CRC(8a7d4062) SHA1(5b5eb4edc765f0e13e22f9de62ddae7380ba3790) ) + ROM_LOAD16_BYTE( "02a00.i11", 0x40000, 0x10000, CRC(6751a942) SHA1(a71c9cbbf1fba92664144d571d49cf2c15f45408) ) /* objects */ + ROM_LOAD16_BYTE( "02a10.h11", 0x60000, 0x10000, CRC(bc5ff11c) SHA1(b02296982298e1a659ce05606b291eda9a605cc8) ) /* objects */ + ROM_LOAD16_BYTE( "02b00_11-4.i8.bin", 0x40001, 0x10000, CRC(460aa7b4) SHA1(9e928d6150e7a91d411c0510198e80d523a88272) ) + ROM_LOAD16_BYTE( "02b10.h8", 0x60001, 0x10000, CRC(2cc7ee28) SHA1(c96890383dbef755953f851a43449cf563e2e1a5) ) + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "6301-1.i15", 0x0000, 0x0100, CRC(f34617ad) SHA1(79ceba6fe204472a5a659641ac4f14bb1f0ee3f6) ) /* sprite lookup table */ + + ROM_REGION( 0x20000, "vlm", 0 ) /* same content as parent */ /* 128k for the VLM5030 data */ + ROM_LOAD( "voice_00.e7", 0x00000, 0x10000, CRC(8bd0fcf7) SHA1(d55644f8b33eff6f960725f00ba842e0253e3b36) ) + ROM_LOAD( "voice_10.d7", 0x10000, 0x10000, CRC(b4c97494) SHA1(93f7c3c93f6f790c3f480e183da0105b5ac3593b) ) +ROM_END + +GAME( 1986, ddribble, 0, ddribble, ddribble, 0, ROT0, "Konami", "Double Dribble", GAME_SUPPORTS_SAVE ) +GAME( 1986, ddribblep, ddribble, ddribble, ddribble, 0, ROT0, "Konami", "Double Dribble (prototype?)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c index c4574dfe8c4..ab489808c07 100644 --- a/src/mame/drivers/mystwarr.c +++ b/src/mame/drivers/mystwarr.c @@ -1397,6 +1397,42 @@ ROM_START( viostorma ) ROM_LOAD( "viostorma.nv", 0x0000, 0x080, CRC(2cfbf966) SHA1(fb9c4a47bac20a7f820a1fa178fc9f9079101cb8) ) ROM_END +ROM_START( viostormab ) + /* main program */ + ROM_REGION( 0x200000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "168aab02.15h", 0x000001, 0x80000, CRC(14f78423) SHA1(13a44e13b9dc1e31e8268485cded3385a84e3482) ) + ROM_LOAD16_BYTE( "168aab01.15f", 0x000000, 0x80000, CRC(3dd1cc83) SHA1(f0d289912994a5dbfc0711fe9aa0a2969f7f8d8e) ) + + /* sound program */ + ROM_REGION( 0x030000, "soundcpu", 0 ) + ROM_LOAD("168a05.7c", 0x000000, 0x020000, CRC(507fb3eb) SHA1(a4f676e3caaafe86918c76ded08d0c202969adf6) ) + ROM_RELOAD( 0x010000, 0x020000 ) + + /* tiles */ + ROM_REGION( 0x600000, "gfx1", ROMREGION_ERASE00 ) + ROM_LOADTILE_WORD( "168a09.1h", 0x000000, 2*1024*1024, CRC(1b34a881) SHA1(5de20f7ee7f90d4f6dea349ca5000bfcf74253b1) ) + ROM_LOADTILE_WORD( "168a08.1k", 0x000002, 2*1024*1024, CRC(db0ce743) SHA1(dfe24a1e3e72da188a92668928e79afd6c5d22ee) ) + + /* sprites */ + ROM_REGION( 0x800000, "gfx2", ROMREGION_ERASE00 ) + ROM_LOAD64_WORD( "168a10.22k", 0x000000, 2*1024*1024, CRC(bd2bbdea) SHA1(54faf2ded16e66d675bbbec4ebd42b4708edfaef) ) + ROM_LOAD64_WORD( "168a11.19k", 0x000002, 2*1024*1024, CRC(7a57c9e7) SHA1(8763c310f7b515aef52d4e007bc949e8803690f4) ) + ROM_LOAD64_WORD( "168a12.20k", 0x000004, 2*1024*1024, CRC(b6b1c4ef) SHA1(064ab4db884c8f98ab9e631b7034996d4b92ab7b) ) + ROM_LOAD64_WORD( "168a13.17k", 0x000006, 2*1024*1024, CRC(cdec3650) SHA1(949bc06bb38a2d5315ee4f6db19e043655b90e6e) ) + + /* road generator */ + ROM_REGION( 0x40000, "gfx3", ROMREGION_ERASE00 ) + + /* sound data */ + ROM_REGION( 0x400000, "shared", 0 ) + ROM_LOAD( "168a06.1c", 0x000000, 2*1024*1024, CRC(25404fd7) SHA1(282cf523728b38d0bf14d765dd7257aa1fb2af39) ) + ROM_LOAD( "168a07.1e", 0x200000, 2*1024*1024, CRC(fdbbf8cc) SHA1(a8adf72a25fe2b9c4c338350d02c92deb5f8c8e9) ) + + ROM_REGION( 0x80, "eeprom", 0 ) // default eeprom to prevent game booting upside down with error + ROM_LOAD( "viostormab.nv", 0x0000, 0x080, CRC(38ffce43) SHA1(f0666198562ae7c07c8f805088e882a10c79bcf3) ) +ROM_END + + ROM_START( viostormj ) /* main program */ ROM_REGION( 0x200000, "maincpu", 0 ) @@ -1991,6 +2027,7 @@ GAME( 1993, viostormu, viostorm, viostorm, viostorm, 0, ROT0, "Konami", GAME( 1993, viostormub,viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver UAB)", GAME_IMPERFECT_GRAPHICS ) GAME( 1993, viostormj, viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver JAC)", GAME_IMPERFECT_GRAPHICS ) GAME( 1993, viostorma, viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver AAC)", GAME_IMPERFECT_GRAPHICS ) +GAME( 1993, viostormab, viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver AAB)", GAME_IMPERFECT_GRAPHICS ) GAME( 1993, metamrph, 0, metamrph, metamrph, metamrph, ROT0, "Konami", "Metamorphic Force (ver EAA)", GAME_IMPERFECT_GRAPHICS ) GAME( 1993, metamrphu, metamrph, metamrph, metamrph, metamrph, ROT0, "Konami", "Metamorphic Force (ver UAA)", GAME_IMPERFECT_GRAPHICS ) diff --git a/src/mame/drivers/neoprint.c b/src/mame/drivers/neoprint.c index 62f4898ceea..83eee71b56a 100644 --- a/src/mame/drivers/neoprint.c +++ b/src/mame/drivers/neoprint.c @@ -27,6 +27,7 @@ static UINT16* npvidram; static UINT16* npvidregs; static UINT8 audio_result; +static UINT8 bank_val; VIDEO_START(neoprint) { @@ -48,8 +49,8 @@ static void draw_layer(running_machine *machine, bitmap_t *bitmap,const rectangl const gfx_element *gfx = machine->gfx[0]; INT16 scrollx, scrolly; - i = (npvidregs[((layer*8)+0x06)/2] & 3) * 0x1000/4; - scrollx = ((npvidregs[((layer*8)+0x00)/2] - 0xd8) & 0x03ff); + i = (npvidregs[((layer*8)+0x06)/2] & 7) * 0x1000/4; + scrollx = ((npvidregs[((layer*8)+0x00)/2] - (0xd8 + layer*4)) & 0x03ff); scrolly = ((npvidregs[((layer*8)+0x02)/2] - 0xffeb) & 0x03ff); scrollx/=2; @@ -60,7 +61,11 @@ static void draw_layer(running_machine *machine, bitmap_t *bitmap,const rectangl for (x=0;x<32;x++) { UINT16 dat = npvidram[i*2] >> data_shift; // a video register? - UINT16 color = ((npvidram[i*2+1] & 0xff00) >> 8); + UINT16 color; + if(npvidram[i*2+1] & 0x0020) // TODO: 8bpp switch? + color = ((npvidram[i*2+1] & 0x8000) << 1) | 0x200 | ((npvidram[i*2+1] & 0xff00) >> 7); + else + color = ((npvidram[i*2+1] & 0xff00) >> 8) | ((npvidram[i*2+1] & 0x0010) << 4); UINT8 fx = (npvidram[i*2+1] & 0x0040); UINT8 fy = (npvidram[i*2+1] & 0x0080); @@ -90,6 +95,7 @@ VIDEO_UPDATE(nprsp) bitmap_fill(bitmap, cliprect, 0); draw_layer(screen->machine,bitmap,cliprect,1,0); + draw_layer(screen->machine,bitmap,cliprect,2,0); draw_layer(screen->machine,bitmap,cliprect,0,0); return 0; @@ -216,16 +222,47 @@ static WRITE16_HANDLER( nprsp_palette_w ) g |= i; b |= i; - palette_set_color(space->machine, (offset/2), MAKE_RGB(r,g,b)); + /* hack: bypass MAME 65536 palette entries limit */ + if(offset & 0x10000) + return; + + { + UINT32 pal_entry; + + pal_entry = ((offset & 0xfffe) >> 1) + ((offset & 0x20000) ? 0x8000 : 0); + + palette_set_color(space->machine, pal_entry, MAKE_RGB(r,g,b)); + } +} + +static WRITE8_HANDLER( nprsp_bank_w ) +{ + /* this register seems flip-flop based ... */ + + if((data & 0xf0) == 0x20) + { + if((data & 0xf) == 0x1) + bank_val = 1; + if((data & 0xf) == 0x2) + bank_val = 0; + } +} + +static READ16_HANDLER( rom_window_r ) +{ + UINT16 *rom = (UINT16 *)space->machine->region("maincpu")->base(); + + return rom[offset | 0x80000/2 | bank_val*0x40000/2]; } static ADDRESS_MAP_START( nprsp_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM + AM_RANGE(0x000000, 0x07ffff) AM_ROM + AM_RANGE(0x080000, 0x0fffff) AM_READ(rom_window_r) AM_RANGE(0x200000, 0x200001) AM_READWRITE(neoprint_audio_result_r,audio_command_w) AM_RANGE(0x200002, 0x200003) AM_READWRITE(neoprint_calendar_r,neoprint_calendar_w) AM_RANGE(0x200004, 0x200005) AM_READ_PORT("SYSTEM") AM_WRITENOP AM_RANGE(0x200006, 0x200007) AM_READ_PORT("IN") AM_WRITENOP - AM_RANGE(0x200008, 0x200009) AM_READ_PORT("DSW1") + AM_RANGE(0x200008, 0x200009) AM_READ_PORT("DSW1") AM_WRITE8(nprsp_bank_w,0xff00) AM_RANGE(0x20000a, 0x20000b) AM_READ8(neoprint_unk_r,0xff00) AM_RANGE(0x20000c, 0x20000d) AM_READ_PORT("DSW2") AM_RANGE(0x20000e, 0x20000f) AM_WRITENOP @@ -236,9 +273,7 @@ static ADDRESS_MAP_START( nprsp_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x300000, 0x33ffff) AM_RAM AM_SHARE("nvram") AM_RANGE(0x380000, 0x38ffff) AM_RAM AM_RANGE(0x400000, 0x43ffff) AM_RAM AM_BASE(&npvidram) - AM_RANGE(0x500000, 0x51ffff) AM_RAM_WRITE(nprsp_palette_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x520000, 0x57ffff) AM_RAM //more paletteram? - + AM_RANGE(0x500000, 0x57ffff) AM_RAM_WRITE(nprsp_palette_w) AM_BASE_GENERIC(paletteram) ADDRESS_MAP_END /************************************* @@ -406,7 +441,7 @@ static const ym2610_interface ym2610_config = static MACHINE_CONFIG_START( neoprint, neoprint_state ) MCFG_CPU_ADD("maincpu", M68000, 12000000) MCFG_CPU_PROGRAM_MAP(neoprint_map) - MCFG_CPU_PERIODIC_INT(irq3_line_hold,45) /* camera / printer irq, unknown timing */ +// MCFG_CPU_PERIODIC_INT(irq3_line_hold,45) /* camera / printer irq, unknown timing */ MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) // lv1,2,3 valid? MCFG_CPU_ADD("audiocpu", Z80, 4000000) @@ -440,10 +475,15 @@ static MACHINE_CONFIG_START( neoprint, neoprint_state ) MCFG_SOUND_ROUTE(2, "rspeaker", 1.0) MACHINE_CONFIG_END +static MACHINE_RESET( nprsp ) +{ + bank_val = 0; +} + static MACHINE_CONFIG_START( nprsp, neoprint_state ) MCFG_CPU_ADD("maincpu", M68000, 12000000) MCFG_CPU_PROGRAM_MAP(nprsp_map) - MCFG_CPU_PERIODIC_INT(irq3_line_hold,45) /* camera / printer irq, unknown timing */ +// MCFG_CPU_PERIODIC_INT(irq3_line_hold,45) /* camera / printer irq, unknown timing */ MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) // lv1,2,3 valid? MCFG_CPU_ADD("audiocpu", Z80, 4000000) @@ -462,6 +502,8 @@ static MACHINE_CONFIG_START( nprsp, neoprint_state ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1) + MCFG_MACHINE_RESET(nprsp) + MCFG_PALETTE_LENGTH(0x10000) MCFG_VIDEO_START(neoprint) @@ -517,8 +559,8 @@ ROM_END ROM_START( nprsp ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD16_WORD_SWAP( "s038a-ep1.bin", 0x000000, 0x080000, CRC(529fb4fa) SHA1(f31ba8998bb01458f43df1934222995f22d590a1) ) - ROM_LOAD16_WORD_SWAP( "s046-ep2.bin", 0x080000, 0x080000, CRC(846ae929) SHA1(e5544cde32794865e17d7dffd4e603ad5418d91e) ) + ROM_LOAD16_WORD_SWAP( "s038a-ep1.bin", 0x000000, 0x080000, CRC(529fb4fa) SHA1(f31ba8998bb01458f43df1934222995f22d590a1) ) // program ROM + ROM_LOAD16_WORD_SWAP( "s046-ep2.bin", 0x080000, 0x080000, CRC(846ae929) SHA1(e5544cde32794865e17d7dffd4e603ad5418d91e) ) // data ROM ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 program */ ROM_LOAD( "s046-m1", 0x00000, 0x20000, BAD_DUMP CRC(6d77cdaa) SHA1(f88a93b3085b18b6663b4e51fccaa41958aafae1) ) @@ -550,6 +592,18 @@ static DRIVER_INIT( 98best44 ) ROM[0x1312/2] = 0x4e71; } +static DRIVER_INIT( nprsp ) +{ + UINT16 *ROM = (UINT16 *)machine->region( "maincpu" )->base(); + + ROM[0x13a4/2] = 0x4e71; + ROM[0x13bc/2] = 0x4e71; + ROM[0x140c/2] = 0x4e71; + + ROM[0x4832/2] = 0x4e71; //ROM checksum + ROM[0x4834/2] = 0x4e71; +} + GAME( 1996, npcartv1, 0, neoprint, neoprint, npcartv1, ROT0, "SNK", "Neo Print V1 (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) GAME( 1998, 98best44, 0, neoprint, neoprint, 98best44, ROT0, "SNK", "Neo Print - '98 NeoPri Best 44 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) -GAME( 1996, nprsp, 0, nprsp, neoprint, 0, ROT0, "SNK", "NeopriSP Retro Collection (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) +GAME( 1996, nprsp, 0, nprsp, neoprint, nprsp, ROT0, "SNK", "NeopriSP Retro Collection (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c index efacdc9788b..c0b35274daf 100644 --- a/src/mame/drivers/tetrisp2.c +++ b/src/mame/drivers/tetrisp2.c @@ -648,7 +648,9 @@ static INPUT_PORTS_START( tetrisp2j ) PORT_DIPNAME( 0x0080, 0x0080, "Unknown 1-8" ) PORT_DIPLOCATION("SW1:8") /* Test Mode in "World" set */ PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPUNUSED_DIPLOC( 0x0800, 0x0010, "SW2:4" ) /* Language Select in "World" set */ + PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:4") + PORT_DIPSETTING( 0x0800, DEF_STR( Japanese ) ) + PORT_DIPSETTING( 0x0000, "English (buggy, breaks game)" ) PORT_DIPNAME( 0x1000, 0x1000, "Unknown 2-5" ) PORT_DIPLOCATION("SW2:5") /* F.B.I. Logo in "World" set */ PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -1317,8 +1319,8 @@ Japan Set: ROM_START( tetrisp2 ) /* Version 2.8 */ ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ - ROM_LOAD16_BYTE( "tet2_4_ver2.8.ic65", 0x000000, 0x080000, CRC(e67f9c51) SHA1(d8b2937699d648267b163c7c3f591426877f3701) ) - ROM_LOAD16_BYTE( "tet2_1_ver2.8.ic59", 0x000001, 0x080000, CRC(5020a4ed) SHA1(9c0f02fe3700761771ac026a2e375144e86e5eb7) ) + ROM_LOAD16_BYTE( "tet2_4_ver2.8.ic59", 0x000000, 0x080000, CRC(e67f9c51) SHA1(d8b2937699d648267b163c7c3f591426877f3701) ) + ROM_LOAD16_BYTE( "tet2_1_ver2.8.ic65", 0x000001, 0x080000, CRC(5020a4ed) SHA1(9c0f02fe3700761771ac026a2e375144e86e5eb7) ) ROM_REGION( 0x800000, "gfx1", 0 ) /* 8x8x8 (Sprites) */ ROM_LOAD32_WORD( "96019-01.9", 0x000000, 0x400000, CRC(06f7dc64) SHA1(722c51b707b9854c0293afdff18b27ec7cae6719) ) @@ -1343,8 +1345,31 @@ ROM_END ROM_START( tetrisp2j ) /* Version 2.2 */ ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ - ROM_LOAD16_BYTE( "tet2_4_ver2.2.ic65", 0x000000, 0x080000, CRC(5bfa32c8) SHA1(55fb2872695fcfbad13f5c0723302e72da69e44a) ) - ROM_LOAD16_BYTE( "tet2_1_ver2.2.ic59", 0x000001, 0x080000, CRC(919116d0) SHA1(3e1c0fd4c9175b2900a4717fbb9e8b591c5f534d) ) + ROM_LOAD16_BYTE( "tet2_4_ver2.2.ic59", 0x000000, 0x080000, CRC(5bfa32c8) SHA1(55fb2872695fcfbad13f5c0723302e72da69e44a) ) + ROM_LOAD16_BYTE( "tet2_1_ver2.2.ic65", 0x000001, 0x080000, CRC(919116d0) SHA1(3e1c0fd4c9175b2900a4717fbb9e8b591c5f534d) ) + + ROM_REGION( 0x800000, "gfx1", 0 ) /* 8x8x8 (Sprites) */ + ROM_LOAD32_WORD( "96019-01.9", 0x000000, 0x400000, CRC(06f7dc64) SHA1(722c51b707b9854c0293afdff18b27ec7cae6719) ) + ROM_LOAD32_WORD( "96019-02.8", 0x000002, 0x400000, CRC(3e613bed) SHA1(038b5e43fa3d69654107c8093126eeb2e8fa4ddc) ) + + ROM_REGION( 0x400000, "gfx2", 0 ) /* 16x16x8 (Background) */ + ROM_LOAD( "96019-06.13", 0x000000, 0x400000, CRC(16f7093c) SHA1(2be77c6a692c5d762f5553ae24e8c415ab194cc6) ) + + ROM_REGION( 0x100000, "gfx3", 0 ) /* 16x16x8 (Rotation) */ + ROM_LOAD( "96019-04.6", 0x000000, 0x100000, CRC(b849dec9) SHA1(fa7ac00fbe587a74c3fb8c74a0f91f7afeb8682f) ) + + ROM_REGION( 0x080000, "gfx4", 0 ) /* 8x8x8 (Foreground) */ + ROM_LOAD( "tetp2-10.ic27", 0x000000, 0x080000, CRC(34dd1bad) SHA1(9bdf1dde11f82839676400de5dd7acb06ea8cdb2) ) // 11111xxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ + ROM_LOAD( "96019-07.7", 0x000000, 0x400000, CRC(a8a61954) SHA1(86c3db10b348ba1f44ff696877b8b20845fa53de) ) +ROM_END + +ROM_START( tetrisp2ja ) /* Version 2.1 */ + ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + // yes, only one rom of the interleaved pair differs to the 2.2 revision?! + ROM_LOAD16_BYTE( "tet2_ic4_ver2.1.ic59", 0x000000, 0x080000, CRC(5bfa32c8) SHA1(55fb2872695fcfbad13f5c0723302e72da69e44a) ) + ROM_LOAD16_BYTE( "tet2_ic1_ver2.1.ic65", 0x000001, 0x080000, CRC(5b5f8377) SHA1(75e17d628a1fd6da5616eea3e1e137f000824f14) ) ROM_REGION( 0x800000, "gfx1", 0 ) /* 8x8x8 (Sprites) */ ROM_LOAD32_WORD( "96019-01.9", 0x000000, 0x400000, CRC(06f7dc64) SHA1(722c51b707b9854c0293afdff18b27ec7cae6719) ) @@ -1813,8 +1838,9 @@ ROM_END ***************************************************************************/ -GAME( 1997, tetrisp2, 0, tetrisp2, tetrisp2, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (World)", GAME_SUPPORTS_SAVE ) -GAME( 1997, tetrisp2j, tetrisp2, tetrisp2, tetrisp2j, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1997, tetrisp2, 0, tetrisp2, tetrisp2, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (World)", GAME_SUPPORTS_SAVE ) +GAME( 1997, tetrisp2j, tetrisp2, tetrisp2, tetrisp2j,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.2)", GAME_SUPPORTS_SAVE ) +GAME( 1997, tetrisp2ja,tetrisp2, tetrisp2, tetrisp2j,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.1)", GAME_SUPPORTS_SAVE ) GAME( 1997, nndmseal, 0, nndmseal, nndmseal, rockn, ROT0 | ORIENTATION_FLIP_X, "I'Max / Jaleco", "Nandemo Seal Iinkai", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index aede2ef936a..79a3cd0156f 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -2664,6 +2664,7 @@ V-V TP-027 DRIVER( 1943j ) /* 6/1987 (c) 1987 (Japan) */ DRIVER( 1943b ) /* bootleg */ DRIVER( blktiger ) /* 8/1987 (c) 1987 (US) */ + DRIVER( blktigera ) /* 8/1987 (c) 1987 (US) */ DRIVER( blktigerb1 )/* bootleg */ DRIVER( blktigerb2 )/* bootleg */ DRIVER( blkdrgon ) /* 8/1987 (c) 1987 (Japan) */ @@ -5533,6 +5534,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( jackalj ) /* GX631 (c) 1986 (Japan) */ DRIVER( topgunbl ) /* bootleg */ DRIVER( ddribble ) /* GX690 (c) 1986 */ + DRIVER( ddribblep ) /* GX690 (c) 1986 */ DRIVER( contra ) /* GX633 (c) 1987 */ DRIVER( contra1 ) /* GX633 (c) 1987 */ DRIVER( contrab ) /* bootleg */ @@ -5767,6 +5769,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( viostormub ) /* GX168 (c) 1993 (US) */ DRIVER( viostormj ) /* GX168 (c) 1993 (Japan) */ DRIVER( viostorma ) /* GX168 (c) 1993 (Asia) */ + DRIVER( viostormab )/* GX168 (c) 1993 (Asia) */ DRIVER( mmaulers ) /* GX170 (c) 1993 (Europe) */ DRIVER( dadandrn ) /* GX170 (c) 1993 (Japan) */ DRIVER( metamrph ) /* GX224 (c) 1993 (Europe) */ @@ -7575,6 +7578,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( scudhamm ) /* (c) 1994 Jaleco */ DRIVER( tetrisp2 ) /* (c) 1997 Jaleco */ DRIVER( tetrisp2j ) /* (c) 1997 Jaleco */ + DRIVER( tetrisp2ja )/* (c) 1997 Jaleco */ DRIVER( nndmseal ) /* (c) 1997 I'Max/Jaleco */ DRIVER( stepstag ) /* (c) 1999 Jaleco */ DRIVER( step3 ) /* (c) 1999 Jaleco */