/***************************************************************************

    JPM System 5
    and
    JPM System 5 with Video Expansion 2 hardware

    driver by Phil Bennett

    Video System Games supported:
        * Monopoly
        * Monopoly Classic
        * Monopoly Deluxe

    Known Issues:
        * Artwork support is needed as the monitor bezel illuminates
        to indicate progress through the games.
        * Features used by the AWP games such as lamps, reels and
        meters are not emulated.

    AWP game notes:
      The byte at 0x81 of the EVEN 68k rom appears to be some kind of
      control byte, probably region, or coin / machine type setting.
      Many sets differ only by this byte.

      Many sets are probably missing sound roms, however due to the
      varying motherboard configurations (SAA vs. YM, with added UPD)
      it's hard to tell until they start doing more.

***************************************************************************/

#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "machine/6840ptm.h"
#include "machine/6850acia.h"
#include "sound/2413intf.h"
#include "sound/upd7759.h"
#include "video/tms34061.h"
#include "machine/nvram.h"
#include "video/awpvid.h"
#include "machine/steppers.h"
#include "machine/roc10937.h"


enum state { IDLE, START, DATA, STOP1, STOP2 };

class jpmsys5_state : public driver_device
{
public:
	jpmsys5_state(const machine_config &mconfig, device_type type, const char *tag)
		: driver_device(mconfig, type, tag) { }

	UINT8 m_palette[16][3];
	int m_pal_addr;
	int m_pal_idx;
	int m_touch_state;
	emu_timer *m_touch_timer;
	int m_touch_data_count;
	int m_touch_data[3];
	int m_touch_shift_cnt;
	int m_lamp_strobe;
	int m_mpxclk;
	int m_muxram[255];
	UINT8 m_a0_acia_dcd;
	UINT8 m_a0_data_out;
	UINT8 m_a0_data_in;
	UINT8 m_a1_acia_dcd;
	UINT8 m_a1_data_out;
	UINT8 m_a1_data_in;
	UINT8 m_a2_acia_dcd;
	UINT8 m_a2_data_out;
	UINT8 m_a2_data_in;
};



/*************************************
 *
 *  Defines
 *
 *************************************/

enum int_levels
{
	INT_6821PIA    = 1,
	INT_TMS34061   = 2,
	INT_6840PTM    = 3,
	INT_6850ACIA   = 4,
	INT_WATCHDOG   = 5,
	INT_FLOPPYCTRL = 6,
	INT_POWERFAIL  = 7,
};


/*************************************
 *
 *  Video hardware
 *
 *************************************/

static void tms_interrupt(running_machine &machine, int state)
{
	cputag_set_input_line(machine, "maincpu", INT_TMS34061, state);
}

static const struct tms34061_interface tms34061intf =
{
	"screen",		/* The screen we are acting on */
	8,				/* VRAM address is (row << rowshift) | col */
	0x40000,		/* Size of video RAM - FIXME: Should be 128kB + 32kB */
	tms_interrupt	/* Interrupt gen callback */
};

static WRITE16_HANDLER( sys5_tms34061_w )
{
	int func = (offset >> 19) & 3;
	int row = (offset >> 7) & 0x1ff;
	int col;

	if (func == 0 || func == 2)
		col = offset  & 0xff;
	else
	{
		col = (offset << 1);

		if (~offset & 0x40000)
			row |= 0x200;
	}

	if (ACCESSING_BITS_8_15)
		tms34061_w(space, col, row, func, data >> 8);

	if (ACCESSING_BITS_0_7)
		tms34061_w(space, col | 1, row, func, data & 0xff);
}

static READ16_HANDLER( sys5_tms34061_r )
{
	UINT16 data = 0;
	int func = (offset >> 19) & 3;
	int row = (offset >> 7) & 0x1ff;
	int col;

	if (func == 0 || func == 2)
		col = offset  & 0xff;
	else
	{
		col = (offset << 1);

		if (~offset & 0x40000)
			row |= 0x200;
	}

	if (ACCESSING_BITS_8_15)
		data |= tms34061_r(space, col, row, func) << 8;

	if (ACCESSING_BITS_0_7)
		data |= tms34061_r(space, col | 1, row, func);

	return data;
}

static WRITE16_HANDLER( ramdac_w )
{
	jpmsys5_state *state = space->machine().driver_data<jpmsys5_state>();
	if (offset == 0)
	{
		state->m_pal_addr = data;
		state->m_pal_idx = 0;
	}
	else if (offset == 1)
	{
		state->m_palette[state->m_pal_addr][state->m_pal_idx] = data;

		if (++state->m_pal_idx == 3)
		{
			/* Update the MAME palette */
			palette_set_color_rgb(space->machine(), state->m_pal_addr, pal6bit(state->m_palette[state->m_pal_addr][0]), pal6bit(state->m_palette[state->m_pal_addr][1]), pal6bit(state->m_palette[state->m_pal_addr][2]));
			state->m_pal_addr++;
			state->m_pal_idx = 0;
		}
	}
	else
	{
		/* Colour mask? */
	}
}

static VIDEO_START( jpmsys5v )
{
	tms34061_start(machine, &tms34061intf);
}

static SCREEN_UPDATE( jpmsys5v )
{
	int x, y;
	struct tms34061_display state;

	tms34061_get_display_state(&state);

	if (state.blanked)
	{
		bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine()));
		return 0;
	}

	for (y = cliprect->min_y; y <= cliprect->max_y; ++y)
	{
		UINT8 *src = &state.vram[(state.dispstart & 0xffff)*2 + 256 * y];
		UINT32 *dest = BITMAP_ADDR32(bitmap, y, cliprect->min_x);

		for (x = cliprect->min_x; x <= cliprect->max_x; x +=2)
		{
			UINT8 pen = src[(x-cliprect->min_x)>>1];

			/* Draw two 4-bit pixels */
			*dest++ = screen->machine().pens[(pen >> 4) & 0xf];
			*dest++ = screen->machine().pens[pen & 0xf];
		}
	}

	return 0;
}

static void sys5_draw_lamps(jpmsys5_state *state)
{
	int i;
	for (i = 0; i <8; i++)
	{
		output_set_lamp_value( (16*state->m_lamp_strobe)+i,  (state->m_muxram[(4*state->m_lamp_strobe)] & (1 << i)) !=0);
		output_set_lamp_value((16*state->m_lamp_strobe)+i+8, (state->m_muxram[(4*state->m_lamp_strobe) +1 ] & (1 << i)) !=0);
		output_set_indexed_value("sys5led",(8*state->m_lamp_strobe)+i,(state->m_muxram[(4*state->m_lamp_strobe) +2 ] & (1 << i)) !=0);
	}
}

/****************************************
 *
 *  General machine functions
 *
 ****************************************/

static WRITE16_HANDLER( rombank_w )
{
	UINT8 *rom = space->machine().region("maincpu")->base();
	data &= 0x1f;
	memory_set_bankptr(space->machine(), "bank1", &rom[0x20000 + 0x20000 * data]);
}

static READ16_HANDLER( coins_r )
{
	if (offset == 2)
		return input_port_read(space->machine(), "COINS") << 8;
	else
		return 0xffff;
}

static WRITE16_HANDLER( coins_w )
{
	/* TODO */
}

static READ16_HANDLER( unk_r )
{
	return 0xffff;
}

static WRITE16_HANDLER( mux_w )
{
	jpmsys5_state *state = space->machine().driver_data<jpmsys5_state>();
	state->m_muxram[offset]=data;
}

static READ16_HANDLER( mux_r )
{
	if (offset == 0x81/2)
		return input_port_read(space->machine(), "DSW");

	return 0xffff;
}

static WRITE16_DEVICE_HANDLER( jpm_upd7759_w )
{
	if (offset == 0)
	{
		upd7759_port_w(device, 0, data & 0xff);
		upd7759_start_w(device, 0);
		upd7759_start_w(device, 1);
	}
	else if (offset == 2)
	{
		upd7759_reset_w(device, ~data & 0x4);
		upd7759_set_bank_base(device, (data & 2) ? 0x20000 : 0);
	}
	else
	{
		logerror("%s: upd7759: Unknown write to %x with %x\n", device->machine().describe_context(),  offset, data);
	}
}

static READ16_DEVICE_HANDLER( jpm_upd7759_r )
{
	return 0x14 | upd7759_busy_r(device);
}


/*************************************
 *
 *  68000 CPU memory handlers
 *
 *************************************/

static ADDRESS_MAP_START( 68000_map, AS_PROGRAM, 16 )
	AM_RANGE(0x000000, 0x01ffff) AM_ROM
	AM_RANGE(0x01fffe, 0x01ffff) AM_WRITE(rombank_w)
	AM_RANGE(0x020000, 0x03ffff) AM_ROMBANK("bank1")
	AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("nvram")
	AM_RANGE(0x046000, 0x046001) AM_WRITENOP
	AM_RANGE(0x046020, 0x046021) AM_DEVREADWRITE8_MODERN("acia6850_0", acia6850_device, status_read, control_write, 0xff)
	AM_RANGE(0x046022, 0x046023) AM_DEVREADWRITE8_MODERN("acia6850_0", acia6850_device, data_read, data_write, 0xff)
	AM_RANGE(0x046040, 0x04604f) AM_DEVREADWRITE8_MODERN("6840ptm", ptm6840_device, read, write, 0xff)
	AM_RANGE(0x046060, 0x046061) AM_READ_PORT("DIRECT") AM_WRITENOP
	AM_RANGE(0x046062, 0x046063) AM_WRITENOP
	AM_RANGE(0x046064, 0x046065) AM_WRITENOP
	AM_RANGE(0x046066, 0x046067) AM_WRITENOP
	AM_RANGE(0x046080, 0x046081) AM_DEVREADWRITE8_MODERN("acia6850_1", acia6850_device, status_read, control_write, 0xff)
	AM_RANGE(0x046082, 0x046083) AM_DEVREADWRITE8_MODERN("acia6850_1", acia6850_device, data_read, data_write, 0xff)
	AM_RANGE(0x046084, 0x046085) AM_READ(unk_r) // PIA?
	AM_RANGE(0x046088, 0x046089) AM_READ(unk_r) // PIA?
	AM_RANGE(0x04608c, 0x04608d) AM_DEVREADWRITE8_MODERN("acia6850_2", acia6850_device, status_read, control_write, 0xff)
	AM_RANGE(0x04608e, 0x04608f) AM_DEVREADWRITE8_MODERN("acia6850_2", acia6850_device, data_read, data_write, 0xff)
	AM_RANGE(0x0460a0, 0x0460a3) AM_DEVWRITE8("ym2413", ym2413_w, 0x00ff)
	AM_RANGE(0x0460c0, 0x0460c1) AM_WRITENOP
	AM_RANGE(0x0460e0, 0x0460e5) AM_WRITE(ramdac_w)
	AM_RANGE(0x048000, 0x04801f) AM_READWRITE(coins_r, coins_w)
	AM_RANGE(0x04c000, 0x04c0ff) AM_READ(mux_r) AM_WRITE(mux_w)
	AM_RANGE(0x04c100, 0x04c105) AM_DEVREADWRITE("upd7759", jpm_upd7759_r, jpm_upd7759_w)
	AM_RANGE(0x800000, 0xcfffff) AM_READWRITE(sys5_tms34061_r, sys5_tms34061_w)
ADDRESS_MAP_END


 /*************************************
 *
 *  Touchscreen controller simulation
 *
 *************************************/

/* Serial bit transmission callback */
static TIMER_CALLBACK( touch_cb )
{
	jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
	switch (state->m_touch_state)
	{
		case IDLE:
		{
			break;
		}
		case START:
		{
			state->m_touch_shift_cnt = 0;
			state->m_a2_data_in = 0;
			state->m_touch_state = DATA;
			break;
		}
		case DATA:
		{
			state->m_a2_data_in = (state->m_touch_data[state->m_touch_data_count] >> (state->m_touch_shift_cnt)) & 1;

			if (++state->m_touch_shift_cnt == 8)
				state->m_touch_state = STOP1;

			break;
		}
		case STOP1:
		{
			state->m_a2_data_in = 1;
			state->m_touch_state = STOP2;
			break;
		}
		case STOP2:
		{
			state->m_a2_data_in = 1;

			if (++state->m_touch_data_count == 3)
			{
				state->m_touch_timer->reset();
				state->m_touch_state = IDLE;
			}
			else
			{
				state->m_touch_state = START;
			}

			break;
		}
	}
}

static INPUT_CHANGED( touchscreen_press )
{
	jpmsys5_state *state = field.machine().driver_data<jpmsys5_state>();
	if (newval == 0)
	{
		attotime rx_period = attotime::from_hz(10000) * 16;

		/* Each touch screen packet is 3 bytes */
		state->m_touch_data[0] = 0x2a;
		state->m_touch_data[1] = 0x7 - (input_port_read(field.machine(), "TOUCH_Y") >> 5) + 0x30;
		state->m_touch_data[2] = (input_port_read(field.machine(), "TOUCH_X") >> 5) + 0x30;

		/* Start sending the data to the 68000 serially */
		state->m_touch_data_count = 0;
		state->m_touch_state = START;
		state->m_touch_timer->adjust(rx_period, 0, rx_period);
	}
}


/*************************************
 *
 *  Port definitions
 *
 *************************************/

static INPUT_PORTS_START( monopoly )
	PORT_START("DSW")
	PORT_DIPNAME( 0x01, 0x01, "Change state to enter test" ) PORT_DIPLOCATION("SW2:1")
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:2")
	PORT_DIPSETTING(	0x02, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x04, 0x04, "Alarm" ) PORT_DIPLOCATION("SW2:3")
	PORT_DIPSETTING(	0x04, "Discontinue alarm when jam is cleared" )
	PORT_DIPSETTING(	0x00, "Continue alarm until back door open" )
	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:4")
	PORT_DIPSETTING(	0x08, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:5")
	PORT_DIPSETTING(	0x10, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:6")
	PORT_DIPSETTING(	0x20, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0xc0, 0x00, "Payout Percentage" ) PORT_DIPLOCATION("SW2:7,8")
	PORT_DIPSETTING(	0x00, "50%" )
	PORT_DIPSETTING(	0x80, "45%" )
	PORT_DIPSETTING(	0x40, "40%" )
	PORT_DIPSETTING(	0xc0, "30%" )

	PORT_START("DIRECT")
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Back door") PORT_CODE(KEYCODE_R) PORT_TOGGLE
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Cash door") PORT_CODE(KEYCODE_T) PORT_TOGGLE
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Refill key") PORT_CODE(KEYCODE_Y) PORT_TOGGLE
	PORT_DIPNAME( 0x08, 0x08, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x08, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x10, 0x10, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x10, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x20, 0x20, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x20, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x40, 0x40, "Reset" ) PORT_DIPLOCATION("SW1:1")
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x00, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START("COINS")
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("10p")
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("20p")
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("50p")
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("100p")
	PORT_BIT( 0xc3, IP_ACTIVE_LOW, IPT_UNUSED )

	PORT_START("TOUCH_PUSH")
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED(touchscreen_press, NULL)

	PORT_START("TOUCH_X")
	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(45) PORT_KEYDELTA(15)

	PORT_START("TOUCH_Y")
	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(45) PORT_KEYDELTA(15)
INPUT_PORTS_END


/*************************************
 *
 *  6840 PTM
 *
 *************************************/

static WRITE_LINE_DEVICE_HANDLER( ptm_irq )
{
	cputag_set_input_line(device->machine(), "maincpu", INT_6840PTM, state ? ASSERT_LINE : CLEAR_LINE);
}

static WRITE8_DEVICE_HANDLER(u26_o1_callback)
{
	jpmsys5_state *state = device->machine().driver_data<jpmsys5_state>();
	if (state->m_mpxclk !=data)
	{
		if (!data) //falling edge
		{
			state->m_lamp_strobe++;
			if (state->m_lamp_strobe >15)
			{
				state->m_lamp_strobe =0;
			}
		}
		sys5_draw_lamps(state);
	}
	state->m_mpxclk = data;
}


static const ptm6840_interface ptm_intf =
{
	1000000,
	{ 0, 0, 0 },
	{ DEVCB_HANDLER(u26_o1_callback), DEVCB_NULL, DEVCB_NULL },
	DEVCB_LINE(ptm_irq)
};


/*************************************
 *
 *  6850 ACIAs
 *
 *************************************/

static WRITE_LINE_DEVICE_HANDLER( acia_irq )
{
	cputag_set_input_line(device->machine(), "maincpu", INT_6850ACIA, state ? CLEAR_LINE : ASSERT_LINE);
}

/* Clocks are incorrect */

static READ_LINE_DEVICE_HANDLER( a0_rx_r )
{
	jpmsys5_state *state = device->machine().driver_data<jpmsys5_state>();
	return state->m_a0_data_in;
}

static WRITE_LINE_DEVICE_HANDLER( a0_tx_w )
{
	jpmsys5_state *drvstate = device->machine().driver_data<jpmsys5_state>();
	drvstate->m_a0_data_out = state;
}

static READ_LINE_DEVICE_HANDLER( a0_dcd_r )
{
	jpmsys5_state *state = device->machine().driver_data<jpmsys5_state>();
	return state->m_a0_acia_dcd;
}

static ACIA6850_INTERFACE( acia0_if )
{
	10000,
	10000,
	DEVCB_LINE(a0_rx_r), /*&a0_data_in,*/
	DEVCB_LINE(a0_tx_w), /*&a0_data_out,*/
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_LINE(a0_dcd_r), /*&a0_acia_dcd,*/
	DEVCB_LINE(acia_irq)
};

static READ_LINE_DEVICE_HANDLER( a1_rx_r )
{
	jpmsys5_state *state = device->machine().driver_data<jpmsys5_state>();
	return state->m_a1_data_in;
}

static WRITE_LINE_DEVICE_HANDLER( a1_tx_w )
{
	jpmsys5_state *drvstate = device->machine().driver_data<jpmsys5_state>();
	drvstate->m_a1_data_out = state;
}

static READ_LINE_DEVICE_HANDLER( a1_dcd_r )
{
	jpmsys5_state *state = device->machine().driver_data<jpmsys5_state>();
	return state->m_a1_acia_dcd;
}

static ACIA6850_INTERFACE( acia1_if )
{
	10000,
	10000,
	DEVCB_LINE(a1_rx_r), /*&state->m_a1_data_in,*/
	DEVCB_LINE(a1_tx_w), /*&state->m_a1_data_out,*/
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_LINE(a1_dcd_r), /*&state->m_a1_acia_dcd,*/
	DEVCB_LINE(acia_irq)
};

static READ_LINE_DEVICE_HANDLER( a2_rx_r )
{
	jpmsys5_state *state = device->machine().driver_data<jpmsys5_state>();
	return state->m_a2_data_in;
}

static WRITE_LINE_DEVICE_HANDLER( a2_tx_w )
{
	jpmsys5_state *drvstate = device->machine().driver_data<jpmsys5_state>();
	drvstate->m_a2_data_out = state;
}

static READ_LINE_DEVICE_HANDLER( a2_dcd_r )
{
	jpmsys5_state *state = device->machine().driver_data<jpmsys5_state>();
	return state->m_a2_acia_dcd;
}

static ACIA6850_INTERFACE( acia2_if )
{
	10000,
	10000,
	DEVCB_LINE(a2_rx_r), /*&state->m_a2_data_in,*/
	DEVCB_LINE(a2_tx_w), /*&state->m_a2_data_out,*/
	DEVCB_NULL,
	DEVCB_NULL,
	DEVCB_LINE(a2_dcd_r), /*&state->m_a2_acia_dcd,*/
	DEVCB_LINE(acia_irq)
};


/*************************************
 *
 *  Initialisation
 *
 *************************************/

static MACHINE_START( jpmsys5v )
{
	jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
	memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base()+0x20000);
	state->m_touch_timer = machine.scheduler().timer_alloc(FUNC(touch_cb));
}

static MACHINE_RESET( jpmsys5v )
{
	jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
	state->m_touch_timer->reset();
	state->m_touch_state = IDLE;
	state->m_a2_data_in = 1;
	state->m_a2_acia_dcd = 0;
}


/*************************************
 *
 *  Machine driver
 *
 *************************************/

static MACHINE_CONFIG_START( jpmsys5v, jpmsys5_state )
	MCFG_CPU_ADD("maincpu", M68000, 8000000)
	MCFG_CPU_PROGRAM_MAP(68000_map)

	MCFG_ACIA6850_ADD("acia6850_0", acia0_if)
	MCFG_ACIA6850_ADD("acia6850_1", acia1_if)
	MCFG_ACIA6850_ADD("acia6850_2", acia2_if)

	MCFG_NVRAM_ADD_0FILL("nvram")

	MCFG_MACHINE_START(jpmsys5v)
	MCFG_MACHINE_RESET(jpmsys5v)

	MCFG_SCREEN_ADD("screen", RASTER)
	MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
	MCFG_SCREEN_RAW_PARAMS(XTAL_40MHz / 4, 676, 20*4, 147*4, 256, 0, 254)
	MCFG_SCREEN_UPDATE(jpmsys5v)

	MCFG_VIDEO_START(jpmsys5v)

	MCFG_PALETTE_LENGTH(16)

	MCFG_SPEAKER_STANDARD_MONO("mono")

	MCFG_SOUND_ADD("upd7759", UPD7759, UPD7759_STANDARD_CLOCK)
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)

	/* Earlier revisions use an SAA1099 */
	MCFG_SOUND_ADD("ym2413", YM2413, 4000000 ) /* Unconfirmed */
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)

	/* 6840 PTM */
	MCFG_PTM6840_ADD("6840ptm", ptm_intf)
MACHINE_CONFIG_END



static ADDRESS_MAP_START( 68000_awp_map, AS_PROGRAM, 16 )
	AM_RANGE(0x000000, 0x01ffff) AM_ROM
	AM_RANGE(0x01fffe, 0x01ffff) AM_WRITE(rombank_w)
	AM_RANGE(0x020000, 0x03ffff) AM_ROMBANK("bank1")
	AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("nvram")
	AM_RANGE(0x046000, 0x046001) AM_WRITENOP
	AM_RANGE(0x046020, 0x046021) AM_DEVREADWRITE8_MODERN("acia6850_0", acia6850_device, status_read, control_write, 0xff)
	AM_RANGE(0x046022, 0x046023) AM_DEVREADWRITE8_MODERN("acia6850_0", acia6850_device, data_read, data_write, 0xff)
	AM_RANGE(0x046040, 0x04604f) AM_DEVREADWRITE8_MODERN("6840ptm", ptm6840_device, read, write, 0xff)
	AM_RANGE(0x046060, 0x046061) AM_READ_PORT("DIRECT") AM_WRITENOP
	AM_RANGE(0x046062, 0x046063) AM_WRITENOP
	AM_RANGE(0x046064, 0x046065) AM_WRITENOP
	AM_RANGE(0x046066, 0x046067) AM_WRITENOP
	AM_RANGE(0x046080, 0x046081) AM_DEVREADWRITE8_MODERN("acia6850_1", acia6850_device, status_read, control_write, 0xff)
	AM_RANGE(0x046082, 0x046083) AM_DEVREADWRITE8_MODERN("acia6850_1", acia6850_device, data_read, data_write, 0xff)
	AM_RANGE(0x046084, 0x046085) AM_READ(unk_r) // PIA?
	AM_RANGE(0x046088, 0x046089) AM_READ(unk_r) // PIA?
	AM_RANGE(0x04608c, 0x04608d) AM_DEVREADWRITE8_MODERN("acia6850_2", acia6850_device, status_read, control_write, 0xff)
	AM_RANGE(0x04608e, 0x04608f) AM_DEVREADWRITE8_MODERN("acia6850_2", acia6850_device, data_read, data_write, 0xff)
	AM_RANGE(0x0460a0, 0x0460a3) AM_DEVWRITE8("ym2413", ym2413_w, 0x00ff)
	AM_RANGE(0x0460c0, 0x0460c1) AM_WRITENOP
	AM_RANGE(0x048000, 0x04801f) AM_READWRITE(coins_r, coins_w)
	AM_RANGE(0x04c000, 0x04c0ff) AM_READ(mux_r) AM_WRITE(mux_w)
	AM_RANGE(0x04c100, 0x04c105) AM_DEVREADWRITE("upd7759", jpm_upd7759_r, jpm_upd7759_w)
ADDRESS_MAP_END

/*************************************
 *
 *  Port definitions
 *
 *************************************/

static INPUT_PORTS_START( popeye )
	PORT_START("DSW")
	PORT_DIPNAME( 0x01, 0x01, "Change state to enter test" ) PORT_DIPLOCATION("SW2:1")
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:2")
	PORT_DIPSETTING(	0x02, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x04, 0x04, "Alarm" ) PORT_DIPLOCATION("SW2:3")
	PORT_DIPSETTING(	0x04, "Discontinue alarm when jam is cleared" )
	PORT_DIPSETTING(	0x00, "Continue alarm until back door open" )
	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:4")
	PORT_DIPSETTING(	0x08, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:5")
	PORT_DIPSETTING(	0x10, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:6")
	PORT_DIPSETTING(	0x20, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0xc0, 0x00, "Payout Percentage" ) PORT_DIPLOCATION("SW2:7,8")
	PORT_DIPSETTING(	0x00, "50%" )
	PORT_DIPSETTING(	0x80, "45%" )
	PORT_DIPSETTING(	0x40, "40%" )
	PORT_DIPSETTING(	0xc0, "30%" )

	PORT_START("DIRECT")
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Back door") PORT_CODE(KEYCODE_R) PORT_TOGGLE
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Cash door") PORT_CODE(KEYCODE_T) PORT_TOGGLE
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Refill key") PORT_CODE(KEYCODE_Y) PORT_TOGGLE
	PORT_DIPNAME( 0x08, 0x08, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x08, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x10, 0x10, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x10, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x20, 0x20, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x20, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x40, 0x40, "Reset" ) PORT_DIPLOCATION("SW1:1")
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x00, DEF_STR ( Unknown ) )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START("COINS")
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("10p")
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("20p")
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("50p")
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("100p")
	PORT_BIT( 0xc3, IP_ACTIVE_LOW, IPT_UNUSED )

INPUT_PORTS_END

/*************************************
 *
 *  Initialisation
 *
 *************************************/

static MACHINE_START( jpmsys5 )
{
	memory_set_bankptr(machine, "bank1", machine.region("maincpu")->base()+0x20000);
}

static MACHINE_RESET( jpmsys5 )
{
	jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
	state->m_a2_data_in = 1;
	state->m_a2_acia_dcd = 0;
}

/*************************************
 *
 *  Machine driver
 *
 *************************************/

static MACHINE_CONFIG_START( jpmsys5, jpmsys5_state )
	MCFG_CPU_ADD("maincpu", M68000, 8000000)
	MCFG_CPU_PROGRAM_MAP(68000_awp_map)

	MCFG_ACIA6850_ADD("acia6850_0", acia0_if)
	MCFG_ACIA6850_ADD("acia6850_1", acia1_if)
	MCFG_ACIA6850_ADD("acia6850_2", acia2_if)

	MCFG_NVRAM_ADD_0FILL("nvram")

	MCFG_MACHINE_START(jpmsys5)
	MCFG_MACHINE_RESET(jpmsys5)
	MCFG_SPEAKER_STANDARD_MONO("mono")

	MCFG_SOUND_ADD("upd7759", UPD7759, UPD7759_STANDARD_CLOCK)
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)

	/* Earlier revisions use an SAA1099 */
	MCFG_SOUND_ADD("ym2413", YM2413, 4000000 ) /* Unconfirmed */
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)

	/* 6840 PTM */
	MCFG_PTM6840_ADD("6840ptm", ptm_intf)
	MCFG_DEFAULT_LAYOUT(layout_awpvid16)
MACHINE_CONFIG_END

/*************************************
 *
 *  ROM definition(s)
 *
 *************************************/

ROM_START( monopoly )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7398.bin", 0x000000, 0x80000, CRC(62c80f20) SHA1(322514f920d6cb48887b624786b52af34bdb8e5f) )
	ROM_LOAD16_BYTE( "7399.bin", 0x000001, 0x80000, CRC(5f410eb6) SHA1(f9949b5cba64db77187c1723a52570bdb182ce5c) )
	ROM_LOAD16_BYTE( "6668.bin", 0x100000, 0x80000, CRC(30bf082a) SHA1(29ba67a86e82f0eb4feb816a2031d62028eb11b0) )
	ROM_LOAD16_BYTE( "6669.bin", 0x100001, 0x80000, CRC(85d38c2d) SHA1(2f1a394df243e5fbbad31507b9074c997c473106) )
	ROM_LOAD16_BYTE( "6670.bin", 0x200000, 0x80000, CRC(66e2a5e1) SHA1(04d4b55d6ad121cdc3592d33e9d953affa24f01a) )
	ROM_LOAD16_BYTE( "6671.bin", 0x200001, 0x80000, CRC(b2a3cedd) SHA1(e3a5dd028b0769e08a796a96665b31491c3b18ca) )



	ROM_REGION( 0x300000, "altrevs", 0 )
	ROM_LOAD16_BYTE( "7400.bin", 0x00001, 0x080000, CRC(d6f1f98c) SHA1(f20c788a31a8fe339aed701866180a3eb16fafb9) )

	// this version doesn't work too well, missing other roms, or just bad?
	ROM_LOAD16_BYTE( "monov3p1", 0x00000, 0x080000, CRC(a66fc610) SHA1(fddd3b37a6aebf5c402942d26a2fa1fa130326dd) )
	ROM_LOAD16_BYTE( "monov3p2", 0x00001, 0x080000, CRC(2d629723) SHA1(c5584113e50dc5f636dbcf80e4689d2bbfe98e71) )
	// mismastched?
	ROM_LOAD16_BYTE( "monov4p2", 0x00001, 0x080000, CRC(3c2dd9b7) SHA1(01c87584b3599763a0c37040199014c2902dc6f3) )


	ROM_REGION( 0x80000, "upd7759", 0 )
	ROM_LOAD( "6538.bin", 0x00000, 0x40000, CRC(ccdd4ce3) SHA1(dbb24682cea8081a447ca2c53395964fc46e7f56) )
ROM_END

ROM_START( monopolya )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "mono4e1",  0x000000, 0x80000, CRC(0338b165) SHA1(fdc0fcf0fddcf88d593a22885779e8224484e7e4) )
	ROM_LOAD16_BYTE( "mono4e2",  0x000001, 0x80000, CRC(c8aa21d8) SHA1(257ecf85e1d41b15bb2bbe2157e9d3f72b7e0317) )
	ROM_LOAD16_BYTE( "6668.bin", 0x100000, 0x80000, CRC(30bf082a) SHA1(29ba67a86e82f0eb4feb816a2031d62028eb11b0) )
	ROM_LOAD16_BYTE( "6669.bin", 0x100001, 0x80000, CRC(85d38c2d) SHA1(2f1a394df243e5fbbad31507b9074c997c473106) )
	ROM_LOAD16_BYTE( "6670.bin", 0x200000, 0x80000, CRC(66e2a5e1) SHA1(04d4b55d6ad121cdc3592d33e9d953affa24f01a) )
	ROM_LOAD16_BYTE( "6671.bin", 0x200001, 0x80000, CRC(b2a3cedd) SHA1(e3a5dd028b0769e08a796a96665b31491c3b18ca) )

	ROM_REGION( 0x80000, "upd7759", 0 )
	ROM_LOAD( "6538.bin", 0x00000, 0x40000, CRC(ccdd4ce3) SHA1(dbb24682cea8081a447ca2c53395964fc46e7f56) )
ROM_END


ROM_START( monoplcl )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7401.bin", 0x000000, 0x80000, CRC(eec11426) SHA1(b732a5a64d3fba676134942768b823d088792a1f) )
	ROM_LOAD16_BYTE( "7402.bin", 0x000001, 0x80000, CRC(c4c43269) SHA1(3cad3a66aae25308e8709f8eb3f29d6858b87791) )
	ROM_LOAD16_BYTE( "6668.bin", 0x100000, 0x80000, CRC(30bf082a) SHA1(29ba67a86e82f0eb4feb816a2031d62028eb11b0) )
	ROM_LOAD16_BYTE( "6669.bin", 0x100001, 0x80000, CRC(85d38c2d) SHA1(2f1a394df243e5fbbad31507b9074c997c473106) )
	ROM_LOAD16_BYTE( "6670.bin", 0x200000, 0x80000, CRC(66e2a5e1) SHA1(04d4b55d6ad121cdc3592d33e9d953affa24f01a) )
	ROM_LOAD16_BYTE( "6671.bin", 0x200001, 0x80000, CRC(b2a3cedd) SHA1(e3a5dd028b0769e08a796a96665b31491c3b18ca) )

	ROM_REGION( 0x300000, "altrevs", 0 )
	ROM_LOAD16_BYTE( "7403.bin", 0x000001, 0x080000, CRC(95dbacb6) SHA1(bd551ccad95440a669a547092ab126178b0d0bf9) )

	ROM_LOAD( "mdlxv1p1", 0x0000, 0x080000, CRC(48ab1691) SHA1(6df2aad02548d5239e3974a11228bc9aad8c9170) )
	ROM_LOAD( "mdlxv1p2", 0x0000, 0x080000, CRC(107c3e65) SHA1(e298b3a2826f92ba6119348a36bc4735e1799797) )
	/* p3 missing? */
	ROM_LOAD( "mdlxv1p4", 0x0000, 0x080000, CRC(e3fd1a27) SHA1(6bba70ff27a6d068febcbdfa1b1f8ff2ef86ef03) )


	ROM_REGION( 0x80000, "upd7759", 0 )
	ROM_LOAD( "6538.bin", 0x00000, 0x40000, CRC(ccdd4ce3) SHA1(dbb24682cea8081a447ca2c53395964fc46e7f56) )
ROM_END

ROM_START( monopldx )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8439.bin", 0x000000, 0x80000, CRC(fbd6caa4) SHA1(73e787ae41a0ce44d48a46dd623d5e1351335e3e) )
	ROM_LOAD16_BYTE( "8440.bin", 0x000001, 0x80000, CRC(4e20aebf) SHA1(79aca78f023e7f7ae7875c18c3a7696f5ab63102) )
	ROM_LOAD16_BYTE( "6879.bin", 0x100000, 0x80000, CRC(4fbd1222) SHA1(9a9c9e4768c18a6a3e717605d3c88179676b6ad1) )
	ROM_LOAD16_BYTE( "6880.bin", 0x100001, 0x80000, CRC(0370bf5f) SHA1(a0ed1dbc6aeab02e8229f23f8ba4ff880d31e7a1) )
	ROM_LOAD16_BYTE( "6881.bin", 0x200000, 0x80000, CRC(8418ee17) SHA1(5666b90db00d9e88a37655bb9a714f076e2689d6) )
	ROM_LOAD16_BYTE( "6882.bin", 0x200001, 0x80000, CRC(400f5fb4) SHA1(80b1d3902fc9f6db24f49055b07bc31c0c74a993) )

	ROM_REGION( 0x300000, "altrevs", 0 )
	ROM_LOAD16_BYTE( "8441.bin", 0x000001, 0x080000, CRC(d0825af4) SHA1(a7291806893c42a115763e404337976b8c30e9e0) ) // 1 byte change from 8440 (doesn't boot, but might want additional hw)


	ROM_REGION( 0x80000, "upd7759", 0 )
	ROM_LOAD( "modl-snd.bin", 0x000000, 0x80000, CRC(f761da41) SHA1(a07d1b4cb7ce7a24b6fb84843543b95c3aec470f) )
ROM_END


ROM_START( cashcade )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "cashcade_2_1.bin", 0x000000, 0x010000, CRC(7672953c) SHA1(c1a2639ab6b830c971c2533d837404ae5f5aa535) )
	ROM_LOAD16_BYTE( "cashcade_2_2.bin", 0x000001, 0x010000, CRC(8ce8cd66) SHA1(4eb00af6a0260496950d04fdcc1d3d976868ce3e) )
	ROM_LOAD16_BYTE( "cashcade_2_3.bin", 0x020000, 0x010000, CRC(a4caddd1) SHA1(074e4aa870c3d28c2f120936ef6928c3b5e14301) )
	ROM_LOAD16_BYTE( "cashcade_2_4.bin", 0x020001, 0x010000, CRC(b0f595e8) SHA1(5ca12839b87d092504d8b7cc579b8f1b2406cea1) )
ROM_END





/* Non-video */


ROM_START( j5goldbr )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jpmgoldenbars1.1.bin", 0x000000, 0x008000, CRC(45f91660) SHA1(1c6bc864e56c8c6ea61ebb5e181ad736aeab06cf) )
	ROM_LOAD16_BYTE( "jpmgoldenbars1.2.bin", 0x000001, 0x008000, CRC(eb6595f0) SHA1(2b0aabb50a1d1f88249b733faf02194c0181f999) )
	ROM_LOAD16_BYTE( "jpmgoldenbars1.3.bin", 0x020000, 0x008000, CRC(01c7dcfb) SHA1(9f00a14df5b2ea13d2bd4f3ff1ab5ee65d464709) )
	ROM_LOAD16_BYTE( "jpmgoldenbars1.4.bin", 0x020001, 0x008000, CRC(88bf0d26) SHA1(ecbfa69ffde42dc4464f39fc641c98a8485e0218) )
ROM_END

ROM_START( j5fifth )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5av.91",  0x000000, 0x008000, CRC(d932dcb7) SHA1(c1ccdbc19c7904e35a905c51897e938e8e304a00) )
	ROM_LOAD16_BYTE( "5av.9a2", 0x000001, 0x008000, CRC(bd6aa8ed) SHA1(9271b20e19d83289523ced79d995a95ee74f9cce) )
ROM_END



// this came from the 'Crystal' Club set, but was also in the 'Crystal' normal set (which looks more like a club set).. Maybe it's just the club sound rom.
#define J5AR80CL_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "atwcsnd.bin", 0x0000, 0x040000, CRC(c637b1ce) SHA1(e68a3f390f3671af693f080f20119d54118e10f0) ) \


ROM_START( j5ar80cl )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "do10_1.bin", 0x000000, 0x010000, CRC(c1b6d961) SHA1(0e103edc31e8a1b98b3daab6604a13490dcaa56e) )
	ROM_LOAD16_BYTE( "do10_2.bin", 0x000001, 0x010000, CRC(113b228c) SHA1(2087ad14c620d9d1aa853f9ab56265c7efaa9a2c) )

	J5AR80CL_SOUND
ROM_END

ROM_START( j5ar80cla ) // marked as a 'Crystal' Club set
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "atw_club_v6_p1.bin", 0x000000, 0x010000, CRC(340c2938) SHA1(00b2dcbff2b551be8936efa7839e677d98660f69) )
	ROM_LOAD16_BYTE( "atw_club_v6_p2.bin", 0x000001, 0x010000, CRC(b1627dd9) SHA1(6db1241f0ecd6162289d5b1080ade91b2a945572) )

	J5AR80CL_SOUND
ROM_END

ROM_START( j5ar80clb ) // marked as a 'Crystal' Club set
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "atw_club_v8_1.bin", 0x000000, 0x010000, CRC(a286d1b7) SHA1(309c21a69cf93e8201910d18ccb19e12f6fcaad3) )
	ROM_LOAD16_BYTE( "atw_club_v8_2.bin", 0x000001, 0x010000, CRC(6088e013) SHA1(86201fec761551c562da1ec0f3c04b7780c46f4c) )

	J5AR80CL_SOUND
ROM_END

ROM_START( j5ar80clc ) // marked as a 'Crystal' non-club set, but the Rom size etc. suggest otherwise
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "atw8v9p1", 0x000000, 0x010000, CRC(3d2a5534) SHA1(469b4ed46ab5cb67909c14e5e71c632bcd2b14e3) )
	ROM_LOAD16_BYTE( "awt8v9p2", 0x000001, 0x010000, CRC(87207023) SHA1(5bda03a8964275528b5aa32ec6819b5e9bcbcac1) )

	J5AR80CL_SOUND
ROM_END


#define J5AR80_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "5652.bin", 0x000000, 0x040000, CRC(d0876512) SHA1(1bda1d640ca5ee6831d7a4ae948e3dce277e8a3e) )	 \

//  ROM_LOAD( "atw80snd.bin", 0x000000, 0x020000, CRC(b002e11c) SHA1(f7133f4bb8c31feaad0a7b9ee88749f9b7877575) ) // this is just the first half of 5652/atworldsound.bin

ROM_START( j5ar80 )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6251.bin", 0x000000, 0x008000, CRC(8cd127d4) SHA1(cf269ab025de2b5ae15b66e8a5c0141020ec0559) )
	ROM_LOAD16_BYTE( "6252.bin", 0x000001, 0x008000, CRC(91c2fa9e) SHA1(15f262304955560040822d71ddbda48f18b37339) )
	ROM_LOAD16_BYTE( "6253.bin", 0x010000, 0x008000, CRC(8682a834) SHA1(12343ba67475111a96b6330d47c141bb3ded2a42) )
	ROM_LOAD16_BYTE( "6254.bin", 0x010001, 0x008000, CRC(eed8c270) SHA1(d5c04e85d0debc40c4626530cb442202edc75d8c) )
	J5AR80_SOUND
ROM_END

ROM_START( j5ar80a )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6255.bin", 0x000000, 0x008000, CRC(bf0f5ef5) SHA1(47fa78ea2db0447d744acb29a39532789d744ecf) )
	ROM_LOAD16_BYTE( "6252.bin", 0x000001, 0x008000, CRC(91c2fa9e) SHA1(15f262304955560040822d71ddbda48f18b37339) )
	ROM_LOAD16_BYTE( "6253.bin", 0x010000, 0x008000, CRC(8682a834) SHA1(12343ba67475111a96b6330d47c141bb3ded2a42) )
	ROM_LOAD16_BYTE( "6254.bin", 0x010001, 0x008000, CRC(eed8c270) SHA1(d5c04e85d0debc40c4626530cb442202edc75d8c) )
	J5AR80_SOUND
ROM_END

ROM_START( j5ar80b )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6288.bin", 0x000000, 0x008000, CRC(cd54575f) SHA1(e103a335d0d4722115ab56064be98d8ab237d1e3) )
	ROM_LOAD16_BYTE( "6252.bin", 0x000001, 0x008000, CRC(91c2fa9e) SHA1(15f262304955560040822d71ddbda48f18b37339) )
	ROM_LOAD16_BYTE( "6253.bin", 0x010000, 0x008000, CRC(8682a834) SHA1(12343ba67475111a96b6330d47c141bb3ded2a42) )
	ROM_LOAD16_BYTE( "6254.bin", 0x010001, 0x008000, CRC(eed8c270) SHA1(d5c04e85d0debc40c4626530cb442202edc75d8c) )
	J5AR80_SOUND
ROM_END

ROM_START( j5ar80c )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6289.bin", 0x000000, 0x008000, CRC(eb6dd596) SHA1(043808709f2c3616e319221d4146b2b57a486d38) )
	ROM_LOAD16_BYTE( "6252.bin", 0x000001, 0x008000, CRC(91c2fa9e) SHA1(15f262304955560040822d71ddbda48f18b37339) )
	ROM_LOAD16_BYTE( "6253.bin", 0x010000, 0x008000, CRC(8682a834) SHA1(12343ba67475111a96b6330d47c141bb3ded2a42) )
	ROM_LOAD16_BYTE( "6254.bin", 0x010001, 0x008000, CRC(eed8c270) SHA1(d5c04e85d0debc40c4626530cb442202edc75d8c) )
	J5AR80_SOUND
ROM_END

ROM_START( j5ar80d )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "aw8020p1", 0x000000, 0x008000, CRC(ae75424d) SHA1(6f9372c2ae4e506f6d7009623e9795fb67b3d664) )
	ROM_LOAD16_BYTE( "aw8020p2", 0x000001, 0x008000, CRC(e7ccbcb1) SHA1(696c8fe94b41d6db1e156a9ec8ef22b953428478) )
	ROM_LOAD16_BYTE( "aw8020p3", 0x010000, 0x008000, CRC(2f0c3549) SHA1(3afb86990106ded1abbf19a747e895f75d1e2ecd) )
	ROM_LOAD16_BYTE( "aw8020p4", 0x010001, 0x008000, CRC(17ff1c66) SHA1(9c917eb234a4272f2376ad34a9cdcdbdd7eb9deb) )
	J5AR80_SOUND
ROM_END

// also in these sets
//  ROM_LOAD( "artwld80", 0x000000, 0x010000, CRC(3ff314c3) SHA1(345df80243953b35916449b0aa6ffaf9d3501d2b) ) // something by Crystal Leisure, 1994 (MPU4?)



ROM_START( j5buc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "bucc_5_1.bin", 0x000000, 0x010000, CRC(acbda693) SHA1(87dc3b2f59c1911bde07e7ec5a8d7f7deb699b51) )
	ROM_LOAD16_BYTE( "bucc_5_2.bin", 0x000001, 0x010000, CRC(3bcf34a5) SHA1(66d654980eb576138c3b09c1965afe02a84db001) )
ROM_END




#define J5CIR_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "circ_snd.bin", 0x000000, 0x080000, CRC(a4402d73) SHA1(e1760462734b8529f9ba374c36f9e0f2aa66264f) ) \

ROM_START( j5cir )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "circus_10_quid_p1.bin", 0x000000, 0x010000, CRC(9ac0cc40) SHA1(2c45386d880df6ce3f40c5f74836f91541eb7f71) )
	ROM_LOAD16_BYTE( "circus_10_quid_p2.bin", 0x000001, 0x010000, CRC(d23c25e6) SHA1(d72469258ca2cd044bc6868bac826a9452903359) )
	J5CIR_SOUND
ROM_END


ROM_START( j5cira )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "circ_p1.bin", 0x000000, 0x010000, CRC(da841a46) SHA1(28320a169a22e61255ac33af87f83ab0d55ab335) )
	ROM_LOAD16_BYTE( "circ_p2.bin", 0x000001, 0x010000, CRC(1704862c) SHA1(1e388356ed7df7de345d6d2993bc7e36b0a51770) )
	J5CIR_SOUND
ROM_END


ROM_START( j5cirb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "circusp1", 0x000000, 0x010000, CRC(eed558a3) SHA1(59c454d8a6830a743865eb001689154927adf931) )
	ROM_LOAD16_BYTE( "circusp2", 0x000001, 0x010000, CRC(1704862c) SHA1(1e388356ed7df7de345d6d2993bc7e36b0a51770) )
	J5CIR_SOUND
ROM_END


ROM_START( j5circ )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "circ10p1", 0x000000, 0x010000, CRC(982ef193) SHA1(a563bf5ba03e47ae34e3ef45062b6877c7bb8253) )
	ROM_LOAD16_BYTE( "circ10p2", 0x000001, 0x010000, CRC(2c510a30) SHA1(0e8c7a90bb7f20f39420b1e9f956119ce47ee129) )
	J5CIR_SOUND
ROM_END


ROM_START( j5cird )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "circ8ac", 0x000000, 0x010000, CRC(ac7fb376) SHA1(9dcbb1d27cbcdd7085b8e0d926a099fddabe6fc8) )
	ROM_LOAD16_BYTE( "circ8p2", 0x000001, 0x010000, CRC(2c510a30) SHA1(0e8c7a90bb7f20f39420b1e9f956119ce47ee129) )
	J5CIR_SOUND
ROM_END




ROM_START( j5clbnud )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "clubnudger4.1.bin", 0x000000, 0x008000, CRC(5e2ee964) SHA1(9464118c7cf68a16c2faaa8b8122f98105612be5) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "clubnudger4.2.bin", 0x000001, 0x008000, CRC(26f90419) SHA1(8e2884b884fc68ed15d79ac11b39d25201583687) )
	ROM_LOAD16_BYTE( "clubnudger4.3.bin", 0x010000, 0x008000, CRC(c91ca3ea) SHA1(0aa29a74a3b50c71ce37d46bf7dd6b56297e73da) )
	ROM_LOAD16_BYTE( "clubnudger4.4.bin", 0x010001, 0x008000, CRC(b9b13f25) SHA1(6a4f2d2524f2c780680b9a0c528d3603e708584f) )
ROM_END


ROM_START( j5clbnuda )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "clubnudgertest3.1.bin", 0x000000, 0x008000, CRC(365644a6) SHA1(1f0a7f92f4f0250cbe680361b88f58939580208f) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "clubnudgertest3.2.bin", 0x000001, 0x008000, CRC(c2adfb0f) SHA1(4092ebd5c8083e09c47fcefbe080caaa32083ae2) )
	ROM_LOAD16_BYTE( "clubnudgertest3.3.bin", 0x010000, 0x008000, CRC(58c3c11b) SHA1(dbd31ef33bfc78c78b7bc16a55fabe3dc9363d2c) )
	ROM_LOAD16_BYTE( "clubnudgertest3.4.bin", 0x010001, 0x008000, CRC(7f483309) SHA1(f535a64a21cae5eddc641ca880453d6616dc55c0) )
ROM_END


ROM_START( j5daytn )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "day1_300_6.b8", 0x000000, 0x010000, CRC(0e462f40) SHA1(32a2489ef0572f0119e940d85e38e75da22ceb38) )
	ROM_LOAD16_BYTE( "day2_300_6.b8", 0x000001, 0x010000, CRC(13b9e2da) SHA1(e89fa75cd1a3f391a143220b2ec52fbb95b4f6b9) )
ROM_END

ROM_START( j5daytna )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "day1_750_6.b8", 0x000000, 0x010000, CRC(796ef056) SHA1(84fde3b3c66d3ac463a5c6ab1253366bee00692b) )
	ROM_LOAD16_BYTE( "day2_750_6.b8", 0x000001, 0x010000, CRC(47823334) SHA1(fbd753e77fc96afd8dee09adc478bb285b1c4487) )
ROM_END

ROM_START( j5daycls )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "dc30cz04_1.b8", 0x000000, 0x010000, CRC(a79c1637) SHA1(bb29c63031aa0c524b089ccd2e71635de634e619) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "dc30cz04_2.b8", 0x000001, 0x010000, CRC(211c51f2) SHA1(1f608818560202b02ab169f04436232c6a1142a6) )
ROM_END

ROM_START( j5dayclsa )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "dc75cz04_1.b8", 0x000000, 0x010000, CRC(93cd54d2) SHA1(82e11a7ff0715b968e1ab5fae87b64be1efc38a5) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "dc30cz04_2.b8", 0x000001, 0x010000, CRC(211c51f2) SHA1(1f608818560202b02ab169f04436232c6a1142a6) )
ROM_END


ROM_START( j5dirty )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ddozp1", 0x000000, 0x010000, CRC(59d66085) SHA1(a061f6f03f0320f709a92aa47f4e7624776b4866) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "ddozp2", 0x000001, 0x010000, CRC(b4b1f80c) SHA1(5314013bf21943eff5ade694832c58f378dae1f2) )
ROM_END

ROM_START( j5dirtya )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ddz10p1", 0x000000, 0x010000, CRC(bfa18d96) SHA1(9096fe0e844e7c681058f2f60d6586d9ec8246c6) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "ddz10p2", 0x000001, 0x010000, CRC(69b5099d) SHA1(a5f1426c5d1e45c1740f6626bb48d0d8c412b0b5) )
ROM_END

ROM_START( j5dirtyb ) // set needs checking, might really use doz8cap2
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ddoz8ss", 0x000000, 0x010000, CRC(4df255b1) SHA1(e68926e5c243d392cf2bf8091903d2b131e161d4) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "ddoz8p2", 0x000001, 0x010000, CRC(ba8e825e) SHA1(366742815682cc860a325becaaf2e4c0977fc874) )
ROM_END

ROM_START( j5dirtyc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	//ROM_LOAD16_BYTE( "doz8cap1", 0x000000, 0x010000, CRC(78da2dbc) SHA1(568462c643039939b6db19658c934fd1f54298e6) )
	ROM_LOAD16_BYTE( "doz8cap1", 0x000000, 0x010000, NO_DUMP ) // rom in set matched rom below, which can't be correct
	ROM_LOAD16_BYTE( "doz8cap2", 0x000001, 0x010000, CRC(78da2dbc) SHA1(568462c643039939b6db19658c934fd1f54298e6) )
ROM_END

// hopefully this is the right sound rom, because there was an Impact HW set in here too
#define J5FAIRGD_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "cfg_snd", 0x000000, 0x080000, CRC(57ea2159) SHA1(79eb864333ecdfaacae51797327afe5cc8a815eb) ) \

ROM_START( j5fairgd )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6474.bin", 0x000000, 0x010000, CRC(e02bea2d) SHA1(b93f44b04f64ffd19952447889f21ec4e43eef0f) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6475.bin", 0x000001, 0x010000, CRC(bdca4770) SHA1(5dde691a6275531132228f1c6bb884d345e8a3de) )
	J5FAIRGD_SOUND
ROM_END

ROM_START( j5fairgda )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6476.bin", 0x000000, 0x010000, CRC(17bbc87f) SHA1(4c7ac3c1efe19313fcc2d3e0ff1d978066c66171) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6475.bin", 0x000001, 0x010000, CRC(bdca4770) SHA1(5dde691a6275531132228f1c6bb884d345e8a3de) )
	J5FAIRGD_SOUND
ROM_END

ROM_START( j5fairgdb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6477.bin", 0x000000, 0x010000, CRC(f7ad4c88) SHA1(487acae3f9f7cace8c0cd5f9c1cc35e758ac0ae8) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6478.bin", 0x000001, 0x010000, CRC(bc27e344) SHA1(bcfd0cd04ada31a037b9f5dcd7e47278596b18b5) )
	J5FAIRGD_SOUND
ROM_END

ROM_START( j5fairgdc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6479.bin", 0x000000, 0x010000, CRC(003d6eda) SHA1(324e2fe867c4944534075cc6442f5a2d09efd443) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6478.bin", 0x000001, 0x010000, CRC(bc27e344) SHA1(bcfd0cd04ada31a037b9f5dcd7e47278596b18b5) )
	J5FAIRGD_SOUND
ROM_END

ROM_START( j5fairgdd )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "fairground_attraction_4_1.bin", 0x000000, 0x010000, CRC(5ade1db9) SHA1(b45e946b9c54de656006597ea72dab97e2bdbd3a) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "fairground_attraction_4_2.bin", 0x000001, 0x010000, CRC(c9d7817f) SHA1(893a5be457f19d991d5ee8af4c6e27331905e17c) )
	J5FAIRGD_SOUND
ROM_END

ROM_START( j5fairgde )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "fairground_attraction_5_1.bin", 0x000000, 0x010000, CRC(314ecf4d) SHA1(bb5a07987b151372f91a3458ab906321b398008a) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "fairground_attraction_5_2.bin", 0x000001, 0x010000, CRC(7b160beb) SHA1(8f96e41f72f937bf6feef48d37e400a4dcfecd84) )
	J5FAIRGD_SOUND
ROM_END

#define J5FAIR_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "fairsound.bin", 0x0000, 0x040000, CRC(2992a89a) SHA1(74b972a234c96217c8ebd0e724e97dbb5afe6fc1) )\

ROM_START( j5fair )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6248.bin", 0x00000, 0x010000, CRC(96b3fbc9) SHA1(4203a70ba444caba4496ced4168f271a7e405568) )
	//ROM_LOAD16_BYTE( "fairground 6 6-1.bin", 0x0000, 0x010000, CRC(96b3fbc9) SHA1(4203a70ba444caba4496ced4168f271a7e405568) )
	ROM_LOAD16_BYTE( "6249.bin", 0x00001, 0x010000, CRC(cc8325db) SHA1(0cbfc9157af7f8a25fbf81d28354d98f829455c0) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5faira )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6250.bin", 0x00000, 0x010000, CRC(6123d99b) SHA1(4725a18c0649fb1ba53683d0cbaf9b7fe81204e8) )
	ROM_LOAD16_BYTE( "6249.bin", 0x00001, 0x010000, CRC(cc8325db) SHA1(0cbfc9157af7f8a25fbf81d28354d98f829455c0) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6310.bin", 0x00000, 0x010000, CRC(aa2eb82c) SHA1(522d733cfd3f8e1aaf596acde29ba2152ec03e88) )
	ROM_LOAD16_BYTE( "6249.bin", 0x00001, 0x010000, CRC(cc8325db) SHA1(0cbfc9157af7f8a25fbf81d28354d98f829455c0) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6311.bin", 0x00000, 0x010000, CRC(a2e2b92c) SHA1(affe5ac7b6895b73d28be139557fcd27c4e81997) )
	ROM_LOAD16_BYTE( "6249.bin", 0x00001, 0x010000, CRC(cc8325db) SHA1(0cbfc9157af7f8a25fbf81d28354d98f829455c0) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5faird )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6781.bin", 0x00000, 0x010000, CRC(5dbe9a7e) SHA1(8434fe268b7f44b73df344d25ced9768e90faae3) )
	ROM_LOAD16_BYTE( "6249.bin", 0x00001, 0x010000, CRC(cc8325db) SHA1(0cbfc9157af7f8a25fbf81d28354d98f829455c0) )

	J5FAIR_SOUND
ROM_END


ROM_START( j5faire )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8510.bin", 0x00000, 0x010000, CRC(1f05a0ec) SHA1(5d6ff1d2b2ec73bfbe7a2ff17e0c95ebada82d81) )
	ROM_LOAD16_BYTE( "8511.bin", 0x00001, 0x010000, CRC(189f9c43) SHA1(ad54234a953d0bde4a6ee1fb1ebac2d49307d115) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairf )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8512.bin", 0x00000, 0x010000, CRC(e89582be) SHA1(83e280dd1e747c50ce45ca502893b45406bc2a1f) )
	ROM_LOAD16_BYTE( "8511.bin", 0x00001, 0x010000, CRC(189f9c43) SHA1(ad54234a953d0bde4a6ee1fb1ebac2d49307d115) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairg )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8513.bin", 0x00000, 0x010000, CRC(2398e309) SHA1(0e4aea0c93a5fc6ff81f639b494645f3a4330b5f) )
	ROM_LOAD16_BYTE( "8511.bin", 0x00001, 0x010000, CRC(189f9c43) SHA1(ad54234a953d0bde4a6ee1fb1ebac2d49307d115) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairh )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8514.bin", 0x00000, 0x010000, CRC(2b54e209) SHA1(7bf0ebd390b0f360e8777bc3bf88c6d3f22c90cd) )
	ROM_LOAD16_BYTE( "8511.bin", 0x00001, 0x010000, CRC(189f9c43) SHA1(ad54234a953d0bde4a6ee1fb1ebac2d49307d115) )

	J5FAIR_SOUND
ROM_END


ROM_START( j5fairi )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8555.bin", 0x00000, 0x010000, CRC(97379eea) SHA1(98298acfe38811746d0a28dda36c1f9b542a3f08) )
	ROM_LOAD16_BYTE( "8556.bin", 0x00001, 0x010000, CRC(6b143dd1) SHA1(c1cc3299c0e1ebb4ad2d161020dbb646776c24fb) )

	J5FAIR_SOUND
ROM_END


ROM_START( j5fairj )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8557.bin", 0x00000, 0x010000, CRC(60a7bcb8) SHA1(60909e13dc0e0c6fa3db3b11bc4bf221bee50749) )
	ROM_LOAD16_BYTE( "8556.bin", 0x00001, 0x010000, CRC(6b143dd1) SHA1(c1cc3299c0e1ebb4ad2d161020dbb646776c24fb) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairk )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8558.bin", 0x00000, 0x010000, CRC(abaadd0f) SHA1(bbf0e1d07a3f6a35349f102c1a920fcf7805fd3c) )
	ROM_LOAD16_BYTE( "8556.bin", 0x00001, 0x010000, CRC(6b143dd1) SHA1(c1cc3299c0e1ebb4ad2d161020dbb646776c24fb) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairl )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "8559.bin", 0x00000, 0x010000, CRC(a366dc0f) SHA1(4769d5ad9a91f1b05702a19857f7d0dca884ceeb) )
	ROM_LOAD16_BYTE( "8556.bin", 0x00001, 0x010000, CRC(6b143dd1) SHA1(c1cc3299c0e1ebb4ad2d161020dbb646776c24fb) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairm )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "fairground_10_1.bin", 0x00000, 0x010000, CRC(aa423087) SHA1(060cce5d69e4d191fd7ee711c834713abb17dc0d) )
	ROM_LOAD16_BYTE( "fairground_10_2.bin", 0x00001, 0x010000, CRC(8a68ea25) SHA1(d7ce2bad02cfca20a936ce4f987f124e80c8c210) )
	//ROM_LOAD( "fairground_10_quid_p1.bin", 0x0000, 0x010000, CRC(aa423087) SHA1(060cce5d69e4d191fd7ee711c834713abb17dc0d) )
	//ROM_LOAD( "fairground_10_quid_p2.bin", 0x0000, 0x010000, CRC(8a68ea25) SHA1(d7ce2bad02cfca20a936ce4f987f124e80c8c210) )
	//ROM_LOAD( "fairground_20p_25p_10_p1.bin", 0x0000, 0x010000, CRC(aa423087) SHA1(060cce5d69e4d191fd7ee711c834713abb17dc0d) )
	//ROM_LOAD( "fairground_20p_25p_10_p2.bin", 0x0000, 0x010000, CRC(8a68ea25) SHA1(d7ce2bad02cfca20a936ce4f987f124e80c8c210) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairn )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "fairgp1", 0x00000, 0x010000, CRC(b50afc36) SHA1(f8ce7bbecb7faaccc6f9350a6a414f931e456a0d) )
	ROM_LOAD16_BYTE( "fairgp2", 0x00001, 0x010000, CRC(dab2b7a1) SHA1(8ec12ebc40768eb43aaeeb0def6dfb532633abec) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairo )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "fairground8cashp1.bin", 0x00000, 0x010000, CRC(815bbed3) SHA1(f7e94c8ec2219c62d6e732b9eaf20629ca5d4db2) )
	ROM_LOAD16_BYTE( "fairground8cashp2.bin", 0x00001, 0x010000, CRC(dab2b7a1) SHA1(8ec12ebc40768eb43aaeeb0def6dfb532633abec) ) // == fairgp2

	J5FAIR_SOUND
ROM_END


ROM_START( j5fairp )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "fairground_8_1.bin", 0x00000, 0x010000, CRC(a9a25c65) SHA1(dd8f23637baf3793225a544ebbe3deb0ef21130d) )
	ROM_LOAD16_BYTE( "fairground_8_2.bin", 0x00001, 0x010000, CRC(7333c1ec) SHA1(a28653bff9e6887f47b030951922797f21c02ccc) )

	J5FAIR_SOUND
ROM_END

ROM_START( j5fairq )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "fgrndp1", 0x00000, 0x010000, CRC(a8b30640) SHA1(614b10335268df7f353674bb7111e9e8c762084c) )
	ROM_LOAD16_BYTE( "fgrndp2", 0x00001, 0x010000, CRC(250c3fd0) SHA1(75f85944683d72b93ee6876db42df6ad9c0d4f61) )
	//ROM_LOAD( "fairp2ca", 0x0000, 0x010000, CRC(250c3fd0) SHA1(75f85944683d72b93ee6876db42df6ad9c0d4f61) )

	J5FAIR_SOUND
ROM_END







//  these are from FAST?TRAK on Impact HW!!! (found in Fairground set)
//  ROM_LOAD16_BYTE( "9331.bin", 0x000000, 0x020000, CRC(54dbf894) SHA1(a3ffff82883cc192108f44d36a7465d4afeaf114) )
//  ROM_LOAD16_BYTE( "9332.bin", 0x000001, 0x020000, CRC(ecf1632a) SHA1(5d82a46672adceb29744e82de1b0fa5fcf4dbc51) )
//  ROM_LOAD16_BYTE( "9333.bin", 0x000000, 0x020000, CRC(bf45acac) SHA1(ec624bc2d135901ecbdb6c6b3dbd9cc4b618b4de) )
//  ROM_LOAD16_BYTE( "9334.bin", 0x000000, 0x020000, CRC(061f38f5) SHA1(459b39d2380fcfdb763eeb6937752be192cb8244) )
//  ROM_LOAD16_BYTE( "9335.bin", 0x000000, 0x020000, CRC(36b6891c) SHA1(013b663f2dc59a4d2834ef2f7e86bcc608e98b39) )


// Not sure which is the right sound rom, there was an Impact HW set in here too
#define J5JOKGLD_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "jg_snd.bin", 0x000000, 0x080000, CRC(bab05fea) SHA1(66e03ac598f6683b6634a2fce194dc058ddc8ef4) ) \
	ROM_LOAD( "jgsnd.bin",  0x000000, 0x080000, CRC(8bc92c90) SHA1(bcbbe270ce42d5960ac37a2324e3fb37ff513147) ) \

// Also with these roms: German Impact HW set?
//  ROM_LOAD16_BYTE( "jg.p1", 0x00000, 0x010000, CRC(e5658ca2) SHA1(2d188899a4aa8124b7c492379331b8713913c69e) )
//  ROM_LOAD16_BYTE( "jg.p2", 0x00001, 0x010000, CRC(efa0c84b) SHA1(ef511378904823ae66b7812eff13d9cef5fa621b) )

ROM_START( j5jokgld )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jg30cz03_1.b8", 0x00000, 0x010000, CRC(106a1ee6) SHA1(967abfa3bf90566ebfbe0be81b3ca41bba6bd858) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "jg30cz03_2.b8", 0x00001, 0x010000, CRC(e883436c) SHA1(2425663a336284816a030de8d2b0765f47fed213) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokglda )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jg75cz03_1.b8", 0x000000, 0x010000, CRC(243b5c03) SHA1(86dc3a95718b3bcea580ae985bf50d944242857b) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "jg30cz03_2.b8", 0x000001, 0x010000, CRC(e883436c) SHA1(2425663a336284816a030de8d2b0765f47fed213) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokgldb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jg30cz04_1.b8", 0x000000, 0x010000, CRC(95bb355f) SHA1(74f245abb079c4a19422b56954a56702b40b2973) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "jg30cz04_2.b8", 0x000001, 0x010000, CRC(be6cf84b) SHA1(8b9c504c27654ef4f4cb5124ed53a6f3ebc6c389) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokgldc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jg75cz04_1.b8", 0x000000, 0x010000, CRC(a1ea77ba) SHA1(a71269117dfcee67117df54682fda3424ae555be) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "jg30cz04_2.b8", 0x000001, 0x010000, CRC(be6cf84b) SHA1(8b9c504c27654ef4f4cb5124ed53a6f3ebc6c389) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokgldd )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jg30cz04_1a.b8", 0x000000, 0x010000, CRC(00f6a5d4) SHA1(698d1dca3e70de515a7c4139dc3f8a98ec1a863a) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "jg30cz04_2a.b8", 0x000001, 0x010000, CRC(12daedf2) SHA1(6987660fdb63b8d56df14fc620de61cf29638d4a) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokglde )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jg75cz04_1a.b8", 0x000000, 0x010000, CRC(34a7e731) SHA1(c936ca22eaeb149c97dac0c21447ad00dca0cadd) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "jg30cz04_2a.b8", 0x000001, 0x010000, CRC(12daedf2) SHA1(6987660fdb63b8d56df14fc620de61cf29638d4a) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokgldf ) // check this set
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jgcz30_5_1.b8", 0x000000, 0x010000, CRC(3f34bda5) SHA1(a07291e0b657833cc0cbe49d0d9b6640bfdd6d60) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "jgcz_5_2.b8",   0x000001, 0x010000, CRC(11e59b70) SHA1(00c17ca4f0f6bb3312f19900401ea52688574986) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokgldg ) // check this set
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jgcz75_5_1.b8", 0x000000, 0x010000, CRC(0b65ff40) SHA1(2fe52d05a9869b124e5ada5051bfa90139808f85) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "jgcz_5_2.b8",   0x000001, 0x010000, CRC(11e59b70) SHA1(00c17ca4f0f6bb3312f19900401ea52688574986) )
	J5JOKGLD_SOUND
ROM_END

ROM_START( j5jokgldh ) // check this set
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "jg75cz05_1.b8", 0x000000, 0x010000, CRC(becdf295) SHA1(c80e547afdbf3f54835489e84a3f16dd8398cf47) )
	ROM_LOAD16_BYTE( "jgcz05_2.b8",   0x000001, 0x010000, CRC(9401c284) SHA1(eb4992fdfbc3266a0102769a24733fa26de828d9) )
	J5JOKGLD_SOUND
ROM_END






ROM_START( j5filth )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6575.bin", 0x000000, 0x010000, CRC(25143b59) SHA1(9203c13bd21f964ba868b2e094b166ee20d52041) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6576.bin", 0x000001, 0x010000, CRC(d0482a59) SHA1(5dff247f66d8f6bbdcebfafe5d754b7dd6fd6790) )
ROM_END

ROM_START( j5filtha )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6577.bin", 0x000000, 0x010000, CRC(d284190b) SHA1(53cf4e4191f7c3e35b3e2871c0434f2890aad6db) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6576.bin", 0x000001, 0x010000, CRC(d0482a59) SHA1(5dff247f66d8f6bbdcebfafe5d754b7dd6fd6790) )
ROM_END

ROM_START( j5filthb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6617.bin", 0x000000, 0x010000, CRC(114579bc) SHA1(33ec391c33abae3976dd2263b0b57b25185995d3) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "6576.bin", 0x000001, 0x010000, CRC(d0482a59) SHA1(5dff247f66d8f6bbdcebfafe5d754b7dd6fd6790) )
ROM_END


ROM_START( j5filthc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7174.bin", 0x000000, 0x010000, CRC(fff88f1d) SHA1(f0689b844b001b8ccca1199178ff412c0f15efa9) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "7175.bin", 0x000001, 0x010000, CRC(d0492efc) SHA1(ef6cc27031db93a64dafa1cf3ce3fe5836fee1c4) )
ROM_END

ROM_START( j5filthd )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7176.bin", 0x000000, 0x010000, CRC(0868ad4f) SHA1(2cc6dffd545a3f5a39d5d12b9f94423d18f64f80) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "7175.bin", 0x000001, 0x010000, CRC(d0492efc) SHA1(ef6cc27031db93a64dafa1cf3ce3fe5836fee1c4) )
ROM_END



ROM_START( j5filthe )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7396.bin", 0x000000, 0x010000, CRC(cba9cdf8) SHA1(ead3a5f5c4ff99b9c71e8521442ba0d6d2ca92d6) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "7175.bin", 0x000001, 0x010000, CRC(d0492efc) SHA1(ef6cc27031db93a64dafa1cf3ce3fe5836fee1c4) )
ROM_END


ROM_START( j5filthf )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7180.bin", 0x000000, 0x010000, CRC(8d7bddc7) SHA1(e2f3001e3e01fa1d0c8b3a9529f6cc0cf2902a4d) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "7181.bin", 0x000000, 0x010000, CRC(8e87eed4) SHA1(6776fe1b79a4607b7d848f6cfbbeac2aaf126a1b) )
ROM_END


ROM_START( j5filthg )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7182.bin", 0x000000, 0x010000, CRC(7aebff95) SHA1(bad1036590a566537c58a963a1e4f41a334a9481) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "7181.bin", 0x000000, 0x010000, CRC(8e87eed4) SHA1(6776fe1b79a4607b7d848f6cfbbeac2aaf126a1b) )
ROM_END


ROM_START( j5filthh )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7501.bin", 0x000000, 0x010000, CRC(a984e6e9) SHA1(47a6625e7944cf1579227d3f6da03f9f54bd80ef) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "7502.bin", 0x000000, 0x010000, CRC(31837e3d) SHA1(0ebd49a5dbc4fc7f8272d471b135f62d050d51c4) )
ROM_END


ROM_START( j5filthi )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7503.bin", 0x000000, 0x010000, CRC(5e14c4bb) SHA1(fd5570448cba167d7d6cdc41f132f72546d81458) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "7502.bin", 0x000000, 0x010000, CRC(31837e3d) SHA1(0ebd49a5dbc4fc7f8272d471b135f62d050d51c4) )
ROM_END

ROM_START( j5filthj )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7504.bin", 0x000000, 0x010000, CRC(9519a50c) SHA1(a5828f9b03eda74befe39b60fe8f82226b253d8b) )  // 0x81 = BF
	ROM_LOAD16_BYTE( "7502.bin", 0x000000, 0x010000, CRC(31837e3d) SHA1(0ebd49a5dbc4fc7f8272d471b135f62d050d51c4) )
ROM_END



ROM_START( j5firebl )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "4711.bin", 0x000000, 0x008000, CRC(578f1bfe) SHA1(8d6bd79cc50108c01d26f8a93e990a2d1a509cf1) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "4712.bin", 0x000001, 0x008000, CRC(2031c757) SHA1(98df775e55ad99e8ae6031085686574a8b4b633f) )
	ROM_LOAD16_BYTE( "4713.bin", 0x010000, 0x008000, CRC(c74a41e5) SHA1(67f004ba5d3885feb6451a25b961fdae0bcf132b) )
	ROM_LOAD16_BYTE( "4714.bin", 0x010001, 0x008000, CRC(bcee0397) SHA1(e5c463b7cda1871fef41c191f8de32de1c7a4655) )
ROM_END

ROM_START( j5firebla )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "4715.bin", 0x000000, 0x008000, CRC(645162df) SHA1(41cc845d74f5dab36c3cb53b62aa13799b8ad61f) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "4712.bin", 0x000001, 0x008000, CRC(2031c757) SHA1(98df775e55ad99e8ae6031085686574a8b4b633f) )
	ROM_LOAD16_BYTE( "4713.bin", 0x010000, 0x008000, CRC(c74a41e5) SHA1(67f004ba5d3885feb6451a25b961fdae0bcf132b) )
	ROM_LOAD16_BYTE( "4714.bin", 0x010001, 0x008000, CRC(bcee0397) SHA1(e5c463b7cda1871fef41c191f8de32de1c7a4655) )
ROM_END

ROM_START( j5fireblb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "4213.bin", 0x000000, 0x008000, CRC(12183516) SHA1(7f2485ad1e15655c45f74d0ea946a30cbf0d1969) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "4210.bin", 0x000001, 0x008000, CRC(112449c5) SHA1(bedbd7f53e4e198764919170dadc7308406cc4ea) )
	ROM_LOAD16_BYTE( "4211.bin", 0x010000, 0x008000, CRC(f1831095) SHA1(1143f863ce4259add3d08c5879053da369e8269f) )
	ROM_LOAD16_BYTE( "4212.bin", 0x010001, 0x008000, CRC(b5aff718) SHA1(cfc84d0bb7cad20c00242eb29f36af6467978036) )
ROM_END


ROM_START( j5frmag )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "frm1.bin", 0x000000, 0x008000, CRC(0c54ff1d) SHA1(68e08abdb61520189903071cfcd7d8677f7fdff2) )
	ROM_LOAD16_BYTE( "frm2.bin", 0x000001, 0x008000, CRC(eeb26fb2) SHA1(788b4bee08fef5b41fba73e1aaf38fd4b804ad4d) )
	ROM_LOAD16_BYTE( "frm3.bin", 0x010000, 0x008000, CRC(ae194067) SHA1(bc41e9533a74e2c83f0773efbd038b44a55a0bdf) )
	ROM_LOAD16_BYTE( "frm4.bin", 0x010001, 0x008000, CRC(9afb4ed9) SHA1(34ae4147d5c20274887beb694d823b8362f6d157) )
ROM_END



ROM_START( j5hagsho )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6440.bin", 0x000000, 0x010000, CRC(7cbed823) SHA1(e7361eda5545ae7a8d99bc9ca45737144f303e14) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6441.bin", 0x000001, 0x010000, CRC(84c12ded) SHA1(1e199a90214ae78f4e03ddc088ff7c2c19c259ed) )
ROM_END

ROM_START( j5hagshoa )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6442.bin", 0x000000, 0x010000, CRC(8b2efa71) SHA1(c377e53bee2d05e25f6abe5298e78422227d2e5b) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6441.bin", 0x000001, 0x010000, CRC(84c12ded) SHA1(1e199a90214ae78f4e03ddc088ff7c2c19c259ed) )
ROM_END

ROM_START( j5hagshob )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6443.bin", 0x000000, 0x010000, CRC(40239bc6) SHA1(c1793b8cb3ea38c03f9dadc033f39c97d0c9534c) ) // 0x81 = BF
	ROM_LOAD16_BYTE( "6441.bin", 0x000001, 0x010000, CRC(84c12ded) SHA1(1e199a90214ae78f4e03ddc088ff7c2c19c259ed) )
ROM_END

ROM_START( j5hagshoc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6444.bin", 0x000000, 0x010000, CRC(48ef9ac6) SHA1(d6970d1837a6b354ca3eed0ac43ce569214f4916) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "6441.bin", 0x000001, 0x010000, CRC(84c12ded) SHA1(1e199a90214ae78f4e03ddc088ff7c2c19c259ed) )
ROM_END



ROM_START( j5holly )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5042.bin", 0x000000, 0x008000, CRC(f3dfd249) SHA1(6db5e1d02e33b5bc8922c47e5f16438583c8b416) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "5043.bin", 0x000001, 0x008000, CRC(4109c681) SHA1(43736cbcd843104c08d97e20cdf4cc587fbd76ee) )
	ROM_LOAD16_BYTE( "5044.bin", 0x010000, 0x008000, CRC(867a94c5) SHA1(3f6a46b0c1cc1b796f26cfddd35a8ac206f39b38) )
	ROM_LOAD16_BYTE( "5045.bin", 0x010001, 0x008000, CRC(e280c98e) SHA1(a922cb1402a81366760490ee2724059081c3b5e5) )
ROM_END

ROM_START( j5hollya )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5046.bin", 0x000000, 0x008000, CRC(c001ab68) SHA1(2bda4c41334aa21893ec5517d8dd343ea3d111b7) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "5043.bin", 0x000001, 0x008000, CRC(4109c681) SHA1(43736cbcd843104c08d97e20cdf4cc587fbd76ee) )
	ROM_LOAD16_BYTE( "5044.bin", 0x010000, 0x008000, CRC(867a94c5) SHA1(3f6a46b0c1cc1b796f26cfddd35a8ac206f39b38) )
	ROM_LOAD16_BYTE( "5045.bin", 0x010001, 0x008000, CRC(e280c98e) SHA1(a922cb1402a81366760490ee2724059081c3b5e5) )
ROM_END

ROM_START( j5hollyb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5047.bin", 0x000000, 0x008000, CRC(9463200b) SHA1(69bf2d52f6a859334ff4a2615f0c165df26e0efa) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "5043.bin", 0x000001, 0x008000, CRC(4109c681) SHA1(43736cbcd843104c08d97e20cdf4cc587fbd76ee) )
	ROM_LOAD16_BYTE( "5044.bin", 0x010000, 0x008000, CRC(867a94c5) SHA1(3f6a46b0c1cc1b796f26cfddd35a8ac206f39b38) )
	ROM_LOAD16_BYTE( "5045.bin", 0x010001, 0x008000, CRC(e280c98e) SHA1(a922cb1402a81366760490ee2724059081c3b5e5) )
ROM_END

ROM_START( j5hollyc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5048.bin", 0x000000, 0x008000, CRC(a9a3b6a9) SHA1(93262c1284b7907dd3f13645882a036c981f8701) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "5049.bin", 0x000001, 0x008000, CRC(478da1d4) SHA1(2c9194b4db85de94674d3646564d15d52620be47) )
	ROM_LOAD16_BYTE( "5050.bin", 0x010000, 0x008000, CRC(ffc6c8d1) SHA1(5f2509f36aeed3e8635b2279be43b3b0a002876d) )
	ROM_LOAD16_BYTE( "5051.bin", 0x010001, 0x008000, CRC(adf88ef9) SHA1(cdb82e4b5f88116e3e7f9dda136426351c5450dd) )
ROM_END

ROM_START( j5hollyd )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5052.bin", 0x000000, 0x008000, CRC(9a7dcf88) SHA1(fdb8c50f2809eb8caee22167c9874e6c0afb5ece) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "5049.bin", 0x000001, 0x008000, CRC(478da1d4) SHA1(2c9194b4db85de94674d3646564d15d52620be47) )
	ROM_LOAD16_BYTE( "5050.bin", 0x010000, 0x008000, CRC(ffc6c8d1) SHA1(5f2509f36aeed3e8635b2279be43b3b0a002876d) )
	ROM_LOAD16_BYTE( "5051.bin", 0x010001, 0x008000, CRC(adf88ef9) SHA1(cdb82e4b5f88116e3e7f9dda136426351c5450dd) )
ROM_END

ROM_START( j5hollye )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "holly6p1", 0x000000, 0x008000, CRC(36d3e8f7) SHA1(3f641e09442b6048b0ce8c4f11a764cc6e292464) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "holly6p2", 0x000001, 0x008000, CRC(61ee2f90) SHA1(bfc021296408f7bf843653a55e0e9ca3860c274c) )
	ROM_LOAD16_BYTE( "holly6p3", 0x010000, 0x008000, CRC(291d0931) SHA1(b94a2b3db07d5cc9fe03368fd8d4e269f6d67802) )
	ROM_LOAD16_BYTE( "holly6p4", 0x010001, 0x008000, CRC(84ff7442) SHA1(0b047d68de98acb8632dcd8a243826dfabad8ecb) )
ROM_END

#define J5HOTDOG_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD16_BYTE( "hot_dogs_snd.bin", 0x000000, 0x040000, CRC(cd7eae1c) SHA1(48b6344491bf0f40e02fbdec5a26f546f2b8d7bb) ) \


ROM_START( j5hotdog )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "hdog5pp1", 0x000000, 0x010000, CRC(ef227a6b) SHA1(a7033faff1868cbafa41281c77d0ee0efd824529) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "hdog5pp2", 0x000001, 0x010000, CRC(65c5ce4b) SHA1(ed96803f7b49dbbb4c7949b574a38cc7b1e34536) )
	J5HOTDOG_SOUND
ROM_END

ROM_START( j5hotdoga )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "hdogp1", 0x000000, 0x010000, CRC(a510d294) SHA1(d7ccb54c91e844d81d1dacc8ffd38c03d8ab1be7) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "hdogp2", 0x000001, 0x010000, CRC(94b58a0f) SHA1(891db9e7a1944751da9aac55f7b3c1a3652bdecb) )
	J5HOTDOG_SOUND
ROM_END



ROM_START( j5indsum )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5668.bin", 0x000000, 0x008000, CRC(33acd940) SHA1(9002c3d451ed06052cae7ba9c71f55b84bff42ee) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "5669.bin", 0x000001, 0x008000, CRC(0bb56700) SHA1(0cf685ab43ca5d0e23af76e3c857dea8aa848454) )
	ROM_LOAD16_BYTE( "5670.bin", 0x010000, 0x008000, CRC(a4e883cd) SHA1(7bf847cc4a3323b501931e8ed0687aab33da817c) )
	ROM_LOAD16_BYTE( "5671.bin", 0x010001, 0x008000, CRC(858c6a2c) SHA1(491ce4390d416e4ade4ae6661be0524f3e71af6b) )
ROM_END


ROM_START( j5indy )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "indy04020.p1", 0x000000, 0x010000, CRC(52ca267c) SHA1(7cd90b536d974afd504620f12868c5efe83ef9dd) )
	ROM_LOAD16_BYTE( "indy04020.p2", 0x000001, 0x010000, CRC(d96e3937) SHA1(902bb6021f5e1fa7471bce9de207e4df5f071fc4) )

	ROM_REGION( 0x80000, "upd7759", 0 )
	ROM_LOAD( "indy04020.snd", 0x000000, 0x080000, CRC(0266d48e) SHA1(c16ebdc6f73a6c832f765b909ca5511eaf728897) )
ROM_END


ROM_START( j5intr )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5747.bin", 0x000000, 0x008000, CRC(7f4240c8) SHA1(066fc2c3393b2c863cacef2dec5aa1dc87f6e428) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "5748.bin", 0x000001, 0x008000, CRC(87349748) SHA1(6c432628a94fb50a7e09d90f6ba556cc68a56ab3) )
	ROM_LOAD16_BYTE( "5749.bin", 0x010000, 0x008000, CRC(335e7d65) SHA1(0a45bb4d9c60a57a9e0c70e4b5d3d3f82e8c19c0) )
	ROM_LOAD16_BYTE( "5750.bin", 0x010001, 0x008000, CRC(ee4b0133) SHA1(f1bdc038a7505dc1c88ec16f3bacbad63fe8e827) )
ROM_END

ROM_START( j5intra )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5751.bin", 0x000000, 0x008000, CRC(4c9c39e9) SHA1(8143eae028629f8dc05274fba46af92b5113c64f) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "5748.bin", 0x000001, 0x008000, CRC(87349748) SHA1(6c432628a94fb50a7e09d90f6ba556cc68a56ab3) )
	ROM_LOAD16_BYTE( "5749.bin", 0x010000, 0x008000, CRC(335e7d65) SHA1(0a45bb4d9c60a57a9e0c70e4b5d3d3f82e8c19c0) )
	ROM_LOAD16_BYTE( "5750.bin", 0x010001, 0x008000, CRC(ee4b0133) SHA1(f1bdc038a7505dc1c88ec16f3bacbad63fe8e827) )
ROM_END

ROM_START( j5intrb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6022.bin", 0x000000, 0x008000, CRC(59e710c8) SHA1(1a0c98f7a1553c5cda342b4d3c0da9a0a734a5e0) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6023.bin", 0x000001, 0x008000, CRC(17a0936e) SHA1(4aabbdfe4cf5d1ab75c3477e9f459cece56b936c) )
	ROM_LOAD16_BYTE( "6024.bin", 0x010000, 0x008000, CRC(4656900c) SHA1(83e0fc8fae8308e30a5c88ad9dfb9b376ce7da4c) )
	ROM_LOAD16_BYTE( "6025.bin", 0x010001, 0x008000, CRC(1f7c315a) SHA1(ef5e328e01011753ecaa6d62121ec960a759762d) )
ROM_END

ROM_START( j5intrc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6026.bin", 0x000000, 0x008000, CRC(6a3969e9) SHA1(7dc4203e40309af3edfb8f7a0f6533ae5f9c4f79) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6023.bin", 0x000001, 0x008000, CRC(17a0936e) SHA1(4aabbdfe4cf5d1ab75c3477e9f459cece56b936c) )
	ROM_LOAD16_BYTE( "6024.bin", 0x010000, 0x008000, CRC(4656900c) SHA1(83e0fc8fae8308e30a5c88ad9dfb9b376ce7da4c) )
	ROM_LOAD16_BYTE( "6025.bin", 0x010001, 0x008000, CRC(1f7c315a) SHA1(ef5e328e01011753ecaa6d62121ec960a759762d) )
ROM_END



ROM_START( j5nite )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "nite_club_3_1.bin", 0x000000, 0x008000, CRC(96f8f664) SHA1(d5e3cb27dc0ead15cef0200a6f14fdaa4e6d20f1) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "nite_club_3_2.bin", 0x000001, 0x008000, CRC(56db2aed) SHA1(245406aebe597a3996a9d9630bdaa006663f9ca2) )
	ROM_LOAD16_BYTE( "nite_club_3_3.bin", 0x010000, 0x008000, CRC(e4729a99) SHA1(bdc8f739215e7407a522f18b5699411af0e45ba8) )
	ROM_LOAD16_BYTE( "nite_club_3_4.bin", 0x010001, 0x008000, CRC(397b45f5) SHA1(65526eea629f02613d14b77aa430faccedfb119c) )
ROM_END

ROM_START( j5nitea )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "nite_club_8_1.bin",  0x000000, 0x008000, CRC(012c2384) SHA1(47254832e650bc73d0c01137ea9ade0bcf83660d) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "nite_club_8-2.bin",  0x000001, 0x008000, CRC(09fe54f5) SHA1(aa5770d5fbf84b30b9e43a1407c7c0a532163757) )
	ROM_LOAD16_BYTE( "nite_club_8_3.bin",  0x010000, 0x008000, CRC(08f23a8c) SHA1(dfee1f2734dab36932a3d7343ea24064cfffab50) )
	ROM_LOAD16_BYTE( "nite_club_8_4a.bin", 0x010001, 0x008000, CRC(01d4158a) SHA1(f3748adfe3fc7e5b427593a5380b67f85c821669) )
//  ROM_LOAD16_BYTE( "nite_club_8_4.bin", 0x000000, 0x008000, CRC(3a9de9f4) SHA1(7163a31aa2b9f8027199210885b47ad87d21a8c9) ) // clearly just a bad dump, random data missing, 2nd half partly mirrors first
ROM_END



ROM_START( j5palm )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "c90 4af9 5.1.bin", 0x000000, 0x008000, CRC(4992bcc0) SHA1(151c33f303f749d0e436e8ba1cbe197109cdd4e4) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "c90 3260 5.2.bin", 0x000001, 0x008000, CRC(9744686c) SHA1(79744d7b76de8d4c551de06d450af4e04e4ee5e3) )
	ROM_LOAD16_BYTE( "c90 6c77 5.3.bin", 0x010000, 0x008000, CRC(22629877) SHA1(a6542c0851de9c1f14e4e5f0ea6e9550c2b92294) )
	ROM_LOAD16_BYTE( "c90 2f70 5.4.bin", 0x010001, 0x008000, CRC(80da5d39) SHA1(f87742c68f0ea8aaece73da9e3130bf764cdd594) )
ROM_END


ROM_START( j5palma )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "palm_springs_5_1.bin", 0x000000, 0x008000, CRC(66be0f2f) SHA1(7cb5e4e32725210fb3418f4da4d784e261e38f9d) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "palm_springs_5_2.bin", 0x000001, 0x008000, CRC(6b2071fb) SHA1(dd84eb28e48af623f38ab8fb15fb2d01a2f83036) )
	ROM_LOAD16_BYTE( "palm_springs_5_3.bin", 0x010000, 0x008000, CRC(d71d4023) SHA1(e45038d26dc88eb5cd7ca6c0ad7979b9e49b0d0c) )
	ROM_LOAD16_BYTE( "palm_springs_5_4.bin", 0x010001, 0x008000, CRC(2d33a566) SHA1(a9a9b4d1ba96448634193c6ffd4a4dac3ef95d5e) )
ROM_END



ROM_START( j5phnx )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ph1300_8.b8", 0x000000, 0x010000, CRC(954301e3) SHA1(d71ab2c971e15dd1b5f1f64e02adb9f901365b09) )
	ROM_LOAD16_BYTE( "ph2300_8.b8", 0x000001, 0x010000, CRC(8dfd4471) SHA1(37931821acda79543b4a7e346a945180f801fb14) )
ROM_END

ROM_START( j5phnxa )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ph1750_10.b8", 0x000000, 0x010000, CRC(a2245a3e) SHA1(365808fabc815338594aa3f7adb6ab0ec86616ef) )
	ROM_LOAD16_BYTE( "ph2750_10.b8", 0x000001, 0x010000, CRC(a28e6c88) SHA1(e57e2e05a999cf900e0cf33b5ffb966789149e29) )
ROM_END




#define J5POPTH_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "poptreashuntsound.bin", 0x000000, 0x080000, CRC(c7c3c012) SHA1(b6d4bab77ccc4499906db655326be10d346f8e6f) ) \


ROM_START( j5popth )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6512.bin", 0x000000, 0x010000, CRC(06b8eb30) SHA1(110b303521061f771775dfde30b2ae781d804ef6) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6513.bin", 0x000001, 0x010000, CRC(69498fc1) SHA1(802e05963d2911927416aa59b33d1c92bdd4a805) )
	J5POPTH_SOUND
ROM_END

ROM_START( j5poptha )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6514.bin", 0x000000, 0x010000, CRC(f128c962) SHA1(be4f0ed54e4d22f7607997d3fccdc7a82881f4a4) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6513.bin", 0x000001, 0x010000, CRC(69498fc1) SHA1(802e05963d2911927416aa59b33d1c92bdd4a805) )
	J5POPTH_SOUND
ROM_END

ROM_START( j5popthb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6516.bin", 0x000000, 0x010000, CRC(32e9a9d5) SHA1(1d3f8e9e47a2cce02cc4c3d501168b25bd7c926a) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "6513.bin", 0x000001, 0x010000, CRC(69498fc1) SHA1(802e05963d2911927416aa59b33d1c92bdd4a805) )
	J5POPTH_SOUND
ROM_END





ROM_START( j5popprz )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6245.bin", 0x000000, 0x010000, CRC(9b84c464) SHA1(ce50010893db0318112d685f2e15c3dcdef2ac2a) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6246.bin", 0x000001, 0x010000, CRC(058a0c5c) SHA1(64d65a61e8d18ec9ccff4075980326040c8aa93f) )
ROM_END

ROM_START( j5popprza )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6247.bin", 0x000000, 0x010000, CRC(6c14e636) SHA1(29b40ad11cd701da2fc5dfb6a53e3154205afc35) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6246.bin", 0x000001, 0x010000, CRC(058a0c5c) SHA1(64d65a61e8d18ec9ccff4075980326040c8aa93f) )
ROM_END



ROM_START( j5reelgh )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "r1.bin", 0x000000, 0x008000, CRC(7a251cc8) SHA1(6185ec722406996c61beeb34afe76374d464c97e) )
	ROM_LOAD16_BYTE( "r2.bin", 0x000001, 0x008000, CRC(f45704ad) SHA1(808660554d0ce1b3e9508d0a697c8fd487734395) )
	ROM_LOAD16_BYTE( "r3.bin", 0x010000, 0x008000, CRC(1d1af956) SHA1(bcecdefd662e404d6ac080b808c2766793da0748) )
	ROM_LOAD16_BYTE( "r4.bin", 0x010001, 0x008000, CRC(43441e9b) SHA1(45badcdb344a4d9df647ee99fadcd7c674e19295) )
ROM_END



ROM_START( j5roul )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "roulet0p", 0x000000, 0x010000, CRC(70863011) SHA1(70b9e971cb5d24032e3ccd2c151c8466ded655c0) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "rouletp2", 0x000001, 0x010000, CRC(25142663) SHA1(a52cbf426ca0b6ee4462b3149d68a249ce3400ba) )
ROM_END



ROM_START( j5roulcl )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6618.bin", 0x000000, 0x010000, CRC(89d0db3a) SHA1(906aa9a5ccebe236c31470c8fd93ff5f4100c929) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6619.bin", 0x000001, 0x010000, CRC(cae616f6) SHA1(1b71823a601aa5b826b0f19d11f6a5d5ce86a549) )
ROM_END

ROM_START( j5roulcla )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6620.bin", 0x000000, 0x010000, CRC(7e40f968) SHA1(89a5d9dbaa855533810957cecc242db277ee6746) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6619.bin", 0x000001, 0x010000, CRC(cae616f6) SHA1(1b71823a601aa5b826b0f19d11f6a5d5ce86a549) )
ROM_END

ROM_START( j5roulclb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6707.bin", 0x000000, 0x010000, CRC(655ff016) SHA1(335f3b0d4a4ffba55450bbf6360f8bb5dff69691) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6708.bin", 0x000001, 0x010000, CRC(ca031aa6) SHA1(f7b6b7b04d04669f82afb13cb80c078f87ef1bbb) )
ROM_END

ROM_START( j5roulclc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6709.bin", 0x000000, 0x010000, CRC(92cfd244) SHA1(6dc55008293b7e26e56e38dfedb456251fd24e2f) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6708.bin", 0x000001, 0x010000, CRC(ca031aa6) SHA1(f7b6b7b04d04669f82afb13cb80c078f87ef1bbb) )
ROM_END


#define J5SLVREE_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "gstr_032003.bin", 0x000000, 0x080000, CRC(352e28cd) SHA1(c98307f5eaf511c9d281151d1c07ffd83f24244c) ) \

ROM_START( j5slvree )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "gstr_032001.bin", 0x000000, 0x010000, CRC(e84d6437) SHA1(565b625ddb0693cd59ca1b1e07cd25ff1cb5c8f6) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "gstr_032002.bin", 0x000001, 0x010000, CRC(e7db2018) SHA1(163fd4e58da0a224e7a93619621efa4390960bc2) )
	J5SLVREE_SOUND
ROM_END

ROM_START( j5slvreea )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "silver_133001.b8", 0x000000, 0x010000, CRC(dc1c26d2) SHA1(e6443f53fc3e075b2fa13ab159b55a05c7e52740) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "silver_133002.b8", 0x000001, 0x010000, CRC(e7db2018) SHA1(163fd4e58da0a224e7a93619621efa4390960bc2) )
	J5SLVREE_SOUND
ROM_END


#define J5SLVSTR_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "sssound.bin", 0x000000, 0x080000, CRC(d4d57f9f) SHA1(2ec38b62928d8c208880015b3a5e348e9b1c2079) ) \

ROM_START( j5slvstr )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ss30cz_02_1.b8", 0x000000, 0x010000, CRC(ea4efe3e) SHA1(3e41d5f614b386ae9d216d83d0fad080d475948d) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "ss30cz_02_2.b8", 0x000001, 0x010000, CRC(eca4b82b) SHA1(68595738290d037b820d52ccd87ef5b7cfa8de8b) )
	J5SLVSTR_SOUND
ROM_END

ROM_START( j5slvstra )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ss75cz_02_1.b8", 0x000000, 0x010000, CRC(de1fbcdb) SHA1(7e8197a9cb0d381513af84d9a55c27d9d26918b6) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "ss30cz_02_2.b8", 0x000001, 0x010000, CRC(eca4b82b) SHA1(68595738290d037b820d52ccd87ef5b7cfa8de8b) ) // (also named ss75cz_02_2.b8)
	J5SLVSTR_SOUND
ROM_END

ROM_START( j5slvstrb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "ss75cz3_1.b8", 0x000000, 0x010000, CRC(e95dbdbc) SHA1(cf0537bb332cd9ab4ce35f7c88e9d6d6e2743fa5) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "ss30cz3_2.b8", 0x000000, 0x010000, CRC(f27ee22d) SHA1(6d26f43ef9de86b92645e8b5c1b54e6572ea330b) )
	J5SLVSTR_SOUND
ROM_END



ROM_START( j5street )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "1.1.bin", 0x000000, 0x008000, CRC(175a551e) SHA1(5ede4a59756b4e9477a711c49097e236951a5d47) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "1.2.bin", 0x000001, 0x008000, CRC(e940b0cc) SHA1(f737ed8db6d6df7a594151796a7eba27a9eb83e6) )
	ROM_LOAD16_BYTE( "1.3.bin", 0x010000, 0x008000, CRC(4bcced10) SHA1(6fa5946f213333226f517ef86854a7bc1bfd09b0) )
	ROM_LOAD16_BYTE( "1.4.bin", 0x010001, 0x008000, CRC(8cc9ab31) SHA1(a7393201843c9b7bb1a08bded9da4ea74600fc49) )
ROM_END



ROM_START( j5sup4 ) // doesn't use byte 0x81 stuff
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "super4.71",  0x000000, 0x008000, CRC(88e50a99) SHA1(7b25a280c36732b02ee60b9348cf8bf39c19adc9) )
	ROM_LOAD16_BYTE( "super4.7a2", 0x000001, 0x008000, CRC(757127ab) SHA1(7efc56dbc147814dedcb4e246d4147cbc0d8b44b) )
ROM_END


ROM_START( j5supbar )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "super_bars_20p_4_1.bin", 0x000000, 0x008000, CRC(9833523c) SHA1(3fcb5e803cd03dfd4990c5ff94aec24ac74b2813) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "supbar42.bin", 0x000001, 0x008000, CRC(0282cfde) SHA1(34a2665bdcc744f04e8b122ff4e67534ddae7c53) )
	ROM_LOAD16_BYTE( "supbar43.bin", 0x010000, 0x008000, CRC(871679fb) SHA1(dbfb95f4730e960c12578e501f15918502820153) )
	ROM_LOAD16_BYTE( "supbar44.bin", 0x010001, 0x008000, CRC(5df4f731) SHA1(953b513e08c9e979a473463373a8bbf2aef0a521) )
ROM_END

ROM_START( j5supbara )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "supbar41.bin", 0x000000, 0x008000, CRC(574ab6b8) SHA1(dea3b19adc1c8e84d62517a636d75bead36ea07a) ) // 0x81 = FB
	ROM_LOAD16_BYTE( "supbar42.bin", 0x000001, 0x008000, CRC(0282cfde) SHA1(34a2665bdcc744f04e8b122ff4e67534ddae7c53) )
	ROM_LOAD16_BYTE( "supbar43.bin", 0x010000, 0x008000, CRC(871679fb) SHA1(dbfb95f4730e960c12578e501f15918502820153) )
	ROM_LOAD16_BYTE( "supbar44.bin", 0x010001, 0x008000, CRC(5df4f731) SHA1(953b513e08c9e979a473463373a8bbf2aef0a521) )
ROM_END



ROM_START( j5suphi )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "super_hi_lo_10p_p1.bin", 0x000000, 0x008000, CRC(f6d8f14b) SHA1(42a47937f34b2278ed3f867f6be47dff8dc1413d) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "super_hi_lo_10p_p2.bin", 0x000001, 0x008000, CRC(59504077) SHA1(1b9c23f745c8b8311d33bd0b4354889d36a89fa8) )
	ROM_LOAD16_BYTE( "super_hi_lo_10p_p3.bin", 0x010000, 0x008000, CRC(c445a984) SHA1(193023c274b5794e18b46e60bba7611355598b13) )
	ROM_LOAD16_BYTE( "super_hi_lo_10p_p4.bin", 0x010001, 0x008000, CRC(132ef2d4) SHA1(ca427b8210d0b329f8256e069167d536f7782738) )
ROM_END


#define J5POPEYE_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "popsnd.bin", 0x00000, 0x80000, CRC(67378dbc) SHA1(83f87e35bb2c73a788c0ed778b33f3710eb95406) ) \

ROM_START( j5popeye ) // also found in the set marked 'Super Popeye'
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7531.bin", 0x000000, 0x10000, CRC(a8d5394c) SHA1(5be0cd8bc4cdb230a839f83e1297bc57dde20d94) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "7532.bin", 0x000001, 0x10000, CRC(5537afc2) SHA1(3e90fef908b80939c781a85a2ac9783de62d4122) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyea )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7533.bin", 0x000000, 0x010000, CRC(5f451b1e) SHA1(779c542fe745b1aa46e300ef327de2c08e3cb847) ) // 0x81 = FE (alt 7531.bin)
	ROM_LOAD16_BYTE( "7532.bin", 0x000001, 0x010000, CRC(5537afc2) SHA1(3e90fef908b80939c781a85a2ac9783de62d4122) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyeb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "popeye_8_quid_p1.bin", 0x000000, 0x010000, CRC(75e4be54) SHA1(83482a26baa7b7c7c64076f46b7656da1fb60aad) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "popeye_8_quid_p2.bin", 0x000001, 0x010000, CRC(e0b5aeba) SHA1(b99ef045f0d13ae5f885a44129fe3c7bd1ac951d) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyec )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "popi8ac",              0x000000, 0x010000, CRC(41b5fcb1) SHA1(73222359f3b98ca8ebcf734b95d55d6a8b0856a5) ) // 0x81 = FD (alt popeye_8_quid_p1.bin)
	ROM_LOAD16_BYTE( "popeye_8_quid_p2.bin", 0x000001, 0x010000, CRC(e0b5aeba) SHA1(b99ef045f0d13ae5f885a44129fe3c7bd1ac951d) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyed )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "popeye_6_a.bin", 0x000000, 0x010000, CRC(b312fa04) SHA1(e1ad46e668b71b652aa162db0f7cb832874d925c) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "popeye_6_b.bin", 0x000001, 0x010000, CRC(54a3f1d0) SHA1(63858bb56bb9127936bb2dbf889f7d8996532d9c) ) // BF<->FF unexpected 1 byte change vs popeye 6 3-2.bin @ EE28 (is one bad?)
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyee )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6287.bin",         0x000000, 0x010000, CRC(8743b8e1) SHA1(964e5d535b588ac2c24d374226a8335775c803f5) ) // 0x81 = FD (popeye_6_a.bin)
	ROM_LOAD16_BYTE( "popeye 6 3-2.bin", 0x000001, 0x010000, CRC(2858ea40) SHA1(36f33eba7cab61ea218baa17bc6540271da1632e) ) // BF<->FF unexpected 1 byte change vs popeye_6_b.bin @ EE28 (is one bad?)
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyef )	// this is very similar to the popeye(sys5)-p1.bin / popeye(sys5)-p2.bin combo, but with some extra (unused?) code?
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "popeye(sys5)-p1.bin", 0x000000, 0x010000, CRC(9396cf7b) SHA1(d4309869edd811e6cc108f90566a9313ef101636) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "popeye(sys5)-p2.bin", 0x000001, 0x010000, CRC(d9dc2cb6) SHA1(d2bf7a924a08c41a2cfc5caa32a4df0773f3a64a) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyeg ) // set marked 'Super Popeye'
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "s popeye 4a1.bin", 0x000000, 0x010000, CRC(e1a87bdc) SHA1(62a8c7480125b6ffa749e01b9ec822b6a6b53c0e) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "s popeye 4a2.bin", 0x000001, 0x010000, CRC(972d4ca2) SHA1(07a5a471e7db9ebcae3d72391ec870b83931b6cb) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyeh ) // set marked 'Super Popeye'
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "super_popeye_4_80_p1.bin", 0x000000, 0x010000, CRC(c494993b) SHA1(759e36e136a3dd16e8095c4ca3c781afbddce8db) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "super_popeye_4_80_p2.bin", 0x000001, 0x010000, CRC(b5abc01c) SHA1(2e16e932e1c3fce2bbf873aa35c0efc542492067) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5popeyei ) // set marked 'Super Popeye'
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "supo-5_1.bin", 0x000000, 0x010000, CRC(3c2da995) SHA1(3e850d1e3db98c89863a328c637f0648a24bf92f) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "supo-5_2.bin", 0x000001, 0x010000, CRC(0e9e136f) SHA1(70c2f984db79030758545b42da378719ec48ed68) )
	J5POPEYE_SOUND
ROM_END

ROM_START( j5swop )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "swop_a_fruit_test_1_1.bin", 0x000000, 0x008000, CRC(f488d5d1) SHA1(220853ae63d9a822d30836b5aacd7d7db805cb16) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "swop_a_fruit_test_1_2.bin", 0x000001, 0x008000, CRC(36b7b460) SHA1(fc1fa688c58f490d399d9bca7108f811c20c726f) )
	ROM_LOAD16_BYTE( "swop_a_fruit_test_1_3.bin", 0x010000, 0x008000, CRC(f8321c28) SHA1(91efabaeadb8667cc4f1644c1f714f87b20a83ba) )
	ROM_LOAD16_BYTE( "swop_a_fruit_test_1_4.bin", 0x010001, 0x008000, CRC(b96c90ec) SHA1(ce03a93b5372e20ee038dae3c23845b56ed9e37c) )
ROM_END


ROM_START( j5term )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "terminator_3_1.bin", 0x000000, 0x008000, CRC(fabf49d6) SHA1(189af4cc5272a7a7d2666b119b1c48b1f83c9873) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "terminator_3_2.bin", 0x000001, 0x008000, CRC(59bf400e) SHA1(3e487c67aa5bc9a52029a79606680af9602010dd) )
	ROM_LOAD16_BYTE( "terminator_3_3.bin", 0x010000, 0x008000, CRC(1a2fc873) SHA1(9f70af0929e059341b338165698ca6e75aba51a7) )
	ROM_LOAD16_BYTE( "terminator_3_4.bin", 0x010001, 0x008000, CRC(9f6e25ff) SHA1(c1dd2d7ad644a285cfbc6e30f9ccb25f4dbc2f08) )
ROM_END


ROM_START( j5topshp )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "tots_3_1.bin", 0x000000, 0x008000, CRC(882f1249) SHA1(4bf16267ba9c6229607323fa72e3755f3ab9618a) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "tots_3_2.bin", 0x000001, 0x008000, CRC(19022be3) SHA1(0e92a7aa75850a35028333e307a628931eea4a09) )
	ROM_LOAD16_BYTE( "tots_3_3.bin", 0x010000, 0x008000, CRC(26088a7d) SHA1(85e51de92ca60baca554c9ecd847d73734b5cac1) )
	ROM_LOAD16_BYTE( "tots_3_4.bin", 0x010001, 0x008000, CRC(30f05078) SHA1(5f1da4c88e6bdeafea96d95eccfc7708ec5fd9ad) )
ROM_END


ROM_START( j5trail )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6435.bin", 0x000000, 0x008000, CRC(e6331620) SHA1(27941aa4df54eacd258800c1198aeed63efe007d) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "6436.bin", 0x000001, 0x008000, CRC(df8898e8) SHA1(07261a2c40b48ff62201b44ddf19f338220f3c21) )
	ROM_LOAD16_BYTE( "6437.bin", 0x010000, 0x008000, CRC(77bd6f6c) SHA1(739f655676b00c5ef0dc55bb20f8dd736f33b37d) )
	ROM_LOAD16_BYTE( "6438.bin", 0x010001, 0x008000, CRC(87868413) SHA1(ad74733b915dbd5d8ebb6e8fe90d05501b993d50) )
ROM_END


ROM_START( j5traila )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6439.bin", 0x000000, 0x008000, CRC(d5ed6f01) SHA1(3afebe75a7cf3480140bc39a789e80d7d8c9c11d) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "6436.bin", 0x000001, 0x008000, CRC(df8898e8) SHA1(07261a2c40b48ff62201b44ddf19f338220f3c21) )
	ROM_LOAD16_BYTE( "6437.bin", 0x010000, 0x008000, CRC(77bd6f6c) SHA1(739f655676b00c5ef0dc55bb20f8dd736f33b37d) )
	ROM_LOAD16_BYTE( "6438.bin", 0x010001, 0x008000, CRC(87868413) SHA1(ad74733b915dbd5d8ebb6e8fe90d05501b993d50) )
ROM_END

ROM_START( j5trailb ) // if this is really a trailblazer set it's missing all the other roms, the only 68k rom present doesn't fit with the others
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "trailblazer_1_1.bin", 0x000000, 0x008000, CRC(df527554) SHA1(71f0d0e0bf9326cd51bf8d067dda99f0020622da) ) //  // 0x81 = FF (mismatched 68k rom)
	ROM_LOAD16_BYTE( "trailblazer_1_2.bin", 0x000001, 0x008000, NO_DUMP )
	ROM_LOAD16_BYTE( "trailblazer_1_3.bin", 0x010000, 0x008000, NO_DUMP )
	ROM_LOAD16_BYTE( "trailblazer_1_4.bin", 0x010001, 0x008000, NO_DUMP )
ROM_END



ROM_START( j5td ) // doesn't use byte 0x81 stuff (byte 0x40 of tupd1 instead?)
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "tudp1.bin", 0x000000, 0x008000, CRC(48fbf7cd) SHA1(a5b2b4eae1d24f9f8683a783795e3a26f5a32386) )
	ROM_LOAD16_BYTE( "tudp2.bin", 0x000001, 0x008000, CRC(f41d583a) SHA1(d60f70648a98a0066bcdf115cbd8d45230fd3af9) )
ROM_END


#define J5UJ_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "unjasnd.bin", 0x000000, 0x040000, CRC(e538212a) SHA1(873a7e32041cb831784634306b13934d7aa697dc) )

ROM_START( j5uj )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "union_jackpot_4g1.bin", 0x000000, 0x010000, CRC(e2fa3cb7) SHA1(05be9c397c7645838c0df4f0cf69a9f38a5cbcdb) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "union_jackpot_4g2.bin", 0x000001, 0x010000, CRC(0e87e5fe) SHA1(20f8d04a2fc34e67a7cc1f82fb531286caf7d42c) )
	J5UJ_SOUND
ROM_END

ROM_START( j5uja )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "union_jackpot_1.bin", 0x000000, 0x010000, CRC(f813f15a) SHA1(9a40073a20f9824a2767e67666c76d527e91b9c1) ) // 0x81 = BF
	ROM_LOAD16_BYTE( "union_jackpot_2.bin", 0x000001, 0x010000, CRC(e0daeaa9) SHA1(5212bb9ac3485f7029bbed781f51e0388792c3f1) )
	J5UJ_SOUND
ROM_END

ROM_START( j5ujb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "unja3.1.bin", 0x000000, 0x010000, CRC(a58ba24f) SHA1(a6b59d9cdf43f6341b47fa972176641756c2f6be) ) // 0x81 = BF
	ROM_LOAD16_BYTE( "unja3.2.bin", 0x000001, 0x010000, CRC(d124daba) SHA1(c9aa5a9fb6b751d281eb4b5c05ad9c0f4b726a68) )
	J5UJ_SOUND
ROM_END




ROM_START( j5wsc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "wall_street_5_1.bin", 0x000000, 0x008000, CRC(31533aba) SHA1(3067bfc80430f3f3f7b29300cafec1691726a310) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "wall_street_5_2.bin", 0x000001, 0x008000, CRC(d28fbdd3) SHA1(037e4013bd0f1250c097751f8023e1c89ea49dba) )
	ROM_LOAD16_BYTE( "wall_street_5_3.bin", 0x010000, 0x008000, CRC(a56580da) SHA1(3bc4389bd12cae68757fefb520ea730cd507c2c0) )
	ROM_LOAD16_BYTE( "wall_street_5_4.bin", 0x010001, 0x008000, CRC(34fd8e5f) SHA1(bc61fd07355b087fc354ab71cdfd4a8539b43403) )
ROM_END

ROM_START( j5wsca )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "wstrtp1", 0x000000, 0x008000, CRC(491af07c) SHA1(b0f7e75ef68ec17b29ab9e4b9816a29046a8c372) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "wstrtp2", 0x000001, 0x008000, CRC(102d7817) SHA1(0ff093f63f80fd7e26f44e9079bb9a424e364190) )
	ROM_LOAD16_BYTE( "wstrtp3", 0x010000, 0x008000, CRC(7963c0ad) SHA1(e80fb3f5c082ed8e130cd329657fa6ac0019b1ce) )
	ROM_LOAD16_BYTE( "wstrtp4", 0x010001, 0x008000, CRC(5a6a81be) SHA1(83cd7471d47541f07691918a208a65353d13298c) )
ROM_END



#define J5HAGAR_SOUND \
	ROM_REGION( 0x80000, "upd7759", 0 ) \
	ROM_LOAD( "6186.bin", 0x0000, 0x080000, CRC(3bdb52c8) SHA1(0b83890609fad4f2641844d9bd5504996ad2cc10) ) \

ROM_START( j5hagar )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "hagar_6_a.bin", 0x000000, 0x010000, CRC(f461d173) SHA1(1b991cef0e1480cf1ee390f9d1da521660263501) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "hagar_6_b.bin", 0x000001, 0x010000, CRC(bcb26e64) SHA1(17a4e53caa16263444cfe87b35c675da90736292) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagara )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6367.bin",      0x000000, 0x010000, CRC(03f1f321) SHA1(02ed908115814d5b50cc6d3edfb396d8c2af25a3) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "hagar_6_b.bin", 0x000001, 0x010000, CRC(bcb26e64) SHA1(17a4e53caa16263444cfe87b35c675da90736292) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagarb )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "6369.bin",      0x000000, 0x010000, CRC(c0309396) SHA1(e4ac2c60953546c0b6e5ef150fb08d245cb6516f) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "hagar_6_b.bin", 0x000001, 0x010000, CRC(bcb26e64) SHA1(17a4e53caa16263444cfe87b35c675da90736292) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagarc )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "hagar_20p_6_quid_cash_p1.bin", 0x000000, 0x010000, CRC(c8fc9296) SHA1(c973ab18173ec0c33959b803347193e08ab53565) ) // 0x81 = BF
	ROM_LOAD16_BYTE( "hagar_6_b.bin",                0x000001, 0x010000, CRC(bcb26e64) SHA1(17a4e53caa16263444cfe87b35c675da90736292) )

	J5HAGAR_SOUND
ROM_END


ROM_START( j5hagard )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7234.bin", 0x000000, 0x010000, CRC(4cc9edf4) SHA1(4febb4aef68c4c2f171b3410ca4eb253466e1a78) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "7235.bin", 0x000001, 0x010000, CRC(df5513c8) SHA1(e052b08a0690dcb12f8a18eca7a9ccd2b8528d70) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagare )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7236.bin", 0x000000, 0x010000, CRC(bb59cfa6) SHA1(1489c092e5b624fa8dc1737e13e88a9f11dd167c) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "7235.bin", 0x000001, 0x010000, CRC(df5513c8) SHA1(e052b08a0690dcb12f8a18eca7a9ccd2b8528d70) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagarf )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7237.bin", 0x000000, 0x010000, CRC(7054ae11) SHA1(9a020ef4a5656bfd1962e67c726cb26d2b8c691b) ) // 0x81 = BF
	ROM_LOAD16_BYTE( "7235.bin", 0x000001, 0x010000, CRC(df5513c8) SHA1(e052b08a0690dcb12f8a18eca7a9ccd2b8528d70) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagarg )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7397.bin", 0x000000, 0x010000, CRC(7898af11) SHA1(203abc70aa2a580fda4986ff6d344c5323df75b1) ) // 0x81 = FD
	ROM_LOAD16_BYTE( "7235.bin", 0x000001, 0x010000, CRC(df5513c8) SHA1(e052b08a0690dcb12f8a18eca7a9ccd2b8528d70) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagarh )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7702.bin", 0x000000, 0x010000, CRC(cc38904e) SHA1(e9125170e064d7a957fa282943f540c928896a8f) ) // 0x81 = FF
	ROM_LOAD16_BYTE( "7703.bin", 0x000001, 0x010000, CRC(8f987d72) SHA1(68cdf7beb1fa7d5a1a60311762a346f2ef513c85) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5hagari )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "7704.bin", 0x000000, 0x010000, CRC(3ba8b21c) SHA1(9de8b49662735c9f2392aa3983e3fe741c24666a) ) // 0x81 = FE
	ROM_LOAD16_BYTE( "7703.bin", 0x000001, 0x010000, CRC(8f987d72) SHA1(68cdf7beb1fa7d5a1a60311762a346f2ef513c85) )

	J5HAGAR_SOUND
ROM_END


ROM_START( j5hagarj ) // 9 bytes total difference from the 7702/7703 pairing, bad? hacked?
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "hagar_1.bin", 0x000000, 0x010000, CRC(f80ab58e) SHA1(f22b11d3d9c5f9bd908df900ba1a2b04bde93fe9) )
	ROM_LOAD16_BYTE( "hagar_2.bin", 0x000001, 0x010000, CRC(fe9cf2af) SHA1(adf4abda87d2b6c2e0c9c2d481d69d01cceae509) )

	J5HAGAR_SOUND
ROM_END

ROM_START( j5tstal )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "5834.bin", 0x000000, 0x008000, CRC(57c71966) SHA1(5cc84943aaad9c38dcdd9ae0535cecfd24ad5215) )
	ROM_LOAD16_BYTE( "5835.bin", 0x000001, 0x008000, CRC(4c8c07c9) SHA1(7a4bbee98551e4ecd6045239a2828d26d9768e19) )
ROM_END


ROM_START( j5tst1 )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "4065.bin", 0x000000, 0x008000, CRC(a2adb912) SHA1(9d2846b54ed2fdfca25a615ce7b96201fa36cb5a) )
	ROM_LOAD16_BYTE( "4066.bin", 0x000001, 0x008000, CRC(c8f2808c) SHA1(9922fff235f972e2e3e58305abf76e41a41275f2) )
	ROM_LOAD16_BYTE( "4067.bin", 0x010000, 0x008000, CRC(e19dc859) SHA1(62d75e48be960e0e4006378cb9db6fc305c7eae9) )
	ROM_LOAD16_BYTE( "4068.bin", 0x010001, 0x008000, CRC(60a3af9b) SHA1(02fc1db698833726e3de26671ef5bdc74aa1f749) )
ROM_END

ROM_START( j5tst2 )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "4519.bin", 0x000000, 0x008000, CRC(c3ecc4f2) SHA1(013368b0196c8aa4b10a4a365601be409dc81e0c) )
	ROM_LOAD16_BYTE( "4520.bin", 0x000001, 0x008000, CRC(8de74e00) SHA1(0a410eea23429876bfdba36c7a511d17b8b469e0) )
ROM_END


ROM_START( j5movie )
	ROM_REGION( 0x300000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "mm1.bin", 0x0000, 0x010000, CRC(3f2e67e0) SHA1(153ceee8054077d6983e7476e295a9e148fb63b0) )
	ROM_LOAD16_BYTE( "mm2.bin", 0x0000, 0x010000, CRC(051a157f) SHA1(c07bc77a5ee9b41f6e4976af8bab147fe6c16920) )

	ROM_REGION( 0x80000, "upd7759", 0 )
	ROM_LOAD( "mmsnd.bin", 0x0000, 0x040000, CRC(87ca1d90) SHA1(e94826ec6a3f8aa5955965af56f50ddfa087dc72) )
ROM_END

ROM_START( j5nudfic )
	ROM_REGION( 0x1000000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "nudge_fiction_alt_p1.bin", 0x0000, 0x010000, CRC(4ffc3d35) SHA1(50cce1719f1354798feb4a4fad184234d29a5f20) )
	ROM_LOAD16_BYTE( "nudge_fiction_alt_p2.bin", 0x0001, 0x010000, CRC(c9854c0b) SHA1(7aee21ee2de5ddd74a99fc6dc176912eac6a8dd6) )
ROM_END

ROM_START( j5revo )
	ROM_REGION( 0x1000000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "revolver_5p_p1.bin", 0x00000, 0x010000, CRC(306274fd) SHA1(a43fc1d4d454e75d11bc1e1823cebc013523124c) )
	ROM_LOAD16_BYTE( "revolver_5p_p2.bin", 0x00001, 0x010000, CRC(cb6feb77) SHA1(2e4be15366d94d01585232ce60e89e46fbad1bf0) )
ROM_END

ROM_START( j5revoa )
	ROM_REGION( 0x1000000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "revolver_v1_p1.bin", 0x00000, 0x010000, CRC(f7b819cf) SHA1(dd08972dd6c51505adec44f1bc56195315594900) )
	ROM_LOAD16_BYTE( "revolver_v1_p2.bin", 0x00001, 0x010000, CRC(dabb1dfc) SHA1(94153fabd5fd2c2546e8b54bcc43131ebd886ed4) )
ROM_END



ROM_START( j5sizl )
	ROM_REGION( 0x1000000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "sizzling_s_1a1.bin", 0x00000, 0x008000, CRC(f28a0167) SHA1(ef09b24e65583e1cd6502afd244958bf567e6e4c) )
	ROM_LOAD16_BYTE( "sizzling_s_1a2.bin", 0x00001, 0x008000, CRC(336f380f) SHA1(f7c8aa1afaeb4dc49f02bcff21667f9065955dcd) )
	ROM_LOAD16_BYTE( "sizzling_s_1a3.bin", 0x10000, 0x008000, CRC(efbb7a18) SHA1(dcaf966b9383542addafe4d6c86bd9e57b48f623) )
	ROM_LOAD16_BYTE( "sizzling_s_1a4.bin", 0x10001, 0x008000, CRC(acb7c535) SHA1(78a1fbc05f26be1cb85ed4a75d0fe91f86776557) )
ROM_END

ROM_START( j5hilos )
	ROM_REGION( 0x1000000, "maincpu", 0 )
	ROM_LOAD16_BYTE( "hihosilver1.1.bin", 0x00000, 0x008000, CRC(e8b5532d) SHA1(45a62028649cde884f313cfabadee994e13f1ea3) )
	ROM_LOAD16_BYTE( "hihosilver1.2.bin", 0x00001, 0x008000, CRC(8cffe4ac) SHA1(c81ea16fca08f6f2daa8ff629a0f53e7a641c792) )
	ROM_LOAD16_BYTE( "hihosilver1.3.bin", 0x10000, 0x008000, CRC(ea18c31f) SHA1(a6ac9e2e70cb156e453821723f3eed23b4ade3c4) )
	ROM_LOAD16_BYTE( "hihosilver1.4.bin", 0x10001, 0x008000, NO_DUMP ) // seems to be missing
ROM_END





/* Video based titles */
GAME( 1994, monopoly	, 0			, jpmsys5v, monopoly, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 1)",         0 )
GAME( 1994, monopolya	, monopoly	, jpmsys5v, monopoly, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 2)",         0 )
GAME( 1995, monoplcl	, monopoly	, jpmsys5v, monopoly, 0, ROT0, "JPM", "Monopoly Classic (Jpm) (SYSTEM5 VIDEO)", 0 )
GAME( 1995, monopldx	, 0			, jpmsys5v, monopoly, 0, ROT0, "JPM", "Monopoly Deluxe (Jpm) (SYSTEM5 VIDEO)",  0 )
GAME( 199?, cashcade	, 0			, jpmsys5v, monopoly, 0, ROT0, "JPM", "Cashcade (Jpm) (SYSTEM5 VIDEO)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND ) // shows a loading error.. is the set incomplete?

/* Non-Video */
GAME( 199?, j5tstal		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "JPM System 5 Alpha Display Test Utility (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5tst1		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5tst2		, j5tst1	, jpmsys5, popeye, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )

GAME( 199?, j5fifth		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "5th Avenue (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND ) // This was also listed as by 'Crystal'.  There was Crystal ROM in the set, but it wasn't an JPM SYS5 rom...
GAME( 199?, j5ar80a		, j5ar80	, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80b		, j5ar80	, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80c		, j5ar80	, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80d		, j5ar80	, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80cl	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80cla	, j5ar80cl	, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80clb	, j5ar80cl	, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ar80clc	, j5ar80cl	, jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5buc		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Buccaneer (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5cir		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5cira		, j5cir		, jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5cirb		, j5cir		, jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5circ		, j5cir		, jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5cird		, j5cir		, jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5clbnud	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5clbnuda	, j5clbnud	, jpmsys5, popeye, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5daytn		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5daytna	, j5daytn	, jpmsys5, popeye, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5daycls	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5dayclsa	, j5daycls	, jpmsys5, popeye, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5dirty		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5dirtya	, j5dirty	, jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5dirtyb	, j5dirty	, jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5dirtyc	, j5dirty	, jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairgd	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND ) // or just 'Fairground' ?
GAME( 199?, j5fairgda	, j5fairgd	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairgdb	, j5fairgd	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairgdc	, j5fairgd	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairgdd	, j5fairgd	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairgde	, j5fairgd	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 6)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fair		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5faira		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairb		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairc		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5faird		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5faire		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 6)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairf		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 7)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairg		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 8)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairh		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 9)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairi		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 10)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairj		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 11)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairk		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 12)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairl		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 13)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairm		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 14)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairn		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 15)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairo		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 16)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairp		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 17)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fairq		, j5fair	, jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 18)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filth		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filtha	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthb	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthc	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthd	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthe	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 6)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthf	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 7)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthg	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 8)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthh	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 9)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthi	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 10)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5filthj	, j5filth	, jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 11)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5firebl	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5firebla	, j5firebl	, jpmsys5, popeye, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5fireblb	, j5firebl	, jpmsys5, popeye, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5frmag		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Fruit Magic (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5goldbr	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Golden Bars (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagar		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagara	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagarb	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagarc	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagard	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagare	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 6)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagarf	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 7)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagarg	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 8)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagarh	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 9)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagari	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 10)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagarj	, j5hagar	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 11)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagsho	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagshoa	, j5hagsho	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagshob	, j5hagsho	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hagshoc	, j5hagsho	, jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5holly		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hollya	, j5holly	, jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hollyb	, j5holly	, jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hollyc	, j5holly	, jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hollyd	, j5holly	, jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hollye	, j5holly	, jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hotdog	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hotdoga	, j5hotdog	, jpmsys5, popeye, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5indsum	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Indian Summer (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5indy		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Indy 500 (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5intr		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5intra		, j5intr	, jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5intrb		, j5intr	, jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5intrc		, j5intr	, jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokgld	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokglda	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokgldb	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokgldc	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokgldd	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokglde	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 6)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokgldf	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 7)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokgldg	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 8)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5jokgldh	, j5jokgld	, jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 9)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5nite		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5nitea		, j5nite	, jpmsys5, popeye, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5palm		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5palma		, j5palm	, jpmsys5, popeye, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5phnx		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5phnxa		, j5phnx	, jpmsys5, popeye, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeye	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND ) // (20p/8 GBP Token) ?
GAME( 199?, j5popeyea	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyeb	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyec	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyed	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyee	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 6)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyef	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 7)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyeg	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 8)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyeh	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 9)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popeyei	, j5popeye	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 10)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popth		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5poptha	, j5popth	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popthb	, j5popth	, jpmsys5, popeye, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popprz	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5popprza	, j5popprz	, jpmsys5, popeye, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5reelgh	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Reel Ghost (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5roul		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Roulette (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5roulcl	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5roulcla	, j5roulcl	, jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5roulclb	, j5roulcl	, jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5roulclc	, j5roulcl	, jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 4)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5slvree	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5slvreea	, j5slvree	, jpmsys5, popeye, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5slvstr	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5slvstra	, j5slvstr	, jpmsys5, popeye, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5slvstrb	, j5slvstr	, jpmsys5, popeye, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5street	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Streetwise (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5sup4		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Super 4 (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5supbar	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5supbara	, j5supbar	, jpmsys5, popeye, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5suphi		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Super Hi Lo (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5swop		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Swop A Fruit Club (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5term		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Terminator (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5topshp	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Top Of The Shop Club (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5trail		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5traila	, j5trail	, jpmsys5, popeye, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5trailb	, j5trail	, jpmsys5, popeye, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5td		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Tumbling Dice (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5uj		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5uja		, j5uj		, jpmsys5, popeye, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5ujb		, j5uj		, jpmsys5, popeye, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5wsc		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5wsca		, j5wsc		, jpmsys5, popeye, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )

GAME( 199?, j5movie		, 0			, jpmsys5, popeye, 0, ROT0, "Crystal", "Movie Magic Club (Crystal) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND ) // apparently by Crystal

GAME( 199?, j5nudfic	, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Nudge Fiction (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5revo		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 1)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5revoa		, j5revo	, jpmsys5, popeye, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 2)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5sizl		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Sizzling (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )
GAME( 199?, j5hilos		, 0			, jpmsys5, popeye, 0, ROT0, "JPM", "Hi Lo Silver (Jpm) (SYSTEM5)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND )











