Previous 199869 Revisions Next

r34598 Sunday 25th January, 2015 at 19:49:19 UTC by Olivier Galibert
core: Add per-game parameters [O. Galibert]

Per-game parameters are (tag, value) pairs that follow the same tag
structure than everything else.  They're added within a ROM section
with ROM_PARAMETER(tag, value).  You look them up through the device
method parameter(tag) which returns the string, or "" if not present.

A *lot* of drivers can benefit from that stuff.  It should kill most
game-name keyed tables, and the alternative approach of
bazillon-of-driver-inits.

Possible evolutions, if someone wants to do it:
- output them in -listxml
- push the softlist parameters present in the xml through that
- maybe allow to change/set them through the command line
[src/emu]device.c device.h emu.h emu.mak machine.c machine.h parameters.c* parameters.h* romload.c romload.h
[src/mame]mame.mak
[src/mame/drivers]hikaru.c model2.c model3.c naomi.c stv.c
[src/mame/machine]315-5881_crypt.c 315-5881_crypt.h 315-5881_helper.c 315-5881_helper.h naomim2.c naomim2.h stvprot.c

trunk/src/emu/device.c
r243109r243110
186186
187187
188188//-------------------------------------------------
189//  ioport - return a pointer to the I/O port
190//  object for a given port name
191//-------------------------------------------------
192
193astring device_t::parameter(const char *tag) const
194{
195   // safety first
196   if (this == NULL)
197      return NULL;
198
199   // build a fully-qualified name and look it up
200   astring fullpath;
201   return machine().parameters().lookup(subtag(fullpath, tag));
202}
203
204
205//-------------------------------------------------
189206//  static_set_clock - set/change the clock on
190207//  a device
191208//-------------------------------------------------
trunk/src/emu/device.h
r243109r243110
130130   UINT8 default_bios() const { return m_default_bios; }
131131   UINT8 system_bios() const { return m_system_bios; }
132132   astring default_bios_tag() const { return m_default_bios_tag; }
133   astring parameter(const char *tag) const;
133134
134135   // interface helpers
135136   device_interface *first_interface() const { return m_interface_list; }
trunk/src/emu/emu.h
r243109r243110
8282// machine and driver configuration
8383#include "mconfig.h"
8484#include "gamedrv.h"
85#include "parameters.h"
8586
8687// timers, CPU and scheduling
8788#include "devcpu.h"
trunk/src/emu/emu.mak
r243109r243110
9999   $(EMUOBJ)/memarray.o \
100100   $(EMUOBJ)/memory.o \
101101   $(EMUOBJ)/network.o \
102   $(EMUOBJ)/parameters.o \
102103   $(EMUOBJ)/output.o \
103104   $(EMUOBJ)/render.o \
104105   $(EMUOBJ)/rendfont.o \
trunk/src/emu/machine.c
r243109r243110
142142      m_save(*this),
143143      m_memory(*this),
144144      m_ioport(*this),
145      m_parameters(*this),
145146      m_scheduler(*this)
146147{
147148   memset(&m_base_time, 0, sizeof(m_base_time));
trunk/src/emu/machine.h
r243109r243110
165165   save_manager &save() { return m_save; }
166166   memory_manager &memory() { return m_memory; }
167167   ioport_manager &ioport() { return m_ioport; }
168   parameters_manager &parameters() { return m_parameters; }
168169   cheat_manager &cheat() const { assert(m_cheat != NULL); return *m_cheat; }
169170   render_manager &render() const { assert(m_render != NULL); return *m_render; }
170171   input_manager &input() const { assert(m_input != NULL); return *m_input; }
r243109r243110
357358   save_manager            m_save;                 // save manager
358359   memory_manager          m_memory;               // memory manager
359360   ioport_manager          m_ioport;               // I/O port manager
361   parameters_manager      m_parameters;           // parameters manager
360362   device_scheduler        m_scheduler;            // scheduler object
361363   emu_timer               *m_autoboot_timer;      // autoboot timer
362364};
trunk/src/emu/parameters.c
r0r243110
1// license:BSD-3-Clause
2// copyright-holders:Olivier Galibert, Aaron Giles
3/***************************************************************************
4
5    parameters.c
6
7    Per-game parameters handling.
8
9***************************************************************************/
10
11#include "emu.h"
12
13parameters_manager::parameters_manager(running_machine &machine)
14   : m_machine(machine)
15{
16}
17
18astring parameters_manager::lookup(astring tag) const
19{
20   return m_parameters.find(tag);
21}
22
23void parameters_manager::add(astring tag, astring value)
24{
25   m_parameters.add(tag, value);
26}
27
trunk/src/emu/parameters.h
r0r243110
1// license:BSD-3-Clause
2// copyright-holders:Olivier Galibert,Aaron Giles
3/***************************************************************************
4
5    parameters.h
6
7    Per-game parameters handling.
8
9***************************************************************************/
10
11#pragma once
12
13#ifndef __EMU_H__
14#error Dont include this file directly; include emu.h instead.
15#endif
16
17#ifndef __PARAMETERS_H__
18#define __PARAMETERS_H__
19
20
21//**************************************************************************
22//  TYPE DEFINITIONS
23//**************************************************************************
24
25// ======================> parameters_manager
26
27class parameters_manager
28{
29   DISABLE_COPYING(parameters_manager);
30
31public:
32   // construction/destruction
33   parameters_manager(running_machine &machine);
34
35   // getters
36   running_machine &machine() const { return m_machine; }
37   astring lookup(astring tag) const;
38
39   // setters
40   void add(astring tag, astring value);
41
42private:
43   // internal state
44   running_machine &       m_machine;              // reference to owning machine
45   tagmap_t<astring>       m_parameters;
46};
47
48#endif  // __INPTPORT_H__ */
trunk/src/emu/romload.c
r243109r243110
171171const rom_entry *rom_first_region(const device_t &device)
172172{
173173   const rom_entry *romp = device.rom_region();
174   while (romp && ROMENTRY_ISPARAMETER(romp))
175      romp++;
174176   return (romp != NULL && !ROMENTRY_ISEND(romp)) ? romp : NULL;
175177}
176178
r243109r243110
185187   romp++;
186188   while (!ROMENTRY_ISREGIONEND(romp))
187189      romp++;
190   while (ROMENTRY_ISPARAMETER(romp))
191      romp++;
188192   return ROMENTRY_ISEND(romp) ? NULL : romp;
189193}
190194
r243109r243110
218222
219223
220224/*-------------------------------------------------
225    rom_first_parameter - return pointer to the first
226    per-game parameter
227-------------------------------------------------*/
228
229const rom_entry *rom_first_parameter(const device_t &device)
230{
231   const rom_entry *romp = device.rom_region();
232   while (romp && !ROMENTRY_ISEND(romp) && !ROMENTRY_ISPARAMETER(romp))
233      romp++;
234   return (romp != NULL && !ROMENTRY_ISEND(romp)) ? romp : NULL;
235}
236
237
238/*-------------------------------------------------
239    rom_next_parameter - return pointer to the next
240    per-game parameter
241-------------------------------------------------*/
242
243const rom_entry *rom_next_parameter(const rom_entry *romp)
244{
245   romp++;
246   while (!ROMENTRY_ISREGIONEND(romp) && !ROMENTRY_ISPARAMETER(romp))
247      romp++;
248   return ROMENTRY_ISEND(romp) ? NULL : romp;
249}
250
251
252/*-------------------------------------------------
221253    rom_region_name - return the appropriate name
222254    for a rom region
223255-------------------------------------------------*/
r243109r243110
229261
230262
231263/*-------------------------------------------------
264    rom_parameter_name - return the appropriate name
265    for a per-game parameter
266-------------------------------------------------*/
267
268astring &rom_parameter_name(astring &result, const device_t &device, const rom_entry *romp)
269{
270   return device.subtag(result, romp->_name);
271}
272
273
274/*-------------------------------------------------
275    rom_parameter_name - return the value for a
276    per-game parameter
277-------------------------------------------------*/
278
279astring rom_parameter_value(const rom_entry *romp)
280{
281   return romp->_hashdata;
282}
283
284
285/*-------------------------------------------------
232286    rom_file_size - return the expected size of a
233287    file given the ROM description
234288-------------------------------------------------*/
r243109r243110
14541508         rom_region_name(regiontag, *device, region);
14551509         region_post_process(romdata, regiontag, ROMREGION_ISINVERTED(region));
14561510      }
1511
1512   /* and finally register all per-game parameters */
1513   for (device_t *device = deviter.first(); device != NULL; device = deviter.next())
1514      for (const rom_entry *param = rom_first_parameter(*device); param != NULL; param = rom_next_parameter(param))
1515      {
1516         rom_parameter_name(regiontag, *device, param);
1517         romdata->machine().parameters().add(regiontag, rom_parameter_value(param));
1518      }
14571519}
14581520
14591521
trunk/src/emu/romload.h
r243109r243110
3939   ROMENTRYTYPE_IGNORE,        /* this entry continues loading the previous ROM but throws the data away */
4040   ROMENTRYTYPE_SYSTEM_BIOS,   /* this entry specifies a bios */
4141   ROMENTRYTYPE_DEFAULT_BIOS,  /* this entry specifies a default bios */
42   ROMENTRYTYPE_PARAMETER,     /* this entry specifies a per-game parameter */
4243   ROMENTRYTYPE_COUNT
4344};
4445
r243109r243110
152153#define ROMENTRY_ISIGNORE(r)        (ROMENTRY_GETTYPE(r) == ROMENTRYTYPE_IGNORE)
153154#define ROMENTRY_ISSYSTEM_BIOS(r)   (ROMENTRY_GETTYPE(r) == ROMENTRYTYPE_SYSTEM_BIOS)
154155#define ROMENTRY_ISDEFAULT_BIOS(r)  (ROMENTRY_GETTYPE(r) == ROMENTRYTYPE_DEFAULT_BIOS)
155#define ROMENTRY_ISREGIONEND(r)     (ROMENTRY_ISREGION(r) || ROMENTRY_ISEND(r))
156#define ROMENTRY_ISPARAMETER(r)     (ROMENTRY_GETTYPE(r) == ROMENTRYTYPE_PARAMETER)
157#define ROMENTRY_ISREGIONEND(r)     (ROMENTRY_ISREGION(r) || ROMENTRY_ISPARAMETER(r) || ROMENTRY_ISEND(r))
156158
157159/* ----- per-region macros ----- */
158160#define ROMREGION_GETTAG(r)         ((r)->_name)
r243109r243110
243245#define ROM_DEFAULT_BIOS(name)                      { name, NULL, 0, 0, ROMENTRYTYPE_DEFAULT_BIOS },
244246
245247
248/* ----- game parameter macro ----- */
249#define ROM_PARAMETER(tag, value)                   { tag, value, 0, 0, ROMENTRYTYPE_PARAMETER },
250
246251/* ----- disk loading macros ----- */
247252#define DISK_REGION(tag)                            ROM_REGION(1, tag, ROMREGION_DATATYPEDISK)
248253#define DISK_IMAGE(name,idx,hash)                   ROMX_LOAD(name, idx, 0, hash, DISK_READWRITE)
r243109r243110
277282/* ----- ROM iteration ----- */
278283
279284/* return pointer to the first ROM region within a source */
280const rom_entry *rom_first_region(const device_t &romp);
285const rom_entry *rom_first_region(const device_t &device);
281286
282287/* return pointer to the next ROM region within a source */
283288const rom_entry *rom_next_region(const rom_entry *romp);
r243109r243110
294299/* return the appropriate name for a rom region */
295300astring &rom_region_name(astring &result, const device_t &device, const rom_entry *romp);
296301
302/* return pointer to the first per-game parameter */
303const rom_entry *rom_first_parameter(const device_t &device);
297304
305/* return pointer to the next per-game parameter */
306const rom_entry *rom_next_parameter(const rom_entry *romp);
298307
308/* return the appropriate name for a per-game parameter */
309astring &rom_parameter_name(astring &result, const device_t &device, const rom_entry *romp);
310
311/* return the value for a per-game parameter */
312astring rom_parameter_value(const rom_entry *romp);
313
314
299315/* ----- disk handling ----- */
300316
301317/* open a disk image, searching up the parent and loading by checksum */
trunk/src/mame/drivers/hikaru.c
r243109r243110
382382#include "emu.h"
383383#include "cpu/sh4/sh4.h"
384384#include "machine/naomicrypt.h"
385#include "machine/315-5881_helper.h"
386385
387386#define CPU_CLOCK (200000000)
388387                           /* MD2 MD1 MD0 MD6 MD4 MD3 MD5 MD7 MD8 */
r243109r243110
572571   /* ic65 unpopulated */
573572   /* ic66 unpopulated */
574573
575   // 315-5881 security IC key
576   _315_5881_KEYFILE("airtrix-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
574   // 834-14149   2000     317-0294-COM   Hikaru
575   ROM_PARAMETER( ":rom_board:segam2crypt:key", "091b02c7" )
577576ROM_END
578577
579578
r243109r243110
610609   ROM_LOAD32_WORD( "mpr-23560.ic65", 0xe000000, 0x1000000, CRC(24bb7072) SHA1(dad5135c89d292e4a1f96bd0ad28be6a17154be0) )
611610   ROM_LOAD32_WORD( "mpr-23564.ic66", 0xe000002, 0x1000000, CRC(255724b6) SHA1(1b382fad165831de3f2e39352c031146759dfc69) )
612611
613   // 315-5881 security IC key
614   _315_5881_KEYFILE("pharrier-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
612   // 834-14144   2001     317-0297-COM   Hikaru
613   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0912c68a" )
615614ROM_END
616615
617616ROM_START( podrace )
r243109r243110
664663   ROM_LOAD32_WORD("mpr-23117.ic68s" , 0xf000002, 0x0800000, CRC(9d4d3529) SHA1(66008445629681ebf2f26b3f181d8524a8576d2f))
665664
666665   // current 315-5881 decryption simulation code can't produce valid output data with any of keys
667   ROM_REGION( 4, "rom_key", ROMREGION_ERASE00 )
666   // 834-14002   2001     317-0277-COM   Hikaru
667   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0903dad5" )
668668ROM_END
669669
670670ROM_START( braveff )
r243109r243110
708708   ROM_LOAD32_WORD( "mpr-22022.ic59s", 0xb000000, 0x800000, CRC(abd3d888) SHA1(9654c3a38feab46b4983a602831fb29cccdd0526) )
709709   ROM_LOAD32_WORD( "mpr-22023.ic60s", 0xb000002, 0x800000, CRC(07f00869) SHA1(92282d09d72d3e65a91128e06bb0d4426bb90be5) )
710710
711   // 315-5881 not populated
712   _315_5881_UNUSED
711   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0" ) // 315-5881 not populated
713712ROM_END
714713
715714ROM_START( sgnascar )
trunk/src/mame/drivers/model2.c
r243109r243110
28422842   ROM_LOAD("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
28432843   ROM_LOAD("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
28442844
2845   //             1997     317-5038-COM   Model 2
2846   ROM_PARAMETER( ":315_5881:key", "042c0d13" )
2847
28452848   MODEL2_CPU_BOARD
28462849   MODEL2A_VID_BOARD
28472850ROM_END
r243109r243110
28742877   ROM_LOAD("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
28752878   ROM_LOAD("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
28762879
2880   //             1997     317-5038-COM   Model 2
2881   ROM_PARAMETER( ":315_5881:key", "042c0d13" )
2882
28772883   MODEL2_CPU_BOARD
28782884   MODEL2A_VID_BOARD
28792885ROM_END
r243109r243110
29052911   ROM_REGION( 0x400000, "scsp", 0 ) // Samples
29062912   ROM_LOAD("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
29072913   ROM_LOAD("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
2914
2915   //             1997     317-5038-COM   Model 2
2916   ROM_PARAMETER( ":315_5881:key", "042c0d13" )
29082917ROM_END
29092918
29102919ROM_START( zerogunj ) /* Zero Gunner (Japan), Model 2B */
r243109r243110
29342943   ROM_REGION( 0x400000, "scsp", 0 ) // Samples
29352944   ROM_LOAD("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
29362945   ROM_LOAD("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
2946
2947   //             1997     317-5038-COM   Model 2
2948   ROM_PARAMETER( ":315_5881:key", "042c0d13" )
29372949ROM_END
29382950
29392951ROM_START( gunblade ) /* Gunblade NY Revision A, Model 2B, Sega game ID# 833-12562 GUN BLADE, Sega ROM board ID# 834-12563 */
r243109r243110
36693681   ROM_LOAD("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
36703682   ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
36713683
3684   //             1998     317-0236-COM   Model 2
3685   ROM_PARAMETER( ":315_5881:key", "0c2a4a93" )
3686
36723687   MODEL2_CPU_BOARD
36733688   MODEL2A_VID_BOARD
36743689ROM_END
r243109r243110
37173732   ROM_LOAD("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
37183733   ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
37193734
3735   //             1998     317-0236-COM   Model 2
3736   ROM_PARAMETER( ":315_5881:key", "0c2a4a93" )
3737
37203738   MODEL2_CPU_BOARD
37213739   MODEL2A_VID_BOARD
37223740ROM_END
r243109r243110
37643782   ROM_LOAD("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) )
37653783   ROM_LOAD("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
37663784   ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
3785
3786   //             1998     317-0236-COM   Model 2
3787   ROM_PARAMETER( ":315_5881:key", "0c2a4a93" )
37673788ROM_END
37683789
37693790ROM_START( dyndeka2b ) /* Dynamite Deka 2 (Japan), Model 2B */
r243109r243110
38093830   ROM_LOAD("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) )
38103831   ROM_LOAD("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
38113832   ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
3833
3834   //             1998     317-0236-COM   Model 2
3835   ROM_PARAMETER( ":315_5881:key", "0c2a4a93" )
38123836ROM_END
38133837
38143838ROM_START( dynamcopc ) /* Dynamite Cop (USA), Model 2C */
r243109r243110
38543878   ROM_LOAD("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) ) /* Located at position 33 on 2C-CRX rom board */
38553879   ROM_LOAD("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) ) /* Located at position 34 on 2C-CRX rom board */
38563880   ROM_LOAD("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) ) /* Located at position 35 on 2C-CRX rom board */
3881
3882   //             1998     317-0236-COM   Model 2
3883   ROM_PARAMETER( ":315_5881:key", "0c2a4a93" )
38573884ROM_END
38583885
38593886ROM_START( schamp ) /* Sonic Championship, Model 2B - Sega ROM board ID# 834-12786 */
r243109r243110
43964423   ROM_LOAD("mpr-21279.sd3", 0x0400000, 0x200000, CRC(3a8dcf68) SHA1(312496b45b699051c8b4dd0e5d94e73fe5f3ad8d) )
43974424   ROM_LOAD("mpr-21280.sd4", 0x0600000, 0x200000, CRC(aa548124) SHA1(a94adfe16b5c3236746451c181ccd3e1c27432f4) )
43984425
4426   //             1998     317-5044-COM   Model 2
4427   ROM_PARAMETER( ":315_5881:key", "042e2dc1" )
4428
43994429   MODEL2_CPU_BOARD
44004430   MODEL2A_VID_BOARD
44014431ROM_END
r243109r243110
44354465   ROM_LOAD("mpr-21278.sd2", 0x0200000, 0x200000, CRC(27e18e08) SHA1(254c0ad4d6bd572ff0efc3ea80489e73716a31a7) )
44364466   ROM_LOAD("mpr-21279.sd3", 0x0400000, 0x200000, CRC(3a8dcf68) SHA1(312496b45b699051c8b4dd0e5d94e73fe5f3ad8d) )
44374467   ROM_LOAD("mpr-21280.sd4", 0x0600000, 0x200000, CRC(aa548124) SHA1(a94adfe16b5c3236746451c181ccd3e1c27432f4) )
4468
4469   //             1998     317-5044-COM   Model 2
4470   ROM_PARAMETER( ":315_5881:key", "042e2dc1" )
44384471ROM_END
44394472
44404473ROM_START( indy500 ) /* Defaults to Twin (Stand Alone) Cab version.  2 credits to start - Can be set to Deluxe setting in service mode, Sega Game ID# 833-12361, ROM board ID# 834-12362 */
r243109r243110
59686001ROM_END
59696002
59706003DRIVER_INIT_MEMBER(model2_state,genprot)
5971{
5972   
5973   INT64 key = get_315_5881_key(machine());
6004{   
6005   astring key = parameter(":315_5881:key");
59746006
5975   if (key != -1)
6007   if (key)
59766008   {
59776009      m_maincpu->space(AS_PROGRAM).install_ram(0x01d80000, 0x01d8ffff);
59786010      m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x01d90000, 0x01d9ffff, read32_delegate(FUNC(model2_state::model2_5881prot_r), this), write32_delegate(FUNC(model2_state::model2_5881prot_w), this));
5979      m_cryptdevice->set_key(key);
59806011   }
59816012   else
59826013   {
trunk/src/mame/drivers/model3.c
r243109r243110
34373437
34383438   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
34393439   ROM_FILL( 0x000000, 0x80000, 0 )
3440
3441   //             ????     317-0237-COM   Model 3
3442   ROM_PARAMETER( ":315_5881:key", "09234e96" )
34403443ROM_END
34413444
34423445ROM_START( vs29815 )    /* Step 1.5, ROM board ID# 834-13495 VS2 VER98 STEP 1.5 */
r243109r243110
35873590
35883591   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
35893592   ROM_FILL( 0x000000, 0x80000, 0 )
3593
3594   //             ????     317-0245-COM   Model 3
3595   ROM_PARAMETER( ":315_5881:key", "09222ac8" )
35903596ROM_END
35913597
35923598ROM_START( vs299b ) /* Step 2.0 */
r243109r243110
36623668
36633669   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
36643670   ROM_FILL( 0x000000, 0x80000, 0 )
3671
3672   //             ????     317-0245-COM   Model 3
3673   ROM_PARAMETER( ":315_5881:key", "09222ac8" )
36653674ROM_END
36663675
36673676ROM_START( vs299a ) /* Step 2.0 */
r243109r243110
37373746
37383747   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
37393748   ROM_FILL( 0x000000, 0x80000, 0 )
3749
3750   //             ????     317-0245-COM   Model 3
3751   ROM_PARAMETER( ":315_5881:key", "09222ac8" )
37403752ROM_END
37413753
37423754ROM_START( vs299 )  /* Step 2.0 */
r243109r243110
38123824
38133825   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
38143826   ROM_FILL( 0x000000, 0x80000, 0 )
3827
3828   //             ????     317-0245-COM   Model 3
3829   ROM_PARAMETER( ":315_5881:key", "09222ac8" )
38153830ROM_END
38163831
38173832ROM_START( von2 )   /* Step 2.0 */
r243109r243110
38883903
38893904   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
38903905   ROM_FILL( 0x000000, 0x80000, 0 )
3906
3907   //             ????     317-0234-COM   Model 3
3908   ROM_PARAMETER( ":315_5881:key", "092a0e97" )
38913909ROM_END
38923910
38933911ROM_START( von254g )    /* Step 2.0, Sega game ID# is 833-13789 */
r243109r243110
39643982
39653983   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
39663984   ROM_FILL( 0x000000, 0x80000, 0 )
3985
3986   //             ????     317-0234-COM   Model 3
3987   ROM_PARAMETER( ":315_5881:key", "092a0e97" )
39673988ROM_END
39683989
39693990ROM_START( skichamp )   /* Step 2.0 */
r243109r243110
41084129
41094130   ROM_REGION( 0x10000, "ffcpu", 0 )   /* force feedback controller prg */
41104131   ROM_LOAD( "epr21119.ic8",  0x00000, 0x10000, CRC(65082b14) SHA1(6c3c192dd6ef3780c6202dd63fc6086328928818) )
4132
4133   //             ????     317-0241-COM   Model 3
4134   ROM_PARAMETER( ":315_5881:key", "11272a01" )
41114135ROM_END
41124136
41134137ROM_START( swtrilgya )  /* Step 2.1, Sega game ID# is 833-13586, ROM board ID# 834-13587 STAR WARS TRILOGY, Security board ID# 837-13588-COM */
r243109r243110
41774201
41784202   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
41794203   ROM_FILL( 0x000000, 0x80000, 0 )
4204
4205   //             ????     317-0241-COM   Model 3
4206   ROM_PARAMETER( ":315_5881:key", "11272a01" )
41804207ROM_END
41814208
41824209ROM_START( dirtdvls )   /* Step 2.1, Sega game ID# is 833-13427, ROM board ID# 834-13528 DRT */
r243109r243110
42384265
42394266   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
42404267   ROM_FILL( 0x000000, 0x80000, 0 )
4268
4269   //             ????     317-0238-COM   Model 3
4270   ROM_PARAMETER( ":315_5881:key", "09290f17" )
42414271ROM_END
42424272
42434273ROM_START( dirtdvlsa )  /* Step 2.1 */
r243109r243110
42994329
43004330   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
43014331   ROM_FILL( 0x000000, 0x80000, 0 )
4332
4333   //             ????     317-0238-COM   Model 3
4334   ROM_PARAMETER( ":315_5881:key", "09290f17" )
43024335ROM_END
43034336
43044337ROM_START( daytona2 )   /* Step 2.1, ROM board ID# 834-13428 DAYTONA USA2, Security board ID# 837-13507-COM */
r243109r243110
43794412
43804413   ROM_REGION( 0x10000, "drivebd", 0 ) /* drive board ROM */
43814414   ROM_LOAD( "epr-20985.bin", 0x000000, 0x010000, CRC(b139481d) SHA1(05fca7db7c8b084c53bd157ba3e8296f1a961a99) )
4415
4416   //             ????     317-0239-COM   Model 3
4417   ROM_PARAMETER( ":315_5881:key", "09250e16" )
43824418ROM_END
43834419
43844420ROM_START( dayto2pe )   /* Step 2.1, Sega game ID# is 833-13610 DAYTONA USA2 SP, ROM board ID# 834-13609 DAYTONA USA2 SP, Security board ID# 837-13645-COM */
r243109r243110
44594495
44604496   ROM_REGION( 0x10000, "drivebd", 0 ) /* drive board ROM */
44614497   ROM_LOAD( "epr-20985.bin", 0x000000, 0x010000, CRC(b139481d) SHA1(05fca7db7c8b084c53bd157ba3e8296f1a961a99) )
4498
4499   //             ????     317-5045-COM   Model 3
4500   ROM_PARAMETER( ":315_5881:key", "0" ) // unknown
44624501ROM_END
44634502
44644503ROM_START( srally2 )    /* Step 2.0, Sega game ID# is 833-13373, ROM board ID# 834-13374 SRT TWIN */
r243109r243110
48114850
48124851   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
48134852   ROM_FILL( 0x000000, 0x80000, 0 )
4853
4854   //             ????     317-0235-COM   Model 3
4855   ROM_PARAMETER( ":315_5881:key", "09260e96" )
48144856ROM_END
48154857
48164858ROM_START( spikeout )   /* Step 2.1 */
r243109r243110
48884930
48894931   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
48904932   ROM_FILL( 0x000000, 0x80000, 0 )
4933
4934   //             ????     317-0240-COM   Model 3
4935   ROM_PARAMETER( ":315_5881:key", "092f2b04" )
48914936ROM_END
48924937
48934938ROM_START( spikeofe )   /* Step 2.1, Sega game ID# is 833-13746, ROM board ID# 834-13747 SPK F/E, Security board ID# 837-13726-COM */
r243109r243110
49655010
49665011   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
49675012   ROM_FILL( 0x000000, 0x80000, 0 )
5013
5014   //             ????     317-0247-COM   Model 3
5015   ROM_PARAMETER( ":315_5881:key", "09236fc8" )
49685016ROM_END
49695017
49705018ROM_START( eca )    /* Step 2.1, ROM board ID# 834-13946-01 ECA */
r243109r243110
50335081
50345082   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
50355083   ROM_FILL( 0x000000, 0x80000, 0 )
5084
5085   //             ????     317-0265-COM   Model 3
5086   ROM_PARAMETER( ":315_5881:key", "0923aa91" )
50365087ROM_END
50375088
50385089ROM_START( ecax )   /* Step 2.1 */
r243109r243110
51015152
51025153   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
51035154   ROM_FILL( 0x000000, 0x80000, 0 )
5155
5156   //             ????     317-0265-COM   Model 3
5157   ROM_PARAMETER( ":315_5881:key", "0923aa91" )
51045158ROM_END
51055159
51065160ROM_START( ecap )   /* Step 2.1 - Proto or Location test - No security dongle */
r243109r243110
51725226
51735227   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
51745228   ROM_FILL( 0x000000, 0x80000, 0 )
5229
5230   //             ????     317-0265-COM   Model 3
5231   ROM_PARAMETER( ":315_5881:key", "0923aa91" )
51755232ROM_END
51765233
51775234ROM_START( magtruck )   /* Step 2.1, Sega game ID# is 833-13601-01 (Export), ROM board ID# 834-13600-01 RCS EXP (Export), Security board ID# 837-13599-COM */
r243109r243110
52285285
52295286   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
52305287   ROM_FILL( 0x000000, 0x80000, 0 )
5288
5289   //             ????     317-0243-COM   Model 3
5290   ROM_PARAMETER( ":315_5881:key", "09266e45" )
52315291ROM_END
52325292
52335293ROM_START( oceanhun )   /* Step 2.0, Sega game ID# is 833-13571, ROM board ID# 834-13572 THE OCEAN HUNTER, 317-0242-COM security chip (837-13576-COM security board) */
r243109r243110
52965356
52975357   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
52985358   ROM_FILL( 0x000000, 0x80000, 0 )
5359
5360   //             ????     317-0242-COM   Model 3
5361   ROM_PARAMETER( ":315_5881:key", "092b6a01" )
52995362ROM_END
53005363
53015364ROM_START( lamachin )   /* Step 2.0, Sega game ID# is 833-13664, ROM board ID# 834-13665 L.A.MACHINEGUNS, 317-0244-COM security chip (837-13666-COM security board) */
r243109r243110
53655428
53665429   ROM_REGION( 0x80000, "scsp2", 0 )   /* second SCSP's RAM */
53675430   ROM_FILL( 0x000000, 0x80000, 0 )
5431
5432   //             ????     317-0244-COM   Model 3
5433   ROM_PARAMETER( ":315_5881:key", "092a2bc5" )
53685434ROM_END
53695435
53705436/* Model 3 sound board emulation */
r243109r243110
56665732
56675733DRIVER_INIT_MEMBER(model3_state, genprot)
56685734{
5669   INT64 key = get_315_5881_key(machine());
5735   astring key = parameter(":315_5881:key");
56705736
56715737   m_maincpu->space(AS_PROGRAM).install_ram(0xf0180000, 0xf019ffff, 0, 0x0e000000);
56725738
5673   if (key != -1)
5739   if (key)
56745740   {
5675      m_cryptdevice->set_key(key);
56765741      m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xf01a0000, 0xf01a003f, 0, 0x0e000000, read64_delegate(FUNC(model3_state::model3_5881prot_r), this), write64_delegate(FUNC(model3_state::model3_5881prot_w), this) );                   
56775742   }
56785743   else
trunk/src/mame/drivers/naomi.c
r243109r243110
15101510#include "includes/dc.h"
15111511#include "includes/naomi.h"
15121512#include "machine/naomicrypt.h"
1513#include "machine/315-5881_helper.h"
15141513
15151514#define CPU_CLOCK (200000000)
15161515
r243109r243110
26632662 */
26642663
26652664static MACHINE_CONFIG_DERIVED( naomim2, naomi_base )
2666   MCFG_NAOMI_M2_BOARD_ADD("rom_board", ":315_5881key", "naomibd_eeprom", ":boardid", WRITE8(dc_state, g1_irq))
2665   MCFG_NAOMI_M2_BOARD_ADD("rom_board", "naomibd_eeprom", ":boardid", WRITE8(dc_state, g1_irq))
26672666MACHINE_CONFIG_END
26682667
26692668/*
r243109r243110
31063105   ROM_LOAD("mpr-23208.ic11", 0x5800000, 0x0800000, CRC(b9494f4b) SHA1(2f35b25edf5210a82d4b67e639eeae11440d065a) )
31073106   ROM_LOAD("mpr-23209.ic12s",0x6000000, 0x0800000, CRC(560188c0) SHA1(77f14c9a031c6e5414ffa854d20c40115361d715) )
31083107
3109   _315_5881_KEYFILE("cspike-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3108   // 841-0012    2000     317-5060-COM   Naomi
3109   ROM_PARAMETER( "rom_board:segam2crypt:key", "000e2010" )
31103110ROM_END
31113111
31123112/*
r243109r243110
31493149   ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) )
31503150   ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) )
31513151
3152   _315_5881_KEYFILE("capsnk-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3152   // 841-0011    2000     317-5059-COM   Naomi
3153   ROM_PARAMETER( ":rom_board:segam2crypt:key", "00000000" )
31533154ROM_END
31543155
31553156// ver 000804
r243109r243110
31673168   ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) )
31683169   ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) )
31693170
3170   _315_5881_KEYFILE("capsnk-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3171   // 841-0011    2000     317-5059-COM   Naomi
3172   ROM_PARAMETER( ":rom_board:segam2crypt:key", "00000000" )
31713173ROM_END
31723174
31733175// ver 000802
r243109r243110
31853187   ROM_LOAD( "mpr-23509.ic6", 0x5800000, 0x1000000, CRC(281d633d) SHA1(d773be8e95f7bf9212ee1061f3076220d4fce9e0) )
31863188   ROM_LOAD( "mpr-23510.ic7", 0x6800000, 0x1000000, CRC(b856fef5) SHA1(0634f86740c438b40286256a0269570d24cb845a) )
31873189
3188   _315_5881_KEYFILE("capsnk-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3190   // 841-0011    2000     317-5059-COM   Naomi
3191   ROM_PARAMETER( ":rom_board:segam2crypt:key", "00000000" )
31893192ROM_END
31903193
31913194/*
r243109r243110
32253228   ROM_LOAD("mpr-23426.ic7",   0x3800000, 0x0800000, CRC(7f91b13f) SHA1(2d534f77291ebfedc011bf0e803a1b9243fb477f) )
32263229   ROM_LOAD("mpr-23427.ic8",   0x4000000, 0x0800000, CRC(5851d525) SHA1(1cb1073542d75a3bcc0d363ed31d49bcaf1fd494) )
32273230
3228   _315_5881_KEYFILE("csmash-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3231   // 840-0044    2000     317-0289-COM   Naomi
3232   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08103347" )
32293233ROM_END
32303234
32313235ROM_START( csmasho )
r243109r243110
32433247   ROM_LOAD("mpr-23426.ic7", 0x3800000, 0x0800000, CRC(7f91b13f) SHA1(2d534f77291ebfedc011bf0e803a1b9243fb477f) )
32443248   ROM_LOAD("mpr-23427.ic8", 0x4000000, 0x0800000, CRC(5851d525) SHA1(1cb1073542d75a3bcc0d363ed31d49bcaf1fd494) )
32453249
3246   _315_5881_KEYFILE("csmasho-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3250   // 840-0044    2000     317-0289-COM   Naomi
3251   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08103347" )
32473252ROM_END
32483253
32493254/*
r243109r243110
32723277   ROM_LOAD("mpr-23522.ic9", 0x4800000, 0x0800000, CRC(7ae6716e) SHA1(658b794ae6e3898885524582a207faa1076a65ca) )
32733278   ROM_LOAD("mpr-23523.ic10",0x5000000, 0x0800000, CRC(c91efb67) SHA1(3d79870551310da7a641858ffec3840714e9cc22) )
32743279
3275   _315_5881_KEYFILE("deathcox-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3280   // 841-0016    2000     317-5066-COM   Naomi
3281   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000b64d0" )
32763282ROM_END
32773283
32783284/*
r243109r243110
33373343   ROM_LOAD("mpr-22119.ic20s",0xa000000, 0x0800000, CRC(d608fa86) SHA1(54c8107cccec8cbb536f13cda5b220b7972190b7) )
33383344   ROM_LOAD("mpr-22120.ic21s",0xa800000, 0x0800000, CRC(a30facb4) SHA1(70415ca34095c795297486bce1f956f6a8d4817f) )
33393345
3340   _315_5881_KEYFILE("doa2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3346   // 841-0003    1999     317-5048-COM   Naomi
3347   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0008ad01" )
33413348
33423349   // on-cart X76F100 eeprom contents
33433350   ROM_REGION( 0x84, "naomibd_eeprom", 0 )
r243109r243110
34083415   ROM_LOAD("mpr-22119.ic20s",0xa000000, 0x0800000, CRC(d608fa86) SHA1(54c8107cccec8cbb536f13cda5b220b7972190b7) )
34093416   ROM_LOAD("mpr-22120.ic21s",0xa800000, 0x0800000, CRC(a30facb4) SHA1(70415ca34095c795297486bce1f956f6a8d4817f) )
34103417
3411   _315_5881_KEYFILE("doa2m-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3418   // 841-0003    1999     317-5048-COM   Naomi
3419   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0008ad01" )
34123420
34133421   // on-cart X76F100 eeprom contents
34143422   ROM_REGION( 0x84, "naomibd_eeprom", 0 )
r243109r243110
34643472   ROM_LOAD("mpr-22097.ic13s", 0x6800000, 0x0800000, CRC(f1dedac5) SHA1(9d4499cbafe80dd0b36be617de7994a96e1e9a01) )
34653473   ROM_LOAD("mpr-22098.ic14s", 0x7000000, 0x0800000, CRC(f9824d2e) SHA1(f20f8cc2b1bef9077ede1cb874da8f2a335d39de) )
34663474
3467   _315_5881_KEYFILE("derbyoc-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3475   // 840-0016    1999     317-0262-JPN   Naomi
3476   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fee35" )
34683477ROM_END
34693478
34703479ROM_START( derbyocw )
r243109r243110
34813490   ROM_LOAD( "mpr-22337.ic6", 0x5800000, 0x1000000, CRC(87ca3a2f) SHA1(2ffc01597107eb60dfa7aa49d51f203b51a44334) )
34823491   ROM_LOAD( "mpr-22338.ic7", 0x6800000, 0x1000000, CRC(4bda7303) SHA1(db27d91ef811d741cfdb5c0196e61be722c2f5bd) )
34833492
3484   _315_5881_UNUSED_OR_UNKNOWN
3493   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
34853494ROM_END
34863495
34873496ROM_START( drbyocwc )
r243109r243110
34983507   ROM_LOAD( "mpr-22333.ic6", 0x5800000, 0x1000000, CRC(96f324aa) SHA1(bc41e2097c1841771d786ba9ad1a31df1494a856) )
34993508   ROM_LOAD( "mpr-22334.ic7", 0x6800000, 0x1000000, CRC(5389b05a) SHA1(e206e4d82d7b1a59c33043ec0812eb69be08d9b3) )
35003509
3501   _315_5881_UNUSED_OR_UNKNOWN
3510   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
35023511ROM_END
35033512
35043513/*
r243109r243110
35263535   ROM_LOAD( "mpr-22304.ic10", 0x9800000, 0x1000000, CRC(46c1fb1f) SHA1(6daca76a75df3501f77e473eb065d48804fcc64a) )
35273536   ROM_LOAD( "mpr-22305.ic11", 0xa800000, 0x1000000, CRC(027d0e7b) SHA1(e3c874e60cabb6f9ce686696d9055a0c0d5289ae) )
35283537
3529   _315_5881_UNUSED_OR_UNKNOWN
3538   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
35303539ROM_END
35313540
35323541/*
r243109r243110
36053614   ROM_LOAD("mpr-21573.ic20s", 0xa000000, 0x0800000, CRC(5d822e63) SHA1(8412980b288531c294d5cf9a6394aa0b9503d7df) )
36063615   ROM_LOAD("mpr-21574.ic21s", 0xa800000, 0x0800000, CRC(d794a42c) SHA1(a79c7818c6ec993e718494b1d5407eb270a29abe) )
36073616
3608   _315_5881_KEYFILE("dynabbnao-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3617   // 840-0001    1998     317-0246-JPN   Naomi
3618   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080e6ae1" )
36093619ROM_END
36103620
36113621/*
r243109r243110
36683678   ROM_LOAD("mpr-22139.ic18s", 0x9000000, 0x0800000, CRC(92faa2ca) SHA1(4953f0219c3ae62de0a89473cb7b9dd30b33fcfb) )
36693679   ROM_LOAD("mpr-22140.ic19s", 0x9800000, 0x0800000, CRC(4cb54893) SHA1(a99b39cc3c82c3cf90f794bb8c8ba60638a6f921) )
36703680
3671   _315_5881_KEYFILE("dyb99-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3681   // 840-0019    1999     317-0269-JPN   Naomi
3682   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0804ae71" )
36723683ROM_END
36733684
36743685ROM_START( smlg99 )
r243109r243110
37003711   ROM_LOAD( "mpr-22057.ic20s", 0xa000000, 0x800000, CRC(a056c109) SHA1(637e80c2d605851265430b0fa771a4ad5233be8a) )
37013712   ROM_LOAD( "mpr-22058.ic21s", 0xa800000, 0x800000, CRC(f16edaa0) SHA1(e093f5594df43c592a9acd45002ecc65035c2435) )
37023713
3703   _315_5881_KEYFILE("sml99-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3714   // 840-0012    1999     317-0259-COM   Naomi
3715   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08048a01" )
37043716ROM_END
37053717
37063718/*
r243109r243110
37413753   ROM_LOAD("mpr-21900.ic20s", 0xa000000, 0x0800000, CRC(81901130) SHA1(1573b5c4360e29ba1a4b4901af49d5399fa1e635) )
37423754   ROM_LOAD("mpr-21901.ic21s", 0xa800000, 0x0800000, CRC(266a3eea) SHA1(795ecc5589a0152b9cf1e03e454ed1ea01501942) )
37433755
3744   _315_5881_KEYFILE("f355-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3756   // 834-13842   1999     317-0254-COM   Naomi
3757   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080e8f84" )
37453758
37463759   ROM_REGION( 0x10000, "drivebd", 0 ) /* drive board ROM */
37473760   ROM_LOAD( "epr-21867.bin", 0x000000, 0x010000, CRC(4f93a2a0) SHA1(875907e7fcfc44850e2c60c12268ac61c742f217) )
r243109r243110
37753788   ROM_LOAD( "mpr-22846.ic20s", 0xa000000, 0x800000, CRC(d4148f39) SHA1(b6598ce52bcaa42805c581de326c953d27c1b2b4) )
37763789   ROM_LOAD( "mpr-22847.ic21s", 0xa800000, 0x800000, CRC(955ad42e) SHA1(e396ca02b5786557434632c4fac56af3a4a9f8ce) )
37773790
3778   _315_5881_KEYFILE("f355twin-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3791   // 834-13950   1999     317-0267-COM   Naomi
3792   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0806efd4" )
37793793ROM_END
37803794
37813795// There is also a development cart (171-7885A). Content is the same.
r243109r243110
38073821   ROM_LOAD( "mpr-23397.ic20s", 0xa000000, 0x800000, CRC(28d2caf6) SHA1(67a3bc19abccf7f211c3aae67e751815857bd564) )
38083822   ROM_LOAD( "mpr-23398.ic21s", 0xa800000, 0x800000, CRC(ea4d4d2a) SHA1(3dc9c7164516ae7f3b988c088ab819d8fd40d75e) )
38093823
3810   _315_5881_KEYFILE("f355twn2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3824   // 840-0042    2001     317-0287-COM   Naomi
3825   ROM_PARAMETER( ":rom_board:segam2crypt:key", "081666c6" )
38113826ROM_END
38123827
38133828ROM_START( alpiltdx )
r243109r243110
38283843   ROM_LOAD( "mpr-21737.ic10", 0x5000000, 0x800000, CRC(260aaa98) SHA1(d1082587afe9d79f286df8b107a553ee51c27643) )
38293844   ROM_LOAD( "mpr-21738.ic11", 0x5800000, 0x800000, CRC(95a592e8) SHA1(862dce467e8805381bab001df68262f1baf3c498) )
38303845
3831   _315_5881_KEYFILE("alpltdx-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3846   // 834-?????   1999     317-0251-COM   Naomi
3847   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08070e41" )
38323848
38333849   // on-cart X76F100 eeprom contents
38343850   ROM_REGION( 0x84, "naomibd_eeprom", 0 )
r243109r243110
38533869   ROM_LOAD( "mpr-21737.ic10", 0x5000000, 0x800000, CRC(260aaa98) SHA1(d1082587afe9d79f286df8b107a553ee51c27643) )
38543870   ROM_LOAD( "mpr-21738.ic11", 0x5800000, 0x800000, CRC(95a592e8) SHA1(862dce467e8805381bab001df68262f1baf3c498) )
38553871
3856   _315_5881_KEYFILE("alpilota-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
3872   // 840-0005    1999     317-0251-COM   Naomi
3873   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08070e41" )
38573874ROM_END
38583875
38593876ROM_START( hotd2 )
r243109r243110
38873904   ROM_LOAD( "mpr-21404.ic19s", 0x9800000, 0x800000, CRC(6cf6e705) SHA1(68d7e9becefe27b556e0c5d7ba00efd2d1fb71ca) )
38883905   ROM_LOAD( "mpr-21405.ic20s", 0xa000000, 0x800000, CRC(495e6265) SHA1(57936367fec0000691641525682fb8aefc4e4f56) )
38893906
3890   _315_5881_UNUSED_OR_UNKNOWN
3907   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
38913908ROM_END
38923909
38933910ROM_START( hotd2o )
r243109r243110
39213938   ROM_LOAD( "mpr-21404.ic19s", 0x9800000, 0x800000, CRC(6cf6e705) SHA1(68d7e9becefe27b556e0c5d7ba00efd2d1fb71ca) )
39223939   ROM_LOAD( "mpr-21405.ic20s", 0xa000000, 0x800000, CRC(495e6265) SHA1(57936367fec0000691641525682fb8aefc4e4f56) )
39233940
3924   _315_5881_UNUSED_OR_UNKNOWN
3941   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
39253942ROM_END
39263943
39273944ROM_START( hotd2p )
r243109r243110
39553972   ROM_LOAD( "mpr-21404.ic19s", 0x9800000, 0x800000, CRC(6cf6e705) SHA1(68d7e9becefe27b556e0c5d7ba00efd2d1fb71ca) )
39563973   ROM_LOAD( "mpr-21405.ic20s", 0xa000000, 0x800000, CRC(495e6265) SHA1(57936367fec0000691641525682fb8aefc4e4f56) )
39573974
3958   _315_5881_UNUSED_OR_UNKNOWN
3975   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
39593976ROM_END
39603977
39613978/*
r243109r243110
39904007   ROM_LOAD("mpr-21830.ic10", 0x5000000, 0x0800000, CRC(e01ceb86) SHA1(dd5703d7712cfc0053bddfff63e78dda372b6ff2) )
39914008   ROM_LOAD("mpr-21831.ic11", 0x5800000, 0x0800000, CRC(751848d0) SHA1(9c2267fd3c6f9ea5f2679bb2ca20d511a49b2845) )
39924009
3993   _315_5881_KEYFILE("ggram2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4010   // 840-0007    1999     317-0253-JPN   Naomi
4011   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08074a61" )
39944012ROM_END
39954013
39964014/*
r243109r243110
40784096   ROM_REGION( 0x84, "naomibd_eeprom", 0 )
40794097   ROM_LOAD( "x76f100.ic37", 0x000000, 0x000084, CRC(c79251d5) SHA1(3e70bbbb6d28bade7eec7e27d716463045656f98) )
40804098
4081   _315_5881_KEYFILE("tduno-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4099   // 840-0008    1999     317-0255-JPN   Naomi
4100   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08028ea5" )
40824101ROM_END
40834102
40844103ROM_START( tduno2 )
r243109r243110
41324151   ROM_LOAD( "mpr-24281.ic6",  0x5800000, 0x1000000, CRC(39133c32) SHA1(09ea8c1a98ba0fac36e18ae14ed5302feaeb89ca) )
41334152   ROM_LOAD( "mpr-24282.ic7",  0x6800000, 0x1000000, CRC(9aa4ad5a) SHA1(2d81f99a579477c5db725f71c51f18afc15abce7) )
41344153
4135   _315_5881_UNUSED_OR_UNKNOWN // or M1?
4154   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown // or M1?
41364155ROM_END
41374156
41384157ROM_START( crackndj )
r243109r243110
41524171   ROM_LOAD( "mpr-23533.ic9",  0x8800000, 0x1000000, CRC(fc909c00) SHA1(9cf22a97ea272c4586f3942aefdb803bd0e6ede7) )
41534172   ROM_LOAD( "mpr-23534.ic10", 0x9800000, 0x1000000, CRC(62ed85b6) SHA1(b88336bc6115c92a839981cb0c0d0a67b1f7eda5) )
41544173
4155   _315_5881_KEYFILE("crackndj-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4174   // 840-0043    2000     317-0288-COM   Naomi
4175   ROM_PARAMETER( ":rom_board:segam2crypt:key", "081c2347" )
41564176ROM_END
41574177
41584178ROM_START( crakndj2 )
r243109r243110
41854205   ROM_LOAD( "rom19.ic19s",  0x9800000, 0x800000, CRC(31f816ba) SHA1(354f8271eef20eb131f83fb9641002cfcd31c8cd) )
41864206   ROM_LOAD( "rom20.ic20s",  0xa000000, 0x800000, CRC(aabcd580) SHA1(9455e218ab381c7ad5adb2884da39ca7948169d5) )
41874207
4188   _315_5881_KEYFILE("crackndj2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4208   // 840-0068    2001     317-0311-COM   Naomi
4209   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08428247" )
41894210ROM_END
41904211
41914212ROM_START( samba2k )
r243109r243110
42064227   ROM_LOAD( "mpr-23598.ic10", 0x09800000, 0x1000000, CRC(e06ee3dd) SHA1(21985e45e1ab5e3a79dd52492a582324a1a36d56) )
42074228   ROM_LOAD( "mpr-23599.ic11", 0x0a800000, 0x1000000, CRC(1fd2e792) SHA1(6f299e527be529f85d0e8b4ce0e7a06ac0d25fe9) )
42084229
4209   _315_5881_KEYFILE("samba2k-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4230   // 840-0047    2000     317-0295-COM   Naomi
4231   ROM_PARAMETER( ":rom_board:segam2crypt:key", "081702cf" )
42104232ROM_END
42114233
42124234ROM_START( alienfnt )
r243109r243110
42214243   ROM_LOAD( "mpr-23584.ic4",   0x3800000, 0x1000000, CRC(8d444756) SHA1(89c480f9ed1239c8ae565c85fa0fd50324264b20) )
42224244   ROM_LOAD( "mpr-23585.ic5",   0x4800000, 0x1000000, CRC(883a6482) SHA1(e3145710df793b7fd67f02707904416210a71978) )
42234245
4224   _315_5881_KEYFILE("alienfnt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4246   // 840-0048    2001     317-0293-COM   Naomi
4247   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08174343" )
42254248ROM_END
42264249
42274250ROM_START( alienfnta )
r243109r243110
42364259   ROM_LOAD( "mpr-23584.ic4",   0x3800000, 0x1000000, CRC(8d444756) SHA1(89c480f9ed1239c8ae565c85fa0fd50324264b20) )
42374260   ROM_LOAD( "mpr-23585.ic5",   0x4800000, 0x1000000, CRC(883a6482) SHA1(e3145710df793b7fd67f02707904416210a71978) )
42384261
4239   _315_5881_KEYFILE("alienfnt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4262   // 840-0048    2001     317-0293-COM   Naomi
4263   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08174343" )
42404264ROM_END
42414265
42424266/*
r243109r243110
42674291   ROM_LOAD("mpr-23354.ic13s",0x6800000, 0x0800000, CRC(cea127f7) SHA1(11f12472ebfc93eb72b764c780e30afd4812dbe9) )
42684292   ROM_LOAD("mpr-23355.ic14s",0x7000000, 0x0800000, CRC(e809685f) SHA1(dc052b4eb4fdcfdc22c4807316ce34ee7a0d58a6) )
42694293
4270   _315_5881_KEYFILE("ggx-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4294   // 841-0013    2000     317-5063-COM   Naomi
4295   ROM_PARAMETER( ":rom_board:segam2crypt:key", "00076110" )
42714296ROM_END
42724297
42734298/*
r243109r243110
43124337   ROM_LOAD("mpr-23714.ic10",0x5000000, 0x0800000, CRC(da462c44) SHA1(ca450b6c07f939f96eba7b44c45b4e38abd598aa) )
43134338   ROM_LOAD("mpr-23715.ic11",0x5800000, 0x0800000, CRC(c750abbd) SHA1(2a5bedc2b21cd3f991c7145ccfd8c7a9e7f647ae) )
43144339
4315   _315_5881_KEYFILE("hmgeo-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4340   // HMG016007   2001     317-5071-COM   Naomi
4341   ROM_PARAMETER( ":rom_board:segam2crypt:key", "00038510" )
43164342ROM_END
43174343
43184344/*
r243109r243110
43504376   ROM_LOAD("mpr-22274.ic4", 0x3800000, 0x1000000, CRC(f8daaaf3) SHA1(8854d3f8e3d55715ede33ee918b641e251f752b4) )
43514377   ROM_LOAD("mpr-22275.ic5", 0x4800000, 0x1000000, CRC(61aa1521) SHA1(7d9f5790e72a9151d128ac7887e236526fdf72a0) )
43524378
4353   _315_5881_KEYFILE("gwing2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4379   // 841-0014    2000     317-5064-COM   Naomi
4380   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000b25d0" )
43544381ROM_END
43554382
43564383/*
r243109r243110
43994426   ROM_LOAD("mpr-21992.ic13s",0x6800000, 0x0800000, CRC(599a2fb8) SHA1(2a0007064ad2ee1e1a0fda1d5676df4ff19a9f2f) )
44004427   ROM_LOAD("mpr-21993.ic14s",0x7000000, 0x0400000, CRC(fb28cf0a) SHA1(d51b1d4514a93074d1f77bd1bc5995739604cf56) )
44014428
4402   _315_5881_KEYFILE("suchie3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4429   // 841-0002    1999     317-5047-JPN   Naomi
4430   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000368e1" )
44034431ROM_END
44044432
44054433/*
r243109r243110
44284456   ROM_LOAD("mpr-22071.ic11", 0x5800000, 0x0800000, CRC(1ab1f1ab) SHA1(bb8fa8d5a681115a82e9598ebe599b106f7aae9d) )
44294457   ROM_LOAD("mpr-22072.ic12s",0x6000000, 0x0800000, CRC(cb8d2634) SHA1(03ac8fb3a1acb1f8e32d9325c4da42417752f934) )
44304458
4431   _315_5881_UNUSED_OR_UNKNOWN
4459   // 841-0004    1999     317-5050-JPN   Naomi     seems not used by game
4460   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0")
44324461ROM_END
44334462
44344463/*
r243109r243110
44924521   ROM_LOAD("mpr-22033.ic9", 0x4800000, 0x0800000, CRC(5fe5586e) SHA1(3ff41ae1f81469597684faadd88e62b5e0634352) )
44934522   ROM_LOAD("mpr-22034.ic10",0x5000000, 0x0800000, CRC(3aa5ce5e) SHA1(f00a906235e4522d6fc2ac771324114346875314) )
44944523
4495   _315_5881_KEYFILE("toyfight-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4524   // 840-0011    1999     317-0257-COM   Naomi
4525   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0802ca85" )
44964526ROM_END
44974527
44984528/* Crazy Taxi */
r243109r243110
45164546   ROM_LOAD( "mpr-21682.ic14s", 0x7000000, 0x800000, CRC(54c0290e) SHA1(6e07ab6e95c29a2aabed0ba1a7af0d7d605e0309) )
45174547   ROM_LOAD( "mpr-21683.ic15s", 0x7800000, 0x800000, CRC(ac8a27e0) SHA1(8e71d853a102dd6c164d5326e6d157ccfb8c7b36) )
45184548
4519   _315_5881_KEYFILE("crzytaxi-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4549   // 840-0002    1999     317-0248-COM   Naomi
4550   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080d2f45" )
45204551ROM_END
45214552
45224553/* Jambo! Safari */
r243109r243110
45354566   ROM_LOAD( "mpr-22824.ic7",  0x3800000, 0x800000, CRC(cc55304a) SHA1(e548d8de83469e5816c55dbbb00afbb894282fd6) )
45364567   ROM_LOAD( "mpr-22825.ic8",  0x4000000, 0x800000, CRC(85bada10) SHA1(b6e15d8f1d6bca12ffa4816ed0393c04ca500fba) )
45374568
4538   _315_5881_KEYFILE("jambo-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4569   // 840-0013    1999     317-0264-COM   Naomi
4570   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fab95" )
45394571ROM_END
45404572
45414573/* 18 Wheeler (deluxe) (Rev A) */
r243109r243110
45664598   ROM_LOAD( "mpr-22182.ic19s", 0x9800000, 0x800000, CRC(c5606c42) SHA1(5871104ff1c7acde0493e13b9a4d0abdf8a40728) )
45674599   ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) )
45684600
4569   _315_5881_KEYFILE("18wheelr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4601   // 840-0023    2000     317-0273-COM   Naomi
4602   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0807cf54" )
45704603
45714604   // JVS I/O board 837-13844, code is for a Z80 of unknown type (it's inside the big Sega ASIC)
45724605   ROM_REGION( 0x20000, "jvsio", ROMREGION_ERASEFF)
r243109r243110
46074640   ROM_LOAD( "mpr-22182.ic19s", 0x9800000, 0x800000, CRC(c5606c42) SHA1(5871104ff1c7acde0493e13b9a4d0abdf8a40728) )
46084641   ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) )
46094642
4610   _315_5881_KEYFILE("18wheelr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4643   // 840-0023    2000     317-0273-COM   Naomi
4644   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0807cf54" )
46114645
46124646   // JVS I/O board 837-13844, code is for a Z80 of unknown type (it's inside the big Sega ASIC)
46134647   ROM_REGION( 0x20000, "jvsio", ROMREGION_ERASEFF)
r243109r243110
46484682   ROM_LOAD( "mpr-22182.ic19s", 0x9800000, 0x800000, CRC(c5606c42) SHA1(5871104ff1c7acde0493e13b9a4d0abdf8a40728) )
46494683   ROM_LOAD( "mpr-22183.ic20s", 0xa000000, 0x800000, CRC(776af308) SHA1(7d29cb4dce75d34c622549fea7e102868d0da60a) )
46504684
4651   _315_5881_KEYFILE("18wheelr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4685   // 840-0023    2000     317-0273-COM   Naomi
4686   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0807cf54" )
46524687
46534688   // JVS I/O board 837-13844, code is for a Z80 of unknown type (it's inside the big Sega ASIC)
46544689   ROM_REGION( 0x20000, "jvsio", ROMREGION_ERASEFF)
r243109r243110
46804715   ROM_LOAD( "mpr-22991.ic14s", 0x7000000, 0x800000, CRC(0c20f313) SHA1(ac335d3015ef348c91319ae0e98b79a60e92f452) )
46814716   ROM_LOAD( "mpr-22992.ic15s", 0x7800000, 0x800000, CRC(5eb6c4c6) SHA1(5dc1bced7ebd7d7e01f74d03706ec4a96585628d) )
46824717
4683   _315_5881_KEYFILE("marstv-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4718   // 840-0025    1999     317-0274-JPN   Naomi
4719   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080b8ef5" )
46844720ROM_END
46854721
46864722/* Sega Strike Fighter */
r243109r243110
47114747   ROM_LOAD( "mpr-23320.ic19s", 0x9800000, 0x800000, CRC(5ec75a45) SHA1(696e5d14678c794dec67246507bd580f7e5b5043) )
47124748   ROM_LOAD( "mpr-23321.ic20s", 0xa000000, 0x800000, CRC(018627d4) SHA1(2519f39ad046d14f602648fed39bc3719185b55e) )
47134749
4714   _315_5881_KEYFILE("sstrkfgt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4750   // 840-0035    2000     317-0281-COM   Naomi
4751   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08132303" )
47154752ROM_END
47164753
47174754// EPR ROM have different number, possible updated/bugfixed re-release or STD/DLX version, difference with original set is unknown, have "Rev.A" label too
r243109r243110
47424779   ROM_LOAD( "mpr-23320.ic19s", 0x9800000, 0x800000, CRC(5ec75a45) SHA1(696e5d14678c794dec67246507bd580f7e5b5043) )
47434780   ROM_LOAD( "mpr-23321.ic20s", 0xa000000, 0x800000, CRC(018627d4) SHA1(2519f39ad046d14f602648fed39bc3719185b55e) )
47444781
4745   _315_5881_KEYFILE("sstrkfgt-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4782   // 840-0035    2000     317-0281-COM   Naomi
4783   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08132303" )
47464784ROM_END
47474785
47484786
r243109r243110
47614799   ROM_LOAD( "mpr-22914.ic5", 0x2800000, 0x800000, CRC(77844b60) SHA1(65d71febb8a160d00778ac7b53e082253cad9834) )
47624800   ROM_LOAD( "mpr-22915.ic6", 0x3000000, 0x800000, CRC(e48148ac) SHA1(c1273353eeaf9bb6b185f133281d7d04271bc895) )
47634801
4764   _315_5881_KEYFILE("sgtetri-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4802   // 840-0018    1999     317-0268-COM   Naomi
4803   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0808ae51" )
47654804ROM_END
47664805
47674806/*
r243109r243110
48174856   ROM_LOAD("mpr-23339.ic16s",0x8000000, 0x0800000, CRC(fd8c2736) SHA1(34ae1a4e35b4aac6666719fb4fc0959bd64ff3d6) )
48184857   ROM_LOAD("mpr-23340.ic17s",0x8800000, 0x0800000, CRC(001604f8) SHA1(615ec027d383d44d4aadb1175be6320e4139d7d1) )
48194858
4820   _315_5881_KEYFILE("slasho-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4859   // 840-0041    2000     317-0286-COM   Naomi
4860   ROM_PARAMETER( ":rom_board:segam2crypt:key", "081a66ca" )
48214861ROM_END
48224862
48234863
r243109r243110
48744914   ROM_LOAD( "mpr-23546.ic10", 0x9800000, 0x1000000, CRC(85db2248) SHA1(37845c269a2e65ee6181a8e7500c2e7dd9b2e343) )
48754915   ROM_LOAD( "mpr-23547.ic11", 0xa800000, 0x1000000, CRC(18b369c7) SHA1(b61cb3fda8cc685865684f7afc7dad0b29d93ca5) )
48764916
4877   _315_5881_KEYFILE("pjustic-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4917   // 841-0015    2000     317-5065-COM   Naomi
4918   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000725d0" )
48784919ROM_END
48794920
48804921/*
r243109r243110
49154956   ROM_LOAD("mpr-21595.ic7", 0x3800000, 0x0800000, CRC(7ab218f7) SHA1(c5c022e63f926cce09d49331647cde20e8e42ab3) )
49164957   ROM_LOAD("mpr-21596.ic8", 0x4000000, 0x0800000, CRC(f27dbdc5) SHA1(d54717d62897546968de2f049239f68bee49bdd8) )
49174958
4918   _315_5881_KEYFILE("pston-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
4959   // 841-0001    1999     317-5046-COM   Naomi
4960   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000e69c1" )
49194961ROM_END
49204962
49214963/*
r243109r243110
49574999   ROM_LOAD("mpr-23125.ic8", 0x4000000, 0x0800000, CRC(b9938bbc) SHA1(d55d7adecb5a5a4a276a5a17c12808085d980fd9) )
49585000   ROM_LOAD("mpr-23126.ic9", 0x4800000, 0x0800000, CRC(fbb0325b) SHA1(21b965519d7508d84344641d43e8af2c3ca29ba4) )
49595001
4960   _315_5881_KEYFILE("pstone2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5002   // 841-0008    2000     317-5054-COM   Naomi
5003   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000b8dc0" )
49615004ROM_END
49625005
49635006
r243109r243110
50215064   ROM_LOAD("mpr-22159.ic18s",0x9000000, 0x0800000, CRC(f8b5e99d) SHA1(bb174a6a80967d0ff05c3a7512e4f0f9c921d130) )
50225065   ROM_LOAD("mpr-22160.ic19s",0x9800000, 0x0800000, CRC(579eef4e) SHA1(bfcabd57f623647053afcedcabfbc74e5736819f) )
50235066
5024   _315_5881_KEYFILE("outrigger-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5067   // 840-0017    1999     317-0266-COM   Naomi
5068   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fea94" )
50255069ROM_END
50265070
50275071/*
r243109r243110
51125156   ROM_LOAD("mpr-22964.ic15s",0x7800000, 0x0800000, CRC(f581d5a3) SHA1(8cf769f5b0a48951246bb60e9cf58232bcee7bc8) )
51135157   ROM_LOAD("mpr-22965.ic16s",0x8000000, 0x0800000, CRC(8f7bfa8a) SHA1(19f137b1552978d232785c4408805b71835585c6) )
51145158
5115   _315_5881_KEYFILE("samba-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5159   // 840-0020    1999     317-0270-COM   Naomi
5160   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080a8b5d" )
51165161ROM_END
51175162
51185163// prototype - only works with US BIOS
r243109r243110
51395184   ROM_LOAD("mpr-22964.ic15s",0x7800000, 0x0800000, CRC(f581d5a3) SHA1(8cf769f5b0a48951246bb60e9cf58232bcee7bc8) )
51405185   ROM_LOAD("mpr-22965.ic16s",0x8000000, 0x0800000, CRC(8f7bfa8a) SHA1(19f137b1552978d232785c4408805b71835585c6) )
51415186
5142   _315_5881_KEYFILE("samba-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5187   // 840-0020    1999     317-0270-COM   Naomi
5188   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080a8b5d" )
51435189ROM_END
51445190
51455191/*
r243109r243110
51705216   ROM_LOAD("mpr-22218.ic11",  0x5800000, 0x0800000, CRC(f9ca31b8) SHA1(ea3d0f38ca1a46c896c06f038a6362ad3c9f90b2) )
51715217   ROM_LOAD("mpr-22219.ic12s", 0x6000000, 0x0800000, CRC(b3b45811) SHA1(045e7236b814f848d4c9767618ddcd4344d880ec) )
51725218
5173   _315_5881_UNUSED_OR_UNKNOWN
5219   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
51745220ROM_END
51755221
51765222// Shootout Pool
r243109r243110
52375283   ROM_LOAD( "mpr-24057.ic4", 0x3800000, 0x1000000, CRC(6dec3518) SHA1(3e65065df22680e2bbf2d3db22da413f347a1abe) )
52385284   ROM_LOAD( "mpr-24058.ic5", 0x4800000, 0x1000000, CRC(0eba9049) SHA1(a71ca72aeaf17180cde59d7c7b42c97a1b4259ab) )
52395285
5240   _315_5881_UNUSED_OR_UNKNOWN
5286   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
52415287ROM_END
52425288
52435289/*
r243109r243110
52815327   ROM_LOAD("mpr-22975.ic9",  0x4800000, 0x0800000, CRC(0d3c70d1) SHA1(22920bc5fd1dda760b5cb17482e9181be899bc08) )
52825328   ROM_LOAD("mpr-22976.ic10", 0x5000000, 0x0800000, CRC(092d8063) SHA1(14fafd3f4c4f2b37172453d1c815fb9b8f4814f4) )
52835329
5284   _315_5881_KEYFILE("spawn-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5330   // 841-0005    1999     317-5051-COM   Naomi
5331   ROM_PARAMETER( ":rom_board:segam2crypt:key", "00078d01" )
52855332ROM_END
52865333
52875334/*
r243109r243110
53225369   ROM_LOAD("mpr-23020.ic20s", 0xa000000, 0x0800000, CRC(b5943007) SHA1(d0e95084aec5e05027c21a6b4a3331408853781b) )
53235370   //ic21 not populated
53245371
5325   _315_5881_UNUSED_OR_UNKNOWN
5372   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
53265373ROM_END
53275374
53285375/*
r243109r243110
53865433   ROM_LOAD("mpr-22947.ic20s", 0xa000000, 0x0800000, CRC(5e5eb595) SHA1(401d4a11d436988d716bb014b36233f171dc576d) )
53875434   ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) )
53885435
5389   _315_5881_UNUSED_OR_UNKNOWN
5436   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
53905437ROM_END
53915438
53925439ROM_START( virnbao )
r243109r243110
54175464   ROM_LOAD("mpr-22947.ic20s", 0xa000000, 0x0800000, CRC(5e5eb595) SHA1(401d4a11d436988d716bb014b36233f171dc576d) )
54185465   ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) )
54195466
5420   _315_5881_KEYFILE("virnbao-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5467   // 840-0021    2000     317-0271-COM   Naomi
5468   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08068b58" )
54215469ROM_END
54225470
54235471ROM_START( virnbap )
r243109r243110
54485496   ROM_LOAD("mpr-22947.ic20s", 0xa000000, 0x0800000, CRC(5e5eb595) SHA1(401d4a11d436988d716bb014b36233f171dc576d) )
54495497   ROM_LOAD("mpr-22948.ic21s", 0xa800000, 0x0800000, CRC(1b0de917) SHA1(fd1742ea9bb2f1ce871ee3266171f26634e1c8e7) )
54505498
5451   _315_5881_KEYFILE("virnbao-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5499   // 840-0021    2000     317-0271-COM   Naomi
5500   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08068b58" )
54525501ROM_END
54535502
54545503/*
r243109r243110
55005549   ROM_LOAD("mpr-21922.ic14s",0x7000000, 0x0800000, CRC(a1901e1e) SHA1(2281f91ac696cc14886bcdf4b0685ce2f5bb8117) )
55015550   ROM_LOAD("mpr-21923.ic15s",0x7800000, 0x0400000, CRC(d127d9a5) SHA1(78c95357344ea15469b84fa8b1332e76521892cd) )
55025551
5503   _315_5881_KEYFILE("vs2_2k-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5552   // 840-0010    1999     317-0258-COM   Naomi
5553   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08088b08" )
55045554ROM_END
55055555
55065556/*
r243109r243110
55445594   ROM_LOAD("mpr-22925.ic10",0x5000000, 0x0800000, CRC(81057e42) SHA1(d41137ae28c64dbdb50150db8cf25851bc0709c4) )
55455595   ROM_LOAD("mpr-22926.ic11",0x5800000, 0x0800000, CRC(57eec89d) SHA1(dd8f9a9155e51ee5260f559449fb0ea245077952) )
55465596
5547   _315_5881_KEYFILE("vtennis-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5597   // 840-0015    1999     317-0263-COM   Naomi
5598   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0803eb15" )
55485599ROM_END
55495600
55505601/*
r243109r243110
55695620   ROM_LOAD( "mpr-22268.ic7", 0x6800000, 0x1000000, CRC(536f5eea) SHA1(f1de8624f82595adf75693b604fb026bf3f778ee) )
55705621   ROM_LOAD( "mpr-22269.ic8", 0x7800000, 0x1000000, CRC(6c0cf740) SHA1(da10b33a6e54afbe1d7e52801216e7119b0b33b1) )
55715622
5572   _315_5881_KEYFILE("wwfroyal-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5623   // 840-0040    2000     317-0285-COM   Naomi
5624   ROM_PARAMETER( ":rom_board:segam2crypt:key", "081627c3" )
55735625ROM_END
55745626
55755627ROM_START( mushik2e )
r243109r243110
58855937   ROM_LOAD("mpr-21725.ic18s",0x9000000, 0x0800000, CRC(2202077b) SHA1(0893a85379f994277083c0bc5b178dd34508f816) )
58865938   ROM_LOAD("mpr-21726.ic19s",0x9800000, 0x0800000, CRC(429bf290) SHA1(6733e1bcf100e73ab43273f6feedc187fcaa55d4) )
58875939
5888   _315_5881_KEYFILE("zombrvn-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5940   // 840-0003    1999     317-0249-COM   Naomi
5941   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08012b41" )
58895942ROM_END
58905943
58915944ROM_START( gunsur2 )
r243109r243110
59095962   ROM_LOAD( "bhf1ma14.6m",  0xe000000, 0x1000000, CRC(d06c9bd7) SHA1(54668a2fd31059976890da92709c18f308634887) )
59105963   ROM_LOAD( "bhf1ma15.6l",  0xf000000, 0x1000000, CRC(db3c396b) SHA1(da0e125d627ce890906ca100081ab0685e11c0ef) )
59115964
5912   _315_5881_KEYFILE("bhf1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5965   // 25709801    2001     317-5075-COM   Naomi
5966   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000680d0" )
59135967ROM_END
59145968
59155969ROM_START( gunsur2e )
r243109r243110
59335987   ROM_LOAD( "bhf1ma14.6m",  0xe000000, 0x1000000, CRC(d06c9bd7) SHA1(54668a2fd31059976890da92709c18f308634887) )
59345988   ROM_LOAD( "bhf1ma15.6l",  0xf000000, 0x1000000, CRC(db3c396b) SHA1(da0e125d627ce890906ca100081ab0685e11c0ef) )
59355989
5936   _315_5881_KEYFILE("bhf1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
5990   // 25709801    2001     317-5075-COM   Naomi
5991   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000680d0" )
59375992ROM_END
59385993
59395994ROM_START( wldkicks )
r243109r243110
59546009   ROM_LOAD( "wk1ma9.4d",   0x9000000, 0x1000000, CRC(29635a54) SHA1(a3109d0f8f271e2183316846df2a6a819f6a9b20) )
59556010   ROM_LOAD( "wk1ma10.4c",  0xa000000, 0x1000000, CRC(e96f312c) SHA1(0a92640277111aef5c6e9dab4218a8ae2196ce61) )
59566011
5957   _315_5881_KEYFILE("wldkicks-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6012   // 25209801    2000     317-5040-COM   Naomi
6013   ROM_PARAMETER( ":rom_board:segam2crypt:key", "052e2901" )
59586014ROM_END
59596015
59606016ROM_START( wldkicksa )
r243109r243110
59756031   ROM_LOAD( "wk1ma9.4d",   0x9000000, 0x1000000, CRC(29635a54) SHA1(a3109d0f8f271e2183316846df2a6a819f6a9b20) )
59766032   ROM_LOAD( "wk1ma10.4c",  0xa000000, 0x1000000, CRC(e96f312c) SHA1(0a92640277111aef5c6e9dab4218a8ae2196ce61) )
59776033
5978   _315_5881_KEYFILE("wldkicks-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6034   // 25209801    2000     317-5040-COM   Naomi
6035   ROM_PARAMETER( ":rom_board:segam2crypt:key", "052e2901" )
59796036ROM_END
59806037
59816038ROM_START( wldkicksb )
r243109r243110
59966053   ROM_LOAD( "wk1ma9.4d",   0x9000000, 0x1000000, CRC(29635a54) SHA1(a3109d0f8f271e2183316846df2a6a819f6a9b20) )
59976054   ROM_LOAD( "wk1ma10.4c",  0xa000000, 0x1000000, CRC(e96f312c) SHA1(0a92640277111aef5c6e9dab4218a8ae2196ce61) )
59986055
5999   _315_5881_KEYFILE("wldkicks-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6056   // 25209801    2000     317-5040-COM   Naomi
6057   ROM_PARAMETER( ":rom_board:segam2crypt:key", "052e2901" )
60006058ROM_END
60016059
60026060ROM_START( toukon4 )
r243109r243110
60226080   ROM_LOAD( "trf1ma14.6m", 0xe000000, 0x1000000, CRC(87cb31a0) SHA1(27aef9ac571a0b5e3a76e4ee22f5bc5d0ae962f2) )
60236081   ROM_LOAD( "trf1ma15.6l", 0xf000000, 0x1000000, CRC(42d318c5) SHA1(f9fe82ffbfc51fcb52333f94c55a7092e7124fb4) )
60246082
6025   _315_5881_KEYFILE("tr4a-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6083   // 25349801    2000     317-5040-COM   Naomi
6084   ROM_PARAMETER( ":rom_board:segam2crypt:key", "052e2901" )
60266085ROM_END
60276086
60286087ROM_START( ninjaslt )
r243109r243110
60436102   ROM_LOAD( "nja1ma9.4c",      0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) )
60446103   ROM_LOAD( "nja1ma10.4b",     0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) )
60456104
6046   _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6105   // 25469801    2000     317-5068-COM   Naomi
6106   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000ca510" )
60476107
60486108   ROM_REGION( 0x20000, "jyu_io", 0 )  // H8/3334-based I/O board ROM, eventually should be separated out
60496109   ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) )
r243109r243110
60676127   ROM_LOAD( "nja1ma9.4c",      0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) )
60686128   ROM_LOAD( "nja1ma10.4b",     0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) )
60696129
6070   _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6130   // 25469801    2000     317-5068-COM   Naomi
6131   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000ca510" )
60716132
60726133   ROM_REGION( 0x20000, "jyu_io", 0 )  // H8/3334-based I/O board ROM, eventually should be separated out
60736134   ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) )
r243109r243110
60916152   ROM_LOAD( "nja1ma9.4c",      0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) )
60926153   ROM_LOAD( "nja1ma10.4b",     0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) )
60936154
6094   _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6155   // 25469801    2000     317-5068-COM   Naomi
6156   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000ca510" )
60956157
60966158   ROM_REGION( 0x20000, "jyu_io", 0 )  // H8/3334-based I/O board ROM, eventually should be separated out
60976159   ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) )
r243109r243110
61156177   ROM_LOAD( "nja1ma9.4c",      0x9000000, 0x1000000, CRC(8abed815) SHA1(5e1b208d23a17ba743d0507d963be42e7828755f) )
61166178   ROM_LOAD( "nja1ma10.4b",     0xa000000, 0x1000000, CRC(f14d2073) SHA1(b4a8cd585794be149b616119df3f75c0fb30e2f0) )
61176179
6118   _315_5881_KEYFILE("nja3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6180   // 25469801    2000     317-5068-COM   Naomi
6181   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000ca510" )
61196182
61206183   ROM_REGION( 0x20000, "jyu_io", 0 )  // H8/3334-based I/O board ROM, eventually should be separated out
61216184   ROM_LOAD( "jyu1_prg0a.ic3", 0x000000, 0x020000, CRC(aec4dbc1) SHA1(bddd4f345baf7f594998a39c09da18b3834f0ac2) )
r243109r243110
61366199   ROM_LOAD( "maz1ma7.4e",  0x7000000, 0x1000000, CRC(6103ad9c) SHA1(e4abbb5867cae6a9bf9067ab3a091ef7b18fa0cd) )
61376200   ROM_LOAD( "maz1ma8.4d",  0x8000000, 0x1000000, CRC(d46c9f40) SHA1(45eec7fa3d4261f12438e841254fa75d572331b3) )
61386201
6139   _315_5881_KEYFILE("maz1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6202   // 25869812    2002     317-0266-COM   Naomi
6203   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fea94" )
61406204ROM_END
61416205
61426206ROM_START( mazana )
r243109r243110
61546218   ROM_LOAD( "maz1ma7.4e",  0x7000000, 0x1000000, CRC(6103ad9c) SHA1(e4abbb5867cae6a9bf9067ab3a091ef7b18fa0cd) )
61556219   ROM_LOAD( "maz1ma8.4d",  0x8000000, 0x1000000, CRC(d46c9f40) SHA1(45eec7fa3d4261f12438e841254fa75d572331b3) )
61566220
6157   _315_5881_KEYFILE("maz1-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6221   // 25869812    2002     317-0266-COM   Naomi
6222   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080fea94" )
61586223ROM_END
61596224
61606225ROM_START( vtenis2c )
r243109r243110
62296294   ROM_LOAD( "mpr-23723.ic5",  0x4800000, 0x1000000, CRC(651610eb) SHA1(4dfe4f876a5440bd1034f41a4d76e1d6bd3e0e32) )
62306295   ROM_LOAD( "mpr-23724.ic6",  0x5800000, 0x1000000, CRC(c633c45a) SHA1(23b45140f965428d33e2424b0574715c0b952d05) )
62316296
6232   _315_5881_UNUSED_OR_UNKNOWN
6297   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
62336298ROM_END
62346299
62356300ROM_START( gundmct )
r243109r243110
62496314   ROM_LOAD( "mpr-23636.ic9",  0x8800000, 0x1000000, CRC(57199e9f) SHA1(73a6f20ee7b3133ed4c6286e477e2ff9757106bd) )
62506315   ROM_LOAD( "mpr-23637.ic10", 0x9800000, 0x1000000, CRC(737b5dff) SHA1(0a405b711ffb096a3e6d52ececed73a5f93ebf02) )
62516316
6252   _315_5881_KEYFILE("gundmct-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6317   // 841-0017    2001     317-5070-COM   Naomi
6318   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000e8010" )
62536319ROM_END
62546320
62556321ROM_START( puyoda )
r243109r243110
62796345   ROM_LOAD( "mpr-22204.ic19s", 0x9800000, 0x800000, CRC(2c5e5140) SHA1(7887fc19459dc85ca78256e0c50c762eea001e51) )
62806346   ROM_LOAD( "mpr-22205.ic20s", 0xa000000, 0x800000, CRC(7d523ae5) SHA1(7495082b7e83b6ee8f47660baba4c604d8ba2ff1) )
62816347
6282   _315_5881_KEYFILE("puyoda-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6348   // 841-0006    1999     317-5052-COM   Naomi
6349   ROM_PARAMETER( ":rom_board:segam2crypt:key", "000acd40" )
62836350ROM_END
62846351
62856352ROM_START( zerogu2 )
r243109r243110
62946361   ROM_LOAD( "mpr-23687.ic4",  0x3800000, 0x1000000, CRC(e125439a) SHA1(07e7339f3f53aeb0ebddf7a8ac3eb6d8f3fe9de6) )
62956362   ROM_LOAD( "mpr-23688.ic5",  0x4800000, 0x1000000, CRC(38412edf) SHA1(9cae06cf46e134531f47e64deedace449664f69a) )
62966363
6297   _315_5881_KEYFILE("zerogu2-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6364   // 841-0020    2001     317-5073-COM   Naomi
6365   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0007c010" )
62986366ROM_END
62996367
63006368ROM_START( inunoos )
r243109r243110
63216389   ROM_LOAD( "ic15s.bin", 0x7800000, 0x800000, CRC(b85e13ef) SHA1(974f6b8f24efe79d72ea9d7a2cfccf479704243d) )
63226390   ROM_LOAD( "ic16s.bin", 0x8000000, 0x800000, CRC(b8493dbe) SHA1(b641417e1bda49341e7ff86340072d74e3330665) )
63236391
6324   _315_5881_KEYFILE("inuoos-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6392   // 840-0073    2001     317-0316-JPN   Naomi
6393   ROM_PARAMETER( ":rom_board:segam2crypt:key", "094bc3e3" )
63256394ROM_END
63266395
63276396ROM_START( ringout )
r243109r243110
63416410   ROM_LOAD( "mpr-21769.ic9",  0x4800000, 0x800000, CRC(6d22d29d) SHA1(382dcd62065437b34fe101144b1c047eb261f047) )
63426411   ROM_LOAD( "mpr-21770.ic10", 0x5000000, 0x800000, CRC(c5308e61) SHA1(e51f8026351d5ffbda2a5bed39aeef543366febf) )
63436412
6344   _315_5881_KEYFILE("ringout-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6413   // 840-0004    1999     317-0250-COM   Naomi
6414   ROM_PARAMETER( ":rom_board:segam2crypt:key", "080b1e40" )
63456415ROM_END
63466416
63476417ROM_START( vonot )
r243109r243110
63646434   ROM_LOAD( "mpr-23193.ic12s", 0x6000000, 0x800000, CRC(c86a5b9b) SHA1(4b8dda85003289e1464e12c3abf449bb8df20e3a) )
63656435   ROM_LOAD( "mpr-23194.ic13s", 0x6800000, 0x800000, CRC(5adea0bd) SHA1(f8614ba83d5f61556c3db1a1796a02ed2c51ce2a) )
63666436
6367   _315_5881_KEYFILE("vonot-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
6437   // 840-0028    2000     317-0279-COM   Naomi
6438   ROM_PARAMETER( ":rom_board:segam2crypt:key", "08010715" )
63686439ROM_END
63696440
63706441ROM_START( derbyo2k )
r243109r243110
63906461   ROM_LOAD( "mpr-22237.ic15s", 0x7800000, 0x800000, CRC(718dd6bf) SHA1(6b71bb6970b582865f53d26e9579587fce86439e) )
63916462   ROM_LOAD( "mpr-22238.ic16s", 0x8000000, 0x800000, CRC(fb3e55da) SHA1(d547ee5b47e6e6fec9e447460300c828fbff8f2e) )
63926463
6393   _315_5881_UNUSED_OR_UNKNOWN
6464   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
63946465ROM_END
63956466
63966467ROM_START( starhrse )
r243109r243110
64046475   ROM_LOAD( "mpr-23233.ic3",  0x2800000, 0x1000000, CRC(d6451cab) SHA1(6508e27d0370b19df01150da7baf4875479c166a) )
64056476   ROM_LOAD( "mpr-23234.ic4",  0x3800000, 0x1000000, CRC(44044c14) SHA1(4934cb8d5f9b4085ffb5ddc711343f488aae4c4d) )
64066477
6407   _315_5881_UNUSED_OR_UNKNOWN
6478   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
64086479
64096480   // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes
64106481   ROM_REGION(0x84, "some_eeprom", 0)
r243109r243110
64376508   ROM_LOAD( "ic17s.bin", 0x8800000, 0x800000, CRC(b4c40606) SHA1(4f187dfe44bd89c90b6fa4b90f16222bc0a74d22) )
64386509   // .18s chip is not present but is tested for an FF fill (pull-up resistors on the PCB's data bus presumably accomplish this)
64396510
6440   _315_5881_UNUSED_OR_UNKNOWN
6511   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
64416512
64426513   // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes
64436514   ROM_REGION(0x84, "some_eeprom", 0)
r243109r243110
64586529   ROM_LOAD( "mpr-23280.ic6",  0x5800000, 0x1000000, CRC(b1c8daa2) SHA1(a05fb374156ea013e35502abccc92f5117c39daa) )
64596530   ROM_LOAD( "mpr-23281.ic7",  0x6800000, 0x0800000, CRC(c0378369) SHA1(c728a181eddb01b9f8574669d4550baed559a5a4) )
64606531
6461   _315_5881_UNUSED_OR_UNKNOWN
6532   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
64626533
64636534   // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes
64646535   ROM_REGION(0x84, "some_eeprom", 0)
r243109r243110
64806551   ROM_LOAD( "mpr-24128.ic6",   0x5800000, 0x1000000, CRC(bfdbb853) SHA1(bfbeb6ab634201af68d1427dea4f50163673fc2c) )
64816552   ROM_LOAD( "mpr-24129.ic7",   0x6800000, 0x1000000, CRC(c3f0f06a) SHA1(152324f2dbbde5560ae3adb1f9394a273fedbe9c) )
64826553
6483   _315_5881_UNUSED_OR_UNKNOWN
6554   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
64846555ROM_END
64856556
64866557/* prototype cartridges for games released on GD-ROM */
r243109r243110
77277798   ROM_LOAD( "mpr-23661.ic10", 0x9800000, 0x1000000, CRC(7d44dc74) SHA1(cfd6253eab3c1a039629b4873946c9dbc7ed6872) )
77287799   ROM_LOAD( "mpr-23662.ic11", 0xa800000, 0x0800000, CRC(d6ef7d68) SHA1(4ee396af6c5caf4c5af6e9ad0e03a7ac2c5039f4) )
77297800
7730   _315_5881_KEYFILE("vstrik2c-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
7801   // 840-0061    2001     317-0310-COM   Naomi 2
7802   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0cee834a" )
77317803ROM_END
77327804
77337805ROM_START( vstrik3cb )
r243109r243110
77487820   ROM_LOAD( "mpr-23661.ic10", 0x9800000, 0x1000000, CRC(7d44dc74) SHA1(cfd6253eab3c1a039629b4873946c9dbc7ed6872) )
77497821   ROM_LOAD( "mpr-23662.ic11", 0xa800000, 0x0800000, CRC(d6ef7d68) SHA1(4ee396af6c5caf4c5af6e9ad0e03a7ac2c5039f4) )
77507822
7751   _315_5881_KEYFILE("vstrik3c-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
7823   // 840-0061    2001     317-0310-COM   Naomi 2
7824   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0cee834a" )
77527825ROM_END
77537826
77547827ROM_START( wldrider )
r243109r243110
77687841   ROM_LOAD( "mpr-23619.ic9",  0x8800000, 0x1000000, CRC(a5f4f6af) SHA1(bb89d3f0f5bbaf7c40fa43680c7e51ef93f7ed26) )
77697842   ROM_LOAD( "mpr-23620.ic10", 0x9800000, 0x1000000, CRC(67aa15a9) SHA1(42c24cbf7069c27430a71509a872cd1c4224aaeb) )
77707843
7771   _315_5881_KEYFILE("wldridr-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
7844   // 840-0046    2001     317-0301-COM   Naomi 2
7845   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7a703" )
77727846ROM_END
77737847
77747848ROM_START( vf4cart )
r243109r243110
77897863   ROM_LOAD( "mpr-23783.ic10", 0x9800000, 0x1000000, CRC(c8d4f6f9) SHA1(9e9df605c050b3780d7df34bd5041d30bc084d2d) )
77907864   ROM_LOAD( "mpr-23784.ic11", 0xa800000, 0x1000000, CRC(f74f2fee) SHA1(84b07baa6d116727e66ef27e24ba6484c3393891) )
77917865
7792   _315_5881_KEYFILE("vf4cart-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
7866   // 840-0080    2002     317-0324-COM   Naomi 2
7867   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0eef2f96" )
77937868ROM_END
77947869
77957870// There is also a development cart (171-7885A) with 20x 64Mb FlashROMs instead of 10x 128Mb MaskROMs. Content is the same.
r243109r243110
78107885   ROM_LOAD("mpr-23816.ic9",  0x08800000,  0x01000000, CRC(bbaf0765) SHA1(3b79a4eff504b2156bea8b86c6cdd8e41e7bf268) )
78117886   ROM_LOAD("mpr-23817.ic10", 0x09800000,  0x01000000, CRC(e179cfb6) SHA1(1120036238439f8ac1041150396e4b60e4a243bc) )
78127887
7813   _315_5881_UNUSED_OR_UNKNOWN
7888   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
78147889ROM_END
78157890
78167891ROM_START( soulsurf )
r243109r243110
78427917   ROM_LOAD( "ic20s.bin", 0xa000000, 0x800000, CRC(c90b960d) SHA1(66e9f09d1f7f6a991371574a2e095c0e22fb7031) )
78437918   ROM_LOAD( "ic21s.bin", 0xa800000, 0x800000, CRC(1477c064) SHA1(87fb8d8a91d6bed70b246a8df88fa77fbf3db443) )
78447919
7845   _315_5881_UNUSED_OR_UNKNOWN
7920   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0") // Unused or unknown
78467921ROM_END
78477922
78487923ROM_START( vf4evoct )
r243109r243110
78747949
78757950   ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 )
78767951
7877   _315_5881_KEYFILE("vf4evoct-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
7952   _NAOMI_M1_KEYFILE( "vf4evoct-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111) )
78787953ROM_END
78797954
78807955ROM_START( hopper )
r243109r243110
79107985   ROM_LOAD( "mpr-23702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) )
79117986   ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) )
79127987
7913   _315_5881_KEYFILE("clubkrte-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
7988   // 840-0062    2001     317-0313-COM   Naomi 2
7989   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" )
79147990ROM_END
79157991
79167992ROM_START( clubkrtd )
r243109r243110
79318007   ROM_LOAD( "mpr-23702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) )
79328008   ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) )
79338009
7934   _315_5881_KEYFILE("clubkrte-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
8010   // 840-0062    2001     317-0313-COM   Naomi 2
8011   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" )
79358012ROM_END
79368013
79378014ROM_START( clubkrtc )
r243109r243110
79528029   ROM_LOAD( "mpr-23702.ic10", 0x9800000, 0x1000000, CRC(e302b582) SHA1(787192ed9f9a08541eecc3128855485cad802a42) )
79538030   ROM_LOAD( "mpr-23703.ic11", 0xa800000, 0x1000000, CRC(702b8b4a) SHA1(3a8dfde458f341e7db20664382b9fce2b6e5d462) )
79548031
7955   _315_5881_KEYFILE("clubkrte-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
8032   // 840-0062    2001     317-0313-COM   Naomi 2
8033   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" )
79568034ROM_END
79578035
79588036ROM_START( clubkprz )
r243109r243110
79848062   ROM_REGION(0x84, "some_eeprom", 0)
79858063   ROM_LOAD( "at25010.ic3s", 0x000000, 0x000084, CRC(0142d8be) SHA1(5922b6c47b12b19e1fa7bbe9aae391905038a7ff) )
79868064
7987   _315_5881_KEYFILE("clubkprz-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
8065   // 840-0062    2001     317-0313-COM   Naomi 2
8066   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" )
79888067ROM_END
79898068
79908069ROM_START( clubkpzb )
r243109r243110
80128091
80138092   ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 )
80148093
8015   _315_5881_KEYFILE("clubkprz-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
8094   // 840-0062    2001     317-0313-COM   Naomi 2
8095   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" )
80168096
80178097   // this dump can't be used as main_eeprom, because that's exactly 0x80 bytes
80188098   ROM_REGION(0x84, "some_eeprom", 0)
r243109r243110
80468126
80478127   ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 )
80488128
8049   _315_5881_KEYFILE("clubk2k3-key.bin", CRC(11111111) SHA1(1111111111111111111111111111111111111111))
8129   // 840-0062    2001     317-0313-COM   Naomi 2
8130   ROM_PARAMETER( ":rom_board:segam2crypt:key", "0ce7d742" )
80508131ROM_END
80518132
80528133// uses the same mask roms data as clubk2k3, but not in 32bit dissected form, EPR doesn't have checksumms for them, so rom test shows all roms as BAD
trunk/src/mame/drivers/stv.c
r243109r243110
18241824   ROM_LOAD16_WORD_SWAP( "mpr20826.1",     0x1800000, 0x0400000, CRC(bdc4b941) SHA1(c5e8b1b186324c2ccab617915f7bdbfe6897ca9f) ) // good (was .17)
18251825   ROM_LOAD16_WORD_SWAP( "mpr20832.8",     0x1c00000, 0x0400000, CRC(af1b0985) SHA1(d7a0e4e0a8b0556915f924bdde8c3d14e5b3423e) ) // good (was .18s)
18261826   ROM_LOAD16_WORD_SWAP( "mpr20833.9",     0x2000000, 0x0400000, CRC(cb6af231) SHA1(4a2e5d7c2fd6179c19cdefa84a03f9a34fbb9e70) ) // good (was .19s)
1827
1828   // 25349801    1998     317-5040-COM   ST-V      (yes, the 317-5040-COM chip was reused for 3 different games and on both Naomi and ST-V!)
1829   ROM_PARAMETER( ":315_5881:key", "052e2901" )
18271830ROM_END
18281831
18291832ROM_START( bakubaku )
r243109r243110
19681971   ROM_LOAD16_WORD_SWAP( "mpr21305.6",    0x1400000, 0x0400000, CRC(46cfc2a2) SHA1(8ca26bf8fa5ced040e815c125c13dd06d599e189) ) // good (was .16)
19691972   ROM_LOAD16_WORD_SWAP( "mpr21306.1",    0x1800000, 0x0400000, CRC(87a5929c) SHA1(b259341d7b0e1fa98959bf52d23db5c308a8efdd) ) // good (was .17)
19701973   ROM_LOAD16_WORD_SWAP( "mpr21308.8",    0x1c00000, 0x0400000, CRC(336ec1a4) SHA1(20d1fce050cf6132d284b91853a4dd5626372ef0) ) // good (was .18s)
1974
1975   //             1998     317-5043-COM   ST-V
1976   ROM_PARAMETER( ":315_5881:key", "05226d41" )
19711977ROM_END
19721978
19731979ROM_START( ffreveng )
r243109r243110
19811987   ROM_LOAD16_WORD_SWAP( "mpr21876.5",   0x1000000, 0x0400000, CRC(bb92a7fc) SHA1(d9e0fab1104a46adeb0a0cfc0d070d4c63a28d55) ) // good (was .15)
19821988   ROM_LOAD16_WORD_SWAP( "mpr21877.6",   0x1400000, 0x0400000, CRC(c22a4a75) SHA1(3276bc0628e71b432f21ba9a4f5ff7ccc8769cd9) ) // good (was .16)
19831989   ROM_LOAD16_WORD_SWAP( "opr21878.1",   0x1800000, 0x0200000, CRC(2ea4a64d) SHA1(928a973dce5eba0a1628d61ba56a530de990a946) ) // good (was .17)
1990
1991   //             1998     317-5049-COM   ST-V
1992   ROM_PARAMETER( ":315_5881:key", "0524ac01" )
19841993ROM_END
19851994
19861995/* set system to 1 player to test rom */
r243109r243110
22372246   ROM_LOAD16_WORD_SWAP( "mpr20960.3",   0x0800000, 0x0400000, CRC(b5ab9053) SHA1(87c5d077eb1219c35fa65b4e11d5b62e826f5236) ) // good (was .13)
22382247   ROM_LOAD16_WORD_SWAP( "mpr20961.4",   0x0c00000, 0x0400000, CRC(0e06295c) SHA1(0ec2842622f3e9dc5689abd58aeddc7e5603b97a) ) // good (was .14)
22392248   ROM_LOAD16_WORD_SWAP( "mpr20962.5",   0x1000000, 0x0400000, CRC(f1e6c7fc) SHA1(0ba0972f1bc7c56f4e0589d3e363523cea988bb0) ) // good (was .15)
2249
2250   //             1998     317-5041-COM   ST-V
2251   ROM_PARAMETER( ":315_5881:key", "05272d01" )
22402252ROM_END
22412253
22422254ROM_START( sandor )
r243109r243110
24252437
24262438   ROM_REGION16_BE( 0x80, "eeprom", 0 ) // preconfigured to 1 player
24272439   ROM_LOAD( "sss.nv", 0x0000, 0x0080, CRC(3473b2f3) SHA1(6480b4b321af8ee6e967710e74f2556c17bfca97) )
2440
2441   //             1998     317-5042-COM   ST-V
2442   ROM_PARAMETER( ":315_5881:key", "052b6901" )
24282443ROM_END
24292444
24302445ROM_START( suikoenb )
r243109r243110
24552470   ROM_LOAD16_WORD_SWAP( "mpr20822.3",    0x0800000, 0x0400000, CRC(8b33a5e2) SHA1(d5689ac8aad63509febe9aa4077351be09b2d8d4) ) // ic3 good (was .13)
24562471   ROM_LOAD16_WORD_SWAP( "mpr20823.4",    0x0c00000, 0x0400000, CRC(6e6d4e95) SHA1(c387d03ba27580c62ac0bf780915fdf41552df6f) ) // ic4 good (was .14)
24572472   ROM_LOAD16_WORD_SWAP( "mpr20824.5",    0x1000000, 0x0400000, CRC(4cf18a25) SHA1(310961a5f114fea8938a3f514dffd5231e910a5a) ) // ic5 good (was .15)
2473
2474   // 25209801    1998     317-5039-COM   ST-V
2475   ROM_PARAMETER( ":315_5881:key", "05200913" )
24582476ROM_END
24592477
24602478ROM_START( vfkids )
trunk/src/mame/machine/315-5881_crypt.c
r243109r243110
4545   save_item(NAME(line_buffer_pos));
4646   save_item(NAME(line_buffer_size));
4747
48   astring skey = parameter("key");
49   if(skey)
50      key = strtoll(skey.cstr(), 0, 16);
51   else
52   {
53      logerror("%s: Warning: key not provided\n", tag());
54      key = 0;
55   }
4856}
4957
5058void sega_315_5881_crypt_device::device_reset()
r243109r243110
112120   enc_ready = false;
113121}
114122
115void sega_315_5881_crypt_device::set_key(UINT32 data)
116{
117   key = data;
118   enc_ready = false;
119}
120
121123/***************************************************************************
122124    DECRYPTION EMULATION
123125
trunk/src/mame/machine/315-5881_crypt.h
r243109r243110
44#ifndef __SEGA315_5881_CRYPT__
55#define __SEGA315_5881_CRYPT__
66
7#include "315-5881_helper.h"
8
97typedef device_delegate<UINT16 (UINT32)> sega_m2_read_delegate;
108
119extern const device_type SEGA315_5881_CRYPT;
r243109r243110
2523   void set_addr_low(UINT16 data);
2624   void set_addr_high(UINT16 data);
2725   void set_subkey(UINT16 data);
28   void set_key(UINT32 data);
2926
3027   sega_m2_read_delegate m_read;
3128
trunk/src/mame/machine/315-5881_helper.c
r243109r243110
1
2/* Sega 315-5881 support file
3
4  This encryption chip was used on various games running on
5  ST-V
6  Naomi
7  Naomi 2
8  Hikaru
9  Model 2
10  Model 3
11  (more?)
12
13  As the encryption isn't fully understood yet this file holds the current keys, these are subject to change.
14 */
15
16
17#include "emu.h"
18#include "315-5881_helper.h"
19
20struct game_keys
21{
22   const char *name;             /* game driver name */
23   const INT64 key; // INT64 so we can use -1 for unknown keys
24
25};
26
27// chip numbers based on Guru's list at
28// http://members.iinet.net.au/~lantra9jp1/gurudumps/sega-security/sega_security.html
29// (todo , complete it )
30
31
32static const struct game_keys keys_table[] =
33{
34   // name              key              gameid #    year     chip label     platform
35   { "twcup98",         0x05200913 }, // 25209801    1998     317-5039-COM   ST-V
36   { "astrass",         0x052e2901 }, // 25349801    1998     317-5040-COM   ST-V      (yes, the 317-5040-COM chip was reused for 3 different games and on both Naomi and ST-V!)
37   { "rsgun",           0x05272d01 }, //             1998     317-5041-COM   ST-V
38   { "sss",             0x052b6901 }, //             1998     317-5042-COM   ST-V
39   { "elandore",        0x05226d41 }, //             1998     317-5043-COM   ST-V
40   { "ffreveng",        0x0524ac01 }, //             1998     317-5049-COM   ST-V
41
42   { "dybbnao",         0x080e6ae1 }, // 840-0001    1998     317-0246-JPN   Naomi
43   { "crzytaxi",        0x080d2f45 }, // 840-0002    1999     317-0248-COM   Naomi
44   { "zombrvn",         0x08012b41 }, // 840-0003    1999     317-0249-COM   Naomi
45   { "ringout",         0x080b1e40 }, // 840-0004    1999     317-0250-COM   Naomi
46   { "alpilota",        0x08070e41 }, // 840-0005    1999     317-0251-COM   Naomi
47   { "alpiltdx",        0x08070e41 }, // 834-?????   1999     317-0251-COM   Naomi
48   { "ggram2",          0x08074a61 }, // 840-0007    1999     317-0253-JPN   Naomi
49   { "f355",            0x080e8f84 }, // 834-13842   1999     317-0254-COM   Naomi
50   { "tduno",           0x08028ea5 }, // 840-0008    1999     317-0255-JPN   Naomi
51   { "toyfight",        0x0802ca85 }, // 840-0011    1999     317-0257-COM   Naomi
52   { "vs2_2k",          0x08088b08 }, // 840-0010    1999     317-0258-COM   Naomi
53   { "smlg99",          0x08048a01 }, // 840-0012    1999     317-0259-COM   Naomi
54   { "derbyoc",         0x080fee35 }, // 840-0016    1999     317-0262-JPN   Naomi
55   { "vtennis",         0x0803eb15 }, // 840-0015    1999     317-0263-COM   Naomi
56   { "jambo",           0x080fab95 }, // 840-0013    1999     317-0264-COM   Naomi
57   { "mazan",           0x080fea94 }, // 25869812    2002     317-0266-COM   Naomi
58   { "mazana",          0x080fea94 }, // 25869812    2002     317-0266-COM   Naomi
59   { "otrigger",        0x080fea94 }, // 840-0017    1999     317-0266-COM   Naomi
60   { "f355twin",        0x0806efd4 }, // 834-13950   1999     317-0267-COM   Naomi
61   { "sgtetris",        0x0808ae51 }, // 840-0018    1999     317-0268-COM   Naomi
62   { "dybb99",          0x0804ae71 }, // 840-0019    1999     317-0269-JPN   Naomi
63   { "samba",           0x080a8b5d }, // 840-0020    1999     317-0270-COM   Naomi
64   { "sambap",          0x080a8b5d }, // 840-0020    1999     317-0270-COM   Naomi
65   { "virnbao",         0x08068b58 }, // 840-0021    2000     317-0271-COM   Naomi
66   { "virnbap",         0x08068b58 }, // 840-0021    2000     317-0271-COM   Naomi
67   { "18wheelr",        0x0807cf54 }, // 840-0023    2000     317-0273-COM   Naomi
68   { "18wheels",        0x0807cf54 }, // 840-0036    2000     317-0273-COM   Naomi
69   { "18wheelu",        0x0807cf54 }, // 840-0037    2000     317-0273-COM   Naomi
70   { "marstv",          0x080b8ef5 }, // 840-0025    1999     317-0274-JPN   Naomi
71   { "vonot",           0x08010715 }, // 840-0028    2000     317-0279-COM   Naomi
72   { "sstrkfgt",        0x08132303 }, // 840-0035    2000     317-0281-COM   Naomi
73   { "sstrkfgta",       0x08132303 }, // 840-0035    2000     317-0281-COM   Naomi
74   { "wwfroyal",        0x081627c3 }, // 840-0040    2000     317-0285-COM   Naomi
75   { "slasho",          0x081a66ca }, // 840-0041    2000     317-0286-COM   Naomi
76   { "f355twn2",        0x081666c6 }, // 840-0042    2001     317-0287-COM   Naomi
77   { "crackndj",        0x081c2347 }, // 840-0043    2000     317-0288-COM   Naomi
78   { "csmash",          0x08103347 }, // 840-0044    2000     317-0289-COM   Naomi
79   { "csmasho",         0x08103347 }, // 840-0044    2000     317-0289-COM   Naomi
80   { "alienfnt",        0x08174343 }, // 840-0048    2001     317-0293-COM   Naomi
81   { "alienfnta",       0x08174343 }, // 840-0048    2001     317-0293-COM   Naomi
82   { "samba2k",         0x081702cf }, // 840-0047    2000     317-0295-COM   Naomi
83   { "wldrider",        0x0ce7a703 }, // 840-0046    2001     317-0301-COM   Naomi 2
84   { "vstrik3c",        0x0cee834a }, // 840-0061    2001     317-0310-COM   Naomi 2
85   { "vstrik3cb",       0x0cee834a }, // 840-0061    2001     317-0310-COM   Naomi 2
86   { "crackdj2",        0x08428247 }, // 840-0068    2001     317-0311-COM   Naomi
87   { "clubkrtc",        0x0ce7d742 }, // 840-0062    2001     317-0313-COM   Naomi 2
88   { "clubkrtd",        0x0ce7d742 }, // 840-0062    2001     317-0313-COM   Naomi 2
89   { "clubkrte",        0x0ce7d742 }, // 840-0062    2001     317-0313-COM   Naomi 2
90   { "inunoos",         0x094bc3e3 }, // 840-0073    2001     317-0316-JPN   Naomi
91   { "vf4cart",         0x0eef2f96 }, // 840-0080    2002     317-0324-COM   Naomi 2
92   { "toukon4",         0x052e2901 }, // 25349801    2000     317-5040-COM   Naomi
93   { "wldkicks",        0x052e2901 }, // 25209801    2000     317-5040-COM   Naomi
94   { "wldkicksa",       0x052e2901 }, // 25209801    2000     317-5040-COM   Naomi
95   { "wldkicksb",       0x052e2901 }, // 25209801    2000     317-5040-COM   Naomi
96   { "pstone",          0x000e69c1 }, // 841-0001    1999     317-5046-COM   Naomi
97   { "suchie3",         0x000368e1 }, // 841-0002    1999     317-5047-JPN   Naomi
98   { "doa2",            0x0008ad01 }, // 841-0003    1999     317-5048-COM   Naomi
99   { "doa2m",           0x0008ad01 }, // 841-0003    1999     317-5048-COM   Naomi
100   { "shangril",        -1         }, // 841-0004    1999     317-5050-JPN   Naomi     seems not used by game
101   { "spawn",           0x00078d01 }, // 841-0005    1999     317-5051-COM   Naomi
102   { "puyoda",          0x000acd40 }, // 841-0006    1999     317-5052-COM   Naomi
103   { "pstone2",         0x000b8dc0 }, // 841-0008    2000     317-5054-COM   Naomi
104   { "capsnk",          0x00000000 }, // 841-0011    2000     317-5059-COM   Naomi
105   { "capsnka",         0x00000000 }, // 841-0011    2000     317-5059-COM   Naomi
106   { "capsnkb",         0x00000000 }, // 841-0011    2000     317-5059-COM   Naomi
107   { "cspike",          0x000e2010 }, // 841-0012    2000     317-5060-COM   Naomi
108   { "ggx",             0x00076110 }, // 841-0013    2000     317-5063-COM   Naomi
109   { "gwing2",          0x000b25d0 }, // 841-0014    2000     317-5064-COM   Naomi
110   { "pjustic",         0x000725d0 }, // 841-0015    2000     317-5065-COM   Naomi
111   { "deathcox",        0x000b64d0 }, // 841-0016    2000     317-5066-COM   Naomi
112   { "ninjaslt",        0x000ca510 }, // 25469801    2000     317-5068-COM   Naomi
113   { "ninjaslt1",       0x000ca510 }, // 25469801    2000     317-5068-COM   Naomi
114   { "ninjaslt2",       0x000ca510 }, // 25469801    2000     317-5068-COM   Naomi
115   { "ninjaslt4",       0x000ca510 }, // 25469801    2000     317-5068-COM   Naomi
116   { "gundmct",         0x000e8010 }, // 841-0017    2001     317-5070-COM   Naomi
117   { "hmgeo",           0x00038510 }, // HMG016007   2001     317-5071-COM   Naomi
118   { "zerogu2",         0x0007c010 }, // 841-0020    2001     317-5073-COM   Naomi
119   { "gunsur2",         0x000680d0 }, // 25709801    2001     317-5075-COM   Naomi
120   { "gunsur2e",        0x000680d0 }, // 25709801    2001     317-5075-COM   Naomi
121
122   { "podrace",         0x0903dad5 }, // 834-14002   2001     317-0277-COM   Hikaru
123   { "airtrix",         0x091b02c7 }, // 834-14149   2000     317-0294-COM   Hikaru
124   { "pharrier",        0x0912c68a }, // 834-14144   2001     317-0297-COM   Hikaru
125
126   { "dynamcop",        0x0c2a4a93 }, //             1998     317-0236-COM   Model 2
127   { "dyndeka2",        0x0c2a4a93 }, //             1998     317-0236-COM   Model 2
128   { "dynamcopb",       0x0c2a4a93 }, //             1998     317-0236-COM   Model 2
129   { "dyndeka2b",       0x0c2a4a93 }, //             1998     317-0236-COM   Model 2
130   { "dynamcopc",       0x0c2a4a93 }, //             1998     317-0236-COM   Model 2
131   { "zerogun",         0x042c0d13 }, //             1997     317-5038-COM   Model 2
132   { "zerogunj",        0x042c0d13 }, //             1997     317-5038-COM   Model 2
133   { "zeroguna",        0x042c0d13 }, //             1997     317-5038-COM   Model 2
134   { "zerogunaj",       0x042c0d13 }, //             1997     317-5038-COM   Model 2
135   { "pltkids",         0x042e2dc1 }, //             1998     317-5044-COM   Model 2
136   { "pltkidsa",        0x042e2dc1 }, //             1998     317-5044-COM   Model 2
137
138   { "von2",            0x092a0e97 }, //             ????     317-0234-COM   Model 3
139   { "von254g",         0x092a0e97 }, //             ????     317-0234-COM   Model 3
140   { "fvipers2",        0x09260e96 }, //             ????     317-0235-COM   Model 3
141   { "vs298",           0x09234e96 }, //             ????     317-0237-COM   Model 3
142   { "dirtdvls",        0x09290f17 }, //             ????     317-0238-COM   Model 3
143   { "dirtdvlsa",       0x09290f17 }, //             ????     317-0238-COM   Model 3
144   { "daytona2",        0x09250e16 }, //             ????     317-0239-COM   Model 3
145   { "spikeout",        0x092f2b04 }, //             ????     317-0240-COM   Model 3
146   { "swtrilgy",        0x11272a01 }, //             ????     317-0241-COM   Model 3
147   { "swtrilgya",       0x11272a01 }, //             ????     317-0241-COM   Model 3
148   { "oceanhun",        0x092b6a01 }, //             ????     317-0242-COM   Model 3
149   { "magtruck",        0x09266e45 }, //             ????     317-0243-COM   Model 3
150   { "lamachin",        0x092a2bc5 }, //             ????     317-0244-COM   Model 3
151   { "vs299",           0x09222ac8 }, //             ????     317-0245-COM   Model 3
152   { "vs2v991",         0x09222ac8 }, //             ????     317-0245-COM   Model 3
153   { "vs299b",          0x09222ac8 }, //             ????     317-0245-COM   Model 3
154   { "vs299a",          0x09222ac8 }, //             ????     317-0245-COM   Model 3
155   { "spikeofe",        0x09236fc8 }, //             ????     317-0247-COM   Model 3
156   { "eca",             0x0923aa91 }, //             ????     317-0265-COM   Model 3
157   { "ecax",            0x0923aa91 }, //             ????     317-0265-COM   Model 3
158   { "ecap",            0x0923aa91 }, //             ????     317-0265-COM   Model 3
159   { "dayto2pe",        -1         }, //             ????     317-5045-COM   Model 3
160   
161   { NULL, 0 }    // end of table
162};
163
164
165INT64 get_315_5881_key(running_machine &machine)
166{
167   const char *gamename = machine.system().name;
168   const struct game_keys *k = &keys_table[0];
169
170   while (k->name)
171   {
172      if (strcmp(k->name, gamename) == 0)
173      {
174         // we have a proper key so return it
175         return k->key;
176      }
177      ++k;
178   }
179
180   printf("get_naomi_key : KEY NOT FOUND\n");
181
182   return 0;
183}
trunk/src/mame/machine/315-5881_helper.h
r243109r243110
1
2// use the internal key list, or external files?
3#define USE_315_5881_HELPER 1
4
5INT64 get_315_5881_key(running_machine &machine);
6
7#if USE_315_5881_HELPER
8
9#define _315_5881_KEYFILE(name,hash) \
10   /* nothing */
11
12#define _315_5881_UNUSED_OR_UNKNOWN \
13   /* nothing */
14
15#define _315_5881_UNUSED \
16   /* nothing */
17
18
19#else
20
21#define _315_5881_KEYFILE(name,hash) \
22   ROM_REGION( 4, "315_5881key", 0 ) \
23   ROM_LOAD( name, 0, 4, hash )
24
25#define _315_5881_UNUSED_OR_UNKNOWN \
26   ROM_REGION( 4, "315_5881key", ROMREGION_ERASE00 )
27
28#define _315_5881_UNUSED \
29   ROM_REGION( 4, "315_5881key", ROMREGION_ERASE00 )
30
31
32
33#endif
No newline at end of file
trunk/src/mame/machine/naomim2.c
r243109r243110
108108   : naomi_board(mconfig, NAOMI_M2_BOARD, "Sega NAOMI M2 Board", tag, owner, clock, "naomi_m2_board", __FILE__),
109109   m_cryptdevice(*this, "segam2crypt")
110110{
111   key_tag = 0;
112111}
113112
114void naomi_m2_board::static_set_tags(device_t &device, const char *_key_tag)
115{
116   naomi_m2_board &dev = downcast<naomi_m2_board &>(device);
117   dev.key_tag = _key_tag;
118}
119
120113void naomi_m2_board::device_start()
121114{
122115   naomi_board::device_start();
r243109r243110
134127   memset(ram, 0, RAM_SIZE);
135128
136129   rom_cur_address = 0;
137
138#if USE_315_5881_HELPER
139   m_cryptdevice->set_key(get_315_5881_key(machine()));
140#else
141   const UINT8 *key_data = memregion(key_tag)->base();
142   m_cryptdevice->set_key((key_data[0] << 24) | (key_data[1] << 16) | (key_data[2] << 8) | key_data[3]);
143#endif
144130}
145131
146132void naomi_m2_board::board_setup_address(UINT32 address, bool is_dma)
trunk/src/mame/machine/naomim2.h
r243109r243110
55#include "315-5881_crypt.h"
66
77
8#define MCFG_NAOMI_M2_BOARD_ADD(_tag, _key_tag, _eeprom_tag, _actel_tag, _irq_cb) \
9   MCFG_NAOMI_BOARD_ADD(_tag, NAOMI_M2_BOARD, _eeprom_tag, _actel_tag, _irq_cb) \
10   naomi_m2_board::static_set_tags(*device, _key_tag);
8#define MCFG_NAOMI_M2_BOARD_ADD(_tag, _eeprom_tag, _actel_tag, _irq_cb) \
9   MCFG_NAOMI_BOARD_ADD(_tag, NAOMI_M2_BOARD, _eeprom_tag, _actel_tag, _irq_cb)
1110
1211class naomi_m2_board : public naomi_board
1312{
r243109r243110
1716   static const int RAM_SIZE = 65536;
1817   UINT8* ram;
1918
20   static void static_set_tags(device_t &device, const char *_key_tag);
2119   UINT16 read_callback(UINT32 addr);
2220
2321protected:
r243109r243110
3129   virtual void board_write(offs_t offset, UINT16 data);
3230
3331private:
34
35
36   const char *key_tag;
37
38
3932   required_device<sega_315_5881_crypt_device> m_cryptdevice;
4033};
4134
trunk/src/mame/machine/stvprot.c
r243109r243110
8383void stv_state::install_common_protection()
8484{
8585   m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x4fffff0, 0x4ffffff, read32_delegate(FUNC(stv_state::common_prot_r), this), write32_delegate(FUNC(stv_state::common_prot_w), this));
86
87   INT64 key = get_315_5881_key(machine());
88   m_cryptdevice->set_key(key);
8986}
9087
9188void stv_state::stv_register_protection_savestates()
trunk/src/mame/mame.mak
r243109r243110
17231723   $(MACHINE)/naomig1.o $(MACHINE)/naomibd.o $(MACHINE)/naomirom.o $(MACHINE)/naomigd.o \
17241724   $(MACHINE)/naomicrypt.o $(MACHINE)/naomim1.o $(MACHINE)/naomim2.o $(MACHINE)/naomim4.o \
17251725   $(MACHINE)/315-5881_crypt.o \
1726   $(MACHINE)/315-5881_helper.o \
17271726   $(MACHINE)/awboard.o \
17281727   $(MACHINE)/mie.o $(MACHINE)/maple-dc.o $(MACHINE)/mapledev.o $(MACHINE)/dc-ctrl.o $(MACHINE)/jvs13551.o \
17291728   $(DRIVERS)/triforce.o \


Previous 199869 Revisions Next


© 1997-2024 The MAME Team