Originally Posted by robbbert
I got the same error today on a clean compile, it has happened to very many people, however I'm told we all have faulty pcs.

One suggestion is to not use the -j option, but if that doesn't fix it, go to mess/drivers/genesis.c, mame/includes/megadriv.h, and mame/drivers/megadriv.c and change the reference of DRIVER_INIT(_32x) to x32x. That always works. No idea why though.


If you get a segfault while compiling tms57002, open the file it complains about (tms57002.c), look for the first occurence of "cycles > 0" (without the quotes) (it's a IF statement) and enclose it in ( ) - so it looks like (cycles > 0) .. this always works too, again no idea what difference it could make.

I not use the -j option.

mess/drivers/genesis.c


Quote
/****************************************** SegaCD & 32X emulation ****************************************/

/* Very preliminary skeleton code from David Haywood, borrowed for MESS by Fabio Priuli */
/* These are only included to document BIOS informations currently available */

static DRIVER_INIT( mess_32x )
{
DRIVER_INIT_CALL(_32x);
DRIVER_INIT_CALL(mess_md_common);
}

static MACHINE_DRIVER_START( ms_32x )
MDRV_IMPORT_FROM( genesis_32x )

MDRV_IMPORT_FROM( _32x_cartslot )
MACHINE_DRIVER_END

to


Quote
/****************************************** SegaCD & 32X emulation ****************************************/

/* Very preliminary skeleton code from David Haywood, borrowed for MESS by Fabio Priuli */
/* These are only included to document BIOS informations currently available */

static DRIVER_INIT( messx32x )
{
DRIVER_INIT_CALL([_32x);
DRIVER_INIT_CALL(mess_md_common);
}

static MACHINE_DRIVER_START( ms_32x )
MDRV_IMPORT_FROM( genesis_32x )

MDRV_IMPORT_FROM( _32x_cartslot )
MACHINE_DRIVER_END

mame/drivers/megadriv.c

Quote
#define MASTER_CLOCK_NTSC 53693175
#define MASTER_CLOCK_PAL 53203424
#define SEGACD_CLOCK 12500000

extern DRIVER_INIT( megadriv_c2 );
extern DRIVER_INIT( megadrie );
extern DRIVER_INIT( megadriv );
extern DRIVER_INIT( megadrij );
extern DRIVER_INIT( _32x );
extern DRIVER_INIT( mpnew );

to

Quote
#define MASTER_CLOCK_NTSC 53693175
#define MASTER_CLOCK_PAL 53203424
#define SEGACD_CLOCK 12500000

extern DRIVER_INIT( megadriv_c2 );
extern DRIVER_INIT( megadrie );
extern DRIVER_INIT( megadriv );
extern DRIVER_INIT( megadrij );
extern DRIVER_INIT( x32x );
extern DRIVER_INIT( mpnew );

mame/drivers/megadriv.c

Quote
DRIVER_INIT( _32x )
{
_32x_dram0 = auto_alloc_array(machine, UINT16, 0x40000/2);
_32x_dram1 = auto_alloc_array(machine, UINT16, 0x40000/2);

memset(_32x_dram0, 0x00, 0x40000);
memset(_32x_dram1, 0x00, 0x40000);

_32x_palette_lookup = auto_alloc_array(machine, UINT16, 0x200/2);
_32x_palette = auto_alloc_array(machine, UINT16, 0x200/2);

memset(_32x_palette_lookup, 0x00, 0x200);
memset(_32x_palette, 0x00, 0x200);

to

Quote
DRIVER_INIT( x32x )
{
_32x_dram0 = auto_alloc_array(machine, UINT16, 0x40000/2);
_32x_dram1 = auto_alloc_array(machine, UINT16, 0x40000/2);

memset(_32x_dram0, 0x00, 0x40000);
memset(_32x_dram1, 0x00, 0x40000);

_32x_palette_lookup = auto_alloc_array(machine, UINT16, 0x200/2);
_32x_palette = auto_alloc_array(machine, UINT16, 0x200/2);

memset(_32x_palette_lookup, 0x00, 0x200);
memset(_32x_palette, 0x00, 0x200);

Is this right or I forget something ?