diff options
author | MetalliC <0vetal0@gmail.com> | 2016-08-01 21:00:27 +0300 |
---|---|---|
committer | MetalliC <0vetal0@gmail.com> | 2016-08-01 21:00:27 +0300 |
commit | 203e6dc8293414dc1839eec7a48d875f6fc902a3 (patch) | |
tree | 3c3a93deb0f83c3370676ab74af57d0fd39acdbe /src | |
parent | 871656c98caca81aa501c3dbdc8d0a581e2b0178 (diff) |
atomiswave use ROM_PARAMETER for keys, NAOMI BIOS docs update
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/naomi.cpp | 170 | ||||
-rw-r--r-- | src/mame/machine/awboard.cpp | 31 | ||||
-rw-r--r-- | src/mame/machine/awboard.h | 9 |
3 files changed, 96 insertions, 114 deletions
diff --git a/src/mame/drivers/naomi.cpp b/src/mame/drivers/naomi.cpp index 400d9578067..770f1c72c4f 100644 --- a/src/mame/drivers/naomi.cpp +++ b/src/mame/drivers/naomi.cpp @@ -258,24 +258,21 @@ Notes: CN12 - 5 volt output connector ---------------------------------------------------------- -Bios Version Information | ---------------------------------------------------------- - Bios | Support | Support | - Label | GD-ROM | Cabinet Link | ---------------------------------------------------------- -Naomi / GD-ROM | | | - EPR-21576D (and earlier) | No | No | - EPR-21576E | Yes | No | - EPR-21576F | Yes | Yes | - EPR-21576G (and newer) | Yes | Yes | ---------------------------------------------------------- -Naomi 2 / GD-ROM | | | - EPR-23605 | Yes | No | - EPR-23605A | Yes | Yes | - EPR-23605B (and newer) | Yes | Yes | ---------------------------------------------------------- - +------------------------------------------------------------------------------------------------------------ +Bios Version Information | +------------------------------------------------------------------------------------------------------------ + Bios Label | Support | mobo s/n | 171-7978B | Support | Support | 171-8346C | +---------------------------- | Multi-Board | EEPROM type | M1-type | DIMM | Net-DIMM | M4-type | + NAOMI | Naomi 2 | | | ROM board | | | ROM board | +------------------------------------------------------------------------------------------------------------ + EPR-21576B (and earlier) | No | X76F100 | No | No | No | No | + EPR-21576C | | Yes | X76F100 | No | No | No | No | + EPR-21576D | | Yes | Any | Yes | No | No | No | + EPR-21576E | EPR-23605 | Yes | Any | Yes | Yes | No | No | + | EPR-23605A | Yes | Any | Yes | Yes | Yes | No | + EPR-21576G | EPR-23605B | Yes | Any | Yes | Yes | Yes | No | + EPR-21576H | EPR-23605C | Yes | Any | Yes | Yes | Yes | Yes | +------------------------------------------------------------------------------------------------------------ NAOMI ROM cart usage ------------------------- @@ -1593,6 +1590,7 @@ WRITE64_MEMBER(naomi_state::naomi_unknown1_w ) READ64_MEMBER(naomi_state::eeprom_93c46a_r ) { int res; + // bit 0 - EEPROM type: 0 - 93C46, 1 - X76F100 TODO /* bit 3 is EEPROM data */ res = m_eeprom->do_read() << 4; @@ -2769,7 +2767,7 @@ static MACHINE_CONFIG_DERIVED( aw_base, naomi_aw_base ) MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(aw_map) MCFG_MACRONIX_29L001MC_ADD("awflash") - MCFG_AW_ROM_BOARD_ADD("rom_board", "rom_key", WRITE8(dc_state, g1_irq)) + MCFG_AW_ROM_BOARD_ADD("rom_board", WRITE8(dc_state, g1_irq)) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( aw1c, aw_base ) @@ -2787,10 +2785,12 @@ MACHINE_CONFIG_END /* BIOS info: -Revisions A through D can handle game carts only +Revisions through C supports only motherboards with X76F100 seral number eeprom +Revisions through D can handle game carts only Revisions C and later can also handle Multi-board -Revisions E and later can also handle GD-Rom board -Revisions F and later can also handle GD-Rom board and or the network GD-Rom board +Revisions E and later can also handle DIMM board +Revisions G and later can also handle DIMM board and or the network DIMM board +Revision H can also handle M4-type ROM-boards F355 has it's own BIOS (3 screen version) @@ -6896,7 +6896,7 @@ PIC stuff command response comment -kayjyo!? ->:\x70\x1f\x71\x1f\0\0\0 (unlock gdrom) +kayjyo!? ->:\x70\x1f\x71\x1f\0\0\0 (SYS_CHK_SECU and SYS_REQ_SECU gdrom commands, last byte is 1 in network boot games) C1strdf0 ->5BDA.BIN (lower part of boot filename string, BDA.BIN in this example) D1strdf1 ->6\0\0\0\0\0\0\0 (upper part of filename string) bsec_ver ->8VER0001 (always the same? ) @@ -8990,8 +8990,8 @@ ROM_START( fotns ) ROM_LOAD( "ax1906m01.ic16", 0x6000000, 0x1000000, CRC(fe6da168) SHA1(d4ab6443383469bb5a4337005de917627a2e21cc) ) ROM_LOAD( "ax1907m01.ic17", 0x7000000, 0x1000000, CRC(9d3a0520) SHA1(78583fd171b34439f77a04a97ebe3c9d1bab61cc) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax1901f01.bin", 0, 4, CRC(0283c08d) SHA1(5d62b6769ae7f1fc68bd3db028d782621aaa6f9c) ) + // AX1901F01 + ROM_PARAMETER(":rom_board:key", "00093627") ROM_END ROM_START( rangrmsn ) @@ -9005,8 +9005,8 @@ ROM_START( rangrmsn ) ROM_LOAD( "ax1604m01.ic14", 0x4000000, 0x1000000, CRC(d2369144) SHA1(da1eae9957d27d1682c4191780cf51b32dfe6659) ) ROM_LOAD( "ax1605m01.ic15", 0x5000000, 0x1000000, CRC(0c11c1f9) SHA1(0585db60618c5b97f9b7c203baf7e5ac90883ca6) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax1601f01.bin", 0, 4, CRC(278f1df7) SHA1(bf3e92e0b19dc1604b764382b859e73158d18025) ) + // AX1601F01 + ROM_PARAMETER(":rom_board:key", "00050000") ROM_END ROM_START( sprtshot ) @@ -9019,8 +9019,8 @@ ROM_START( sprtshot ) ROM_LOAD( "ax0103m01.ic13", 0x3000000, 0x1000000, CRC(6144e7a8) SHA1(4d4341082f008dfd93ef5bf32a44c80869ef02a8) ) ROM_LOAD( "ax0104m01.ic14", 0x4000000, 0x1000000, CRC(ccb72150) SHA1(a1032d321c27f9ff43da41f20b8687bf1958ddc9) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax0101f01.bin", 0, 4, CRC(2144df1c) SHA1(9069ca78e7450a285173431b3e52c5c25299e473) ) + // AX0101F01 + ROM_PARAMETER(":rom_board:key", "00000000") ROM_END ROM_START( xtrmhunt ) @@ -9035,8 +9035,8 @@ ROM_START( xtrmhunt ) ROM_LOAD( "ax2405m01.ic15", 0x5000000, 0x1000000, CRC(940d77f1) SHA1(eefdfcb92873032dc7d9ff9310bf5ed715c8bf4f) ) ROM_LOAD( "ax2406m01.ic16", 0x6000000, 0x1000000, CRC(cbcf2c5d) SHA1(61362fabcbb3bfc01c996748a7ca65f8a0e02f2f) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax2401f01.bin", 0, 4, CRC(2f578ea4) SHA1(6775daa4b4081186905cc20f56df0f8ab147428b) ) + // AX2401F01 + ROM_PARAMETER(":rom_board:key", "00080000") ROM_END ROM_START( xtrmhnt2 ) @@ -9052,12 +9052,12 @@ ROM_START( xtrmhnt2 ) ROM_LOAD( "610-0752.u14", 0x6000000, 0x1000000, CRC(ce83bcc7) SHA1(e2d324a5a7eacbec7b0df9a4b9e276521bb9ab80) ) ROM_LOAD( "610-0752.u16", 0x7000000, 0x1000000, CRC(8ac71c76) SHA1(080e41e633bf082fc536781541c6031d1ac81939) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "315-6248.bin", 0, 4, CRC(553dd361) SHA1(a60a26b5ee786cf0bb3d09bb6f00374598fbd7cc) ) - ROM_REGION( 0x1400000, "network", 0) // network board ROM_LOAD( "fpr-24330a.ic2", 0x000000, 0x400000, CRC(8d89877e) SHA1(6caafc49114eb0358e217bc2d1a3ab58a93c8d19) ) ROM_LOAD( "flash128.ic4s", 0x400000, 0x1000000, CRC(866ed675) SHA1(2c4c06935b7ab1876e640cede51713b841833567) ) + + // 315-6248 + ROM_PARAMETER(":rom_board:key", "000c194f") ROM_END ROM_START( anmlbskt ) @@ -9073,8 +9073,8 @@ ROM_START( anmlbskt ) // U14 Populated, Empty // U16 Populated, Empty - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "vm2001f01.bin", 0, 4, CRC(d8d6c32e) SHA1(255a437bdb4bb8372167f33f0ca1668bcd74ea32) ) + // VM2001F01 + ROM_PARAMETER(":rom_board:key", "00012c3e") ROM_END ROM_START( dolphin ) @@ -9088,8 +9088,8 @@ ROM_START( dolphin ) ROM_LOAD( "ax0404m01.ic14", 0x4000000, 0x1000000, CRC(f82a4ca3) SHA1(da686d86e176a9f24874d2916b1932f03a99a52d) ) ROM_LOAD( "ax0405m01.ic15", 0x5000000, 0x1000000, CRC(b88298d7) SHA1(490c3ec471018895b7268ee33498dddaccbbfd5a) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax0401f01.bin", 0, 4, CRC(394b52c9) SHA1(aa05d82e7c384f536cf68af48b5c0eb89e6f5dfa) ) + // AX0401F01 + ROM_PARAMETER(":rom_board:key", "0001a1e8") ROM_END ROM_START( demofist ) @@ -9105,8 +9105,8 @@ ROM_START( demofist ) ROM_LOAD( "ax0606m01.ic16", 0x6000000, 0x1000000, CRC(42c81617) SHA1(1cc686af5e3fc56143836e3dcc0067893f82fcf9) ) ROM_LOAD( "ax0607m01.ic17", 0x7000000, 0x1000000, CRC(96e5aa84) SHA1(e9841f550f2ef409d97004542bcadabb6b9e84af) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax0601f01.bin", 0, 4, CRC(25c9a3ae) SHA1(060c3fa1f8cd7d41785630db22e107790ade702a) ) + // AX0601F01 + ROM_PARAMETER(":rom_board:key", "00060000") ROM_END // (C)Dimps Wed Mar 10 19:08:51 2004 TANAKA (build 0028) @@ -9123,8 +9123,8 @@ ROM_START( rumblef ) ROM_LOAD( "ax1806m01.ic16", 0x6000000, 0x1000000, CRC(ac2751bb) SHA1(5070fa12bf109ab87e8f7ea46ac4ae78a73105da) ) ROM_LOAD( "ax1807m01.ic17", 0x7000000, 0x1000000, CRC(3b2fbdb0) SHA1(f9f7e06785d3a07282247aaedd9999aa7c2670b9) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax1801f01.bin", 0, 4, CRC(5b2e82d9) SHA1(de0d9c2511c72b95777897403cb63b690f74dfa1)) + // AX1801F01 + ROM_PARAMETER(":rom_board:key", "0004194f") ROM_END // Prototype, (C)Dimps Fri Feb 20 11:00:43 2004 TANAKA (build 0028) @@ -9149,8 +9149,7 @@ ROM_START( rumblefp ) ROM_LOAD("ic26", 0x07000000, 0x00800000, CRC(6421720d) SHA1(6eaeb93d462542c3cf3e815d5fb309c337a8673b) ) // IC27 populated, empty - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "key.bin", 0, 4, CRC(757054c4) SHA1(7d5556d0940c582adbcf5697c7b81453d0c91153) ) + ROM_PARAMETER(":rom_board:key", "000caf83") ROM_END // Build:Jun 25 2005 17:00:38 @@ -9167,8 +9166,8 @@ ROM_START( ngbc ) ROM_LOAD( "ax3306m01.mrom6", 0x0e000000, 0x2000000, CRC(5cf32fbd) SHA1(b6ae0abe5791b3d6f8db07b8c8ca22219a153801) ) ROM_LOAD( "ax3307m01.mrom7", 0x12000000, 0x2000000, CRC(26d9da53) SHA1(0015b4be670005a451274de68279b4302fc42a97) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax3301f01.bin", 0, 4, CRC(9afe949b) SHA1(4f7b039f3287da61a53a2d012993bfb57e1459bd) ) + // AX3301F01 + ROM_PARAMETER(":rom_board:key", "00042255") ROM_END // same as above EN-dump, but CustomerID not FF-filled @@ -9186,8 +9185,8 @@ ROM_START( ngbcj ) ROM_LOAD( "ax3306m01.mrom6", 0x0e000000, 0x2000000, CRC(5cf32fbd) SHA1(b6ae0abe5791b3d6f8db07b8c8ca22219a153801) ) ROM_LOAD( "ax3307m01.mrom7", 0x12000000, 0x2000000, CRC(26d9da53) SHA1(0015b4be670005a451274de68279b4302fc42a97) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax3301f01.bin", 0, 4, CRC(9afe949b) SHA1(4f7b039f3287da61a53a2d012993bfb57e1459bd) ) + // AX3301F01 + ROM_PARAMETER(":rom_board:key", "00042255") ROM_END // Build:Jul 09 2004 15:05:53 @@ -9203,8 +9202,8 @@ ROM_START( kofnw ) ROM_LOAD( "ax2205m01.ic15", 0x5000000, 0x1000000, CRC(2851b791) SHA1(566ef95ea066b7bf548986085670242be217befc) ) ROM_LOAD( "ax2206m01.ic16", 0x6000000, 0x1000000, CRC(e53eb965) SHA1(f50cd53a5859f081d8a278d24a519c9d9b49ab96) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax2201f01.bin", 0, 4, CRC(b1fff0c8) SHA1(d83177e3672378a2bbc08653b4b73704333ca30a) ) + // AX2201F01 + ROM_PARAMETER(":rom_board:key", "0006b3bf") ROM_END // Build:Sep 10 2004 12:05:34 @@ -9222,8 +9221,8 @@ ROM_START( kofnwj ) ROM_LOAD( "ax2205m01.ic15", 0x5000000, 0x1000000, CRC(2851b791) SHA1(566ef95ea066b7bf548986085670242be217befc) ) ROM_LOAD( "ax2206m01.ic16", 0x6000000, 0x1000000, CRC(e53eb965) SHA1(f50cd53a5859f081d8a278d24a519c9d9b49ab96) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax2201f01.bin", 0, 4, CRC(b1fff0c8) SHA1(d83177e3672378a2bbc08653b4b73704333ca30a) ) + // AX2201F01 + ROM_PARAMETER(":rom_board:key", "0006b3bf") ROM_END ROM_START( kov7sprt ) @@ -9239,8 +9238,8 @@ ROM_START( kov7sprt ) ROM_LOAD( "ax1301m06.ic16", 0x6000000, 0x1000000, CRC(cb8cacb4) SHA1(5d008e8a934451b9bfa33fedfd492c86d9226ef5) ) ROM_LOAD( "ax1301m07.ic17", 0x7000000, 0x1000000, CRC(0ca92213) SHA1(115c50fa55e6de3439de23e74621695510c6a7ba) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax1301f01.bin", 0, 4, CRC(2a189821) SHA1(d15c9df83782d49ea85e201cba844f5a9e33f15c) ) + // AX1301F01 + ROM_PARAMETER(":rom_board:key", "000f0000") ROM_END ROM_START( ggisuka ) @@ -9257,8 +9256,8 @@ ROM_START( ggisuka ) ROM_LOAD( "ax1207m01.ic16", 0x6000000, 0x1000000, CRC(6636d1b8) SHA1(9bd8fc114557f6fbe772f85eeb246f7336d4255e) ) ROM_LOAD( "ax1208m01.ic17", 0x7000000, 0x1000000, CRC(38bda476) SHA1(0234a6f5fbaf5e958b3ba0db311dff157f80addc) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax1201f01.bin", 0, 4, CRC(325cf843) SHA1(c51d19a4fce37433f37e7ce23801a7fc4e09013d) ) + // AX1201F01 + ROM_PARAMETER(":rom_board:key", "0008b10a") ROM_END ROM_START( maxspeed ) @@ -9272,8 +9271,8 @@ ROM_START( maxspeed ) ROM_LOAD( "ax0504m01.ic14", 0x4000000, 0x1000000, CRC(7955b55a) SHA1(927f58d6961e702c2a8afce79bac5e5cff3dfed6) ) ROM_LOAD( "ax0505m01.ic15", 0x5000000, 0x1000000, CRC(e8ccc660) SHA1(a5f414f200a0d41e958430d0fc2d4e1fda1cc67c) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax0501f01.bin", 0, 4, CRC(c35d9a95) SHA1(bf260caf33821be51014b06480a11ec982fa4fcd) ) + // AX0501F01 + ROM_PARAMETER(":rom_board:key", "00028dd6") ROM_END ROM_START( vfurlong ) @@ -9289,8 +9288,8 @@ ROM_START( vfurlong ) ROM_LOAD( "ax2006m01.ic16", 0x6000000, 0x1000000, CRC(8134ec55) SHA1(843e473d4f99237ded641cce9515b7802cfe3742) ) ROM_LOAD( "ax2007m01.ic17", 0x7000000, 0x1000000, CRC(d0557e8a) SHA1(df8057597eb690bd18c5d26736f5d4f86e3b1225) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax2001f01.bin", 0, 4, CRC(42d45ab8) SHA1(25bc9c046ff085e5219109316fbc0c1fae183d1f) ) + // AX2001F01 + ROM_PARAMETER(":rom_board:key", "000a547a") ROM_END ROM_START( salmankt ) @@ -9306,8 +9305,8 @@ ROM_START( salmankt ) ROM_LOAD( "ax1406m01.ic16", 0x6000000, 0x1000000, CRC(437673e6) SHA1(66f7e5f246ebbb1bdbf074da41ec16bf32720a82) ) ROM_LOAD( "ax1407m01.ic17", 0x7000000, 0x1000000, CRC(6b6acc0a) SHA1(a8c692c875271a0806460caa79c67fd756231273) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax1401f01.bin", 0, 4, CRC(67e742ae) SHA1(7c2e955bcb753ff8756db4bd75409583ffbadf62) ) + // AX1401F01 + ROM_PARAMETER(":rom_board:key", "00034b74") ROM_END ROM_START( ftspeed ) @@ -9322,8 +9321,8 @@ ROM_START( ftspeed ) ROM_LOAD( "ax1705m01.ic15", 0x5000000, 0x1000000, CRC(996f68e1) SHA1(3fa505c641127d9027bfc7ec0ab16905344a4e2c) ) ROM_LOAD( "ax1706m01.ic16", 0x6000000, 0x1000000, CRC(804b2eb2) SHA1(fcca02a5a8c09eb16548255115fb105c9c49c4e0) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax1701f01.bin", 0, 4, CRC(f3f03c35) SHA1(2a8329a29cdcc0219e9360cc573c0f3ad44d0175) ) + // AX1701F01 + ROM_PARAMETER(":rom_board:key", "0000762f") ROM_END // contents of cartridges labeled as JP and EN is the same @@ -9341,8 +9340,8 @@ ROM_START( kofxi ) ROM_LOAD( "ax3206m01.mrom6", 0x0e000000, 0x2000000, CRC(cb81e5f5) SHA1(07faee02a58ac9c600ab3cdd525d22c16b35222d) ) ROM_LOAD( "ax3207m01.mrom7", 0x12000000, 0x2000000, CRC(164f6329) SHA1(a72c8cbe4ac7b98edda3d4434f6c81a370b8c39b) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax3201f01.bin", 0, 4, CRC(065d7fc6) SHA1(e4f18126e9f4e6747ffc5d0664766986fc07c127) ) + // AX3201F01 + ROM_PARAMETER(":rom_board:key", "000a4be3") ROM_END ROM_START( dirtypig ) @@ -9358,8 +9357,8 @@ ROM_START( dirtypig ) ROM_LOAD( "695-0014.u14", 0x6000000, 0x1000000, CRC(55470242) SHA1(789036189ae5488a9da565774bdf91b49cd8264e) ) ROM_LOAD( "695-0014.u16", 0x7000000, 0x1000000, CRC(730180a4) SHA1(017b82e2d2744695e3e521d35a8511ecc1c8ab43) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "315-6248.bin", 0, 4, CRC(553dd361) SHA1(a60a26b5ee786cf0bb3d09bb6f00374598fbd7cc) ) + // 315-6248 + ROM_PARAMETER(":rom_board:key", "000c194f") ROM_END // Ver 2005/12/16 @@ -9374,8 +9373,8 @@ ROM_START( mslug6 ) ROM_LOAD( "ax3003m01.mrom3", 0x6000000, 0x2000000, CRC(4fe37370) SHA1(85d51db94c3e34265e37b636d6545ed2801ba5a6) ) ROM_LOAD( "ax3004m01.mrom4", 0xa000000, 0x2000000, CRC(2f4c4c6f) SHA1(5815c28fdaf0429003986e725c0015fe4c08721f) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax3001f01.bin", 0, 4, CRC(0b9939e9) SHA1(4ca1225c7c9993542a67035a054ac579ed021de5) ) + // AX3001F01 + ROM_PARAMETER(":rom_board:key", "00053627") ROM_END // Build:Aug 05 2005 16:43:48 @@ -9392,8 +9391,8 @@ ROM_START( samsptk ) ROM_LOAD( "ax2906m01.mrom6", 0x0e000000, 0x2000000, CRC(cb95298d) SHA1(5fb5d5a0d6801df61101a1b23de0c14ff29ef654) ) ROM_LOAD( "ax2907m01.mrom7", 0x12000000, 0x2000000, CRC(48015081) SHA1(3c0a0a6dc9ab7bf889579477699e612c3092f9bf) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax2901f01.bin", 0, 4, CRC(8a6267aa) SHA1(9705bed35acb87d578f0efcf4f74b2a4b1a7be2e) ) + // AX2901F01 + ROM_PARAMETER(":rom_board:key", "000e935f") ROM_END ROM_START( ggx15 ) @@ -9409,8 +9408,8 @@ ROM_START( ggx15 ) ROM_LOAD( "ax0806m01.ic16", 0x6000000, 0x1000000, CRC(3bf8ecba) SHA1(43e7fbf21d8ee60bab72ce558640730fd9c3e3b8) ) ROM_LOAD( "ax0807m01.ic17", 0x7000000, 0x1000000, CRC(e397dd79) SHA1(5fec32dc19dd71ef0d451f8058186f998015723b) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax0801f01.bin", 0, 4, CRC(a36e5017) SHA1(fd763a4c708fe37c7561ba5b5d0b8d2118cff16b) ) + // AX0801F01 + ROM_PARAMETER(":rom_board:key", "00091257") ROM_END // (C)Dimps Fri Mar 4 19:27:57 2005 NONAME (build 2319) @@ -9425,8 +9424,8 @@ ROM_START( rumblef2 ) ROM_LOAD( "ax3404m01.mrom4", 0xa000000, 0x2000000, CRC(a426b443) SHA1(617aab42e432a80b0663281fb7faa6c14ef4f149) ) ROM_LOAD( "ax3405m01.mrom5", 0xc000000, 0x2000000, CRC(4766ce56) SHA1(349b82013a75905ae5520b14a87702c9038a5def) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "ax3401f01.bin", 0, 4, CRC(952919a1) SHA1(d343fdbbd1d8b651401133f21facc1584bb66c04) ) + // AX3401F01 + ROM_PARAMETER(":rom_board:key", "000d674a") ROM_END // Prototype ROM board @@ -9452,8 +9451,8 @@ ROM_START( rumblf2p ) ROM_LOAD("ic26", 0x07000000, 0x00800000, CRC(ff9a2c4c) SHA1(81ac8fb41d7af605da0dcd92104cef0f045777bf) ) // IC27 populated, empty - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "julie_dev.bin", 0, 4, CRC(757054c4) SHA1(7d5556d0940c582adbcf5697c7b81453d0c91153) ) + // JULIE_DEV + ROM_PARAMETER(":rom_board:key", "000caf83") ROM_END ROM_START( claychal ) @@ -9469,8 +9468,8 @@ ROM_START( claychal ) ROM_LOAD( "608-2161.u14", 0x6000000, 0x1000100, CRC(2e7d966f) SHA1(3304fd0c5140a13f6fe2ea9aaa74d7885e1505e1) ) ROM_LOAD( "608-2161.u16", 0x7000000, 0x1000100, CRC(14f8ca87) SHA1(778c048da9434ffda600e35ad5aca29e02cc98c0) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "315-6248.bin", 0x000000, 0x000004, CRC(553dd361) SHA1(a60a26b5ee786cf0bb3d09bb6f00374598fbd7cc) ) + // 315-6248 + ROM_PARAMETER(":rom_board:key", "000c194f") ROM_END // Build:Feb 08 2009 22:35:34 @@ -9487,8 +9486,8 @@ ROM_START( basschalo ) ROM_LOAD("610-0811.u14", 0x06000000, 0x01000000, CRC(f2769383) SHA1(c580577df9d140bb6ecce192efafb0284d22c32d) ) ROM_LOAD("vera.u16", 0x07000000, 0x01000000, CRC(3590072d) SHA1(3375a0334c35de1d7d8231d7cc27775451042f91) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "315-6248.bin", 0x000000, 0x000004, CRC(553dd361) SHA1(a60a26b5ee786cf0bb3d09bb6f00374598fbd7cc) ) + // 315-6248 + ROM_PARAMETER(":rom_board:key", "000c194f") ROM_END // Version A @@ -9506,8 +9505,8 @@ ROM_START( basschal ) ROM_LOAD("vera.u14", 0x06000000, 0x01000000, CRC(35df044f) SHA1(eeac6c4062f697205558846d6ac262cb5c1b10cf) ) ROM_LOAD("vera.u16", 0x07000000, 0x01000000, CRC(3590072d) SHA1(3375a0334c35de1d7d8231d7cc27775451042f91) ) - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "315-6248.bin", 0x000000, 0x000004, CRC(553dd361) SHA1(a60a26b5ee786cf0bb3d09bb6f00374598fbd7cc) ) + // 315-6248 + ROM_PARAMETER(":rom_board:key", "000c194f") ROM_END // Prototype ROM board @@ -9525,8 +9524,7 @@ ROM_START( sushibar ) ROM_LOAD("ic18", 0x03000000, 0x00800000, CRC(b9957c76) SHA1(6d72c7ac8e1e0cbed7eb01b66f71bedf46a833e1) ) // IC19 - IC27 populated, empty - ROM_REGION( 4, "rom_key", 0 ) - ROM_LOAD( "julie_dev.bin", 0, 4, CRC(757054c4) SHA1(7d5556d0940c582adbcf5697c7b81453d0c91153) ) + ROM_PARAMETER(":rom_board:key", "000caf83") ROM_END /* All games have the regional titles at the start of the IC22 rom in the following order diff --git a/src/mame/machine/awboard.cpp b/src/mame/machine/awboard.cpp index b2374e52858..27fef557bbd 100644 --- a/src/mame/machine/awboard.cpp +++ b/src/mame/machine/awboard.cpp @@ -167,17 +167,10 @@ ADDRESS_MAP_END aw_rom_board::aw_rom_board(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : naomi_g1_device(mconfig, AW_ROM_BOARD, "Sammy Atomiswave ROM Board", tag, owner, clock, "aw_rom_board", __FILE__), - m_region(*this, DEVICE_SELF), - m_keyregion(*this) + m_region(*this, DEVICE_SELF) { } -void aw_rom_board::static_set_keyregion(device_t &device, const char *keyregion) -{ - aw_rom_board &dev = downcast<aw_rom_board &>(device); - dev.m_keyregion.set_tag(keyregion); -} - /* We are using 20 bits keys with the following subfields' structure: @@ -255,22 +248,18 @@ UINT16 aw_rom_board::decrypt(UINT16 cipherText, UINT32 address, const UINT32 key return ((b3<<13)|(b2<<9)|(b1<<5)|b0)^(key&0xffff); } -void aw_rom_board::set_key() -{ - if (!m_keyregion.found()) - return; - - if (m_keyregion->bytes() != 4) - throw emu_fatalerror("AW-ROM-BOARD: key region %s has incorrect size (%d, expected 4)\n", m_keyregion.finder_tag(), m_keyregion->bytes()); - - const UINT8 *krp = m_keyregion->base(); - rombd_key = (krp[0] << 24) | (krp[1] << 16) | (krp[2] << 8) | krp[3]; -} - void aw_rom_board::device_start() { naomi_g1_device::device_start(); - set_key(); + + std::string skey = parameter("key"); + if (!skey.empty()) + rombd_key = strtoll(skey.c_str(), nullptr, 16); + else + { + logerror("%s: Warning: key not provided\n", tag()); + rombd_key = 0; + } mpr_offset = decrypt16(0x58/2) | (decrypt16(0x5a/2) << 16); diff --git a/src/mame/machine/awboard.h b/src/mame/machine/awboard.h index 5ae885079c1..f7f7b886d9d 100644 --- a/src/mame/machine/awboard.h +++ b/src/mame/machine/awboard.h @@ -5,17 +5,14 @@ #include "naomig1.h" -#define MCFG_AW_ROM_BOARD_ADD(_tag, _keyregion, _irq_cb) \ - MCFG_NAOMI_G1_ADD(_tag, AW_ROM_BOARD, _irq_cb) \ - aw_rom_board::static_set_keyregion(*device, "^" _keyregion); +#define MCFG_AW_ROM_BOARD_ADD(_tag, _irq_cb) \ + MCFG_NAOMI_G1_ADD(_tag, AW_ROM_BOARD, _irq_cb) class aw_rom_board : public naomi_g1_device { public: aw_rom_board(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - static void static_set_keyregion(device_t &device, const char *keyregion); - DECLARE_ADDRESS_MAP(submap, 16); DECLARE_WRITE16_MEMBER(epr_offsetl_w); // 5f7000 @@ -38,7 +35,6 @@ private: enum { EPR, MPR_RECORD, MPR_FILE }; required_memory_region m_region; - optional_memory_region m_keyregion; UINT32 rombd_key; UINT32 mpr_offset, mpr_bank; UINT32 epr_offset, mpr_file_offset; @@ -59,7 +55,6 @@ private: static UINT16 decrypt(UINT16 cipherText, UINT32 address, const UINT32 key); UINT16 decrypt16(UINT32 address) { return decrypt(m_region->u16(address), address, rombd_key); } - void set_key(); void recalc_dma_offset(int mode); }; |