From c01df88b6dd6d75bdeb432288336b59404e7c734 Mon Sep 17 00:00:00 2001 From: "R. Belmont" Date: Sun, 6 Sep 2009 23:01:05 +0000 Subject: [PATCH] Major Naomi/Atomiswave update: - Emulated Atomiswave coin slots and standard Dreamcast controller. Non-lightgun games without other problems are now playable. [R. Belmont] - Added protection data to Moero Justice Gakuen, Heavy Metal Geomatrix, WWF Royal Rumble, Gigawing 2, Toy Fighter, and Guilty Gear X (all are now playable but still marked GAME_NOT_WORKING due to general Naomi concerns). [R. Belmont, Guru, Deunan Knute, Cah4e3] - Completed partial dumps: Derby Owners Club II, Slashout, WWF Royal Rumble, Gigawing 2, Moero Justice Gakuen, Wild Riders, Virtua Fighter 4 (cartridge) [Guru] New games marked as GAME_NOT_WORKING ------------------------------------ The House of the Dead 2 [Guru] Super Major League '99 [Guru] Gun Survivor 2: Bio Hazard Code Veronica [Guru] Club Kart: European Session [Guru] The King of Fighters Neowave [R. Belmont, Guru] Neo Geo Battle Coliseum [R. Belmont, Guru] New games added or promoted from NOT_WORKING status --------------------------------------------------- Dolphin Blue [R. Belmont, Guru] The Rumble Fish [R. Belmont, Guru] Knights of Valour: The Seven Spirits [R. Belmont, Guru] --- src/mame/drivers/naomi.c | 891 +++++++++++++++++++++++++++++-------- src/mame/includes/dc.h | 2 + src/mame/machine/dc.c | 193 +++++++- src/mame/machine/naomibd.c | 91 +++- src/mame/mamedriv.c | 19 +- 5 files changed, 995 insertions(+), 201 deletions(-) diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c index 6bb3c9d5a3c..5d92dee9a19 100644 --- a/src/mame/drivers/naomi.c +++ b/src/mame/drivers/naomi.c @@ -1271,7 +1271,7 @@ static ADDRESS_MAP_START( naomi_map, ADDRESS_SPACE_PROGRAM, 64 ) AM_RANGE(0x00200000, 0x00207fff) AM_RAM // bios uses it (battery backed ram ?) AM_RANGE(0x005f6800, 0x005f69ff) AM_READWRITE( dc_sysctrl_r, dc_sysctrl_w ) - AM_RANGE(0x005f6c00, 0x005f6cff) AM_READWRITE( dc_maple_r, dc_maple_w ) + AM_RANGE(0x005f6c00, 0x005f6cff) AM_READWRITE( naomi_maple_r, naomi_maple_w ) AM_RANGE(0x005f7000, 0x005f70ff) AM_DEVREADWRITE("rom_board", naomibd_r, naomibd_w) AM_RANGE(0x005f7400, 0x005f74ff) AM_READWRITE( dc_g1_ctrl_r, dc_g1_ctrl_w ) AM_RANGE(0x005f7800, 0x005f78ff) AM_READWRITE( dc_g2_ctrl_r, dc_g2_ctrl_w ) @@ -1285,6 +1285,8 @@ static ADDRESS_MAP_START( naomi_map, ADDRESS_SPACE_PROGRAM, 64 ) AM_RANGE(0x0103ff00, 0x0103ffff) AM_READWRITE( naomi_unknown1_r, naomi_unknown1_w ) // bios uses it, actual start and end addresses not known + AM_RANGE(0x03010098, 0x0301009f) AM_RAM // Naomi 2 BIOS tests this, needs to read back as written + /* Area 1 */ AM_RANGE(0x04000000, 0x04ffffff) AM_RAM AM_BASE( &dc_texture_ram ) // texture memory 64 bit access AM_RANGE(0x05000000, 0x05ffffff) AM_RAM AM_BASE( &dc_framebuffer_ram ) // apparently this actually accesses the same memory as the 64-bit texture memory access, but in a different format, keep it apart for now @@ -1322,6 +1324,10 @@ static ADDRESS_MAP_START( naomi_port, ADDRESS_SPACE_IO, 64 ) AM_RANGE(0x00, 0x0f) AM_READWRITE(eeprom_93c46a_r, eeprom_93c46a_w) ADDRESS_MAP_END +/* + * Atomiswave address map, almost identical to Dreamcast + */ + static READ64_HANDLER( aw_flash_r ) { return (UINT64)intelflash_read(0, offset*8) | (UINT64)intelflash_read(0, (offset*8)+1)<<8 | (UINT64)intelflash_read(0, (offset*8)+2)<<16 | (UINT64)intelflash_read(0, (offset*8)+3)<<24 | @@ -1343,13 +1349,69 @@ static WRITE64_HANDLER( aw_flash_w ) } data >>= (i*8); + intelflash_write(0, addr, data); } +INLINE int decode_reg32_64(running_machine *machine, UINT32 offset, UINT64 mem_mask, UINT64 *shift) +{ + int reg = offset * 2; -/* - * Atomiswave address map, almost identical to Dreamcast - */ + *shift = 0; + + // non 32-bit accesses have not yet been seen here, we need to know when they are + if ((mem_mask != U64(0xffffffff00000000)) && (mem_mask != U64(0x00000000ffffffff))) + { + mame_printf_verbose("%s:Wrong mask!\n", cpuexec_describe_context(machine)); +// debugger_break(machine); + } + + if (mem_mask == U64(0xffffffff00000000)) + { + reg++; + *shift = 32; + } + + return reg; +} + +READ64_HANDLER( aw_modem_r ) +{ + int reg; + UINT64 shift; + + reg = decode_reg32_64(space->machine, offset, mem_mask, &shift); + + if (reg == 0x280/4) + { + UINT32 coins = input_port_read(space->machine, "COINS"); + + if (coins & 0x01) + { + return U64(0xffffffff00000002); // coin A + } + else if (coins & 0x02) + { + return U64(0xffffffff00000001); // coin B + } + + return U64(0xffffffffffffffff); + } + + mame_printf_verbose("MODEM: Unmapped read %08x\n", 0x600000+reg*4); + return 0; +} + +WRITE64_HANDLER( aw_modem_w ) +{ + int reg; + UINT64 shift; + UINT32 dat; + + reg = decode_reg32_64(space->machine, offset, mem_mask, &shift); + dat = (UINT32)(data >> shift); + mame_printf_verbose("MODEM: [%08x=%x] write %" I64FMT "x to %x, mask %" I64FMT "x\n", 0x600000+reg*4, dat, data, offset, mem_mask); +} static ADDRESS_MAP_START( aw_map, ADDRESS_SPACE_PROGRAM, 64 ) /* Area 0 */ @@ -1364,7 +1426,7 @@ static ADDRESS_MAP_START( aw_map, ADDRESS_SPACE_PROGRAM, 64 ) AM_RANGE(0x005f7800, 0x005f78ff) AM_READWRITE( dc_g2_ctrl_r, dc_g2_ctrl_w ) AM_RANGE(0x005f7c00, 0x005f7cff) AM_READWRITE( pvr_ctrl_r, pvr_ctrl_w ) AM_RANGE(0x005f8000, 0x005f9fff) AM_READWRITE( pvr_ta_r, pvr_ta_w ) - AM_RANGE(0x00600000, 0x006007ff) AM_READWRITE( dc_modem_r, dc_modem_w ) + AM_RANGE(0x00600000, 0x006007ff) AM_READWRITE( aw_modem_r, aw_modem_w ) AM_RANGE(0x00700000, 0x00707fff) AM_DEVREADWRITE( "aica", dc_aica_reg_r, dc_aica_reg_w ) AM_RANGE(0x00710000, 0x0071000f) AM_READWRITE( dc_rtc_r, dc_rtc_w ) AM_RANGE(0x00800000, 0x00ffffff) AM_READWRITE( naomi_arm_r, naomi_arm_w ) // sound RAM (8 MB) @@ -1595,6 +1657,107 @@ static INPUT_PORTS_START( naomi_mp ) NAOMI_MAME_DEBUG_DIP INPUT_PORTS_END +// Atomiswave - inputs are read as standard Dreamcast controllers/lightguns. +// Controller bit patterns: +// +// SHOT3 (1<<0) +// SHOT2 (1<<1) +// SHOT1 (1<<2) +// START (1<<3) +// UP (1<<4) +// DOWN (1<<5) +// LEFT (1<<6) +// RIGHT (1<<7) +// SHOT5 (1<<9) +// SHOT4 (1<<10) +// SERVICE (1<<13) +// TEST (1<<14) +// COIN (1<<15) + +static INPUT_PORTS_START( aw ) + PORT_START("P1L") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_START("P1H") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) + + PORT_START("P2L") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_START("P2H") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) + + PORT_START("P3L") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) + PORT_START("P3H") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE3 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(3) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(3) + + PORT_START("P4L") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START4 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) + PORT_START("P4H") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE4 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(4) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(4) + + PORT_START("COINS") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED(dc_coin_slots_callback, &dc_coin_counts[0]) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_CHANGED(dc_coin_slots_callback, &dc_coin_counts[1]) + + NAOMI_MAME_DEBUG_DIP +INPUT_PORTS_END + static MACHINE_RESET( naomi ) { MACHINE_RESET_CALL(dc); @@ -1788,9 +1951,9 @@ Scan ROM for the text string "LOADING TEST MODE NOW" back up four (4) bytes for // bios for House of the Dead 2 #define HOTD2_BIOS \ ROM_SYSTEM_BIOS( 0, "bios0", "HOTD2 (Export)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21331.bin", 0x000000, 0x200000, CRC(065f8500) SHA1(49a3881e8d76f952ef5e887200d77b4a415d47fe) ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21331.ic27", 0x000000, 0x200000, CRC(065f8500) SHA1(49a3881e8d76f952ef5e887200d77b4a415d47fe) ) \ ROM_SYSTEM_BIOS( 1, "bios1", "HOTD2 (USA)" ) \ - ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21330.bin", 0x000000, 0x200000, CRC(9e3bfa1b) SHA1(b539d38c767b0551b8e7956c1ff795de8bbe2fbc) ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21330.ic27", 0x000000, 0x200000, CRC(9e3bfa1b) SHA1(b539d38c767b0551b8e7956c1ff795de8bbe2fbc) ) \ #define F355_BIOS \ ROM_SYSTEM_BIOS( 0, "bios0", "Ferrari F355 (Export)" ) \ @@ -1946,6 +2109,7 @@ IC9 64M 528D 5206 IC10 64M 7C94 8779 IC11 64M 271E BEF7 IC12 64M BA24 102F + */ ROM_START( cspike ) @@ -1999,21 +2163,15 @@ ROM_START( capsnk ) ROM_REGION( 0x200000, "maincpu", 0) NAOMI_BIOS - ROM_REGION( 0x7000000, "user1", ROMREGION_ERASEFF) + ROM_REGION( 0x7800000, "user1", ROMREGION_ERASEFF) ROM_LOAD( "epr-23511.ic22", 0x000000, 0x400000, CRC(3dbf8eb2) SHA1(1f7b89ba99e018cc85022fa852d56d4e345e1bd2) ) - ROM_LOAD( "mpr-23498.ic1", 0x800000, 0x800000, CRC(ff7918b9) SHA1(5fa548939b83d307d6047931b0af405e20de04f6) ) - ROM_LOAD( "mpr-23499.ic2", 0x1000000, 0x800000, CRC(5d2d9439) SHA1(6fd24a3966f04a8175e1b1ec4560de6722b621d1) ) - ROM_LOAD( "mpr-23500.ic3", 0x1800000, 0x800000, CRC(bc58de9e) SHA1(8db2dfa4f1e0bbd7f5b3c8050d53533535750399) ) - ROM_LOAD( "mpr-23501.ic4", 0x2000000, 0x800000, CRC(f938123c) SHA1(058b35301e3ef81ac903f18f6a034e9b282223c3) ) - ROM_LOAD( "mpr-23502.ic5", 0x2800000, 0x800000, CRC(d58cbab2) SHA1(638a3fec531c200a909228477955de82d6352fcc) ) - ROM_LOAD( "mpr-23503.ic6", 0x3000000, 0x800000, CRC(66a6a80f) SHA1(f6d413f3631e43b3a5067fefc7252f2122773110) ) - ROM_LOAD( "mpr-23504.ic7", 0x3800000, 0x800000, CRC(29c1fe16) SHA1(af96d809f8160d45f061120dfe2df36d6c940cb9) ) - ROM_LOAD( "mpr-23505.ic8", 0x4000000, 0x800000, CRC(451816b2) SHA1(38af527ca7987019fa4727d2db715f6bd31f366d) ) - ROM_LOAD( "mpr-23506.ic9", 0x4800000, 0x800000, CRC(5031ef58) SHA1(a9cbe1ee05e729519175020d9560954a9253ba5b) ) - ROM_LOAD( "mpr-23507.ic10", 0x5000000, 0x800000, CRC(d77b0783) SHA1(2ac6584922754bfe85bff8554ddc83736b095c7a) ) - ROM_LOAD( "mpr-23508.ic11", 0x5800000, 0x800000, CRC(4c24c946) SHA1(f088d0f0e2ccf3d657ee68791397e3edaa0c79c0) ) - ROM_LOAD( "mpr-23509.ic12", 0x6000000, 0x800000, CRC(38379fc1) SHA1(82e3a12615709e974a6635d25d5f17ef7fe8ac78) ) - ROM_LOAD( "mpr-23510.ic13", 0x6800000, 0x800000, CRC(38523873) SHA1(5d25ada6cba8c9bbf5f9e90aa3599e796e4e1727) ) + ROM_LOAD( "mpr-23504.ic1", 0x0800000, 0x1000000, CRC(e01a31d2) SHA1(e00e138f6a20175c7aadb6500f6d7541b91def14) ) + ROM_LOAD( "mpr-23505.ic2", 0x1800000, 0x1000000, CRC(3a34d5fe) SHA1(f3c5f6fcbaa7004d371923eb412ea1fcf3fa461a) ) + ROM_LOAD( "mpr-23506.ic3", 0x2800000, 0x1000000, CRC(9cbab27d) SHA1(f166352355a03c9ccafbc15f926330b3622ec040) ) + ROM_LOAD( "mpr-23507.ic4", 0x3800000, 0x1000000, CRC(363c1734) SHA1(16b0485f1aacc8925b3c6d6152680139748e6df8) ) + ROM_LOAD( "mpr-23508.ic5", 0x4800000, 0x1000000, CRC(0a3590aa) SHA1(84c0e1853f069b003d09b268caee97e58c4dacb6) ) + ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) ) + ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) ) // trojaned protection data (filename is address read from) ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) @@ -2048,21 +2206,15 @@ ROM_START( capsnka ) ROM_REGION( 0x200000, "maincpu", 0) NAOMI_BIOS - ROM_REGION( 0x7000000, "user1", ROMREGION_ERASEFF) + ROM_REGION( 0x7800000, "user1", ROMREGION_ERASEFF) ROM_LOAD( "epr23511a.ic22", 0x000000, 0x400000, CRC(fe00650f) SHA1(ca8e9e9178ed2b6598bdea83be1bf0dd7aa509f9) ) - ROM_LOAD( "mpr-23498.ic1", 0x800000, 0x800000, CRC(ff7918b9) SHA1(5fa548939b83d307d6047931b0af405e20de04f6) ) - ROM_LOAD( "mpr-23499.ic2", 0x1000000, 0x800000, CRC(5d2d9439) SHA1(6fd24a3966f04a8175e1b1ec4560de6722b621d1) ) - ROM_LOAD( "mpr-23500.ic3", 0x1800000, 0x800000, CRC(bc58de9e) SHA1(8db2dfa4f1e0bbd7f5b3c8050d53533535750399) ) - ROM_LOAD( "mpr-23501.ic4", 0x2000000, 0x800000, CRC(f938123c) SHA1(058b35301e3ef81ac903f18f6a034e9b282223c3) ) - ROM_LOAD( "mpr-23502.ic5", 0x2800000, 0x800000, CRC(d58cbab2) SHA1(638a3fec531c200a909228477955de82d6352fcc) ) - ROM_LOAD( "mpr-23503.ic6", 0x3000000, 0x800000, CRC(66a6a80f) SHA1(f6d413f3631e43b3a5067fefc7252f2122773110) ) - ROM_LOAD( "mpr-23504.ic7", 0x3800000, 0x800000, CRC(29c1fe16) SHA1(af96d809f8160d45f061120dfe2df36d6c940cb9) ) - ROM_LOAD( "mpr-23505.ic8", 0x4000000, 0x800000, CRC(451816b2) SHA1(38af527ca7987019fa4727d2db715f6bd31f366d) ) - ROM_LOAD( "mpr-23506.ic9", 0x4800000, 0x800000, CRC(5031ef58) SHA1(a9cbe1ee05e729519175020d9560954a9253ba5b) ) - ROM_LOAD( "mpr-23507.ic10", 0x5000000, 0x800000, CRC(d77b0783) SHA1(2ac6584922754bfe85bff8554ddc83736b095c7a) ) - ROM_LOAD( "mpr-23508.ic11", 0x5800000, 0x800000, CRC(4c24c946) SHA1(f088d0f0e2ccf3d657ee68791397e3edaa0c79c0) ) - ROM_LOAD( "mpr-23509.ic12", 0x6000000, 0x800000, CRC(38379fc1) SHA1(82e3a12615709e974a6635d25d5f17ef7fe8ac78) ) - ROM_LOAD( "mpr-23510.ic13", 0x6800000, 0x800000, CRC(38523873) SHA1(5d25ada6cba8c9bbf5f9e90aa3599e796e4e1727) ) + ROM_LOAD( "mpr-23504.ic1", 0x0800000, 0x1000000, CRC(e01a31d2) SHA1(e00e138f6a20175c7aadb6500f6d7541b91def14) ) + ROM_LOAD( "mpr-23505.ic2", 0x1800000, 0x1000000, CRC(3a34d5fe) SHA1(f3c5f6fcbaa7004d371923eb412ea1fcf3fa461a) ) + ROM_LOAD( "mpr-23506.ic3", 0x2800000, 0x1000000, CRC(9cbab27d) SHA1(f166352355a03c9ccafbc15f926330b3622ec040) ) + ROM_LOAD( "mpr-23507.ic4", 0x3800000, 0x1000000, CRC(363c1734) SHA1(16b0485f1aacc8925b3c6d6152680139748e6df8) ) + ROM_LOAD( "mpr-23508.ic5", 0x4800000, 0x1000000, CRC(0a3590aa) SHA1(84c0e1853f069b003d09b268caee97e58c4dacb6) ) + ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) ) + ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) ) // trojaned protection data (filename is address read from) ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) @@ -2417,29 +2569,19 @@ ROM_START( derbyoc2 ) ROM_REGION( 0x200000, "maincpu", 0) NAOMI_BIOS - ROM_REGION( 0xb000000, "user1", ROMREGION_ERASEFF) - ROM_LOAD("epr-22306.ic22", 0x0000000, 0x0400000, CRC(fcac20eb) SHA1(26cec9f615cd18ce7fccfc5e273e42c58dea1995) ) - ROM_LOAD("ic1", 0x0800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic2", 0x1000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic3", 0x1800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic4", 0x2000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic5", 0x2800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic6", 0x3000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic7", 0x3800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic8", 0x4000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic9", 0x4800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic10",0x5000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic11",0x5800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic12",0x6000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic13",0x6800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic14",0x7000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic15",0x7800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic16",0x8000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic17",0x8800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic18",0x9000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic19",0x9800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic20",0xa000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic21",0xa800000, 0x0800000, NO_DUMP ) + ROM_REGION( 0xb800000, "user1", ROMREGION_ERASEFF) + ROM_LOAD("epr-22306.ic22", 0x0000000, 0x0400000, CRC(fcac20eb) SHA1(26cec9f615cd18ce7fccfc5e273e42c58dea1995) ) + ROM_LOAD( "mpr-22295.ic1", 0x0800000, 0x1000000, CRC(1085001b) SHA1(096ac0ecc7d5324f04514d24eb338de591926a3d) ) + ROM_LOAD( "mpr-22296.ic2", 0x1800000, 0x1000000, CRC(f18cb28b) SHA1(e7f253a35e15f62e178a1ff565f8a94102eea057) ) + ROM_LOAD( "mpr-22297.ic3", 0x2800000, 0x1000000, CRC(a78a527b) SHA1(7d4e7bd93519377a8676f7ca6f72c4d0de2a0475) ) + ROM_LOAD( "mpr-22298.ic4", 0x3800000, 0x1000000, CRC(cd76c7ea) SHA1(2db200c8853d1bc9da31da6c197c6b55e570dc69) ) + ROM_LOAD( "mpr-22299.ic5", 0x4800000, 0x1000000, CRC(ffb96da5) SHA1(bfe8f4a455d3eeec0fa9728fc1bb52cebd13b2a8) ) + ROM_LOAD( "mpr-22300.ic6", 0x5800000, 0x1000000, CRC(6fb05214) SHA1(9cececc46ac463bc5df3c3f5fb9268d5ced31837) ) + ROM_LOAD( "mpr-22301.ic7", 0x6800000, 0x1000000, CRC(52eb076d) SHA1(a79bb286594cc5d196a37a17147ad1770db5cd67) ) + ROM_LOAD( "mpr-22302.ic8", 0x7800000, 0x1000000, CRC(86767b0b) SHA1(54ed418cef78506fb824e3d16cadefdb684f2b34) ) + ROM_LOAD( "mpr-22303.ic9", 0x8800000, 0x1000000, CRC(73a80bd5) SHA1(d607f1d993af4b78d3609991e47e9540664380fd) ) + ROM_LOAD( "mpr-22304.ic10", 0x9800000, 0x1000000, CRC(46c1fb1f) SHA1(6daca76a75df3501f77e473eb065d48804fcc64a) ) + ROM_LOAD( "mpr-22305.ic11", 0xa800000, 0x1000000, CRC(027d0e7b) SHA1(e3c874e60cabb6f9ce686696d9055a0c0d5289ae) ) ROM_END /* @@ -2578,6 +2720,35 @@ ROM_START( dybb99 ) ROM_LOAD("mpr-22140.ic19", 0x9800000, 0x0800000, CRC(4cb54893) SHA1(a99b39cc3c82c3cf90f794bb8c8ba60638a6f921) ) ROM_END +ROM_START( smlg99 ) + ROM_REGION( 0x200000, "maincpu", 0) + NAOMI_BIOS + + ROM_REGION( 0xb000000, "user1", ROMREGION_ERASEFF) + ROM_LOAD( "epr-22059.ic22", 0x0000000, 0x200000, CRC(5784f970) SHA1(e9ec692206a95cc260521154305693f6022190bc) ) + ROM_LOAD( "mpr-22038.ic1", 0x0800000, 0x800000, CRC(0a59fc5b) SHA1(efcbe2f847927fba173d333c889dd7df329d6df6) ) + ROM_LOAD( "mpr-22039.ic2", 0x1000000, 0x800000, CRC(4de79b52) SHA1(c63a3ce88db316e882948baf121fa96242010c8d) ) + ROM_LOAD( "mpr-22040.ic3", 0x1800000, 0x800000, CRC(b993fd90) SHA1(609de1509f393f884813ca4bcac533e10088ca84) ) + ROM_LOAD( "mpr-22041.ic4", 0x2000000, 0x800000, CRC(ddadfabd) SHA1(64531e68b10635415d49c0304a8ba550a3a9cef1) ) + ROM_LOAD( "mpr-22042.ic5", 0x2800000, 0x800000, CRC(136c101e) SHA1(a35d8d574b263d672a08963a992a7b507c838b70) ) + ROM_LOAD( "mpr-22043.ic6", 0x3000000, 0x800000, CRC(7f15a0a5) SHA1(5c36fa580f7eef448fb32d050078843470fafb31) ) + ROM_LOAD( "mpr-22044.ic7", 0x3800000, 0x800000, CRC(94376002) SHA1(8c4b954da69a079d9a73b8f34a9f1a94cceee9cc) ) + ROM_LOAD( "mpr-22045.ic8", 0x4000000, 0x800000, CRC(e520e2d9) SHA1(c7a9306b2dafb20baaa8bd6708fb5ece775c37f0) ) + ROM_LOAD( "mpr-22046.ic9", 0x4800000, 0x800000, CRC(976edfc8) SHA1(340b701b9e1d256963a8fe056ec975d8cbfec3d8) ) + ROM_LOAD( "mpr-22047.ic10", 0x5000000, 0x800000, CRC(32b136de) SHA1(4019e9836174b47135d7e1bbc02c23dd3ab52904) ) + ROM_LOAD( "mpr-22048.ic11", 0x5800000, 0x800000, CRC(32a9488a) SHA1(70c11fbcb1e24ed120f74aa455806e7dfbfa75b5) ) + ROM_LOAD( "mpr-22049.ic12", 0x6000000, 0x800000, CRC(8295696d) SHA1(5820cac054070aa35a64abc5bf8c6f45fe9be03f) ) + ROM_LOAD( "mpr-22050.ic13", 0x6800000, 0x800000, CRC(1cfebe44) SHA1(24415f723cd6c1efaa2513f6b52e076364eb0875) ) + ROM_LOAD( "mpr-22051.ic14", 0x7000000, 0x800000, CRC(58b9dbef) SHA1(1021d4dfbd5bcf6e1703ce608560c76d60dac71c) ) + ROM_LOAD( "mpr-22052.ic15", 0x7800000, 0x800000, CRC(95b87c1d) SHA1(bf0a89703fea7bd37e4d0fd10c7729d2cfe848d6) ) + ROM_LOAD( "mpr-22053.ic16", 0x8000000, 0x800000, CRC(666589a1) SHA1(130477f247661e87bdc4f2370788ca676336f563) ) + ROM_LOAD( "mpr-22054.ic17", 0x8800000, 0x800000, CRC(9d8c82e9) SHA1(13ebf9ffac9e1e960fa9662800c5e682284a5cdd) ) + ROM_LOAD( "mpr-22055.ic18", 0x9000000, 0x800000, CRC(fa865125) SHA1(04e0d77287f4e29df514875683992ede1e385dbc) ) + ROM_LOAD( "mpr-22056.ic19", 0x9800000, 0x800000, CRC(45a23d29) SHA1(2499637a4b389cda7cc9a7aa21014696bd1dafe2) ) + ROM_LOAD( "mpr-22057.ic20", 0xa000000, 0x800000, CRC(a056c109) SHA1(637e80c2d605851265430b0fa771a4ad5233be8a) ) + ROM_LOAD( "mpr-22058.ic21", 0xa800000, 0x800000, CRC(f16edaa0) SHA1(e093f5594df43c592a9acd45002ecc65035c2435) ) +ROM_END + /* SYSTEMID: NAOMI @@ -2618,6 +2789,34 @@ ROM_START( f355 ) ROM_LOAD("mpr-21901.ic21",0xa800000, 0x0800000, BAD_DUMP CRC(55dcbd6d) SHA1(9fec353f9e58016090e177f899a799e2e8fc7c9f) ) // returns bad in Naomi test mode ROM_END +ROM_START( hotd2 ) + ROM_REGION( 0x200000, "maincpu", 0) + HOTD2_BIOS + + ROM_REGION( 0xa800000, "user1", ROMREGION_ERASEFF) + ROM_LOAD( "epr-21585.ic22", 0x0000000, 0x200000, CRC(b23d1a0c) SHA1(9e77980d1aa980c879886e53cc76a16d7a9d43a1) ) + ROM_LOAD( "mpr-21565.ic1", 0x0800000, 0x800000, CRC(88fb0562) SHA1(185a0eab68d86617cb6325d64c48a2dd4854622b) ) + ROM_LOAD( "mpr-21566.ic2", 0x1000000, 0x800000, CRC(5f4dd576) SHA1(5483c3949e587bbcca7e8fc7db9aff4cd2a33f02) ) + ROM_LOAD( "mpr-21567.ic3", 0x1800000, 0x800000, CRC(3e62fca4) SHA1(8cdebdebabc88160f458e1e779d9ebb4e6a14523) ) + ROM_LOAD( "mpr-21568.ic4", 0x2000000, 0x800000, CRC(6f73a852) SHA1(d5fd4c0800b3a1ea04231018fcaba79184fa1d87) ) + ROM_LOAD( "mpr-21569.ic5", 0x2800000, 0x800000, CRC(c7950445) SHA1(4f56768f07703452ef92d183e4ee654ab9711283) ) + ROM_LOAD( "mpr-21570.ic6", 0x3000000, 0x800000, CRC(5a812247) SHA1(7636661da0cc9bd5a1a2062f9f3ef65889c86fd5) ) + ROM_LOAD( "mpr-21571.ic7", 0x3800000, 0x800000, CRC(17e9414a) SHA1(9f291c4dd9a049eeed88d80867f7fca1d15c6095) ) + ROM_LOAD( "mpr-21572.ic8", 0x4000000, 0x800000, CRC(5d2d8134) SHA1(a2941b6afd0302822133d932064d1aad873b1c04) ) + ROM_LOAD( "mpr-21573.ic9", 0x4800000, 0x800000, CRC(eacaf26d) SHA1(21e35def0ed998a70cc982f373feb50b7974612a) ) + ROM_LOAD( "mpr-21574.ic10", 0x5000000, 0x800000, CRC(1e3686be) SHA1(7ec1b3c9c94882c5fe7b6ba6ffe9220e90824870) ) + ROM_LOAD( "mpr-21575.ic11", 0x5800000, 0x800000, CRC(5ada00a2) SHA1(981c65310c89e7a26e2b2c3e57623e78f6ad33d0) ) + ROM_LOAD( "mpr-21576.ic12", 0x6000000, 0x800000, CRC(9eff6247) SHA1(9257492fc3e48516897002dd3ff247093af27d87) ) + ROM_LOAD( "mpr-21577.ic13", 0x6800000, 0x800000, CRC(8a80b16a) SHA1(ffeb061b31027ac322c14b9050c686b2b844d2e1) ) + ROM_LOAD( "mpr-21578.ic14", 0x7000000, 0x800000, CRC(7ae20daf) SHA1(b36d8e490ac477db178b8df08f7997448308d3fd) ) + ROM_LOAD( "mpr-21579.ic15", 0x7800000, 0x800000, CRC(fbb8641b) SHA1(6cb44f0a3f80eb68a218bba97b2395961c596b9c) ) + ROM_LOAD( "mpr-21580.ic16", 0x8000000, 0x800000, CRC(3881ec23) SHA1(e4b87a6c6fd6a2eeda8e0e5ae7bed01b18386e54) ) + ROM_LOAD( "mpr-21581.ic17", 0x8800000, 0x800000, CRC(66bff6e4) SHA1(f87d618231b71b65952fc7ea7ccabdd208622a00) ) + ROM_LOAD( "mpr-21582.ic18", 0x9000000, 0x800000, CRC(8cd2f654) SHA1(77eb7061caaf0288aad04ed88c4247d27617f338) ) + ROM_LOAD( "mpr-21583.ic19", 0x9800000, 0x800000, CRC(6cf6e705) SHA1(68d7e9becefe27b556e0c5d7ba00efd2d1fb71ca) ) + ROM_LOAD( "mpr-21584.ic20", 0xa000000, 0x800000, CRC(495e6265) SHA1(57936367fec0000691641525682fb8aefc4e4f56) ) +ROM_END + /* SYSTEMID: NAOMI JAP: GIANT GRAM @@ -2637,6 +2836,9 @@ ROM_START( ggram2 ) ROM_REGION( 0x6000000, "user1", ROMREGION_ERASEFF) ROM_LOAD("epr-21820.ic22", 0x0000000, 0x0200000, CRC(0a198278) SHA1(0df5fc8b56ddafc66d92cb3923b851a5717b551d) ) + ROM_RELOAD( 0x200000, 0x200000 ) + ROM_RELOAD( 0x400000, 0x200000 ) + ROM_RELOAD( 0x600000, 0x200000 ) ROM_LOAD("mpr-21821.ic1", 0x0800000, 0x0800000, CRC(ed127b65) SHA1(8b6d03fc733f601a48006d3268faa8983ca69d70) ) /* IC2 empty */ ROM_LOAD("mpr-21823.ic3", 0x1800000, 0x0800000, CRC(a304b528) SHA1(32197c74c659de2cc5f72f13c84bacac7b136d36) ) @@ -2719,7 +2921,6 @@ SYSTEMID: NAOMI JAP: GUILTY GEAR X USA: DISABLE EXP: DISABLE - */ ROM_START( ggx ) @@ -2742,6 +2943,29 @@ ROM_START( ggx ) ROM_LOAD("mpr-23353.ic12", 0x6000000, 0x0800000, CRC(daa0ca24) SHA1(afce14e213e79add7fded838e71bb4447425906a) ) ROM_LOAD("mpr-23354.ic13", 0x6800000, 0x0800000, CRC(cea127f7) SHA1(11f12472ebfc93eb72b764c780e30afd4812dbe9) ) ROM_LOAD("mpr-23355.ic14", 0x7000000, 0x0800000, CRC(e809685f) SHA1(dc052b4eb4fdcfdc22c4807316ce34ee7a0d58a6) ) + + // trojaned protection data + ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) + ROM_LOAD( "a0100000.bin", 0x000000, 0x010000, CRC(cbe5a37a) SHA1(63f40758ef94d02a53ad860b2bed9c41e20a8263) ) + ROM_LOAD( "a010b268.bin", 0x010000, 0x010000, CRC(7f0ba37e) SHA1(2d33703c9ec08800c3fae23991859f713f8c944b) ) + ROM_LOAD( "a0115558.bin", 0x020000, 0x010000, CRC(882c945f) SHA1(60bf8fe3dcf079464f660c7c210d2a379b2ef04f) ) + ROM_LOAD( "a0120b28.bin", 0x030000, 0x010000, CRC(024952c0) SHA1(98e4ce87b5ac1169b5ab1ba9cc7553069e09cbbe) ) + ROM_LOAD( "a012987a.bin", 0x040000, 0x010000, CRC(50ea6621) SHA1(ea4e5e0b9563c5e49794a634c08be8d2e81fb773) ) + ROM_LOAD( "a012e320.bin", 0x050000, 0x010000, CRC(e445906e) SHA1(cd585100b78253bdd16f3895fdb37ff1e08690f6) ) + ROM_LOAD( "a0133cf6.bin", 0x060000, 0x00f014, CRC(5763d154) SHA1(645b0a10fd196f53ff7f656b8db798c8e753c4ed) ) + ROM_LOAD( "a0170000.bin", 0x070000, 0x010000, CRC(e153030a) SHA1(e1738ec558f0e3d5a796e34618c533cfcd6928ed) ) + ROM_LOAD( "a017cf18.bin", 0x080000, 0x010000, CRC(def783cf) SHA1(911e6b99f8ce498ddd5048ea655b76cad33f47c0) ) + ROM_LOAD( "a018a45a.bin", 0x090000, 0x010000, CRC(408cd99b) SHA1(110f9922cded7ffc5108ed964b82ac39beb6ce6b) ) + ROM_LOAD( "a0197852.bin", 0x0a0000, 0x010000, CRC(09d10a60) SHA1(04bfdba2ea9a45cb10a60fe95d7d2e0997012b4f) ) + ROM_LOAD( "a01a4916.bin", 0x0b0000, 0x010000, CRC(3895730e) SHA1(b2c0a839e330916e598c8f27f2a4873bbaaddbde) ) + ROM_LOAD( "a01b1c3e.bin", 0x0c0000, 0x010000, CRC(eecb6a13) SHA1(0203c54b98aaf203e7d1b3646102efe63c550115) ) + ROM_LOAD( "a01bef38.bin", 0x0d0000, 0x010000, CRC(7d9a497c) SHA1(680a49389e7774aa03ebe6fc844dea53b430796f) ) + ROM_LOAD( "a01cbb10.bin", 0x0e0000, 0x010000, CRC(69b770bd) SHA1(aac5801d9a8a48ef77e932195cd7c30ae562bc38) ) + ROM_LOAD( "a01d7500.bin", 0x0f0000, 0x010000, CRC(a1119fca) SHA1(1acda8f73a5b1fb180985245b8b0eb9453db0cea) ) + ROM_LOAD( "a0200000.bin", 0x100000, 0x010000, CRC(21662b41) SHA1(4dab25dcc92d1a7418d308542499bdec6c3b3b2b) ) + ROM_LOAD( "a0210004.bin", 0x110000, 0x010000, CRC(07166890) SHA1(529c28bf925243468fc00b0ad5ea57429d4de907) ) + ROM_LOAD( "a0220008.bin", 0x120000, 0x008000, CRC(09cd1354) SHA1(83f6b36aec4e7c5aa1b8bc21dc6fabf8f283ed55) ) + ROM_LOAD( "a0228000.bin", 0x130000, 0x008000, CRC(628a4917) SHA1(cf36bc2413cb63fb511936ab4b5f11b7c8cbb057) ) ROM_END /* @@ -2765,7 +2989,7 @@ IC9 64M D6FB 8917 IC10 64M 6442 18AC IC11 64M 4F77 EEFE -*/ +*/ ROM_START( hmgeo ) @@ -2786,6 +3010,32 @@ ROM_START( hmgeo ) ROM_LOAD("mpr-23713.ic9", 0x4800000, 0x0800000, CRC(2969bac7) SHA1(5f1cf6ac726c2fe183d66e4022962e44592f9ccd) ) ROM_LOAD("mpr-23714.ic10",0x5000000, 0x0800000, CRC(da462c44) SHA1(ca450b6c07f939f96eba7b44c45b4e38abd598aa) ) ROM_LOAD("mpr-23715.ic11",0x5800000, 0x0800000, BAD_DUMP CRC(59dfd3ad) SHA1(bb8f7a1bcf16038b18f4485a6b6d81fa72ca7bd0) ) + + // trojaned protection data + ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) + ROM_LOAD( "a3075ac0.bin", 0x000000, 0x00ff04, CRC(440dca2a) SHA1(4e261ff309e7e774fa2061de30174b0e4e967c00) ) + ROM_LOAD( "a30859c4.bin", 0x010000, 0x00ff04, CRC(c22c76a7) SHA1(76d9e47730e4551e6e1a96eeee937296f1153b8b) ) + ROM_LOAD( "a30958c8.bin", 0x020000, 0x00ff04, CRC(8f29ee4d) SHA1(e1ac1ccf85dc338e9d5381dfa8ededc8af8f3e92) ) + ROM_LOAD( "a30a57cc.bin", 0x030000, 0x00ff04, CRC(479846c1) SHA1(b063e2f7d521cd8a60b770477c13946679e06dd7) ) + ROM_LOAD( "a30b56d0.bin", 0x040000, 0x00ff04, CRC(107f777e) SHA1(002f062a2073dff5f0d4722803aef0a8ffc7a61a) ) + ROM_LOAD( "a30c55d4.bin", 0x050000, 0x00ff04, CRC(d73b35c1) SHA1(951cceaf6a53d4fc4b967c3675d3fa98a6874b2a) ) + ROM_LOAD( "a30d54d8.bin", 0x060000, 0x00ff04, CRC(969a6957) SHA1(ee6909f832b96ec3e6ae0cec3f18a7983cae89d9) ) + ROM_LOAD( "a30e53dc.bin", 0x070000, 0x00ff04, CRC(002f7b41) SHA1(12bb33f1229d74b32ab481f5a2e57332f0def6e7) ) + ROM_LOAD( "a30f52e0.bin", 0x080000, 0x00a904, CRC(97e32fdd) SHA1(a40f412e40544a45784b2f8d9d5494b6491efc4a) ) + ROM_LOAD( "a30ffbe4.bin", 0x090000, 0x000084, CRC(c4311af6) SHA1(7a53061a1a1a024d72880a9a9c2e6a61d2607a46) ) + ROM_LOAD( "a30ffc80.bin", 0x0a0000, 0x00ff04, CRC(b1b5e559) SHA1(2f5963d8aa46d7aeb869769a7052d3006d56d5a4) ) + ROM_LOAD( "a310fb84.bin", 0x0b0000, 0x00ff04, CRC(91bdc0b2) SHA1(3f77fe6b67dba605296c3c038265b4e0e7eabd97) ) + ROM_LOAD( "a311fa88.bin", 0x0c0000, 0x00ff04, CRC(dc5d1334) SHA1(52287bd3ade05be4511e43a7707de8cc38117316) ) + ROM_LOAD( "a312f98c.bin", 0x0d0000, 0x00ff04, CRC(e3d9ea36) SHA1(0860f5ac3086d16132f3d0d27266c644470b4f1e) ) + ROM_LOAD( "a313f890.bin", 0x0e0000, 0x00ff04, CRC(8b23c562) SHA1(fcc9d04c150f007dcd4a9a2bbee1e438a81b7c49) ) + ROM_LOAD( "a314f794.bin", 0x0f0000, 0x009104, CRC(0c0a9aa2) SHA1(1b9063a18703ce4a03ffe20e3f13e9bae06bdb57) ) + ROM_LOAD( "a3158898.bin", 0x100000, 0x0000ac, CRC(e23f61d5) SHA1(80ff570a6846f1af2b87e5888675257728e8e253) ) + ROM_LOAD( "a0800f40.bin", 0x110000, 0x000204, CRC(f4935846) SHA1(d7eaa710274080f378afa4fb2e14f3bd406c45fe) ) + ROM_LOAD( "a0801144.bin", 0x120000, 0x000034, CRC(28a62ac0) SHA1(d9bb6baf5feaca655f333e2f0b9b200f44ef1726) ) + ROM_LOAD( "a0801180.bin", 0x130000, 0x00ff04, CRC(4b9e08b7) SHA1(dab208f7af4475210135aeb648e6bed7db7399b9) ) + ROM_LOAD( "a0811084.bin", 0x140000, 0x00ff04, CRC(4003bab7) SHA1(0b1df4b9b1d1a1072719b559a71f5ae5811be63c) ) + ROM_LOAD( "a0820f88.bin", 0x150000, 0x007e04, CRC(67fb4342) SHA1(8b8c384a1628756a08aa8131095e49756967b5e2) ) + ROM_LOAD( "a0828d8c.bin", 0x160000, 0x0000f4, CRC(71c85e2b) SHA1(680b6ee02ea24a502bc42bade23e11e6a7ddc7ad) ) ROM_END /* @@ -2808,6 +3058,9 @@ IC8 64M EACA 12CD IC9 64M 717F 40ED IC10 64M 1E43 0F1A +byteswaped @ e0158 key b957 read count 400, write 404 +e055c key 37ca read count 400, write 404 + */ ROM_START( gwing2 ) @@ -2815,17 +3068,33 @@ ROM_START( gwing2 ) NAOMI_BIOS ROM_REGION( 0x5800000, "user1", ROMREGION_ERASEFF) - ROM_LOAD("epr-22270.ic22", 0x0000000, 0x0200000, CRC(876b3c97) SHA1(eb171d4a0521c3bea42b4aae3607faec63e10581) ) - ROM_LOAD("ic1", 0x0800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic2", 0x1000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic3", 0x1800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic4", 0x2000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic5", 0x2800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic6", 0x3000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic7", 0x3800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic8", 0x4000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic9", 0x4800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic10",0x5000000, 0x0800000, NO_DUMP ) + ROM_LOAD("epr-22270.ic22",0x0000000, 0x0200000, CRC(876b3c97) SHA1(eb171d4a0521c3bea42b4aae3607faec63e10581) ) + ROM_LOAD("mpr-22271.ic1", 0x0800000, 0x1000000, CRC(9a072af5) SHA1(d5edff43d180346ba4d4f214c08f2db290a72def) ) + ROM_LOAD("mpr-22272.ic2", 0x1800000, 0x1000000, CRC(1e816ab1) SHA1(6e1fd47a21f5da7d2145caaf68094445f122a239) ) + ROM_LOAD("mpr-22273.ic3", 0x2800000, 0x1000000, CRC(cd633dcf) SHA1(f044d93802a4ba29d0e70c597d3fbe65da591335) ) + ROM_LOAD("mpr-22274.ic4", 0x3800000, 0x1000000, CRC(f8daaaf3) SHA1(8854d3f8e3d55715ede33ee918b641e251f752b4) ) + ROM_LOAD("mpr-22275.ic5", 0x4800000, 0x1000000, CRC(61aa1521) SHA1(7d9f5790e72a9151d128ac7887e236526fdf72a0) ) + + // trojaned protection data (filename is address read from) + ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) + ROM_LOAD( "a085ddc0.bin", 0x000000, 0x00c960, CRC(77303f1c) SHA1(5dc8799b9ec102540c6e7647eccb69dfc5e6ecfb) ) + ROM_LOAD( "a080c6c0.bin", 0x010000, 0x020000, CRC(168e551a) SHA1(03bb8ce4bb233db75a0e07a8b5ad28149b5f126e) ) + ROM_LOAD( "a082c6c4.bin", 0x030000, 0x020000, CRC(bd2fcd3a) SHA1(2eefa22472d7caf30a3467c1f7ed8dc72f1665c1) ) + ROM_LOAD( "a084c6c8.bin", 0x050000, 0x020000, CRC(c1d28ba0) SHA1(5e497758c3756fe993b481ab2009402a105fbc63) ) + ROM_LOAD( "a08c67e0.bin", 0x070000, 0x020000, CRC(ceabcb70) SHA1(bbc97218f32913eefe52b1bb1606bad60d7c2894) ) + ROM_LOAD( "a08e67e4.bin", 0x090000, 0x020000, CRC(4bc98e7b) SHA1(5f506d05a05a129bf500f0112e39b722872f1220) ) + ROM_LOAD( "a09067e8.bin", 0x0b0000, 0x020000, CRC(4cd8a958) SHA1(d3a96287986ab851acced420c4ff9f4d2035188a) ) + ROM_LOAD( "a09267ec.bin", 0x0d0000, 0x020000, CRC(17c1df0d) SHA1(62964224f27c54651518a8622756c253d777629a) ) + ROM_LOAD( "a09467f0.bin", 0x0f0000, 0x020000, CRC(99c78505) SHA1(bbb95757bc0be76c680255a0e72d2eacc4ca525e) ) + ROM_LOAD( "a09667f4.bin", 0x110000, 0x016360, CRC(bec1fd2f) SHA1(e2e9d47d6d5d35bfa9a432c7f47f95c780b17551) ) + ROM_LOAD( "a088acc0.bin", 0x130000, 0x020000, CRC(abb1e0d9) SHA1(a1d5d484faaa806b365069755660ec14c1cecada) ) + ROM_LOAD( "a08aacc4.bin", 0x150000, 0x01bb00, CRC(2acc08c8) SHA1(c04276ec940a73e4b8fe140ef9f4bec8c629ecc9) ) + ROM_LOAD( "a086a740.bin", 0x170000, 0x020000, CRC(5d90c88c) SHA1(7af4107e1930292d3c64b80cb29d31aae8a565b6) ) + ROM_LOAD( "a088a744.bin", 0x190000, 0x000560, CRC(79c8eb0f) SHA1(0216fa128d9851b96f3864446ef71e0ed6f4ccd0) ) + ROM_LOAD( "a097cb60.bin", 0x1a0000, 0x010820, CRC(371e88d9) SHA1(04f0167000e96d556227e8abf6e06e0698e61e9f) ) + ROM_LOAD( "a0807fa0.bin", 0x1c0000, 0x004700, CRC(4eed5ff3) SHA1(26425baa06959d612b3b7e9f367fbb97258f544e) ) + ROM_LOAD( "a0800000.bin", 0x1d0000, 0x006040, CRC(17651005) SHA1(500806ba917133ae604817c6ee2913d10762e290) ) + ROM_LOAD( "a0806060.bin", 0x1e0000, 0x001f20, CRC(ff25a8fe) SHA1(e8c0ddf63802e3d35478e1a491dc7162283b2474) ) ROM_END /* @@ -2964,6 +3233,13 @@ ROM_START( toyfight ) ROM_LOAD("mpr-22032.ic8", 0x4000000, 0x0800000, CRC(3c48c9ba) SHA1(00be199b23040f8e81db2ec489ba98cbf615652c) ) ROM_LOAD("mpr-22033.ic9", 0x4800000, 0x0800000, CRC(5fe5586e) SHA1(3ff41ae1f81469597684faadd88e62b5e0634352) ) ROM_LOAD("mpr-22034.ic10",0x5000000, 0x0800000, CRC(3aa5ce5e) SHA1(f00a906235e4522d6fc2ac771324114346875314) ) + + // trojaned protection data (filename is address read from) + ROM_REGION( 0x4000, "naomibd_prot", ROMREGION_ERASE00 ) + ROM_LOAD( "a0309000.bin", 0x000000, 0x000400, CRC(e4f8b4a2) SHA1(a0d54aa6e1ffd5b1db31002ee4a94943c2157a3e) ) + ROM_LOAD( "a0309500.bin", 0x001000, 0x000400, CRC(5d3a9b15) SHA1(30d55a686493bb2f5e7d2c7d7df3dedf2f93dff0) ) + ROM_LOAD( "a030a000.bin", 0x002000, 0x000400, CRC(22b88804) SHA1(7b53778ddbf360b364376f0358b0acfb689e8713) ) + ROM_LOAD( "a030a500.bin", 0x003000, 0x000400, CRC(6a501389) SHA1(c2c75cd8beed6bb9e3fa39722fa01b35f2e7992d) ) ROM_END @@ -3062,29 +3338,27 @@ ROM_START( pjustic ) ROM_REGION( 0x200000, "maincpu", 0) NAOMI_BIOS - ROM_REGION( 0xb000000, "user1", ROMREGION_ERASEFF) + ROM_REGION( 0xb800000, "user1", ROMREGION_ERASEFF) ROM_LOAD("epr-23548a.ic22", 0x0000000, 0x0400000, CRC(f4ccf1ec) SHA1(97485b2a4b9452ffeea2501f42d20d718410e716) ) - ROM_LOAD("ic1", 0x0800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic2", 0x1000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic3", 0x1800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic4", 0x2000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic5", 0x2800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic6", 0x3000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic7", 0x3800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic8", 0x4000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic9", 0x4800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic10",0x5000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic11",0x5800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic12",0x6000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic13",0x6800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic14",0x7000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic15",0x7800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic16",0x8000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic17",0x8800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic18",0x9000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic19",0x9800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic20",0xa000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic21",0xa800000, 0x0800000, NO_DUMP ) + ROM_LOAD( "mpr-23537.ic1", 0x0800000, 0x1000000, CRC(a2462770) SHA1(2d06f2efb686b2c45e5cc0b0776ba5fb1d392951) ) + ROM_LOAD( "mpr-23538.ic2", 0x1800000, 0x1000000, CRC(e4480832) SHA1(281700b10bd6b29e4d33b5230d085f9cc102fa01) ) + ROM_LOAD( "mpr-23539.ic3", 0x2800000, 0x1000000, CRC(97e3f7f5) SHA1(89ad30782ba148777ce3aad2d41e9dfda2dd0c5c) ) + ROM_LOAD( "mpr-23540.ic4", 0x3800000, 0x1000000, CRC(b9e92d21) SHA1(a9b465e83ecfbf47168f83ad4ae8ed4b802345ac) ) + ROM_LOAD( "mpr-23541.ic5", 0x4800000, 0x1000000, CRC(95b8a9c6) SHA1(2c9df93d9f599cf01d895a37d03ba0d86b9b3033) ) + ROM_LOAD( "mpr-23542.ic6", 0x5800000, 0x1000000, CRC(dfd490f5) SHA1(13fe0a11a75f1a7ebfe40433833241e656bb1511) ) + ROM_LOAD( "mpr-23543.ic7", 0x6800000, 0x1000000, CRC(66847ebd) SHA1(853d4fc7e53ac7b19b9ba616f756eb8a8fcd242d) ) + ROM_LOAD( "mpr-23544.ic8", 0x7800000, 0x1000000, CRC(d1f5b460) SHA1(f0789630871d728113abacceff21c6328a9fa9fc) ) + ROM_LOAD( "mpr-23545.ic9", 0x8800000, 0x1000000, CRC(60bd692f) SHA1(37b508f4a821d832eafff81574e7df3fe1c729f8) ) + ROM_LOAD( "mpr-23546.ic10", 0x9800000, 0x1000000, CRC(85db2248) SHA1(37845c269a2e65ee6181a8e7500c2e7dd9b2e343) ) + ROM_LOAD( "mpr-23547.ic11", 0xa800000, 0x1000000, CRC(18b369c7) SHA1(b61cb3fda8cc685865684f7afc7dad0b29d93ca5) ) + + // trojaned protection data (filename is address read from) + ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) + ROM_LOAD( "a0820000.bin", 0x000000, 0x00267e, CRC(15db53ed) SHA1(a28ba1abc77ca559cff2fd34f3499c556ad8674e) ) + ROM_LOAD( "a0920000.bin", 0x010000, 0x00c91c, CRC(431436f8) SHA1(0136d6b210689b2023f982300bc8842b5c0914b4) ) + ROM_LOAD( "a092c920.bin", 0x020000, 0x00a53c, CRC(43e1a419) SHA1(34020cc7b10a1c5b2860db84d133489bce53d3d4) ) + ROM_LOAD( "a0936e60.bin", 0x030000, 0x001a32, CRC(2a998df6) SHA1(c7bed2777b2358bc0f1d7a3c23f3029591eb674d) ) + ROM_LOAD( "a3480000.bin", 0x040000, 0x008e9c, CRC(c8939e48) SHA1(a8d26c2b32211a50b8cc49b51c0d2e34416cc715) ) ROM_END /* @@ -3105,6 +3379,8 @@ IC6 64M 941E F563 IC7 64M 374E 46F6 IC8 64M C529 0501 +prot + */ ROM_START( pstone ) @@ -3113,9 +3389,6 @@ ROM_START( pstone ) ROM_REGION( 0x4800000, "user1", ROMREGION_ERASEFF) ROM_LOAD("epr-21597.ic22",0x0000000, 0x0200000, CRC(62c7acc0) SHA1(bb61641a7f3650757132cde379447bdc9bd91c78) ) - ROM_RELOAD( 0x200000, 0x200000) - ROM_RELOAD( 0x400000, 0x200000) - ROM_RELOAD( 0x600000, 0x200000) ROM_LOAD("mpr-21589.ic1", 0x0800000, 0x0800000, CRC(2fa66608) SHA1(144bda75f892a1e4dbd8332439e9e44fad1d0695) ) ROM_LOAD("mpr-21590.ic2", 0x1000000, 0x0800000, CRC(6341b399) SHA1(d123b6a3eb7c4800950cc5849d748b0edafabc7d) ) ROM_LOAD("mpr-21591.ic3", 0x1800000, 0x0800000, CRC(7f2d99aa) SHA1(00f9ae67be0d7229c37479b6dc0ed5816035fd98) ) @@ -3165,6 +3438,9 @@ ROM_START( pstone2 ) ROM_LOAD("mpr-23124.ic7", 0x3800000, 0x0800000, CRC(508c0207) SHA1(e50d97a17cdd6771fbc63a254a4d638e7daa8f57) ) ROM_LOAD("mpr-23125.ic8", 0x4000000, 0x0800000, CRC(b9938bbc) SHA1(d55d7adecb5a5a4a276a5a17c12808085d980fd9) ) ROM_LOAD("mpr-23126.ic9", 0x4800000, 0x0800000, CRC(fbb0325b) SHA1(21b965519d7508d84344641d43e8af2c3ca29ba4) ) + + // trojaned protection data (filename is address read from) + ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) ROM_END /* @@ -3646,23 +3922,20 @@ ROM_START( wwfroyal ) ROM_REGION( 0x200000, "maincpu", 0) NAOMI_BIOS - ROM_REGION( 0x8000000, "user1", ROMREGION_ERASEFF) + ROM_REGION( 0x8800000, "user1", ROMREGION_ERASEFF) ROM_LOAD("epr-22261.ic22", 0x0000000, 0x0400000, CRC(60e5a6cd) SHA1(d74ee8318e40190231b94030176223da8305c053) ) - ROM_LOAD("ic1", 0x0800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic2", 0x1000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic3", 0x1800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic4", 0x2000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic5", 0x2800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic6", 0x3000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic7", 0x3800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic8", 0x4000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic9", 0x4800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic10",0x5000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic11",0x5800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic12",0x6000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic13",0x6800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic14",0x7000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic15",0x7800000, 0x0800000, NO_DUMP ) + ROM_LOAD( "mpr-22262.ic1", 0x0800000, 0x1000000, CRC(f18c7920) SHA1(76fb592f62b8a359df19074265b44772ab2ecea0) ) + ROM_LOAD( "mpr-22263.ic2", 0x1800000, 0x1000000, CRC(5a397a54) SHA1(4b41b19ab7c49e09eeb5df2e688fdaecf8bb33a9) ) + ROM_LOAD( "mpr-22264.ic3", 0x2800000, 0x1000000, CRC(edca701e) SHA1(459b533d862e011f8daa0e4997d69fa7339b0755) ) + ROM_LOAD( "mpr-22265.ic4", 0x3800000, 0x1000000, CRC(7dfe71a1) SHA1(f2053544de8a177ab931c4d6a9010dfb6cc92e31) ) + ROM_LOAD( "mpr-22266.ic5", 0x4800000, 0x1000000, CRC(3e9ac148) SHA1(05a5725c72bbfc65db47aaa677b95f07aa9a3909) ) + ROM_LOAD( "mpr-22267.ic6", 0x5800000, 0x1000000, CRC(67ec1027) SHA1(2432b33983bbc9b07477459adb5ee1a62b6c0ea3) ) + ROM_LOAD( "mpr-22268.ic7", 0x6800000, 0x1000000, CRC(536f5eea) SHA1(f1de8624f82595adf75693b604fb026bf3f778ee) ) + ROM_LOAD( "mpr-22269.ic8", 0x7800000, 0x1000000, CRC(6c0cf740) SHA1(da10b33a6e54afbe1d7e52801216e7119b0b33b1) ) + + // trojaned protection data (filename is address read from) + ROM_REGION( 0x200000, "naomibd_prot", ROMREGION_ERASE00 ) + ROM_LOAD( "a24db210.bin", 0x000000, 0x00005e, CRC(79fc852b) SHA1(58229b71d1a7067dd6ce3a617edc7d8bdd132036) ) ROM_END /* @@ -3736,6 +4009,15 @@ ROM_START( zombrvn ) ROM_LOAD("mpr-21726.ic19",0x9800000, 0x0800000, CRC(429bf290) SHA1(6733e1bcf100e73ab43273f6feedc187fcaa55d4) ) ROM_END +ROM_START( gunsur2 ) + ROM_REGION( 0x200000, "maincpu", 0) + NAOMI_BIOS + + ROM_REGION( 0xb800000, "user1", ROMREGION_ERASEFF) + ROM_LOAD( "bhf1vere.2f", 0x0000000, 0x0800000, CRC(121ea283) SHA1(e4bf2b90fa3d42727b8393ffa2c5a8863914a630) ) + ROM_LOAD( "bhf1ma2.4m", 0x2000000, 0x1000000, CRC(8073dec7) SHA1(2d4173ff0de37b95a8cb02e1b572a9cdeb448c24) ) +ROM_END + /* GD-ROM titles - a PIC supplies a decryption key PIC stuff @@ -3879,13 +4161,16 @@ GAME( 1998, naomi, 0, naomi, naomi, naomi, ROT0, "Sega", /* 0016C */ GAME( 1999, derbyoc, naomi, naomi, naomi, naomi, ROT0, "Sega", "Derby Owners Club (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0017C */ GAME( 1999, otrigger, naomi, naomi, naomi, naomi, ROT0, "Sega", "OutTrigger (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0019C */ GAME( 1999, dybb99, naomi, naomi, naomi, naomi, ROT0, "Sega", "Dynamite Baseball '99 (JPN) / World Series '99 (USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* 00??C */ GAME( 1999, smlg99, naomi, naomi, naomi, naomi, ROT0, "Sega", "Super Major League '99", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0020C */ GAME( 1999, samba, naomi, naomi, naomi, naomi, ROT0, "Sega", "Samba De Amigo (JPN)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* 0083C */ GAME( 1999, derbyoc2, naomi, naomi, naomi, naomi, ROT0, "Sega", "Derby Owners Club II (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0021C */ GAME( 2000, virnba, naomi, naomi, naomi, naomi, ROT0, "Sega", "Virtua NBA (JPN, USA, EXP, KOR, AUS)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0021C */ GAME( 2000, virnbao, virnba, naomi, naomi, naomi, ROT0, "Sega", "Virtua NBA (JPN, USA, EXP, KOR, AUS) (original)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0026C */ GAME( 2000, totd, naomi, naomi, naomi, naomi, ROT0, "Sega", "The Typing of the Dead (JPN, USA, EXP, KOR, AUS)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0027C */ GAME( 2000, smarinef, naomi, naomi, naomi, naomi, ROT0, "Sega", "Sega Marine Fishing", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0030C */ GAME( 2000, qmegamis, naomi, naomi, naomi, naomi, ROT0, "Sega", "Quiz Ah Megamisama (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0039C */ GAME( 2000, gram2000, naomi, naomi, naomi, naomi, ROT0, "Sega", "Giant Gram 2000 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* 0040C */ GAME( 2000, wwfroyal, naomi, naomi, naomi, naomi, ROT0, "Sega", "WWF Royal Rumble (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0041C */ GAME( 2000, slasho, naomi, naomi, naomi, naomi, ROT0, "Sega", "Slashout (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0044C */ GAME( 2001, csmash, naomi, naomi, naomi, naomi, ROT0, "Sega", "Cosmic Smash (JPN, USA, EXP, KOR, AUS) (rev. A)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0044C */ GAME( 2001, csmasho, csmash, naomi, naomi, naomi, ROT0, "Sega", "Cosmic Smash (JPN, USA, EXP, KOR, AUS) (original)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) @@ -3900,22 +4185,21 @@ GAME( 1998, naomi, 0, naomi, naomi, naomi, ROT0, "Sega", /* 0005C */ GAME( 1999, spawn, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Spawn (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0007C */ GAME( 2000, mvsc2, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Marvel vs. Capcom 2 (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0008C */ GAME( 2000, pstone2, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Power Stone 2 (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) -/* 841-0011C */ GAME( 2000, capsnk, naomi, naomi, naomi, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (000904 JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) -/* 841-0011C */ GAME( 2000, capsnka, capsnk, naomi, naomi, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (000804 JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* 0011C */ GAME( 2000, capsnk, naomi, naomi, naomi, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (000904 JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* 0011C */ GAME( 2000, capsnka, capsnk, naomi, naomi, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (000804 JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0012C */ GAME( 2000, cspike, naomi, naomi, naomi, naomi, ROT0, "Psikyo / Capcom", "Gun Spike (JPN) / Cannon Spike (USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0013C */ GAME( 2000, ggx, naomi, naomi, naomi, naomi, ROT0, "Arc System Works","Guilty Gear X (JPN)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* 0014C */ GAME( 2000, gwing2, naomi, naomi, naomi, naomi, ROT0, "Takumi / Capcom", "Giga Wing 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* 0015C */ GAME( 2000, pjustic, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Moero Justice Gakuen (JPN) / Project Justice (USA, EXP, KOR, AUS) ", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* 0016 */ GAME( 2000, deathcox, naomi, naomi, naomi, naomi, ROT0, "Ecole", "Death Crimson OX (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* xxxx */ GAME( 2001, hmgeo, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Heavy Metal Geomatrix (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) -/* Incomplete Dumps (just the program rom IC22) */ -/* 840-0083C */ GAME( 1999, derbyoc2, naomi, naomi, naomi, naomi, ROT0, "Sega", "Derby Owners Club II (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) -/* 841-0014C */ GAME( 2000, gwing2, naomi, naomi, naomi, naomi, ROT0, "Takumi / Capcom", "Giga Wing 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) -/* 841-0015C */ GAME( 2000, pjustic, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Moero Justice Gakuen (JPN) / Project Justice (USA, EXP, KOR, AUS) ", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) -/* 840-0040C */ GAME( 2000, wwfroyal, naomi, naomi, naomi, naomi, ROT0, "Sega", "WWF Royal Rumble (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +/* Games with incomplete dumps */ +/* xxxx */ GAME( 2001, gunsur2, naomi, naomi, naomi, naomi, ROT0, "Capcom / Namco", "Gun Survivor 2: Bio Hazard Code Veronica", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* Games with game specific bios sets */ GAME( 1998, hod2bios, 0, naomi, naomi, 0, ROT0, "Sega", "Naomi House of the Dead 2 Bios", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT ) -/* HOTD2 isn't dumped */ +GAME( 1999, hotd2, hod2bios, naomi, naomi, 0, ROT0, "Sega", "House of the Dead 2", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) GAME( 1999, f355bios, 0, naomi, naomi, 0, ROT0, "Sega", "Naomi Ferrari F355 Challenge Bios", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT ) GAME( 1999, f355, f355bios, naomi, naomi, 0, ROT0, "Sega", "Ferrari F355 Challenge", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) @@ -4908,27 +5192,53 @@ ROM_START( wldrider ) NAOMI2_BIOS ROM_REGION( 0xa800000, "user1", ROMREGION_ERASEFF) - ROM_LOAD("epr-23622.ic22", 0x0000000, 0x0400000, CRC(8acafa5b) SHA1(c92bcd40bad6ba8efd1edbfd7e439fb2b3c67fb0) ) - ROM_LOAD("ic.1", 0x0800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.2", 0x1000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.3", 0x1800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.4", 0x2000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.5", 0x2800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.6", 0x3000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.7", 0x3800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.8", 0x4000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.9", 0x4800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.10",0x5000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.11",0x5800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.12",0x6000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.13",0x6800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.14",0x7000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.15",0x7800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.16",0x8000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.17",0x8800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.18",0x9000000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.19",0x9800000, 0x0800000, NO_DUMP ) - ROM_LOAD("ic.20",0xa000000, 0x0800000, NO_DUMP ) + ROM_LOAD( "epr-23622.ic22", 0x0000000, 0x0400000, CRC(8acafa5b) SHA1(c92bcd40bad6ba8efd1edbfd7e439fb2b3c67fb0) ) + ROM_LOAD( "mpr-23611.ic1", 0x0800000, 0x1000000, CRC(943bc32a) SHA1(11ced99e9dbd7cc93031779e00d4ee1f2dff9086) ) + ROM_LOAD( "mpr-23612.ic2", 0x1800000, 0x1000000, CRC(f71d87e5) SHA1(c36d1d07702642db282278f1cf556ed472e930d3) ) + ROM_LOAD( "mpr-23613.ic3", 0x2800000, 0x1000000, CRC(689e783e) SHA1(1264c3389610bbf2745b7e6d50f327b1df33b63b) ) + ROM_LOAD( "mpr-23614.ic4", 0x3800000, 0x1000000, CRC(e5b8c5e5) SHA1(4b81ecc6375bf731dc3423cf87c2228eb304f2b5) ) + ROM_LOAD( "mpr-23615.ic5", 0x4800000, 0x1000000, CRC(95c35866) SHA1(a3dd4cd2c8818a3c5de7aa6c4afc74f872d52b37) ) + ROM_LOAD( "mpr-23616.ic6", 0x5800000, 0x1000000, CRC(6288848f) SHA1(a69ddde96d15cee9154ed3e87514286db6bbb622) ) + ROM_LOAD( "mpr-23617.ic7", 0x6800000, 0x1000000, CRC(19298892) SHA1(78493587dc49c7c99c5a98f152b17500003316b3) ) + ROM_LOAD( "mpr-23618.ic8", 0x7800000, 0x1000000, CRC(67d7b659) SHA1(44e75e16f2740c6e147e101a8714be8c5d9b71f3) ) + ROM_LOAD( "mpr-23619.ic9", 0x8800000, 0x1000000, CRC(a5f4f6af) SHA1(bb89d3f0f5bbaf7c40fa43680c7e51ef93f7ed26) ) + ROM_LOAD( "mpr-23620.ic10", 0x9800000, 0x1000000, CRC(67aa15a9) SHA1(42c24cbf7069c27430a71509a872cd1c4224aaeb) ) +ROM_END + +ROM_START( vf4cart ) + NAOMI2_BIOS + + ROM_REGION( 0xb800000, "user1", ROMREGION_ERASEFF) + ROM_LOAD( "epr-23785.ic22", 0x0000000, 0x0400000, CRC(9bd98d4b) SHA1(3b0622625317cd6b2736c5b4a23484fb8bf39e4b) ) + ROM_LOAD( "mpr-23774.ic1", 0x0800000, 0x1000000, CRC(0fe7b864) SHA1(357ca3a5d96d7ff27e06367e115ddfd00cb260e3) ) + ROM_LOAD( "mpr-23775.ic2", 0x1800000, 0x1000000, BAD_DUMP CRC(6c64d9d9) SHA1(d2033ca3ab9838cad39e17b5c1eb079c6d15b758) ) + ROM_LOAD( "mpr-23776.ic3", 0x2800000, 0x1000000, CRC(44b8429e) SHA1(0ec6b6156bef1621700791651903a4589f4b5f84) ) + ROM_LOAD( "mpr-23777.ic4", 0x3800000, 0x1000000, CRC(78a4264e) SHA1(40d045240173f330ac6f108b132f9a87884922be) ) + ROM_LOAD( "mpr-23778.ic5", 0x4800000, 0x1000000, CRC(02dee78b) SHA1(e08ce0fc0b1db2dcef957c2edb6d51db400a38cb) ) + ROM_LOAD( "mpr-23779.ic6", 0x5800000, 0x1000000, CRC(6e458eea) SHA1(4c85fcacf4ff46d4a137afcf5906092fd88fe4b1) ) + ROM_LOAD( "mpr-23780.ic7", 0x6800000, 0x1000000, CRC(a775a51c) SHA1(b3eae20e5e7d74252368fd902c4e94a6ba6cb154) ) + ROM_LOAD( "mpr-23781.ic8", 0x7800000, 0x1000000, BAD_DUMP CRC(689457fa) SHA1(734b6b5f2ba78af24a613aef8d4e739f296413f7) ) + ROM_LOAD( "mpr-23782.ic9", 0x8800000, 0x1000000, CRC(4f72e901) SHA1(a1d231c446d2c34e5a7e7145754b2313a2d03fd4) ) + ROM_LOAD( "mpr-23783.ic10", 0x9800000, 0x1000000, CRC(c8d4f6f9) SHA1(9e9df605c050b3780d7df34bd5041d30bc084d2d) ) + ROM_LOAD( "mpr-23784.ic11", 0xa800000, 0x1000000, BAD_DUMP CRC(3a7ebe78) SHA1(6f414db03761be0d2f995193df8146f3b82c18a8) ) +ROM_END + +ROM_START( clubkrte ) + NAOMI2_BIOS + + ROM_REGION( 0xb800000, "user1", ROMREGION_ERASEFF) + ROM_LOAD( "epr-23704.ic22", 0x0000000, 0x0400000, CRC(ff700a0d) SHA1(e2db0d2bd7dc88b3a487077e8ce56eb6cfd9b02d) ) + ROM_LOAD( "mpr-23693.ic1", 0x0800000, 0x1000000, CRC(28995764) SHA1(a1457f9935dde2e5aaa5ef245c736c0f2f8c74b7) ) + ROM_LOAD( "mpr-22694.ic2", 0x1800000, 0x1000000, CRC(37d30111) SHA1(4c07df8cd548cac79d48709e61f692d762471f8f) ) + ROM_LOAD( "mpr-22695.ic3", 0x2800000, 0x1000000, BAD_DUMP CRC(9fdeaa70) SHA1(2d01a49b8d8d23f61584bec31d75723cee47dc44) ) + ROM_LOAD( "mpr-22696.ic4", 0x3800000, 0x1000000, BAD_DUMP CRC(cb12ae00) SHA1(cf94ae123217071c169aa79c842f0a28abba9713) ) + ROM_LOAD( "mpr-22697.ic5", 0x4800000, 0x1000000, CRC(1383c742) SHA1(6efd17632a277a4bb0e47cc912fbc9865a8b14c3) ) + ROM_LOAD( "mpr-22698.ic6", 0x5800000, 0x1000000, BAD_DUMP CRC(1701cd3a) SHA1(e217206745ce9dca51733f77eb093b3ef2a10c5e) ) + ROM_LOAD( "mpr-22699.ic7", 0x6800000, 0x1000000, BAD_DUMP CRC(e58cfa77) SHA1(27c421c37d7e3df88cb7b2240bfec1ae460001a3) ) + ROM_LOAD( "mpr-22700.ic8", 0x7800000, 0x1000000, CRC(db9e5c1d) SHA1(db918c0fa1860f4345806e574d44354aba5fcd54) ) + ROM_LOAD( "mpr-22701.ic9", 0x8800000, 0x1000000, BAD_DUMP CRC(66ee25be) SHA1(17804308aa63bf58d2bde0b4b202d2bd0974a981) ) + ROM_LOAD( "mpr-22702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) ) + ROM_LOAD( "mpr-22703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) ) ROM_END /********************************************** @@ -5164,9 +5474,9 @@ GAME( 2001, naomi2, 0, naomi, naomi, 0, ROT0, "Sega", //Naomi 2 Cart Games /* Complete Dumps */ GAME( 2001, vstrik3c, naomi2, naomi, naomi, 0, ROT0, "Sega", "Virtua Striker 3 (Cart) (USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) - -/* Incomplete Dumps (just the program rom IC22) */ GAME( 2001, wldrider, naomi2, naomi, naomi, 0, ROT0, "Sega", "Wild Riders (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +GAME( 2001, vf4cart, naomi2, naomi, naomi, 0, ROT0, "Sega", "Virtua Fighter 4 (Cart)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) +GAME( 2002, clubkrte, naomi2, naomi, naomi, 0, ROT0, "Sega", "Club Kart: European Session", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) /* GDS-xxxx (Sega first party games) */ GAME( 2001, vstrik3, naomi2, naomigd, naomi, 0, ROT0, "Sega", "Virtua Striker 3 (GDS-0006)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING ) @@ -5208,14 +5518,6 @@ static const atomiswave_key ssu_key = { {4,0,1,2,5,7,3,6} }; -static const atomiswave_key df_key = { - {4,5,9,6,1,13,7,11,10,0,14,12,8,15,2,3}, - {9,15,28,7,13,24,2,23,21,1,22,16,18,8,17,31,27,6,30,12,4,20,5,19,0,25,3,29,10,14,11,26}, - {5,2,13,11,8,6,12,1,4,3,0,10,14,15,7,9}, - {11,6,10,0,12,1,8,14,2,9,13,3,7,4,15,5}, - {1,5,6,2,4,7,3,0} -}; - static const atomiswave_key rm_key = { {4,5,9,6,1,13,7,11,10,0,14,12,8,15,2,3}, {3,0,14,17,10,15,31,20,13,2,29,28,9,18,25,27,6,19,30,22,7,12,1,16,23,11,24,4,8,26,21,5}, @@ -5248,6 +5550,62 @@ static const atomiswave_key xh2_key = { {4,0,1,2,5,7,3,6} }; +static const atomiswave_key dolphin_key = { + {8,10,1,3,7,4,11,2,5,15,6,0,12,13,9,14}, + {11,8,6,25,2,7,23,28,5,10,21,20,1,26,17,19,14,27,22,30,15,4,9,24,31,3,16,12,0,18,29,13}, + {13,5,9,6,4,2,11,10,12,0,8,1,3,14,15,7}, + {1,13,11,3,8,7,9,10,12,15,4,14,0,5,6,2}, + {3,0,5,6,2,4,1,7} +}; + +static const atomiswave_key demofist_key = { + {4,5,9,6,1,13,7,11,10,0,14,12,8,15,2,3}, + {9,15,28,7,13,24,2,23,21,1,22,16,18,8,17,31,27,6,30,12,4,20,5,19,0,25,3,29,10,14,11,26}, + {5,2,13,11,8,6,12,1,4,3,0,10,14,15,7,9}, + {11,6,10,0,12,1,8,14,2,9,13,3,7,4,15,5}, + {1,5,6,2,4,7,3,0} +}; + +static const atomiswave_key rumblef_key = { + {4,5,9,6,1,13,7,11,10,0,14,12,8,15,2,3}, + {11,3,7,1,31,17,16,15,24,18,23,26,4,25,20,10,12,27,29,21,5,8,30,14,19,9,0,2,13,6,22,28}, + {7,11,10,3,15,6,14,4,9,5,8,0,1,12,2,13}, + {11,1,8,10,9,5,15,14,12,3,0,6,4,7,13,2}, + {4,0,1,2,5,7,3,6} +}; + +static const atomiswave_key ngbc_key = { + {4,5,9,6,1,13,7,11,10,0,14,12,8,15,2,3}, + {17,25,29,27,5,11,10,21,2,8,13,0,30,3,14,16,22,1,7,15,31,18,4,20,9,19,26,24,23,28,12,6}, + {15,3,2,11,7,14,6,12,1,13,0,8,9,4,10,5}, + {6,12,5,7,4,8,2,3,1,14,13,11,9,10,0,15}, + {5,1,0,3,4,6,2,7} +}; + +static const atomiswave_key kofnw_key = { + {4,5,9,6,1,13,7,11,10,0,14,12,8,15,2,3}, + {22,16,3,24,18,7,29,8,10,30,9,15,13,23,14,0,4,25,1,19,27,11,26,12,31,6,28,2,21,17,20,5}, + {8,15,0,6,5,11,1,12,9,14,13,7,3,2,10,4}, + {2,15,3,9,5,8,1,7,11,0,4,10,14,13,6,12}, + {4,0,3,7,1,2,6,5} +}; + +static const atomiswave_key kov7sprt_key = { + {14,1,11,15,7,3,8,13,0,4,2,12,6,10,5,9}, + {17,3,31,2,28,10,9,29,6,25,24,8,13,1,19,15,22,0,14,20,16,7,21,4,18,26,27,5,12,23,11,30}, + {4,8,11,15,3,14,7,12,1,0,9,5,6,13,2,10}, + {14,0,9,11,4,1,7,5,13,6,8,12,2,3,10,15}, + {2,1,0,5,4,6,7,3} +}; + +static const atomiswave_key ggisuka_key = { + {12,7,11,2,0,5,15,6,1,8,14,4,9,13,3,10}, + {14,6,2,4,26,20,21,10,29,23,18,31,1,28,17,15,9,30,24,16,0,13,27,11,22,12,5,7,8,3,19,25}, + {5,9,8,1,13,4,12,6,11,7,10,2,3,14,0,15}, + {15,5,12,14,13,1,11,10,8,7,4,2,0,3,9,6}, + {1,5,4,7,0,2,6,3} +}; + static UINT16 atomiswave_decrypt(UINT16 cipherText, int address, const atomiswave_key* key) { int b0,b1,b2,b3; @@ -5274,7 +5632,14 @@ static UINT16 atomiswave_decrypt(UINT16 cipherText, int address, const atomiswav static DRIVER_INIT( atomiswave ) { UINT64 *ROM = (UINT64 *)memory_region(machine, "maincpu"); +#if 0 + UINT8 *dcdata = (UINT8 *)memory_region(machine, "user1"); + FILE *f; + f = fopen("aw.bin", "wb"); + fwrite(dcdata, 0x8000000, 1, f); + fclose(f); +#endif // patch out long startup delay ROM[0x98e/8] = (ROM[0x98e/8] & U64(0xffffffffffff)) | (UINT64)0x0009<<48; @@ -5308,7 +5673,7 @@ static DRIVER_INIT(demofist) for(i=0; imachine, offset, mem_mask, &shift); dat = (UINT32)(data >> shift); @@ -563,8 +584,8 @@ WRITE64_HANDLER( dc_maple_w ) { maple_regs[reg] = 1; dat=maple_regs[SB_MDSTAR]; - //printf("Maple DMA: %08x %08x %08x %08x\n",maple_regs[SB_MDSTAR],maple_regs[SB_MDTSEL],maple_regs[SB_MDEN],maple_regs[SB_MDST]); - //printf(" %08x %08x %08x %08x\n",maple_regs[SB_MSYS],maple_regs[SB_MST],maple_regs[SB_MSHTCL],maple_regs[SB_MMSEL]); +// printf("Maple DMA: %08x %08x %08x %08x\n",maple_regs[SB_MDSTAR],maple_regs[SB_MDTSEL],maple_regs[SB_MDEN],maple_regs[SB_MDST]); +// printf(" %08x %08x %08x %08x\n",maple_regs[SB_MSYS],maple_regs[SB_MST],maple_regs[SB_MSHTCL],maple_regs[SB_MMSEL]); while (1) // do transfers { ddtdata.source=dat; // source address @@ -587,6 +608,7 @@ WRITE64_HANDLER( dc_maple_w ) command=buff[2] & 255; dap=(buff[2] >> 8) & 255; sap=(buff[2] >> 16) & 255; + func = buff[3]; //buff[0]=0; //if(buff[1] == 0x700) // printf("%08x %08x",buff[0],buff[2]); @@ -602,9 +624,10 @@ WRITE64_HANDLER( dc_maple_w ) case 3: ddtdata.length=1; #if DEBUG_MAPLE - printf("MAPLE: transfer command %x port %x\n", command, port); + printf("MAPLE: transfer command %x port %x length %x\n", command, port, length); #endif break; + case 0x80: // get data and compute checksum ddtdata.length=length; ddtdata.direction=0; @@ -842,7 +865,7 @@ WRITE64_HANDLER( dc_maple_w ) if (endflag) { - #if ENABLE_MAPLE_IRQ + #if 1 //ENABLE_MAPLE_IRQ /*TODO: this fixes moeru but breaks other games, understand why.*/ dc_sysctrl_regs[SB_ISTNRM] |= IST_DMA_MAPLE; dc_update_interrupt_status(space->machine); @@ -867,6 +890,160 @@ WRITE64_HANDLER( dc_maple_w ) } } +// implementation for Dreamcast and Atomiswave supports only standard Sega Dreamcast Maple commands and peripherals +READ64_HANDLER( dc_maple_r ) +{ + int reg; + UINT64 shift; + + reg = decode_reg32_64(space->machine, offset, mem_mask, &shift); + + #if DEBUG_MAPLE_REGS + mame_printf_verbose("MAPLE: Unmapped read %08x\n", 0x5f6c00+reg*4); + #endif + return (UINT64)maple_regs[reg] << shift; +} + +WRITE64_HANDLER( dc_maple_w ) +{ + int reg, func; + UINT64 shift; + UINT32 old,dat; + struct sh4_ddt_dma ddtdata; + UINT32 buff[512]; + UINT32 endflag,port,pattern,length,command,dap,sap,destination; + + reg = decode_reg32_64(space->machine, offset, mem_mask, &shift); + dat = (UINT32)(data >> shift); + old = maple_regs[reg]; + + #if DEBUG_MAPLE_REGS + mame_printf_verbose("MAPLE: [%08x=%x] write %" I64FMT "x to %x (reg %x: %s), mask %" I64FMT "x\n", 0x5f6c00+reg*4, dat, data >> shift, offset, reg, maple_names[reg], mem_mask); + #endif + + maple_regs[reg] = dat; // 5f6c00+reg*4=dat + switch (reg) + { + case SB_MDST: + maple_regs[reg] = old; + if (!(old & 1) && (dat & 1) && maple_regs[SB_MDEN] & 1) // 0 -> 1 + { + if (!(maple_regs[SB_MDTSEL] & 1)) + { + maple_regs[reg] = 1; + dat=maple_regs[SB_MDSTAR]; +// printf("Maple DMA: %08x %08x %08x %08x\n",maple_regs[SB_MDSTAR],maple_regs[SB_MDTSEL],maple_regs[SB_MDEN],maple_regs[SB_MDST]); +// printf(" %08x %08x %08x %08x\n",maple_regs[SB_MSYS],maple_regs[SB_MST],maple_regs[SB_MSHTCL],maple_regs[SB_MMSEL]); + while (1) // do transfers + { + ddtdata.source=dat; // source address + ddtdata.length=3; // words to transfer + ddtdata.size=4; // bytes per word + ddtdata.buffer=buff; // destination buffer + ddtdata.direction=0; // 0 source to buffer, 1 buffer to source + ddtdata.channel= -1; // not used + ddtdata.mode= -1; // copy from/to buffer + sh4_dma_ddt(cputag_get_cpu(space->machine, "maincpu"), &ddtdata); + + maple_regs[reg] = 0; + endflag=buff[0] & 0x80000000; + port=(buff[0] >> 16) & 3; + pattern=(buff[0] >> 8) & 7; + length=buff[0] & 255; + //if(length == 0) + // length = 0x100; + destination=buff[1]; + command=buff[2] & 255; + dap=(buff[2] >> 8) & 255; + sap=(buff[2] >> 16) & 255; + func = buff[3]; + //buff[0]=0; + //if(buff[1] == 0x700) + // printf("%08x %08x",buff[0],buff[2]); + ddtdata.size=4; + + if (pattern == 0) + { + char pL[8], pH[8]; + + if (port > 0) + buff[0]=0xffffffff; + switch (command) + { + case 1: // AW/DC MAPLE_CMD_INFO + ddtdata.length = sizeof(dc_controller_id)/4; + + buff[0] = 5; // MAPLE_RESP_INFO + memcpy(&buff[1], dc_controller_id, sizeof(dc_controller_id)); + break; + + case 2: // AW/DC MAPLE_CMD_EXT_INFO + ddtdata.length = sizeof(dc_controller_id)+sizeof(dc_controller_version)/4; + + buff[0] = 6; // MAPLE_RESP_EXT_INFO + memcpy(&buff[1], dc_controller_id, sizeof(dc_controller_id)); + memcpy(&buff[1+(0x70/4)], dc_controller_version, sizeof(dc_controller_version)); + break; + + case 3: // AW/DC MAPLE_CMD_RESET + ddtdata.length=1; + #if DEBUG_MAPLE + printf("MAPLE: transfer command %x port %x length %x\n", command, port, length); + #endif + break; + + case 9: // AW/DC MAPLE_CMD_GET_COND + buff[0] = 8; // MAPLE_RESP_DATA + + sprintf(pL, "P%dL", port+1); + sprintf(pH, "P%dH", port+1); + + buff[1] = func; + buff[2] = input_port_read(space->machine, pH)<<8 | input_port_read(space->machine, pL) | 0xffff0000; + buff[3] = 0xffffffff; + ddtdata.length=(8/4)+1; + break; + default: + #if DEBUG_MAPLE + printf("MAPLE: unknown transfer command %x port %x\n", command, port); + #endif + ddtdata.length=0; + endflag = 1; /*TODO: check this */ + //buff[0]=0xffffffff; + break; + } + } + ddtdata.destination=destination; + ddtdata.buffer=buff; + ddtdata.direction=1; + sh4_dma_ddt(cputag_get_cpu(space->machine, "maincpu"),&ddtdata); + + if (endflag) + { + #if ENABLE_MAPLE_IRQ + dc_sysctrl_regs[SB_ISTNRM] |= IST_DMA_MAPLE; + dc_update_interrupt_status(space->machine); + #endif + break; + } + // skip fixed packet header + dat += 8; + // skip transfer data + dat += (length + 1) * 4; + } // do transfers + maple_regs[reg] = 0; + } + else + { + #if DEBUG_MAPLE + printf("MAPLE: hardware trigger not supported yet\n"); + #endif + } + } + break; + } +} + INPUT_CHANGED( dc_coin_slots_callback ) { UINT32 *counter = (UINT32 *)param; @@ -950,7 +1127,7 @@ WRITE64_HANDLER( dc_g1_ctrl_w ) mame_printf_verbose("G1CTRL: unsupported transfer\n"); return; } -// printf("ROM board DMA to %x (PC %x)\n", g1bus_regs[SB_GDSTAR], cpu_get_pc(space->cpu)); +// printf("ROM board DMA to %x len %x (PC %x)\n", g1bus_regs[SB_GDSTAR], g1bus_regs[SB_GDLEN], cpu_get_pc(space->cpu)); ROM = (UINT8 *)devtag_get_info_ptr(space->machine, "rom_board", DEVINFO_PTR_MEMORY); dmaoffset = (UINT32)devtag_get_info_int(space->machine, "rom_board", DEVINFO_INT_DMAOFFSET); ddtdata.destination=g1bus_regs[SB_GDSTAR]; // destination address diff --git a/src/mame/machine/naomibd.c b/src/mame/machine/naomibd.c index d8633bdfc7f..a3d72d70b36 100644 --- a/src/mame/machine/naomibd.c +++ b/src/mame/machine/naomibd.c @@ -182,6 +182,8 @@ Atomiswave ROM board specs from Cah4e3 @ http://cah4e3.wordpress.com/2009/07/26/ #define NAOMIBD_FLAG_SPECIAL_MODE (4) // used to access protection registers #define NAOMIBD_FLAG_ADDRESS_SHUFFLE (2) // 0 to let protection chip en/decrypt, 1 for normal +#define NAOMIBD_PRINTF_PROTECTION (0) // 1 to printf protection access details + /************************************* * * Prototypes @@ -225,6 +227,9 @@ struct _naomibd_state UINT32 *prot_translate; int prot_reverse_bytes; + #if NAOMIBD_PRINTF_PROTECTION + int prot_pio_count; + #endif }; // maps protection offsets to real addresses @@ -254,6 +259,39 @@ static naomibd_config_table naomibd_translate_tbl[] = 0xad8c, 0, 0xf0000, 0x923d, 0, 0x100000, 0x4a65, 0, 0x110000, 0x9958, 0, 0x120000, 0x8216, 0, 0x130000, 0xaa91, 0, 0x140000, 0xd007, 0, 0x150000, 0xead, 0, 0x160000, 0x492, 0, 0x170000, 0xffffffff, 0xffffffff, 0xffffffff } }, + { "pjustic", 0, { 0x923d, 0, 0, 0x3e41, 0, 0x10000, 0xb7af, 0, 0x20000, + 0x9651, 0, 0x30000, 0xad8c, 0, 0x40000, 0xffffffff, 0xffffffff, 0xffffffff } }, + { "hmgeo", 0, { 0x6cc8, 0, 0x000000, 0x7b92, 0, 0x010000, 0x69bc, 0, 0x020000, + 0x6d16, 0, 0x030000, 0x6134, 0, 0x040000, 0x1340, 0, 0x050000, + 0x7716, 0, 0x060000, 0x2e1a, 0, 0x070000, 0x3030, 0, 0x080000, + 0x0870, 0, 0x090000, 0x2856, 0, 0x0a0000, 0x4224, 0, 0x0b0000, + 0x6df0, 0, 0x0c0000, 0x0dd8, 0, 0x0d0000, 0x576c, 0, 0x0e0000, + 0x0534, 0, 0x0f0000, 0x0904, 0, 0x100000, 0x2f14, 0, 0x110000, + 0x1792, 0, 0x120000, 0x6866, 0, 0x130000, 0x06fa, 0, 0x140000, + 0x2842, 0, 0x150000, 0x7cc8, 0, 0x160000, 0xffffffff, 0xffffffff, 0xffffffff } }, + { "wwfroyal",0, { 0xaaaa, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff } }, + { "gwing2", 0, { -1, 0x85ddc0, 0, 0xd567, 0, 0x10000, 0xe329, 0, 0x30000, 0xc112, 0, 0x50000, + 0xabcd, 0, 0x70000, 0xef01, 0, 0x90000, 0x1234, 0, 0xb0000, 0x5678, 0, 0xd0000, + 0x5555, 0, 0xf0000, 0x6666, 0, 0x110000, 0xa901, 0, 0x130000, 0xa802, 0, 0x150000, + 0x3232, 0, 0x170000, 0x8989, 0, 0x190000, 0x6655, 0, 0x1a0000, + 0x3944, 0, 0x1c0000, 0x655a, 0, 0x1d0000, 0xf513, 0, 0x1e0000, + 0xb957, 0, 0, 0x37ca, 0, 0, 0xffffffff, 0xffffffff, 0xffffffff } }, +/* { "pstone2", 0, { 0x4a65, 0, 0x000000, 0x0ead, 0, 0x010000, 0x0492, 0, 0x020000, 0x414a, 0, 0x030000, + 0xad8c, 0, 0x040000, 0x923d, 0, 0x050000, 0x4a65, 0, 0x060000, 0x9958, 0, 0x070000, + 0x8216, 0, 0x080000, 0xaa91, 0, 0x090000, 0xd007, 0, 0x0a0000, 0x71ee, 0, 0x0b0000, + 0x3e41, 0, 0x0c0000, 0xb7af, 0, 0x0d0000, 0x9651, 0, 0x0e0000, 0x0492, 0, 0x0f0000, + 0x414a, 0, 0x100000, 0xaf99, 0, 0x110000, 0x5182, 0, 0x120000, 0x08aa, 0, 0x130000, + 0x69d0, 0, 0x140000, 0x9d71, 0, 0x150000, 0xd319, 0, 0x160000, 0xcc09, 0, 0x170000, + 0x5ec4, 0, 0x180000, 0x7103, 0, 0x190000, 0xffffffff, 0xffffffff, 0xffffffff } }, +*/ + { "toyfight", 0,{ 0x0615, 0, 0x0000, 0x1999, 0, 0x1000, 0x7510, 0, 0x2000, 0x5736, 0, 0x3000, + 0xffffffff, 0xffffffff, 0xffffffff } }, + { "ggx", 0,{ -1, 0x200000, 0x100000, -1, 0x210004, 0x110000, -1, 0x220008, 0x120000, -1, 0x228000, 0x130000, + 0x3af9, 0, 0x000000, 0x2288, 0, 0x010000, 0xe5e6, 0, 0x020000, 0xebb0, 0, 0x030000, + 0x0228, 0, 0x040000, 0x872c, 0, 0x050000, 0xbba0, 0, 0x060000, 0x772f, 0, 0x070000, + 0x2924, 0, 0x080000, 0x3222, 0, 0x090000, 0x7954, 0, 0x0a0000, 0x5acd, 0, 0x0b0000, + 0xdd19, 0, 0x0c0000, 0x2428, 0, 0x0d0000, 0x3329, 0, 0x0e0000, 0x2142, 0, 0x0f0000, + 0xffffffff, 0xffffffff, 0xffffffff } }, }; /*************************************************************************** @@ -378,10 +416,18 @@ READ64_DEVICE_HANDLER( naomibd_r ) if (v->prot_translate == NULL) { - logerror("naomibd: reading protection data, but none was supplied\n"); + #if NAOMIBD_PRINTF_PROTECTION + v->prot_pio_count += 2; + printf("naomibd: reading protection data, but none was supplied (now %x bytes)\n", v->prot_pio_count); + #endif return 0; } + #if NAOMIBD_PRINTF_PROTECTION + v->prot_pio_count += 2; + printf("naomibd: PIO read count %x\n", v->prot_pio_count); + #endif + if (v->prot_reverse_bytes) { ret = (UINT64)(prot[byte_offset+1] | (prot[byte_offset]<<8)); @@ -393,10 +439,12 @@ READ64_DEVICE_HANDLER( naomibd_r ) v->prot_offset++; } + #if NAOMIBD_PRINTF_PROTECTION else { - logerror("Bad protection offset read %x\n", v->rom_offset); + printf("Bad protection offset read %x\n", v->rom_offset); } + #endif } else { @@ -564,6 +612,10 @@ WRITE64_DEVICE_HANDLER( naomibd_w ) v->rom_offset &= 0xffff0000; v->rom_offset |= ((data >> 32) & 0xffff); } + + #if NAOMIBD_PRINTF_PROTECTION + printf("PIO: offset to %x\n", v->rom_offset); + #endif } break; case 1: @@ -593,7 +645,11 @@ WRITE64_DEVICE_HANDLER( naomibd_w ) case 0x1fffc: // decryption key v->prot_key = data; -// printf("Protection: set up read @ %x, key %x (PIO %x DMA %x) [%s]\n", v->prot_offset, v->prot_key, v->rom_offset, v->dma_offset, cpuexec_describe_context(device->machine)); + #if NAOMIBD_PRINTF_PROTECTION + printf("Protection: set up read @ %x, key %x (PIO %x DMA %x) [%s]\n", v->prot_offset*2, v->prot_key, v->rom_offset, v->dma_offset, cpuexec_describe_context(device->machine)); + + v->prot_pio_count = 0; + #endif // translate address if necessary if (v->prot_translate != NULL) @@ -606,7 +662,9 @@ WRITE64_DEVICE_HANDLER( naomibd_w ) { if (v->prot_translate[i] == v->prot_key) { - mame_printf_verbose("Protection: got key %x, translated to %x\n", v->prot_key, v->prot_translate[i+2]); + #if NAOMIBD_PRINTF_PROTECTION + printf("Protection: got key %x, translated to %x\n", v->prot_key, v->prot_translate[i+2]); + #endif v->prot_offset = v->prot_translate[i+2]/2; break; } @@ -619,7 +677,9 @@ WRITE64_DEVICE_HANDLER( naomibd_w ) { if (v->prot_translate[i+1] == (v->prot_offset*2)) { - mame_printf_verbose("Protection: got offset %x, translated to %x\n", v->prot_offset, v->prot_translate[i+2]); + #if NAOMIBD_PRINTF_PROTECTION + printf("Protection: got offset %x, translated to %x\n", v->prot_offset, v->prot_translate[i+2]); + #endif v->prot_offset = v->prot_translate[i+2]/2; break; } @@ -630,14 +690,18 @@ WRITE64_DEVICE_HANDLER( naomibd_w ) } } } + #if NAOMIBD_PRINTF_PROTECTION else { - logerror("naomibd: protection not handled for this game\n"); + printf("naomibd: protection not handled for this game\n"); } + #endif break; default: - mame_printf_verbose("naomibd: unknown protection write %x @ %x\n", (UINT32)data, offset); + #if NAOMIBD_PRINTF_PROTECTION + printf("naomibd: unknown protection write %x @ %x\n", (UINT32)data, offset); + #endif break; } } @@ -908,6 +972,9 @@ static DEVICE_START( naomibd ) /* find the protection address translation for this game */ v->prot_translate = (UINT32 *)0; + #if NAOMIBD_PRINTF_PROTECTION + v->prot_pio_count = 0; + #endif for (i=0; imachine->gamedrv->name, naomibd_translate_tbl[i].name)) @@ -1030,11 +1097,13 @@ DEVICE_GET_INFO( naomibd ) case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(naomibd_config); break; case DEVINFO_INT_CLASS: info->i = DEVICE_CLASS_PERIPHERAL; break; case DEVINFO_INT_DMAOFFSET: -// printf("DMA source %x, flags %x\n", get_safe_token(device)->dma_offset, get_safe_token(device)->dma_offset_flags); + #if NAOMIBD_PRINTF_PROTECTION + printf("DMA source %08x, flags %x\n", get_safe_token(device)->dma_offset, get_safe_token(device)->dma_offset_flags); + #endif // if the flag is cleared that lets the protection chip go, - // we need to handle this specially. - if (!(get_safe_token(device)->dma_offset_flags & NAOMIBD_FLAG_ADDRESS_SHUFFLE)) + // we need to handle this specially. but not on DIMM boards. + if (!(get_safe_token(device)->dma_offset_flags & NAOMIBD_FLAG_ADDRESS_SHUFFLE) && (get_safe_token(device)->type == ROM_BOARD)) { if (!strcmp(device->machine->gamedrv->name, "qmegamis")) { @@ -1089,7 +1158,7 @@ DEVICE_GET_INFO( naomibd ) } break; case DEVINFO_STR_FAMILY: strcpy(info->s, "Naomi/Atomiswave plug-in board"); break; - case DEVINFO_STR_VERSION: strcpy(info->s, "1.0"); break; + case DEVINFO_STR_VERSION: strcpy(info->s, "1.1"); break; case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break; case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break; } diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index 115b256d835..4a10fabcdb0 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -4339,7 +4339,9 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( naomi2 ) DRIVER( hod2bios ) /* 1998.11 The House of the Dead 2 */ + DRIVER( hotd2 ) /* 1998.11 The House of the Dead 2 */ DRIVER( dybbnao ) /* 1998.12 Dynamite Baseball NAOMI */ + DRIVER( smlg99 ) /* 1999.?? Super Major League '99 */ DRIVER( pstone ) /* 1999.02 Power Stone */ /* 1999.02 Crazy Taxi */ DRIVER( zombrvn ) /* 1999.02 Zombie Revenge */ @@ -4416,7 +4418,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 /* 2001.06 Crackin' DJ Part2 */ DRIVER( wsbbgd ) /* 2001.06 Super Major League */ DRIVER( spkrbtl ) /* 2001.07 Spikers Battle */ - /* 2001.07 Gun Survivor 2: Bio Hazard Code Veronica */ + DRIVER( gunsur2 ) /* 2001.07 Gun Survivor 2: Bio Hazard Code Veronica */ /* 2001.07 Dokidoki Idol Star Seeker */ DRIVER( cvs2gd ) /* 2001.08 Capcom vs. SNK 2 */ DRIVER( gundmxgd ) /* 2001.09 Kidou Senshi Gundam Renpou vs. Zeon DX */ @@ -4510,12 +4512,14 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 /* 2001.06 Club Kart */ DRIVER( beachspi ) /* 2001.07 Beach Spikers */ /* 2001.08 Wave Runner GP */ - DRIVER( vf4 ) /* 2001.08.02 Virtua Fighter 4 */ + DRIVER( vf4cart ) /* 2001.08.02 Virtua Fighter 4 (cartridge) */ + DRIVER( vf4 ) /* 2001.08.02 Virtua Fighter 4 (GD-ROM) */ DRIVER( vf4b ) /* 2001.08.20 Virtua Fighter 4 ver.B */ DRIVER( vf4c ) /* 2002.01.31 Virtua Fighter 4 ver.C */ /* 2002.02 The King of Route 66 */ DRIVER( initd ) /* 2002.03 Initial D Arcade Stage */ DRIVER( initdexp ) /* 200?.?? Initial D Export Version */ + DRIVER( clubkrte ) /* 2002.?? Club Kart: European Session */ /* 2002.06 WCCF SERIE A 2001-2002 */ /* 2002.07 Soul Surfer */ DRIVER( vf4evoa ) /* 2002.08 Virtua Fighter 4 Evolution */ @@ -4548,19 +4552,20 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( sprtshot ) /* 2002.12 Sports Shooting USA */ /* 2003.03 Guilty Gear X ver.1.5 */ DRIVER( demofist ) /* 2003.06 Demolish Fist */ - /* 2003.08 Dolphin Blue */ - /* 2003.12 Guilty Gear Isuka */ + DRIVER( dolphin ) /* 2003.08 Dolphin Blue */ + DRIVER( ggisuka ) /* 2003.12 Guilty Gear Isuka */ /* 2003.12 Sangoku Senki Shichisei Tensei (IGS) */ - /* 2004.03 The Rumble Fish */ + DRIVER( rumblef ) /* 2004.03 The Rumble Fish */ DRIVER( rangrmsn ) /* 2004.03 Ranger Mission */ /* 2004.06 Salary Man Kintarou Net Select */ - /* 2004.07 The King of Fighters Neo Wave */ + DRIVER( kofnw ) /* 2004.07 The King of Fighters Neo Wave */ DRIVER( xtrmhunt ) /* 2004.09 Extreme Hunting */ /* 2004.09 Dirty Pig Skin Football */ /* 2004.09 Faster than Speed */ + DRIVER( kov7sprt ) /* 2004.?? Knights of Valour - The Seven Sprits */ /* 2005.03 Net Select Keiba Victory Furlong */ /* 2005.03 The Rumble Fish 2 */ - /* 2005.07 NeoGeo Battle Colloseum */ + DRIVER( ngbc ) /* 2005.07 NeoGeo Battle Colloseum */ /* 2005.09 Samurai Spirits Tenkaichi Kenkakuden */ /* 2005.10 The King of Fighters XI */ DRIVER( fotns ) /* 2005.12 Hokuto no Ken */