From 2ce5c97909e73d5e001495bd0d2e65604df49c7b Mon Sep 17 00:00:00 2001 From: "R. Belmont" Date: Sat, 1 Oct 2011 19:32:39 +0000 Subject: [PATCH] sh3/4: fixed big-endian mode [R. Belmont] --- src/emu/cpu/sh4/sh4.c | 72 ++++++++++++++++++++ src/emu/cpu/sh4/sh4dasm.c | 5 ++ src/mame/drivers/cavesh3.c | 135 +++++++++++++++++++------------------ 3 files changed, 146 insertions(+), 66 deletions(-) diff --git a/src/emu/cpu/sh4/sh4.c b/src/emu/cpu/sh4/sh4.c index bf74d97941b..2107111e2ed 100644 --- a/src/emu/cpu/sh4/sh4.c +++ b/src/emu/cpu/sh4/sh4.c @@ -31,6 +31,7 @@ #ifndef USE_SH4DRC CPU_DISASSEMBLE( sh4 ); +CPU_DISASSEMBLE( sh4be ); /* Called for unimplemented opcodes */ static void TODO(sh4_state *sh4) @@ -3301,7 +3302,67 @@ static CPU_EXECUTE( sh4 ) sh4->pc -= 2; } else + { opcode = sh4->direct->read_decrypted_word((UINT32)(sh4->pc & AM), WORD2_XOR_LE(0)); + } + + debugger_instruction_hook(device, sh4->pc & AM); + + sh4->delay = 0; + sh4->pc += 2; + sh4->ppc = sh4->pc; + + switch (opcode & ( 15 << 12)) + { + case 0<<12: op0000(sh4, opcode); break; + case 1<<12: op0001(sh4, opcode); break; + case 2<<12: op0010(sh4, opcode); break; + case 3<<12: op0011(sh4, opcode); break; + case 4<<12: op0100(sh4, opcode); break; + case 5<<12: op0101(sh4, opcode); break; + case 6<<12: op0110(sh4, opcode); break; + case 7<<12: op0111(sh4, opcode); break; + case 8<<12: op1000(sh4, opcode); break; + case 9<<12: op1001(sh4, opcode); break; + case 10<<12: op1010(sh4, opcode); break; + case 11<<12: op1011(sh4, opcode); break; + case 12<<12: op1100(sh4, opcode); break; + case 13<<12: op1101(sh4, opcode); break; + case 14<<12: op1110(sh4, opcode); break; + default: op1111(sh4, opcode); break; + } + + if (sh4->test_irq && !sh4->delay) + { + sh4_check_pending_irq(sh4, "mame_sh4_execute"); + } + sh4->sh4_icount--; + } while( sh4->sh4_icount > 0 ); +} + +static CPU_EXECUTE( sh4be ) +{ + sh4_state *sh4 = get_safe_token(device); + + if (sh4->cpu_off) + { + sh4->sh4_icount = 0; + return; + } + + do + { + UINT32 opcode; + + if (sh4->delay) + { + opcode = sh4->direct->read_decrypted_word((UINT32)(sh4->delay & AM), WORD_XOR_LE(6)); + sh4->pc -= 2; + } + else + { + opcode = sh4->direct->read_decrypted_word((UINT32)(sh4->pc & AM), WORD_XOR_LE(6)); + } debugger_instruction_hook(device, sh4->pc & AM); @@ -3587,6 +3648,9 @@ static ADDRESS_MAP_START( sh4_internal_map, AS_PROGRAM, 64 ) AM_RANGE(0xFE000000, 0xFFFFFFFF) AM_READWRITE32(sh4_internal_r, sh4_internal_w, U64(0xffffffffffffffff)) ADDRESS_MAP_END +static ADDRESS_MAP_START( sh3_internal_map, AS_PROGRAM, 64 ) +ADDRESS_MAP_END + /************************************************************************** * Generic get_info @@ -3814,6 +3878,8 @@ CPU_GET_INFO( sh3 ) case DEVINFO_STR_NAME: strcpy(info->s, "SH-3"); break; case DEVINFO_STR_FAMILY: strcpy(info->s, "Hitachi SH7700"); break; + case DEVINFO_PTR_INTERNAL_MEMORY_MAP + AS_PROGRAM: info->internal_map64 = ADDRESS_MAP_NAME(sh3_internal_map); break; + default: CPU_GET_INFO_CALL(sh4); break; } } @@ -3824,11 +3890,15 @@ CPU_GET_INFO( sh3be ) { /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(sh3); break; + case CPUINFO_FCT_EXECUTE: info->execute = CPU_EXECUTE_NAME(sh4be); break; + case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(sh4be); break; /* --- the following bits of info are returned as NULL-terminated strings --- */ case DEVINFO_STR_NAME: strcpy(info->s, "SH-3"); break; case DEVINFO_STR_FAMILY: strcpy(info->s, "Hitachi SH7700"); break; + case DEVINFO_PTR_INTERNAL_MEMORY_MAP + AS_PROGRAM: info->internal_map64 = ADDRESS_MAP_NAME(sh3_internal_map); break; + case DEVINFO_INT_ENDIANNESS: info->i = ENDIANNESS_BIG; break; default: CPU_GET_INFO_CALL(sh4); break; @@ -3839,6 +3909,8 @@ CPU_GET_INFO( sh4be ) { switch (state) { + case CPUINFO_FCT_EXECUTE: info->execute = CPU_EXECUTE_NAME(sh4be); break; + case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(sh4be); break; case DEVINFO_INT_ENDIANNESS: info->i = ENDIANNESS_BIG; break; default: CPU_GET_INFO_CALL(sh4); break; } diff --git a/src/emu/cpu/sh4/sh4dasm.c b/src/emu/cpu/sh4/sh4dasm.c index 4ec1f8fcd9f..62ef92eb19d 100644 --- a/src/emu/cpu/sh4/sh4dasm.c +++ b/src/emu/cpu/sh4/sh4dasm.c @@ -816,3 +816,8 @@ CPU_DISASSEMBLE( sh4 ) return DasmSH4( buffer, pc, (oprom[1] << 8) | oprom[0] ); } +CPU_DISASSEMBLE( sh4be ) +{ + return DasmSH4( buffer, pc, (oprom[0] << 8) | oprom[1] ); +} + diff --git a/src/mame/drivers/cavesh3.c b/src/mame/drivers/cavesh3.c index 82029ffccee..dd43c6fae09 100644 --- a/src/mame/drivers/cavesh3.c +++ b/src/mame/drivers/cavesh3.c @@ -27,6 +27,9 @@ SCREEN_UPDATE(cavesh3) static ADDRESS_MAP_START( cavesh3_map, AS_PROGRAM, 64 ) AM_RANGE(0x00000000, 0x001fffff) AM_ROM AM_REGION("maincpu", 0) + AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_REGION("game", 0) // or mirror of the maincpu ROM? +// I/O at 040xxxxx - 04000130 appears to be the FPGA programming port + AM_RANGE(0x0c000000, 0x0c7fffff) AM_RAM // work RAM ADDRESS_MAP_END static ADDRESS_MAP_START( cavesh3_port, AS_IO, 64 ) @@ -43,7 +46,7 @@ static const struct sh4_config sh4cpu_config = { 1, 0, 1, 0, 0, 0, 1, 1, static MACHINE_CONFIG_START( cavesh3, cavesh3_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", SH3LE, CAVE_CPU_CLOCK) + MCFG_CPU_ADD("maincpu", SH3BE, CAVE_CPU_CLOCK) MCFG_CPU_CONFIG(sh4cpu_config) MCFG_CPU_PROGRAM_MAP(cavesh3_map) MCFG_CPU_IO_MAP(cavesh3_port) @@ -71,158 +74,158 @@ All roms are flash roms with no lables, so keep the ROM_START( mushisam ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD("u4", 0x000000, 0x200000, CRC(0b5b30b2) SHA1(35fd1bb1561c30b311b4325bc8f4628f2fccd20b) ) /* (2004/10/12 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(0b5b30b2) SHA1(35fd1bb1561c30b311b4325bc8f4628f2fccd20b) ) /* (2004/10/12 MASTER VER.) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD("u2", 0x000000, 0x8400000, CRC(b1f826dc) SHA1(c287bd9f571d0df03d7fcbcf3c57c74ce564ab05) ) /* (2004/10/12 MASTER VER.) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(b1f826dc) SHA1(c287bd9f571d0df03d7fcbcf3c57c74ce564ab05) ) /* (2004/10/12 MASTER VER.) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD("u23", 0x000000, 0x400000, CRC(138e2050) SHA1(9e86489a4e65af5efb5495adf6d4b3e01d5b2816) ) - ROM_LOAD("u24", 0x400000, 0x400000, CRC(e3d05c9f) SHA1(130c3d62317da1729c85bd178bd51500edd73ada) ) + ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(138e2050) SHA1(9e86489a4e65af5efb5495adf6d4b3e01d5b2816) ) + ROM_LOAD16_WORD_SWAP("u24", 0x400000, 0x400000, CRC(e3d05c9f) SHA1(130c3d62317da1729c85bd178bd51500edd73ada) ) ROM_END ROM_START( mushisama ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD("u4", 0x000000, 0x200000, CRC(9f1c7f51) SHA1(f82ae72ec03687904ca7516887080be92365a5f3) ) /* (2004/10/12 MASTER VER) */ + ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(9f1c7f51) SHA1(f82ae72ec03687904ca7516887080be92365a5f3) ) /* (2004/10/12 MASTER VER) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD("u2", 0x000000, 0x8400000, CRC(2cd13810) SHA1(40e45e201b60e63a060b68d4cc767eb64cfb99c2) ) /* (2004/10/12 MASTER VER) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(2cd13810) SHA1(40e45e201b60e63a060b68d4cc767eb64cfb99c2) ) /* (2004/10/12 MASTER VER) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD("u23", 0x000000, 0x400000, CRC(138e2050) SHA1(9e86489a4e65af5efb5495adf6d4b3e01d5b2816) ) - ROM_LOAD("u24", 0x400000, 0x400000, CRC(e3d05c9f) SHA1(130c3d62317da1729c85bd178bd51500edd73ada) ) + ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(138e2050) SHA1(9e86489a4e65af5efb5495adf6d4b3e01d5b2816) ) + ROM_LOAD16_WORD_SWAP("u24", 0x400000, 0x400000, CRC(e3d05c9f) SHA1(130c3d62317da1729c85bd178bd51500edd73ada) ) ROM_END ROM_START( espgal2 ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(09c908bb) SHA1(7d6031fd3542b3e1d296ff218feb40502fd78694) ) /* (2005/11/14 MASTER VER) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(09c908bb) SHA1(7d6031fd3542b3e1d296ff218feb40502fd78694) ) /* (2005/11/14 MASTER VER) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(222f58c7) SHA1(d47a5085a1debd9cb8c61d88cd39e4f5036d1797) ) /* (2005/11/14 MASTER VER) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(222f58c7) SHA1(d47a5085a1debd9cb8c61d88cd39e4f5036d1797) ) /* (2005/11/14 MASTER VER) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(b9a10c22) SHA1(4561f95c6018c9716077224bfe9660e61fb84681) ) - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(c76b1ec4) SHA1(b98a53d41a995d968e0432ed824b0b06d93dcea8) ) + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(b9a10c22) SHA1(4561f95c6018c9716077224bfe9660e61fb84681) ) + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(c76b1ec4) SHA1(b98a53d41a995d968e0432ed824b0b06d93dcea8) ) ROM_END ROM_START( mushitam ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD("u4", 0x000000, 0x200000, CRC(4a23e6c8) SHA1(d44c287bb88e6d413a8d35d75bc1b4928ad52cdf) ) /* (2005/09/09 MASTER VER) */ + ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(4a23e6c8) SHA1(d44c287bb88e6d413a8d35d75bc1b4928ad52cdf) ) /* (2005/09/09 MASTER VER) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD("u2", 0x000000, 0x8400000, CRC(3f93ff82) SHA1(6f6c250aa7134016ffb288d056bc937ea311f538) ) /* (2005/09/09 MASTER VER) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(3f93ff82) SHA1(6f6c250aa7134016ffb288d056bc937ea311f538) ) /* (2005/09/09 MASTER VER) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD("u23", 0x000000, 0x400000, CRC(701a912a) SHA1(85c198946fb693d99928ea2595c84ba4d9dc8157) ) - ROM_LOAD("u24", 0x400000, 0x400000, CRC(6feeb9a1) SHA1(992711c80e660c32f97b343c2ce8184fddd7364e) ) + ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(701a912a) SHA1(85c198946fb693d99928ea2595c84ba4d9dc8157) ) + ROM_LOAD16_WORD_SWAP("u24", 0x400000, 0x400000, CRC(6feeb9a1) SHA1(992711c80e660c32f97b343c2ce8184fddd7364e) ) ROM_END ROM_START( futari15 ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD("u4", 0x000000, 0x200000, CRC(e8c5f128) SHA1(45fb8066fdbecb83fdc2e14555c460d0c652cd5f) ) /* (2006/12/8.MAST VER. 1.54.) */ + ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(e8c5f128) SHA1(45fb8066fdbecb83fdc2e14555c460d0c652cd5f) ) /* (2006/12/8.MAST VER. 1.54.) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD("u2", 0x000000, 0x8400000, CRC(b9eae1fc) SHA1(410f8e7cfcbfd271b41fb4f8d049a13a3191a1f9) ) /* (2006/12/8.MAST VER. 1.54.) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(b9eae1fc) SHA1(410f8e7cfcbfd271b41fb4f8d049a13a3191a1f9) ) /* (2006/12/8.MAST VER. 1.54.) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD("u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) - ROM_LOAD("u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) + ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) + ROM_LOAD16_WORD_SWAP("u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) ROM_END ROM_START( futari15a ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD("u4", 0x000000, 0x200000, CRC(a609cf89) SHA1(56752fae9f42fa852af8ee2eae79e25ec7f17953) ) /* (2006/12/8 MAST VER 1.54) */ + ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(a609cf89) SHA1(56752fae9f42fa852af8ee2eae79e25ec7f17953) ) /* (2006/12/8 MAST VER 1.54) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD("u2", 0x000000, 0x8400000, CRC(b9d815f9) SHA1(6b6f668b0bbb087ffac65e4f0d8bd9d5b28eeb28) ) /* (2006/12/8 MAST VER 1.54) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(b9d815f9) SHA1(6b6f668b0bbb087ffac65e4f0d8bd9d5b28eeb28) ) /* (2006/12/8 MAST VER 1.54) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD("u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) - ROM_LOAD("u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) + ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) + ROM_LOAD16_WORD_SWAP("u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) ROM_END ROM_START( futari10 ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(b127dca7) SHA1(e1f518bc72fc1cdf69aefa89eafa4edaf4e84778) ) /* (2006/10/23 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(b127dca7) SHA1(e1f518bc72fc1cdf69aefa89eafa4edaf4e84778) ) /* (2006/10/23 MASTER VER.) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(78ffcd0c) SHA1(0e2937edec15ce3f5741b72ebd3bbaaefffb556e) ) /* (2006/10/23 MASTER VER.) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(78ffcd0c) SHA1(0e2937edec15ce3f5741b72ebd3bbaaefffb556e) ) /* (2006/10/23 MASTER VER.) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) ROM_END ROM_START( futariblk ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(6db13c62) SHA1(6a53ce7f70b754936ccbb3a4674d4b2f03979644) ) /* (2007/12/11 BLACK LABEL VER) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(6db13c62) SHA1(6a53ce7f70b754936ccbb3a4674d4b2f03979644) ) /* (2007/12/11 BLACK LABEL VER) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(08c6fd62) SHA1(e1fc386b2b0e41906c724287cbf82304297e0150) ) /* (2007/12/11 BLACK LABEL VER) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(08c6fd62) SHA1(e1fc386b2b0e41906c724287cbf82304297e0150) ) /* (2007/12/11 BLACK LABEL VER) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) ) + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(c631a766) SHA1(8bb6934a2f5b8a9841c3dcf85192b1743773dd8b) ) ROM_END ROM_START( ibara ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(8e6c155d) SHA1(38ac2107dc7824836e2b4e04c7180d5ae43c9b79) ) /* (2005/03/22 MASTER VER..) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(8e6c155d) SHA1(38ac2107dc7824836e2b4e04c7180d5ae43c9b79) ) /* (2005/03/22 MASTER VER..) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(55840976) SHA1(4982bdce84f9603adfed7a618f18bc80359ab81e) ) /* (2005/03/22 MASTER VER..) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(55840976) SHA1(4982bdce84f9603adfed7a618f18bc80359ab81e) ) /* (2005/03/22 MASTER VER..) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(ee5e585d) SHA1(7eeba4ee693060e927f8c46b16e39227c6a62392) ) - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(f0aa3cb6) SHA1(f9d137cd879e718811b2d21a0af2a9c6b7dca2f9) ) + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(ee5e585d) SHA1(7eeba4ee693060e927f8c46b16e39227c6a62392) ) + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(f0aa3cb6) SHA1(f9d137cd879e718811b2d21a0af2a9c6b7dca2f9) ) ROM_END ROM_START( ibarablk ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(ee1f1f77) SHA1(ac276f3955aa4dde2544af4912819a7ae6bcf8dd) ) /* (2006/02/06. MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(ee1f1f77) SHA1(ac276f3955aa4dde2544af4912819a7ae6bcf8dd) ) /* (2006/02/06. MASTER VER.) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(5e46be44) SHA1(bed5f1bf452f2cac58747ecabec3c4392566a3a7) ) /* (2006/02/06. MASTER VER.) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(5e46be44) SHA1(bed5f1bf452f2cac58747ecabec3c4392566a3a7) ) /* (2006/02/06. MASTER VER.) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(a436bb22) SHA1(0556e771cc02638bf8814315ba671c2d442594f1) ) /* (2006/02/06 MASTER VER.) */ - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(d11ab6b6) SHA1(2132191cbe847e2560423e4545c969f21f8ff825) ) /* (2006/02/06 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(a436bb22) SHA1(0556e771cc02638bf8814315ba671c2d442594f1) ) /* (2006/02/06 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(d11ab6b6) SHA1(2132191cbe847e2560423e4545c969f21f8ff825) ) /* (2006/02/06 MASTER VER.) */ ROM_END ROM_START( ibarablka ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(a9d43839) SHA1(507696e616608c05893c7ac2814b3365e9cb0720) ) /* (2006/02/06 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(a9d43839) SHA1(507696e616608c05893c7ac2814b3365e9cb0720) ) /* (2006/02/06 MASTER VER.) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(33400d96) SHA1(09c22b5431ac3726bf88c56efd970f56793f825a) ) /* (2006/02/06 MASTER VER.) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(33400d96) SHA1(09c22b5431ac3726bf88c56efd970f56793f825a) ) /* (2006/02/06 MASTER VER.) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(a436bb22) SHA1(0556e771cc02638bf8814315ba671c2d442594f1) ) /* (2006/02/06 MASTER VER.) */ - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(d11ab6b6) SHA1(2132191cbe847e2560423e4545c969f21f8ff825) ) /* (2006/02/06 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(a436bb22) SHA1(0556e771cc02638bf8814315ba671c2d442594f1) ) /* (2006/02/06 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(d11ab6b6) SHA1(2132191cbe847e2560423e4545c969f21f8ff825) ) /* (2006/02/06 MASTER VER.) */ ROM_END ROM_START( deathsml ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(1a7b98bf) SHA1(07798a4a846e5802756396b34df47d106895c1f1) ) /* (2007/10/09 MASTER VER) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(1a7b98bf) SHA1(07798a4a846e5802756396b34df47d106895c1f1) ) /* (2007/10/09 MASTER VER) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(d45b0698) SHA1(7077b9445f5ed4749c7f683191ccd312180fac38) ) /* (2007/10/09 MASTER VER) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(d45b0698) SHA1(7077b9445f5ed4749c7f683191ccd312180fac38) ) /* (2007/10/09 MASTER VER) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(aab718c8) SHA1(0e636c46d06151abd6f73232bc479dafcafe5327) ) - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(83881d84) SHA1(6e2294b247dfcbf0ced155dc45c706f29052775d) ) + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(aab718c8) SHA1(0e636c46d06151abd6f73232bc479dafcafe5327) ) + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(83881d84) SHA1(6e2294b247dfcbf0ced155dc45c706f29052775d) ) ROM_END ROM_START( mmpork ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF) - ROM_LOAD( "u4", 0x000000, 0x200000, CRC(d06cfa42) SHA1(5707feb4b3e5265daf5926f38c38612b24106f1f) ) /* (2007/ 4/17 MASTER VER.) */ + ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(d06cfa42) SHA1(5707feb4b3e5265daf5926f38c38612b24106f1f) ) /* (2007/ 4/17 MASTER VER.) */ - ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF) - ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(1ee961b8) SHA1(81a2eba704ac1cf7fc44fa7c6a3f50e3570c104f) ) /* (2007/ 4/17 MASTER VER.) */ + ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF) + ROM_LOAD16_WORD_SWAP( "u2", 0x000000, 0x8400000, CRC(1ee961b8) SHA1(81a2eba704ac1cf7fc44fa7c6a3f50e3570c104f) ) /* (2007/ 4/17 MASTER VER.) */ ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF) - ROM_LOAD( "u23", 0x000000, 0x400000, CRC(4a4b36df) SHA1(5db5ce6fa47e5ca3263d4bd19315890c6d29df66) ) - ROM_LOAD( "u24", 0x400000, 0x400000, CRC(ce83d07b) SHA1(a5947467c8f5b7c4b0ad8e32df2ee29b787e355f) ) + ROM_LOAD16_WORD_SWAP( "u23", 0x000000, 0x400000, CRC(4a4b36df) SHA1(5db5ce6fa47e5ca3263d4bd19315890c6d29df66) ) + ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(ce83d07b) SHA1(a5947467c8f5b7c4b0ad8e32df2ee29b787e355f) ) ROM_END