summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author MetalliC <0vetal0@gmail.com>2016-08-01 21:00:27 +0300
committer MetalliC <0vetal0@gmail.com>2016-08-01 21:00:27 +0300
commit203e6dc8293414dc1839eec7a48d875f6fc902a3 (patch)
tree3c3a93deb0f83c3370676ab74af57d0fd39acdbe /src
parent871656c98caca81aa501c3dbdc8d0a581e2b0178 (diff)
atomiswave use ROM_PARAMETER for keys, NAOMI BIOS docs update
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/naomi.cpp170
-rw-r--r--src/mame/machine/awboard.cpp31
-rw-r--r--src/mame/machine/awboard.h9
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);
};