
/***************************************************************************
    M.A.M.E. Neo Geo driver presented to you by the Shin Emu Keikaku team.

    The following people have all spent probably far too much time on this:

    AVDB
    Bryan McPhail
    Fuzz
    Ernesto Corvi
    Andrew Prime

    Neogeo Motherboard (info - courtesy of Guru)
    --------------------------------------------

    PCB Layout (single slot, older version)

    NEO-MVH MV1
    |---------------------------------------------------------------------|
    |       4558                                                          |
    |                                          HC04  HC32                 |
    |                      SP-S2.SP1  NEO-E0   000-L0.L0   LS244  AS04    |
    |             YM2610                                                  |
    | 4558                                                                |
    |       4558                        5814  HC259   SFIX.SFIX           |
    |                                                             NEO-I0  |
    | HA13001 YM3016                    5814                              |
    --|                                                                   |
      |     4558                                                          |
    --|                                                 SM1.SM1   LS32    |
    |                                                                     |
    |                           LSPC-A0         PRO-C0            LS244   |
    |                                                                     |
    |J              68000                                                 |
    |A                                                                    |
    |M                                                                    |
    |M                                                      NEO-ZMC2      |
    |A                                                                    |
    |   LS273  NEO-G0                          58256  58256     Z80A      |
    |                           58256  58256   58256  58256     6116      |
    |   LS273 5864                                                        |
    --| LS05  5864  PRO-B0                                                |
      |                                                                   |
    --|             LS06   HC32           D4990A    NEO-F0   24.000MHz    |
    |                      DSW1    BATT3.6V 32.768kHz       NEO-D0        |
    |                                           2003  2003                |
    |---------------------------------------------------------------------|

    Notes:
          68k clock: 12.000MHz
          Z80 clock: 4.000MHz
       YM2610 clock: 8.000MHz
              VSync: 60Hz
              HSync: 15.21kHz

             Custom SNK chips
             ----------------
             NEO-G0: QFP64
             NEO-E0: QFP64
             PRO-B0: QFP136
            LSPC-A0: QFP160
             PRO-C0: QFP136
             NEO-F0: QFP64
             NEO-D0: QFP64
           NEO-ZMC2: QFP80
             NEO-I0: QFP64

             ROMs        Type
             ----------------------------
             SP-S2.SP1   TC531024 (DIP40)
             000-L0.L0   TC531000 (DIP28)
             SFIX.SFIX   D27C1000 (DIP32)
             SM1.SM1     MB832001 (DIP32)

    ------------------------------------------------------

=============================================================================

Points to note, known and proven information deleted from this map:

    0x3000001       Dipswitches
                bit 0 : Selftest
                bit 1 : Unknown (Unused ?) \ something to do with
                bit 2 : Unknown (Unused ?) / auto repeating keys ?
                bit 3 : \
                bit 4 :  | communication setting ?
                bit 5 : /
                bit 6 : free play
                bit 7 : stop mode ?

    0x320001        bit 0 : COIN 1
                bit 1 : COIN 2
                bit 2 : SERVICE
                bit 3 : UNKNOWN
                bit 4 : UNKNOWN
                bit 5 : UNKNOWN
                bit 6 : 4990 test pulse bit.
                bit 7 : 4990 data bit.

    0x380051        4990 control write register
                bit 0: C0
                bit 1: C1
                bit 2: C2
                bit 3-7: unused.

                0x02 = shift.
                0x00 = register hold.
                0x04 = ????.
                0x03 = time read (reset register).

    0x3c000c        IRQ acknowledge

    0x380011        Backup bank select

    0x3a0001        Enable display.
    0x3a0011        Disable display

    0x3a0003        Swap in Bios (0x80 bytes vector table of BIOS)
    0x3a0013        Swap in Rom  (0x80 bytes vector table of ROM bank)

    0x3a000d        lock backup ram
    0x3a001d        unlock backup ram

    0x3a000b        set game vector table (?)  mirror ?
    0x3a001b        set bios vector table (?)  mirror ?

    0x3a000c        Unknown (ghost pilots)
    0x31001c        Unknown (ghost pilots)

    IO word read

    0x3c0002        return vidram word (pointed to by 0x3c0000)
    0x3c0006        ?????.
    0x3c0008        shadow adress for 0x3c0000 (not confirmed).
    0x3c000a        shadow adress for 0x3c0002 (confirmed, see
                               Puzzle de Pon).
    IO word write

    0x3c0006        Unknown, set vblank counter (?)

    0x3c0008        shadow address for 0x3c0000 (not confirmed)
    0x3c000a        shadow address for 0x3c0002 (not confirmed)

    The Neo Geo contains an NEC 4990 Serial I/O calendar & clock.
    accesed through 0x320001, 0x380050, 0x280050 (shadow adress).
    A schematic for this device can be found on the NEC webpages.

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

/*

--------------------------------------------------------------------------------

   Driver Notes / Known Problems

   Fatal Fury 3 crashes during the ending
    -- this doesn't occur if the language is set to Japanese, maybe the english endings
       are incomplete / buggy?

   Graphical Glitches caused by incorrect timing?
    -- Blazing Star glitches during the tunnel sequence
    -- Ninja Combat sometimes glitches
    -- Some raster effects are imperfect (off by a couple of lines)

--------------------------------------------------------------------------------

    *NON* bugs

    Bad zooming in the Kof2003 bootlegs
     -- this is what happens if you try and use the normal bios with a pcb set, it
        looks like the bootleggers didn't care.

    Glitches at the edges of the screen
     -- the real hardware can display 320x240 but most of the games seem designed
        to work with a width of 304, some less.

    Distorted jumping sound in Nightmare in the Dark
     -- Confirmed on real hardware

--------------------------------------------------------------------------------

    Not Implemented

    Multi Cart support
     -- the MVS can take up to 6 carts depending on the board being used.

 --------------------------------------------------------------------------------

*/

#include "driver.h"
#include "vidhrdw/generic.h"
#include "machine/pd4990a.h"
#include "cpu/z80/z80.h"
#include "neogeo.h"
#include "state.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>


/* values probed by Razoola from the real board */
#define RASTER_LINES 264
#define RASTER_COUNTER_START 0x1f0	/* value assumed right after vblank */
#define RASTER_COUNTER_RELOAD 0x0f8	/* value assumed after 0x1ff */
#define RASTER_LINE_RELOAD (0x200 - RASTER_COUNTER_START)

#define SCANLINE_ADJUST 3	/* in theory should be 0, give or take an off-by-one mistake */

/****
 These are the known Bios Roms, Uncomment the one you want to use
 ****/

struct neogeo_bios_info neogeo_bios[NEOGEO_BIOS_MAX] = {
	{ "sp-s2.sp1",    0x9036d879, "Europe MVS (Ver. 2)" }, /* has also been found on a 4 Slot (the old hacks were designed for this one) */
	{ "sp-s.sp1",     0xc7f2fa45, "Europe MVS (Ver. 1)" },
	{ "usa_2slt.bin", 0xe72943de, "US MVS (Ver. 2?)" },
	{ "sp-e.sp1",     0x2723a5b5, "US MVS (Ver. 1)" }, /* (V5?) */
	{ "asia-s3.rom",  0x91b64be3, "Asia MVS (Ver. 3)" },
	{ "vs-bios.rom",  0xf0e8f27d, "Japan MVS (Ver. 3)" },
	{ "sp-j2.rom",    0xacede59c, "Japan MVS (Ver. 2)" },
	{ "sp1.jipan.1024",0x9fb0abe4,"Japan MVS (Ver. 1)" },
	{ "uni-bios.10",  0x0ce453a0, "Universe Bios v1.0" },
	{ "uni-bios.11",  0x5dda0d84, "Universe Bios v1.1" }, /* hack */
	{ "uni-bios.12",  0x4fa698e9, "Universe Bios v1.2" }, /* hack */
	{ "uni-bios.13",  0xb24b44a0, "Universe Bios v1.3" }, /* hack */
	{ "uni-bios.20",  0x0c12c2ad, "Universe Bios v2.0" }, /* hack */
	{ "uni-bios.21",  0x8dabf76b, "Universe Bios v2.1" }, /* hack */
	{ "uni-bios.22",  0x2d50996a, "Universe Bios v2.2" }, /* hack */
	{ "neodebug.rom", 0x698ebb7d, "Debug (Development)" },
	{ "aes-bios.bin", 0xd27a71f1, "Asia AES" },
	{ "neo-po.bin",   0x16d0c132, "Japan AES" }
};
/* we only have one irritating maze bios and thats asia */
#define IRRMAZE_BIOS_NAME "236-bios.bin"
#define IRRMAZE_BIOS_CRC 0x853e6b96

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

unsigned int neogeo_frame_counter;
unsigned int neogeo_frame_counter_speed=4;

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

static int irq2start=1000,irq2control;
static int current_rastercounter,current_rasterline,scanline_read;
static UINT32 irq2pos_value;
static int vblank_int,scanline_int;

/*	flags for irq2control:

	0x07 unused? kof94 sets some random combination of these at the character
		 selection screen but only because it does andi.w #$ff2f, $3c0006. It
		 clears them immediately after.

	0x08 shocktro2, stops autoanim counter

	Maybe 0x07 writes to the autoanim counter, meaning that in conjunction with
	0x08 one could fine control it. However, if that was the case, writing the
	the IRQ2 control bits would interfere with autoanimation, so I'm probably
	wrong.

	0x10 irq2 enable, tile engine scanline irq that is triggered
	when a certain scanline is reached.

	0x20 when set, the next values written in the irq position register
	sets irq2 to happen N lines after the current one

	0x40 when set, irq position register is automatically loaded at vblank to
	set the irq2 line.

	0x80 when set, every time irq2 is triggered the irq position register is
	automatically loaded to set the next irq2 line.

	0x80 and 0x40 may be set at the same time (Viewpoint does this).
*/

#define IRQ2CTRL_AUTOANIM_STOP		0x08
#define IRQ2CTRL_ENABLE				0x10
#define IRQ2CTRL_LOAD_RELATIVE		0x20
#define IRQ2CTRL_AUTOLOAD_VBLANK	0x40
#define IRQ2CTRL_AUTOLOAD_REPEAT	0x80

static void update_interrupts(void)
{
	int level = 0;

	/* determine which interrupt is active */
	if (vblank_int) level = 1;
	if (scanline_int) level = 2;

	/* either set or clear the appropriate lines */
	if (level)
		cpu_set_irq_line(0, level, ASSERT_LINE);
	else
		cpu_set_irq_line(0, 7, CLEAR_LINE);
}

static WRITE16_HANDLER( neo_irqack_w )
{
	if (ACCESSING_LSB)
	{
		if (data & 4) vblank_int = 0;
		if (data & 2) scanline_int = 0;
		update_interrupts();
	}
}


static int fc = 0;

static INTERRUPT_GEN( neogeo_interrupt )
{
	int line = RASTER_LINES - cpu_getiloops();

	current_rasterline = line;

	{
		int l = line;

		if (l == RASTER_LINES) l = 0;	/* vblank */
		if (l < RASTER_LINE_RELOAD)
			current_rastercounter = RASTER_COUNTER_START + l;
		else
			current_rastercounter = RASTER_COUNTER_RELOAD + l - RASTER_LINE_RELOAD;
	}

	if (line == RASTER_LINES)	/* vblank */
	{
		current_rasterline = 0;

		/* Add a timer tick to the pd4990a */
		pd4990a_addretrace();

		/* Animation counter */
		if (!(irq2control & IRQ2CTRL_AUTOANIM_STOP))
		{
			if (fc++>neogeo_frame_counter_speed)
			{
				fc=0;
				neogeo_frame_counter++;
			}
		}

		if (irq2control & IRQ2CTRL_ENABLE)
			usrintf_showmessage("IRQ2 enabled, need raster driver");
		/* return a standard vblank interrupt */
		vblank_int = 1;	   /* vertical blank */
	}

	update_interrupts();
}


static int neogeo_raster_enable = 1;

static void raster_interrupt(int busy)
{
	int line = RASTER_LINES - cpu_getiloops();
	int do_refresh = 0;

	current_rasterline = line;

	{
		int l = line;

		if (l == RASTER_LINES) l = 0;	/* vblank */
		if (l < RASTER_LINE_RELOAD)
			current_rastercounter = RASTER_COUNTER_START + l;
		else
			current_rastercounter = RASTER_COUNTER_RELOAD + l - RASTER_LINE_RELOAD;
	}

	if (busy)
	{
		if (neogeo_raster_enable && scanline_read)
		{
			do_refresh = 1;
//logerror("partial refresh at raster line %d (raster counter %03x)\n",line,current_rastercounter);
			scanline_read = 0;
		}
	}

	if (irq2control & IRQ2CTRL_ENABLE)
	{
		if (line == irq2start)
		{
//logerror("trigger IRQ2 at raster line %d (raster counter %d)\n",line,current_rastercounter);
			if (!busy)
			{
				if (neogeo_raster_enable)
					do_refresh = 1;
			}

			if (irq2control & IRQ2CTRL_AUTOLOAD_REPEAT)
				irq2start += (irq2pos_value + 3) / 0x180;	/* ridhero gives 0x17d */

			scanline_int = 1;
		}
	}

	if (line == RASTER_LINES)	/* vblank */
	{
		current_rasterline = 0;

		if (keyboard_pressed_memory(KEYCODE_F1))
		{
			neogeo_raster_enable ^= 1;
#if JAPANESE // FOXMAME32JK
			usrintf_showmessage("ラスタエフェクト %s",neogeo_raster_enable ? "有効" : "無効");
#else
			usrintf_showmessage("raster effects %sabled",neogeo_raster_enable ? "en" : "dis");
#endif
		}

		if (irq2control & IRQ2CTRL_AUTOLOAD_VBLANK)
			irq2start = (irq2pos_value + 3) / 0x180;	/* ridhero gives 0x17d */
		else
			irq2start = 1000;


		/* Add a timer tick to the pd4990a */
		pd4990a_addretrace();

		/* Animation counter */
		if (!(irq2control & IRQ2CTRL_AUTOANIM_STOP))
		{
			if (fc++>neogeo_frame_counter_speed)
			{
				fc=0;
				neogeo_frame_counter++;
			}
		}

		/* return a standard vblank interrupt */
//logerror("trigger IRQ1\n");
		vblank_int = 1;	   /* vertical blank */
	}

	if (do_refresh)
	{
		if (line > RASTER_LINE_RELOAD)	/* avoid unnecessary updates after start of vblank */
			force_partial_update((current_rastercounter - 256) - 1 + SCANLINE_ADJUST);
	}

	update_interrupts();
}

static INTERRUPT_GEN( neogeo_raster_interrupt )
{
	raster_interrupt(0);
}

static INTERRUPT_GEN( neogeo_raster_interrupt_busy )
{
	raster_interrupt(1);
}



static int pending_command;
static int result_code;

/* Calendar, coins + Z80 communication */
static READ16_HANDLER( timer16_r )
{
	data16_t res;
	int coinflip = pd4990a_testbit_r(0);
	int databit = pd4990a_databit_r(0);

//	logerror("CPU %04x - Read timer\n",activecpu_get_pc());

	res = (readinputport(4) & ~(readinputport(5) & 0x20)) ^ (coinflip << 6) ^ (databit << 7);

	if (Machine->sample_rate)
	{
		res |= result_code << 8;
		if (pending_command) res &= 0x7fff;
	}
	else
		res |= 0x0100;

	return res;
}

static WRITE16_HANDLER( neo_z80_w )
{
	if (ACCESSING_LSB && (strcmp(Machine->gamedrv->name,"tpgolf")))
		return;

	soundlatch_w(0,(data>>8)&0xff);
	pending_command = 1;
	cpu_set_irq_line(1, IRQ_LINE_NMI, PULSE_LINE);
	/* spin for a while to let the Z80 read the command (fixes hanging sound in pspikes2) */
	cpu_spinuntil_time(TIME_IN_USEC(10));
}

static int mjneogo_select;

static WRITE16_HANDLER( mjneogeo_w )
{
	mjneogo_select = data;
}

static READ16_HANDLER( mjneogeo_r )
{
	data16_t res;

/*
cpu #0 (PC=00C18B9A): unmapped memory word write to 00380000 = 0012 & 00FF
cpu #0 (PC=00C18BB6): unmapped memory word write to 00380000 = 001B & 00FF
cpu #0 (PC=00C18D54): unmapped memory word write to 00380000 = 0024 & 00FF
cpu #0 (PC=00C18D6C): unmapped memory word write to 00380000 = 0009 & 00FF
cpu #0 (PC=00C18C40): unmapped memory word write to 00380000 = 0000 & 00FF
*/
	res = 0;

	switch (mjneogo_select)
	{
		case 0x00:
		res = 0; // nothing?
		break;
		case 0x09:
		res = (readinputport(7) << 8); // a,b,c,d,e,g ....
		break;
		case 0x12:
		res = (readinputport(8) << 8); // h,i,j,k,l ...
		break;
		case 0x1b:
		res = (readinputport(0) << 8); // player 1 normal inputs?
		break;
		case 0x24:
		res = (readinputport(9) << 8); // call etc.
		break;
		default:
		break;
	}

	return res + readinputport(3);
}

int neogeo_has_trackball;
static int ts;

static WRITE16_HANDLER( trackball_select_16_w )
{
	ts = data & 1;
}

static READ16_HANDLER( controller1_16_r )
{
	data16_t res;

	if (neogeo_has_trackball)
		res = (readinputport(ts?7:0) << 8) + readinputport(3);
	else
		res = (readinputport(0) << 8) + readinputport(3);

	return res;
}
static READ16_HANDLER( controller2_16_r )
{
	data16_t res;

	res = (readinputport(1) << 8);

	return res;
}
static READ16_HANDLER( controller3_16_r )
{
	if (memcard_status==0)
		return (readinputport(2) << 8);
	else
		return ((readinputport(2) << 8)&0x8FFF);
}
static READ16_HANDLER( controller4_16_r )
{
	return (readinputport(6) & ~(readinputport(5) & 0x40));
}

static READ16_HANDLER( popbounc1_16_r )
{
	UINT16 res;

	res = (readinputport(ts?0:7) << 8) + readinputport(3);

	return res;
}

static READ16_HANDLER( popbounc2_16_r )
{
	UINT16 res;

	res = (readinputport(ts?1:8) << 8);

	return res;
}

static WRITE16_HANDLER( neo_bankswitch_w )
{
	int bankaddress;

	if (memory_region_length(REGION_CPU1) <= 0x100000)
	{
logerror("warning: bankswitch to %02x but no banks available\n",data);
		return;
	}

	data = data&0x7;
	bankaddress = (data+1)*0x100000;
	if (bankaddress >= memory_region_length(REGION_CPU1))
	{
logerror("PC %06x: warning: bankswitch to empty bank %02x\n",activecpu_get_pc(),data);
		bankaddress = 0x100000;
	}

	neogeo_set_cpu1_second_bank(bankaddress);
}



/* TODO: Figure out how this really works! */
static READ16_HANDLER( neo_control_16_r )
{
	int res;

	/*
		The format of this very important location is:	AAAA AAAA A??? BCCC

		A is the raster line counter. mosyougi relies solely on this to do the
		  raster effects on the title screen; sdodgeb loops waiting for the top
		  bit to be 1; zedblade heavily depends on it to work correctly (it
		  checks the top bit in the IRQ2 handler).
		B is definitely a PAL/NTSC flag. Evidence:
		  1) trally changes the position of the speed indicator depending on
			 it (0 = lower 1 = higher).
		  2) samsho3 sets a variable to 60 when the bit is 0 and 50 when it's 1.
			 This is obviously the video refresh rate in Hz.
		  3) samsho3 sets another variable to 256 or 307. This could be the total
			 screen height (including vblank), or close to that.
		  Some games (e.g. lstbld2, samsho3) do this (or similar):
		  bclr	  #$0, $3c000e.l
		  when the bit is set, so 3c000e (whose function is unknown) has to be
		  related
		C is a variable speed counter. In blazstar, it controls the background
		  speed in level 2.
	*/

	scanline_read = 1;	/* needed for raster_busy optimization */

	res =	((current_rastercounter << 7) & 0xff80) |	/* raster counter */
			(neogeo_frame_counter & 0x0007);			/* frame counter */

	logerror("PC %06x: neo_control_16_r (%04x)\n",activecpu_get_pc(),res);

	return res;
}


/* this does much more than this, but I'm not sure exactly what */
WRITE16_HANDLER( neo_control_16_w )
{
	logerror("%06x: neo_control_16_w %04x\n",activecpu_get_pc(),data);

	/* Auto-Anim Speed Control */
	neogeo_frame_counter_speed = (data >> 8) & 0xff;

	irq2control = data & 0xff;
}

static WRITE16_HANDLER( neo_irq2pos_16_w )
{
	logerror("%06x: neo_irq2pos_16_w offset %d %04x\n",activecpu_get_pc(),offset,data);

	if (offset)
		irq2pos_value = (irq2pos_value & 0xffff0000) | (UINT32)data;
	else
		irq2pos_value = (irq2pos_value & 0x0000ffff) | ((UINT32)data << 16);

	if (irq2control & IRQ2CTRL_LOAD_RELATIVE)
	{
//		int line = (irq2pos_value + 3) / 0x180;	/* ridhero gives 0x17d */
		int line = (irq2pos_value + 0x3b) / 0x180;	/* turfmast goes as low as 0x145 */

		irq2start = current_rasterline + line;

		logerror("irq2start = %d, current_rasterline = %d, current_rastercounter = %d\n",irq2start,current_rasterline,current_rastercounter);
	}
}



static READ16_HANDLER ( neogeo_video_r )
{

	/* 8-bit reads of the low byte do NOT return the correct value on real hardware */
	/* they actually seem to return 0xcf in tests, but kof2002 requires 0xff for the
	   'how to play' screen to work correctly */
	data16_t retdata=0xffff;

	if (!ACCESSING_MSB)
	{
		return 0xff;
	}

	offset &=0x3;

	switch (offset<<1)
	{
		case 0: retdata=neogeo_vidram16_data_r(0,mem_mask);break;
		case 2: retdata=neogeo_vidram16_data_r(0,mem_mask);break;
		case 4:	retdata=neogeo_vidram16_modulo_r(0,mem_mask);break;
		case 6:	retdata=neo_control_16_r(0,mem_mask);break;
	}

	return retdata;
}

static WRITE16_HANDLER( neogeo_video_w )
{
	offset &=0x7;

	switch (offset<<1)
	{
		case 0x0:neogeo_vidram16_offset_w(0,data,mem_mask); break;
		case 0x2:neogeo_vidram16_data_w(0,data,mem_mask); break;
		case 0x4:neogeo_vidram16_modulo_w(0,data,mem_mask); break;
		case 0x6:neo_control_16_w(0,data,mem_mask); break;
		case 0x8:neo_irq2pos_16_w(0,data,mem_mask); break;
		case 0xa:neo_irq2pos_16_w(1,data,mem_mask); break;
		case 0xc:neo_irqack_w(0,data,mem_mask); break;
		case 0xe:break; /* Unknown, see control_r */
	}
}

static WRITE16_HANDLER(neogeo_syscontrol_w)
{
	offset &=0x7f;

	switch (offset<<1)
	{
		case 0x00: trackball_select_16_w(0,data,mem_mask);break;

		case 0x30: break; // LEDs (latch)
		case 0x40: break; // LEDs (send)


		case 0x50: pd4990a_control_16_w(0,data,mem_mask);break;
		case 0x60: break; // coin counters
		case 0x62: break; // coin counters
		case 0x64: break; // coin lockout
		case 0x66: break;// coun lockout

		case 0xd0: pd4990a_control_16_w(0,data,mem_mask);break;

		case 0xe0: break;// coin counters
		case 0xe2: break;// coin counters
		case 0xe4: break;// coin lockout
		case 0xe6: break;// coun lockout

		default: /* put warning message here */ break;
	}
}

static WRITE16_HANDLER( neogeo_syscontrol2_w )
{
	offset &=0xf;

	switch (offset<<1)
	{
		/* BIOS Select */
		case 0x00: break;
		case 0x02: neogeo_select_bios_vectors(0,data,mem_mask); break;
		case 0x04: break;
		case 0x06: break;
		case 0x08: break;
		case 0x0a: neo_board_fix_16_w(0,data,mem_mask);break;
		case 0x0c: neogeo_sram16_lock_w(0,data,mem_mask);break;
		case 0x0e:neogeo_setpalbank1_16_w(0,data,mem_mask);break;
		/*GAME Select */
		case 0x10: break;
		case 0x12: neogeo_select_game_vectors(0,data,mem_mask);break;
		case 0x14: break;
		case 0x16: break;
		case 0x18: break;
		case 0x1a: neo_game_fix_16_w(0,data,mem_mask);break;
		case 0x1c: neogeo_sram16_unlock_w(0,data,mem_mask);break;
		case 0x1e: neogeo_setpalbank0_16_w(0,data,mem_mask);break;
	}
}

static READ16_HANDLER(controller1and4_16_r)
{
	UINT16 retvalue=0;

	switch ((offset<<1)&0x80)
	{
		case 0x00: retvalue = controller1_16_r(0,mem_mask);break;
		case 0x80: retvalue = controller4_16_r(0,mem_mask);break;
	}

	return retvalue;
}

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

/*
Games check for the text '-SNK STG SYSTEM-' at 0xc20010
if they find it they jump to a subroutine at 0xc200b8.
For and example of this see routine at 0xb013c in kof2002
*/


/* NeoGeo Memory Map (not finished) *

0x000000   0x0fffff   r/o        Rom Bank 1

0x100000   0x1fffff   r/w        Work Ram (0xffff in size, mirrored 16 times)

0x200000   0x2fffff   r/o        Rom Bank 2
0x200000   0x2fffef   w/o        Protection etc. on some games
0x2ffff0   0x2fffff   w/o        Banking registers

0x3c0000   0x3dffff   r/w        Video Access

0x400000   0x7fffff   r/w        Palette (0x1fff in size, mirrored)

0x800000   0x800fff   r/w        Mem Card (mirrored?)

0xc00000   0xcfffff   r/o        BIOS rom (mirrored 8 times)

0xd00000   0xdfffff   r/w        SRAM

*/



static MEMORY_READ16_START( neogeo_readmem )
	{ 0x000000, 0x0fffff, MRA16_ROM },			/* Rom bank 1 */
	{ 0x100000, 0x10ffff, MRA16_BANK1 },		/* Ram bank 1 */
	{ 0x200000, 0x2fffff, MRA16_BANK4 },		/* Rom bank 2 */
#if 0
	{ 0x300000, 0x300001, controller1_16_r },
	{ 0x300080, 0x300081, controller4_16_r },	/* Test switch in here */
	{ 0x320000, 0x320001, timer16_r },			/* Coins, Calendar, Z80 communication */
	{ 0x340000, 0x340001, controller2_16_r },
	{ 0x380000, 0x380001, controller3_16_r },
#else
	{ 0x300000, 0x31ffff, controller1and4_16_r },/* Inputs */
	{ 0x320000, 0x33ffff, timer16_r },			/* Coins, Calendar, Z80 communication */
	{ 0x340000, 0x35ffff, controller2_16_r },	/* Inputs */
	{ 0x380000, 0x39ffff, controller3_16_r },	/* Inputs */
#endif
	{ 0x3c0000, 0x3dffff, neogeo_video_r }, 	/* Video Hardware */
#if 0
	{ 0x400000, 0x401fff, neogeo_paletteram16_r },/* Palette */
	{ 0x6a0000, 0x6a1fff, MRA16_RAM },
#else
	{ 0x400000, 0x7fffff, neogeo_paletteram16_r },/* Palette */
#endif
	{ 0x800000, 0x800fff, neogeo_memcard16_r }, /* memory card */
	{ 0xc00000, 0xc1ffff, MRA16_BANK3 },		/* system bios rom */
	{ 0xd00000, 0xd0ffff, neogeo_sram16_r },	/* 64k battery backed SRAM */
MEMORY_END

static MEMORY_WRITE16_START( neogeo_writemem )
	{ 0x000000, 0x0fffff, MWA16_ROM },	 		 	/* ghost pilots writes to ROM */
	{ 0x100000, 0x10ffff, MWA16_BANK1 },			// WORK RAM
	/* Some games have protection devices in the 0x200000 region, it appears to map to cart space, not surprising, the rom is read here too */
	{ 0x2ffff0, 0x2fffff, neo_bankswitch_w },		/* Bankswitch for standard games */
#if 0
	{ 0x300000, 0x300001, watchdog_reset16_w },
	{ 0x320000, 0x320001, neo_z80_w },				/* Sound CPU */
	{ 0x380000, 0x39ffff, neogeo_syscontrol_w },	/* Used by bios, unknown */
	{ 0x3a0000, 0x3affff, neogeo_syscontrol2_w},	/* BIOS / Game select etc. */
	{ 0x3c0000, 0x3dffff, neogeo_video_w },
	{ 0x400000, 0x401fff, neogeo_paletteram16_w },	// COLOR RAM BANK1
	{ 0x6a0000, 0x6a1fff, MWA16_RAM },				// COLOR RAM BANK0 (used only in startup tests?)
#else
	{ 0x300000, 0x31ffff, watchdog_reset16_w },		/* Watchdog, NOTE, odd addresses only! */
	{ 0x320000, 0x33ffff, neo_z80_w },				/* Sound CPU  EVEN BYTES only!*/
	{ 0x380000, 0x39ffff, neogeo_syscontrol_w },	/* Coin Counters, LEDs, Clock etc. */
	{ 0x3a0000, 0x3affff, neogeo_syscontrol2_w },	/* BIOS / Game select etc. */
	{ 0x3c0000, 0x3dffff, neogeo_video_w },			/* Video Hardware */
	{ 0x400000, 0x4fffff, neogeo_paletteram16_w },	/* Palettes */
#endif
	{ 0x800000, 0x800fff, neogeo_memcard16_w }, 	/* mem card */
	{ 0xd00000, 0xd0ffff, neogeo_sram16_w, &neogeo_sram16 },	/* 64k battery backed SRAM */
MEMORY_END

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

static MEMORY_READ_START( sound_readmem )
	{ 0x0000, 0x7fff, MRA_ROM },
	{ 0x8000, 0xbfff, MRA_BANK5 },
	{ 0xc000, 0xdfff, MRA_BANK6 },
	{ 0xe000, 0xefff, MRA_BANK7 },
	{ 0xf000, 0xf7ff, MRA_BANK8 },
	{ 0xf800, 0xffff, MRA_RAM },
MEMORY_END

static MEMORY_WRITE_START( sound_writemem )
	{ 0x0000, 0xf7ff, MWA_ROM },
	{ 0xf800, 0xffff, MWA_RAM },
MEMORY_END

static UINT32 bank[4] = {
	0x08000,
	0x0c000,
	0x0e000,
	0x0f000
};


static READ_HANDLER( z80_port_r )
{
#if 0
{
	char buf[80];
	sprintf(buf,"%05x %05x %05x %05x",bank[0],bank[1],bank[2],bank[3]);
	usrintf_showmessage(buf);
}
#endif

	switch (offset & 0xff)
	{
	case 0x00:
		pending_command = 0;
		return soundlatch_r(0);
		break;

	case 0x04:
		return YM2610_status_port_0_A_r(0);
		break;

	case 0x05:
		return YM2610_read_port_0_r(0);
		break;

	case 0x06:
		return YM2610_status_port_0_B_r(0);
		break;

	case 0x08:
		{
			UINT8 *mem08 = memory_region(REGION_CPU2);
			bank[3] = 0x0800 * ((offset >> 8) & 0x7f) + 0x10000;
			cpu_setbank(8,&mem08[bank[3]]);
			return 0;
			break;
		}

	case 0x09:
		{
			UINT8 *mem08 = memory_region(REGION_CPU2);
			bank[2] = 0x1000 * ((offset >> 8) & 0x3f) + 0x10000;
			cpu_setbank(7,&mem08[bank[2]]);
			return 0;
			break;
		}

	case 0x0a:
		{
			UINT8 *mem08 = memory_region(REGION_CPU2);
			bank[1] = 0x2000 * ((offset >> 8) & 0x1f) + 0x10000;
			cpu_setbank(6,&mem08[bank[1]]);
			return 0;
			break;
		}

	case 0x0b:
		{
			UINT8 *mem08 = memory_region(REGION_CPU2);
			bank[0] = 0x4000 * ((offset >> 8) & 0x0f) + 0x10000;
			cpu_setbank(5,&mem08[bank[0]]);
			return 0;
			break;
		}

	default:
logerror("CPU #1 PC %04x: read unmapped port %02x\n",activecpu_get_pc(),offset&0xff);
		return 0;
		break;
	}
}

static WRITE_HANDLER( z80_port_w )
{
	switch (offset & 0xff)
	{
	case 0x04:
		YM2610_control_port_0_A_w(0,data);
		break;

	case 0x05:
		YM2610_data_port_0_A_w(0,data);
		break;

	case 0x06:
		YM2610_control_port_0_B_w(0,data);
		break;

	case 0x07:
		YM2610_data_port_0_B_w(0,data);
		break;

	case 0x08:
		/* NMI enable / acknowledge? (the data written doesn't matter) */
		break;

	case 0x0c:
		result_code = data;
		break;

	case 0x18:
		/* NMI disable? (the data written doesn't matter) */
		break;

	default:
logerror("CPU #1 PC %04x: write %02x to unmapped port %02x\n",activecpu_get_pc(),data,offset&0xff);
		break;
	}
}

static PORT_READ_START( neo_readio )
	{ 0x0000, 0xffff, z80_port_r },
PORT_END

static PORT_WRITE_START( neo_writeio )
	{ 0x0000, 0xffff, z80_port_w },
PORT_END

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

INPUT_PORTS_START( neogeo )
	PORT_START		/* IN0 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 )
#endif /* MAME32JP */

	PORT_START		/* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 | IPF_PLAYER2 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 | IPF_PLAYER2 )
#endif /* MAME32JP */

	PORT_START		/* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )   /* Player 1 Start */
#ifdef JAPANESE
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 セレクト",KEYCODE_7, IP_JOY_NONE )
#else
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Select 1",KEYCODE_7, IP_JOY_NONE )
#endif
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )   /* Player 2 Start */
#ifdef JAPANESE
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P2 セレクト",KEYCODE_8, IP_JOY_NONE )
#else
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Select 2",KEYCODE_8, IP_JOY_NONE )
#endif
	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card inserted */
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card write protection */
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* IN3 */
	PORT_DIPNAME( 0x01, 0x01, "Test Switch" )
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, "Coin Chutes?" )
	PORT_DIPSETTING(	0x00, "1?" )
	PORT_DIPSETTING(	0x02, "2?" )
	PORT_DIPNAME( 0x04, 0x04, "Autofire (in some games)" )
	PORT_DIPSETTING(	0x04, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x38, 0x38, "COMM Setting" )
	PORT_DIPSETTING(	0x38, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x30, "1" )
	PORT_DIPSETTING(	0x20, "2" )
	PORT_DIPSETTING(	0x10, "3" )
	PORT_DIPSETTING(	0x00, "4" )
	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x80, "Freeze" )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START		/* IN4 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )


	/* Fake  IN 5 */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x03, 0x00, "Territory" )
#else
	PORT_DIPNAME( 0x03, 0x02, "Territory" )
#endif
	PORT_DIPSETTING(	0x00, "Japan" )
	PORT_DIPSETTING(	0x01, "USA" )
	PORT_DIPSETTING(	0x02, "Europe" )
	PORT_DIPNAME( 0x04, 0x04, "Machine Mode" )
	PORT_DIPSETTING(	0x00, "Home" )
	PORT_DIPSETTING(	0x04, "Arcade" )
	PORT_DIPNAME( 0x60, 0x60, "Game Slots" ) // Stored at 0x47 of NVRAM
	PORT_DIPSETTING(	0x60,"2" )
//	PORT_DIPSETTING(	0x40,"2" )
	PORT_DIPSETTING(	0x20,"4" )
	PORT_DIPSETTING(	0x00,"6" )

	PORT_START		/* Test switch */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BITX( 0x80, IP_ACTIVE_LOW, 0, "Test Switch", KEYCODE_F2, IP_JOY_NONE )
INPUT_PORTS_END

INPUT_PORTS_START( svcpcb )
	PORT_START		/* IN0 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 )
#endif /* MAME32JP */

	PORT_START		/* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 | IPF_PLAYER2 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 | IPF_PLAYER2 )
#endif /* MAME32JP */

	PORT_START		/* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )   /* Player 1 Start */
#ifdef JAPANESE
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 セレクト",KEYCODE_7, IP_JOY_NONE )
#else
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Select 1",KEYCODE_7, IP_JOY_NONE )
#endif
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )   /* Player 2 Start */
#ifdef JAPANESE
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P2 セレクト",KEYCODE_8, IP_JOY_NONE )
#else
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Select 2",KEYCODE_8, IP_JOY_NONE )
#endif
	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card inserted */
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card write protection */
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* IN3 */
	PORT_DIPNAME( 0x01, 0x01, "Test Switch" )
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, "Coin Chutes?" )
	PORT_DIPSETTING(	0x00, "1?" )
	PORT_DIPSETTING(	0x02, "2?" )
	PORT_DIPNAME( 0x04, 0x04, "Autofire (in some games)" )
	PORT_DIPSETTING(	0x04, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x38, 0x38, "COMM Setting" )
	PORT_DIPSETTING(	0x38, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x30, "1" )
	PORT_DIPSETTING(	0x20, "2" )
	PORT_DIPSETTING(	0x10, "3" )
	PORT_DIPSETTING(	0x00, "4" )
	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x80, "Freeze" )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START		/* IN4 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )


	/* Fake  IN 5 */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x03, 0x00, "Territory" )
#else
	PORT_DIPNAME( 0x03, 0x02, "Territory" )
#endif
	PORT_DIPSETTING(	0x00, "Japan" )
	PORT_DIPSETTING(	0x01, "USA" )
	PORT_DIPSETTING(	0x02, "Europe" )
	PORT_DIPNAME( 0x04, 0x04, "Machine Mode" )
	PORT_DIPSETTING(	0x00, "Home" )
	PORT_DIPSETTING(	0x04, "Arcade" )
	PORT_DIPNAME( 0x60, 0x60, "Game Slots" ) // Stored at 0x47 of NVRAM
	PORT_DIPSETTING(	0x60,"2" )
//	PORT_DIPSETTING(	0x40,"2" )
	PORT_DIPSETTING(	0x20,"4" )
	PORT_DIPSETTING(	0x00,"6" )

	PORT_START		/* Test switch */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BITX( 0x80, IP_ACTIVE_LOW, 0, "Test Switch", KEYCODE_F2, IP_JOY_NONE )

	/* the rom banking is tied directly to the dipswitch?, or is there a bank write somewhere? */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x01, 0x01, "Hard Dip 3 (Region)" )
#else /* JAPANESE */
	PORT_DIPNAME( 0x01, 0x00, "Hard Dip 3 (Region)" )
#endif /* JAPANESE */
	PORT_DIPSETTING(	0x00, "Asia" )
	PORT_DIPSETTING(	0x01, "Japan" )
INPUT_PORTS_END

INPUT_PORTS_START( kog )
	PORT_START		/* IN0 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 )
#endif /* MAME32JP */

	PORT_START		/* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 | IPF_PLAYER2 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 | IPF_PLAYER2 )
#endif /* MAME32JP */

	PORT_START		/* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )   /* Player 1 Start */
#ifdef JAPANESE
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 セレクト",KEYCODE_7, IP_JOY_NONE )
#else
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Select 1",KEYCODE_7, IP_JOY_NONE )
#endif
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )   /* Player 2 Start */
#ifdef JAPANESE
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P2 セレクト",KEYCODE_8, IP_JOY_NONE )
#else
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Select 2",KEYCODE_8, IP_JOY_NONE )
#endif
	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card inserted */
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card write protection */
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* IN3 */
	PORT_DIPNAME( 0x01, 0x01, "Test Switch" )
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, "Coin Chutes?" )
	PORT_DIPSETTING(	0x00, "1?" )
	PORT_DIPSETTING(	0x02, "2?" )
	PORT_DIPNAME( 0x04, 0x04, "Autofire (in some games)" )
	PORT_DIPSETTING(	0x04, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x38, 0x38, "COMM Setting" )
	PORT_DIPSETTING(	0x38, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x30, "1" )
	PORT_DIPSETTING(	0x20, "2" )
	PORT_DIPSETTING(	0x10, "3" )
	PORT_DIPSETTING(	0x00, "4" )
	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x80, "Freeze" )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START		/* IN4 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )


	/* Fake  IN 5 */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x03, 0x00, "Territory" )
#else
	PORT_DIPNAME( 0x03, 0x02, "Territory" )
#endif
	PORT_DIPSETTING(	0x00, "Japan" )
	PORT_DIPSETTING(	0x01, "USA" )
	PORT_DIPSETTING(	0x02, "Europe" )
	PORT_DIPNAME( 0x04, 0x04, "Machine Mode" )
	PORT_DIPSETTING(	0x00, "Home" )
	PORT_DIPSETTING(	0x04, "Arcade" )
	PORT_DIPNAME( 0x60, 0x60, "Game Slots" ) // Stored at 0x47 of NVRAM
	PORT_DIPSETTING(	0x60,"2" )
//	PORT_DIPSETTING(	0x40,"2" )
	PORT_DIPSETTING(	0x20,"4" )
	PORT_DIPSETTING(	0x00,"6" )

	PORT_START		/* Test switch */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BITX( 0x80, IP_ACTIVE_LOW, 0, "Test Switch", KEYCODE_F2, IP_JOY_NONE )

	/* a jumper on the pcb overlays a rom address, very strange but that's how it works. */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x01, 0x00, "Jumper (Title)" )
#else /* JAPANESE */
	PORT_DIPNAME( 0x01, 0x01, "Jumper (Title)" )
#endif /* JAPANESE */
	PORT_DIPSETTING(	0x01, "English" )
	PORT_DIPSETTING(	0x00, "Non-English" )
INPUT_PORTS_END

INPUT_PORTS_START( mjneogeo )
	PORT_START		/* IN0 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )

	PORT_START		/* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )

	PORT_START		/* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )   /* Player 1 Start */
#ifdef JAPANESE
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 セレクト",KEYCODE_7, IP_JOY_NONE )
#else
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Select 1",KEYCODE_7, IP_JOY_NONE )
#endif
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )   /* Player 2 Start */
#ifdef JAPANESE
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P2 セレクト",KEYCODE_8, IP_JOY_NONE )
#else
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Select 2",KEYCODE_8, IP_JOY_NONE )
#endif
	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card inserted */
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card write protection */
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* IN3 */
	PORT_DIPNAME( 0x01, 0x01, "Test Switch" )
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, "Coin Chutes?" )
	PORT_DIPSETTING(	0x00, "1?" )
	PORT_DIPSETTING(	0x02, "2?" )
	PORT_DIPNAME( 0x04, 0x00, "Mahjong Control Panel" )
	PORT_DIPSETTING(	0x04, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x38, 0x38, "COMM Setting" )
	PORT_DIPSETTING(	0x38, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x30, "1" )
	PORT_DIPSETTING(	0x20, "2" )
	PORT_DIPSETTING(	0x10, "3" )
	PORT_DIPSETTING(	0x00, "4" )
	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x80, "Freeze" )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START		/* IN4 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )

	/* Fake  IN 5 */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x03, 0x00,"Territory" )
#else
	PORT_DIPNAME( 0x03, 0x02,"Territory" )
#endif
	PORT_DIPSETTING(	0x00,"Japan" )
	PORT_DIPSETTING(	0x01,"USA" )
	PORT_DIPSETTING(	0x02,"Europe" )
#ifdef MAME32JP
	PORT_DIPNAME( 0x04, 0x04,"Machine Mode" )
	PORT_DIPSETTING(	0x00,"Home" )
	PORT_DIPSETTING(	0x04,"Arcade" )
#endif
//	PORT_DIPNAME( 0x04, 0x04,"Machine Mode" )
//	PORT_DIPSETTING(	0x00,"Home" )
//	PORT_DIPSETTING(	0x04,"Arcade" )

	PORT_START		/* Test switch */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BITX( 0x80, IP_ACTIVE_LOW, 0, "Test Switch", KEYCODE_F2, IP_JOY_NONE )

	PORT_START
	PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "B",   KEYCODE_B,        IP_JOY_NONE )
	PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,        IP_JOY_NONE )
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,        IP_JOY_NONE )
	PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
	PORT_BITX(0x20, IP_ACTIVE_LOW, 0, "F",   KEYCODE_F,        IP_JOY_NONE )
	PORT_BITX(0x40, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,        IP_JOY_NONE )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START
	PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,        IP_JOY_NONE )
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
	PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "J",   KEYCODE_J,        IP_JOY_NONE )
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,        IP_JOY_NONE )
	PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,        IP_JOY_NONE )
	PORT_BITX(0x20, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
	PORT_BITX(0x40, IP_ACTIVE_LOW, 0, "N",   KEYCODE_N,        IP_JOY_NONE )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START
	PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "Pon",   KEYCODE_LALT,     IP_JOY_NONE )
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Chi",   KEYCODE_SPACE,    IP_JOY_NONE )
	PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "Kan",   KEYCODE_LCONTROL, IP_JOY_NONE )
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Ron",   KEYCODE_Z,        IP_JOY_NONE )
	PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END

INPUT_PORTS_START( irrmaze )
	PORT_START		/* IN0 multiplexed */
	PORT_ANALOG( 0xff, 0x7f, IPT_TRACKBALL_X | IPF_REVERSE, 10, 20, 0, 0 )

	PORT_START		/* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )

	PORT_START		/* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )   /* Player 1 Start */
#ifdef JAPANESE
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 セレクト",KEYCODE_7, IP_JOY_NONE )
#else
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Select 1",KEYCODE_7, IP_JOY_NONE )
#endif
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )   /* Player 2 Start */
#ifdef JAPANESE
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P2 セレクト",KEYCODE_8, IP_JOY_NONE )
#else
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Select 2",KEYCODE_8, IP_JOY_NONE )
#endif
	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card inserted */
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card write protection */
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* IN3 */
	PORT_DIPNAME( 0x01, 0x01, "Test Switch" )
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, "Coin Chutes?" )
	PORT_DIPSETTING(	0x00, "1?" )
	PORT_DIPSETTING(	0x02, "2?" )
	PORT_DIPNAME( 0x04, 0x04, "Autofire (in some games)" )
	PORT_DIPSETTING(	0x04, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x38, 0x38, "COMM Setting" )
	PORT_DIPSETTING(	0x38, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x30, "1" )
	PORT_DIPSETTING(	0x20, "2" )
	PORT_DIPSETTING(	0x10, "3" )
	PORT_DIPSETTING(	0x00, "4" )
	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x80, "Freeze" )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START		/* IN4 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )

	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x03, 0x00, "Territory" )
#else
	PORT_DIPNAME( 0x03, 0x02, "Territory" )
#endif
	PORT_DIPSETTING(	0x00, "Japan" )
	PORT_DIPSETTING(	0x01, "USA" )
	PORT_DIPSETTING(	0x02, "Europe" )
	PORT_DIPNAME( 0x04, 0x04, "Machine Mode" )
	PORT_DIPSETTING(	0x00, "Home" )
	PORT_DIPSETTING(	0x04, "Arcade" )

	PORT_START		/* Test switch */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )  /* This bit is used.. */
	PORT_BITX( 0x80, IP_ACTIVE_LOW, 0, "Test Switch", KEYCODE_F2, IP_JOY_NONE )

	PORT_START		/* IN0 multiplexed */
	PORT_ANALOG( 0xff, 0x7f, IPT_TRACKBALL_Y | IPF_REVERSE, 10, 20, 0, 0 )
INPUT_PORTS_END

INPUT_PORTS_START( vliner )
	PORT_START		/* IN0 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )

	PORT_START		/* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )

	PORT_START		/* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )   /* Player 1 Start */
#ifdef JAPANESE
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 セレクト",KEYCODE_7, IP_JOY_NONE )
#else
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Select 1",KEYCODE_7, IP_JOY_NONE )
#endif
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )   /* Player 2 Start */
#ifdef JAPANESE
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P2 セレクト",KEYCODE_8, IP_JOY_NONE )
#else
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Select 2",KEYCODE_8, IP_JOY_NONE )
#endif
	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card inserted */
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card write protection */
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* IN3 */
	PORT_DIPNAME( 0x01, 0x01, "Test Switch" )
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, "Coin Chutes?" )
	PORT_DIPSETTING(	0x00, "1?" )
	PORT_DIPSETTING(	0x02, "2?" )
	PORT_DIPNAME( 0x04, 0x04, "Autofire (in some games)" )
	PORT_DIPSETTING(	0x04, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x38, 0x38, "COMM Setting" )
	PORT_DIPSETTING(	0x38, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x30, "1" )
	PORT_DIPSETTING(	0x20, "2" )
	PORT_DIPSETTING(	0x10, "3" )
	PORT_DIPSETTING(	0x00, "4" )
	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x80, "Freeze" )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START		/* IN4 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 )

	/* Fake  IN 5 */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x03, 0x00, "Territory" )
#else
	PORT_DIPNAME( 0x03, 0x02, "Territory" )
#endif
	PORT_DIPSETTING(	0x00, "Japan" )
	PORT_DIPSETTING(	0x01, "USA" )
	PORT_DIPSETTING(	0x02, "Europe" )
	PORT_DIPNAME( 0x04, 0x04, "Machine Mode" )
	PORT_DIPSETTING(	0x00, "Home" )
	PORT_DIPSETTING(	0x04, "Arcade" )
	PORT_DIPNAME( 0x60, 0x60, "Game Slots" ) // Stored at 0x47 of NVRAM
	PORT_DIPSETTING(	0x60,"2" )
//	PORT_DIPSETTING(	0x40,"2" )
	PORT_DIPSETTING(	0x20,"4" )
	PORT_DIPSETTING(	0x00,"6" )

	PORT_START
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* Test switch */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )  /* used, affects the values stored at location 0x47 of nvram */
	PORT_BITX( 0x80, IP_ACTIVE_LOW, 0, "Test Switch", KEYCODE_F2, IP_JOY_NONE )
INPUT_PORTS_END

INPUT_PORTS_START( jockeygp )
	PORT_START		/* IN0 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 )
#endif /* MAME32JP */

	PORT_START		/* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
#ifdef MAME32JP
	PORT_BIT( 0x10+0x20, IP_ACTIVE_LOW, IPT_NEOGEO1 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x40, IP_ACTIVE_LOW, IPT_NEOGEO2 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x80, IP_ACTIVE_LOW, IPT_NEOGEO3 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO4 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO5 | IPF_PLAYER2 )
	PORT_BIT( 0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO6 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40, IP_ACTIVE_LOW, IPT_NEOGEO7 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x80, IP_ACTIVE_LOW, IPT_NEOGEO8 | IPF_PLAYER2 )
	PORT_BIT( 0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO9 | IPF_PLAYER2 )
	PORT_BIT( 0x10+0x20+0x40+0x80, IP_ACTIVE_LOW, IPT_NEOGEO10 | IPF_PLAYER2 )
#endif /* MAME32JP */

	PORT_START		/* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* game freezes with this bit enabled */
#ifdef JAPANESE
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 セレクト",KEYCODE_7, IP_JOY_NONE )
#else
	PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "Select 1",KEYCODE_7, IP_JOY_NONE )
#endif
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* game freezes with this bit enabled */
#ifdef JAPANESE
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P2 セレクト",KEYCODE_8, IP_JOY_NONE )
#else
	PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "Select 2",KEYCODE_8, IP_JOY_NONE )
#endif
	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card inserted */
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* memory card write protection */
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START		/* IN3 */
	PORT_DIPNAME( 0x01, 0x01, "Test Switch" )
	PORT_DIPSETTING(	0x01, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x02, 0x02, "Coin Chutes?" )
	PORT_DIPSETTING(	0x00, "1?" )
	PORT_DIPSETTING(	0x02, "2?" )
	PORT_DIPNAME( 0x04, 0x04, "Autofire (in some games)" )
	PORT_DIPSETTING(	0x04, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x38, 0x38, "COMM Setting" )
	PORT_DIPSETTING(	0x38, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x30, "1" )
	PORT_DIPSETTING(	0x20, "2" )
	PORT_DIPSETTING(	0x10, "3" )
	PORT_DIPSETTING(	0x00, "4" )
	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
	PORT_DIPSETTING(	0x40, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )
	PORT_DIPNAME( 0x80, 0x80, "Freeze" )
	PORT_DIPSETTING(	0x80, DEF_STR( Off ) )
	PORT_DIPSETTING(	0x00, DEF_STR( On ) )

	PORT_START		/* IN4 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* having this ACTIVE_HIGH causes you to start with 2 credits using USA bios roms */
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )


	/* Fake  IN 5 */
	PORT_START
#ifdef JAPANESE
	PORT_DIPNAME( 0x03, 0x00, "Territory" )
#else
	PORT_DIPNAME( 0x03, 0x02, "Territory" )
#endif
	PORT_DIPSETTING(	0x00, "Japan" )
	PORT_DIPSETTING(	0x01, "USA" )
	PORT_DIPSETTING(	0x02, "Europe" )
	PORT_DIPNAME( 0x04, 0x04, "Machine Mode" )
	PORT_DIPSETTING(	0x00, "Home" )
	PORT_DIPSETTING(	0x04, "Arcade" )
	PORT_DIPNAME( 0x60, 0x60, "Game Slots" ) // Stored at 0x47 of NVRAM
	PORT_DIPSETTING(	0x60,"2" )
//	PORT_DIPSETTING(	0x40,"2" )
	PORT_DIPSETTING(	0x20,"4" )
	PORT_DIPSETTING(	0x00,"6" )

	PORT_START		/* Test switch */
	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL )  /* handled by fake IN5 */
	PORT_BITX( 0x80, IP_ACTIVE_LOW, 0, "Test Switch", KEYCODE_F2, IP_JOY_NONE )
INPUT_PORTS_END

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

/* character layout (same for all games) */
static struct GfxLayout charlayout =	/* All games */
{
	8,8,			/* 8 x 8 chars */
	RGN_FRAC(1,1),
	4,				/* 4 bits per pixel */
	{ 0, 1, 2, 3 },    /* planes are packed in a nibble */
	{ 33*4, 32*4, 49*4, 48*4, 1*4, 0*4, 17*4, 16*4 },
	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
	32*8	/* 32 bytes per char */
};

/* Placeholder and also reminder of how this graphic format is put together */
static struct GfxLayout dummy_mvs_tilelayout =
{
	16,16,	 /* 16*16 sprites */
	RGN_FRAC(1,1),
	4,
	{ GFX_RAW },
	{ 0 },		/* org displacement */
	{ 8*8 },	/* line modulo */
	128*8		/* char modulo */
};

static struct GfxDecodeInfo neogeo_mvs_gfxdecodeinfo[] =
{
	{ REGION_GFX1, 0, &charlayout, 0, 16 },
	{ REGION_GFX2, 0, &charlayout, 0, 16 },
	{ REGION_GFX3, 0, &dummy_mvs_tilelayout, 0, 256 },
	{ -1 } /* end of array */
};

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

static void neogeo_sound_irq( int irq )
{
	cpu_set_irq_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}

struct YM2610interface neogeo_ym2610_interface =
{
	1,
	8000000,
	{ MIXERG(15,MIXER_GAIN_4x,MIXER_PAN_CENTER) },
	{ 0 },
	{ 0 },
	{ 0 },
	{ 0 },
	{ neogeo_sound_irq },
	{ REGION_SOUND2 },
	{ REGION_SOUND1 },
#ifdef MAME32JP
	{ YM3012_VOL(75,MIXER_PAN_LEFT,75,MIXER_PAN_RIGHT) }
#else
	{ YM3012_VOL(100,MIXER_PAN_LEFT,100,MIXER_PAN_RIGHT) }
#endif
};

struct YM2610interface neogeo_ym2610p_interface =
{
	1,
	8000000,
	{ MIXERG(10,MIXER_GAIN_2x,MIXER_PAN_CENTER) },
	{ 0 },
	{ 0 },
	{ 0 },
	{ 0 },
	{ neogeo_sound_irq },
	{ REGION_SOUND2 },
	{ REGION_SOUND1 },
#ifdef MAME32JP
	{ YM3012_VOL(75,MIXER_PAN_LEFT,75,MIXER_PAN_RIGHT) }
#else
	{ YM3012_VOL(100,MIXER_PAN_LEFT,100,MIXER_PAN_RIGHT) }
#endif
};

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

/*

     - The watchdog timer will reset the system after ~0.13 seconds
       On an MV-1F MVS system, the following code was used to test:
          000100  203C 0001 4F51             MOVE.L   #0x14F51,D0
          000106  13C0 0030 0001             MOVE.B   D0,0x300001
          00010C  5380                       SUBQ.L   #1,D0
          00010E  64FC                       BCC.S    *-0x2 [0x10C]
          000110  13C0 0030 0001             MOVE.B   D0,0x300001
          000116  60F8                       BRA.S    *-0x6 [0x110]
       This code loops long enough to sometimes cause a reset, sometimes not.
       The move takes 16 cycles, subq 8, bcc 10 if taken and 8 if not taken, so:
       (0x14F51 * 18 + 14) cycles / 12000000 cycles per second = 0.128762 seconds
       Newer games force a reset using the following code (this from kof99):
          009CDA  203C 0003 0D40             MOVE.L   #0x30D40,D0
          009CE0  5380                       SUBQ.L   #1,D0
          009CE2  64FC                       BCC.S    *-0x2 [0x9CE0]
       Note however that there is a valid code path after this loop.

   -----

    The watchdog is used as a form of protecetion on a number of games,
    previously this was implemented as a specific hack which locked a single
    address of SRAM.

    What actually happens is if the game doesn't find valid data in the
    backup ram it will initialize it, then sit in a loop.  The watchdog
    should then reset the system while it is in this loop.  If the watchdog
    fails to reset the system the code will continue and set a value in
    backup ram to indiate that the protection check has failed.

*/


static MACHINE_DRIVER_START( neogeo )

	/* basic machine hardware */
	MDRV_CPU_ADD_TAG("main", M68000, 12000000)

	MDRV_CPU_MEMORY(neogeo_readmem,neogeo_writemem)
	MDRV_CPU_VBLANK_INT(neogeo_raster_interrupt,RASTER_LINES)

	MDRV_CPU_ADD(Z80, 4000000) /* verified */
	MDRV_CPU_FLAGS(CPU_AUDIO_CPU | CPU_16BIT_PORT)
	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
	MDRV_CPU_PORTS(neo_readio,neo_writeio)

	/* using a framerate of 59 will fix the sync of the kof98 video / sound however
	   using it would be a kludge as 60 has been measured using the hardware */
	MDRV_FRAMES_PER_SECOND(15625.0 / 264) /* verified with real PCB */
	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
	MDRV_WATCHDOG_TIME_INIT(TIME_IN_SEC(0.128762))

	MDRV_MACHINE_INIT(neogeo)
	MDRV_NVRAM_HANDLER(neogeo)

	/* video hardware */
	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
	MDRV_SCREEN_SIZE(40*8, 32*8)
	MDRV_VISIBLE_AREA(1*8, 39*8-1, 2*8, 30*8-1)
	MDRV_GFXDECODE(neogeo_mvs_gfxdecodeinfo)
	MDRV_PALETTE_LENGTH(4096)

	MDRV_VIDEO_START(neogeo_mvs)
	MDRV_VIDEO_UPDATE(neogeo)

	/* sound hardware */
	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
	MDRV_SOUND_ADD(YM2610, neogeo_ym2610_interface)
MACHINE_DRIVER_END

static MACHINE_DRIVER_START( neogeop )

	/* basic machine hardware */
	MDRV_CPU_ADD_TAG("main", M68000, 12000000)

	MDRV_CPU_MEMORY(neogeo_readmem,neogeo_writemem)
	MDRV_CPU_VBLANK_INT(neogeo_interrupt,RASTER_LINES)

	MDRV_CPU_ADD(Z80, 4000000) /* verified */
	MDRV_CPU_FLAGS(CPU_AUDIO_CPU | CPU_16BIT_PORT)
	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
	MDRV_CPU_PORTS(neo_readio,neo_writeio)

	/* using a framerate of 59 will fix the sync of the kof98 video / sound however
	   using it would be a kludge as 60 has been measured using the hardware */
	MDRV_FRAMES_PER_SECOND(15625.0 / 264) /* verified with real PCB */
	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)

	MDRV_MACHINE_INIT(neogeo)
	MDRV_NVRAM_HANDLER(neogeo)

	/* video hardware */
	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
	MDRV_SCREEN_SIZE(40*8, 32*8)
	MDRV_VISIBLE_AREA(1*8, 39*8-1, 2*8, 30*8-1)
	MDRV_GFXDECODE(neogeo_mvs_gfxdecodeinfo)
	MDRV_PALETTE_LENGTH(4096)

	MDRV_VIDEO_START(neogeo_mvs)
	MDRV_VIDEO_UPDATE(neogeo)

	/* sound hardware */
	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
	MDRV_SOUND_ADD(YM2610, neogeo_ym2610p_interface)
MACHINE_DRIVER_END

static MACHINE_DRIVER_START( raster )

	/* basic machine hardware */
	MDRV_IMPORT_FROM(neogeo)
	MDRV_CPU_MODIFY("main")
	MDRV_CPU_VBLANK_INT(neogeo_raster_interrupt,RASTER_LINES)

	/* video hardware */
	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_RGB_DIRECT)
MACHINE_DRIVER_END

static MACHINE_DRIVER_START( raster_busy )

	/* basic machine hardware */
	MDRV_IMPORT_FROM(raster)
	MDRV_CPU_MODIFY("main")
	MDRV_CPU_VBLANK_INT(neogeo_raster_interrupt_busy,RASTER_LINES)
MACHINE_DRIVER_END

static MACHINE_DRIVER_START( neo320 )
	MDRV_IMPORT_FROM(neogeo)
	/* Screen width *should* be 320, at least in the test mode for the crosshatch,
	   this has been verified on original hardware, glitches that occur at 320 in
	   Metal Slug have been verified to also appear on the MVS itself so its
	   probably correct in all cases, however to avoid confusion we use 304 unless
	   a game *needs* 320 */
	MDRV_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MACHINE_DRIVER_END

static MACHINE_DRIVER_START( ras320 )
	MDRV_IMPORT_FROM(raster)
	MDRV_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MACHINE_DRIVER_END

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

#define NEO_BIOS_SOUND_512K(name,sum) \
	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 ) \
	ROM_LOAD16_WORD_SWAP( NEOGEO_BIOS_NAME, 0x00000, 0x020000, NEOGEO_BIOS_CRC ) \
	ROM_REGION( 0x90000, REGION_CPU2, 0 ) \
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )  /* we don't use the BIOS anyway... */ \
	ROM_LOAD( name, 		0x00000, 0x80000, sum ) /* so overwrite it with the real thing */ \
	ROM_RELOAD(             0x10000, 0x80000 ) \
	ROM_REGION( 0x10000, REGION_GFX4, 0 ) \
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )  /* Y zoom control */

#define NEO_BIOS_SOUND_256K(name,sum) \
	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 ) \
	ROM_LOAD16_WORD_SWAP( NEOGEO_BIOS_NAME, 0x00000, 0x020000, NEOGEO_BIOS_CRC ) \
	ROM_REGION( 0x50000, REGION_CPU2, 0 ) \
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )  /* we don't use the BIOS anyway... */ \
	ROM_LOAD( name, 		0x00000, 0x40000, sum ) /* so overwrite it with the real thing */ \
	ROM_RELOAD(             0x10000, 0x40000 ) \
	ROM_REGION( 0x10000, REGION_GFX4, 0 ) \
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )  /* Y zoom control */

#define NEO_BIOS_SOUND_128K(name,sum) \
	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 ) \
	ROM_LOAD16_WORD_SWAP( NEOGEO_BIOS_NAME, 0x00000, 0x020000, NEOGEO_BIOS_CRC ) \
	ROM_REGION( 0x50000, REGION_CPU2, 0 ) \
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )  /* we don't use the BIOS anyway... */ \
	ROM_LOAD( name, 		0x00000, 0x20000, sum ) /* so overwrite it with the real thing */ \
	ROM_RELOAD(             0x10000, 0x20000 ) \
	ROM_REGION( 0x10000, REGION_GFX4, 0 ) \
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )  /* Y zoom control */

#define NEO_BIOS_SOUND_64K(name,sum) \
	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 ) \
	ROM_LOAD16_WORD_SWAP( NEOGEO_BIOS_NAME, 0x00000, 0x020000, NEOGEO_BIOS_CRC ) \
	ROM_REGION( 0x50000, REGION_CPU2, 0 ) \
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )  /* we don't use the BIOS anyway... */ \
	ROM_LOAD( name, 		0x00000, 0x10000, sum ) /* so overwrite it with the real thing */ \
	ROM_RELOAD(             0x10000, 0x10000 ) \
	ROM_REGION( 0x10000, REGION_GFX4, 0 ) \
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )  /* Y zoom control */

#define NEO_BIOS_SOUND_32K(name,sum) \
	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 ) \
	ROM_LOAD16_WORD_SWAP( NEOGEO_BIOS_NAME, 0x00000, 0x020000, NEOGEO_BIOS_CRC ) \
	ROM_REGION( 0x50000, REGION_CPU2, 0 ) \
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )  /* we don't use the BIOS anyway... */ \
	ROM_LOAD( name, 		0x00000, 0x8000, sum ) /* so overwrite it with the real thing */ \
	ROM_RELOAD(             0x10000, 0x8000 ) \
	ROM_REGION( 0x10000, REGION_GFX4, 0 ) \
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )  /* Y zoom control */

#define NO_DELTAT_REGION

#define NEO_SFIX_ENCRYPTED_512K \
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) \
	ROM_FILL(                 0x000000, 0x80000, 0 ) \
	ROM_REGION( 0x20000, REGION_GFX2, 0 ) \
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

#define NEO_SFIX_ENCRYPTED_128K \
	ROM_REGION( 0x20000, REGION_GFX1, 0 ) \
	ROM_FILL(                 0x000000, 0x20000, 0 ) \
	ROM_REGION( 0x20000, REGION_GFX2, 0 ) \
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

#define NEO_SFIX_128K(name,sum) \
	ROM_REGION( 0x20000, REGION_GFX1, 0 ) \
	ROM_LOAD( name, 		  0x000000, 0x20000, sum ) \
	ROM_REGION( 0x20000, REGION_GFX2, 0 ) \
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

#define NEO_SFIX_64K(name,sum) \
	ROM_REGION( 0x20000, REGION_GFX1, 0 ) \
	ROM_LOAD( name, 		  0x000000, 0x10000, sum ) \
	ROM_REGION( 0x20000, REGION_GFX2, 0 ) \
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

#define NEO_SFIX_32K(name,sum) \
	ROM_REGION( 0x20000, REGION_GFX1, 0 ) \
	ROM_LOAD( name, 		  0x000000, 0x08000, sum ) \
	ROM_REGION( 0x20000, REGION_GFX2, 0 ) \
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

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

ROM_START( nam1975 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "001-p1.bin", 0x000000, 0x080000, 0xcc9fc951 )

	NEO_SFIX_64K( "001-s1.bin", 0x8ded55a5 )

	NEO_BIOS_SOUND_64K( "001-m1.bin", 0xcd088502 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "001-v11.bin", 0x000000, 0x080000, 0xa7c3d5e5 )

	ROM_REGION( 0x180000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "001-v21.bin", 0x000000, 0x080000, 0x55e670b3 )
	ROM_LOAD( "001-v22.bin", 0x080000, 0x080000, 0xab0d8368 )
	ROM_LOAD( "001-v23.bin", 0x100000, 0x080000, 0xdf468e28 )

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "001-c1.bin", 0x000000, 0x80000, 0x32ea98e1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "001-c2.bin", 0x000001, 0x80000, 0xcbc4064c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "001-c3.bin", 0x100000, 0x80000, 0x0151054c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "001-c4.bin", 0x100001, 0x80000, 0x0a32570d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "001-c5.bin", 0x200000, 0x80000, 0x90b74cc2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "001-c6.bin", 0x200001, 0x80000, 0xe62bed58 ) /* Plane 2,3 */
ROM_END

ROM_START( bstars )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "002-p1.bin", 0x000000, 0x080000, 0x3bc7790e )

	NEO_SFIX_128K( "002-s1.bin", 0x1a7fd0c6 )

	NEO_BIOS_SOUND_64K( "002-m1.bin", 0x79a8f4c2 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "002-v11.bin", 0x000000, 0x080000, 0xb7b925bd )
	ROM_LOAD( "002-v12.bin", 0x080000, 0x080000, 0x329f26fc )
	ROM_LOAD( "002-v13.bin", 0x100000, 0x080000, 0x0c39f3c8 )
	ROM_LOAD( "002-v14.bin", 0x180000, 0x080000, 0xc7e11c38 )

	ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "002-v21.bin", 0x000000, 0x080000, 0x04a733d1 )

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "002-c1.bin", 0x000000, 0x080000, 0xaaff2a45 )
	ROM_LOAD16_BYTE( "002-c2.bin", 0x000001, 0x080000, 0x3ba0f7e4 )
	ROM_LOAD16_BYTE( "002-c3.bin", 0x100000, 0x080000, 0x96f0fdfa )
	ROM_LOAD16_BYTE( "002-c4.bin", 0x100001, 0x080000, 0x5fd87f2f )
	ROM_LOAD16_BYTE( "002-c5.bin", 0x200000, 0x080000, 0x807ed83b )
	ROM_LOAD16_BYTE( "002-c6.bin", 0x200001, 0x080000, 0x5a3cad41 )
ROM_END

ROM_START( tpgolf )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "003-p1.bin", 0x000000, 0x080000, 0xf75549ba )
	ROM_LOAD16_WORD_SWAP( "003-p2.bin", 0x080000, 0x080000, 0xb7809a8f )

	NEO_SFIX_128K( "003-s1.bin", 0x7b3eb9b1 )

	NEO_BIOS_SOUND_64K( "003-m1.bin", 0x7851d0d9 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "003-v11.bin", 0x000000, 0x080000, 0xff97f1cb )

	ROM_REGION( 0x200000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "003-v21.bin", 0x000000, 0x080000, 0xd34960c6 )
	ROM_LOAD( "003-v22.bin", 0x080000, 0x080000, 0x9a5f58d4 )
	ROM_LOAD( "003-v23.bin", 0x100000, 0x080000, 0x30f53e54 )
	ROM_LOAD( "003-v24.bin", 0x180000, 0x080000, 0x5ba0f501 )

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "003-c1.bin", 0x000000, 0x80000, 0x0315fbaf )
	ROM_LOAD16_BYTE( "003-c2.bin", 0x000001, 0x80000, 0xb4c15d59 )
	ROM_LOAD16_BYTE( "003-c3.bin", 0x100000, 0x80000, 0xb09f1612 )
	ROM_LOAD16_BYTE( "003-c4.bin", 0x100001, 0x80000, 0x150ea7a1 )
	ROM_LOAD16_BYTE( "003-c5.bin", 0x200000, 0x80000, 0x9a7146da )
	ROM_LOAD16_BYTE( "003-c6.bin", 0x200001, 0x80000, 0x1e63411a )
	ROM_LOAD16_BYTE( "003-c7.bin", 0x300000, 0x80000, 0x2886710c )
	ROM_LOAD16_BYTE( "003-c8.bin", 0x300001, 0x80000, 0x422af22d )
ROM_END

ROM_START( mahretsu )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "004-p1.bin", 0x000000, 0x080000, 0xfc6f53db )

	NEO_SFIX_64K( "004-s1.bin", 0xb0d16529 )

	NEO_BIOS_SOUND_64K( "004-m1.bin", 0x37965a73 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "004-v1.bin", 0x000000, 0x080000, 0xb2fb2153 )
	ROM_LOAD( "004-v2.bin", 0x080000, 0x080000, 0x8503317b )

	ROM_REGION( 0x180000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "004-v3.bin", 0x000000, 0x080000, 0x4999fb27 )
	ROM_LOAD( "004-v4.bin", 0x080000, 0x080000, 0x776fa2a2 )
	ROM_LOAD( "004-v5.bin", 0x100000, 0x080000, 0xb3e7eeea )

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "004-c1.bin", 0x000000, 0x80000, 0xf1ae16bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "004-c2.bin", 0x000001, 0x80000, 0xbdc13520 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "004-c3.bin", 0x100000, 0x80000, 0x9c571a37 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "004-c4.bin", 0x100001, 0x80000, 0x7e81cb29 ) /* Plane 2,3 */
ROM_END

ROM_START( maglord )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "005-p1.bin", 0x000000, 0x080000, 0xbd0a492d )

	NEO_SFIX_128K( "005-s1.bin", 0x1c5369a2 )

	NEO_BIOS_SOUND_64K( "005-m1.bin", 0x91ee1f73 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "005-v11.bin", 0x000000, 0x080000, 0xcc0455fd )

	ROM_REGION( 0x100000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "005-v21.bin", 0x000000, 0x080000, 0xf94ab5b7 )
	ROM_LOAD( "005-v22.bin", 0x080000, 0x080000, 0x232cfd04 )

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "005-c1.bin", 0x000000, 0x80000, 0x806aee34 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "005-c2.bin", 0x000001, 0x80000, 0x34aa9a86 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "005-c3.bin", 0x100000, 0x80000, 0xc4c2b926 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "005-c4.bin", 0x100001, 0x80000, 0x9c46dcf4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "005-c5.bin", 0x200000, 0x80000, 0x69086dec ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "005-c6.bin", 0x200001, 0x80000, 0xab7ac142 ) /* Plane 2,3 */
ROM_END

ROM_START( maglordh )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "005-p1h.bin", 0x000000, 0x080000, 0x599043c5 )

	NEO_SFIX_128K( "005-s1.bin", 0x1c5369a2 )

	NEO_BIOS_SOUND_64K( "005-m1.bin", 0x91ee1f73 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "005-v11.bin", 0x000000, 0x080000, 0xcc0455fd )

	ROM_REGION( 0x100000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "005-v21.bin", 0x000000, 0x080000, 0xf94ab5b7 )
	ROM_LOAD( "005-v22.bin", 0x080000, 0x080000, 0x232cfd04 )

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "005-c1.bin", 0x000000, 0x80000, 0x806aee34 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "005-c2.bin", 0x000001, 0x80000, 0x34aa9a86 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "005-c3.bin", 0x100000, 0x80000, 0xc4c2b926 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "005-c4.bin", 0x100001, 0x80000, 0x9c46dcf4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "005-c5.bin", 0x200000, 0x80000, 0x69086dec ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "005-c6.bin", 0x200001, 0x80000, 0xab7ac142 ) /* Plane 2,3 */
ROM_END

ROM_START( ridhero )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "006-p1.bin", 0x000000, 0x080000, 0xd4aaf597 )

	NEO_SFIX_64K( "006-s1.bin", 0x197d1a28 )

	NEO_BIOS_SOUND_128K( "006-m1.bin", 0xf0b6425d )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "006-v11.bin", 0x000000, 0x080000, 0xcdf74a42 )
	ROM_LOAD( "006-v12.bin", 0x080000, 0x080000, 0xe2fd2371 )

	ROM_REGION( 0x200000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "006-v21.bin", 0x000000, 0x080000, 0x94092bce )
	ROM_LOAD( "006-v22.bin", 0x080000, 0x080000, 0x4e2cd7c3 )
	ROM_LOAD( "006-v23.bin", 0x100000, 0x080000, 0x069c71ed )
	ROM_LOAD( "006-v24.bin", 0x180000, 0x080000, 0x89fbb825 )

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "006-c1.bin", 0x000000, 0x080000, 0x4a5c7f78 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "006-c2.bin", 0x000001, 0x080000, 0xe0b70ece ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "006-c3.bin", 0x100000, 0x080000, 0x8acff765 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "006-c4.bin", 0x100001, 0x080000, 0x205e3208 ) /* Plane 2,3 */
ROM_END

ROM_START( ridheroh )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "006-p1h.bin", 0x000000, 0x080000, 0x52445646 )

	NEO_SFIX_64K( "006-s1.bin", 0x197d1a28 )

	NEO_BIOS_SOUND_128K( "006-m1.bin", 0xf0b6425d )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "006-v11.bin", 0x000000, 0x080000, 0xcdf74a42 )
	ROM_LOAD( "006-v12.bin", 0x080000, 0x080000, 0xe2fd2371 )

	ROM_REGION( 0x200000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "006-v21.bin", 0x000000, 0x080000, 0x94092bce )
	ROM_LOAD( "006-v22.bin", 0x080000, 0x080000, 0x4e2cd7c3 )
	ROM_LOAD( "006-v23.bin", 0x100000, 0x080000, 0x069c71ed )
	ROM_LOAD( "006-v24.bin", 0x180000, 0x080000, 0x89fbb825 )

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "006-c1.bin", 0x000000, 0x080000, 0x4a5c7f78 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "006-c2.bin", 0x000001, 0x080000, 0xe0b70ece ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "006-c3.bin", 0x100000, 0x080000, 0x8acff765 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "006-c4.bin", 0x100001, 0x080000, 0x205e3208 ) /* Plane 2,3 */
ROM_END

ROM_START( alpham2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "007-p1.bin", 0x000000, 0x080000, 0x5b266f47 )
	ROM_LOAD16_WORD_SWAP( "007-p2.bin", 0x080000, 0x020000, 0xeb9c1044 )

	NEO_SFIX_128K( "007-s1.bin", 0x85ec9acf )

	NEO_BIOS_SOUND_128K( "007-m1.bin", 0x28dfe2cd )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "007-v1.bin", 0x000000, 0x100000, 0xcd5db931 )
	ROM_LOAD( "007-v2.bin", 0x100000, 0x100000, 0x63e9b574 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "007-c1.bin", 0x000000, 0x100000, 0x8fba8ff3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "007-c2.bin", 0x000001, 0x100000, 0x4dad2945 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "007-c3.bin", 0x200000, 0x080000, 0x68c2994e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "007-c4.bin", 0x200001, 0x080000, 0x7d588349 ) /* Plane 2,3 */
ROM_END

ROM_START( ncombat )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "009-p1.bin", 0x000000, 0x080000, 0xb45fcfbf )

	NEO_SFIX_128K( "009-s1.bin", 0xd49afee8 )

	NEO_BIOS_SOUND_128K( "009-m1.bin", 0xb5819863 )

	ROM_REGION( 0x180000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "009-v11.bin", 0x000000, 0x080000, 0xcf32a59c )
	ROM_LOAD( "009-v12.bin", 0x080000, 0x080000, 0x7b3588b7 )
	ROM_LOAD( "009-v13.bin", 0x100000, 0x080000, 0x505a01b5 )

	ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "009-v21.bin", 0x000000, 0x080000, 0x365f9011 )

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "009-c1.bin", 0x000000, 0x80000, 0x33cc838e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "009-c2.bin", 0x000001, 0x80000, 0x26877feb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "009-c3.bin", 0x100000, 0x80000, 0x3b60a05d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "009-c4.bin", 0x100001, 0x80000, 0x39c2d039 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "009-c5.bin", 0x200000, 0x80000, 0x67a4344e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "009-c6.bin", 0x200001, 0x80000, 0x2eca8b19 ) /* Plane 2,3 */
ROM_END

ROM_START( ncombata )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "009-pg1.bin", 0x000000, 0x080000, 0x08e9f0add)

	NEO_SFIX_128K( "009-s1.bin", 0x0d49afee8)

	NEO_BIOS_SOUND_128K( "009-m1.bin", 0x0b5819863)

	ROM_REGION( 0x180000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "009-v11.bin", 0x000000, 0x080000, 0x0cf32a59c)
	ROM_LOAD( "009-v12.bin", 0x080000, 0x080000, 0x07b3588b7)
	ROM_LOAD( "009-v13.bin", 0x100000, 0x080000, 0x0505a01b5)

	ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "009-v21.bin", 0x000000, 0x080000, 0x0365f9011)

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "009-c1.bin", 0x000000, 0x80000, 0x033cc838e) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "009-c2.bin", 0x000001, 0x80000, 0x026877feb) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "009-c3.bin", 0x100000, 0x80000, 0x03b60a05d) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "009-c4.bin", 0x100001, 0x80000, 0x039c2d039) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "009-c5.bin", 0x200000, 0x80000, 0x067a4344e) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "009-c6.bin", 0x200001, 0x80000, 0x02eca8b19) /* Plane 2,3 */
ROM_END

ROM_START( cyberlip )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "010-p1.bin", 0x000000, 0x080000, 0x69a6b42d )

	NEO_SFIX_128K( "010-s1.bin", 0x79a35264 )

	NEO_BIOS_SOUND_64K( "010-m1.bin", 0x47980d3a )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "010-v11.bin", 0x000000, 0x080000, 0x90224d22 )
	ROM_LOAD( "010-v12.bin", 0x080000, 0x080000, 0xa0cf1834 )
	ROM_LOAD( "010-v13.bin", 0x100000, 0x080000, 0xae38bc84 )
	ROM_LOAD( "010-v14.bin", 0x180000, 0x080000, 0x70899bd2 )

	ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "010-v21.bin", 0x000000, 0x080000, 0x586f4cb2 )

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "010-c1.bin", 0x000000, 0x80000, 0x8bba5113 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "010-c2.bin", 0x000001, 0x80000, 0xcbf66432 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "010-c3.bin", 0x100000, 0x80000, 0xe4f86efc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "010-c4.bin", 0x100001, 0x80000, 0xf7be4674 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "010-c5.bin", 0x200000, 0x80000, 0xe8076da0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "010-c6.bin", 0x200001, 0x80000, 0xc495c567 ) /* Plane 2,3 */
ROM_END

ROM_START( superspy )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "011-p1.bin", 0x000000, 0x080000, 0xc7f944b5 )
	ROM_LOAD16_WORD_SWAP( "011-p2.bin", 0x080000, 0x020000, 0x811a4faf )

	NEO_SFIX_128K( "011-s1.bin", 0xec5fdb96 )

	NEO_BIOS_SOUND_128K( "011-m1.bin", 0xd59d5d12 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "011-v11.bin", 0x000000, 0x100000, 0x5c674d5c )
	ROM_LOAD( "011-v12.bin", 0x100000, 0x100000, 0x7df8898b )

	ROM_REGION( 0x100000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "011-v21.bin", 0x000000, 0x100000, 0x1ebe94c7 )

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "011-c1.bin", 0x000000, 0x100000, 0xcae7be57 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "011-c2.bin", 0x000001, 0x100000, 0x9e29d986 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "011-c3.bin", 0x200000, 0x100000, 0x14832ff2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "011-c4.bin", 0x200001, 0x100000, 0xb7f63162 ) /* Plane 2,3 */
ROM_END

ROM_START( mutnat )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "014-p1.bin", 0x000000, 0x080000, 0x6f1699c8 )

	NEO_SFIX_128K( "014-s1.bin", 0x99419733 )

	NEO_BIOS_SOUND_128K( "014-m1.bin", 0xb6683092 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "014-v1.bin", 0x000000, 0x100000, 0x25419296 )
	ROM_LOAD( "014-v2.bin", 0x100000, 0x100000, 0x0de53d5e )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "014-c1.bin", 0x000000, 0x100000, 0x5e4381bf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "014-c2.bin", 0x000001, 0x100000, 0x69ba4e18 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "014-c3.bin", 0x200000, 0x100000, 0x890327d5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "014-c4.bin", 0x200001, 0x100000, 0xe4002651 ) /* Plane 2,3 */
ROM_END

ROM_START( kotm )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "016-p1.bin", 0x000000, 0x080000, 0x1b818731 )
	ROM_LOAD16_WORD_SWAP( "016-p2.bin", 0x080000, 0x020000, 0x12afdc2b )

	NEO_SFIX_128K( "016-s1.bin", 0x1a2eeeb3 )

	NEO_BIOS_SOUND_128K( "016-m1.bin", 0x0296abcb )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "016-v1.bin", 0x000000, 0x100000, 0x86c0a502 )
	ROM_LOAD( "016-v2.bin", 0x100000, 0x100000, 0x5bc23ec5 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "016-c1.bin", 0x000000, 0x100000, 0x71471c25 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "016-c2.bin", 0x000001, 0x100000, 0x320db048 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "016-c3.bin", 0x200000, 0x100000, 0x98de7995 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "016-c4.bin", 0x200001, 0x100000, 0x070506e2 ) /* Plane 2,3 */
ROM_END

ROM_START( kotmh )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "016-hp1.bin",0x000000, 0x080000, 0xb774621e )
	ROM_LOAD16_WORD_SWAP( "016-p2.bin", 0x080000, 0x020000, 0x12afdc2b )

	NEO_SFIX_128K( "016-s1.bin", 0x1a2eeeb3 )

	NEO_BIOS_SOUND_128K( "016-m1.bin", 0x0296abcb )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "016-v1.bin", 0x000000, 0x100000, 0x86c0a502 )
	ROM_LOAD( "016-v2.bin", 0x100000, 0x100000, 0x5bc23ec5 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "016-c1.bin", 0x000000, 0x100000, 0x71471c25 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "016-c2.bin", 0x000001, 0x100000, 0x320db048 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "016-c3.bin", 0x200000, 0x100000, 0x98de7995 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "016-c4.bin", 0x200001, 0x100000, 0x070506e2 ) /* Plane 2,3 */
ROM_END

ROM_START( sengoku )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "017-p1.bin", 0x000000, 0x080000, 0xf8a63983 )
	ROM_LOAD16_WORD_SWAP( "017-p2.bin", 0x080000, 0x020000, 0x3024bbb3 )

	NEO_SFIX_128K( "017-s1.bin", 0xb246204d )

	NEO_BIOS_SOUND_128K( "017-m1.bin", 0x9b4f34c6 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "017-v1.bin", 0x000000, 0x100000, 0x23663295 )
	ROM_LOAD( "017-v2.bin", 0x100000, 0x100000, 0xf61e6765 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "017-c1.bin", 0x000000, 0x100000, 0xb4eb82a1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "017-c2.bin", 0x000001, 0x100000, 0xd55c550d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "017-c3.bin", 0x200000, 0x100000, 0xed51ef65 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "017-c4.bin", 0x200001, 0x100000, 0xf4f3c9cb ) /* Plane 2,3 */
ROM_END

ROM_START( sengokh )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "017-p1h.bin", 0x000000, 0x080000, 0x33eccae0 )
	ROM_LOAD16_WORD_SWAP( "017-p2.bin",  0x080000, 0x020000, 0x3024bbb3 )

	NEO_SFIX_128K( "017-s1.bin", 0xb246204d )

	NEO_BIOS_SOUND_128K( "017-m1.bin", 0x9b4f34c6 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "017-v1.bin", 0x000000, 0x100000, 0x23663295 )
	ROM_LOAD( "017-v2.bin", 0x100000, 0x100000, 0xf61e6765 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "017-c1.bin", 0x000000, 0x100000, 0xb4eb82a1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "017-c2.bin", 0x000001, 0x100000, 0xd55c550d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "017-c3.bin", 0x200000, 0x100000, 0xed51ef65 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "017-c4.bin", 0x200001, 0x100000, 0xf4f3c9cb ) /* Plane 2,3 */
ROM_END

ROM_START( burningf )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "018-p1.bin", 0x000000, 0x080000, 0x4092c8db )

	NEO_SFIX_128K( "018-s1.bin", 0x6799ea0d )

	NEO_BIOS_SOUND_128K( "018-m1.bin", 0x0c939ee2 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "018-v1.bin", 0x000000, 0x100000, 0x508c9ffc )
	ROM_LOAD( "018-v2.bin", 0x100000, 0x100000, 0x854ef277 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "018-c1.bin", 0x000000, 0x100000, 0x25a25e9b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "018-c2.bin", 0x000001, 0x100000, 0xd4378876 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "018-c3.bin", 0x200000, 0x100000, 0x862b60da ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "018-c4.bin", 0x200001, 0x100000, 0xe2e0aff7 ) /* Plane 2,3 */
ROM_END

ROM_START( burningh )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "018-p1h.bin", 0x000000, 0x080000, 0xddffcbf4 )

	NEO_SFIX_128K( "018-s1.bin", 0x6799ea0d )

	NEO_BIOS_SOUND_128K( "018-m1.bin", 0x0c939ee2 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "018-v1.bin", 0x000000, 0x100000, 0x508c9ffc )
	ROM_LOAD( "018-v2.bin", 0x100000, 0x100000, 0x854ef277 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "018-c1.bin", 0x000000, 0x100000, 0x25a25e9b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "018-c2.bin", 0x000001, 0x100000, 0xd4378876 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "018-c3.bin", 0x200000, 0x100000, 0x862b60da ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "018-c4.bin", 0x200001, 0x100000, 0xe2e0aff7 ) /* Plane 2,3 */
ROM_END

ROM_START( lbowling )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "019-p1.bin", 0x000000, 0x080000, 0xa2de8445 )

	NEO_SFIX_128K( "019-s1.bin", 0x5fcdc0ed )

	NEO_BIOS_SOUND_128K( "019-m1.bin", 0x589d7f25 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "019-v11.bin", 0x000000, 0x080000, 0x0fb74872 )
	ROM_LOAD( "019-v12.bin", 0x080000, 0x080000, 0x029faa57 )

	ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "019-v21.bin", 0x000000, 0x080000, 0x2efd5ada )

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "019-c1.bin", 0x000000, 0x080000, 0x4ccdef18 )
	ROM_LOAD16_BYTE( "019-c2.bin", 0x000001, 0x080000, 0xd4dd0802 )
ROM_END

ROM_START( gpilots )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "020-p1.bin", 0x000000, 0x080000, 0xe6f2fe64 )
	ROM_LOAD16_WORD_SWAP( "020-p2.bin", 0x080000, 0x020000, 0xedcb22ac )

	NEO_SFIX_128K( "020-s1.bin", 0xa6d83d53 )

	NEO_BIOS_SOUND_128K( "020-m1.bin", 0x48409377 )

	ROM_REGION( 0x180000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "020-v11.bin", 0x000000, 0x100000, 0x1b526c8b )
	ROM_LOAD( "020-v12.bin", 0x100000, 0x080000, 0x4a9e6f03 )

	ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "020-v21.bin", 0x000000, 0x080000, 0x7abf113d )

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "020-c1.bin", 0x000000, 0x100000, 0xbd6fe78e )
	ROM_LOAD16_BYTE( "020-c2.bin", 0x000001, 0x100000, 0x5f4a925c )
	ROM_LOAD16_BYTE( "020-c3.bin", 0x200000, 0x100000, 0xd1e42fd0 )
	ROM_LOAD16_BYTE( "020-c4.bin", 0x200001, 0x100000, 0xedde439b )
ROM_END

ROM_START( joyjoy )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "021-p1.bin", 0x000000, 0x080000, 0x39c3478f )

	NEO_SFIX_128K( "021-s1.bin", 0x6956d778 )

	NEO_BIOS_SOUND_64K( "021-m1.bin", 0x058683ec )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "021-v1.bin", 0x000000, 0x080000, 0x66c1e5c4 )

	ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "021-v2.bin", 0x000000, 0x080000, 0x8ed20a86 )

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "021-c1.bin", 0x000000, 0x080000, 0x509250ec )
	ROM_LOAD16_BYTE( "021-c2.bin", 0x000001, 0x080000, 0x09ed5258 )
ROM_END

ROM_START( bjourney )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "022-p1.bin", 0x000000, 0x100000, 0x6a2f6d4a )

	NEO_SFIX_128K( "022-s1.bin", 0x843c3624 )

	NEO_BIOS_SOUND_64K( "022-m1.bin",  0xa9e30496 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "022-v11.bin", 0x000000, 0x100000, 0x2cb4ad91 )
	ROM_LOAD( "022-v22.bin", 0x100000, 0x100000, 0x65a54d13 )

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "022-c1.bin", 0x000000, 0x100000, 0x4d47a48c )
	ROM_LOAD16_BYTE( "022-c2.bin", 0x000001, 0x100000, 0xe8c1491a )
	ROM_LOAD16_BYTE( "022-c3.bin", 0x200000, 0x080000, 0x66e69753 )
	ROM_LOAD16_BYTE( "022-c4.bin", 0x200001, 0x080000, 0x71bfd48a )
ROM_END

ROM_START( quizdais )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "023-p1.bin", 0x000000, 0x100000, 0xc488fda3 )

	NEO_SFIX_128K( "023-s1.bin", 0xac31818a )

	NEO_BIOS_SOUND_128K( "023-m1.bin", 0x2a2105e0 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "023-v1.bin", 0x000000, 0x100000, 0xa53e5bd3 )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "023-c1.bin", 0x000000, 0x100000, 0x2999535a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "023-c2.bin", 0x000001, 0x100000, 0x876a99e6 ) /* Plane 2,3 */
ROM_END

ROM_START( lresort )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "024-p1.bin", 0x000000, 0x080000, 0x89c4ab97 )

	NEO_SFIX_128K( "024-s1.bin", 0x5cef5cc6 )

	NEO_BIOS_SOUND_128K( "024-m1.bin", 0xcec19742 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "024-v1.bin", 0x000000, 0x100000, 0xefdfa063 )
	ROM_LOAD( "024-v2.bin", 0x100000, 0x100000, 0x3c7997c0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "024-c1.bin", 0x000000, 0x100000, 0x3617c2dc )
	ROM_LOAD16_BYTE( "024-c2.bin", 0x000001, 0x100000, 0x3f0a7fd8 )
	ROM_LOAD16_BYTE( "024-c3.bin", 0x200000, 0x080000, 0xe9f745f8 )
	ROM_LOAD16_BYTE( "024-c4.bin", 0x200001, 0x080000, 0x7382fefb )
ROM_END

ROM_START( eightman )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "025-p1.bin", 0x000000, 0x080000, 0x43344cb0 )

	NEO_SFIX_128K( "025-s1.bin", 0xa402202b )

	NEO_BIOS_SOUND_128K( "025-m1.bin", 0x9927034c )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "025-v1.bin", 0x000000, 0x100000, 0x4558558a )
	ROM_LOAD( "025-v2.bin", 0x100000, 0x100000, 0xc5e052e9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "025-c1.bin", 0x000000, 0x100000, 0x555e16a4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "025-c2.bin", 0x000001, 0x100000, 0xe1ee51c3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "025-c3.bin", 0x200000, 0x080000, 0x0923d5b0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "025-c4.bin", 0x200001, 0x080000, 0xe3eca67b ) /* Plane 2,3 */
ROM_END

ROM_START( minasan )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "027-p1.bin", 0x000000, 0x080000, 0xc8381327 )

	NEO_SFIX_128K( "027-s1.bin", 0xe5824baa )

	NEO_BIOS_SOUND_128K( "027-m1.bin", 0xadd5a226 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "027-v11.bin", 0x000000, 0x100000, 0x59ad4459 )

	ROM_REGION( 0x100000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "027-v21.bin", 0x000000, 0x100000, 0xdf5b4eeb )

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "027-c1.bin", 0x000000, 0x100000, 0xd0086f94 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "027-c2.bin", 0x000001, 0x100000, 0xda61f5a6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "027-c3.bin", 0x200000, 0x100000, 0x08df1228 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "027-c4.bin", 0x200001, 0x100000, 0x54e87696 ) /* Plane 2,3 */
ROM_END

ROM_START( legendos )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "029-p1.bin", 0x000000, 0x080000, 0x9d563f19 )

	NEO_SFIX_128K( "029-s1.bin",  0xbcd502f0 )

	NEO_BIOS_SOUND_64K( "029-m1.bin", 0x909d4ed9 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "029-v1.bin", 0x000000, 0x100000, 0x85065452 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "029-c1.bin", 0x000000, 0x100000, 0x2f5ab875 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "029-c2.bin", 0x000001, 0x100000, 0x318b2711 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "029-c3.bin", 0x200000, 0x100000, 0x6bc52cb2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "029-c4.bin", 0x200001, 0x100000, 0x37ef298c ) /* Plane 2,3 */
ROM_END

ROM_START( 2020bb )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "030-p1.bin", 0x000000, 0x080000, 0xd396c9cb )

	NEO_SFIX_128K( "030-s1.bin", 0x7015b8fc )

	NEO_BIOS_SOUND_128K( "030-m1.bin", 0x4cf466ec )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "030-v1.bin", 0x000000, 0x100000, 0xd4ca364e )
	ROM_LOAD( "030-v2.bin", 0x100000, 0x100000, 0x54994455 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "030-c1.bin", 0x000000, 0x100000, 0x4f5e19bd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "030-c2.bin", 0x000001, 0x100000, 0xd6314bf0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "030-c3.bin", 0x200000, 0x100000, 0x47fddfee ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "030-c4.bin", 0x200001, 0x100000, 0x780d1c4e ) /* Plane 2,3 */
ROM_END

ROM_START( 2020bba )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "030-p1.rom", 0x000000, 0x080000, 0xc59be3dd )

	NEO_SFIX_128K( "030-s1.bin", 0x7015b8fc )

	NEO_BIOS_SOUND_128K( "030-m1.bin", 0x4cf466ec )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "030-v1.bin", 0x000000, 0x100000, 0xd4ca364e )
	ROM_LOAD( "030-v2.bin", 0x100000, 0x100000, 0x54994455 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "030-c1.bin", 0x000000, 0x100000, 0x4f5e19bd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "030-c2.bin", 0x000001, 0x100000, 0xd6314bf0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "030-c3.bin", 0x200000, 0x100000, 0x47fddfee ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "030-c4.bin", 0x200001, 0x100000, 0x780d1c4e ) /* Plane 2,3 */
ROM_END

ROM_START( 2020bbh )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "030-p1h.bin", 0x000000, 0x080000, 0x12d048d7 )

	NEO_SFIX_128K( "030-s1.bin", 0x7015b8fc )

	NEO_BIOS_SOUND_128K( "030-m1.bin", 0x4cf466ec )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "030-v1.bin", 0x000000, 0x100000, 0xd4ca364e )
	ROM_LOAD( "030-v2.bin", 0x100000, 0x100000, 0x54994455 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "030-c1.bin", 0x000000, 0x100000, 0x4f5e19bd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "030-c2.bin", 0x000001, 0x100000, 0xd6314bf0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "030-c3.bin", 0x200000, 0x100000, 0x47fddfee ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "030-c4.bin", 0x200001, 0x100000, 0x780d1c4e ) /* Plane 2,3 */
ROM_END

ROM_START( socbrawl )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "031-p1.bin", 0x000000, 0x080000, 0xa2801c24 )

	NEO_SFIX_64K( "031-s1.bin", 0x2db38c3b )

	NEO_BIOS_SOUND_64K( "031-m1.bin", 0x2f38d5d3 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "031-v1.bin", 0x000000, 0x100000, 0xcc78497e )
	ROM_LOAD( "031-v2.bin", 0x100000, 0x100000, 0xdda043c6 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "031-c1.bin", 0x000000, 0x100000, 0xbd0a4eb8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "031-c2.bin", 0x000001, 0x100000, 0xefde5382 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "031-c3.bin", 0x200000, 0x080000, 0x580f7f33 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "031-c4.bin", 0x200001, 0x080000, 0xed297de8 ) /* Plane 2,3 */
ROM_END

ROM_START( roboarmy )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "032-p1.bin", 0x000000, 0x080000, 0xcd11cbd4 )

	NEO_SFIX_128K( "032-s1.bin", 0xac0daa1b )

	NEO_BIOS_SOUND_128K( "032-m1.bin", 0x98edc671 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "032-v1.bin", 0x000000, 0x100000, 0x63791533 )
	ROM_LOAD( "032-v2.bin", 0x100000, 0x100000, 0xeb95de70 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "032-c1.bin", 0x000000, 0x100000, 0x97984c6c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "032-c2.bin", 0x000001, 0x100000, 0x65773122 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "032-c3.bin", 0x200000, 0x080000, 0x40adfccd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "032-c4.bin", 0x200001, 0x080000, 0x462571de ) /* Plane 2,3 */
ROM_END

ROM_START( roboarma )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "032-p1h.bin", 0x000000, 0x080000, 0x27c773cb )

	NEO_SFIX_128K( "032-s1.bin", 0xac0daa1b )

	NEO_BIOS_SOUND_128K( "032-m1h.bin", 0x35ec952d )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "032-v1.bin", 0x000000, 0x100000, 0x63791533 )
	ROM_LOAD( "032-v2.bin", 0x100000, 0x100000, 0xeb95de70 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "032-c1.bin", 0x000000, 0x100000, 0x97984c6c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "032-c2.bin", 0x000001, 0x100000, 0x65773122 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "032-c3.bin", 0x200000, 0x080000, 0x40adfccd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "032-c4.bin", 0x200001, 0x080000, 0x462571de ) /* Plane 2,3 */
ROM_END

ROM_START( fatfury1 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "033-p1.bin", 0x000000, 0x080000, 0x47ebdc2f )
	ROM_LOAD16_WORD_SWAP( "033-p2.bin", 0x080000, 0x020000, 0xc473af1c )

	NEO_SFIX_128K( "033-s1.bin", 0x3c3bdf8c )

	NEO_BIOS_SOUND_128K( "033-m1.bin", 0xa8603979 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "033-v1.bin", 0x000000, 0x100000, 0x212fd20d )
	ROM_LOAD( "033-v2.bin", 0x100000, 0x100000, 0xfa2ae47f )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "033-c1.bin", 0x000000, 0x100000, 0x74317e54 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "033-c2.bin", 0x000001, 0x100000, 0x5bb952f3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "033-c3.bin", 0x200000, 0x100000, 0x9b714a7c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "033-c4.bin", 0x200001, 0x100000, 0x9397476a ) /* Plane 2,3 */
ROM_END

ROM_START( fbfrenzy )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "034-p1.bin", 0x000000, 0x080000, 0xcdef6b19 )

	NEO_SFIX_128K( "034-s1.bin", 0x8472ed44 )

	NEO_BIOS_SOUND_128K( "034-m1.bin", 0xf41b16b8 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "034-v1.bin", 0x000000, 0x100000, 0x50c9d0dd )
	ROM_LOAD( "034-v2.bin", 0x100000, 0x100000, 0x5aa15686 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "034-c1.bin", 0x000000, 0x100000, 0x91c56e78 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "034-c2.bin", 0x000001, 0x100000, 0x9743ea2f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "034-c3.bin", 0x200000, 0x080000, 0xe5aa65f5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "034-c4.bin", 0x200001, 0x080000, 0x0eb138cc ) /* Plane 2,3 */
ROM_END

ROM_START( bakatono )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "036-p1.bin", 0x000000, 0x080000, 0x1c66b6fa )

	NEO_SFIX_128K( "036-s1.bin", 0xf3ef4485 )

	NEO_BIOS_SOUND_128K( "036-m1.bin", 0xf1385b96 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "036-v1.bin", 0x000000, 0x100000, 0x1c335dce )
	ROM_LOAD( "036-v2.bin", 0x100000, 0x100000, 0xbbf79342 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "036-c1.bin", 0x000000, 0x100000, 0xfe7f1010 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "036-c2.bin", 0x000001, 0x100000, 0xbbf003f5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "036-c3.bin", 0x200000, 0x100000, 0x9ac0708e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "036-c4.bin", 0x200001, 0x100000, 0xf2577d22 ) /* Plane 2,3 */
ROM_END

ROM_START( crsword )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "037-p1.bin", 0x000000, 0x080000, 0xe7f2553c )

	NEO_SFIX_128K( "037-s1.bin", 0x74651f27 )

	NEO_BIOS_SOUND_128K( "037-m1.bin", 0x9c384263 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "037-v1.bin",  0x000000, 0x100000, 0x61fedf65 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "037-c1.bin", 0x000000, 0x100000, 0x09df6892 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "037-c2.bin", 0x000001, 0x100000, 0xac122a78 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "037-c3.bin", 0x200000, 0x100000, 0x9d7ed1ca ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "037-c4.bin", 0x200001, 0x100000, 0x4a24395d ) /* Plane 2,3 */
ROM_END

ROM_START( trally )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "038-p1.bin", 0x000000, 0x080000, 0x1e52a576 )
	ROM_LOAD16_WORD_SWAP( "038-p2.bin", 0x080000, 0x080000, 0xa5193e2f )

	NEO_SFIX_128K( "038-s1.bin", 0xfff62ae3 )

	NEO_BIOS_SOUND_128K( "038-m1.bin", 0x0908707e )

	ROM_REGION( 0x180000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "038-v1.bin", 0x000000, 0x100000, 0x5ccd9fd5 )
	ROM_LOAD( "038-v2.bin", 0x100000, 0x080000, 0xddd8d1e6 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "038-c1.bin", 0x000000, 0x100000, 0xc58323d4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "038-c2.bin", 0x000001, 0x100000, 0xbba9c29e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "038-c3.bin", 0x200000, 0x080000, 0x3bb7b9d6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "038-c4.bin", 0x200001, 0x080000, 0xa4513ecf ) /* Plane 2,3 */
ROM_END

ROM_START( kotm2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "039-p1.bin", 0x000000, 0x080000, 0xb372d54c )
	ROM_LOAD16_WORD_SWAP( "039-p2.bin", 0x080000, 0x080000, 0x28661afe )

	NEO_SFIX_128K( "039-s1.bin", 0x63ee053a )

	NEO_BIOS_SOUND_128K( "039-m1.bin", 0x0c5b2ad5 )

	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "039-v1.bin", 0x000000, 0x200000, 0x86d34b25 )
	ROM_LOAD( "039-v2.bin", 0x200000, 0x100000, 0x8fa62a0b )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "039-c1.bin", 0x000000, 0x100000, 0x6d1c4aa9 ) /* Plane 0,1 */
	ROM_CONTINUE(      			   0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "039-c2.bin", 0x000001, 0x100000, 0xf7b75337 ) /* Plane 2,3 */
	ROM_CONTINUE(      			   0x400001, 0x100000 )
	ROM_LOAD16_BYTE( "039-c3.bin", 0x200000, 0x080000, 0xbfc4f0b2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "039-c4.bin", 0x200001, 0x080000, 0x81c9c250 ) /* Plane 2,3 */
ROM_END

ROM_START( sengoku2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "040-p1.bin", 0x000000, 0x100000, 0x6dde02c2 )

	NEO_SFIX_128K( "040-s1.bin", 0xcd9802a3 )

	NEO_BIOS_SOUND_128K( "040-m1.bin", 0xd4de4bca )

	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "040-v1.bin", 0x000000, 0x200000, 0x71cb4b5d )
	ROM_LOAD( "040-v2.bin", 0x200000, 0x100000, 0xc5cece01 )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "040-c1.bin", 0x000000, 0x100000, 0xfaa8ea99 ) /* Plane 0,1 */
	ROM_CONTINUE(      			0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "040-c2.bin", 0x000001, 0x100000, 0x87d0ec65 ) /* Plane 2,3 */
	ROM_CONTINUE(      			0x400001, 0x100000 )
	ROM_LOAD16_BYTE( "040-c3.bin", 0x200000, 0x080000, 0x24b5ba80 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "040-c4.bin", 0x200001, 0x080000, 0x1c9e9930 ) /* Plane 2,3 */
ROM_END

ROM_START( bstars2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "041-p1.bin", 0x000000, 0x080000, 0x523567fd )

	NEO_SFIX_128K( "041-s1.bin", 0x015c5c94 )

	NEO_BIOS_SOUND_64K( "041-m1.bin", 0xb2611c03 )

	ROM_REGION( 0x280000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "041-v1.bin", 0x000000, 0x100000, 0xcb1da093 )
	ROM_LOAD( "041-v2.bin", 0x100000, 0x100000, 0x1c954a9d )
	ROM_LOAD( "041-v3.bin", 0x200000, 0x080000, 0xafaa0180 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "041-c1.bin", 0x000000, 0x100000, 0xb39a12e1 )
	ROM_LOAD16_BYTE( "041-c2.bin", 0x000001, 0x100000, 0x766cfc2f )
	ROM_LOAD16_BYTE( "041-c3.bin", 0x200000, 0x100000, 0xfb31339d )
	ROM_LOAD16_BYTE( "041-c4.bin", 0x200001, 0x100000, 0x70457a0c )
ROM_END

ROM_START( quizdai2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "042-p1.bin", 0x000000, 0x100000, 0xed719dcf)

	NEO_SFIX_128K( "042-s1.bin", 0x164fd6e6 )

	NEO_BIOS_SOUND_128K( "042-m1.bin", 0xbb19995d )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "042-v1.bin", 0x000000, 0x100000, 0xaf7f8247 )
	ROM_LOAD( "042-v2.bin", 0x100000, 0x100000, 0xc6474b59 )

	NO_DELTAT_REGION

	ROM_REGION( 0x300000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "042-c1.bin", 0x000000, 0x100000, 0xcb5809a1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "042-c2.bin", 0x000001, 0x100000, 0x1436dfeb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "042-c3.bin", 0x200000, 0x080000, 0xbcd4a518 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "042-c4.bin", 0x200001, 0x080000, 0xd602219b ) /* Plane 2,3 */
ROM_END

/*
3countb > corrected Cx
    > do P1 & P2 set exist ? my set is 8Mbit P1
*/

ROM_START( 3countb )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "043-p1.bin", 0x000000, 0x080000, 0xeb2714c4 )
	ROM_LOAD16_WORD_SWAP( "043-p2.bin", 0x080000, 0x080000, 0x5e764567 )

	NEO_SFIX_128K( "043-s1.bin", 0xc362d484 )

	NEO_BIOS_SOUND_128K( "043-m1.bin", 0x3377cda3 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "043-v1.bin", 0x000000, 0x200000, 0x63688ce8 )
	ROM_LOAD( "043-v2.bin", 0x200000, 0x200000, 0xc69a827b )

	NO_DELTAT_REGION

	ROM_REGION( 0x0800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "043-c1.bin", 0x000000, 0x100000, 0xbad2d67f )
	ROM_CONTINUE(      			   0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "043-c2.bin", 0x000001, 0x100000, 0xa7fbda95 )
	ROM_CONTINUE(      			   0x400001, 0x100000 )
	ROM_LOAD16_BYTE( "043-c3.bin", 0x200000, 0x100000, 0xf00be011 )
	ROM_CONTINUE(      			   0x600000, 0x100000 )
	ROM_LOAD16_BYTE( "043-c4.bin", 0x200001, 0x100000, 0x1887e5c0 )
	ROM_CONTINUE(      			   0x600001, 0x100000 )
ROM_END

ROM_START( aof )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "044-p1.bin", 0x000000, 0x080000, 0xca9f7a6d )

	NEO_SFIX_128K( "044-s1.bin", 0x89903f39 )

	NEO_BIOS_SOUND_128K( "044-m1.bin", 0x981345f8 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "044-v2.bin", 0x000000, 0x200000, 0x3ec632ea )
	ROM_LOAD( "044-v4.bin", 0x200000, 0x200000, 0x4b0f8e23 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "044-c1.bin", 0x000000, 0x100000, 0xddab98a7 ) /* Plane 0,1 */
	ROM_CONTINUE(      			 0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "044-c2.bin", 0x000001, 0x100000, 0xd8ccd575 ) /* Plane 2,3 */
	ROM_CONTINUE(      			 0x400001, 0x100000 )
	ROM_LOAD16_BYTE( "044-c3.bin", 0x200000, 0x100000, 0x403e898a ) /* Plane 0,1 */
	ROM_CONTINUE(      			 0x600000, 0x100000 )
	ROM_LOAD16_BYTE( "044-c4.bin", 0x200001, 0x100000, 0x6235fbaa ) /* Plane 2,3 */
	ROM_CONTINUE(      			 0x600001, 0x100000 )
ROM_END

ROM_START( samsho )
	ROM_REGION( 0x180000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "045-p1.bin", 0x000000, 0x080000, 0x80aa6c97 )
	ROM_LOAD16_WORD_SWAP( "045-p2.bin", 0x080000, 0x080000, 0x71768728 )
	ROM_LOAD16_WORD_SWAP( "045-p3.bin", 0x100000, 0x080000, 0x38ee9ba9 )

	NEO_SFIX_128K( "045-s1.bin", 0x9142a4d3 )

	NEO_BIOS_SOUND_128K( "045-m1.bin", 0x95170640 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "045-v1.bin", 0x000000, 0x200000, 0x37f78a9b )
	ROM_LOAD( "045-v2.bin", 0x200000, 0x200000, 0x568b20cf )

	NO_DELTAT_REGION

	ROM_REGION( 0x900000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "045-c1.bin", 0x000000, 0x200000, 0x2e5873a4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "045-c2.bin", 0x000001, 0x200000, 0x04febb10 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "045-c3.bin", 0x400000, 0x200000, 0xf3dabd1e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "045-c4.bin", 0x400001, 0x200000, 0x935c62f0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "045-c5.bin", 0x800000, 0x080000, 0xa2bb8284 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "045-c6.bin", 0x800001, 0x080000, 0x4fa71252 ) /* Plane 2,3 */
ROM_END

ROM_START( tophuntr )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "046-p1.bin", 0x000000, 0x100000, 0x69fa9e29 )
	ROM_LOAD16_WORD_SWAP( "046-p2.sp2", 0x100000, 0x100000, 0xf182cb3e )

	NEO_SFIX_128K( "046-s1.bin", 0x14b01d7b )

	NEO_BIOS_SOUND_128K( "046-m1.bin", 0x3f84bb9f )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "046-v1.bin", 0x000000, 0x100000, 0xc1f9c2db )
	ROM_LOAD( "046-v2.bin", 0x100000, 0x100000, 0x56254a64 )
	ROM_LOAD( "046-v3.bin", 0x200000, 0x100000, 0x58113fb1 )
	ROM_LOAD( "046-v4.bin", 0x300000, 0x100000, 0x4f54c187 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "046-c1.bin", 0x000000, 0x100000, 0xfa720a4a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c2.bin", 0x000001, 0x100000, 0xc900c205 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "046-c3.bin", 0x200000, 0x100000, 0x880e3c25 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c4.bin", 0x200001, 0x100000, 0x7a2248aa ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "046-c5.bin", 0x400000, 0x100000, 0x4b735e45 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c6.bin", 0x400001, 0x100000, 0x273171df ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "046-c7.bin", 0x600000, 0x100000, 0x12829c4c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c8.bin", 0x600001, 0x100000, 0xc944e03d ) /* Plane 2,3 */
ROM_END

ROM_START( tophunta )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "046-pg1.bin",0x000000, 0x100000, 0x771e39bc )
	ROM_LOAD16_WORD_SWAP( "046-p2.sp2", 0x100000, 0x100000, 0xf182cb3e )

	NEO_SFIX_128K( "046-s1.bin", 0x14b01d7b )

	NEO_BIOS_SOUND_128K( "046-m1.bin", 0x3f84bb9f )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "046-v1.bin", 0x000000, 0x100000, 0xc1f9c2db )
	ROM_LOAD( "046-v2.bin", 0x100000, 0x100000, 0x56254a64 )
	ROM_LOAD( "046-v3.bin", 0x200000, 0x100000, 0x58113fb1 )
	ROM_LOAD( "046-v4.bin", 0x300000, 0x100000, 0x4f54c187 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "046-c1.bin", 0x000000, 0x100000, 0xfa720a4a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c2.bin", 0x000001, 0x100000, 0xc900c205 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "046-c3.bin", 0x200000, 0x100000, 0x880e3c25 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c4.bin", 0x200001, 0x100000, 0x7a2248aa ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "046-c5.bin", 0x400000, 0x100000, 0x4b735e45 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c6.bin", 0x400001, 0x100000, 0x273171df ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "046-c7.bin", 0x600000, 0x100000, 0x12829c4c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "046-c8.bin", 0x600001, 0x100000, 0xc944e03d ) /* Plane 2,3 */
ROM_END

ROM_START( fatfury2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "047-p1.bin", 0x000000, 0x080000, 0xbe40ea92 )
	ROM_LOAD16_WORD_SWAP( "047-p2.bin", 0x080000, 0x080000, 0x2a9beac5 )

	NEO_SFIX_128K( "047-s1.bin", 0xd7dbbf39 )

	NEO_BIOS_SOUND_128K( "047-m1.bin", 0x820b0ba7 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "047-v1.bin", 0x000000, 0x200000, 0xd9d00784 )
	ROM_LOAD( "047-v2.bin", 0x200000, 0x200000, 0x2c9a4b33 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "047-c1.bin", 0x000000, 0x100000, 0xf72a939e ) /* Plane 0,1 */
	ROM_CONTINUE(      			   0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "047-c2.bin", 0x000001, 0x100000, 0x05119a0d ) /* Plane 2,3 */
	ROM_CONTINUE(      			   0x400001, 0x100000 )
	ROM_LOAD16_BYTE( "047-c3.bin", 0x200000, 0x100000, 0x01e00738 ) /* Plane 0,1 */
	ROM_CONTINUE(      			   0x600000, 0x100000 )
	ROM_LOAD16_BYTE( "047-c4.bin", 0x200001, 0x100000, 0x9fe27432 ) /* Plane 2,3 */
	ROM_CONTINUE(      			   0x600001, 0x100000 )
ROM_END

ROM_START( janshin )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "048-p1.bin", 0x000000, 0x100000, 0x7514cb7a )

	NEO_SFIX_128K( "048-s1.bin", 0x8285b25a )

	NEO_BIOS_SOUND_64K( "048-m1.bin", 0xe191f955 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "048-v1.bin", 0x000000, 0x200000, 0xf1947d2b )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "048-c1.bin", 0x000000, 0x200000, 0x3fa890e9 )
	ROM_LOAD16_BYTE( "048-c2.bin", 0x000001, 0x200000, 0x59c48ad8 )
ROM_END

ROM_START( androdun )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "049-p1.bin", 0x000000, 0x080000, 0x3b857da2 )
	ROM_LOAD16_WORD_SWAP( "049-p2.bin", 0x080000, 0x080000, 0x2f062209 )

	NEO_SFIX_128K( "049-s1.bin", 0x6349de5d )

	NEO_BIOS_SOUND_128K( "049-m1.bin", 0x1a009f8c )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "049-v1.bin", 0x000000, 0x080000, 0x577c85b3 )
	ROM_LOAD( "049-v2.bin", 0x080000, 0x080000, 0xe14551c4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "049-c1.bin", 0x000000, 0x100000, 0x7ace6db3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "049-c2.bin", 0x000001, 0x100000, 0xb17024f7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "049-c3.bin", 0x200000, 0x100000, 0x2e0f3f9a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "049-c4.bin", 0x200001, 0x100000, 0x4a19fb92 ) /* Plane 2,3 */
ROM_END

ROM_START( ncommand )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "050-p1.bin", 0x000000, 0x100000, 0x4e097c40 )

	NEO_SFIX_128K( "050-s1.bin", 0xdb8f9c8e )

	NEO_BIOS_SOUND_128K( "050-m1.bin", 0x6fcf07d3 )

	ROM_REGION( 0x180000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "050-v1.bin", 0x000000, 0x100000, 0x23c3ab42 )
	ROM_LOAD( "050-v2.bin", 0x100000, 0x080000, 0x80b8a984 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "050-c1.bin", 0x000000, 0x100000, 0x87421a0a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "050-c2.bin", 0x000001, 0x100000, 0xc4cf5548 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "050-c3.bin", 0x200000, 0x100000, 0x03422c1e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "050-c4.bin", 0x200001, 0x100000, 0x0845eadb ) /* Plane 2,3 */
ROM_END

ROM_START( viewpoin )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "051-p1.bin", 0x000000, 0x100000, 0x17aa899d )

	NEO_SFIX_64K( "051-s1.bin", 0x6d0f146a )

	NEO_BIOS_SOUND_64K( "051-m1.bin", 0xd57bd7af )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "051-v1.bin", 0x000000, 0x200000, 0x019978b6 )
	ROM_LOAD( "051-v2.bin", 0x200000, 0x200000, 0x5758f38c )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "051-c1.bin", 0x000000, 0x100000, 0xd624c132 )
	ROM_CONTINUE(      			   0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "051-c2.bin", 0x000001, 0x100000, 0x40d69f1e )
	ROM_CONTINUE(      			   0x400001, 0x100000 )
ROM_END

ROM_START( ssideki )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "052-p1.bin", 0x000000, 0x080000, 0x9cd97256 )

	NEO_SFIX_128K( "052-s1.bin", 0x97689804 )

	NEO_BIOS_SOUND_128K( "052-m1.bin", 0x49f17d2d )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "052-v1.bin", 0x000000, 0x200000, 0x22c097a5 )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "052-c1.bin", 0x000000, 0x100000, 0x53e1c002 ) /* Plane 0,1 */
	ROM_CONTINUE(      			   0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "052-c2.bin", 0x000001, 0x100000, 0x776a2d1f ) /* Plane 2,3 */
	ROM_CONTINUE(      			   0x400001, 0x100000 )
ROM_END

ROM_START( wh1 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "053-p1.bin", 0x000000, 0x080000, 0x95b574cb )
	ROM_LOAD16_WORD_SWAP( "053-p2.bin", 0x080000, 0x080000, 0xf198ed45 )

	NEO_SFIX_128K( "053-s1.bin", 0x8c2c2d6b )

	NEO_BIOS_SOUND_128K( "053-m1.bin", 0x1bd9d04b )

	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "053-v2.bin", 0x000000, 0x200000, 0xa68df485 )
	ROM_LOAD( "053-v4.bin", 0x200000, 0x100000, 0x7bea8f66 )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "053-c1.bin", 0x000000, 0x100000, 0x85eb5bce ) /* Plane 0,1 */
	ROM_CONTINUE(      			0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "053-c2.bin", 0x000001, 0x100000, 0xec93b048 ) /* Plane 2,3 */
	ROM_CONTINUE(      			0x400001, 0x100000 )
	ROM_LOAD16_BYTE( "053-c3.bin", 0x200000, 0x100000, 0x0dd64965 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "053-c4.bin", 0x200001, 0x100000, 0x9270d954 ) /* Plane 2,3 */
ROM_END

ROM_START( wh1h )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "053-p1.rom", 0x000000, 0x080000, 0xed29fde2 )
	ROM_LOAD16_WORD_SWAP( "053-p2.rom", 0x080000, 0x080000, 0x98f2b158 )

	NEO_SFIX_128K( "053-s1.bin", 0x8c2c2d6b )

	NEO_BIOS_SOUND_128K( "053-m1.bin", 0x1bd9d04b )

	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "053-v2.bin", 0x000000, 0x200000, 0xa68df485 )
	ROM_LOAD( "053-v4.bin", 0x200000, 0x100000, 0x7bea8f66 )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "053-c1.bin", 0x000000, 0x100000, 0x85eb5bce ) /* Plane 0,1 */
	ROM_CONTINUE(      			0x400000, 0x100000 )
	ROM_LOAD16_BYTE( "053-c2.bin", 0x000001, 0x100000, 0xec93b048 ) /* Plane 2,3 */
	ROM_CONTINUE(      			0x400001, 0x100000 )
	ROM_LOAD16_BYTE( "053-c3.bin", 0x200000, 0x100000, 0x0dd64965 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "053-c4.bin", 0x200001, 0x100000, 0x9270d954 ) /* Plane 2,3 */
ROM_END

ROM_START( kof94 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "055-p1.bin", 0x100000, 0x100000, 0xf10a2042 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "055-s1.bin", 0x825976c1 )

	NEO_BIOS_SOUND_128K( "055-m1.bin", 0xf6e77cf5 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "055-v1.bin", 0x000000, 0x200000, 0x8889596d )
	ROM_LOAD( "055-v2.bin", 0x200000, 0x200000, 0x25022b27 )
	ROM_LOAD( "055-v3.bin", 0x400000, 0x200000, 0x83cf32c0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "055-c1.bin", 0x000000, 0x200000, 0xb96ef460 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "055-c2.bin", 0x000001, 0x200000, 0x15e096a7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "055-c3.bin", 0x400000, 0x200000, 0x54f66254 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "055-c4.bin", 0x400001, 0x200000, 0x0b01765f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "055-c5.bin", 0x800000, 0x200000, 0xee759363 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "055-c6.bin", 0x800001, 0x200000, 0x498da52c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "055-c7.bin", 0xc00000, 0x200000, 0x62f66888 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "055-c8.bin", 0xc00001, 0x200000, 0xfe0a235d ) /* Plane 2,3 */
ROM_END

ROM_START( aof2 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "056-p1.bin", 0x000000, 0x100000, 0xa3b1d021 )

	NEO_SFIX_128K( "056-s1.bin", 0x8b02638e )

	NEO_BIOS_SOUND_128K( "056-m1.bin", 0xf27e9d52 )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "056-v1.bin", 0x000000, 0x200000, 0x4628fde0 )
	ROM_LOAD( "056-v2.bin", 0x200000, 0x200000, 0xb710e2f2 )
	ROM_LOAD( "056-v3.bin", 0x400000, 0x100000, 0xd168c301 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "056-c1.bin", 0x000000, 0x200000, 0x17b9cbd2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c2.bin", 0x000001, 0x200000, 0x5fd76b67 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "056-c3.bin", 0x400000, 0x200000, 0xd2c88768 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c4.bin", 0x400001, 0x200000, 0xdb39b883 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "056-c5.bin", 0x800000, 0x200000, 0xc3074137 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c6.bin", 0x800001, 0x200000, 0x31de68d3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "056-c7.bin", 0xc00000, 0x200000, 0x3f36df57 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c8.bin", 0xc00001, 0x200000, 0xe546d7a8 ) /* Plane 2,3 */
ROM_END

ROM_START( aof2a ) /* make parent? */
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "056-p1.bin", 0x000000, 0x100000, 0xa3b1d021 )
	ROM_LOAD16_WORD_SWAP( "056-ep1.bin", 0x000000, 0x80000, 0x75d6301c ) /* updated revision, loads over the first 512kb */

	NEO_SFIX_128K( "056-s1.bin", 0x8b02638e )

	NEO_BIOS_SOUND_128K( "056-m1.bin", 0xf27e9d52 )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "056-v1.bin", 0x000000, 0x200000, 0x4628fde0 )
	ROM_LOAD( "056-v2.bin", 0x200000, 0x200000, 0xb710e2f2 )
	ROM_LOAD( "056-v3.bin", 0x400000, 0x100000, 0xd168c301 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "056-c1.bin", 0x000000, 0x200000, 0x17b9cbd2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c2.bin", 0x000001, 0x200000, 0x5fd76b67 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "056-c3.bin", 0x400000, 0x200000, 0xd2c88768 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c4.bin", 0x400001, 0x200000, 0xdb39b883 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "056-c5.bin", 0x800000, 0x200000, 0xc3074137 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c6.bin", 0x800001, 0x200000, 0x31de68d3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "056-c7.bin", 0xc00000, 0x200000, 0x3f36df57 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "056-c8.bin", 0xc00001, 0x200000, 0xe546d7a8 ) /* Plane 2,3 */
ROM_END

ROM_START( wh2 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "057-p1.bin", 0x100000, 0x100000, 0x65a891d9 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "057-s1.bin", 0xfcaeb3a4 )

	NEO_BIOS_SOUND_128K( "057-m1.bin", 0x8fa3bc77 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "057-v1.bin", 0x000000, 0x200000, 0x8877e301 )
	ROM_LOAD( "057-v2.bin", 0x200000, 0x200000, 0xc1317ff4 )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "057-c1.bin", 0x000000, 0x200000, 0x21c6bb91 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "057-c2.bin", 0x000001, 0x200000, 0xa3999925 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "057-c3.bin", 0x400000, 0x200000, 0xb725a219 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "057-c4.bin", 0x400001, 0x200000, 0x8d96425e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "057-c5.bin", 0x800000, 0x200000, 0xb20354af ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "057-c6.bin", 0x800001, 0x200000, 0xb13d1de3 ) /* Plane 2,3 */
ROM_END

ROM_START( fatfursp )
	ROM_REGION( 0x180000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "058-p1.bin", 0x000000, 0x100000, 0x2f585ba2 )
	ROM_LOAD16_WORD_SWAP( "058-p2.bin", 0x100000, 0x080000, 0xd7c71a6b )

	NEO_SFIX_128K( "058-s1.bin", 0x2df03197 )

	NEO_BIOS_SOUND_128K( "058-m1.bin", 0xccc5186e )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "058-v1.bin", 0x000000, 0x200000, 0x55d7ce84 )
	ROM_LOAD( "058-v2.bin", 0x200000, 0x200000, 0xee080b10 )
	ROM_LOAD( "058-v3.bin", 0x400000, 0x100000, 0xf9eb3d4a )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "058-c1.bin", 0x000000, 0x200000, 0x044ab13c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "058-c2.bin", 0x000001, 0x200000, 0x11e6bf96 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "058-c3.bin", 0x400000, 0x200000, 0x6f7938d5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "058-c4.bin", 0x400001, 0x200000, 0x4ad066ff ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "058-c5.bin", 0x800000, 0x200000, 0x49c5e0bf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "058-c6.bin", 0x800001, 0x200000, 0x8ff1f43d ) /* Plane 2,3 */
ROM_END

ROM_START( fatfursa )
	ROM_REGION( 0x180000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "058-p1.bin", 0x000000, 0x100000, 0x2f585ba2 )
	ROM_LOAD16_WORD_SWAP( "058-p2.bin", 0x100000, 0x080000, 0xd7c71a6b )
	/* the rom below acts as a patch to the program rom in the cart, replacing the first 512kb */
	ROM_LOAD16_WORD_SWAP( "058-ep1.bin", 0x000000, 0x080000, 0x9f0c1e1a )

	NEO_SFIX_128K( "058-s1.bin", 0x2df03197 )

	NEO_BIOS_SOUND_128K( "058-m1.bin", 0xccc5186e )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "058-v1.bin", 0x000000, 0x200000, 0x55d7ce84 )
	ROM_LOAD( "058-v2.bin", 0x200000, 0x200000, 0xee080b10 )
	ROM_LOAD( "058-v3.bin", 0x400000, 0x100000, 0xf9eb3d4a )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "058-c1.bin", 0x000000, 0x200000, 0x044ab13c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "058-c2.bin", 0x000001, 0x200000, 0x11e6bf96 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "058-c3.bin", 0x400000, 0x200000, 0x6f7938d5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "058-c4.bin", 0x400001, 0x200000, 0x4ad066ff ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "058-c5.bin", 0x800000, 0x200000, 0x49c5e0bf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "058-c6.bin", 0x800001, 0x200000, 0x8ff1f43d ) /* Plane 2,3 */
ROM_END

ROM_START( savagere )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "savag_p1.rom", 0x100000, 0x100000, 0x01d4e9c0 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "savag_s1.rom", 0xe08978ca )

	NEO_BIOS_SOUND_128K( "savag_m1.rom", 0x29992eba )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "savag_v1.rom", 0x000000, 0x200000, 0x530c50fd )
	ROM_LOAD( "savag_v2.rom", 0x200000, 0x200000, 0xeb6f1cdb )
	ROM_LOAD( "savag_v3.rom", 0x400000, 0x200000, 0x7038c2f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "savag_c1.rom", 0x000000, 0x200000, 0x763ba611 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "savag_c2.rom", 0x000001, 0x200000, 0xe05e8ca6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "savag_c3.rom", 0x400000, 0x200000, 0x3e4eba4b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "savag_c4.rom", 0x400001, 0x200000, 0x3c2a3808 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "savag_c5.rom", 0x800000, 0x200000, 0x59013f9e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "savag_c6.rom", 0x800001, 0x200000, 0x1c8d5def ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "savag_c7.rom", 0xc00000, 0x200000, 0xc88f7035 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "savag_c8.rom", 0xc00001, 0x200000, 0x484ce3ba ) /* Plane 2,3 */
ROM_END

ROM_START( fightfev )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "060-p1.bin", 0x000000, 0x080000, 0x3032041b )
	ROM_LOAD16_WORD_SWAP( "060-p2.bin", 0x080000, 0x080000, 0xb0801d5f )

	NEO_SFIX_128K( "060-s1.bin", 0x70727a1e )

	NEO_BIOS_SOUND_128K( "060-m1.bin", 0x0b7c4e65 )

	ROM_REGION(  0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "060-v1.bin", 0x000000, 0x200000, 0xf417c215 )
	ROM_LOAD( "060-v2.bin", 0x200000, 0x100000, 0x64470036 )

	NO_DELTAT_REGION

	ROM_REGION( 0x0800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "060-c1.bin", 0x0000000, 0x200000, 0x8908fff9 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "060-c2.bin", 0x0000001, 0x200000, 0xc6649492 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "060-c3.bin", 0x0400000, 0x200000, 0x0956b437 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "060-c4.bin", 0x0400001, 0x200000, 0x026f3b62 ) /* Plane 2,3 */
ROM_END

ROM_START( fightfva )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "060-p1a.bin", 0x0000000, 0x100000, 0x2a104b50 )
	/* there was also a copy of the 060-p1.bin with the name 060-p2.bin maybe it should be loaded over the top or this
	   larger rom is an older revision... */

	NEO_SFIX_128K( "060-s1.bin", 0x70727a1e )

	NEO_BIOS_SOUND_128K( "060-m1.bin", 0x0b7c4e65 )

	ROM_REGION(  0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "060-v1.bin", 0x000000, 0x200000, 0xf417c215 )
	ROM_LOAD( "060-v2.bin", 0x200000, 0x100000, 0x64470036 )

	NO_DELTAT_REGION

	ROM_REGION( 0x0800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "060-c1.bin", 0x0000000, 0x200000, 0x8908fff9 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "060-c2.bin", 0x0000001, 0x200000, 0xc6649492 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "060-c3.bin", 0x0400000, 0x200000, 0x0956b437 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "060-c4.bin", 0x0400001, 0x200000, 0x026f3b62 ) /* Plane 2,3 */
ROM_END

ROM_START( ssideki2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "061-p1.bin", 0x000000, 0x100000, 0x5969e0dc )

	NEO_SFIX_128K( "061-s1.bin", 0x226d1b68 )

	NEO_BIOS_SOUND_128K( "061-m1.bin", 0x156f6951 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "061-v1.bin", 0x000000, 0x200000, 0xf081c8d3 )
	ROM_LOAD( "061-v2.bin", 0x200000, 0x200000, 0x7cd63302 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "061-c1.bin", 0x000000, 0x200000, 0xa626474f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "061-c2.bin", 0x000001, 0x200000, 0xc3be42ae ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "061-c3.bin", 0x400000, 0x200000, 0x2a7b98b9 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "061-c4.bin", 0x400001, 0x200000, 0xc0be9a1f ) /* Plane 2,3 */
ROM_END

ROM_START( spinmast )
	ROM_REGION( 0x180000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "062-p1.bin", 0x000000, 0x100000, 0x37aba1aa )
	ROM_LOAD16_WORD_SWAP( "062-p2.bin", 0x100000, 0x080000, 0x43763ad2 )

	NEO_SFIX_128K( "062-s1.bin", 0x289e2bbe )

	NEO_BIOS_SOUND_128K( "062-m1.bin", 0x76108b2f )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "062-v1.bin", 0x000000, 0x100000, 0xcc281aef )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "062-c1.bin", 0x000000, 0x100000, 0xa9375aa2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "062-c2.bin", 0x000001, 0x100000, 0x0e73b758 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "062-c3.bin", 0x200000, 0x100000, 0xdf51e465 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "062-c4.bin", 0x200001, 0x100000, 0x38517e90 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "062-c5.bin", 0x400000, 0x100000, 0x7babd692 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "062-c6.bin", 0x400001, 0x100000, 0xcde5ade5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "062-c7.bin", 0x600000, 0x100000, 0xbb2fd7c0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "062-c8.bin", 0x600001, 0x100000, 0x8d7be933 ) /* Plane 2,3 */
ROM_END

ROM_START( samsho2 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "063-p1.bin", 0x100000, 0x100000, 0x22368892 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "063-s1.bin", 0x64a5cd66 )

	NEO_BIOS_SOUND_128K( "063-m1.bin", 0x56675098 )

	ROM_REGION( 0x700000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "063-v1.bin", 0x000000, 0x200000, 0x37703f91 )
	ROM_LOAD( "063-v2.bin", 0x200000, 0x200000, 0x0142bde8 )
	ROM_LOAD( "063-v3.bin", 0x400000, 0x200000, 0xd07fa5ca )
	ROM_LOAD( "063-v4.bin", 0x600000, 0x100000, 0x24aab4bb )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "063-c1.bin", 0x000000, 0x200000, 0x86cd307c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "063-c2.bin", 0x000001, 0x200000, 0xcdfcc4ca ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "063-c3.bin", 0x400000, 0x200000, 0x7a63ccc7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "063-c4.bin", 0x400001, 0x200000, 0x751025ce ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "063-c5.bin", 0x800000, 0x200000, 0x20d3a475 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "063-c6.bin", 0x800001, 0x200000, 0xae4c0a88 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "063-c7.bin", 0xc00000, 0x200000, 0x2df3cbcf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "063-c8.bin", 0xc00001, 0x200000, 0x1ffc6dfa ) /* Plane 2,3 */
ROM_END

ROM_START( wh2j )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "064-p1.bin", 0x100000, 0x100000, 0x385a2e86 )
	ROM_CONTINUE(					   0x000000, 0x100000 )

	NEO_SFIX_128K( "064-s1.bin", 0x2a03998a )

	NEO_BIOS_SOUND_128K( "064-m1.bin", 0xd2eec9d3 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "064-v1.bin", 0x000000, 0x200000, 0xaa277109 )
	ROM_LOAD( "064-v2.bin", 0x200000, 0x200000, 0xb6527edd )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "064-c1.bin", 0x000000, 0x200000, 0x2ec87cea ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "064-c2.bin", 0x000001, 0x200000, 0x526b81ab ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "064-c3.bin", 0x400000, 0x200000, 0x436d1b31 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "064-c4.bin", 0x400001, 0x200000, 0xf9c8dd26 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "064-c5.bin", 0x800000, 0x200000, 0x8e34a9f4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "064-c6.bin", 0x800001, 0x200000, 0xa43e4766 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "064-c7.bin", 0xc00000, 0x200000, 0x59d97215 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "064-c8.bin", 0xc00001, 0x200000, 0xfc092367 ) /* Plane 0,1 */
ROM_END

ROM_START( wjammers )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "065-p1.bin", 0x000000, 0x100000, 0x6692c140 )

	NEO_SFIX_128K( "065-s1.bin", 0x074b5723 )

	NEO_BIOS_SOUND_128K( "065-m1.bin", 0x52c23cfc )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "065-v1.bin", 0x000000, 0x100000, 0xce8b3698 )
	ROM_LOAD( "065-v2.bin", 0x100000, 0x100000, 0x659f9b96 )
	ROM_LOAD( "065-v3.bin", 0x200000, 0x100000, 0x39f73061 )
	ROM_LOAD( "065-v4.bin", 0x300000, 0x100000, 0x5dee7963 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "065-c1.bin", 0x000000, 0x100000, 0xc7650204 )
	ROM_LOAD16_BYTE( "065-c2.bin", 0x000001, 0x100000, 0xd9f3e71d )
	ROM_LOAD16_BYTE( "065-c3.bin", 0x200000, 0x100000, 0x40986386 )
	ROM_LOAD16_BYTE( "065-c4.bin", 0x200001, 0x100000, 0x715e15ff )
ROM_END

ROM_START( karnovr )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "066-p1.bin", 0x000000, 0x100000, 0x8c86fd22 )

	NEO_SFIX_128K( "066-s1.bin", 0xbae5d5e5 )

	NEO_BIOS_SOUND_128K( "066-m1.bin", 0x030beae4 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "066-v1.bin", 0x000000, 0x200000, 0x0b7ea37a )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "066-c1.bin", 0x000000, 0x200000, 0x09dfe061 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "066-c2.bin", 0x000001, 0x200000, 0xe0f6682a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "066-c3.bin", 0x400000, 0x200000, 0xa673b4f7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "066-c4.bin", 0x400001, 0x200000, 0xcb3dc5f4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "066-c5.bin", 0x800000, 0x200000, 0x9a28785d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "066-c6.bin", 0x800001, 0x200000, 0xc15c01ed ) /* Plane 2,3 */
ROM_END

ROM_START( gururin )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "067-p1.bin", 0x000000, 0x80000, 0x4cea8a49 )

	NEO_SFIX_128K( "067-s1.bin", 0x4f0cbd58 )

	NEO_BIOS_SOUND_64K( "067-m1.bin", 0x833cdf1b )

	ROM_REGION( 0x80000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "067-v1.bin", 0x000000, 0x80000, 0xcf23afd0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "067-c1.bin", 0x000000, 0x200000, 0x35866126 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "067-c2.bin", 0x000001, 0x200000, 0x9db64084 ) /* Plane 2,3 */
ROM_END

ROM_START( pspikes2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "068-p1.bin", 0x000000, 0x100000, 0x105a408f )

	NEO_SFIX_128K( "068-s1.bin", 0x18082299 )

	NEO_BIOS_SOUND_128K( "068-m1.bin", 0xb1c7911e )

	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "068-v1.bin", 0x000000, 0x100000, 0x2ced86df )
	ROM_LOAD( "068-v2.bin", 0x100000, 0x100000, 0x970851ab )
	ROM_LOAD( "068-v3.bin", 0x200000, 0x100000, 0x81ff05aa )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "068-c1.bin", 0x000000, 0x100000, 0x7f250f76 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "068-c2.bin", 0x000001, 0x100000, 0x20912873 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "068-c3.bin", 0x200000, 0x100000, 0x4b641ba1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "068-c4.bin", 0x200001, 0x100000, 0x35072596 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "068-c5.bin", 0x400000, 0x100000, 0x151dd624 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "068-c6.bin", 0x400001, 0x100000, 0xa6722604 ) /* Plane 2,3 */
ROM_END

ROM_START( fatfury3 )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "069-p1.bin", 0x000000, 0x100000, 0xa8bcfbbc )
	ROM_LOAD16_WORD_SWAP( "069-p2.bin", 0x100000, 0x200000, 0xdbe963ed )

	NEO_SFIX_128K( "069-s1.bin", 0x0b33a800 )

	NEO_BIOS_SOUND_128K( "069-m1.bin", 0xfce72926 )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "069-v1.bin", 0x000000, 0x400000, 0x2bdbd4db )
	ROM_LOAD( "069-v2.bin", 0x400000, 0x400000, 0xa698a487 )
	ROM_LOAD( "069-v3.bin", 0x800000, 0x200000, 0x581c5304 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "069-c1.bin", 0x0000000, 0x400000, 0xe302f93c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "069-c2.bin", 0x0000001, 0x400000, 0x1053a455 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "069-c3.bin", 0x0800000, 0x400000, 0x1c0fde2f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "069-c4.bin", 0x0800001, 0x400000, 0xa25fc3d0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "069-c5.bin", 0x1000000, 0x200000, 0xb3ec6fa6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "069-c6.bin", 0x1000001, 0x200000, 0x69210441 ) /* Plane 2,3 */
ROM_END

ROM_START( panicbom )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "073-p1.bin", 0x000000, 0x040000, 0x0b21130d )

	NEO_SFIX_128K( "073-s1.bin", 0xb876de7e )

	NEO_BIOS_SOUND_128K( "073-m1.bin", 0x3cdf5d88 )

	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "073-v1.bin", 0x000000, 0x200000, 0x7fc86d2f )
	ROM_LOAD( "073-v2.bin", 0x200000, 0x100000, 0x082adfc7 )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "073-c1.bin", 0x000000, 0x100000, 0x8582e1b5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "073-c2.bin", 0x000001, 0x100000, 0xe15a093b ) /* Plane 2,3 */
ROM_END

ROM_START( aodk )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "074-p1.bin", 0x100000, 0x100000, 0x62369553 )
	ROM_CONTINUE(					   0x000000, 0x100000 )

	NEO_SFIX_128K( "074-s1.bin", 0x96148d2b )

	NEO_BIOS_SOUND_128K( "074-m1.bin", 0x5a52a9d1 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "074-v1.bin", 0x000000, 0x200000, 0x7675b8fa )
	ROM_LOAD( "074-v2.bin", 0x200000, 0x200000, 0xa9da86e9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "074-c1.bin", 0x000000, 0x200000, 0xa0b39344 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "074-c2.bin", 0x000001, 0x200000, 0x203f6074 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "074-c3.bin", 0x400000, 0x200000, 0x7fff4d41 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "074-c4.bin", 0x400001, 0x200000, 0x48db3e0a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "074-c5.bin", 0x800000, 0x200000, 0xc74c5e51 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "074-c6.bin", 0x800001, 0x200000, 0x73e8e7e0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "074-c7.bin", 0xc00000, 0x200000, 0xac7daa01 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "074-c8.bin", 0xc00001, 0x200000, 0x14e7ad71 ) /* Plane 2,3 */
ROM_END

ROM_START( sonicwi2 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "075-p1.bin", 0x100000, 0x100000, 0x92871738 )
	ROM_CONTINUE(                         0x000000, 0x100000 )

	NEO_SFIX_128K( "075-s1.bin", 0xc9eec367 )

	NEO_BIOS_SOUND_128K( "075-m1.bin", 0xbb828df1 )

	ROM_REGION( 0x280000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "075-v1.bin", 0x000000, 0x200000, 0x7577e949 )
	ROM_LOAD( "075-v2.bin", 0x200000, 0x080000, 0x6d0a728e )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "075-c1.bin", 0x000000, 0x200000, 0x3278e73e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "075-c2.bin", 0x000001, 0x200000, 0xfe6355d6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "075-c3.bin", 0x400000, 0x200000, 0xc1b438f1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "075-c4.bin", 0x400001, 0x200000, 0x1f777206 ) /* Plane 2,3 */
ROM_END

ROM_START( zedblade )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "076-p1.bin", 0x000000, 0x080000, 0xd7c1effd )

	NEO_SFIX_128K( "076-s1.bin", 0xf4c25dd5 )

	NEO_BIOS_SOUND_128K( "076-m1.bin", 0x7b5f3d0a )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "076-v1.bin", 0x000000, 0x200000, 0x1a21d90c )
	ROM_LOAD( "076-v2.bin", 0x200000, 0x200000, 0xb61686c3 )
	ROM_LOAD( "076-v3.bin", 0x400000, 0x100000, 0xb90658fa )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "076-c1.bin", 0x000000, 0x200000, 0x4d9cb038 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "076-c2.bin", 0x000001, 0x200000, 0x09233884 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "076-c3.bin", 0x400000, 0x200000, 0xd06431e3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "076-c4.bin", 0x400001, 0x200000, 0x4b1c089b ) /* Plane 2,3 */
ROM_END

ROM_START( galaxyfg )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "078-p1.bin", 0x100000, 0x100000, 0x45906309 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "078-s1.bin", 0x72f8923e )

	NEO_BIOS_SOUND_128K( "078-m1.bin", 0x8e9e3b10 )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "078-v1.bin", 0x000000, 0x200000, 0xe3b735ac )
	ROM_LOAD( "078-v2.bin", 0x200000, 0x200000, 0x6a8e78c2 )
	ROM_LOAD( "078-v3.bin", 0x400000, 0x100000, 0x70bca656 )

	NO_DELTAT_REGION

	ROM_REGION( 0xe00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "078-c1.bin", 0x000000, 0x200000, 0xc890c7c0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "078-c2.bin", 0x000001, 0x200000, 0xb6d25419 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "078-c3.bin", 0x400000, 0x200000, 0x9d87e761 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "078-c4.bin", 0x400001, 0x200000, 0x765d7cb8 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "078-c5.bin", 0x800000, 0x200000, 0xe6b77e6a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "078-c6.bin", 0x800001, 0x200000, 0xd779a181 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "078-c7.bin", 0xc00000, 0x100000, 0x4f27d580 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "078-c8.bin", 0xc00001, 0x100000, 0x0a7cc0d8 ) /* Plane 2,3 */
ROM_END

ROM_START( strhoop )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "079-p1.bin", 0x000000, 0x100000, 0x5e78328e )

	NEO_SFIX_128K( "079-s1.bin", 0x3ac06665 )

	NEO_BIOS_SOUND_64K( "079-m1.bin", 0x1a5f08db )

	ROM_REGION( 0x280000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "079-v1.bin", 0x000000, 0x200000, 0x718a2400 )
	ROM_LOAD( "079-v2.bin", 0x200000, 0x080000, 0xb19884f8 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "079-c1.bin", 0x000000, 0x200000, 0x0581c72a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "079-c2.bin", 0x000001, 0x200000, 0x5b9b8fb6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "079-c3.bin", 0x400000, 0x200000, 0xcd65bb62 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "079-c4.bin", 0x400001, 0x200000, 0xa4c90213 ) /* Plane 2,3 */
ROM_END

ROM_START( quizkof )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "080-p1.bin", 0x000000, 0x100000, 0x4440315e )

	NEO_SFIX_128K( "080-s1.bin", 0xd7b86102 )

	NEO_BIOS_SOUND_128K( "080-m1.bin", 0xf5f44172 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "080-v1.bin", 0x000000, 0x200000, 0x0be18f60 )
	ROM_LOAD( "080-v2.bin", 0x200000, 0x200000, 0x4abde3ff )
	ROM_LOAD( "080-v3.bin", 0x400000, 0x200000, 0xf02844e2 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "080-c1.bin",  0x000000, 0x200000, 0xea1d764a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "080-c2.bin",  0x000001, 0x200000, 0xc78c49da ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "080-c3.bin",  0x400000, 0x200000, 0xb4851bfe ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "080-c4.bin",  0x400001, 0x200000, 0xca6f5460 ) /* Plane 2,3 */
ROM_END

ROM_START( ssideki3 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "081-p1.bin", 0x100000, 0x100000, 0x6bc27a3d )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "081-s1.bin", 0x7626da34 )

	NEO_BIOS_SOUND_128K( "081-m1.bin", 0x82fcd863 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "081-v1.bin", 0x000000, 0x200000, 0x201fa1e1 )
	ROM_LOAD( "081-v2.bin", 0x200000, 0x200000, 0xacf29d96 )
	ROM_LOAD( "081-v3.bin", 0x400000, 0x200000, 0xe524e415 )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "081-c1.bin", 0x000000, 0x200000, 0x1fb68ebe ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "081-c2.bin", 0x000001, 0x200000, 0xb28d928f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "081-c3.bin", 0x400000, 0x200000, 0x3b2572e8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "081-c4.bin", 0x400001, 0x200000, 0x47d26a7c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "081-c5.bin", 0x800000, 0x200000, 0x17d42f0d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "081-c6.bin", 0x800001, 0x200000, 0x6b53fb75 ) /* Plane 2,3 */
ROM_END

ROM_START( doubledr )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "082-p1.bin", 0x100000, 0x100000, 0x34ab832a )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "082-s1.bin", 0xbef995c5 )

	NEO_BIOS_SOUND_128K( "082-m1.bin", 0x10b144de )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "082-v1.bin", 0x000000, 0x200000, 0xcc1128e4 )
	ROM_LOAD( "082-v2.bin", 0x200000, 0x200000, 0xc3ff5554 )

	NO_DELTAT_REGION

	ROM_REGION( 0xe00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "082-c1.bin", 0x000000, 0x200000, 0xb478c725 )
	ROM_LOAD16_BYTE( "082-c2.bin", 0x000001, 0x200000, 0x2857da32 )
	ROM_LOAD16_BYTE( "082-c3.bin", 0x400000, 0x200000, 0x8b0d378e )
	ROM_LOAD16_BYTE( "082-c4.bin", 0x400001, 0x200000, 0xc7d2f596 )
	ROM_LOAD16_BYTE( "082-c5.bin", 0x800000, 0x200000, 0xec87bff6 )
	ROM_LOAD16_BYTE( "082-c6.bin", 0x800001, 0x200000, 0x844a8a11 )
	ROM_LOAD16_BYTE( "082-c7.bin", 0xc00000, 0x100000, 0x727c4d02 )
	ROM_LOAD16_BYTE( "082-c8.bin", 0xc00001, 0x100000, 0x69a5fa37 )
ROM_END

ROM_START( pbobblen )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "083-p1.bin", 0x000000, 0x040000, 0x7c3c34e1 )

	NEO_SFIX_128K( "083-s1.bin", 0x9caae538 )

	NEO_BIOS_SOUND_64K( "083-m1.bin", 0x129e6054 )

	ROM_REGION( 0x380000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* 0x000000-0x1fffff empty */
	ROM_LOAD( "083-v3.bin", 0x200000, 0x100000, 0x0840cbc4 )
	ROM_LOAD( "083-v4.bin", 0x300000, 0x080000, 0x0a548948 )

	NO_DELTAT_REGION

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "083-c5.bin", 0x000000, 0x080000, 0xe89ad494 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "083-c6.bin", 0x000001, 0x080000, 0x4b42d7eb ) /* Plane 2,3 */
ROM_END

ROM_START( pbobblna )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "083-p1.rom", 0x000000, 0x040000, 0xd6efe86f )

	NEO_SFIX_128K( "083-s1.bin", 0x9caae538 )

	NEO_BIOS_SOUND_64K( "083-m1.bin", 0x129e6054 )

	ROM_REGION( 0x380000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* 0x000000-0x1fffff empty */
	ROM_LOAD( "083-v3.bin", 0x200000, 0x100000, 0x0840cbc4 )
	ROM_LOAD( "083-v4.bin", 0x300000, 0x080000, 0x0a548948 )

	NO_DELTAT_REGION

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "083-c5.bin", 0x000000, 0x080000, 0xe89ad494 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "083-c6.bin", 0x000001, 0x080000, 0x4b42d7eb ) /* Plane 2,3 */
ROM_END

ROM_START( kof95 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "084-p1.bin", 0x100000, 0x100000, 0x5e54cf95 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "084-s1.bin", 0xde716f8a )

	NEO_BIOS_SOUND_128K( "084-m1.bin", 0x6f2d7429 )

	ROM_REGION( 0x900000, REGION_SOUND1, ROMREGION_SOUNDONLY )
//	ROM_LOAD( "084-v1.bin", 0x000000, 0x400000, 0x21469561 ) // bad old rom ?
 	ROM_LOAD( "084-v1.bin", 0x000000, 0x400000, 0x84861b56 )
	ROM_LOAD( "084-v2.bin", 0x400000, 0x200000, 0xb38a2803 )
	/* 600000-7fffff empty */
	ROM_LOAD( "084-v3.bin", 0x800000, 0x100000, 0xd683a338 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1a00000, REGION_GFX3, 0 )
	/* old set had the roms like this */
#if 0
	ROM_LOAD16_BYTE( "084-c1.bin", 0x0400000, 0x200000, 0x33bf8657 ) /* Plane 0,1 */
	ROM_CONTINUE(      			   0x0000000, 0x200000 )
	ROM_LOAD16_BYTE( "084-c2.bin", 0x0400001, 0x200000, 0xf21908a4 ) /* Plane 2,3 */
	ROM_CONTINUE(      			   0x0000001, 0x200000 )
	ROM_LOAD16_BYTE( "084-c3.bin", 0x0c00000, 0x200000, 0x0cee1ddb ) /* Plane 0,1 */
	ROM_CONTINUE(      			   0x0800000, 0x200000 )
	ROM_LOAD16_BYTE( "084-c4.bin", 0x0c00001, 0x200000, 0x729db15d ) /* Plane 2,3 */
	ROM_CONTINUE(      			   0x0800001, 0x200000 )
#endif
 	ROM_LOAD16_BYTE( "084-c1.bin", 0x0000000, 0x400000, 0xfe087e32 ) /* Plane 0,1 */
 	ROM_LOAD16_BYTE( "084-c2.bin", 0x0000001, 0x400000, 0x07864e09 ) /* Plane 2,3 */
 	ROM_LOAD16_BYTE( "084-c3.bin", 0x0800000, 0x400000, 0xa4e65d1b ) /* Plane 0,1 */
 	ROM_LOAD16_BYTE( "084-c4.bin", 0x0800001, 0x400000, 0xc1ace468 ) /* Plane 2,3 */

	ROM_LOAD16_BYTE( "084-c5.bin", 0x1000000, 0x200000, 0x8a2c1edc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "084-c6.bin", 0x1000001, 0x200000, 0xf593ac35 ) /* Plane 2,3 */
	/* 1400000-17fffff empty */
	ROM_LOAD16_BYTE( "084-c7.bin", 0x1800000, 0x100000, 0x9904025f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "084-c8.bin", 0x1800001, 0x100000, 0x78eb0f9b ) /* Plane 2,3 */
ROM_END

ROM_START( kof95a )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
 	ROM_LOAD16_WORD_SWAP( "084a-p1.bin",0x100000, 0x100000, 0x2cba2716 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "084-s1.bin", 0xde716f8a )

	NEO_BIOS_SOUND_128K( "084-m1.bin", 0x6f2d7429 )

	ROM_REGION( 0x900000, REGION_SOUND1, ROMREGION_SOUNDONLY )
 	ROM_LOAD( "084-v1.bin", 0x000000, 0x400000, 0x84861b56 )
	ROM_LOAD( "084-v2.bin", 0x400000, 0x200000, 0xb38a2803 )
	/* 600000-7fffff empty */
	ROM_LOAD( "084-v3.bin", 0x800000, 0x100000, 0xd683a338 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1a00000, REGION_GFX3, 0 )
 	ROM_LOAD16_BYTE( "084-c1.bin", 0x0000000, 0x400000, 0xfe087e32 ) /* Plane 0,1 */
 	ROM_LOAD16_BYTE( "084-c2.bin", 0x0000001, 0x400000, 0x07864e09 ) /* Plane 2,3 */
 	ROM_LOAD16_BYTE( "084-c3.bin", 0x0800000, 0x400000, 0xa4e65d1b ) /* Plane 0,1 */
 	ROM_LOAD16_BYTE( "084-c4.bin", 0x0800001, 0x400000, 0xc1ace468 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "084-c5.bin", 0x1000000, 0x200000, 0x8a2c1edc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "084-c6.bin", 0x1000001, 0x200000, 0xf593ac35 ) /* Plane 2,3 */
	/* 1400000-17fffff empty */
	ROM_LOAD16_BYTE( "084-c7.bin", 0x1800000, 0x100000, 0x9904025f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "084-c8.bin", 0x1800001, 0x100000, 0x78eb0f9b ) /* Plane 2,3 */
ROM_END

ROM_START( tws96 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "086-p1.bin", 0x000000, 0x100000, 0x03e20ab6 )

	NEO_SFIX_128K( "086-s1.bin", 0x6f5e2b3a )

	NEO_BIOS_SOUND_64K( "086-m1.bin", 0x860ba8c7 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "086-v1.bin", 0x000000, 0x200000, 0x97bf1986 )
	ROM_LOAD( "086-v2.bin", 0x200000, 0x200000, 0xb7eb05df )

	NO_DELTAT_REGION

	ROM_REGION( 0xa00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "086-c1.bin", 0x000000, 0x400000, 0x2611bc2a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "086-c2.bin", 0x000001, 0x400000, 0x6b0d6827 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "086-c3.bin", 0x800000, 0x100000, 0x750ddc0c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "086-c4.bin", 0x800001, 0x100000, 0x7a6e7d82 ) /* Plane 2,3 */
ROM_END

ROM_START( samsho3 )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "087-p1.bin", 0x000000, 0x100000, 0x282a336e )
	ROM_LOAD16_WORD_SWAP( "087-p2.bin", 0x100000, 0x200000, 0x9bbe27e0 )

	NEO_SFIX_128K( "087-s1.bin", 0x74ec7d9f )

	NEO_BIOS_SOUND_128K( "087-m1.bin", 0x8e6440eb )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "087-v1.bin", 0x000000, 0x400000, 0x84bdd9a0 )
	ROM_LOAD( "087-v2.bin", 0x400000, 0x200000, 0xac0f261a )

	NO_DELTAT_REGION

	ROM_REGION( 0x1a00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "087-c1.bin", 0x0000000, 0x400000, 0x07a233bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c2.bin", 0x0000001, 0x400000, 0x7a413592 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c3.bin", 0x0800000, 0x400000, 0x8b793796 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c4.bin", 0x0800001, 0x400000, 0x728fbf11 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c5.bin", 0x1000000, 0x400000, 0x172ab180 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c6.bin", 0x1000001, 0x400000, 0x002ff8f3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c7.bin", 0x1800000, 0x100000, 0xae450e3d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c8.bin", 0x1800001, 0x100000, 0xa9e82717 ) /* Plane 2,3 */
ROM_END

ROM_START( samsho3a )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "087-ep1.bin", 0x000000, 0x080000, 0x23e09bb8 )
	ROM_LOAD16_WORD_SWAP( "087-ep2.bin", 0x080000, 0x080000, 0x256f5302 )
	ROM_LOAD16_WORD_SWAP( "087-ep3.bin", 0x100000, 0x080000, 0xbf2db5dd )
	ROM_LOAD16_WORD_SWAP( "087-ep4.bin", 0x180000, 0x080000, 0x53e60c58 )
	ROM_LOAD16_WORD_SWAP( "087-p5.bin",  0x200000, 0x100000, 0xe86ca4af )

	NEO_SFIX_128K( "087-s1.bin", 0x74ec7d9f )

	NEO_BIOS_SOUND_128K( "087-m1.bin", 0x8e6440eb )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "087-v1.bin", 0x000000, 0x400000, 0x84bdd9a0 )
	ROM_LOAD( "087-v2.bin", 0x400000, 0x200000, 0xac0f261a )

	NO_DELTAT_REGION

	ROM_REGION( 0x1a00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "087-c1.bin", 0x0000000, 0x400000, 0x07a233bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c2.bin", 0x0000001, 0x400000, 0x7a413592 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c3.bin", 0x0800000, 0x400000, 0x8b793796 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c4.bin", 0x0800001, 0x400000, 0x728fbf11 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c5.bin", 0x1000000, 0x400000, 0x172ab180 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c6.bin", 0x1000001, 0x400000, 0x002ff8f3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c7.bin", 0x1800000, 0x100000, 0xae450e3d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c8.bin", 0x1800001, 0x100000, 0xa9e82717 ) /* Plane 2,3 */
ROM_END

ROM_START( fswords )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "087-p1k.bin", 0x000000, 0x100000, 0xc8e7c075 )
	ROM_LOAD16_WORD_SWAP( "087-p2.bin",  0x100000, 0x200000, 0x9bbe27e0 )

	NEO_SFIX_128K( "087-s1.bin", 0x74ec7d9f )

	NEO_BIOS_SOUND_128K( "087-m1.bin", 0x8e6440eb )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "087-v1.bin", 0x000000, 0x400000, 0x84bdd9a0 )
	ROM_LOAD( "087-v2.bin", 0x400000, 0x200000, 0xac0f261a )

	NO_DELTAT_REGION

	ROM_REGION( 0x1a00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "087-c1.bin", 0x0000000, 0x400000, 0x07a233bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c2.bin", 0x0000001, 0x400000, 0x7a413592 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c3.bin", 0x0800000, 0x400000, 0x8b793796 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c4.bin", 0x0800001, 0x400000, 0x728fbf11 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c5.bin", 0x1000000, 0x400000, 0x172ab180 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c6.bin", 0x1000001, 0x400000, 0x002ff8f3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "087-c7.bin", 0x1800000, 0x100000, 0xae450e3d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "087-c8.bin", 0x1800001, 0x100000, 0xa9e82717 ) /* Plane 2,3 */
ROM_END

ROM_START( stakwin )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "088-p1.bin",  0x100000, 0x100000, 0xbd5814f6 )
	ROM_CONTINUE(						 0x000000, 0x100000)

	NEO_SFIX_128K( "088-s1.bin", 0x073cb208 )

	NEO_BIOS_SOUND_128K( "088-m1.bin", 0x2fe1f499 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "088-v1.bin", 0x000000, 0x200000, 0xb7785023 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "088-c1.bin", 0x000000, 0x200000, 0x6e733421 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "088-c2.bin", 0x000001, 0x200000, 0x4d865347 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "088-c3.bin", 0x400000, 0x200000, 0x8fa5a9eb ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "088-c4.bin", 0x400001, 0x200000, 0x4604f0dc ) /* Plane 2,3 */
ROM_END

ROM_START( pulstar )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "089-p1.bin", 0x000000, 0x100000, 0x5e5847a2 )
	ROM_LOAD16_WORD_SWAP( "089-p2.bin", 0x100000, 0x200000, 0x028b774c )

	NEO_SFIX_128K( "089-s1.bin", 0xc79fc2c8 )

	NEO_BIOS_SOUND_128K( "089-m1.bin", 0xff3df7c7 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "089-v1.bin", 0x000000, 0x400000, 0xb458ded2 )
	ROM_LOAD( "089-v2.bin", 0x400000, 0x400000, 0x9d2db551 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1c00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "089-c1.bin", 0x0000000, 0x400000, 0xf4e97332 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "089-c2.bin", 0x0000001, 0x400000, 0x836d14da ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "089-c3.bin", 0x0800000, 0x400000, 0x913611c4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "089-c4.bin", 0x0800001, 0x400000, 0x44cef0e3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "089-c5.bin", 0x1000000, 0x400000, 0x89baa1d7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "089-c6.bin", 0x1000001, 0x400000, 0xb2594d56 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "089-c7.bin", 0x1800000, 0x200000, 0x6a5618ca ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "089-c8.bin", 0x1800001, 0x200000, 0xa223572d ) /* Plane 2,3 */
ROM_END

ROM_START( whp )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "090-p1.bin", 0x100000, 0x100000, 0xafaa4702 )
	ROM_CONTINUE(					  0x000000, 0x100000 )

	NEO_SFIX_128K( "090-s1.bin",  0x174a880f )

	NEO_BIOS_SOUND_128K( "090-m1.bin", 0x28065668 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "090-v1.bin", 0x000000, 0x200000, 0x30cf2709 )
	ROM_LOAD( "090-v2.bin", 0x200000, 0x200000, 0xb6527edd )
	ROM_LOAD( "090-v3.bin", 0x400000, 0x200000, 0x1908a7ce )

	NO_DELTAT_REGION

	ROM_REGION( 0x1c00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "090-c1.bin", 0x0000000, 0x400000, 0xcd30ed9b )
	ROM_LOAD16_BYTE( "090-c2.bin", 0x0000001, 0x400000, 0x10eed5ee )
	ROM_LOAD16_BYTE( "090-c3.bin", 0x0800000, 0x200000, 0x436d1b31 )
	ROM_LOAD16_BYTE( "090-c4.bin", 0x0800001, 0x200000, 0xf9c8dd26 )
	/* 0c00000-0ffffff empty */
	ROM_LOAD16_BYTE( "090-c5.bin", 0x1000000, 0x200000, 0x8e34a9f4 )
	ROM_LOAD16_BYTE( "090-c6.bin", 0x1000001, 0x200000, 0xa43e4766 )
	/* 1400000-17fffff empty */
	ROM_LOAD16_BYTE( "090-c7.bin", 0x1800000, 0x200000, 0x59d97215 )
	ROM_LOAD16_BYTE( "090-c8.bin", 0x1800001, 0x200000, 0xfc092367 )
ROM_END

ROM_START( kabukikl )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "092-p1.bin", 0x100000, 0x100000, 0x28ec9b77 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "092-s1.bin", 0xa3d68ee2 )

	NEO_BIOS_SOUND_128K( "092-m1.bin", 0x91957ef6 )

	ROM_REGION( 0x700000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "092-v1.bin", 0x000000, 0x200000, 0x69e90596 )
	ROM_LOAD( "092-v2.bin", 0x200000, 0x200000, 0x7abdb75d )
	ROM_LOAD( "092-v3.bin", 0x400000, 0x200000, 0xeccc98d3 )
	ROM_LOAD( "092-v4.bin", 0x600000, 0x100000, 0xa7c9c949 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "092-c1.bin", 0x000000, 0x400000, 0x2a9fab01 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "092-c2.bin", 0x000001, 0x400000, 0x6d2bac02 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "092-c3.bin", 0x800000, 0x400000, 0x5da735d6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "092-c4.bin", 0x800001, 0x400000, 0xde07f997 ) /* Plane 2,3 */
ROM_END

ROM_START( neobombe )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "093-p1.bin", 0x000000, 0x100000, 0xa1a71d0d )

	NEO_SFIX_128K( "093-s1.bin", 0x4b3fa119 )

	NEO_BIOS_SOUND_128K( "093-m1.bin", 0xe81e780b )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "093-v1.bin", 0x000000, 0x400000, 0x02abd4b0 )
	ROM_LOAD( "093-v2.bin", 0x400000, 0x200000, 0xa92b8b3d )

	NO_DELTAT_REGION

	ROM_REGION( 0x900000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "093-c1.bin", 0x000000, 0x400000, 0xd1f328f8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "093-c2.bin", 0x000001, 0x400000, 0x82c49540 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "093-c3.bin", 0x800000, 0x080000, 0xe37578c5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "093-c4.bin", 0x800001, 0x080000, 0x59826783 ) /* Plane 2,3 */
ROM_END

ROM_START( gowcaizr )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "094-p1.bin", 0x100000, 0x100000, 0x33019545 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "094-s1.bin", 0x2f8748a2 )

	NEO_BIOS_SOUND_128K( "094-m1.bin", 0x78c851cb )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "094-v1.bin", 0x000000, 0x200000, 0x6c31223c )
	ROM_LOAD( "094-v2.bin", 0x200000, 0x200000, 0x8edb776c )
	ROM_LOAD( "094-v3.bin", 0x400000, 0x100000, 0xc63b9285 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "094-c1.bin", 0x000000, 0x200000, 0x042f6af5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "094-c2.bin", 0x000001, 0x200000, 0x0fbcd046 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "094-c3.bin", 0x400000, 0x200000, 0x58bfbaa1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "094-c4.bin", 0x400001, 0x200000, 0x9451ee73 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "094-c5.bin", 0x800000, 0x200000, 0xff9cf48c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "094-c6.bin", 0x800001, 0x200000, 0x31bbd918 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "094-c7.bin", 0xc00000, 0x200000, 0x2091ec04 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "094-c8.bin", 0xc00001, 0x200000, 0x0d31dee6 ) /* Plane 2,3 */
ROM_END

ROM_START( rbff1 )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "095-p1.bin", 0x000000, 0x100000, 0x63b4d8ae )
	ROM_LOAD16_WORD_SWAP( "095-p2.bin", 0x100000, 0x200000, 0xcc15826e )

	NEO_SFIX_128K( "095-s1.bin", 0xb6bf5e08 )

	NEO_BIOS_SOUND_128K( "095-m1.bin", 0x653492a7 )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "069-v1.bin", 0x000000, 0x400000, 0x2bdbd4db )
	ROM_LOAD( "069-v2.bin", 0x400000, 0x400000, 0xa698a487 )
	ROM_LOAD( "095-v3.bin", 0x800000, 0x400000, 0x189d1c6c )

	NO_DELTAT_REGION

	ROM_REGION( 0x1c00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "069-c1.bin", 0x0000000, 0x400000, 0xe302f93c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "069-c2.bin", 0x0000001, 0x400000, 0x1053a455 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "069-c3.bin", 0x0800000, 0x400000, 0x1c0fde2f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "069-c4.bin", 0x0800001, 0x400000, 0xa25fc3d0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "095-c5.bin", 0x1000000, 0x400000, 0x8b9b65df ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "095-c6.bin", 0x1000001, 0x400000, 0x3e164718 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "095-c7.bin", 0x1800000, 0x200000, 0xca605e12 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "095-c8.bin", 0x1800001, 0x200000, 0x4e6beb6c ) /* Plane 2,3 */
ROM_END


ROM_START( aof3 )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "096-p1.bin", 0x000000, 0x100000, 0x9edb420d )
	ROM_LOAD16_WORD_SWAP( "096-p2.bin", 0x100000, 0x200000, 0x4d5a2602 )

	NEO_SFIX_128K( "096-s1.bin", 0xcc7fd344 )

	NEO_BIOS_SOUND_128K( "096-m1.bin", 0xcb07b659 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "096-v1.bin", 0x000000, 0x200000, 0xe2c32074 )
	ROM_LOAD( "096-v2.bin", 0x200000, 0x200000, 0xa290eee7 )
	ROM_LOAD( "096-v3.bin", 0x400000, 0x200000, 0x199d12ea )

	NO_DELTAT_REGION

	ROM_REGION( 0x1c00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "096-c1.bin", 0x0000000, 0x400000, 0xf17b8d89 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c2.bin", 0x0000001, 0x400000, 0x3840c508 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "096-c3.bin", 0x0800000, 0x400000, 0x55f9ee1e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c4.bin", 0x0800001, 0x400000, 0x585b7e47 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "096-c5.bin", 0x1000000, 0x400000, 0xc75a753c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c6.bin", 0x1000001, 0x400000, 0x9a9d2f7a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "096-c7.bin", 0x1800000, 0x200000, 0x51bd8ab2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c8.bin", 0x1800001, 0x200000, 0x9a34f99c ) /* Plane 2,3 */
ROM_END

ROM_START( aof3k )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "096-p1k.bin", 0x000000, 0x100000, 0xa0780789 )
	ROM_LOAD16_WORD_SWAP( "096-p2.bin",  0x100000, 0x200000, 0x4d5a2602 )

	NEO_SFIX_128K( "096-s1.bin", 0xcc7fd344 )

	NEO_BIOS_SOUND_128K( "096-m1.bin", 0xcb07b659 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "096-v1.bin", 0x000000, 0x200000, 0xe2c32074 )
	ROM_LOAD( "096-v2.bin", 0x200000, 0x200000, 0xa290eee7 )
	ROM_LOAD( "096-v3.bin", 0x400000, 0x200000, 0x199d12ea )

	NO_DELTAT_REGION

	ROM_REGION( 0x1c00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "096-c1.bin", 0x0000000, 0x400000, 0xf17b8d89 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c2.bin", 0x0000001, 0x400000, 0x3840c508 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "096-c3.bin", 0x0800000, 0x400000, 0x55f9ee1e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c4.bin", 0x0800001, 0x400000, 0x585b7e47 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "096-c5.bin", 0x1000000, 0x400000, 0xc75a753c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c6.bin", 0x1000001, 0x400000, 0x9a9d2f7a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "096-c7.bin", 0x1800000, 0x200000, 0x51bd8ab2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "096-c8.bin", 0x1800001, 0x200000, 0x9a34f99c ) /* Plane 2,3 */
ROM_END


ROM_START( sonicwi3 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "097-p1.bin", 0x100000, 0x100000, 0x0547121d )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "097-s1.bin", 0x8dd66743 )

	NEO_BIOS_SOUND_128K( "097-m1.bin", 0xb20e4291 )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "097-v1.bin", 0x000000, 0x400000, 0x6f885152 )
	ROM_LOAD( "097-v2.bin", 0x400000, 0x100000, 0x32187ccd )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "097-c1.bin", 0x000000, 0x400000, 0x33d0d589 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "097-c2.bin", 0x000001, 0x400000, 0x186f8b43 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "097-c3.bin", 0x800000, 0x200000, 0xc339fff5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "097-c4.bin", 0x800001, 0x200000, 0x84a40c6e ) /* Plane 2,3 */
ROM_END

ROM_START( turfmast )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "200-p1.bin",  0x100000, 0x100000, 0x28c83048 )
	ROM_CONTINUE(						 0x000000, 0x100000)

	NEO_SFIX_128K( "200-s1.bin", 0x9a5402b2 )

	NEO_BIOS_SOUND_128K( "200-m1.bin", 0x9994ac00 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "200-v1.bin", 0x000000, 0x200000, 0x00fd48d2 )
	ROM_LOAD( "200-v2.bin", 0x200000, 0x200000, 0x082acb31 )
	ROM_LOAD( "200-v3.bin", 0x400000, 0x200000, 0x7abca053 )
	ROM_LOAD( "200-v4.bin", 0x600000, 0x200000, 0x6c7b4902 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "200-c1.bin", 0x000000, 0x400000, 0x8e7bf41a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "200-c2.bin", 0x000001, 0x400000, 0x5a65a8ce ) /* Plane 2,3 */
ROM_END

ROM_START( mslug )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "201-p1.bin", 0x100000, 0x100000, 0x08d8daa5 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "201-s1.bin", 0x2f55958d )

	NEO_BIOS_SOUND_128K( "201-m1.bin", 0xc28b3253 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "201-v1.bin", 0x000000, 0x400000, 0x23d22ed1 )
	ROM_LOAD( "201-v2.bin", 0x400000, 0x400000, 0x472cf9db )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "201-c1.bin", 0x000000, 0x400000, 0x72813676 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "201-c2.bin", 0x000001, 0x400000, 0x96f62574 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "201-c3.bin", 0x800000, 0x400000, 0x5121456a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "201-c4.bin", 0x800001, 0x400000, 0xf4ad59a3 ) /* Plane 2,3 */
ROM_END

ROM_START( puzzledp )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "202-p1.bin", 0x000000, 0x080000, 0x2b61415b )

	NEO_SFIX_64K( "202-s1.bin", 0x4a421612 )

	NEO_BIOS_SOUND_128K( "202-m1.bin", 0x9c0291ea )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "202-v1.bin", 0x000000, 0x080000, 0xdebeb8fb )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "202-c1.bin", 0x000000, 0x100000, 0xcc0095ef ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "202-c2.bin", 0x000001, 0x100000, 0x42371307 ) /* Plane 2,3 */
ROM_END

ROM_START( mosyougi )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "203-p1.bin", 0x000000, 0x100000, 0x7ba70e2d )

	NEO_SFIX_128K( "203-s1.bin", 0x4e132fac )

	NEO_BIOS_SOUND_128K( "203-m1.bin", 0xa602c2c2 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "203-v1.bin", 0x000000, 0x200000, 0xbaa2b9a5 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "203-c1.bin",  0x000000, 0x200000, 0xbba9e8c0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "203-c2.bin",  0x000001, 0x200000, 0x2574be03 ) /* Plane 2,3 */
ROM_END

ROM_START( marukodq )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "206-p1.bin", 0x000000, 0x100000, 0xc33ed21e )

	NEO_SFIX_32K( "206-s1.bin", 0x3b52a219 )

	NEO_BIOS_SOUND_128K( "206-m1.bin", 0x0e22902e )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "206-v1.bin", 0x000000, 0x200000, 0x5385eca8 )
	ROM_LOAD( "206-v2.bin", 0x200000, 0x200000, 0xf8c55404 )

	NO_DELTAT_REGION

	ROM_REGION( 0xa00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "206-c1.bin", 0x000000, 0x400000, 0x4bd5e70f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "206-c2.bin", 0x000001, 0x400000, 0x67dbe24d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "206-c3.bin", 0x800000, 0x100000, 0x79aa2b48 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "206-c4.bin", 0x800001, 0x100000, 0x55e1314d ) /* Plane 2,3 */
ROM_END

ROM_START( neomrdo )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "207-p1.bin", 0x000000, 0x80000, 0x39efdb82 )

	NEO_SFIX_64K( "207-s1.bin", 0x6c4b09c4 )

	NEO_BIOS_SOUND_128K( "207-m1.bin", 0x81eade02 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "207-v1.bin", 0x000000, 0x200000, 0x4143c052 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "207-c1.bin", 0x000000, 0x200000, 0xc7541b9d )
	ROM_LOAD16_BYTE( "207-c2.bin", 0x000001, 0x200000, 0xf57166d2 )
ROM_END

ROM_START( sdodgeb )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "208-p1.bin", 0x100000, 0x100000, 0x127f3d32 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "208-s1.bin", 0x64abd6b3 )

	NEO_BIOS_SOUND_128K( "208-m1.bin", 0x0a5f3325 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "208-v1.bin", 0x000000, 0x200000, 0x8b53e945 )
	ROM_LOAD( "208-v2.bin", 0x200000, 0x200000, 0xaf37ebf8 )

	NO_DELTAT_REGION

	ROM_REGION( 0x0c00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "208-c1.bin", 0x0000000, 0x400000, 0x93d8619b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "208-c2.bin", 0x0000001, 0x400000, 0x1c737bb6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "208-c3.bin", 0x0800000, 0x200000, 0x14cb1703 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "208-c4.bin", 0x0800001, 0x200000, 0xc7165f19 ) /* Plane 2,3 */
ROM_END

ROM_START( goalx3 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "209-p1.bin", 0x100000, 0x100000, 0x2a019a79 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "209-s1.bin", 0xc0eaad86 )

	NEO_BIOS_SOUND_64K( "209-m1.bin", 0xdd945773 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "209-v1.bin", 0x000000, 0x200000, 0xef214212 )

	NO_DELTAT_REGION

	ROM_REGION( 0xa00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "209-c1.bin", 0x000000, 0x400000, 0xb49d980e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "209-c2.bin", 0x000001, 0x400000, 0x5649b015 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "209-c3.bin", 0x800000, 0x100000, 0x5f91bace ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "209-c4.bin", 0x800001, 0x100000, 0x1e9f76f2 ) /* Plane 2,3 */
ROM_END

/* this Zintrick set appears to be a bootleg made from the CD version, not a genuine
   prototype the code is based on that of the NeoCD version with some minor patches,
   for example the ADK SAMPLE TEST text that appears on the screen is actually a hacked
   PROG LOAD ERROR message.  the set is supported in order to distinguish the hacks from
   a real prototype should one turn up. */

ROM_START( zintrckb )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "zin_p1.rom", 0x000000, 0x100000, 0x06c8fca7 )

	NEO_SFIX_128K( "zin_s1.rom", 0xa7ab0e81 )

	NEO_BIOS_SOUND_128K( "zin_m1.rom", 0xfd9627ca )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "zin_v1.rom", 0x000000, 0x200000, 0xc09f74f1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "zin_c1.rom", 0x000000, 0x200000, 0x76aee189 )
	ROM_LOAD16_BYTE( "zin_c2.rom", 0x000001, 0x200000, 0x844ed4b3 )
ROM_END

ROM_START( overtop )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "212-p1.bin", 0x100000, 0x100000, 0x16c063a9 )
	ROM_CONTINUE(					  0x000000, 0x100000 )

	NEO_SFIX_128K( "212-s1.bin",  0x481d3ddc )

	NEO_BIOS_SOUND_128K( "212-m1.bin", 0xfcab6191 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "212-v1.bin", 0x000000, 0x400000, 0x013d4ef9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "212-c1.bin", 0x0000000, 0x400000, 0x50f43087 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "212-c2.bin", 0x0000001, 0x400000, 0xa5b39807 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "212-c3.bin", 0x0800000, 0x400000, 0x9252ea02 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "212-c4.bin", 0x0800001, 0x400000, 0x5f41a699 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "212-c5.bin", 0x1000000, 0x200000, 0xfc858bef ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "212-c6.bin", 0x1000001, 0x200000, 0x0589c15e ) /* Plane 2,3 */
ROM_END

ROM_START( neodrift )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "213-p1.bin",  0x100000, 0x100000, 0xe397d798 )
	ROM_CONTINUE(						 0x000000, 0x100000)

	NEO_SFIX_128K( "213-s1.bin", 0xb76b61bc )

	NEO_BIOS_SOUND_128K( "213-m1.bin", 0x200045f1 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "213-v1.bin", 0x000000, 0x200000, 0xa421c076 )
	ROM_LOAD( "213-v2.bin", 0x200000, 0x200000, 0x233c7dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "213-c1.bin", 0x000000, 0x400000, 0x3edc8bd3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "213-c2.bin", 0x000001, 0x400000, 0x46ae5f16 ) /* Plane 2,3 */
ROM_END

ROM_START( kof96 )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "214-p1.bin", 0x000000, 0x100000, 0x52755d74 )
	ROM_LOAD16_WORD_SWAP( "214-p2.bin", 0x100000, 0x200000, 0x002ccb73 )

	NEO_SFIX_128K( "214-s1.bin", 0x1254cbdb )

	NEO_BIOS_SOUND_128K( "214-m1.bin", 0xdabc427c )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "214-v1.bin", 0x000000, 0x400000, 0x63f7b045 )
	ROM_LOAD( "214-v2.bin", 0x400000, 0x400000, 0x25929059 )
	ROM_LOAD( "214-v3.bin", 0x800000, 0x200000, 0x92a2257d )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "214-c1.bin", 0x0000000, 0x400000, 0x7ecf4aa2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c2.bin", 0x0000001, 0x400000, 0x05b54f37 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c3.bin", 0x0800000, 0x400000, 0x64989a65 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c4.bin", 0x0800001, 0x400000, 0xafbea515 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c5.bin", 0x1000000, 0x400000, 0x2a3bbd26 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c6.bin", 0x1000001, 0x400000, 0x44d30dc7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c7.bin", 0x1800000, 0x400000, 0x3687331b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c8.bin", 0x1800001, 0x400000, 0xfa1461ad ) /* Plane 2,3 */
ROM_END

ROM_START( kof96h )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "214-pg1.bin",0x000000, 0x100000, 0xbd3757c9 )
	ROM_LOAD16_WORD_SWAP( "214-p2.bin", 0x100000, 0x200000, 0x002ccb73 )

	NEO_SFIX_128K( "214-s1.bin", 0x1254cbdb )

	NEO_BIOS_SOUND_128K( "214-m1.bin", 0xdabc427c )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "214-v1.bin", 0x000000, 0x400000, 0x63f7b045 )
	ROM_LOAD( "214-v2.bin", 0x400000, 0x400000, 0x25929059 )
	ROM_LOAD( "214-v3.bin", 0x800000, 0x200000, 0x92a2257d )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "214-c1.bin", 0x0000000, 0x400000, 0x7ecf4aa2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c2.bin", 0x0000001, 0x400000, 0x05b54f37 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c3.bin", 0x0800000, 0x400000, 0x64989a65 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c4.bin", 0x0800001, 0x400000, 0xafbea515 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c5.bin", 0x1000000, 0x400000, 0x2a3bbd26 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c6.bin", 0x1000001, 0x400000, 0x44d30dc7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c7.bin", 0x1800000, 0x400000, 0x3687331b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c8.bin", 0x1800001, 0x400000, 0xfa1461ad ) /* Plane 2,3 */
ROM_END

ROM_START( ssideki4 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "215-p1.bin", 0x100000, 0x100000, 0x519b4ba3 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "215-s1.bin", 0xf0fe5c36 )

	NEO_BIOS_SOUND_128K( "215-m1.bin", 0xa932081d )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "215-v1.bin", 0x000000, 0x400000, 0x877d1409 )
	ROM_LOAD( "215-v2.bin", 0x400000, 0x200000, 0x1bfa218b )

	NO_DELTAT_REGION

	ROM_REGION( 0x1400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "215-c1.bin", 0x0000000, 0x400000, 0x8ff444f5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "215-c2.bin", 0x0000001, 0x400000, 0x5b155037 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "215-c3.bin", 0x0800000, 0x400000, 0x456a073a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "215-c4.bin", 0x0800001, 0x400000, 0x43c182e1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "215-c5.bin", 0x1000000, 0x200000, 0x0c6f97ec ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "215-c6.bin", 0x1000001, 0x200000, 0x329c5e1b ) /* Plane 2,3 */
ROM_END

ROM_START( kizuna )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "216-p1.bin", 0x100000, 0x100000, 0x75d2b3de )
	ROM_CONTINUE(					 0x000000, 0x100000 )

	NEO_SFIX_128K( "216-s1.bin",   0xefdc72d7 )

	NEO_BIOS_SOUND_128K( "216-m1.bin", 0x1b096820 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "216-v1.bin", 0x000000, 0x200000, 0x530c50fd )
	ROM_LOAD( "216-v2.bin", 0x200000, 0x200000, 0x03667a8d )
	ROM_LOAD( "216-v3.bin", 0x400000, 0x200000, 0x7038c2f9 )
	ROM_LOAD( "216-v4.bin", 0x600000, 0x200000, 0x31b99bd6 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1c00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "216-c1.bin", 0x0000000, 0x200000, 0x763ba611 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "216-c2.bin", 0x0000001, 0x200000, 0xe05e8ca6 ) /* Plane 2,3 */
	/* 400000-7fffff empty */
	ROM_LOAD16_BYTE( "216-c3.bin", 0x0800000, 0x400000, 0x665c9f16 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "216-c4.bin", 0x0800001, 0x400000, 0x7f5d03db ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "216-c5.bin", 0x1000000, 0x200000, 0x59013f9e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "216-c6.bin", 0x1000001, 0x200000, 0x1c8d5def ) /* Plane 2,3 */
	/* 1400000-17fffff empty */
	ROM_LOAD16_BYTE( "216-c7.bin", 0x1800000, 0x200000, 0xc88f7035 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "216-c8.bin", 0x1800001, 0x200000, 0x484ce3ba ) /* Plane 2,3 */
ROM_END

ROM_START( ninjamas )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "217-p1.bin", 0x000000, 0x100000, 0x3e97ed69 )
	ROM_LOAD16_WORD_SWAP( "217-p2.bin", 0x100000, 0x200000, 0x191fca88 )

	NEO_SFIX_128K( "217-s1.bin", 0x8ff782f0 )

	NEO_BIOS_SOUND_128K( "217-m1.bin", 0xd00fb2af )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "217-v1.bin", 0x000000, 0x400000, 0x1c34e013 )
	ROM_LOAD( "217-v2.bin", 0x400000, 0x200000, 0x22f1c681 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "217-c1.bin", 0x0000000, 0x400000, 0x5fe97bc4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "217-c2.bin", 0x0000001, 0x400000, 0x886e0d66 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "217-c3.bin", 0x0800000, 0x400000, 0x59e8525f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "217-c4.bin", 0x0800001, 0x400000, 0x8521add2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "217-c5.bin", 0x1000000, 0x400000, 0xfb1896e5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "217-c6.bin", 0x1000001, 0x400000, 0x1c98c54b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "217-c7.bin", 0x1800000, 0x400000, 0x8b0ede2e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "217-c8.bin", 0x1800001, 0x400000, 0xa085bb61 ) /* Plane 2,3 */
ROM_END

ROM_START( ragnagrd )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "218-p1.bin", 0x100000, 0x100000, 0xca372303 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "218-s1.bin", 0x7d402f9a )

	NEO_BIOS_SOUND_128K( "218-m1.bin", 0x17028bcf )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "218-v1.bin", 0x000000, 0x400000, 0x61eee7f4 )
	ROM_LOAD( "218-v2.bin", 0x400000, 0x400000, 0x6104e20b )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "218-c1.bin", 0x0000000, 0x400000, 0xc31500a4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "218-c2.bin", 0x0000001, 0x400000, 0x98aba1f9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "218-c3.bin", 0x0800000, 0x400000, 0x833c163a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "218-c4.bin", 0x0800001, 0x400000, 0xc1a30f69 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "218-c5.bin", 0x1000000, 0x400000, 0x6b6de0ff ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "218-c6.bin", 0x1000001, 0x400000, 0x94beefcf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "218-c7.bin", 0x1800000, 0x400000, 0xde6f9b28 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "218-c8.bin", 0x1800001, 0x400000, 0xd9b311f6 ) /* Plane 2,3 */
ROM_END

ROM_START( pgoal )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "219-p1.bin", 0x100000, 0x100000, 0x6af0e574 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "219-s1.bin", 0x002f3c88 )

	NEO_BIOS_SOUND_128K( "219-m1.bin", 0x958efdc8 )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "219-v1.bin", 0x000000, 0x200000, 0x2cc1bd05 )
	ROM_LOAD( "219-v2.bin", 0x200000, 0x200000, 0x06ac1d3f )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "219-c1.bin", 0x0000000, 0x200000, 0x2dc69faf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "219-c2.bin", 0x0000001, 0x200000, 0x5db81811 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "219-c3.bin", 0x0400000, 0x200000, 0x9dbfece5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "219-c4.bin", 0x0400001, 0x200000, 0xc9f4324c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "219-c5.bin", 0x0800000, 0x200000, 0x5fdad0a5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "219-c6.bin", 0x0800001, 0x200000, 0xf57b4a1c ) /* Plane 2,3 */
ROM_END

ROM_START( magdrop2 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "221-p1.bin", 0x000000, 0x80000, 0x7be82353 )

	NEO_SFIX_128K( "221-s1.bin", 0x2a4063a3 )

	NEO_BIOS_SOUND_128K( "221-m1.bin", 0xbddae628 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "221-v1.bin", 0x000000, 0x200000, 0x7e5e53e4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "221-c1.bin", 0x000000, 0x400000, 0x1f862a14 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "221-c2.bin", 0x000001, 0x400000, 0x14b90536 ) /* Plane 2,3 */
ROM_END

ROM_START( samsho4 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "222-p1.bin", 0x000000, 0x100000, 0x1a5cb56d )
	ROM_LOAD16_WORD_SWAP( "222-p2.bin", 0x100000, 0x400000, 0xb023cd8b )

	NEO_SFIX_128K( "222-s1.bin", 0x8d3d3bf9 )

	NEO_BIOS_SOUND_128K( "222-m1.bin", 0x7615bc1b )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "222-v1.bin", 0x000000, 0x400000, 0x7d6ba95f )
	ROM_LOAD( "222-v2.bin", 0x400000, 0x400000, 0x6c33bb5d )
	ROM_LOAD( "222-v3.bin", 0x800000, 0x200000, 0x831ea8c0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "222-c1.bin", 0x0000000, 0x400000, 0x68f2ed95 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "222-c2.bin", 0x0000001, 0x400000, 0xa6e9aff0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "222-c3.bin", 0x0800000, 0x400000, 0xc91b40f4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "222-c4.bin", 0x0800001, 0x400000, 0x359510a4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "222-c5.bin", 0x1000000, 0x400000, 0x9cfbb22d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "222-c6.bin", 0x1000001, 0x400000, 0x685efc32 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "222-c7.bin", 0x1800000, 0x400000, 0xd0f86f0d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "222-c8.bin", 0x1800001, 0x400000, 0xadfc50e3 ) /* Plane 2,3 */
ROM_END

ROM_START( rbffspec )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "223-p1.bin", 0x000000, 0x100000, 0xf84a2d1d )
	ROM_LOAD16_WORD_SWAP( "223-p2.bin", 0x100000, 0x400000, 0xaddd8f08 )

	NEO_SFIX_128K( "223-s1.bin", 0x7ecd6e8c )

	NEO_BIOS_SOUND_128K( "223-m1.bin", 0x3fee46bf )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "223-v1.bin", 0x000000, 0x400000, 0x76673869 )
	ROM_LOAD( "223-v2.bin", 0x400000, 0x400000, 0x7a275acd )
	ROM_LOAD( "223-v3.bin", 0x800000, 0x400000, 0x5a797fd2 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "223-c1.bin", 0x0000000, 0x400000, 0xebab05e2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "223-c2.bin", 0x0000001, 0x400000, 0x641868c3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "223-c3.bin", 0x0800000, 0x400000, 0xca00191f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "223-c4.bin", 0x0800001, 0x400000, 0x1f23d860 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "223-c5.bin", 0x1000000, 0x400000, 0x321e362c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "223-c6.bin", 0x1000001, 0x400000, 0xd8fcef90 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "223-c7.bin", 0x1800000, 0x400000, 0xbc80dd2d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "223-c8.bin", 0x1800001, 0x400000, 0x5ad62102 ) /* Plane 2,3 */
ROM_END

ROM_START( twinspri )
	ROM_REGION( 0x400000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "224-p1.bin", 0x100000, 0x100000, 0x7697e445 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "224-s1.bin", 0xeeed5758 )

	NEO_BIOS_SOUND_128K( "224-m1.bin", 0x364d6f96 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "224-v1.bin", 0x000000, 0x400000, 0xff57f088 )
	ROM_LOAD( "224-v2.bin", 0x400000, 0x200000, 0x7ad26599 )

	NO_DELTAT_REGION

	ROM_REGION( 0xa00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "224-c1.bin", 0x000000, 0x400000, 0xf7da64ab ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "224-c2.bin", 0x000001, 0x400000, 0x4c09bbfb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "224-c3.bin", 0x800000, 0x100000, 0xc59e4129 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "224-c4.bin", 0x800001, 0x100000, 0xb5532e53 ) /* Plane 2,3 */
ROM_END

ROM_START( wakuwak7 )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "225-p1.bin", 0x000000, 0x100000, 0xb14da766 )
	ROM_LOAD16_WORD_SWAP( "225-p2.bin", 0x100000, 0x200000, 0xfe190665 )

	NEO_SFIX_128K( "225-s1.bin", 0x71c4b4b5 )

	NEO_BIOS_SOUND_128K( "225-m1.bin", 0x0634bba6 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "225-v1.bin", 0x000000, 0x400000, 0x6195c6b4 )
	ROM_LOAD( "225-v2.bin", 0x400000, 0x400000, 0x6159c5fe )

	NO_DELTAT_REGION

	ROM_REGION( 0x1800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "225-c1.bin", 0x0000000, 0x400000, 0xee4fea54 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "225-c2.bin", 0x0000001, 0x400000, 0x0c549e2d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "225-c3.bin", 0x0800000, 0x400000, 0xaf0897c0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "225-c4.bin", 0x0800001, 0x400000, 0x4c66527a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "225-c5.bin", 0x1000000, 0x400000, 0x8ecea2b5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "225-c6.bin", 0x1000001, 0x400000, 0x0eb11a6d ) /* Plane 2,3 */
ROM_END

ROM_START( stakwin2 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "227-p1.bin", 0x100000, 0x100000, 0xdaf101d2 )
	ROM_CONTINUE(					  0x000000, 0x100000 )

	NEO_SFIX_128K( "227-s1.bin", 0x2a8c4462 )

	NEO_BIOS_SOUND_128K( "227-m1.bin", 0xc8e5e0f9 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "227-v1.bin", 0x000000, 0x400000, 0xb8f24181 )
	ROM_LOAD( "227-v2.bin", 0x400000, 0x400000, 0xee39e260 )

	NO_DELTAT_REGION

	ROM_REGION( 0xc00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "227-c1.bin", 0x0000000, 0x400000, 0x7d6c2af4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "227-c2.bin", 0x0000001, 0x400000, 0x7e402d39 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "227-c3.bin", 0x0800000, 0x200000, 0x93dfd660 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "227-c4.bin", 0x0800001, 0x200000, 0x7efea43a ) /* Plane 2,3 */
ROM_END

ROM_START( ghostlop )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "gl-p1.rom", 0x000000, 0x100000, 0x6033172e )

	NEO_SFIX_128K( "gl-s1.rom",  0x83c24e81 )

	NEO_BIOS_SOUND_128K( "gl-m1.rom", 0xfd833b33 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "gl-v1.rom", 0x000000, 0x200000, 0xc603fce6 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "gl-c1.rom",  0x000000, 0x400000, 0xbfc99efe ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "gl-c2.rom",  0x000001, 0x400000, 0x69788082 ) /* Plane 2,3 */
ROM_END

ROM_START( breakers )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "230-p1.bin", 0x100000, 0x100000, 0xed24a6e6 )
	ROM_CONTINUE(						0x000000, 0x100000 )

	NEO_SFIX_128K( "230-s1.bin", 0x076fb64c )

	NEO_BIOS_SOUND_128K( "230-m1.bin", 0x3951a1c1 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "230-v1.bin", 0x000000, 0x400000, 0x7f9ed279 )
	ROM_LOAD( "230-v2.bin", 0x400000, 0x400000, 0x1d43e420 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "230-c1.bin", 0x000000, 0x400000, 0x68d4ae76 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "230-c2.bin", 0x000001, 0x400000, 0xfdee05cd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "230-c3.bin", 0x800000, 0x400000, 0x645077f3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "230-c4.bin", 0x800001, 0x400000, 0x63aeb74c ) /* Plane 2,3 */
ROM_END

ROM_START( miexchng )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "231-p1.bin", 0x000000, 0x80000, 0x61be1810 )

	NEO_SFIX_128K( "231-s1.bin", 0xfe0c0c53 )

	NEO_BIOS_SOUND_128K( "231-m1.bin", 0xde41301b )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "231-v1.bin", 0x000000, 0x400000, 0x113fb898 )

	NO_DELTAT_REGION

	ROM_REGION( 0x500000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "231-c1.bin", 0x000000, 0x200000, 0x6c403ba3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "231-c2.bin", 0x000001, 0x200000, 0x554bcd9b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "231-c3.bin", 0x400000, 0x080000, 0x14524eb5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "231-c4.bin", 0x400001, 0x080000, 0x1694f171 ) /* Plane 2,3 */
ROM_END

ROM_START( kof97 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "232-p1.bin", 0x000000, 0x100000, 0x7db81ad9 )
	ROM_LOAD16_WORD_SWAP( "232-p2.bin", 0x100000, 0x400000, 0x158b23f6 )

	NEO_SFIX_128K( "232-s1.bin", 0x8514ecf5 )

	NEO_BIOS_SOUND_128K( "232-m1.bin", 0x45348747 )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, 0x22a2b5b5 )
	ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, 0x2304e744 )
	ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, 0x759eb954 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "232-c1.bin", 0x0000000, 0x800000, 0x5f8bf0a1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c2.bin", 0x0000001, 0x800000, 0xe4d45c81 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, 0x581d6618 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, 0x49bb1e68 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c5.bin", 0x2000000, 0x400000, 0x34fc4e51 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, 0x4ff4d47b ) /* Plane 2,3 */
ROM_END

ROM_START( kof97a )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "232-pg1.bin",0x000000, 0x100000, 0x5c2400b7 )
	ROM_LOAD16_WORD_SWAP( "232-p2.bin", 0x100000, 0x400000, 0x158b23f6 )

	NEO_SFIX_128K( "232-s1.bin", 0x8514ecf5 )

	NEO_BIOS_SOUND_128K( "232-m1.bin", 0x45348747 )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, 0x22a2b5b5 )
	ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, 0x2304e744 )
	ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, 0x759eb954 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "232-c1.bin", 0x0000000, 0x800000, 0x5f8bf0a1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c2.bin", 0x0000001, 0x800000, 0xe4d45c81 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, 0x581d6618 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, 0x49bb1e68 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c5.bin", 0x2000000, 0x400000, 0x34fc4e51 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, 0x4ff4d47b ) /* Plane 2,3 */
ROM_END

ROM_START( kof97pls ) /* bootleg */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "232-p1p.bin", 0x000000, 0x100000, 0xc01fda46)
	ROM_LOAD16_WORD_SWAP( "232-p2p.bin", 0x100000, 0x400000, 0x5502b020)

	NEO_SFIX_128K( "232-s1p.bin", 0x73254270)

	NEO_BIOS_SOUND_128K( "232-m1.bin", 0x45348747)

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, 0x22a2b5b5)
	ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, 0x2304e744)
	ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, 0x759eb954)

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "232-c1.bin", 0x0000000, 0x800000, 0x5f8bf0a1) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c2.bin", 0x0000001, 0x800000, 0xe4d45c81) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, 0x581d6618) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, 0x49bb1e68) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c5.bin", 0x2000000, 0x400000, 0x34fc4e51) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, 0x4ff4d47b) /* Plane 2,3 */
ROM_END

ROM_START( magdrop3 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "233-p1.bin", 0x000000, 0x100000, 0x931e17fa )

	NEO_SFIX_128K( "233-s1.bin", 0x7399e68a )

	NEO_BIOS_SOUND_128K( "233-m1.bin", 0x5beaf34e )

	ROM_REGION( 0x480000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "233-v1.bin", 0x000000, 0x400000, 0x58839298 )
	ROM_LOAD( "233-v2.bin", 0x400000, 0x080000, 0xd5e30df4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "233-c1.bin", 0x000000, 0x400000, 0x65e3f4c4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "233-c2.bin", 0x000001, 0x400000, 0x35dea6c9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "233-c3.bin", 0x800000, 0x400000, 0x0ba2c502 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "233-c4.bin", 0x800001, 0x400000, 0x70dbbd6d ) /* Plane 2,3 */
ROM_END

ROM_START( lastblad )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "234-p1.bin", 0x000000, 0x100000, 0xcd01c06d )
	ROM_LOAD16_WORD_SWAP( "234-p2.bin", 0x100000, 0x400000, 0x0fdc289e )

	NEO_SFIX_128K( "234-s1.bin", 0x95561412 )

	NEO_BIOS_SOUND_128K( "234-m1.bin", 0x087628ea )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "234-v1.bin", 0x000000, 0x400000, 0xed66b76f )
	ROM_LOAD( "234-v2.bin", 0x400000, 0x400000, 0xa0e7f6e2 )
	ROM_LOAD( "234-v3.bin", 0x800000, 0x400000, 0xa506e1e2 )
	ROM_LOAD( "234-v4.bin", 0xc00000, 0x200000, 0x13583c4b )
#ifndef MAME_DEBUG
	ROM_LOAD( "lastblda_234-v4.bin", 0xc00000, 0x400000, 0x0e34157f )
#else
	ROM_LOAD( "234-v4a.bin", 0xc00000, 0x400000, 0x0e34157f )
#endif

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "234-c1.bin", 0x0000000, 0x800000, 0x9f7e2bd3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c2.bin", 0x0000001, 0x800000, 0x80623d3c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "234-c3.bin", 0x1000000, 0x800000, 0x91ab1a30 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c4.bin", 0x1000001, 0x800000, 0x3d60b037 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "234-c5.bin", 0x2000000, 0x400000, 0x1ba80cee ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c6.bin", 0x2000001, 0x400000, 0xbeafd091 ) /* Plane 2,3 */
ROM_END

ROM_START( lastblda )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "234-p1.rom", 0x000000, 0x100000, 0xe123a5a3 )
	ROM_LOAD16_WORD_SWAP( "234-p2.bin", 0x100000, 0x400000, 0x0fdc289e )

	NEO_SFIX_128K( "234-s1.bin", 0x95561412 )

	NEO_BIOS_SOUND_128K( "234-m1.bin", 0x087628ea )

	ROM_REGION( 0xe00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "234-v1.bin", 0x000000, 0x400000, 0xed66b76f )
	ROM_LOAD( "234-v2.bin", 0x400000, 0x400000, 0xa0e7f6e2 )
	ROM_LOAD( "234-v3.bin", 0x800000, 0x400000, 0xa506e1e2 )
	ROM_LOAD( "234-v4.bin", 0xc00000, 0x200000, 0x13583c4b )

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "234-c1.bin", 0x0000000, 0x800000, 0x9f7e2bd3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c2.bin", 0x0000001, 0x800000, 0x80623d3c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "234-c3.bin", 0x1000000, 0x800000, 0x91ab1a30 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c4.bin", 0x1000001, 0x800000, 0x3d60b037 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "234-c5.bin", 0x2000000, 0x400000, 0x1ba80cee ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c6.bin", 0x2000001, 0x400000, 0xbeafd091 ) /* Plane 2,3 */
ROM_END

ROM_START( lastsold )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "234-p1k.bin", 0x000000, 0x100000, 0x906f3065 )
	ROM_LOAD16_WORD_SWAP( "234-p2.bin",  0x100000, 0x400000, 0x0fdc289e )

	NEO_SFIX_128K( "234-s1.bin", 0x95561412 )

	NEO_BIOS_SOUND_128K( "234-m1.bin", 0x087628ea )

	ROM_REGION( 0xe00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "234-v1.bin", 0x000000, 0x400000, 0xed66b76f )
	ROM_LOAD( "234-v2.bin", 0x400000, 0x400000, 0xa0e7f6e2 )
	ROM_LOAD( "234-v3.bin", 0x800000, 0x400000, 0xa506e1e2 )
	ROM_LOAD( "234-v4.bin", 0xc00000, 0x200000, 0x13583c4b )
	/* V4 is 32Mbits, needs redump */

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "234-c1.bin", 0x0000000, 0x800000, 0x9f7e2bd3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c2.bin", 0x0000001, 0x800000, 0x80623d3c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "234-c3.bin", 0x1000000, 0x800000, 0x91ab1a30 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c4.bin", 0x1000001, 0x800000, 0x3d60b037 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "234-c5.bin", 0x2000000, 0x400000, 0x1ba80cee ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "234-c6.bin", 0x2000001, 0x400000, 0xbeafd091 ) /* Plane 2,3 */
ROM_END

ROM_START( puzzldpr )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "235-p1.bin", 0x000000, 0x080000, 0xafed5de2 )

	NEO_SFIX_64K( "235-s1.bin", 0x5a68d91e )

	NEO_BIOS_SOUND_128K( "202-m1.bin", 0x9c0291ea )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "202-v1.bin", 0x000000, 0x080000, 0xdebeb8fb )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "202-c1.bin", 0x000000, 0x100000, 0xcc0095ef ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "202-c2.bin", 0x000001, 0x100000, 0x42371307 ) /* Plane 2,3 */
ROM_END

ROM_START( irrmaze )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "236-p1.bin", 0x000000, 0x200000, 0x6d536c6e )

	NEO_SFIX_128K( "236-s1.bin", 0x5d1ca640 )

	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 )
	/* special BIOS with trackball support */
	ROM_LOAD16_WORD_SWAP( IRRMAZE_BIOS_NAME, 0x00000, 0x020000, IRRMAZE_BIOS_CRC )
	ROM_REGION( 0x50000, REGION_CPU2, 0 )
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )  /* we don't use the BIOS anyway... */
	ROM_LOAD( "236-m1.bin", 0x00000, 0x20000, 0x880a1abd )  /* so overwrite it with the real thing */
	ROM_RELOAD(             0x10000, 0x20000 )
	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )  /* Y zoom control */

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "236-v1.bin", 0x000000, 0x200000, 0x5f89c3b4 )

	ROM_REGION( 0x100000, REGION_SOUND2, ROMREGION_SOUNDONLY )
	ROM_LOAD( "236-v2.bin", 0x000000, 0x100000, 0x1e843567 )

	ROM_REGION( 0x0800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "236-c1.bin", 0x000000, 0x400000, 0xc1d47902 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "236-c2.bin", 0x000001, 0x400000, 0xe15f972e ) /* Plane 2,3 */
ROM_END

ROM_START( popbounc )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "237-p1.bin", 0x000000, 0x100000, 0xbe96e44f )

	NEO_SFIX_128K( "237-s1.bin", 0xb61cf595 )

	NEO_BIOS_SOUND_128K( "237-m1.bin", 0xd4c946dd )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "237-v1.bin", 0x000000, 0x200000, 0xedcb1beb )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "237-c1.bin", 0x000000, 0x200000, 0xeda42d66 )
	ROM_LOAD16_BYTE( "237-c2.bin", 0x000001, 0x200000, 0x5e633c65 )
ROM_END

ROM_START( shocktro )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "238-p1.bin", 0x000000, 0x100000, 0x5677456f )
	ROM_LOAD16_WORD_SWAP( "238-p2.bin", 0x100000, 0x400000, 0x5b4a09c5 )

	NEO_SFIX_128K( "238-s1.bin", 0x1f95cedb )

	NEO_BIOS_SOUND_128K( "238-m1.bin", 0x075b9518 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "238-v1.bin", 0x000000, 0x400000, 0x260c0bef )
	ROM_LOAD( "238-v2.bin", 0x400000, 0x200000, 0x4ad7d59e )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "238-c1.bin", 0x0000000, 0x400000, 0x90c6a181 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c2.bin", 0x0000001, 0x400000, 0x888720f0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "238-c3.bin", 0x0800000, 0x400000, 0x2c393aa3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c4.bin", 0x0800001, 0x400000, 0xb9e909eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "238-c5.bin", 0x1000000, 0x400000, 0xc22c68eb ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c6.bin", 0x1000001, 0x400000, 0x119323cd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "238-c7.bin", 0x1800000, 0x400000, 0xa72ce7ed ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c8.bin", 0x1800001, 0x400000, 0x1c7c2efb ) /* Plane 2,3 */
ROM_END

ROM_START( shocktra )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "238-pg1.bin", 0x000000, 0x100000, 0xefedf8dc )
	ROM_LOAD16_WORD_SWAP( "238-p2.bin", 0x100000, 0x400000, 0x5b4a09c5 )

	NEO_SFIX_128K( "238-s1.bin", 0x1f95cedb )

	NEO_BIOS_SOUND_128K( "238-m1.bin", 0x075b9518 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "238-v1.bin", 0x000000, 0x400000, 0x260c0bef )
	ROM_LOAD( "238-v2.bin", 0x400000, 0x200000, 0x4ad7d59e )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "238-c1.bin", 0x0000000, 0x400000, 0x90c6a181 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c2.bin", 0x0000001, 0x400000, 0x888720f0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "238-c3.bin", 0x0800000, 0x400000, 0x2c393aa3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c4.bin", 0x0800001, 0x400000, 0xb9e909eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "238-c5.bin", 0x1000000, 0x400000, 0xc22c68eb ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c6.bin", 0x1000001, 0x400000, 0x119323cd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "238-c7.bin", 0x1800000, 0x400000, 0xa72ce7ed ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "238-c8.bin", 0x1800001, 0x400000, 0x1c7c2efb ) /* Plane 2,3 */
ROM_END

ROM_START( blazstar )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "239-p1.bin", 0x000000, 0x100000, 0x183682f8 )
	ROM_LOAD16_WORD_SWAP( "239-p2.bin", 0x100000, 0x200000, 0x9a9f4154 )

	NEO_SFIX_128K( "239-s1.bin", 0xd56cb498 )

	NEO_BIOS_SOUND_128K( "239-m1.bin", 0xd31a3aea )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "239-v1.bin", 0x000000, 0x400000, 0x1b8d5bf7 )
	ROM_LOAD( "239-v2.bin", 0x400000, 0x400000, 0x74cf0a70 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "239-c1.bin", 0x0000000, 0x400000, 0x84f6d584 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "239-c2.bin", 0x0000001, 0x400000, 0x05a0cb22 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "239-c3.bin", 0x0800000, 0x400000, 0x5fb69c9e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "239-c4.bin", 0x0800001, 0x400000, 0x0be028c4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "239-c5.bin", 0x1000000, 0x400000, 0x74bae5f8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "239-c6.bin", 0x1000001, 0x400000, 0x4e0700d2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "239-c7.bin", 0x1800000, 0x400000, 0x010ff4fd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "239-c8.bin", 0x1800001, 0x400000, 0xdb60460e ) /* Plane 2,3 */
ROM_END

ROM_START( rbff2 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "240-p1.bin", 0x000000, 0x100000, 0xb6969780 )
	ROM_LOAD16_WORD_SWAP( "240-p2.bin", 0x100000, 0x400000, 0x960aa88d )

	NEO_SFIX_128K( "240-s1.bin",  0xda3b40de )

	NEO_BIOS_SOUND_256K( "240-m1.bin", 0xed482791 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "240-v1.bin", 0x000000, 0x400000, 0xf796265a )
	ROM_LOAD( "240-v2.bin", 0x400000, 0x400000, 0x2cb3f3bb )
	ROM_LOAD( "240-v3.bin", 0x800000, 0x400000, 0x8fe1367a )
	ROM_LOAD( "240-v4.bin", 0xc00000, 0x400000, 0x33a356ee )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "240-c1.bin", 0x0000000, 0x800000, 0xeffac504 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c2.bin", 0x0000001, 0x800000, 0xed182d44 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "240-c3.bin", 0x1000000, 0x800000, 0x22e0330a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c4.bin", 0x1000001, 0x800000, 0xc19a07eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "240-c5.bin", 0x2000000, 0x800000, 0x244dff5a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c6.bin", 0x2000001, 0x800000, 0x4609e507 ) /* Plane 2,3 */
ROM_END

ROM_START( rbff2a )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "240-p1.rom", 0x000000, 0x100000, 0x80e41205 )
	ROM_LOAD16_WORD_SWAP( "240-p2.bin", 0x100000, 0x400000, 0x960aa88d )

	NEO_SFIX_128K( "240-s1.bin",  0xda3b40de )

	NEO_BIOS_SOUND_256K( "240-m1.bin", 0xed482791 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "240-v1.bin", 0x000000, 0x400000, 0xf796265a )
	ROM_LOAD( "240-v2.bin", 0x400000, 0x400000, 0x2cb3f3bb )
	ROM_LOAD( "240-v3.bin", 0x800000, 0x400000, 0x8fe1367a )
	ROM_LOAD( "240-v4.bin", 0xc00000, 0x400000, 0x33a356ee )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "240-c1.bin", 0x0000000, 0x800000, 0xeffac504 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c2.bin", 0x0000001, 0x800000, 0xed182d44 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "240-c3.bin", 0x1000000, 0x800000, 0x22e0330a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c4.bin", 0x1000001, 0x800000, 0xc19a07eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "240-c5.bin", 0x2000000, 0x800000, 0x244dff5a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c6.bin", 0x2000001, 0x800000, 0x4609e507 ) /* Plane 2,3 */
ROM_END

ROM_START( rbff2k )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "240-p1k.bin", 0x000000, 0x100000, 0x965edee1 )
	ROM_LOAD16_WORD_SWAP( "240-p2.bin",  0x100000, 0x400000, 0x960aa88d )

	NEO_SFIX_128K( "240-s1.bin",  0xda3b40de )

	NEO_BIOS_SOUND_256K( "240-m1.bin", 0xed482791 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "240-v1.bin", 0x000000, 0x400000, 0xf796265a )
	ROM_LOAD( "240-v2.bin", 0x400000, 0x400000, 0x2cb3f3bb )
	ROM_LOAD( "240-v3.bin", 0x800000, 0x400000, 0x8fe1367a )
	ROM_LOAD( "240-v4.bin", 0xc00000, 0x400000, 0x33a356ee )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "240-c1.bin", 0x0000000, 0x800000, 0xeffac504 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c2.bin", 0x0000001, 0x800000, 0xed182d44 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "240-c3.bin", 0x1000000, 0x800000, 0x22e0330a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c4.bin", 0x1000001, 0x800000, 0xc19a07eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "240-c5.bin", 0x2000000, 0x800000, 0x244dff5a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "240-c6.bin", 0x2000001, 0x800000, 0x4609e507 ) /* Plane 2,3 */
ROM_END


ROM_START( mslug2 )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "241-p1.bin", 0x000000, 0x100000, 0x2a53c5da )
	ROM_LOAD16_WORD_SWAP( "241-p2.bin", 0x100000, 0x200000, 0x38883f44 )

	NEO_SFIX_128K( "241-s1.bin",  0xf3d32f0f )

	NEO_BIOS_SOUND_128K( "241-m1.bin", 0x94520ebd )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "241-v1.bin", 0x000000, 0x400000, 0x99ec20e8 )
	ROM_LOAD( "241-v2.bin", 0x400000, 0x400000, 0xecb16799 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "241-c1.bin", 0x0000000, 0x800000, 0x394b5e0d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "241-c2.bin", 0x0000001, 0x800000, 0xe5806221 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "241-c3.bin", 0x1000000, 0x800000, 0x9f6bfa6f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "241-c4.bin", 0x1000001, 0x800000, 0x7d3e306f ) /* Plane 2,3 */
ROM_END

ROM_START( kof98 ) /* encrypted code + protection */
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "yz98-p1.160", 0x000000, 0x200000, 0x8893df89 )
	ROM_LOAD16_WORD_SWAP( "242-p2.bin", 0x200000, 0x400000, 0x980aba4c )

	NEO_SFIX_128K( "242-s1.bin", 0x7f7b4805 )

	NEO_BIOS_SOUND_256K( "242-m1a.bin", 0x4ef7016b )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "242-v1.bin", 0x000000, 0x400000, 0xb9ea8051 )
	ROM_LOAD( "242-v2.bin", 0x400000, 0x400000, 0xcc11106e )
	ROM_LOAD( "242-v3.bin", 0x800000, 0x400000, 0x044ea4e1 )
	ROM_LOAD( "242-v4.bin", 0xc00000, 0x400000, 0x7985ea30 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "242-c1.bin", 0x0000000, 0x800000, 0xe564ecd6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c2.bin", 0x0000001, 0x800000, 0xbd959b60 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c3.bin", 0x1000000, 0x800000, 0x22127b4f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c4.bin", 0x1000001, 0x800000, 0x0b4fa044 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c5.bin", 0x2000000, 0x800000, 0x9d10bed3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c6.bin", 0x2000001, 0x800000, 0xda07b6a2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c7.bin", 0x3000000, 0x800000, 0xf6d7a38a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c8.bin", 0x3000001, 0x800000, 0xc823e045 ) /* Plane 2,3 */
ROM_END

ROM_START( kof98k ) /* encrypted code + protection, only z80 rom is different to kof98 */
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "yz98-p1.160", 0x000000, 0x200000, 0x8893df89 )
	ROM_LOAD16_WORD_SWAP( "242-p2.bin", 0x200000, 0x400000, 0x980aba4c )

	NEO_SFIX_128K( "242-s1.bin", 0x7f7b4805 )

	NEO_BIOS_SOUND_256K( "242-m1k.bin", 0xce12da0c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "242-v1.bin", 0x000000, 0x400000, 0xb9ea8051 )
	ROM_LOAD( "242-v2.bin", 0x400000, 0x400000, 0xcc11106e )
	ROM_LOAD( "242-v3.bin", 0x800000, 0x400000, 0x044ea4e1 )
	ROM_LOAD( "242-v4.bin", 0xc00000, 0x400000, 0x7985ea30 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "242-c1.bin", 0x0000000, 0x800000, 0xe564ecd6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c2.bin", 0x0000001, 0x800000, 0xbd959b60 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c3.bin", 0x1000000, 0x800000, 0x22127b4f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c4.bin", 0x1000001, 0x800000, 0x0b4fa044 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c5.bin", 0x2000000, 0x800000, 0x9d10bed3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c6.bin", 0x2000001, 0x800000, 0xda07b6a2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c7.bin", 0x3000000, 0x800000, 0xf6d7a38a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c8.bin", 0x3000001, 0x800000, 0xc823e045 ) /* Plane 2,3 */
ROM_END

ROM_START( kof98n )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "242-p1.bin", 0x000000, 0x100000, 0x61ac868a )
	ROM_LOAD16_WORD_SWAP( "242-p2.bin", 0x100000, 0x400000, 0x980aba4c )

	NEO_SFIX_128K( "242-s1.bin", 0x7f7b4805 )

	NEO_BIOS_SOUND_256K( "242-m1.bin", 0x4e7a6b1b )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "242-v1.bin", 0x000000, 0x400000, 0xb9ea8051 )
	ROM_LOAD( "242-v2.bin", 0x400000, 0x400000, 0xcc11106e )
	ROM_LOAD( "242-v3.bin", 0x800000, 0x400000, 0x044ea4e1 )
	ROM_LOAD( "242-v4.bin", 0xc00000, 0x400000, 0x7985ea30 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "242-c1.bin", 0x0000000, 0x800000, 0xe564ecd6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c2.bin", 0x0000001, 0x800000, 0xbd959b60 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c3.bin", 0x1000000, 0x800000, 0x22127b4f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c4.bin", 0x1000001, 0x800000, 0x0b4fa044 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c5.bin", 0x2000000, 0x800000, 0x9d10bed3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c6.bin", 0x2000001, 0x800000, 0xda07b6a2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c7.bin", 0x3000000, 0x800000, 0xf6d7a38a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c8.bin", 0x3000001, 0x800000, 0xc823e045 ) /* Plane 2,3 */
ROM_END

ROM_START( lastbld2 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "243-p1.bin", 0x000000, 0x100000, 0xaf1e6554 )
	ROM_LOAD16_WORD_SWAP( "243-p2.bin", 0x100000, 0x400000, 0xadd4a30b )

	NEO_SFIX_128K( "243-s1.bin", 0xc9cd2298 )

	NEO_BIOS_SOUND_128K( "243-m1.bin", 0xacf12d10 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "243-v1.bin", 0x000000, 0x400000, 0xf7ee6fbb )
	ROM_LOAD( "243-v2.bin", 0x400000, 0x400000, 0xaa9e4df6 )
	ROM_LOAD( "243-v3.bin", 0x800000, 0x400000, 0x4ac750b2 )
	ROM_LOAD( "243-v4.bin", 0xc00000, 0x400000, 0xf5c64ba6 )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "243-c1.bin",  0x0000000, 0x800000, 0x5839444d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "243-c2.bin",  0x0000001, 0x800000, 0xdd087428 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "243-c3.bin",  0x1000000, 0x800000, 0x6054cbe0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "243-c4.bin",  0x1000001, 0x800000, 0x8bd2a9d2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "243-c5.bin",  0x2000000, 0x800000, 0x6a503dcf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "243-c6.bin",  0x2000001, 0x800000, 0xec9c36d0 ) /* Plane 2,3 */
ROM_END

ROM_START( neocup98 )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "244-p1.bin", 0x100000, 0x100000, 0xf8fdb7a5 )
	ROM_CONTINUE(					   0x000000, 0x100000 )

	NEO_SFIX_128K( "244-s1.bin", 0x9bddb697 )

	NEO_BIOS_SOUND_128K( "244-m1.bin", 0xa701b276 )

	ROM_REGION( 0x600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "244-v1.bin", 0x000000, 0x400000, 0x79def46d )
	ROM_LOAD( "244-v2.bin", 0x400000, 0x200000, 0xb231902f )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "244-c1.bin", 0x000000, 0x800000, 0xd2c40ec7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "244-c2.bin", 0x000001, 0x800000, 0x33aa0f35 ) /* Plane 2,3 */
ROM_END

ROM_START( breakrev )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "245-p1.bin", 0x100000, 0x100000, 0xc828876d )
	ROM_CONTINUE(					   0x000000, 0x100000 )

	NEO_SFIX_128K( "245-s1.bin", 0xe7660a5d )

	NEO_BIOS_SOUND_128K( "245-m1.bin", 0x00f31c66 )

	ROM_REGION(  0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "245-v1.bin", 0x000000, 0x400000, 0xe255446c )
	ROM_LOAD( "245-v2.bin", 0x400000, 0x400000, 0x9068198a )

	NO_DELTAT_REGION

	ROM_REGION( 0x1400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "230-c1.bin", 0x0000000, 0x400000, 0x68d4ae76 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "230-c2.bin", 0x0000001, 0x400000, 0xfdee05cd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "230-c3.bin", 0x0800000, 0x400000, 0x645077f3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "230-c4.bin", 0x0800001, 0x400000, 0x63aeb74c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "245-c5.bin", 0x1000000, 0x200000, 0x28ff1792 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "245-c6.bin", 0x1000001, 0x200000, 0x23c65644 ) /* Plane 2,3 */
ROM_END

ROM_START( shocktr2 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "246-p1.bin", 0x000000, 0x100000, 0x6d4b7781 )
	ROM_LOAD16_WORD_SWAP( "246-p2.bin", 0x100000, 0x400000, 0x72ea04c3 )

	NEO_SFIX_128K( "246-s1.bin", 0x2a360637 )

	NEO_BIOS_SOUND_128K( "246-m1.bin", 0xd0604ad1 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "246-v1.bin", 0x000000, 0x400000, 0x16986fc6 )
	ROM_LOAD( "246-v2.bin", 0x400000, 0x400000, 0xada41e83 )
	ROM_LOAD( "246-v3.bin", 0x800000, 0x200000, 0xa05ba5db )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "246-c1.bin", 0x0000000, 0x800000, 0x47ac9ec5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "246-c2.bin", 0x0000001, 0x800000, 0x7bcab64f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "246-c3.bin", 0x1000000, 0x800000, 0xdb2f73e8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "246-c4.bin", 0x1000001, 0x800000, 0x5503854e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "246-c5.bin", 0x2000000, 0x800000, 0x055b3701 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "246-c6.bin", 0x2000001, 0x800000, 0x7e2caae1 ) /* Plane 2,3 */
ROM_END

ROM_START( lans2004 ) /* Bootleg / Hack of Shock Troopers - 2nd Squad */
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "lnsq-p1.bin",  0x000000, 0x200000, 0xb40a879a )
	ROM_LOAD16_WORD_SWAP( "lnsq-p21.bin", 0x200000, 0x200000, 0xecdb2d42 )
	ROM_LOAD16_WORD_SWAP( "lnsq-p22.bin", 0x400000, 0x200000, 0xfac5e2e7 )

	NEO_SFIX_128K( "lnsq-s1.bin", 0x39e82897 )

	NEO_BIOS_SOUND_128K( "246-m1.bin", 0xd0604ad1)

	ROM_REGION( 0xA00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "lnsq-v1.bin", 0x000000, 0x400000, 0x4408ebc3 )
	ROM_LOAD( "lnsq-v2.bin", 0x400000, 0x400000, 0x3d953975 )
	ROM_LOAD( "lnsq-v3.bin", 0x800000, 0x200000, 0x437d1d8e )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "lnsq-c1.bin", 0x0000000, 0x800000, 0xb83de59f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "lnsq-c2.bin", 0x0000001, 0x800000, 0xe08969fd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "lnsq-c3.bin", 0x1000000, 0x800000, 0x013f2cda ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "lnsq-c4.bin", 0x1000001, 0x800000, 0xd8c3a758 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "lnsq-c5.bin", 0x2000000, 0x800000, 0x75500b82 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "lnsq-c6.bin", 0x2000001, 0x800000, 0x670ac13b ) /* Plane 2,3 */
ROM_END

ROM_START( flipshot )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "247-p1.bin", 0x000000, 0x080000, 0xd2e7a7e3 )

	NEO_SFIX_128K( "247-s1.bin", 0x6300185c )

	NEO_BIOS_SOUND_128K( "247-m1.bin", 0xa9fe0144 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "247-v1.bin", 0x000000, 0x200000, 0x42ec743d )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "247-c1.bin",  0x000000, 0x200000, 0xc9eedcb2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "247-c2.bin",  0x000001, 0x200000, 0x7d6d6e87 ) /* Plane 2,3 */
ROM_END

ROM_START( pbobbl2n )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "248-p1.bin", 0x000000, 0x100000, 0x9d6c0754 )

	NEO_SFIX_128K( "248-s1.bin", 0x0a3fee41 )

	NEO_BIOS_SOUND_128K( "248-m1.bin", 0x883097a9 )

	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "248-v1.bin", 0x000000, 0x400000, 0x57fde1fa )
	ROM_LOAD( "248-v2.bin", 0x400000, 0x400000, 0x4b966ef3 )

	NO_DELTAT_REGION

	ROM_REGION( 0xa00000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "248-c1.bin", 0x000000, 0x400000, 0xd9115327 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "248-c2.bin", 0x000001, 0x400000, 0x77f9fdac ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "248-c3.bin", 0x800000, 0x100000, 0x8890bf7c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "248-c4.bin", 0x800001, 0x100000, 0x8efead3f ) /* Plane 2,3 */
ROM_END

ROM_START( ctomaday )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "249-p1.bin", 0x100000, 0x100000, 0xc9386118 )
	ROM_CONTINUE(					   0x000000, 0x100000 )

	NEO_SFIX_128K( "249-s1.bin", 0xdc9eb372 )

	NEO_BIOS_SOUND_128K( "249-m1.bin", 0x80328a47 )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "249-v1.bin", 0x000000, 0x400000, 0xde7c8f27 )
	ROM_LOAD( "249-v2.bin", 0x400000, 0x100000, 0xc8e40119 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "249-c1.bin",  0x000000, 0x400000, 0x041fb8ee ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "249-c2.bin",  0x000001, 0x400000, 0x74f3cdf4 ) /* Plane 2,3 */
ROM_END

ROM_START( mslugx )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "250-p1.bin", 0x000000, 0x100000, 0x81f1f60b )
	ROM_LOAD16_WORD_SWAP( "250-p2.bin", 0x100000, 0x400000, 0x1fda2e12 )

	NEO_SFIX_128K( "250-s1.bin",  0xfb6f441d )

	NEO_BIOS_SOUND_128K( "250-m1.bin", 0xfd42a842 )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "250-v1.bin", 0x000000, 0x400000, 0xc79ede73 )
	ROM_LOAD( "250-v2.bin", 0x400000, 0x400000, 0xea9aabe1 )
	ROM_LOAD( "250-v3.bin", 0x800000, 0x200000, 0x2ca65102 )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "250-c1.bin", 0x0000000, 0x800000, 0x09a52c6f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "250-c2.bin", 0x0000001, 0x800000, 0x31679821 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "250-c3.bin", 0x1000000, 0x800000, 0xfd602019 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "250-c4.bin", 0x1000001, 0x800000, 0x31354513 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "250-c5.bin", 0x2000000, 0x800000, 0xa4b56124 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "250-c6.bin", 0x2000001, 0x800000, 0x83e3e69d ) /* Plane 0,1 */
ROM_END

ROM_START( kof99 ) /* Original Version - Encrypted Code & GFX */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "251-sma.kc",  0x0c0000, 0x040000, 0x6c9d0647 )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "251-p1.bin",  0x100000, 0x400000, 0x006e4532 )
	ROM_LOAD16_WORD_SWAP( "251-pg2.bin", 0x500000, 0x400000, 0xd9057f51 )

	NEO_SFIX_ENCRYPTED_128K
	
	NEO_BIOS_SOUND_128K( "251-m1.bin", 0x5e74539c )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "251-v1.bin", 0x000000, 0x400000, 0xef2eecc8 )
	ROM_LOAD( "251-v2.bin", 0x400000, 0x400000, 0x73e211ca )
	ROM_LOAD( "251-v3.bin", 0x800000, 0x400000, 0x821901da )
	ROM_LOAD( "251-v4.bin", 0xc00000, 0x200000, 0xb49e6178 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "251-c1.bin",   0x0000000, 0x800000, 0x0f9e93fe ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c2.bin",   0x0000001, 0x800000, 0xe71e2ea3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c3.bin",   0x1000000, 0x800000, 0x238755d2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c4.bin",   0x1000001, 0x800000, 0x438c8b22 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c5.bin",   0x2000000, 0x800000, 0x0b0abd0a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c6.bin",   0x2000001, 0x800000, 0x65bbf281 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c7.bin",   0x3000000, 0x800000, 0xff65f62e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c8.bin",   0x3000001, 0x800000, 0x8d921c68 ) /* Plane 2,3 */
ROM_END

ROM_START( kof99a ) /* Original Version - Encrypted Code & GFX */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "251-sma.ka", 0x0c0000, 0x040000, 0x7766d09e )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "251-p1.bin", 0x100000, 0x400000, 0x006e4532 )
	ROM_LOAD16_WORD_SWAP( "251-p2.bin", 0x500000, 0x400000, 0x90175f15 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "251-m1.bin", 0x5e74539c )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "251-v1.bin", 0x000000, 0x400000, 0xef2eecc8 )
	ROM_LOAD( "251-v2.bin", 0x400000, 0x400000, 0x73e211ca )
	ROM_LOAD( "251-v3.bin", 0x800000, 0x400000, 0x821901da )
	ROM_LOAD( "251-v4.bin", 0xc00000, 0x200000, 0xb49e6178 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "251-c1.bin",   0x0000000, 0x800000, 0x0f9e93fe ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c2.bin",   0x0000001, 0x800000, 0xe71e2ea3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c3.bin",   0x1000000, 0x800000, 0x238755d2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c4.bin",   0x1000001, 0x800000, 0x438c8b22 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c5.bin",   0x2000000, 0x800000, 0x0b0abd0a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c6.bin",   0x2000001, 0x800000, 0x65bbf281 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c7.bin",   0x3000000, 0x800000, 0xff65f62e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c8.bin",   0x3000001, 0x800000, 0x8d921c68 ) /* Plane 2,3 */
ROM_END

ROM_START( kof99e ) /* Original Version - Encrypted Code & GFX */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "251-sma.ka",  0x0c0000, 0x040000, 0x7766d09e )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "251-ep1.p1",  0x100000, 0x200000, 0x1e8d692d )
	ROM_LOAD16_WORD_SWAP( "251-ep2.p2",  0x300000, 0x200000, 0xd6206e5a )
	ROM_LOAD16_WORD_SWAP( "251-ep3.p3",  0x500000, 0x200000, 0xd58c3ef8 )
	ROM_LOAD16_WORD_SWAP( "251-ep4.p4",  0x700000, 0x200000, 0x52de02ae )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "251-m1.bin", 0x5e74539c )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "251-v1.bin", 0x000000, 0x400000, 0xef2eecc8 )
	ROM_LOAD( "251-v2.bin", 0x400000, 0x400000, 0x73e211ca )
	ROM_LOAD( "251-v3.bin", 0x800000, 0x400000, 0x821901da )
	ROM_LOAD( "251-v4.bin", 0xc00000, 0x200000, 0xb49e6178 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "251-c1.bin",   0x0000000, 0x800000, 0x0f9e93fe ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c2.bin",   0x0000001, 0x800000, 0xe71e2ea3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c3.bin",   0x1000000, 0x800000, 0x238755d2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c4.bin",   0x1000001, 0x800000, 0x438c8b22 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c5.bin",   0x2000000, 0x800000, 0x0b0abd0a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c6.bin",   0x2000001, 0x800000, 0x65bbf281 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c7.bin",   0x3000000, 0x800000, 0xff65f62e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c8.bin",   0x3000001, 0x800000, 0x8d921c68 ) /* Plane 2,3 */
ROM_END

ROM_START( kof99n ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "251-p1n.bin", 0x000000, 0x100000, 0xf2c7ddfa )
	ROM_LOAD16_WORD_SWAP( "251-p2n.bin", 0x100000, 0x400000, 0x274ef47a )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "251-m1.bin", 0x5e74539c )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "251-v1.bin", 0x000000, 0x400000, 0xef2eecc8 )
	ROM_LOAD( "251-v2.bin", 0x400000, 0x400000, 0x73e211ca )
	ROM_LOAD( "251-v3.bin", 0x800000, 0x400000, 0x821901da )
	ROM_LOAD( "251-v4.bin", 0xc00000, 0x200000, 0xb49e6178 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "251-c1.bin",   0x0000000, 0x800000, 0x0f9e93fe ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c2.bin",   0x0000001, 0x800000, 0xe71e2ea3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c3.bin",   0x1000000, 0x800000, 0x238755d2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c4.bin",   0x1000001, 0x800000, 0x438c8b22 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c5.bin",   0x2000000, 0x800000, 0x0b0abd0a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c6.bin",   0x2000001, 0x800000, 0x65bbf281 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c7.bin",   0x3000000, 0x800000, 0xff65f62e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c8.bin",   0x3000001, 0x800000, 0x8d921c68 ) /* Plane 2,3 */
ROM_END

ROM_START( kof99p ) /* Prototype Version - Possibly Hacked */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "251-p1p.bin", 0x000000, 0x100000, 0xf37929c4 )
	ROM_LOAD16_WORD_SWAP( "251-p2p.bin", 0x100000, 0x400000, 0x739742ad )

	/* This is the S1 from the prototype, the final is certainly be different */
	NEO_SFIX_128K( "251-s1p.bin", 0xfb1498ed )

	/* Did the Prototype really use the same sound program / voice roms, sound isn't great .. */
	NEO_BIOS_SOUND_128K( "251-m1.bin", 0x5e74539c )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "251-v1.bin", 0x000000, 0x400000, 0xef2eecc8 )
	ROM_LOAD( "251-v2.bin", 0x400000, 0x400000, 0x73e211ca )
	ROM_LOAD( "251-v3.bin", 0x800000, 0x400000, 0x821901da )
	ROM_LOAD( "251-v4.bin", 0xc00000, 0x200000, 0xb49e6178 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* these are probably decrypted versions of the roms found in the final */
	ROM_LOAD16_BYTE( "251-c1p.bin", 0x0000000, 0x800000, 0xe5d8ffa4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c2p.bin", 0x0000001, 0x800000, 0xd822778f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c3p.bin", 0x1000000, 0x800000, 0xf20959e8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c4p.bin", 0x1000001, 0x800000, 0x54ffbe9f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c5p.bin", 0x2000000, 0x800000, 0xd87a3bbc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c6p.bin", 0x2000001, 0x800000, 0x4d40a691 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "251-c7p.bin", 0x3000000, 0x800000, 0xa4479a58 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "251-c8p.bin", 0x3000001, 0x800000, 0xead513ce ) /* Plane 2,3 */
ROM_END

ROM_START( ganryu ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "252-p1.bin", 0x100000, 0x100000, 0x4b8ac4fb )
	ROM_CONTINUE(						0x000000, 0x100000 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "252-m1.bin", 0x30cc4099 )

	ROM_REGION( 0x0400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "252-v1.bin", 0x000000, 0x400000, 0xe5946733 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "252-c1.bin", 0x0000000, 0x800000, 0x50ee7882 )
	ROM_LOAD16_BYTE( "252-c2.bin", 0x0000001, 0x800000, 0x62585474 )
ROM_END

ROM_START( garou )
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "253-sma.bin", 0x0c0000, 0x040000, 0x98bc93dc )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "253-ep1.p1",  0x100000, 0x200000, 0xea3171a4 )
	ROM_LOAD16_WORD_SWAP( "253-ep2.p2",  0x300000, 0x200000, 0x382f704b )
	ROM_LOAD16_WORD_SWAP( "253-ep3.p3",  0x500000, 0x200000, 0xe395bfdd )
	ROM_LOAD16_WORD_SWAP( "253-ep4.p4",  0x700000, 0x200000, 0xda92c08e )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )	/* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_256K( "253-m1.bin", 0x36a806be )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "253-v1.bin", 0x000000, 0x400000, 0x263e388c )
	ROM_LOAD( "253-v2.bin", 0x400000, 0x400000, 0x2c6bc7be )
	ROM_LOAD( "253-v3.bin", 0x800000, 0x400000, 0x0425b27d )
	ROM_LOAD( "253-v4.bin", 0xc00000, 0x400000, 0xa54be8a9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "253-c1.bin", 0x0000000, 0x800000, 0x0603e046 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c2.bin", 0x0000001, 0x800000, 0x0917d2a4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c3.bin", 0x1000000, 0x800000, 0x6737c92d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c4.bin", 0x1000001, 0x800000, 0x5ba92ec6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c5.bin", 0x2000000, 0x800000, 0x3eab5557 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c6.bin", 0x2000001, 0x800000, 0x308d098b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c7.bin", 0x3000000, 0x800000, 0xc0e995ae ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c8.bin", 0x3000001, 0x800000, 0x21a11303 ) /* Plane 2,3 */
ROM_END

ROM_START( garouo )
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "253-smao.bin", 0x0c0000, 0x040000, 0x96c72233 )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "253-p1.bin",   0x100000, 0x400000, 0x18ae5d7e )
	ROM_LOAD16_WORD_SWAP( "253-p2.bin",   0x500000, 0x400000, 0xafffa779 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )	/* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_256K( "253-m1.bin", 0x36a806be )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "253-v1.bin", 0x000000, 0x400000, 0x263e388c )
	ROM_LOAD( "253-v2.bin", 0x400000, 0x400000, 0x2c6bc7be )
	ROM_LOAD( "253-v3.bin", 0x800000, 0x400000, 0x0425b27d )
	ROM_LOAD( "253-v4.bin", 0xc00000, 0x400000, 0xa54be8a9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "253-c1.bin", 0x0000000, 0x800000, 0x0603e046 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c2.bin", 0x0000001, 0x800000, 0x0917d2a4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c3.bin", 0x1000000, 0x800000, 0x6737c92d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c4.bin", 0x1000001, 0x800000, 0x5ba92ec6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c5.bin", 0x2000000, 0x800000, 0x3eab5557 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c6.bin", 0x2000001, 0x800000, 0x308d098b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c7.bin", 0x3000000, 0x800000, 0xc0e995ae ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c8.bin", 0x3000001, 0x800000, 0x21a11303 ) /* Plane 2,3 */
ROM_END

ROM_START( garoup ) /* Prototype Version, seems genuine */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "253-p1p.bin", 0x000000, 0x100000, 0xc72f0c16 )
	ROM_LOAD16_WORD_SWAP( "253-p2p.bin", 0x100000, 0x400000, 0xbf8de565 )

	NEO_SFIX_128K( "253-s1p.bin", 0x779989de )

	NEO_BIOS_SOUND_256K( "253-m1p.bin", 0xbbe464f7 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "253-v1p.bin", 0x000000, 0x400000, 0x274f3923 )
	ROM_LOAD( "253-v2p.bin", 0x400000, 0x400000, 0x8f86dabe )
	ROM_LOAD( "253-v3p.bin", 0x800000, 0x400000, 0x05fd06cd )
	ROM_LOAD( "253-v4p.bin", 0xc00000, 0x400000, 0x14984063 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "253-c1p.bin", 0x0000000, 0x800000, 0x5bb5d137 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c2p.bin", 0x0000001, 0x800000, 0x5c8d2960 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c3p.bin", 0x1000000, 0x800000, 0x234d16fc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c4p.bin", 0x1000001, 0x800000, 0xb9b5b993 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c5p.bin", 0x2000000, 0x800000, 0x722615d2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c6p.bin", 0x2000001, 0x800000, 0x0a6fab38 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c7p.bin", 0x3000000, 0x800000, 0xd68e806f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c8p.bin", 0x3000001, 0x800000, 0xf778fe99 ) /* Plane 2,3 */
ROM_END

ROM_START( garoubl ) /* Bootleg of garoup */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "253-p1bl.bin", 0x000000, 0x100000, 0xfd446d59 )
	ROM_LOAD16_WORD_SWAP( "253-p2bl.bin", 0x100000, 0x400000, 0x3fb10a84 )

	NEO_SFIX_128K( "253-s1bl.bin", 0xdf720e33 )

	NEO_BIOS_SOUND_512K( "253-m1bl.bin", 0x7c51d002 )

	ROM_REGION( 0x1000000, REGION_SOUND1, 0 )
	ROM_LOAD( "253-v1bl.bin", 0x000000, 0x400000, 0x98d736e4 )
	ROM_LOAD( "253-v2bl.bin", 0x400000, 0x400000, 0xeb43c03f )
	ROM_LOAD( "253-v3bl.bin", 0x800000, 0x400000, 0x10a0f814 )
	ROM_LOAD( "253-v4bl.bin", 0xc00000, 0x400000, 0x8918fdd3 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "253-c1bl.bin", 0x0000000, 0x1000000, 0xe2ac83fa ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c2bl.bin", 0x0000001, 0x1000000, 0x7c344b24 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c3bl.bin", 0x2000000, 0x1000000, 0xd3aec5a6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c4bl.bin", 0x2000001, 0x1000000, 0xe02a242d ) /* Plane 2,3 */
ROM_END



ROM_START( s1945p ) /* Original Version, Encrypted GFX Roms */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "254-p1.bin", 0x000000, 0x100000, 0xff8efcff )
	ROM_LOAD16_WORD_SWAP( "254-p2.bin", 0x100000, 0x400000, 0xefdfd4dd )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "254-m1.bin", 0x994b4487 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "254-v1.bin", 0x000000, 0x400000, 0x844f58fb )
	ROM_LOAD( "254-v2.bin", 0x400000, 0x400000, 0xd9a248f0 )
	ROM_LOAD( "254-v3.bin", 0x800000, 0x400000, 0x0b0d2d33 )
	ROM_LOAD( "254-v4.bin", 0xc00000, 0x400000, 0x6d13dc91 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "254-c1.bin", 0x0000000, 0x800000, 0xae6fc8ef ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c2.bin", 0x0000001, 0x800000, 0x436fa176 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "254-c3.bin", 0x1000000, 0x800000, 0xe53ff2dc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c4.bin", 0x1000001, 0x800000, 0x818672f0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "254-c5.bin", 0x2000000, 0x800000, 0x4580eacd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c6.bin", 0x2000001, 0x800000, 0xe34970fc ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "254-c7.bin", 0x3000000, 0x800000, 0xf2323239 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c8.bin", 0x3000001, 0x800000, 0x66848c7d ) /* Plane 2,3 */
ROM_END

ROM_START( preisle2 ) /* Original Version, Encrypted GFX */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "255-p1.bin", 0x000000, 0x100000, 0xdfa3c0f3 )
	ROM_LOAD16_WORD_SWAP( "255-p2.bin", 0x100000, 0x400000, 0x42050b80 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "255-m1.bin", 0x8efd4014 )

	ROM_REGION( 0x0600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "255-v1.bin", 0x000000, 0x400000, 0x5a14543d )
	ROM_LOAD( "255-v2.bin", 0x400000, 0x200000, 0x6610d91a )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "255-c1.bin",   0x0000000, 0x800000, 0xea06000b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "255-c2.bin",   0x0000001, 0x800000, 0x04e67d79 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "255-c3.bin",   0x1000000, 0x800000, 0x60e31e08 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "255-c4.bin",   0x1000001, 0x800000, 0x40371d69 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "255-c5.bin",   0x2000000, 0x800000, 0x0b2e6adf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "255-c6.bin",   0x2000001, 0x800000, 0xb001bdd3 ) /* Plane 2,3 */
ROM_END

ROM_START( mslug3 ) /* Original Version - Encrypted Code & GFX */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "256-sma.bin", 0x0c0000, 0x040000, 0x9cd55736 )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "256-p1.bin",  0x100000, 0x400000, 0xb07edfd5 )
	ROM_LOAD16_WORD_SWAP( "256-p2.bin",  0x500000, 0x400000, 0x6097c26b )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_512K( "256-m1.bin", 0xeaeec116 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "256-v1.bin", 0x000000, 0x400000, 0xf2690241 )
	ROM_LOAD( "256-v2.bin", 0x400000, 0x400000, 0x7e2a10bd )
	ROM_LOAD( "256-v3.bin", 0x800000, 0x400000, 0x0eaec17c )
	ROM_LOAD( "256-v4.bin", 0xc00000, 0x400000, 0x9b4b22d4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "256-c1.bin",   0x0000000, 0x800000, 0x5a79c34e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c2.bin",   0x0000001, 0x800000, 0x944c362c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c3.bin",   0x1000000, 0x800000, 0x6e69d36f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c4.bin",   0x1000001, 0x800000, 0xb755b4eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c5.bin",   0x2000000, 0x800000, 0x7aacab47 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c6.bin",   0x2000001, 0x800000, 0xc698fd5d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c7.bin",   0x3000000, 0x800000, 0xcfceddd2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c8.bin",   0x3000001, 0x800000, 0x4d9be34c ) /* Plane 2,3 */
ROM_END

ROM_START( mslug3n ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "256-p1n.bin",  0x000000, 0x100000, 0x9c42ca85 )
	ROM_LOAD16_WORD_SWAP( "256-p2n.bin",  0x100000, 0x400000, 0x1f3d8ce8 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_512K( "256-m1.bin", 0xeaeec116 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "256-v1.bin", 0x000000, 0x400000, 0xf2690241 )
	ROM_LOAD( "256-v2.bin", 0x400000, 0x400000, 0x7e2a10bd )
	ROM_LOAD( "256-v3.bin", 0x800000, 0x400000, 0x0eaec17c )
	ROM_LOAD( "256-v4.bin", 0xc00000, 0x400000, 0x9b4b22d4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "256-c1.bin",   0x0000000, 0x800000, 0x5a79c34e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c2.bin",   0x0000001, 0x800000, 0x944c362c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c3.bin",   0x1000000, 0x800000, 0x6e69d36f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c4.bin",   0x1000001, 0x800000, 0xb755b4eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c5.bin",   0x2000000, 0x800000, 0x7aacab47 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c6.bin",   0x2000001, 0x800000, 0xc698fd5d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c7.bin",   0x3000000, 0x800000, 0xcfceddd2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c8.bin",   0x3000001, 0x800000, 0x4d9be34c ) /* Plane 2,3 */
ROM_END


ROM_START( kof2000 ) /* Original Version, Encrypted Code + Sound + GFX Roms */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "257-sma.bin", 0x0c0000, 0x040000, 0x71c6e6bb )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "257-p1.bin",  0x100000, 0x400000, 0x60947b4c )
	ROM_LOAD16_WORD_SWAP( "257-p2.bin",  0x500000, 0x400000, 0x1b7ec415 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )	/* larger char set */
	ROM_FILL(            0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
	ROM_REGION( 0x40000, REGION_USER4, 0 )
	ROM_LOAD( "257-m1.bin", 0x00000, 0x40000, 0x4b749113 )
	NEO_BIOS_SOUND_256K( "257-m1d.bin", 0xd404db70 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "257-v1.bin", 0x000000, 0x400000, 0x17cde847 )
	ROM_LOAD( "257-v2.bin", 0x400000, 0x400000, 0x1afb20ff )
	ROM_LOAD( "257-v3.bin", 0x800000, 0x400000, 0x4605036a )
	ROM_LOAD( "257-v4.bin", 0xc00000, 0x400000, 0x764bbd6b )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "257-c1.bin",   0x0000000, 0x800000, 0xcef1cdfa ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c2.bin",   0x0000001, 0x800000, 0xf7bf0003 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "257-c3.bin",   0x1000000, 0x800000, 0x101e6560 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c4.bin",   0x1000001, 0x800000, 0xbd2fc1b1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "257-c5.bin",   0x2000000, 0x800000, 0x89775412 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c6.bin",   0x2000001, 0x800000, 0xfa7200d5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "257-c7.bin",   0x3000000, 0x800000, 0x7da11fe4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c8.bin",   0x3000001, 0x800000, 0xb1afa60b ) /* Plane 2,3 */
ROM_END

ROM_START( kof2000n ) /* Original Version, Encrypted Sound + GFX Roms */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "257-p1n.bin",  0x000000, 0x100000, 0x5f809dbe )
	ROM_LOAD16_WORD_SWAP( "257-p2n.bin",  0x100000, 0x400000, 0x693c2c5e )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )	/* larger char set */
	ROM_FILL(            0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
	ROM_REGION( 0x40000, REGION_USER4, 0 )
	ROM_LOAD( "257-m1.bin", 0x00000, 0x40000, 0x4b749113 )
	NEO_BIOS_SOUND_256K( "257-m1d.bin", 0xd404db70 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "257-v1.bin", 0x000000, 0x400000, 0x17cde847 )
	ROM_LOAD( "257-v2.bin", 0x400000, 0x400000, 0x1afb20ff )
	ROM_LOAD( "257-v3.bin", 0x800000, 0x400000, 0x4605036a )
	ROM_LOAD( "257-v4.bin", 0xc00000, 0x400000, 0x764bbd6b )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "257-c1.bin",   0x0000000, 0x800000, 0xcef1cdfa ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c2.bin",   0x0000001, 0x800000, 0xf7bf0003 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "257-c3.bin",   0x1000000, 0x800000, 0x101e6560 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c4.bin",   0x1000001, 0x800000, 0xbd2fc1b1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "257-c5.bin",   0x2000000, 0x800000, 0x89775412 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c6.bin",   0x2000001, 0x800000, 0xfa7200d5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "257-c7.bin",   0x3000000, 0x800000, 0x7da11fe4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "257-c8.bin",   0x3000001, 0x800000, 0xb1afa60b ) /* Plane 2,3 */
ROM_END

ROM_START( bangbead ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "259-p1.bin", 0x100000, 0x100000, 0x88a37f8b )
	ROM_CONTINUE(                       0x000000, 0x100000 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "259-m1.bin", 0x85668ee9 )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "259-v1.bin", 0x000000, 0x400000, 0x088eb8ab)
	ROM_LOAD( "259-v2.bin", 0x400000, 0x100000, 0x97528fe9)

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "259-c1.bin", 0x0000000, 0x800000, 0x1f537f74 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "259-c2.bin", 0x0000001, 0x800000, 0x0efd98ff ) /* Plane 2,3 */
ROM_END

/* same data, diff. format roms, not encrypted, it could be a bootleg, not a prototype, since its identical
   when decrypted i'm disabling it for now */
#if 0
ROM_START( bangbedp )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "259-p1.bin", 0x100000, 0x100000, 0x88a37f8b )
	ROM_CONTINUE(                       0x000000, 0x100000 )

	NEO_SFIX_128K( "259-s1p.bin", 0xbb50fb2d )

	NEO_BIOS_SOUND_128K( "259-m1.bin", 0x85668ee9 )

	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "259-v1p.bin", 0x000000, 0x200000, 0xe97b9385 )
	ROM_LOAD( "259-v2p.bin", 0x200000, 0x200000, 0xb0cbd70a )
	ROM_LOAD( "259-v3p.bin", 0x400000, 0x100000, 0x97528fe9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "259-c1p.bin", 0x000000, 0x200000, 0xe3919e44 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "259-c2p.bin", 0x000001, 0x200000, 0xbaf5a320 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "259-c3p.bin", 0x400000, 0x100000, 0xc8e52157 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "259-c4p.bin", 0x400001, 0x100000, 0x69fa8e60 ) /* Plane 2,3 */
ROM_END
#endif

ROM_START( nitd ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "260-p1.bin", 0x000000, 0x080000, 0x61361082 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_512K( "260-m1.bin", 0x6407c5e5 )

	ROM_REGION( 0x0400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "260-v1.bin", 0x000000, 0x400000, 0x24b0480c )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "260-c1.bin", 0x0000000, 0x800000, 0x147b0c7f )
	ROM_LOAD16_BYTE( "260-c2.bin", 0x0000001, 0x800000, 0xd2b04b0d )
ROM_END

ROM_START( zupapa ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "070-p1.bin", 0x000000, 0x100000, 0x5a96203e )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "070-m1.bin", 0x5a3b3191 )

	ROM_REGION( 0x0200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "070-v1.bin", 0x000000, 0x200000, 0xd3a7e1ff )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "070-c1.bin", 0x0000000, 0x800000, 0xf8ad02d8 )
	ROM_LOAD16_BYTE( "070-c2.bin", 0x0000001, 0x800000, 0x70156dde )
ROM_END

ROM_START( sengoku3 ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
//  ROM_LOAD16_WORD_SWAP( "261-p1.bin", 0x100000, 0x100000, 0x5b557201 )
	ROM_LOAD16_WORD_SWAP( "261-p1.bin", 0x100000, 0x100000, 0xe0d4bc0a )
	ROM_CONTINUE(                       0x000000, 0x100000 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "261-m1.bin", 0x36ed9cdd )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "261-v1.bin", 0x000000, 0x400000, 0x64c30081 )
	ROM_LOAD( "261-v2.bin", 0x400000, 0x400000, 0x392a9c47 )
	ROM_LOAD( "261-v3.bin", 0x800000, 0x400000, 0xc1a7ebe3 )
	ROM_LOAD( "261-v4.bin", 0xc00000, 0x200000, 0x9000d085 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "261-c1.bin", 0x0000000, 0x800000, 0xded84d9c )
	ROM_LOAD16_BYTE( "261-c2.bin", 0x0000001, 0x800000, 0xb8eb4348 )
	ROM_LOAD16_BYTE( "261-c3.bin", 0x1000000, 0x800000, 0x84e2034a )
	ROM_LOAD16_BYTE( "261-c4.bin", 0x1000001, 0x800000, 0x0b45ae53 )
ROM_END

ROM_START( kof2001 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "262-p1.bin", 0x000000, 0x100000, 0x9381750d )
	ROM_LOAD16_WORD_SWAP( "262-p2.bin", 0x100000, 0x400000, 0x8e0d8329 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
#ifndef MAME_DEBUG
	ROM_REGION( 0x40000, REGION_USER4, 0 )
	ROM_LOAD( "265-262-m1.bin", 0x00000, 0x20000, 0x1d5aab51 ) /* yes it really does have a strange name */
	NEO_BIOS_SOUND_128K( "262-m1d.bin",  0x73c1f5b0 )
	NEO_BIOS_SOUND_128K( "265-262_decrypted-m1.bin",  0x2fb0a8a5 )
#else
	NEO_BIOS_SOUND_128K( "265-262.bin",  0x2fb0a8a5 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "262-c1.bin", 0x0000000, 0x800000, 0x99cc785a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c2.bin", 0x0000001, 0x800000, 0x50368cbf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c3.bin", 0x1000000, 0x800000, 0xfb14ff87 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c4.bin", 0x1000001, 0x800000, 0x4397faf8 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c5.bin", 0x2000000, 0x800000, 0x91f24be4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c6.bin", 0x2000001, 0x800000, 0xa31e4403 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c7.bin", 0x3000000, 0x800000, 0x54d9d1ec ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c8.bin", 0x3000001, 0x800000, 0x59289a6b ) /* Plane 2,3 */
ROM_END

ROM_START( kof2001h )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "262-pg1.bin", 0x000000, 0x100000, 0x2af7e741 )
	ROM_LOAD16_WORD_SWAP( "262-pg2.bin", 0x100000, 0x400000, 0x91eea062 )

	NEO_SFIX_ENCRYPTED_128K

	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
#ifndef MAME_DEBUG
	ROM_REGION( 0x40000, REGION_USER4, 0 )
	ROM_LOAD( "265-262-m1.bin", 0x00000, 0x20000, 0x1d5aab51 ) /* yes it really does have a strange name */
	NEO_BIOS_SOUND_128K( "262-m1d.bin",  0x73c1f5b0 )
	NEO_BIOS_SOUND_128K( "265-262_decrypted-m1.bin",  0x2fb0a8a5 )
#else
	NEO_BIOS_SOUND_128K( "265-262.bin",  0x2fb0a8a5 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "262-c1.bin", 0x0000000, 0x800000, 0x99cc785a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c2.bin", 0x0000001, 0x800000, 0x50368cbf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c3.bin", 0x1000000, 0x800000, 0xfb14ff87 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c4.bin", 0x1000001, 0x800000, 0x4397faf8 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c5.bin", 0x2000000, 0x800000, 0x91f24be4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c6.bin", 0x2000001, 0x800000, 0xa31e4403 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c7.bin", 0x3000000, 0x800000, 0x54d9d1ec ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c8.bin", 0x3000001, 0x800000, 0x59289a6b ) /* Plane 2,3 */
ROM_END

ROM_START( mslug4 ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "263-p1.bin",  0x000000, 0x100000, 0x27e4def3 )
	ROM_LOAD16_WORD_SWAP( "263-p2.bin",  0x100000, 0x400000, 0xfdb7aed8 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )	/* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
	ROM_REGION( 0x40000, REGION_USER4, 0 )
	ROM_LOAD( "263-m1.bin", 0x00000, 0x10000, 0x38ffad14 )
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "263-m1_decrypted.bin", 0x0c4c42f8 )
#else
	NEO_BIOS_SOUND_64K( "263-m1d.bin", 0x0c4c42f8 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "263-v1.bin", 0x000000, 0x800000, 0x01e9b9cd )
	ROM_LOAD( "263-v2.bin", 0x800000, 0x800000, 0x4ab2bf81 )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "263-c1.bin",   0x0000000, 0x800000, 0x84865f8a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "263-c2.bin",   0x0000001, 0x800000, 0x81df97f2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "263-c3.bin",   0x1000000, 0x800000, 0x1a343323 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "263-c4.bin",   0x1000001, 0x800000, 0x942cfb44 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "263-c5.bin",   0x2000000, 0x800000, 0xa748854f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "263-c6.bin",   0x2000001, 0x800000, 0x5c8ba116 ) /* Plane 2,3 */
ROM_END

ROM_START( ms4plus )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "263-p1p.bin",  0x000000, 0x100000, 0x806a6e04)
	ROM_LOAD16_WORD_SWAP( "263-p2.bin",   0x100000, 0x400000, 0xfdb7aed8)

	/* bootleg: regular s1 rom */
	NEO_SFIX_128K( "263-s1p.bin", 0x07ff87ce)

	/* bootleg: non-encrypted m1 */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "263-m1_decrypted.bin", 0x0c4c42f8 )
#else
	NEO_BIOS_SOUND_64K( "263-m1d.bin", 0x0c4c42f8 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* bootleg: non-encrypted samples */
	ROM_LOAD( "ms4n_v1.rom", 0x000000, 0x800000, 0xfd6b982e )
	ROM_LOAD( "ms4n_v2.rom", 0x800000, 0x800000, 0x20125227 )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	/* bootleg: non-encrypted gfx */
	ROM_LOAD16_BYTE( "ms4n_c1.rom", 0x0000000, 0x800000, 0xa75ffcde ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "ms4n_c2.rom", 0x0000001, 0x800000, 0x5ab0d12b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "ms4n_c3.rom", 0x1000000, 0x800000, 0x61af560c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "ms4n_c4.rom", 0x1000001, 0x800000, 0xf2c544fd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "ms4n_c5.rom", 0x2000000, 0x800000, 0x84c66c44 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "ms4n_c6.rom", 0x2000001, 0x800000, 0x5ed018ab ) /* Plane 2,3 */
ROM_END

ROM_START( rotd ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "264-p1.bin", 0x000000, 0x800000, 0xb8cc969d )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x40000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "264-m1.bin", 0x00000, 0x10000, 0x9abd048c )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "264-m1_decrypted.bin", 0x7e06206d )
#else
	NEO_BIOS_SOUND_64K( "264-m1d.bin", 0x7e06206d )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "264-v1.bin", 0x000000, 0x800000, 0xfa005812 )
	ROM_LOAD( "264-v2.bin", 0x800000, 0x800000, 0xc3dc8bf0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )/* Encrypted */
	ROM_LOAD16_BYTE( "264-c1.bin", 0x0000000, 0x800000, 0x4f148fee )
	ROM_LOAD16_BYTE( "264-c2.bin", 0x0000001, 0x800000, 0x7cf5ff72 )
	ROM_LOAD16_BYTE( "264-c3.bin", 0x1000000, 0x800000, 0x64d84c98 )
	ROM_LOAD16_BYTE( "264-c4.bin", 0x1000001, 0x800000, 0x2f394a95 )
	ROM_LOAD16_BYTE( "264-c5.bin", 0x2000000, 0x800000, 0x6b99b978 )
	ROM_LOAD16_BYTE( "264-c6.bin", 0x2000001, 0x800000, 0x847d5c7d )
	ROM_LOAD16_BYTE( "264-c7.bin", 0x3000000, 0x800000, 0x231d681e )
	ROM_LOAD16_BYTE( "264-c8.bin", 0x3000001, 0x800000, 0xc5edb5c4 )
ROM_END


ROM_START( kof2002 ) /* Encrypted Set */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1.bin", 0x000000, 0x100000, 0x9ede7323 )
	ROM_LOAD16_WORD_SWAP( "265-p2.bin", 0x100000, 0x400000, 0x327266b8 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x20000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "265-m1.bin", 0x00000, 0x20000, 0x85aaa632 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "265-c1.bin", 0x0000000, 0x800000, 0x2b65a656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2.bin", 0x0000001, 0x800000, 0xadf18983 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3.bin", 0x1000000, 0x800000, 0x875e9fd7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4.bin", 0x1000001, 0x800000, 0x2da13947 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5.bin", 0x2000000, 0x800000, 0x61bd165d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6.bin", 0x2000001, 0x800000, 0x03fdd1eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7.bin", 0x3000000, 0x800000, 0x1a2749d8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8.bin", 0x3000001, 0x800000, 0xab0bb549 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k2pls ) /* bootleg */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1p.bin", 0x000000, 0x100000, 0x3ab03781 )
	ROM_LOAD16_WORD_SWAP( "265-p2.bin", 0x100000, 0x400000, 0x327266b8 )

	NEO_SFIX_128K( "265-s1p.bin", 0x595e0006 )

	ROM_REGION( 0x20000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "265-m1.bin", 0x00000, 0x20000, 0x85aaa632 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "265-c1.bin", 0x0000000, 0x800000, 0x2b65a656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2.bin", 0x0000001, 0x800000, 0xadf18983 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3.bin", 0x1000000, 0x800000, 0x875e9fd7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4.bin", 0x1000001, 0x800000, 0x2da13947 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5.bin", 0x2000000, 0x800000, 0x61bd165d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6.bin", 0x2000001, 0x800000, 0x03fdd1eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7.bin", 0x3000000, 0x800000, 0x1a2749d8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8.bin", 0x3000001, 0x800000, 0xab0bb549 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k2pla ) /* bootleg */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1pa.bin", 0x000000, 0x100000, 0x6a3a02f3 )
	ROM_LOAD16_WORD_SWAP( "265-p2.bin", 0x100000, 0x400000, 0x327266b8 )

	NEO_SFIX_128K( "265-s1pa.bin",  0x1a3ed064 )

	ROM_REGION( 0x20000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "265-m1.bin", 0x00000, 0x20000, 0x85aaa632 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "265-c1.bin", 0x0000000, 0x800000, 0x2b65a656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2.bin", 0x0000001, 0x800000, 0xadf18983 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3.bin", 0x1000000, 0x800000, 0x875e9fd7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4.bin", 0x1000001, 0x800000, 0x2da13947 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5.bin", 0x2000000, 0x800000, 0x61bd165d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6.bin", 0x2000001, 0x800000, 0x03fdd1eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7.bin", 0x3000000, 0x800000, 0x1a2749d8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8.bin", 0x3000001, 0x800000, 0xab0bb549 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k2mp )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "kf02m-p1.bin", 0x000000, 0x400000, 0xff7c6ec0 )
	ROM_LOAD16_WORD_SWAP( "kf02m-p2.bin", 0x400000, 0x400000, 0x91584716 )

	NEO_SFIX_128K( "kf02m-s1.bin", 0x348d6f2c )

	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "265-c1.bin", 0x0000000, 0x800000, 0x2b65a656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2.bin", 0x0000001, 0x800000, 0xadf18983 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3.bin", 0x1000000, 0x800000, 0x875e9fd7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4.bin", 0x1000001, 0x800000, 0x2da13947 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5.bin", 0x2000000, 0x800000, 0x61bd165d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6.bin", 0x2000001, 0x800000, 0x03fdd1eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7.bin", 0x3000000, 0x800000, 0x1a2749d8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8.bin", 0x3000001, 0x800000, 0xab0bb549 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k2mp2 ) /* bootleg */
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "k2k2m2p1.bin", 0x000000, 0x200000, 0x1016806c )
	ROM_LOAD16_WORD_SWAP( "k2k2m2p2.bin", 0x200000, 0x400000, 0x432fdf53 )

	NEO_SFIX_128K( "k2k2m2s1.bin",  0x446e74c5 )

	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "265-c1.bin", 0x0000000, 0x800000, 0x2b65a656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2.bin", 0x0000001, 0x800000, 0xadf18983 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3.bin", 0x1000000, 0x800000, 0x875e9fd7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4.bin", 0x1000001, 0x800000, 0x2da13947 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5.bin", 0x2000000, 0x800000, 0x61bd165d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6.bin", 0x2000001, 0x800000, 0x03fdd1eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7.bin", 0x3000000, 0x800000, 0x1a2749d8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8.bin", 0x3000001, 0x800000, 0xab0bb549 ) /* Plane 2,3 */
ROM_END

ROM_START( matrim ) /* Encrypted Set */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "266-p1.bin", 0x000000, 0x100000, 0x5d4c2dc7)
	ROM_LOAD16_WORD_SWAP( "266-p2.bin", 0x100000, 0x400000, 0xa14b1906)

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_FILL(                0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x20000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "266-m1.bin", 0x00000, 0x20000, 0x456c3e6c )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "266-m1_decrypted.bin", 0xd2f3742d )
#else
	NEO_BIOS_SOUND_128K( "266-m1d.bin", 0xd2f3742d )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "266-v1.bin", 0x000000, 0x800000, 0xa4f83690 )
	ROM_LOAD( "266-v2.bin", 0x800000, 0x800000, 0xd0f69eda )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "266-c1.bin", 0x0000000, 0x800000, 0x505f4e30 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c2.bin", 0x0000001, 0x800000, 0x3cb57482 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c3.bin", 0x1000000, 0x800000, 0xf1cc6ad0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c4.bin", 0x1000001, 0x800000, 0x45b806b7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c5.bin", 0x2000000, 0x800000, 0x9a15dd6b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c6.bin", 0x2000001, 0x800000, 0x281cb939 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c7.bin", 0x3000000, 0x800000, 0x4b71f780 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c8.bin", 0x3000001, 0x800000, 0x29873d33 ) /* Plane 2,3 */
ROM_END

ROM_START( pnyaa ) /* Encrypted GFX */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "267-p1.bin", 0x000000, 0x100000, 0x112fe2c0)

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc)

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "267-m1.bin", 0x00000, 0x80000, 0xc7853ccd )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "267-m1_decrypted.bin", 0xd58eaa8e )
#else
	NEO_BIOS_SOUND_512K( "267-m1d.bin", 0xd58eaa8e )
#endif

	ROM_REGION( 0x0400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "267-v1.bin", 0x000000, 0x400000, 0xe2e8e917)

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "267-c1.bin", 0x0000000, 0x800000, 0x00000000 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "267-c2.bin", 0x0000001, 0x800000, 0x00000000 ) /* Plane 2,3 */
ROM_END

ROM_START( mslug5 ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "268-p1cr.bin", 0x000000, 0x400000, 0xd0466792 )
	ROM_LOAD32_WORD_SWAP( "268-p2cr.bin", 0x000002, 0x400000, 0xfbf6b61e )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "268-m1.bin", 0x00000, 0x10000, 0x58b107d0 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "268-m1_decrypted.bin", 0x3c0655a7 )
#else
	NEO_BIOS_SOUND_64K( "268-m1d.bin", 0x3c0655a7 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "268-v1c.bin", 0x000000, 0x800000, 0xae31d60c )
	ROM_LOAD( "268-v2c.bin", 0x800000, 0x800000, 0xc40613ed )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "268-c1c.bin", 0x0000000, 0x800000, 0xab7c389a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c2c.bin", 0x0000001, 0x800000, 0x3560881b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c3c.bin", 0x1000000, 0x800000, 0x3af955ea ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c4c.bin", 0x1000001, 0x800000, 0xc329c373 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c5c.bin", 0x2000000, 0x800000, 0x959c8177 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c6c.bin", 0x2000001, 0x800000, 0x010a831b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c7c.bin", 0x3000000, 0x800000, 0x6d72a969 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c8c.bin", 0x3000001, 0x800000, 0x551d720e ) /* Plane 2,3 */
ROM_END

/* program roms are the same on the PCB version, GFX roms etc. are different arrangement */
ROM_START( ms5pcb ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "268-p1.bin", 0x000000, 0x400000, 0xd0466792 )
	ROM_LOAD32_WORD_SWAP( "268-p2.bin", 0x000002, 0x400000, 0xfbf6b61e )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION16_BE( 0x80000, REGION_USER1, 0 )
	/* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
	ROM_LOAD16_WORD_SWAP( "268-bios.bin", 0x00000, 0x80000, 0xb4590283 )

	ROM_REGION( 0x50000, REGION_CPU2, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "268-m1.bin", 0x00000, 0x10000, 0x58b107d0 )
	/* Decrypted */
#ifndef MAME_DEBUG
	ROM_LOAD( "268-m1_decrypted.bin", 0x00000, 0x10000, 0x3c0655a7 )
#else
	ROM_LOAD( "268-m1d.bin", 0x00000, 0x10000, 0x3c0655a7 )
#endif
	ROM_RELOAD( 0x10000, 0x10000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "268-v1.bin", 0x000000, 0x1000000, 0x8458afe5 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD32_WORD( "268-c1.bin", 0x0000000, 0x1000000, 0x802042e8 ) /* Plane 0,1 */
	ROM_LOAD32_WORD( "268-c2.bin", 0x0000002, 0x1000000, 0x3b89fb9f ) /* Plane 2,3 */
	ROM_LOAD32_WORD( "268-c3.bin", 0x2000000, 0x1000000, 0x0f3f59e3 ) /* Plane 0,1 */
	ROM_LOAD32_WORD( "268-c4.bin", 0x2000002, 0x1000000, 0x3ad8435a ) /* Plane 2,3 */
ROM_END

ROM_START( ms5plus )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "268-p1p.bin", 0x000000, 0x100000, 0x106b276f )
	ROM_LOAD16_WORD_SWAP( "268-p2p.bin", 0x100000, 0x200000, 0xd6a458e8 )
	ROM_LOAD16_WORD_SWAP( "268-p3p.bin", 0x300000, 0x200000, 0x439ec031 )

	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_LOAD("268-s1p.bin", 0x000000, 0x20000, 0x21e04432 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "268-m1.bin", 0x00000, 0x10000, 0x58b107d0 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "268-m1_decrypted.bin", 0x3c0655a7 )
#else
	NEO_BIOS_SOUND_64K( "268-m1d.bin", 0x3c0655a7 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "268-v1c.bin", 0x000000, 0x800000, 0xae31d60c )
	ROM_LOAD( "268-v2c.bin", 0x800000, 0x800000, 0xc40613ed )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "268-c1c.bin", 0x0000000, 0x800000, 0xab7c389a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c2c.bin", 0x0000001, 0x800000, 0x3560881b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c3c.bin", 0x1000000, 0x800000, 0x3af955ea ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c4c.bin", 0x1000001, 0x800000, 0xc329c373 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c5c.bin", 0x2000000, 0x800000, 0x959c8177 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c6c.bin", 0x2000001, 0x800000, 0x010a831b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c7c.bin", 0x3000000, 0x800000, 0x6d72a969 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c8c.bin", 0x3000001, 0x800000, 0x551d720e ) /* Plane 2,3 */
ROM_END

ROM_START( svcpcb ) /* Encrypted Set, JAMMA PCB */
	ROM_REGION( 0x2000000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "269-p1.bin", 0x000000, 0x2000000, 0x432cfdfc )

	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION16_BE( 0x80000, REGION_USER1, 0 )
	/* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
	ROM_LOAD16_WORD_SWAP( "269-bios.bin", 0x00000, 0x80000, 0xb4590283 )

	ROM_REGION( 0x90000, REGION_CPU2, 0 )
	/* Encrypted */
	ROM_LOAD( "269-m1.bin", 0x00000, 0x20000, 0x7d337756 )
	/* Decrypted */
#ifndef MAME_DEBUG
	ROM_LOAD( "269-m1_decrypted.bin", 0x00000, 0x20000, 0x447b3123 )
#else
	ROM_LOAD( "269-m1d.bin", 0x00000, 0x20000, 0x447b3123 )
#endif
	ROM_RELOAD( 0x10000, 0x20000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "269-v1.bin", 0x000000, 0x800000, 0xc659b34c )
	ROM_LOAD( "269-v2.bin", 0x800000, 0x800000, 0xdd903835 )

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD( "269-c1.bin", 0x0000000, 0x2000000, 0x1b608f9c ) /* Plane 0,1 */
	ROM_LOAD( "269-c2.bin", 0x2000000, 0x2000000, 0x5a95f294 ) /* Plane 0,1 */
ROM_END

/* alt PCB version, this one has the same program roms as the MVS set, and different GFX / Sound rom arrangements */
ROM_START( svcpcba ) /* Encrypted Set, JAMMA PCB */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "269-p1a.bin", 0x000000, 0x400000, 0x38e2005e )
	ROM_LOAD32_WORD_SWAP( "269-p2a.bin", 0x000002, 0x400000, 0x6d13797c )

	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION16_BE( 0x80000, REGION_USER1, 0 )
	/* this contains both an ASIA and JAPAN bios, HARDDIP3 on the PCB selects which to use */
	ROM_LOAD16_WORD_SWAP( "269-bios.bin", 0x00000, 0x80000, 0xb4590283 )

	ROM_REGION( 0x50000, REGION_CPU2, 0 )
//	ROM_REGION( 0x90000, REGION_CPU2, 0 )
	/* Encrypted */
	ROM_LOAD( "269-m1.bin", 0x00000, 0x20000, 0x7d337756 )
	/* Decrypted */
	ROM_LOAD( "269-m1_decrypted.bin", 0x00000, 0x20000, 0x447b3123 )
	ROM_RELOAD( 0x10000, 0x20000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "269-v1a.bin", 0x000000, 0x1000000, 0xa6af4753 )

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD32_WORD( "269-c1a.bin", 0x0000000, 0x1000000, 0xe64d2b0c ) /* Plane 0,1 */
	ROM_LOAD32_WORD( "269-c2a.bin", 0x0000002, 0x1000000, 0x249089c2 ) /* Plane 2,3 */
	ROM_LOAD32_WORD( "269-c3a.bin", 0x2000000, 0x1000000, 0xd32f2fab ) /* Plane 0,1 */
	ROM_LOAD32_WORD( "269-c4a.bin", 0x2000002, 0x1000000, 0xbf77e878 ) /* Plane 2,3 */
ROM_END

ROM_START( svc ) /* Encrypted Set, MVS Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "269-p1c.bin", 0x000000, 0x400000, 0x38e2005e )
	ROM_LOAD32_WORD_SWAP( "269-p2c.bin", 0x000002, 0x400000, 0x6d13797c )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "269-m1c.bin", 0x00000, 0x20000, 0x7d337756 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "269-m1_decrypted.bin", 0x447b3123 )
#else
	NEO_BIOS_SOUND_128K( "269-m1d.bin", 0x447b3123 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "269-v1c.bin", 0x000000, 0x800000, 0xc659b34c )
	ROM_LOAD( "269-v2c.bin", 0x800000, 0x800000, 0xdd903835 )

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "269-c1c.bin", 0x0000000, 0x800000, 0x887b4068 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c2c.bin", 0x0000001, 0x800000, 0x4e8903e4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "269-c3c.bin", 0x1000000, 0x800000, 0x7d9c55b0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c4c.bin", 0x1000001, 0x800000, 0x8acb5bb6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "269-c5c.bin", 0x2000000, 0x800000, 0x097a4157 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c6c.bin", 0x2000001, 0x800000, 0xe19df344 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "269-c7c.bin", 0x3000000, 0x800000, 0xd8f0340b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c8c.bin", 0x3000001, 0x800000, 0x2570b71b ) /* Plane 2,3 */
ROM_END

ROM_START( svcboot )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "svc-p1.bin", 0x000000, 0x800000, 0x0348f162 )

	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_LOAD( "svc-s1.bin", 0x10000, 0x10000, 0x70b44df1 )
	ROM_CONTINUE(			0x00000, 0x10000 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 )
//	NEOGEO_BIOS
	ROM_LOAD16_WORD_SWAP( "sp-s2.sp1", 0x00000, 0x020000, 0x9036d879 )
	ROM_REGION( 0x50000, REGION_CPU2, 0 )
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )
	ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, 0x804328c3 )
	ROM_CONTINUE(           0x00000, 0x10000 )
	ROM_COPY( REGION_CPU2,  0x00000, 0x10000, 0x10000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, 0xb5097287 )
	ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, 0xbd3a391f )
	ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, 0x33fc0b37 )
	ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, 0xaa9849a0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, 0xa7826b89 )
	ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, 0xed3c2089 )
	ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, 0x71ed8063 )
	ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, 0x250bde2d )
	ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, 0x9817c082 )
	ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, 0x2bc0307f )
	ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, 0x4358d7b9 )
	ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, 0x366deee5 )
ROM_END

ROM_START( svcplus )
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "svc-p1p.bin", 0x000000, 0x200000, 0xa194d842 )
	ROM_LOAD16_WORD_SWAP( "svc-p2p.bin", 0x200000, 0x200000, 0x50c0e2b7 )
	ROM_LOAD16_WORD_SWAP( "svc-p3p.bin", 0x400000, 0x200000, 0x58cdc293 )

	NEO_SFIX_128K( "svc-s1p.bin", 0x73344711 )

	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 )
//	NEOGEO_BIOS
	ROM_LOAD16_WORD_SWAP( "sp-s2.sp1", 0x00000, 0x020000, 0x9036d879 )
	ROM_REGION( 0x50000, REGION_CPU2, 0 )
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )
	ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, 0x804328c3 )
	ROM_CONTINUE(           0x00000, 0x10000 )
	ROM_COPY( REGION_CPU2,  0x00000, 0x10000, 0x10000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, 0xb5097287 )
	ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, 0xbd3a391f )
	ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, 0x33fc0b37 )
	ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, 0xaa9849a0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, 0xa7826b89 )
	ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, 0xed3c2089 )
	ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, 0x71ed8063 )
	ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, 0x250bde2d )
	ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, 0x9817c082 )
	ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, 0x2bc0307f )
	ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, 0x4358d7b9 )
	ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, 0x366deee5 )
ROM_END



ROM_START( svcplusa )
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "svc-p1pl.bin", 0x000000, 0x200000, 0x16b44144 )
	ROM_LOAD16_WORD_SWAP( "svc-p2pl.bin", 0x200000, 0x400000, 0x7231ace2 )

	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_LOAD( "svc-s1pl.bin", 0x10000, 0x10000, 0xca3c735e )
	ROM_CONTINUE(			0x00000, 0x10000 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 )
//	NEOGEO_BIOS
	ROM_LOAD16_WORD_SWAP( "sp-s2.sp1", 0x00000, 0x020000, 0x9036d879 )
	ROM_REGION( 0x50000, REGION_CPU2, 0 )
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )
	ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, 0x804328c3 )
	ROM_CONTINUE(           0x00000, 0x10000 )
	ROM_COPY( REGION_CPU2,  0x00000, 0x10000, 0x10000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, 0xb5097287 )
	ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, 0xbd3a391f )
	ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, 0x33fc0b37 )
	ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, 0xaa9849a0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, 0xa7826b89 )
	ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, 0xed3c2089 )
	ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, 0x71ed8063 )
	ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, 0x250bde2d )
	ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, 0x9817c082 )
	ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, 0x2bc0307f )
	ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, 0x4358d7b9 )
	ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, 0x366deee5 )
ROM_END

ROM_START( svcsplus )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "svc-p1sp.bin", 0x000000, 0x400000, 0x2601902f )
	ROM_LOAD16_WORD_SWAP( "svc-p2sp.bin", 0x400000, 0x400000, 0x0ca13305 )

	NEO_SFIX_128K( "svc-s1sp.bin", 0x233d6439 )

	ROM_REGION16_BE( 0x20000, REGION_USER1, 0 )
//	NEOGEO_BIOS
	ROM_LOAD16_WORD_SWAP( "sp-s2.sp1", 0x00000, 0x020000, 0x9036d879 )
	ROM_REGION( 0x50000, REGION_CPU2, 0 )
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )
	ROM_LOAD( "svc-m1.bin", 0x20000, 0x10000, 0x804328c3 )
	ROM_CONTINUE(           0x00000, 0x10000 )
	ROM_COPY( REGION_CPU2,  0x00000, 0x10000, 0x10000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD16_WORD_SWAP( "svc-v2.bin", 0x000000, 0x400000, 0xb5097287 )
	ROM_LOAD16_WORD_SWAP( "svc-v1.bin", 0x400000, 0x400000, 0xbd3a391f )
	ROM_LOAD16_WORD_SWAP( "svc-v4.bin", 0x800000, 0x400000, 0x33fc0b37 )
	ROM_LOAD16_WORD_SWAP( "svc-v3.bin", 0xc00000, 0x400000, 0xaa9849a0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "svc-c1.bin", 0x0000000, 0x800000, 0xa7826b89 )
	ROM_LOAD16_BYTE( "svc-c2.bin", 0x0000001, 0x800000, 0xed3c2089 )
	ROM_LOAD16_BYTE( "svc-c3.bin", 0x1000000, 0x800000, 0x71ed8063 )
	ROM_LOAD16_BYTE( "svc-c4.bin", 0x1000001, 0x800000, 0x250bde2d )
	ROM_LOAD16_BYTE( "svc-c5.bin", 0x2000000, 0x800000, 0x9817c082 )
	ROM_LOAD16_BYTE( "svc-c6.bin", 0x2000001, 0x800000, 0x2bc0307f )
	ROM_LOAD16_BYTE( "svc-c7.bin", 0x3000000, 0x800000, 0x4358d7b9 )
	ROM_LOAD16_BYTE( "svc-c8.bin", 0x3000001, 0x800000, 0x366deee5 )
ROM_END

ROM_START( samsho5 ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "270-p1.bin", 0x000000, 0x400000, 0x4a2a09e6 )
	ROM_LOAD16_WORD_SWAP( "270-p2.bin", 0x400000, 0x400000, 0xe0c74c85 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "270-m1.bin", 0x00000, 0x40000, 0xe4a5ab0c )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_256K( "270-m1_decrypted.bin", 0xe94a5e2b ) /* not a 100% match for encrypted version */
#else
	NEO_BIOS_SOUND_256K( "270-m1d.bin", 0xe94a5e2b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "270-v1.bin", 0x000000, 0x800000, 0x62e434eb )
	ROM_LOAD( "270-v2.bin", 0x800000, 0x800000, 0x180f3c9a )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "270-c1.bin", 0x0000000, 0x800000, 0x14ffffac ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c2.bin", 0x0000001, 0x800000, 0x401f7299 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c3.bin", 0x1000000, 0x800000, 0x838f0260 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c4.bin", 0x1000001, 0x800000, 0x041560a5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c5.bin", 0x2000000, 0x800000, 0xbd30b52d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c6.bin", 0x2000001, 0x800000, 0x86a69c70 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c7.bin", 0x3000000, 0x800000, 0xd28fbc3c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c8.bin", 0x3000001, 0x800000, 0x02c530a6 ) /* Plane 2,3 */
ROM_END

ROM_START( samsho5h ) /* Encrypted Set, Alternate Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "270-p1c.bin", 0x000000, 0x400000, 0xbf956089 )
	ROM_LOAD16_WORD_SWAP( "270-p2c.bin", 0x400000, 0x400000, 0x943a6b1d )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "270-m1.bin", 0x00000, 0x40000, 0xe4a5ab0c )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_256K( "270-m1_decrypted.bin", 0xe94a5e2b ) /* not a 100% match for encrypted version */
#else
	NEO_BIOS_SOUND_256K( "270-m1d.bin", 0xe94a5e2b ) /* not a 100% match for encrypted version */
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "270-v1.bin", 0x000000, 0x800000, 0x62e434eb )
	ROM_LOAD( "270-v2.bin", 0x800000, 0x800000, 0x180f3c9a )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "270-c1.bin", 0x0000000, 0x800000, 0x14ffffac ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c2.bin", 0x0000001, 0x800000, 0x401f7299 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c3.bin", 0x1000000, 0x800000, 0x838f0260 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c4.bin", 0x1000001, 0x800000, 0x041560a5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c5.bin", 0x2000000, 0x800000, 0xbd30b52d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c6.bin", 0x2000001, 0x800000, 0x86a69c70 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c7.bin", 0x3000000, 0x800000, 0xd28fbc3c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c8.bin", 0x3000001, 0x800000, 0x02c530a6 ) /* Plane 2,3 */
ROM_END

ROM_START( samsho5b )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "270-p2b.bin", 0x000000, 0x400000, 0x5023067f )
	ROM_LOAD16_WORD_SWAP( "270-p1b.bin", 0x400000, 0x400000, 0xb6cbe386 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "270-m1.bin", 0x00000, 0x40000, 0xe4a5ab0c )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_256K( "270-m1_decrypted.bin", 0xe94a5e2b ) /* not a 100% match for encrypted version */
#else
	NEO_BIOS_SOUND_256K( "270-m1d.bin", 0xe94a5e2b ) /* not a 100% match for encrypted version */
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "270-v1.bin", 0x000000, 0x800000, 0x62e434eb )
	ROM_LOAD( "270-v2.bin", 0x800000, 0x800000, 0x180f3c9a )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "270-c1.bin", 0x0000000, 0x800000, 0x14ffffac ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c2.bin", 0x0000001, 0x800000, 0x401f7299 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c3.bin", 0x1000000, 0x800000, 0x838f0260 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c4.bin", 0x1000001, 0x800000, 0x041560a5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c5.bin", 0x2000000, 0x800000, 0xbd30b52d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c6.bin", 0x2000001, 0x800000, 0x86a69c70 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c7.bin", 0x3000000, 0x800000, 0xd28fbc3c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c8.bin", 0x3000001, 0x800000, 0x02c530a6 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k3pcb ) /* Encrypted Set, Decrypted C - JAMMA board */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "271-p1.bin", 0x000000, 0x400000, 0xb9da070c )
	ROM_LOAD32_WORD_SWAP( "271-p2.bin", 0x000002, 0x400000, 0xda3118c4 )
	ROM_LOAD16_WORD_SWAP( "271-p3.bin", 0x800000, 0x100000, 0x5cefd0d2 )

	ROM_REGION( 0x100000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL(                 0x000000, 0x100000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc)

	ROM_REGION16_BE( 0x80000, REGION_USER1, 0 )
	ROM_LOAD16_WORD_SWAP( "271-bios.bin", 0x00000, 0x080000, 0x148dd727 )

	ROM_REGION( 0x90000, REGION_CPU2, 0 )
	/* Encrypted */
	ROM_LOAD( "271-m1.bin", 0x00000, 0x80000, 0xd6bcf2bc )
	/* Decrypted */
#ifndef MAME_DEBUG
	ROM_LOAD( "271-m1_decrypted.bin", 0x00000, 0x80000, 0x0e86af8f )
#else
	ROM_LOAD( "271-m1d.bin", 0x00000, 0x80000, 0x0e86af8f )
#endif
	ROM_RELOAD( 0x10000, 0x80000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "271-v1.bin", 0x000000, 0x1000000, 0x1d96154b )

	NO_DELTAT_REGION

	ROM_REGION( 0x6000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD32_WORD( "271-c1.bin", 0x0000000, 0x1000000, 0xf5ebb327 ) /* Plane 0,1 */
	ROM_LOAD32_WORD( "271-c2.bin", 0x0000002, 0x1000000, 0x2be21620 ) /* Plane 2,3 */
	ROM_LOAD32_WORD( "271-c3.bin", 0x2000000, 0x1000000, 0xddded4ff ) /* Plane 0,1 */
	ROM_LOAD32_WORD( "271-c4.bin", 0x2000002, 0x1000000, 0xd85521e6 ) /* Plane 2,3 */
	ROM_LOAD32_WORD( "271-c5.bin", 0x4000000, 0x1000000, 0x18aa3540 ) /* Plane 0,1 */
	ROM_LOAD32_WORD( "271-c6.bin", 0x4000002, 0x1000000, 0x1c40de87 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2003 ) /* Encrypted Code + Sound + GFX Roms */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "271-p1c.bin", 0x000000, 0x400000, 0x530ecc14 )
	ROM_LOAD32_WORD_SWAP( "271-p2c.bin", 0x000002, 0x400000, 0xfd568da9 )
	ROM_LOAD16_WORD_SWAP( "271-p3c.bin", 0x800000, 0x100000, 0xaec5b4a9 ) // Encrypted

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x080000, REGION_USER4, 0 )
	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
	ROM_LOAD( "271-m1c.bin", 0x00000, 0x080000, 0xf5515629 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "271-m1_decrypted.bin", 0x0e86af8f )
#else
	NEO_BIOS_SOUND_512K( "271-m1d.bin", 0x0e86af8f )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "271-v1c.bin", 0x000000, 0x800000, 0xffa3f8c7 )
	ROM_LOAD( "271-v2c.bin", 0x800000, 0x800000, 0x5382c7d1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "271-c1c.bin", 0x0000000, 0x800000, 0xb1dc25d0 )
	ROM_LOAD16_BYTE( "271-c2c.bin", 0x0000001, 0x800000, 0xd5362437 )
	ROM_LOAD16_BYTE( "271-c3c.bin", 0x1000000, 0x800000, 0x0a1fbeab )
	ROM_LOAD16_BYTE( "271-c4c.bin", 0x1000001, 0x800000, 0x87b19a0c )
	ROM_LOAD16_BYTE( "271-c5c.bin", 0x2000000, 0x800000, 0x704ea371 )
	ROM_LOAD16_BYTE( "271-c6c.bin", 0x2000001, 0x800000, 0x20a1164c )
	ROM_LOAD16_BYTE( "271-c7c.bin", 0x3000000, 0x800000, 0x189aba7f )
	ROM_LOAD16_BYTE( "271-c8c.bin", 0x3000001, 0x800000, 0x20ec4fdc )
ROM_END

ROM_START( kf2k3bl )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "271-p1bl.bin" , 0x100000, 0x400000, 0x92ed6ee3 )
	ROM_LOAD16_WORD_SWAP( "271-p2bl.bin" , 0x500000, 0x200000, 0x5d3d8bb3 )
	ROM_CONTINUE( 0x000000, 0x100000 )
	ROM_CONTINUE( 0x000000, 0x100000 )

	NEO_SFIX_128K( "271-s1bl.bin",  0x482c48a5 )

	NEO_BIOS_SOUND_128K( "271-m1bl.bin", 0x3a4969ff )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "2k3-v1.bin", 0x000000, 0x400000, 0xd2b8aa5e )
	ROM_LOAD( "2k3-v2.bin", 0x400000, 0x400000, 0x71956ee2 )
	ROM_LOAD( "2k3-v3.bin", 0x800000, 0x400000, 0xddbbb199 )
	ROM_LOAD( "2k3-v4.bin", 0xc00000, 0x400000, 0x01b90c4f )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2k3-c1.bin", 0x0000000, 0x800000, 0xe42fc226 )
	ROM_LOAD16_BYTE( "2k3-c2.bin", 0x0000001, 0x800000, 0x1b5e3b58 )
	ROM_LOAD16_BYTE( "2k3-c3.bin", 0x1000000, 0x800000, 0xd334fdd9 )
	ROM_LOAD16_BYTE( "2k3-c4.bin", 0x1000001, 0x800000, 0x0d457699 )
	ROM_LOAD16_BYTE( "2k3-c5.bin", 0x2000000, 0x800000, 0x8a91aae4 )
	ROM_LOAD16_BYTE( "2k3-c6.bin", 0x2000001, 0x800000, 0x9f8674b8 )
	ROM_LOAD16_BYTE( "2k3-c7.bin", 0x3000000, 0x800000, 0x374ea523 )
	ROM_LOAD16_BYTE( "2k3-c8.bin", 0x3000001, 0x800000, 0x75211f4d )
ROM_END


ROM_START( kf2k3bla )
	ROM_REGION( 0x700000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "271-p1bl.rom", 0x000000, 0x100000, 0x4ea414dd )
	ROM_LOAD16_WORD_SWAP( "271-p3bl.rom", 0x100000, 0x400000, 0x370acbff )
	ROM_LOAD16_WORD_SWAP( "271-p2bl.rom", 0x500000, 0x200000, 0x9c04fc52 )

	NEO_SFIX_128K( "271-s1bl.bin",  0x482c48a5 )

	NEO_BIOS_SOUND_128K( "271-m1bl.bin", 0x3a4969ff )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "2k3-v1.bin", 0x000000, 0x400000, 0xd2b8aa5e )
	ROM_LOAD( "2k3-v2.bin", 0x400000, 0x400000, 0x71956ee2 )
	ROM_LOAD( "2k3-v3.bin", 0x800000, 0x400000, 0xddbbb199 )
	ROM_LOAD( "2k3-v4.bin", 0xc00000, 0x400000, 0x01b90c4f )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2k3-c1.bin", 0x0000000, 0x800000, 0xe42fc226 )
	ROM_LOAD16_BYTE( "2k3-c2.bin", 0x0000001, 0x800000, 0x1b5e3b58 )
	ROM_LOAD16_BYTE( "2k3-c3.bin", 0x1000000, 0x800000, 0xd334fdd9 )
	ROM_LOAD16_BYTE( "2k3-c4.bin", 0x1000001, 0x800000, 0x0d457699 )
	ROM_LOAD16_BYTE( "2k3-c5.bin", 0x2000000, 0x800000, 0x8a91aae4 )
	ROM_LOAD16_BYTE( "2k3-c6.bin", 0x2000001, 0x800000, 0x9f8674b8 )
	ROM_LOAD16_BYTE( "2k3-c7.bin", 0x3000000, 0x800000, 0x374ea523 )
	ROM_LOAD16_BYTE( "2k3-c8.bin", 0x3000001, 0x800000, 0x75211f4d )
ROM_END

ROM_START( kf2k3pl )
	ROM_REGION( 0x700000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "271-p1pl.bin", 0x000000, 0x100000, 0x07b84112 )
	ROM_LOAD16_WORD_SWAP( "271-p3bl.rom", 0x100000, 0x400000, 0x370acbff )
	ROM_LOAD16_WORD_SWAP( "271-p2bl.rom", 0x500000, 0x200000, 0x9c04fc52 )

	NEO_SFIX_128K( "271-s1pl.bin",  0xad548a36 )

	NEO_BIOS_SOUND_128K( "271-m1bl.bin", 0x3a4969ff )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "2k3-v1.bin", 0x000000, 0x400000, 0xd2b8aa5e )
	ROM_LOAD( "2k3-v2.bin", 0x400000, 0x400000, 0x71956ee2 )
	ROM_LOAD( "2k3-v3.bin", 0x800000, 0x400000, 0xddbbb199 )
	ROM_LOAD( "2k3-v4.bin", 0xc00000, 0x400000, 0x01b90c4f )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2k3-c1.bin", 0x0000000, 0x800000, 0xe42fc226 )
	ROM_LOAD16_BYTE( "2k3-c2.bin", 0x0000001, 0x800000, 0x1b5e3b58 )
	ROM_LOAD16_BYTE( "2k3-c3.bin", 0x1000000, 0x800000, 0xd334fdd9 )
	ROM_LOAD16_BYTE( "2k3-c4.bin", 0x1000001, 0x800000, 0x0d457699 )
	ROM_LOAD16_BYTE( "2k3-c5.bin", 0x2000000, 0x800000, 0x8a91aae4 )
	ROM_LOAD16_BYTE( "2k3-c6.bin", 0x2000001, 0x800000, 0x9f8674b8 )
	ROM_LOAD16_BYTE( "2k3-c7.bin", 0x3000000, 0x800000, 0x374ea523 )
	ROM_LOAD16_BYTE( "2k3-c8.bin", 0x3000001, 0x800000, 0x75211f4d )
ROM_END

ROM_START( kf2k3upl )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "2k3-p1up.bin", 0x000000, 0x800000, 0x87294c01 )

	NEO_SFIX_128K( "2k3-s1up.bin", 0xe5708c0c )

	NEO_BIOS_SOUND_128K( "271-m1bl.bin", 0x3a4969ff )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "2k3-v1.bin", 0x000000, 0x400000, 0xd2b8aa5e )
	ROM_LOAD( "2k3-v2.bin", 0x400000, 0x400000, 0x71956ee2 )
	ROM_LOAD( "2k3-v3.bin", 0x800000, 0x400000, 0xddbbb199 )
	ROM_LOAD( "2k3-v4.bin", 0xc00000, 0x400000, 0x01b90c4f )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2k3-c1.bin", 0x0000000, 0x800000, 0xe42fc226 )
	ROM_LOAD16_BYTE( "2k3-c2.bin", 0x0000001, 0x800000, 0x1b5e3b58 )
	ROM_LOAD16_BYTE( "2k3-c3.bin", 0x1000000, 0x800000, 0xd334fdd9 )
	ROM_LOAD16_BYTE( "2k3-c4.bin", 0x1000001, 0x800000, 0x0d457699 )
	ROM_LOAD16_BYTE( "2k3-c5.bin", 0x2000000, 0x800000, 0x8a91aae4 )
	ROM_LOAD16_BYTE( "2k3-c6.bin", 0x2000001, 0x800000, 0x9f8674b8 )
	ROM_LOAD16_BYTE( "2k3-c7.bin", 0x3000000, 0x800000, 0x374ea523 )
	ROM_LOAD16_BYTE( "2k3-c8.bin", 0x3000001, 0x800000, 0x75211f4d )
ROM_END

ROM_START( samsh5sp ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "272-p1.bin", 0x000000, 0x400000, 0xfb7a6bba )
	ROM_LOAD16_WORD_SWAP( "272-p2.bin", 0x400000, 0x400000, 0x63492ea6 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "272-m1.bin", 0x00000, 0x80000, 0xadeebf40 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "272-m1_decrypted.bin", 0x203d744e )
#else
	NEO_BIOS_SOUND_512K( "272-m1d.bin", 0x203d744e )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "272-v1.bin", 0x000000, 0x800000, 0x76a94127 )
	ROM_LOAD( "272-v2.bin", 0x800000, 0x800000, 0x4ba507f1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "272-c1.bin", 0x0000000, 0x800000, 0x4f97661a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c2.bin", 0x0000001, 0x800000, 0xa3afda4f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c3.bin", 0x1000000, 0x800000, 0x8c3c7502 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c4.bin", 0x1000001, 0x800000, 0x32d5e2e2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c5.bin", 0x2000000, 0x800000, 0x6ce085bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c6.bin", 0x2000001, 0x800000, 0x05c8dc8e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c7.bin", 0x3000000, 0x800000, 0x1417b742 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c8.bin", 0x3000001, 0x800000, 0xd49773cd ) /* Plane 2,3 */
ROM_END

ROM_START( samsh5sh ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "272-p1c.bin", 0x000000, 0x400000, 0x9291794d )
	ROM_LOAD16_WORD_SWAP( "272-p2c.bin", 0x400000, 0x400000, 0xfa1a7dd8 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "272-m1.bin", 0x00000, 0x80000, 0xadeebf40 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "272-m1_decrypted.bin", 0x203d744e )
#else
	NEO_BIOS_SOUND_512K( "272-m1d.bin", 0x203d744e )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "272-v1.bin", 0x000000, 0x800000, 0x76a94127 )
	ROM_LOAD( "272-v2.bin", 0x800000, 0x800000, 0x4ba507f1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "272-c1.bin", 0x0000000, 0x800000, 0x4f97661a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c2.bin", 0x0000001, 0x800000, 0xa3afda4f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c3.bin", 0x1000000, 0x800000, 0x8c3c7502 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c4.bin", 0x1000001, 0x800000, 0x32d5e2e2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c5.bin", 0x2000000, 0x800000, 0x6ce085bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c6.bin", 0x2000001, 0x800000, 0x05c8dc8e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c7.bin", 0x3000000, 0x800000, 0x1417b742 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c8.bin", 0x3000001, 0x800000, 0xd49773cd ) /* Plane 2,3 */
ROM_END

ROM_START( samsh5sn ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "272-p1ca.bin", 0x000000, 0x400000, 0xc30a08dd )
	ROM_LOAD16_WORD_SWAP( "272-p2ca.bin", 0x400000, 0x400000, 0xbd64a518 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "272-m1.bin", 0x00000, 0x80000, 0xadeebf40 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "272-m1_decrypted.bin", 0x203d744e )
#else
	NEO_BIOS_SOUND_512K( "272-m1d.bin", 0x203d744e )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "272-v1.bin", 0x000000, 0x800000, 0x76a94127 )
	ROM_LOAD( "272-v2.bin", 0x800000, 0x800000, 0x4ba507f1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "272-c1.bin", 0x0000000, 0x800000, 0x4f97661a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c2.bin", 0x0000001, 0x800000, 0xa3afda4f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c3.bin", 0x1000000, 0x800000, 0x8c3c7502 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c4.bin", 0x1000001, 0x800000, 0x32d5e2e2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c5.bin", 0x2000000, 0x800000, 0x6ce085bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c6.bin", 0x2000001, 0x800000, 0x05c8dc8e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c7.bin", 0x3000000, 0x800000, 0x1417b742 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c8.bin", 0x3000001, 0x800000, 0xd49773cd ) /* Plane 2,3 */
ROM_END


ROM_START( jockeygp )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "jgp-p1.bin", 0x000000, 0x100000, 0x2fb7f388 )
	ROM_FILL( 0x100000, 0x100000, 0xff )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	ROM_LOAD( "jgp-m1.bin", 0x00000, 0x80000, 0xd163c690 ) /* encrypted, we load it here for reference and replace with decrypted ROM */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "jgp-m1_decrypted.bin", 0x1cab4de2 )
#else
	NEO_BIOS_SOUND_512K( "jgp-m1d.bin", 0x1cab4de2 )
#endif

	ROM_REGION( 0x0200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "jgp-v1.bin", 0x000000, 0x200000, 0x443eadba )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "jgp-c1.bin", 0x0000000, 0x800000, 0xa9acbf18 )
	ROM_LOAD16_BYTE( "jgp-c2.bin", 0x0000001, 0x800000, 0x6289eef9 )
ROM_END

ROM_START( vliner )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "vl_p1.rom", 0x000000, 0x080000, 0x72a2c043 )

	NEO_SFIX_128K( "vl_s1.rom", 0x972d8c31 )

	NEO_BIOS_SOUND_64K( "vl_m1.rom", 0x9b92b7d1 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "vl_c1.rom", 0x000000, 0x80000, 0x5118f7c0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "vl_c2.rom", 0x000001, 0x80000, 0xefe9b33e ) /* Plane 2,3 */
ROM_END

ROM_START( vlinero )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "vl_p1_54.rom", 0x000000, 0x080000, 0x172efc18 )

	NEO_SFIX_128K( "vl_s1.rom", 0x972d8c31 )

	NEO_BIOS_SOUND_64K( "vl_m1.rom", 0x9b92b7d1 )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "vl_c1.rom", 0x000000, 0x80000, 0x5118f7c0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "vl_c2.rom", 0x000001, 0x80000, 0xefe9b33e ) /* Plane 2,3 */
ROM_END

/* Various Bootlegs */

ROM_START( kog )
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5232-p1.bin", 0x000000, 0x200000, 0xd2413ec6 )
	ROM_LOAD16_WORD_SWAP( "232-p2.bin",  0x200000, 0x400000, 0x158b23f6 )

	NEO_SFIX_128K( "5232-s1.bin", 0x0bef69da )

	NEO_BIOS_SOUND_128K( "232-m1.bin", 0x45348747 )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, 0x22a2b5b5 )
	ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, 0x2304e744 )
	ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, 0x759eb954 )

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "5232-c1a.bin", 0x0000000, 0x800000, 0x4eab9b0a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5232-c2a.bin", 0x0000001, 0x800000, 0x697f8fd0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5232-c1b.bin", 0x1000000, 0x800000, 0x1143fdf3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5232-c2b.bin", 0x1000001, 0x800000, 0xea82cf8f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5232-c3.bin",  0x2000000, 0x400000, 0xabd1be07 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5232-c4.bin",  0x2000001, 0x400000, 0xd2bd967b ) /* Plane 2,3 */
ROM_END

ROM_START( cthd2003 ) /* Protected hack/bootleg of kof2001 Phenixsoft */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5003-p1.bin", 0x000000, 0x100000, 0xbb7602c1 )
	ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, 0xadc1c22b )

	NEO_SFIX_128K( "5003-s1.bin", 0x5ba29aab )

	NEO_BIOS_SOUND_128K( "5003-m1.bin", 0x1a8c274b )

	/* sound roms are identical to kof2001 */
	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, 0x68f54b67 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, 0x2f8849d5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, 0xac4aff71 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, 0xafef5d66 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, 0xc7c1ae50 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, 0x613197f9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, 0x64ddfe0f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, 0x917a1439 ) /* Plane 2,3 */
ROM_END

ROM_START( ct2k3sp ) /*  Protected hack/bootleg of kof2001 Phenixsoft */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
#ifndef MAME_DEBUG
	ROM_LOAD16_WORD_SWAP( "5003-p1sp.bin", 0x000000, 0x100000, 0xab5c4de0 )
#else
	ROM_LOAD16_WORD_SWAP( "5003-p1p.bin", 0x000000, 0x100000, 0xab5c4de0 )
#endif
	ROM_LOAD16_WORD_SWAP( "5003-p2.bin", 0x100000, 0x400000, 0xadc1c22b )

    ROM_REGION( 0x40000, REGION_GFX1, 0 )
#ifndef MAME_DEBUG
	ROM_LOAD( "5003-s1sp.bin", 0x00000, 0x40000, 0x6c355ab4 )
#else
	ROM_LOAD( "5003-s1s.bin", 0x00000, 0x40000, 0x6c355ab4 )
#endif
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "5003-m1.bin", 0x1a8c274b )

	/* sound roms are identical to kof2001 */
	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "5003-c1.bin", 0x0000000, 0x800000, 0x68f54b67 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c2.bin", 0x0000001, 0x800000, 0x2f8849d5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c3.bin", 0x1000000, 0x800000, 0xac4aff71 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c4.bin", 0x1000001, 0x800000, 0xafef5d66 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c5.bin", 0x2000000, 0x800000, 0xc7c1ae50 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c6.bin", 0x2000001, 0x800000, 0x613197f9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c7.bin", 0x3000000, 0x800000, 0x64ddfe0f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c8.bin", 0x3000001, 0x800000, 0x917a1439 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2k4se )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "k2k4s-p2.bin", 0x000000, 0x080000, 0x21a84084 )
	ROM_LOAD16_WORD_SWAP( "k2k4s-p3.bin", 0x080000, 0x080000, 0xfebb484e )
	ROM_LOAD16_WORD_SWAP( "k2k4s-p1.bin", 0x100000, 0x400000, 0xe6c50566 )

	NEO_SFIX_128K( "k2k4s-s1.bin", 0xa3c9b2d8 )

	NEO_BIOS_SOUND_128K( "k2k4s-m1.bin", 0x5a47d9ad )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "k2k4s-v2.bin", 0x000000, 0x800000, 0xe4ddfb3f )
	ROM_LOAD( "k2k4s-v1.bin", 0x800000, 0x800000, 0xb887d287 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "k2k4s-c4.bin", 0x0000000, 0x800000, 0x7a050288 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c8.bin", 0x0000001, 0x800000, 0xe924afcf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "k2k4s-c3.bin", 0x1000000, 0x800000, 0x959fad0b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c7.bin", 0x1000001, 0x800000, 0xefe6a468 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "k2k4s-c2.bin", 0x2000000, 0x800000, 0x74bba7c6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c6.bin", 0x2000001, 0x800000, 0xe20d2216 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "k2k4s-c1.bin", 0x3000000, 0x800000, 0xfa705b2b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c5.bin", 0x3000001, 0x800000, 0x2c912ff9 ) /* Plane 2,3 */
ROM_END

ROM_START( kof10th )
	ROM_REGION( 0x900000, REGION_CPU1, 0 ) // Modified
	ROM_LOAD16_WORD_SWAP( "kf10-p1.bin", 0x000000, 0x800000, 0xb1fd0c43 )

	ROM_REGION( 0x40000, REGION_GFX1, 0 ) // modified
	ROM_FILL(              0x000000, 0x40000, 0 ) // modified
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "kf10-m1.bin", 0xf6fab859 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, 0x0fc9a58d )
	ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, 0xb8c475a4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )

	ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, 0x3bbc0364 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, 0x91230075 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, 0xb5abfc28 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, 0x6cc4c6e1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, 0x5b3d4a16 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, 0xc6f3419b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, 0x9d2bba19 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, 0x5a4050cb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, 0xa289d1e1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, 0xe6494b5d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, 0x404fff02 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, 0xf2ccfc9e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, 0xbe79c5a8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, 0xa5952ca4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, 0x3fdb3542 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, 0x661b7a52 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k5uni )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5006-p2a.bin", 0x000000, 0x400000, 0xced883a2 )
	ROM_LOAD16_WORD_SWAP( "5006-p1.bin",  0x400000, 0x400000, 0x72c39c46 )

	NEO_SFIX_128K( "5006-s1.bin", 0x91f8c544 )

	NEO_BIOS_SOUND_128K( "5006-m1.bin", 0x9050bfe7 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, 0x0fc9a58d )
	ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, 0xb8c475a4 )

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, 0x3bbc0364 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, 0x91230075 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, 0xb5abfc28 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, 0x6cc4c6e1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, 0x5b3d4a16 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, 0xc6f3419b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, 0x9d2bba19 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, 0x5a4050cb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, 0xa289d1e1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, 0xe6494b5d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, 0x404fff02 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, 0xf2ccfc9e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, 0xbe79c5a8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, 0xa5952ca4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, 0x3fdb3542 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, 0x661b7a52 ) /* Plane 2,3 */
ROM_END

ROM_START( kf10thep ) /* this is a hack of kof2002 much like the various korean hacks / bootlegs of games */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5008-p2.rom", 0x100000, 0x400000, 0xa649ec38 )
	ROM_LOAD16_WORD_SWAP( "5008-p3.rom", 0x500000, 0x200000, 0xe629e13c )

	ROM_REGION( 0x200000, REGION_USER4, 0 )
	ROM_LOAD( "5008-p1.rom", 0x000000, 0x200000, 0xbf5469ba )

	NEO_SFIX_128K( "5008-s1.rom", 0x92410064 )

	NEO_BIOS_SOUND_128K( "5008-m1.rom", 0x5a47d9ad )
	//NEO_BIOS_SOUND_128K( "5004-m1.bin", 0xf6fab859 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, 0x0fc9a58d )
	ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, 0xb8c475a4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, 0x3bbc0364 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, 0x91230075 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, 0xb5abfc28 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, 0x6cc4c6e1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, 0x5b3d4a16 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, 0xc6f3419b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, 0x9d2bba19 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, 0x5a4050cb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, 0xa289d1e1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, 0xe6494b5d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, 0x404fff02 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, 0xf2ccfc9e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, 0xbe79c5a8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, 0xa5952ca4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5008-c7b.rom", 0x3800000, 0x400000, 0x33604ef0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5008-c8b.rom", 0x3800001, 0x400000, 0x51f6a8f8 ) /* Plane 2,3 */
ROM_END

ROM_START( mslug3b6 ) /* This "Metal Slug 6" is a hack/bootleg of Metal Slug 3, the real Metal Slug 6 is on Atomiswave Hardware */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "299-p1.bin", 0x000000, 0x200000, 0x5f2fe228 )
	ROM_LOAD16_WORD_SWAP( "299-p2.bin", 0x100000, 0x400000, 0x193fa835 )

	NEO_SFIX_128K( "299-s1.bin", 0x6f8b9635 )

	NEO_BIOS_SOUND_512K( "256-m1.bin", 0xeaeec116 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "256-v1.bin", 0x000000, 0x400000, 0xf2690241 )
	ROM_LOAD( "256-v2.bin", 0x400000, 0x400000, 0x7e2a10bd )
	ROM_LOAD( "256-v3.bin", 0x800000, 0x400000, 0x0eaec17c )
	ROM_LOAD( "256-v4.bin", 0xc00000, 0x400000, 0x9b4b22d4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "256-c1.bin",   0x0000000, 0x800000, 0x5a79c34e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c2.bin",   0x0000001, 0x800000, 0x944c362c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c3.bin",   0x1000000, 0x800000, 0x6e69d36f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c4.bin",   0x1000001, 0x800000, 0xb755b4eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c5.bin",   0x2000000, 0x800000, 0x7aacab47 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c6.bin",   0x2000001, 0x800000, 0xc698fd5d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "256-c7.bin",   0x3000000, 0x800000, 0xcfceddd2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "256-c8.bin",   0x3000001, 0x800000, 0x4d9be34c ) /* Plane 2,3 */
ROM_END


ROM_START( diggerma )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "dig_p1.rom", 0x000000, 0x080000, 0xeda433d7 )

	NEO_SFIX_64K( "dig_s1.rom", 0x75a88c1f )

	NEO_BIOS_SOUND_64K( "dig_m1.rom", 0x833cdf1b )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "dig_v1.rom", 0x000000, 0x080000, 0xee15bda4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "dig_c1.rom", 0x000000, 0x080000, 0x3db0a4ed )
	ROM_LOAD16_BYTE( "dig_c2.rom", 0x000001, 0x080000, 0x3e632161 )
ROM_END

/******************************************************************************/
#ifdef EXTRA_GAMES

ROM_START( zintrkcd )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "211-p1.bin", 0x000000, 0x100000, 0x9a0bfe0a )

	NEO_SFIX_128K( "211-s1.bin", 0x56d16afa )

	NEO_BIOS_SOUND_64K( "211-m1.bin", 0xfcae1407 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "211-v1.bin", 0x000000, 0x100000, 0x781439da )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "zin_c1.rom", 0x000000, 0x200000, 0x76aee189 )
	ROM_LOAD16_BYTE( "zin_c2.rom", 0x000001, 0x200000, 0x844ed4b3 )
ROM_END

ROM_START( kof96ep )
	ROM_REGION( 0x400000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "214-p1.bin", 0x000000, 0x100000, 0x52755d74 )
	ROM_LOAD16_WORD_SWAP( "214-p2.bin", 0x100000, 0x200000, 0x002ccb73 )
#ifndef MAME_DEBUG
	ROM_LOAD16_WORD_SWAP( "kof96m_ep1.rom", 0x300000, 0x080000, 0xe5f2fb43 )
#else
	ROM_LOAD16_WORD_SWAP( "kf96mep1.rom", 0x300000, 0x080000, 0xe5f2fb43 )
#endif

	NEO_SFIX_128K( "214-s1.bin", 0x1254cbdb )

	NEO_BIOS_SOUND_128K( "214-m1.bin", 0xdabc427c )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "214-v1.bin", 0x000000, 0x400000, 0x63f7b045 )
	ROM_LOAD( "214-v2.bin", 0x400000, 0x400000, 0x25929059 )
	ROM_LOAD( "214-v3.bin", 0x800000, 0x200000, 0x92a2257d )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "214-c1.bin", 0x0000000, 0x400000, 0x7ecf4aa2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c2.bin", 0x0000001, 0x400000, 0x05b54f37 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c3.bin", 0x0800000, 0x400000, 0x64989a65 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c4.bin", 0x0800001, 0x400000, 0xafbea515 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c5.bin", 0x1000000, 0x400000, 0x2a3bbd26 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c6.bin", 0x1000001, 0x400000, 0x44d30dc7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c7.bin", 0x1800000, 0x400000, 0x3687331b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c8.bin", 0x1800001, 0x400000, 0xfa1461ad ) /* Plane 2,3 */
ROM_END

ROM_START( kof96rss )
	ROM_REGION( 0x300000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "kf96r_p1.rom", 0x000000, 0x300000, 0x93ABE27C )

	NEO_SFIX_128K( "kf96r_s1.rom", 0xF304DF75 )

	NEO_BIOS_SOUND_128K( "214-m1.bin", 0xdabc427c )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "214-v1.bin", 0x000000, 0x400000, 0x63f7b045 )
	ROM_LOAD( "214-v2.bin", 0x400000, 0x400000, 0x25929059 )
	ROM_LOAD( "214-v3.bin", 0x800000, 0x200000, 0x92a2257d )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "214-c1.bin", 0x0000000, 0x400000, 0x7ecf4aa2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c2.bin", 0x0000001, 0x400000, 0x05b54f37 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c3.bin", 0x0800000, 0x400000, 0x64989a65 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c4.bin", 0x0800001, 0x400000, 0xafbea515 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c5.bin", 0x1000000, 0x400000, 0x2a3bbd26 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c6.bin", 0x1000001, 0x400000, 0x44d30dc7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c7.bin", 0x1800000, 0x400000, 0x3687331b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c8.bin", 0x1800001, 0x400000, 0xfa1461ad ) /* Plane 2,3 */
ROM_END

ROM_START( kof99d )
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "251-sma.kc",  0x0c0000, 0x040000, 0x6c9d0647 )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "251-p1.bin",  0x100000, 0x400000, 0x006e4532 )
	ROM_LOAD16_WORD_SWAP( "251-pg2.bin", 0x500000, 0x400000, 0xd9057f51 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "251-m1.bin", 0x5e74539c )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "251-v1.bin", 0x000000, 0x400000, 0xef2eecc8 )
	ROM_LOAD( "251-v2.bin", 0x400000, 0x400000, 0x73e211ca )
	ROM_LOAD( "251-v3.bin", 0x800000, 0x400000, 0x821901da )
	ROM_LOAD( "251-v4.bin", 0xc00000, 0x200000, 0xb49e6178 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "251-c1d.bin", 0x0000000, 0x800000, 0xb3d88546 ) 
	ROM_LOAD16_BYTE( "251-c2d.bin", 0x0000001, 0x800000, 0x915c8634 ) 
	ROM_LOAD16_BYTE( "251-c3d.bin", 0x1000000, 0x800000, 0xb047c9d5 ) 
	ROM_LOAD16_BYTE( "251-c4d.bin", 0x1000001, 0x800000, 0x6bc8e4b1 ) 
	ROM_LOAD16_BYTE( "251-c5d.bin", 0x2000000, 0x800000, 0x9746268c )
	ROM_LOAD16_BYTE( "251-c6d.bin", 0x2000001, 0x800000, 0x238b3e71 ) 
	ROM_LOAD16_BYTE( "251-c7d.bin", 0x3000000, 0x800000, 0x2f68fdeb ) 
	ROM_LOAD16_BYTE( "251-c8d.bin", 0x3000001, 0x800000, 0x4c2fad1e ) 
ROM_END

ROM_START( mslug3d )
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "256-sma.bin", 0x0c0000, 0x040000, 0x9cd55736 )	
	ROM_LOAD16_WORD_SWAP( "256-p1.bin",  0x100000, 0x400000, 0xb07edfd5 )
	ROM_LOAD16_WORD_SWAP( "256-p2.bin",  0x500000, 0x400000, 0x6097c26b )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_512K( "256-m1.bin", 0xeaeec116 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "256-v1.bin", 0x000000, 0x400000, 0xf2690241 )
	ROM_LOAD( "256-v2.bin", 0x400000, 0x400000, 0x7e2a10bd )
	ROM_LOAD( "256-v3.bin", 0x800000, 0x400000, 0x0eaec17c )
	ROM_LOAD( "256-v4.bin", 0xc00000, 0x400000, 0x9b4b22d4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "256-c1d.bin",  0x0000000, 0x800000, 0x3540398c ) 
	ROM_LOAD16_BYTE( "256-c2d.bin",  0x0000001, 0x800000, 0xbdd220f0 ) 
	ROM_LOAD16_BYTE( "256-c3d.bin",  0x1000000, 0x800000, 0xbfaade82 )
	ROM_LOAD16_BYTE( "256-c4d.bin",  0x1000001, 0x800000, 0x1463add6 ) 
	ROM_LOAD16_BYTE( "256-c5d.bin",  0x2000000, 0x800000, 0x48ca7f28 )
	ROM_LOAD16_BYTE( "256-c6d.bin",  0x2000001, 0x800000, 0x806eb36f ) 
	ROM_LOAD16_BYTE( "256-c7d.bin",  0x3000000, 0x800000, 0x9395b809 ) 
	ROM_LOAD16_BYTE( "256-c8d.bin",  0x3000001, 0x800000, 0xa369f9d4 )
ROM_END

ROM_START( kof2000d )
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "257-sma.bin", 0x0c0000, 0x040000, 0x71c6e6bb )
	ROM_LOAD16_WORD_SWAP( "257-p1.bin",  0x100000, 0x400000, 0x60947b4c )
	ROM_LOAD16_WORD_SWAP( "257-p2.bin",  0x500000, 0x400000, 0x1b7ec415 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )	/* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
	ROM_REGION( 0x40000, REGION_USER4, 0 )
	ROM_LOAD( "257-m1.bin", 0x00000, 0x40000, 0x4b749113 )
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_256K( "257-m1_decrypted.bin", 0xd404db70 )
#else
	NEO_BIOS_SOUND_256K( "257-m1d.bin", 0xd404db70 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "257-v1.bin", 0x000000, 0x400000, 0x17cde847 )
	ROM_LOAD( "257-v2.bin", 0x400000, 0x400000, 0x1afb20ff )
	ROM_LOAD( "257-v3.bin", 0x800000, 0x400000, 0x4605036a )
	ROM_LOAD( "257-v4.bin", 0xc00000, 0x400000, 0x764bbd6b )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "257-c1d.bin", 0x0000000, 0x800000, 0xabcdd424 ) 
	ROM_LOAD16_BYTE( "257-c2d.bin", 0x0000001, 0x800000, 0xcda33778 ) 
	ROM_LOAD16_BYTE( "257-c3d.bin", 0x1000000, 0x800000, 0x087fb15b )
	ROM_LOAD16_BYTE( "257-c4d.bin", 0x1000001, 0x800000, 0xfe9dfde4 ) 
	ROM_LOAD16_BYTE( "257-c5d.bin", 0x2000000, 0x800000, 0x03ee4bf4 )
	ROM_LOAD16_BYTE( "257-c6d.bin", 0x2000001, 0x800000, 0x8599cc5b ) 
	ROM_LOAD16_BYTE( "257-c7d.bin", 0x3000000, 0x800000, 0x71dfc3e2 )
	ROM_LOAD16_BYTE( "257-c8d.bin", 0x3000001, 0x800000, 0x0fa30e5f ) 
ROM_END

ROM_START( neopong )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "pong_p1.rom", 0x000000, 0x020000, 0x9f35e29d )

	NEO_SFIX_128K( "pong_s1.rom", 0xcd19264f )

	NEO_BIOS_SOUND_128K( "pong_m1.rom", 0x78c851cb )

	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "pong_v1.rom", 0x000000, 0x200000, 0x6c31223c )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "pong_c1.rom", 0x000000, 0x100000, 0xf5a57d1a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "pong_c2.rom", 0x000001, 0x100000, 0xaffde64e ) /* Plane 2,3 */
ROM_END

ROM_START( neonopon )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "nnp-p1.rom", 0x000000, 0x080000, 0x8a792271 )

	NEO_SFIX_64K( "nnp-s1.rom", 0x93e6fe7d )

	NEO_BIOS_SOUND_64K( "nnp-m1.rom", 0x7669de64 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "nnp-v1.rom", 0x000000, 0x080000, 0x504bf849 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "nnp-c1.rom", 0x000000, 0x100000, 0x4a718ae3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "nnp-c2.rom", 0x000001, 0x100000, 0x0e2cbc25 ) /* Plane 2,3 */
ROM_END

ROM_START( npong10 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "np10_p1.rom", 0x000000, 0x020000, 0x31b724d7 )

	NEO_SFIX_128K( "pong_s1.rom", 0xcd19264f )

	NEO_BIOS_SOUND_128K( "np10_m1.rom", 0x9c0291ea )

	ROM_REGION( 0x80000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "np10_v1.rom", 0x000000, 0x80000, 0xdebeb8fb )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "np10_c1.rom", 0x000000, 0x100000, 0xd7587282 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "np10_c2.rom", 0x000001, 0x100000, 0xfefc9d06 ) /* Plane 2,3 */
ROM_END

ROM_START( beast )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "2002-p1.bin", 0x000000, 0x080000, 0x1f9e62a4 )

	NEO_SFIX_128K( "2002-s1.bin", 0x05a417f5 )

//  use neopong rom
	NEO_BIOS_SOUND_64K( "nnp-m1.rom", 0x7669de64 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "nnp-v1.rom", 0x000000, 0x080000, 0x504bf849 )

	NO_DELTAT_REGION

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2002-c1.bin", 0x000000, 0x80000, 0xe1974741 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2002-c2.bin", 0x000001, 0x80000, 0x9f5b9cf6 ) /* Plane 2,3 */
ROM_END

ROM_START( columnsn )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "2000-p1.bin", 0x000000, 0x080000, 0xc6c9888d )

	NEO_SFIX_128K( "2000-s1.bin", 0x089a28a8 )

//  use neopong rom
	NEO_BIOS_SOUND_64K( "nnp-m1.rom", 0x7669de64 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "nnp-v1.rom", 0x000000, 0x080000, 0x504bf849 )

	NO_DELTAT_REGION

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2000-c1.bin", 0x000000, 0x80000, 0x9a579cab ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2000-c2.bin", 0x000001, 0x80000, 0x91d14043 ) /* Plane 2,3 */
ROM_END

ROM_START( poknight )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "2003-p1.bin", 0x000000, 0x080000, 0x750421ee )

	NEO_SFIX_128K( "2003-s1.bin", 0xa26d2f09 )

//  use neopong rom
	NEO_BIOS_SOUND_64K( "nnp-m1.rom", 0x7669de64 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "nnp-v1.rom", 0x000000, 0x080000, 0x504bf849 )

	NO_DELTAT_REGION

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2003-c1.bin", 0x000000, 0x80000, 0x5fb2b761 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2003-c2.bin", 0x000001, 0x80000, 0xf2b570e3 ) /* Plane 2,3 */
ROM_END

ROM_START( ganryud )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "252-p1.bin", 0x100000, 0x100000, 0x4b8ac4fb )
	ROM_CONTINUE(						0x000000, 0x100000 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "252-m1.bin", 0x30cc4099 )

	ROM_REGION( 0x0400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "252-v1.bin", 0x000000, 0x400000, 0xe5946733 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "252-c1d.bin", 0x0000000, 0x800000, 0x6bf7605b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "252-c2d.bin", 0x0000001, 0x800000, 0x596792ce ) /* Plane 2,3 */
ROM_END

ROM_START( garoud )
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "253-sma.bin", 0x0c0000, 0x040000, 0x98bc93dc )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "253-ep1.p1",  0x100000, 0x200000, 0xea3171a4 )
	ROM_LOAD16_WORD_SWAP( "253-ep2.p2",  0x300000, 0x200000, 0x382f704b )
	ROM_LOAD16_WORD_SWAP( "253-ep3.p3",  0x500000, 0x200000, 0xe395bfdd )
	ROM_LOAD16_WORD_SWAP( "253-ep4.p4",  0x700000, 0x200000, 0xda92c08e )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )	/* larger char set */
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_256K( "253-m1.bin", 0x36a806be )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "253-v1.bin", 0x000000, 0x400000, 0x263e388c )
	ROM_LOAD( "253-v2.bin", 0x400000, 0x400000, 0x2c6bc7be )
	ROM_LOAD( "253-v3.bin", 0x800000, 0x400000, 0x0425b27d )
	ROM_LOAD( "253-v4.bin", 0xc00000, 0x400000, 0xa54be8a9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "253-c1d.bin", 0x0000000, 0x800000, 0x497be3f2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c2d.bin", 0x0000001, 0x800000, 0x6a9e95ca ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c3d.bin", 0x1000000, 0x800000, 0x39373d2f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c4d.bin", 0x1000001, 0x800000, 0x4de23f6c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c5d.bin", 0x2000000, 0x800000, 0x16634ba5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c6d.bin", 0x2000001, 0x800000, 0x95671ffd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c7d.bin", 0x3000000, 0x800000, 0xe36ce77f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c8d.bin", 0x3000001, 0x800000, 0xddbd1096 ) /* Plane 2,3 */
ROM_END

ROM_START( s1945pd )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "254-p1.bin", 0x000000, 0x100000, 0xff8efcff )
	ROM_LOAD16_WORD_SWAP( "254-p2.bin", 0x100000, 0x400000, 0xefdfd4dd )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "254-m1.bin", 0x994b4487 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "254-v1.bin", 0x000000, 0x400000, 0x844f58fb )
	ROM_LOAD( "254-v2.bin", 0x400000, 0x400000, 0xd9a248f0 )
	ROM_LOAD( "254-v3.bin", 0x800000, 0x400000, 0x0b0d2d33 )
	ROM_LOAD( "254-v4.bin", 0xc00000, 0x400000, 0x6d13dc91 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "254-c1d.bin", 0x0000000, 0x800000, 0x7b6902f9 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c2d.bin", 0x0000001, 0x800000, 0x51bd4252 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "254-c3d.bin", 0x1000000, 0x800000, 0xa38993e4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c4d.bin", 0x1000001, 0x800000, 0xd5696530 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "254-c5d.bin", 0x2000000, 0x800000, 0x28764bd6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c6d.bin", 0x2000001, 0x800000, 0x9931bdf1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "254-c7d.bin", 0x3000000, 0x800000, 0x6e12afcd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "254-c8d.bin", 0x3000001, 0x800000, 0x178d4684 ) /* Plane 2,3 */
ROM_END

ROM_START( preisl2d )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "255-p1.bin", 0x000000, 0x100000, 0xdfa3c0f3 )
	ROM_LOAD16_WORD_SWAP( "255-p2.bin", 0x100000, 0x400000, 0x42050b80 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "255-m1.bin", 0x8efd4014 )

	ROM_REGION( 0x0600000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "255-v1.bin", 0x000000, 0x400000, 0x5a14543d )
	ROM_LOAD( "255-v2.bin", 0x400000, 0x200000, 0x6610d91a )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "255-c1d.bin",   0x0000000, 0x800000, 0x50fd785e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "255-c2d.bin",   0x0000001, 0x800000, 0xab913f1e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "255-c3d.bin",   0x1000000, 0x800000, 0xbc0ee75c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "255-c4d.bin",   0x1000001, 0x800000, 0x29908823 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "255-c5d.bin",   0x2000000, 0x800000, 0x83c56bca ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "255-c6d.bin",   0x2000001, 0x800000, 0x59e0e805 ) /* Plane 2,3 */
ROM_END

ROM_START( nitdd )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "260-p1.bin", 0x000000, 0x080000, 0x61361082 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_512K( "260-m1.bin", 0x6407c5e5 )

	ROM_REGION( 0x0400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "260-v1.bin", 0x000000, 0x400000, 0x24b0480c )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "260-c1d.bin", 0x0000000, 0x800000, 0xf3ff4953 )
	ROM_LOAD16_BYTE( "260-c2d.bin", 0x0000001, 0x800000, 0xf1e49faa )
ROM_END

ROM_START( zupapad ) /* Decrypted GFX */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "070-p1.bin", 0x000000, 0x100000, 0x5a96203e )

	NEO_SFIX_128K( "070-s1.bin", 0x307967ba )
        
	NEO_BIOS_SOUND_128K( "070-m1.bin", 0x5a3b3191 )

	ROM_REGION( 0x0200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
        ROM_LOAD( "070-v1.bin", 0x000000, 0x200000, 0xd3a7e1ff )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )

	ROM_LOAD16_BYTE( "070-c1d.bin", 0x0000000, 0x200000, 0x2bf91ba1 )
	ROM_LOAD16_BYTE( "070-c2d.bin", 0x0000001, 0x200000, 0x8700a5b8 )
ROM_END

ROM_START( sengok3d )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "261-p1.bin", 0x100000, 0x100000, 0xe0d4bc0a )
	ROM_CONTINUE(                       0x000000, 0x100000 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "261-m1.bin", 0x36ed9cdd )

	ROM_REGION( 0x0e00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "261-v1.bin", 0x000000, 0x400000, 0x64c30081 )
	ROM_LOAD( "261-v2.bin", 0x400000, 0x400000, 0x392a9c47 )
	ROM_LOAD( "261-v3.bin", 0x800000, 0x400000, 0xc1a7ebe3 )
	ROM_LOAD( "261-v4.bin", 0xc00000, 0x200000, 0x9000d085 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "261-c1d.bin", 0x0000000, 0x800000, 0x9af7cbca )
	ROM_LOAD16_BYTE( "261-c2d.bin", 0x0000001, 0x800000, 0x2a1f874d )
	ROM_LOAD16_BYTE( "261-c3d.bin", 0x1000000, 0x800000, 0x5403adb5 )
	ROM_LOAD16_BYTE( "261-c4d.bin", 0x1000001, 0x800000, 0x18926df6 )
ROM_END

ROM_START( syscheck )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "sys-p1.rom", 0x000000, 0x80000, 0xa4adbe1e )

	NEO_SFIX_64K( "sys-s1.rom", 0x4774f28e )

	NEO_BIOS_SOUND_64K( "sys-m1.rom", 0x7669de64 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "sys-v1.rom", 0x000000, 0x80000, 0x504bf849 )

	NO_DELTAT_REGION

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "sys-c1.rom", 0x000000, 0x80000, 0x75660aac )
	ROM_LOAD16_BYTE( "sys-c2.rom", 0x000001, 0x80000, 0x75660aac )
ROM_END

ROM_START( frogfest )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "frog-p1.rom", 0x000000, 0x80000, 0xdb0417ec )

	NEO_SFIX_64K( "frog-s1.rom", 0x29814a2c )

	NEO_BIOS_SOUND_64K( "nnp-m1.rom", 0x7669de64 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "nnp-v1.rom", 0x000000, 0x080000, 0x504bf849 )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "frog-c1.rom", 0x000000, 0x100000, 0x22a65cea )
	ROM_LOAD16_BYTE( "frog-c2.rom", 0x000001, 0x100000, 0x63ddd657 )
ROM_END

ROM_START( kof2001d )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "262-p1.bin", 0x000000, 0x100000, 0x9381750d )
	ROM_LOAD16_WORD_SWAP( "262-p2.bin", 0x100000, 0x400000, 0x8e0d8329 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-262_decrypted-m1.bin",  0x2fb0a8a5 )
#else
	NEO_BIOS_SOUND_128K( "265-262.bin",  0x2fb0a8a5 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "262-c1d.bin", 0x0000000, 0x800000, 0x103225b1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c2d.bin", 0x0000001, 0x800000, 0xf9d05d99 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c3d.bin", 0x1000000, 0x800000, 0x4c7ec427 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c4d.bin", 0x1000001, 0x800000, 0x1d237aa6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c5d.bin", 0x2000000, 0x800000, 0xc2256db5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c6d.bin", 0x2000001, 0x800000, 0x8d6565a9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c7d.bin", 0x3000000, 0x800000, 0xd1408776 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c8d.bin", 0x3000001, 0x800000, 0x954d0e16 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k1pls )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "262-p1p.bin", 0x000000, 0x100000, 0x758529a7 )
	ROM_LOAD16_WORD_SWAP( "262-pg2.bin", 0x100000, 0x400000, 0x91eea062 )

	NEO_SFIX_128K( "262-s1p.bin", 0x088657e6 )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-262_decrypted-m1.bin",  0x2fb0a8a5 )
#else
	NEO_BIOS_SOUND_128K( "265-262.bin",  0x2fb0a8a5 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "262-c1.bin", 0x0000000, 0x800000, 0x99cc785a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c2.bin", 0x0000001, 0x800000, 0x50368cbf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c3.bin", 0x1000000, 0x800000, 0xfb14ff87 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c4.bin", 0x1000001, 0x800000, 0x4397faf8 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c5.bin", 0x2000000, 0x800000, 0x91f24be4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c6.bin", 0x2000001, 0x800000, 0xa31e4403 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c7.bin", 0x3000000, 0x800000, 0x54d9d1ec ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c8.bin", 0x3000001, 0x800000, 0x59289a6b ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k1pa )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "262-p1pa.bin", 0x000000, 0x100000, 0xf8a71b6f )
	ROM_LOAD16_WORD_SWAP( "262-pg2.bin",  0x100000, 0x400000, 0x91eea062 )

	NEO_SFIX_128K( "262-s1pa.bin", 0x50986eeb )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-262_decrypted-m1.bin",  0x2fb0a8a5 )
#else
	NEO_BIOS_SOUND_128K( "265-262.bin",  0x2fb0a8a5 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "262-c1.bin", 0x0000000, 0x800000, 0x99cc785a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c2.bin", 0x0000001, 0x800000, 0x50368cbf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c3.bin", 0x1000000, 0x800000, 0xfb14ff87 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c4.bin", 0x1000001, 0x800000, 0x4397faf8 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c5.bin", 0x2000000, 0x800000, 0x91f24be4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c6.bin", 0x2000001, 0x800000, 0xa31e4403 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "262-c7.bin", 0x3000000, 0x800000, 0x54d9d1ec ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "262-c8.bin", 0x3000001, 0x800000, 0x59289a6b ) /* Plane 2,3 */
ROM_END

ROM_START( mslug4d )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "263-p1.bin",  0x000000, 0x100000, 0x27e4def3 )
	ROM_LOAD16_WORD_SWAP( "263-p2.bin",  0x100000, 0x400000, 0xfdb7aed8 )

	NEO_SFIX_128K( "263-s1d.bin",  0xa9446774 )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "263-m1_decrypted.bin", 0x0c4c42f8 )
#else
	NEO_BIOS_SOUND_64K( "263-m1d.bin", 0x0c4c42f8 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "263-v1.bin", 0x000000, 0x800000, 0x01e9b9cd )
	ROM_LOAD( "263-v2.bin", 0x800000, 0x800000, 0x4ab2bf81 )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "263-c1d.bin", 0x0000000, 0x800000, 0xa75ffcde ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "263-c2d.bin", 0x0000001, 0x800000, 0x5ab0d12b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "263-c3d.bin", 0x1000000, 0x800000, 0x61af560c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "263-c4d.bin", 0x1000001, 0x800000, 0xf2c544fd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "263-c5cd.bin", 0x2000000, 0x400000,0x3348dc5d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "263-c6cd.bin", 0x2000001, 0x400000,0xd90fc1a0 ) /* Plane 2,3 */
//	ROM_LOAD16_BYTE( "263-c5d.bin", 0x2000000, 0x800000, 0x84c66c44 ) /* Plane 0,1 */
//	ROM_LOAD16_BYTE( "263-c6d.bin", 0x2000001, 0x800000, 0x5ed018ab ) /* Plane 2,3 */
ROM_END

ROM_START( rotdd )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "264-p1.bin", 0x000000, 0x800000, 0xb8cc969d )

	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(			0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "264-m1_decrypted.bin", 0x7e06206d )
#else
	NEO_BIOS_SOUND_64K( "264-m1d.bin", 0x7e06206d )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "264-v1.bin", 0x000000, 0x800000, 0xfa005812 )
	ROM_LOAD( "264-v2.bin", 0x800000, 0x800000, 0xc3dc8bf0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "264-c1d.bin", 0x0000000, 0x800000, 0xec9d18c0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "264-c2d.bin", 0x0000001, 0x800000, 0xb1069066 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "264-c3d.bin", 0x1000000, 0x800000, 0x7e636d49 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "264-c4d.bin", 0x1000001, 0x800000, 0x76892fda ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "264-c5d.bin", 0x2000000, 0x800000, 0x469061bc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "264-c6d.bin", 0x2000001, 0x800000, 0x2200220a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "264-c7d.bin", 0x3000000, 0x800000, 0xedda4baf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "264-c8d.bin", 0x3000001, 0x800000, 0x82b1ba22 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k2plb ) /* bootleg */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1p.bin",0x000000, 0x100000, 0x3ab03781 )
	ROM_LOAD16_WORD_SWAP( "265-p2.bin", 0x100000, 0x400000, 0x327266b8 )

	NEO_SFIX_128K( "265-s1pb.bin", 0x2072d5e9 )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "265-c1.bin", 0x0000000, 0x800000, 0x2b65a656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2.bin", 0x0000001, 0x800000, 0xadf18983 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3.bin", 0x1000000, 0x800000, 0x875e9fd7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4.bin", 0x1000001, 0x800000, 0x2da13947 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5.bin", 0x2000000, 0x800000, 0x61bd165d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6.bin", 0x2000001, 0x800000, 0x03fdd1eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7.bin", 0x3000000, 0x800000, 0x1a2749d8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8.bin", 0x3000001, 0x800000, 0xab0bb549 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2002d )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1.bin", 0x000000, 0x100000, 0x9ede7323 )
	ROM_LOAD16_WORD_SWAP( "265-p2.bin", 0x100000, 0x400000, 0x327266b8 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "265-c1d.bin", 0x0000000, 0x800000, 0x7efa6ef7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2d.bin", 0x0000001, 0x800000, 0xaa82948b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3d.bin", 0x1000000, 0x800000, 0x959fad0b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4d.bin", 0x1000001, 0x800000, 0xefe6a468 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5d.bin", 0x2000000, 0x800000, 0x74bba7c6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6d.bin", 0x2000001, 0x800000, 0xe20d2216 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7d.bin", 0x3000000, 0x800000, 0x8a5b561c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8d.bin", 0x3000001, 0x800000, 0xbef667a3 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2002b )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1.bin", 0x000000, 0x100000, 0x9ede7323 )
	ROM_LOAD16_WORD_SWAP( "265-p2b.bin", 0x100000, 0x400000, 0x6dbee4df )

	NEO_SFIX_128K( "265-s1b.bin", 0x2255f5bf )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )
#else
	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "265-c1b.bin", 0x0000000, 0x800000, 0xf25d3d66 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2b.bin", 0x0000001, 0x800000, 0xe3e66f1d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3b.bin", 0x1000000, 0x800000, 0x8732fa30 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4b.bin", 0x1000001, 0x800000, 0x0989fd40 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5b.bin", 0x2000000, 0x800000, 0x60635cd2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6b.bin", 0x2000001, 0x800000, 0xbd736824 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7b.bin", 0x3000000, 0x800000, 0x2da8d8cf ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8b.bin", 0x3000001, 0x800000, 0x2048404a ) /* Plane 2,3 */
ROM_END

ROM_START( matrimd )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "266-p1.bin", 0x000000, 0x100000, 0x5d4c2dc7 )
	ROM_LOAD16_WORD_SWAP( "266-p2.bin", 0x100000, 0x400000, 0xa14b1906 )

	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_FILL(			0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "266-m1_decrypted.bin", 0xd2f3742d )
#else
	NEO_BIOS_SOUND_128K( "266-m1d.bin", 0xd2f3742d )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "266-v1.bin", 0x000000, 0x800000, 0xa4f83690 )
	ROM_LOAD( "266-v2.bin", 0x800000, 0x800000, 0xd0f69eda )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "266-c1d.bin", 0x0000000, 0x800000, 0x0ab54c54 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c2d.bin", 0x0000001, 0x800000, 0xb834dd89 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c3d.bin", 0x1000000, 0x800000, 0xf31d68d4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c4d.bin", 0x1000001, 0x800000, 0x58cfb6e9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c5d.bin", 0x2000000, 0x800000, 0xf3c0e3fd ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c6d.bin", 0x2000001, 0x800000, 0xb53c8dcf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c7d.bin", 0x3000000, 0x800000, 0x3c1fb02a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c8d.bin", 0x3000001, 0x800000, 0x5ee31f80 ) /* Plane 2,3 */
ROM_END

ROM_START( matrimbl )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "266-p1.bin", 0x000000, 0x100000, 0x5d4c2dc7 )
	ROM_LOAD16_WORD_SWAP( "266-p2.bin", 0x100000, 0x400000, 0xa14b1906 )

	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_FILL(			0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_128K( "266-m1b.bin", 0x3ea96ab1 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "266-v1b.bin", 0x000000, 0x400000, 0x352b0a07 )
	ROM_LOAD16_WORD_SWAP( "266-v2b.bin", 0x400000, 0x400000, 0x1e9bd59e )
	ROM_LOAD( "266-v3b.bin", 0x800000, 0x400000, 0xe8362fcc )
	ROM_LOAD16_WORD_SWAP( "266-v4b.bin", 0xc00000, 0x400000, 0xc8c79b19 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "266-c1b.bin", 0x0000000, 0x800000, 0xa5595656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c2b.bin", 0x0000001, 0x800000, 0xc5f7c300 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c3b.bin", 0x1000000, 0x800000, 0x574efd7d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c4b.bin", 0x1000001, 0x800000, 0x109d54d9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c5b.bin", 0x2000000, 0x800000, 0x15c9e882 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c6b.bin", 0x2000001, 0x800000, 0x77497b97 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "266-c7b.bin", 0x3000000, 0x800000, 0xab481bb6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "266-c8b.bin", 0x3000001, 0x800000, 0x906cf267 ) /* Plane 2,3 */
ROM_END

ROM_START( cthd2k3a ) /* Protected hack/bootleg of kof2001 Phenixsoft */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5003-p1a.bin", 0x000000, 0x100000, 0x1185fe39 )
	ROM_LOAD16_WORD_SWAP( "5003-p2a.bin", 0x100000, 0x400000, 0xea71faf7 )

	NEO_SFIX_128K( "5003-s1a.bin", 0x174ccffd )

	NEO_BIOS_SOUND_128K( "5003-m1a.bin", 0xa37cc447 )

	/* sound roms are identical to kof2001 */
	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "5003-v2a.bin", 0x400000, 0x400000, 0x2b498449 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "5003-c1a.bin", 0x0000000, 0x800000, 0xdc90c563 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c2a.bin", 0x0000001, 0x800000, 0x7b08d331 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c3.bin",  0x1000000, 0x800000, 0xac4aff71 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c4.bin",  0x1000001, 0x800000, 0xafef5d66 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c5.bin",  0x2000000, 0x800000, 0xc7c1ae50 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c6.bin",  0x2000001, 0x800000, 0x613197f9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c7a.bin", 0x3000000, 0x800000, 0xad2d72b3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c8a.bin", 0x3000001, 0x800000, 0x8c3fc1b5 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k2plc ) /* bootleg */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1pc.bin",0x000000, 0x100000, 0xebedae17 )
	ROM_LOAD16_WORD_SWAP( "265-p2.bin", 0x100000, 0x400000, 0x327266b8 )

	NEO_SFIX_128K( "265-s1pc.bin", 0xfecbb589 )

	NEO_BIOS_SOUND_128K( "265-m1_decrypted.bin", 0x1c661a4b )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "265-v1.bin", 0x000000, 0x800000, 0x15e8f3f5 )
	ROM_LOAD( "265-v2.bin", 0x800000, 0x800000, 0xda41d6f9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "265-c1.bin", 0x0000000, 0x800000, 0x2b65a656 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c2.bin", 0x0000001, 0x800000, 0xadf18983 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c3.bin", 0x1000000, 0x800000, 0x875e9fd7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c4.bin", 0x1000001, 0x800000, 0x2da13947 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c5.bin", 0x2000000, 0x800000, 0x61bd165d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c6.bin", 0x2000001, 0x800000, 0x03fdd1eb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "265-c7.bin", 0x3000000, 0x800000, 0x1a2749d8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "265-c8.bin", 0x3000001, 0x800000, 0xab0bb549 ) /* Plane 2,3 */
ROM_END

ROM_START( kf2k4pls )
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "k2k4s-p1p.bin", 0x000000, 0x100000, 0xed97c684 )
	ROM_CONTINUE(                       0x500000, 0x100000 )
	ROM_LOAD16_WORD_SWAP( "k2k4s-p1.bin", 0x400000, 0x100000, 0xe6c50566 )
	ROM_CONTINUE(                       0x300000, 0x100000 )
	ROM_CONTINUE(                       0x200000, 0x100000 )
	ROM_CONTINUE(                       0x100000, 0x100000 )

	NEO_SFIX_128K( "k2k4s-s1p.bin", 0xcc0ab564 )

	NEO_BIOS_SOUND_128K( "k2k4s-m1.bin", 0x5a47d9ad )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "k2k4s-v2.bin", 0x000000, 0x800000, 0xe4ddfb3f )
	ROM_LOAD( "k2k4s-v1.bin", 0x800000, 0x800000, 0xb887d287 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "k2k4s-c4.bin", 0x0000000, 0x800000, 0x7a050288 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c8.bin", 0x0000001, 0x800000, 0xe924afcf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "k2k4s-c3.bin", 0x1000000, 0x800000, 0x959fad0b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c7.bin", 0x1000001, 0x800000, 0xefe6a468 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "k2k4s-c2.bin", 0x2000000, 0x800000, 0x74bba7c6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c6.bin", 0x2000001, 0x800000, 0xe20d2216 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "k2k4s-c1.bin", 0x3000000, 0x800000, 0xfa705b2b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "k2k4s-c5.bin", 0x3000001, 0x800000, 0x2c912ff9 ) /* Plane 2,3 */
ROM_END

/* news */
ROM_START( ltorb1 )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "ltor1-p1.rom", 0x000000, 0x040000, 0x353f6b05 )

	NEO_SFIX_64K( "ltor1-s1.rom", 0x8224d8b7 )

//  use neopong rom
	NEO_BIOS_SOUND_64K( "ltor1-m1.rom", 0x6847fd52 )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "ltor1-v1.rom", 0x000000, 0x080000, 0x0329c2e7 )

	NO_DELTAT_REGION

	ROM_REGION( 0x100000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "ltor1-c1.rom", 0x000000, 0x80000, 0x8b607198 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "ltor1-c2.rom", 0x000001, 0x80000, 0x6b96b59c ) /* Plane 2,3 */
ROM_END

ROM_START( neodemo )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "demo-p1.bin", 0x000000, 0x080000, 0xfbfce2a4 )

	NEO_SFIX_128K( "demo-s1.bin", 0xcd19264f )

	NEO_BIOS_SOUND_128K( "202-m1.bin", 0x9c0291ea )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "202-v1.bin", 0x000000, 0x080000, 0xdebeb8fb )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "demo-c1.bin", 0x000000, 0x100000, 0x870b28ea ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "demo-c2.bin", 0x000001, 0x100000, 0x1ecf8128 ) /* Plane 2,3 */
ROM_END

ROM_START( fr2ch ) /* CD to MVS Conversion */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "098-p1ch.bin", 0x000000, 0x080000, 0x9AA8CEE0 )

	NEO_SFIX_128K( "098-s1ch.bin", 0x764AC7AA )

	NEO_BIOS_SOUND_64K( "098-m1ch.bin", 0xa455fa31 )

	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "098-v1ch.bin", 0x000000, 0x100000, 0x92e175f0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x600000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "098-c1ch.bin", 0x000000, 0x100000, 0x6158CF4A ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "098-c2ch.bin", 0x000001, 0x100000, 0x93A809A3 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "098-c3ch.bin", 0x200000, 0x100000, 0xFAFA3381 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "098-c4ch.bin", 0x200001, 0x100000, 0x9895E23F ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "098-c5ch.bin", 0x400000, 0x100000, 0xEEAAA818 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "098-c6ch.bin", 0x400001, 0x100000, 0xF3D9A190 ) /* Plane 2,3 */
ROM_END

ROM_START( cnbe ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "cnbe-p1.bin", 0x000000, 0x080000, 0x7ece4186 )

	NEO_SFIX_64K( "cnbe-s1.bin", 0x40a4698f )

	NEO_BIOS_SOUND_128K( "cnbe-m1.bin", 0xa5821c9c )

	ROM_REGION( 0x80000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "cnbe-v1.bin", 0x000000, 0x80000, 0x70191764 )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "cnbe-c1.bin", 0x000000, 0x100000, 0x0f4fea6f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "cnbe-c2.bin", 0x000001, 0x100000, 0x3d5fc36f ) /* Plane 2,3 */
ROM_END

ROM_START( ngem2k ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "ngem-p1.bin", 0x000000, 0x080000, 0xf2c42fe3 )

	NEO_SFIX_64K( "ngem-s1.bin", 0xfb3c02d2 )

	NEO_BIOS_SOUND_128K( "ngem-m1.bin", 0xb1f44a15 )

	ROM_REGION( 0x80000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "ngem-v1.bin", 0x000000, 0x80000, 0xc32199f0 )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "ngem-c1.bin", 0x000000, 0x100000, 0xa8e2ab47 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "ngem-c2.bin", 0x000001, 0x100000, 0xa738ea1c ) /* Plane 2,3 */
ROM_END

ROM_START( neo2500 ) /* Original Version - Encrypted GFX */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "2500-p1.bin",  0x000000, 0x080000, 0x2321c0d8 )

	NEO_SFIX_64K( "2500-s1.bin", 0x1a37925c )

	NEO_BIOS_SOUND_128K( "202-m1.bin", 0x9c0291ea )

	ROM_REGION( 0x080000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "202-v1.bin", 0x000000, 0x080000, 0xdebeb8fb )

	NO_DELTAT_REGION

	ROM_REGION( 0x200000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2500-c1.bin",   0x000000, 0x080000, 0x8c304b56 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2500-c2.bin",   0x000001, 0x080000, 0x9a0758d6 ) /* Plane 2,3 */
ROM_END

ROM_START( sthoopcd )
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "079-p1ch.bin", 0x000000, 0x100000, 0x16795f7f )

	NEO_SFIX_128K( "079-s1ch.bin", 0xc65a5fe8 )

	NEO_BIOS_SOUND_64K( "079-m1.bin", 0x1a5f08db )

	ROM_REGION( 0x280000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "079-v1.bin", 0x000000, 0x200000, 0x718a2400 )
	ROM_LOAD( "079-v2.bin", 0x200000, 0x080000, 0xb19884f8 )

	NO_DELTAT_REGION

	ROM_REGION( 0x800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "079-c1ch.bin", 0x000000, 0x200000, 0xc3ebd902 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "079-c2ch.bin", 0x000001, 0x200000, 0x1a471f80 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "079-c3ch.bin", 0x400000, 0x080000, 0x4d490ecc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "079-c4ch.bin", 0x400001, 0x080000, 0xe223d27c ) /* Plane 2,3 */
ROM_END

/* news Decrypted */
ROM_START( ct2k3ad ) /* this is a hack of kof2001 much like the various korean hacks / bootlegs of games */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5k3-p1ad.bin", 0x000000, 0x100000, 0x83783954 )
	ROM_LOAD16_WORD_SWAP( "5k3-p2ad.bin", 0x100000, 0x400000, 0x84b0b164 )

	NEO_SFIX_128K( "5k3-s1ad.bin", 0x956d8273 )

	NEO_BIOS_SOUND_128K( "5k3-m1ad.bin", 0x3ee21b7e )

	/* sound roms are identical to kof2001 */
	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "5003-v2a.bin", 0x400000, 0x400000, 0x2b498449 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "5k3-c1ad.bin", 0x0000000, 0x800000, 0xeddd5e2f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5k3-c2ad.bin", 0x0000001, 0x800000, 0x23d8d1d6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c3d.bin", 0x1000000, 0x800000, 0x71b3172d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c4d.bin", 0x1000001, 0x800000, 0x564c70c1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c5d.bin", 0x2000000, 0x800000, 0x8ef8aef9 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c6d.bin", 0x2000001, 0x800000, 0x8a0fd440 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5k3-c7ad.bin", 0x3000000, 0x800000, 0x4f50e1ae ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5k3-c8ad.bin", 0x3000001, 0x800000, 0x4f5f09bf ) /* Plane 2,3 */
ROM_END

ROM_START( cthd2k3d ) /* this is a hack of kof2001 much like the various korean hacks / bootlegs of games */
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5003-p1d.bin", 0x000000, 0x100000, 0xf75508d8 )
	ROM_LOAD16_WORD_SWAP( "5003-p2d.bin", 0x100000, 0x400000, 0xeba65bda )

	NEO_SFIX_128K( "5003-s1d.bin", 0xfc1f3809 )

	NEO_BIOS_SOUND_128K( "5003-m1d.bin", 0x526cccab )

	/* sound roms are identical to kof2001 */
	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "262-v1.bin", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "262-v2.bin", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "262-v3.bin", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "262-v4.bin", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "5003-c1d.bin", 0x0000000, 0x800000, 0x29fd9108 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c2d.bin", 0x0000001, 0x800000, 0xf58d4d3e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c3d.bin", 0x1000000, 0x800000, 0x71b3172d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c4d.bin", 0x1000001, 0x800000, 0x564c70c1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c5d.bin", 0x2000000, 0x800000, 0x8ef8aef9 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c6d.bin", 0x2000001, 0x800000, 0x8a0fd440 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5003-c7d.bin", 0x3000000, 0x800000, 0x6f1effab ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5003-c8d.bin", 0x3000001, 0x800000, 0x39550d3a ) /* Plane 2,3 */
ROM_END

ROM_START( kof10thd )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "kf10-p1d.bin", 0x000000, 0x800000, 0x30c82f4c )

	NEO_SFIX_128K( "kf10-s1d.bin", 0x3c757cb1 )

	NEO_BIOS_SOUND_128K( "kf10-m1.bin", 0xf6fab859 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "kf10-v1.bin", 0x000000, 0x800000, 0x0fc9a58d )
	ROM_LOAD( "kf10-v2.bin", 0x800000, 0x800000, 0xb8c475a4 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "kf10-c1a.bin", 0x0000000, 0x400000, 0x3bbc0364 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2a.bin", 0x0000001, 0x400000, 0x91230075 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c1b.bin", 0x0800000, 0x400000, 0xb5abfc28 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c2b.bin", 0x0800001, 0x400000, 0x6cc4c6e1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3a.bin", 0x1000000, 0x400000, 0x5b3d4a16 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4a.bin", 0x1000001, 0x400000, 0xc6f3419b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c3b.bin", 0x1800000, 0x400000, 0x9d2bba19 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c4b.bin", 0x1800001, 0x400000, 0x5a4050cb ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5a.bin", 0x2000000, 0x400000, 0xa289d1e1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6a.bin", 0x2000001, 0x400000, 0xe6494b5d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c5b.bin", 0x2800000, 0x400000, 0x404fff02 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c6b.bin", 0x2800001, 0x400000, 0xf2ccfc9e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c7a.bin", 0x3000000, 0x400000, 0xbe79c5a8 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c8a.bin", 0x3000001, 0x400000, 0xa5952ca4 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "kf10-c7b.bin", 0x3800000, 0x400000, 0x3fdb3542 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "kf10-c8b.bin", 0x3800001, 0x400000, 0x661b7a52 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2003d )
	ROM_REGION( 0x700000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "271-p1d.bin",  0x000000, 0x100000, 0x7c2aee16 )
 	ROM_LOAD16_WORD_SWAP( "271-p1bl.bin", 0x100000, 0x400000, 0x92ed6ee3 )
	ROM_LOAD16_WORD_SWAP( "271-p3d.bin",  0x500000, 0x200000, 0x0d0a5861 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL(   0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "271-m1_decrypted.bin", 0x4374cb5c )
#else
	NEO_BIOS_SOUND_512K( "271-m1d.bin", 0x4374cb5c )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "271-v1c.bin", 0x000000, 0x800000, 0xffa3f8c7 )
	ROM_LOAD( "271-v2c.bin", 0x800000, 0x800000, 0x5382c7d1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "271-c1cd.bin", 0x0000000, 0x800000, 0xe42fc226 )
	ROM_LOAD16_BYTE( "271-c2cd.bin", 0x0000001, 0x800000, 0x1b5e3b58 )
	ROM_LOAD16_BYTE( "271-c3cd.bin", 0x1000000, 0x800000, 0xd334fdd9 )
	ROM_LOAD16_BYTE( "271-c4cd.bin", 0x1000001, 0x800000, 0x0d457699 )
	ROM_LOAD16_BYTE( "271-c5cd.bin", 0x2000000, 0x800000, 0x8a91aae4 )
	ROM_LOAD16_BYTE( "271-c6cd.bin", 0x2000001, 0x800000, 0x9f8674b8 )
	ROM_LOAD16_BYTE( "271-c7cd.bin", 0x3000000, 0x800000, 0x8ee6b43c )
	ROM_LOAD16_BYTE( "271-c8cd.bin", 0x3000001, 0x800000, 0x6d8d2d60 )
ROM_END

ROM_START( kf2k3pcd ) /* Decrypted C ROMs Version - Encrypted Code & Sound */
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "271-p1.bin", 0x000000, 0x400000, 0xb9da070c )
	ROM_LOAD32_WORD_SWAP( "271-p2.bin", 0x000002, 0x400000, 0xda3118c4 )
	ROM_LOAD16_WORD_SWAP( "271-p3.bin", 0x800000, 0x100000, 0x5cefd0d2 )

	ROM_REGION( 0x100000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x100000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION16_BE( 0x80000, REGION_USER1, 0 )
	/* Decrypted */
	ROM_LOAD16_WORD_SWAP( "271-bios_decrypted.bin", 0x00000, 0x080000, 0xe873f1ef )

	ROM_REGION( 0x90000, REGION_CPU2, 0 )
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )
	/* Decrypted */
	ROM_LOAD( "271-m1_decrypted.bin", 0x00000, 0x80000, 0x0e86af8f )
	ROM_RELOAD( 0x10000, 0x80000 )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "271-v1.bin", 0x000000, 0x1000000, 0x1d96154b )

	NO_DELTAT_REGION

	ROM_REGION( 0x6000000, REGION_GFX3, 0 )
	/* decrypted */
	ROM_LOAD16_BYTE( "271-c1d.bin", 0x0000000, 0x1000000, 0xc29acd28 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "271-c2d.bin", 0x0000001, 0x1000000, 0x328e80b1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "271-c3d.bin", 0x2000000, 0x1000000, 0x020a11f1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "271-c4d.bin", 0x2000001, 0x1000000, 0x991b5ed2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "271-c5d.bin", 0x4000000, 0x1000000, 0xc2de8b66 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "271-c6d.bin", 0x4000001, 0x1000000, 0x3ff750db ) /* Plane 2,3 */
ROM_END

ROM_START( pnyaad ) /* Decrypted C ROMs Version -  Encrypted Sound */
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "267-p1.bin", 0x000000, 0x100000, 0x112fe2c0 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	/* Decrypted */
	NEO_BIOS_SOUND_512K( "267-m1_decrypted.bin", 0xd58eaa8e )

	ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "267-v1.bin", 0x000000, 0x400000, 0xe2e8e917 )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	/* Decrypted */
	ROM_LOAD16_BYTE( "267-c1d.bin", 0x0000000, 0x800000, 0x2bd02a33 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "267-c2d.bin", 0x0000001, 0x800000, 0x8fb27b0b ) /* Plane 2,3 */
ROM_END

ROM_START( mslug5d )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "268-p1d.bin", 0x000000, 0x100000, 0xca50afdf )
	ROM_LOAD16_WORD_SWAP( "268-p2d.bin", 0x100000, 0x400000, 0x768ee64a )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_64K( "268-m1_decrypted.bin", 0x3c0655a7 )
#else
	NEO_BIOS_SOUND_64K( "268-m1d.bin", 0x3c0655a7 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "268-v1c.bin", 0x000000, 0x800000, 0xae31d60c )
	ROM_LOAD( "268-v2c.bin", 0x800000, 0x800000, 0xc40613ed )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Decrypted */
	ROM_LOAD16_BYTE( "268-c1d.bin", 0x0000000, 0x800000, 0xe8239365 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c2d.bin", 0x0000001, 0x800000, 0x89b21d4c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c3d.bin", 0x1000000, 0x800000, 0x3cda13a0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c4d.bin", 0x1000001, 0x800000, 0x9c00160d ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c5d.bin", 0x2000000, 0x800000, 0x38754256 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c6d.bin", 0x2000001, 0x800000, 0x59d33e9c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c7d.bin", 0x3000000, 0x800000, 0xc9f8c357 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c8d.bin", 0x3000001, 0x800000, 0xfafc3eb9 ) /* Plane 2,3 */
ROM_END

ROM_START( samsho5d ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "270-p1.bin", 0x000000, 0x400000, 0x4a2a09e6 )
	ROM_LOAD16_WORD_SWAP( "270-p2.bin", 0x400000, 0x400000, 0xe0c74c85 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_256K( "270-m1_decrypted.bin", 0xe94a5e2b ) /* not a 100% match for encrypted version */
#else
	NEO_BIOS_SOUND_256K( "270-m1d.bin", 0xe94a5e2b ) /* not a 100% match for encrypted version */
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "270-v1.bin", 0x000000, 0x800000, 0x62e434eb )
	ROM_LOAD( "270-v2.bin", 0x800000, 0x800000, 0x180f3c9a )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )

	ROM_LOAD16_BYTE( "270-c1d.bin", 0x0000000, 0x800000, 0x9adec562 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c2d.bin", 0x0000001, 0x800000, 0xac0309e5 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c3d.bin", 0x1000000, 0x800000, 0x82db9dae ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c4d.bin", 0x1000001, 0x800000, 0xf8041153 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c5d.bin", 0x2000000, 0x800000, 0xe689d62d ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c6d.bin", 0x2000001, 0x800000, 0xa993bdcf ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "270-c7d.bin", 0x3000000, 0x800000, 0x707d56a0 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "270-c8d.bin", 0x3000001, 0x800000, 0xf5903adc ) /* Plane 2,3 */
ROM_END

ROM_START( samsh5sd ) /* Encrypted Set */
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "272-p1.bin", 0x000000, 0x400000, 0xfb7a6bba )
	ROM_LOAD16_WORD_SWAP( "272-p2.bin", 0x400000, 0x400000, 0x63492ea6 )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "272-m1.bin", 0x00000, 0x80000, 0xadeebf40 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "272-m1_decrypted.bin", 0x203d744e )
#else
	NEO_BIOS_SOUND_512K( "272-m1d.bin", 0x203d744e )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "272-v1.bin", 0x000000, 0x800000, 0x76a94127 )
	ROM_LOAD( "272-v2.bin", 0x800000, 0x800000, 0x4ba507f1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "272-c1d.bin", 0x0000000, 0x800000, 0x8548097e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c2d.bin", 0x0000001, 0x800000, 0x8c1b48d0 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c3d.bin", 0x1000000, 0x800000, 0x96ddb28c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c4d.bin", 0x1000001, 0x800000, 0x99ef7a0a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c5d.bin", 0x2000000, 0x800000, 0x772e8b1e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c6d.bin", 0x2000001, 0x800000, 0x5fff21fc ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "272-c7d.bin", 0x3000000, 0x800000, 0x9ac56a0e ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "272-c8d.bin", 0x3000001, 0x800000, 0xcfde7aff ) /* Plane 2,3 */
ROM_END

ROM_START( lans2k4d ) /* Bootleg / Hack of Shock Troopers - 2nd Squad */
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "lnsq-p1d.bin", 0x000000, 0x100000, 0x724576EA )
	ROM_LOAD16_WORD_SWAP( "246-p2.bin", 0x100000, 0x400000, 0x72ea04c3 )

	NEO_SFIX_128K( "lnsq-s1d.bin", 0x8699c63a )

	NEO_BIOS_SOUND_128K( "246-m1.bin", 0xd0604ad1 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "246-v1.bin", 0x000000, 0x400000, 0x16986fc6 )
	ROM_LOAD( "246-v2.bin", 0x400000, 0x400000, 0xada41e83 )
	ROM_LOAD( "246-v3.bin", 0x800000, 0x200000, 0xa05ba5db )

	NO_DELTAT_REGION

	ROM_REGION( 0x3000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "246-c1.bin", 0x0000000, 0x800000, 0x47ac9ec5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "246-c2.bin", 0x0000001, 0x800000, 0x7bcab64f ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "lnsq-c3d.bin", 0x1000000, 0x800000, 0xb28d702a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "lnsq-c4d.bin", 0x1000001, 0x800000, 0xda10dd64 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "lnsq-c5d.bin", 0x2000000, 0x800000, 0xbab3b417 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "lnsq-c6d.bin", 0x2000001, 0x800000, 0x4c089a28 ) /* Plane 2,3 */
ROM_END

ROM_START( kogd )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "5232-p1d.bin", 0x000000, 0x100000, 0x58F20940 )
	ROM_LOAD16_WORD_SWAP( "232-p2.bin", 0x100000, 0x400000, 0x158b23f6 )

	NEO_SFIX_128K( "5232-s1d.bin", 0xEC690592 )

	NEO_BIOS_SOUND_128K( "232-m1.bin", 0x45348747 )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, 0x22a2b5b5 )
	ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, 0x2304e744 )
	ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, 0x759eb954 )

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "5232-c1d.bin", 0x0000000, 0x800000, 0x8E964A75 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5232-c2d.bin", 0x0000001, 0x800000, 0xD102DE17 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, 0x581d6618 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, 0x49bb1e68 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "5232-c5d.bin", 0x2000000, 0x400000, 0xC2698BE3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "5232-c6d.bin", 0x2000001, 0x400000, 0xB057DB30 ) /* Plane 2,3 */
ROM_END

ROM_START( svcd )
	ROM_REGION( 0x800000, REGION_CPU1, 0 )
	ROM_LOAD32_WORD_SWAP( "269-p1c.bin", 0x000000, 0x400000, 0x38e2005e )
	ROM_LOAD32_WORD_SWAP( "269-p2c.bin", 0x000002, 0x400000, 0x6d13797c )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 ) /* larger char set */
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "269-m1_decrypted.bin", 0x447b3123 )
#else
	NEO_BIOS_SOUND_128K( "269-m1d.bin", 0x447b3123 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "269-v1c.bin", 0x000000, 0x800000, 0xc659b34c )
	ROM_LOAD( "269-v2c.bin", 0x800000, 0x800000, 0xdd903835 )

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "269-c1cd.bin", 0x0000000, 0x800000, 0x465d473b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c2cd.bin", 0x0000001, 0x800000, 0x3eb28f78 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "269-c3cd.bin", 0x1000000, 0x800000, 0xf4d4ab2b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c4cd.bin", 0x1000001, 0x800000, 0xa69d523a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "269-c5cd.bin", 0x2000000, 0x800000, 0xba2a7892 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c6cd.bin", 0x2000001, 0x800000, 0x37371ca1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "269-c7cd.bin", 0x3000000, 0x800000, 0x5595b6cc ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "269-c8cd.bin", 0x3000001, 0x800000, 0xb17dfcf9 ) /* Plane 2,3 */
ROM_END

ROM_START( jckeygpd )
	ROM_REGION( 0x200000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "jgp-p1.bin", 0x000000, 0x100000, 0x2fb7f388 )
	ROM_FILL( 0x100000, 0x100000, 0xff )

	/* The Encrypted Boards do _not_ have an s1 rom, data for it comes from the Cx ROMs */
	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_FILL( 0x000000, 0x80000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_512K( "jgp-m1_decrypted.bin", 0x1cab4de2 )

	ROM_REGION( 0x0200000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "jgp-v1.bin", 0x000000, 0x200000, 0x443eadba )

	NO_DELTAT_REGION

	ROM_REGION( 0x1000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "jgp-c1d.bin", 0x0000000, 0x800000, 0xea259019 )
	ROM_LOAD16_BYTE( "jgp-c2d.bin", 0x0000001, 0x800000, 0x97f270be )
ROM_END

/* news bootleg */
ROM_START( kof97pla )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "232-p1pa.bin", 0x000000, 0x100000, 0x035911c5 )
	ROM_LOAD16_WORD_SWAP( "232-p2.bin", 0x100000, 0x400000, 0x158b23f6 )

	NEO_SFIX_128K( "232-s1pa.bin", 0x4ee2149a )

	NEO_BIOS_SOUND_128K( "232-m1.bin", 0x45348747 )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, 0x22a2b5b5 )
	ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, 0x2304e744 )
	ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, 0x759eb954 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "232-c1.bin", 0x0000000, 0x800000, 0x5f8bf0a1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c2.bin", 0x0000001, 0x800000, 0xe4d45c81 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, 0x581d6618 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, 0x49bb1e68 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "232-c5.bin", 0x2000000, 0x400000, 0x34fc4e51 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c6.bin", 0x2000001, 0x400000, 0x4ff4d47b ) /* Plane 2,3 */
ROM_END

ROM_START( mslug5b )
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "268-p1b.bin", 0x000000, 0x100000, 0xd05853ea )
	ROM_CONTINUE(                       0x200000, 0x100000 )
	ROM_CONTINUE(                       0x400000, 0x100000 )
	ROM_CONTINUE(                       0x300000, 0x100000 )
	ROM_CONTINUE(                       0x500000, 0x100000 )

	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_64K( "268-m1_decrypted.bin",  0x3c0655a7 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "268-v1c.bin", 0x000000, 0x800000, 0xae31d60c )
	ROM_LOAD( "268-v2c.bin", 0x800000, 0x800000, 0xc40613ed )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	/* Encrypted */
	ROM_LOAD16_BYTE( "268-c1c.bin", 0x0000000, 0x800000, 0xab7c389a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c2c.bin", 0x0000001, 0x800000, 0x3560881b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c3c.bin", 0x1000000, 0x800000, 0x3af955ea ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c4c.bin", 0x1000001, 0x800000, 0xc329c373 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c5c.bin", 0x2000000, 0x800000, 0x959c8177 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c6c.bin", 0x2000001, 0x800000, 0x010a831b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "268-c7c.bin", 0x3000000, 0x800000, 0x6d72a969 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "268-c8c.bin", 0x3000001, 0x800000, 0x551d720e ) /* Plane 2,3 */
ROM_END




ROM_START( kof96evo )
	ROM_REGION( 0x400000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "214ev-p1.bin", 0x000000, 0x200000, 0x6e10e1af )
	ROM_LOAD16_WORD_SWAP( "214-p2.bin",   0x100000, 0x200000, 0x002ccb73 )

	NEO_SFIX_128K( "214-s1.bin", 0x1254cbdb )

	NEO_BIOS_SOUND_128K( "214-m1.bin", 0xdabc427c )

	ROM_REGION( 0xa00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "214-v1.bin", 0x000000, 0x400000, 0x63f7b045 )
	ROM_LOAD( "214-v2.bin", 0x400000, 0x400000, 0x25929059 )
	ROM_LOAD( "214-v3.bin", 0x800000, 0x200000, 0x92a2257d )

	NO_DELTAT_REGION

	ROM_REGION( 0x2000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "214-c1.bin", 0x0000000, 0x400000, 0x7ecf4aa2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c2.bin", 0x0000001, 0x400000, 0x05b54f37 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c3.bin", 0x0800000, 0x400000, 0x64989a65 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c4.bin", 0x0800001, 0x400000, 0xafbea515 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c5.bin", 0x1000000, 0x400000, 0x2a3bbd26 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c6.bin", 0x1000001, 0x400000, 0x44d30dc7 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "214-c7.bin", 0x1800000, 0x400000, 0x3687331b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "214-c8.bin", 0x1800001, 0x400000, 0xfa1461ad ) /* Plane 2,3 */
ROM_END

ROM_START( kof98cd )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "242-p1pl.bin", 0x000000, 0x100000, 0x1a748f96 )
	ROM_LOAD16_WORD_SWAP( "242-p2pl.bin", 0x100000, 0x400000, 0x5e4405b2 )

	NEO_SFIX_128K( "242-s1pl.bin", 0x53f14b31 )

	NEO_BIOS_SOUND_256K( "242-m1.bin", 0x4e7a6b1b )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "242-v1.bin", 0x000000, 0x400000, 0xb9ea8051 )
	ROM_LOAD( "242-v2.bin", 0x400000, 0x400000, 0xcc11106e )
	ROM_LOAD( "242-v3.bin", 0x800000, 0x400000, 0x044ea4e1 )
	ROM_LOAD( "242-v4.bin", 0xc00000, 0x400000, 0x7985ea30 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "242-c1pl.bin",0x0000000,0x800000, 0x05edf0ff ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c2pl.bin",0x0000001,0x800000, 0x3723515e ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c3.bin", 0x1000000, 0x800000, 0x22127b4f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c4.bin", 0x1000001, 0x800000, 0x0b4fa044 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c5.bin", 0x2000000, 0x800000, 0x9d10bed3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c6.bin", 0x2000001, 0x800000, 0xda07b6a2 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "242-c7.bin", 0x3000000, 0x800000, 0xf6d7a38a ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "242-c8.bin", 0x3000001, 0x800000, 0xc823e045 ) /* Plane 2,3 */
ROM_END

ROM_START( garouod )
	ROM_REGION( 0x900000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "253-smao.bin", 0x0c0000, 0x040000, 0x96c72233 )	/* stored in the custom chip */
	ROM_LOAD16_WORD_SWAP( "253-p1.bin",   0x100000, 0x400000, 0x18ae5d7e )
	ROM_LOAD16_WORD_SWAP( "253-p2.bin",   0x500000, 0x400000, 0xafffa779 )

	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	NEO_BIOS_SOUND_256K( "253-m1.bin", 0x36a806be )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "253-v1.bin", 0x000000, 0x400000, 0x263e388c )
	ROM_LOAD( "253-v2.bin", 0x400000, 0x400000, 0x2c6bc7be )
	ROM_LOAD( "253-v3.bin", 0x800000, 0x400000, 0x0425b27d )
	ROM_LOAD( "253-v4.bin", 0xc00000, 0x400000, 0xa54be8a9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "253-c1d.bin", 0x0000000, 0x800000, 0x497be3f2 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c2d.bin", 0x0000001, 0x800000, 0x6a9e95ca ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c3d.bin", 0x1000000, 0x800000, 0x39373d2f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c4d.bin", 0x1000001, 0x800000, 0x4de23f6c ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c5d.bin", 0x2000000, 0x800000, 0x16634ba5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c6d.bin", 0x2000001, 0x800000, 0x95671ffd ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "253-c7d.bin", 0x3000000, 0x800000, 0xe36ce77f ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "253-c8d.bin", 0x3000001, 0x800000, 0xddbd1096 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2k1 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "2k1_p1.rom", 0x000000, 0x100000, 0x2af7e741 )
	ROM_LOAD16_WORD_SWAP( "2k1_p2.rom", 0x100000, 0x400000, 0x91eea062 )

	NEO_SFIX_128K( "2k1_s1.rom",  0x8c5c479e )

	NEO_BIOS_SOUND_128K( "265-262d.m1", 0x2fb0a8a5 )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "2k1_v1.rom", 0x000000, 0x400000, 0x83d49ecf )
	ROM_LOAD( "2k1_v2.rom", 0x400000, 0x400000, 0x003f1843 )
	ROM_LOAD( "2k1_v3.rom", 0x800000, 0x400000, 0x2ae38dbe )
	ROM_LOAD( "2k1_v4.rom", 0xc00000, 0x400000, 0x26ec4dd9 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2k1_c1.rom", 0x0000000, 0x800000, 0x103225b1 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k1_c2.rom", 0x0000001, 0x800000, 0xf9d05d99 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k1_c3.rom", 0x1000000, 0x800000, 0x4c7ec427 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k1_c4.rom", 0x1000001, 0x800000, 0x1d237aa6 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k1_c5.rom", 0x2000000, 0x800000, 0xc2256db5 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k1_c6.rom", 0x2000001, 0x800000, 0x8d6565a9 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k1_c7.rom", 0x3000000, 0x800000, 0xd1408776 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k1_c8.rom", 0x3000001, 0x800000, 0x954d0e16 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2k2 )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "265-p1.rom",    0x000000, 0x100000, 0x9ede7323 )
	ROM_LOAD16_WORD_SWAP( "2k2_p2.rom", 0x100000, 0x400000, 0x432FDF53 )

	NEO_SFIX_128K( "2k2_s1.rom",  0xE0EAABA3 )

	NEO_BIOS_SOUND_128K( "265-m1d.bin", 0x1c661a4b )

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "2k2_v1.rom", 0x000000, 0x400000, 0x13d98607 )
	ROM_LOAD( "2k2_v2.rom", 0x400000, 0x400000, 0x9cf74677 )
	ROM_LOAD( "2k2_v3.rom", 0x800000, 0x400000, 0x8e9448b5 )
	ROM_LOAD( "2k2_v4.rom", 0xc00000, 0x400000, 0x067271b5 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2k2_c1.rom", 0x0000000, 0x800000, 0x7efa6ef7 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k2_c2.rom", 0x0000001, 0x800000, 0xaa82948b ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k2_c3.rom", 0x1000000, 0x800000, 0x959fad0b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k2_c4.rom", 0x1000001, 0x800000, 0xefe6a468 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k2_c5.rom", 0x2000000, 0x800000, 0x74bba7c6 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k2_c6.rom", 0x2000001, 0x800000, 0xe20d2216 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k2_c7.rom", 0x3000000, 0x800000, 0x8a5b561c ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k2_c8.rom", 0x3000001, 0x800000, 0xbef667a3 ) /* Plane 2,3 */
ROM_END

ROM_START( svct )
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "svc_p1.rom", 0x000000, 0x600000, 0x2c3217a6 )

	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_LOAD( "svc_s1t.rom" , 0x000000, 0x80000, 0xad184232 )  /* transparency layer */
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "269-m1c.bin", 0x00000, 0x20000, 0x7d337756 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "269-m1_decrypted.bin", 0x447b3123 )
#else
	NEO_BIOS_SOUND_128K( "269-m1d.bin", 0x447b3123 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "269-v1c.bin", 0x000000, 0x800000, 0xc659b34c )
	ROM_LOAD( "269-v2c.bin", 0x800000, 0x800000, 0xdd903835 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "svc_c1.rom", 0x0000000, 0x800000, 0x465d473B ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svc_c2.rom", 0x0000001, 0x800000, 0x3eb28f78 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "svc_c3.rom", 0x1000000, 0x800000, 0xf4d4ab2b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svc_c4.rom", 0x1000001, 0x800000, 0xa69d523a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "svc_c5.rom", 0x2000000, 0x800000, 0xba2a7892 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svc_c6.rom", 0x2000001, 0x800000, 0x37371ca1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "svcn_c7.rom",0x3000000, 0x800000, 0x4d08e0a3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svcn_c8.rom",0x3000001, 0x800000, 0xd5899852 ) /* Plane 2,3 */
ROM_END

ROM_START( svctru )
	ROM_REGION( 0x600000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "269ru-p1.rom", 0x000000, 0x600000, 0x36dc51e4 )

	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_LOAD( "svc_s1t.rom" , 0x000000, 0x80000, 0xad184232 )  /* transparency layer */
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x80000, REGION_USER4, 0 )
	/* Encrypted, we load it here for reference and replace with decrypted ROM */
	ROM_LOAD( "269-m1c.bin", 0x00000, 0x20000, 0x7d337756 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_128K( "269-m1_decrypted.bin", 0x447b3123 )
#else
	NEO_BIOS_SOUND_128K( "269-m1d.bin", 0x447b3123 )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "269-v1c.bin", 0x000000, 0x800000, 0xc659b34c )
	ROM_LOAD( "269-v2c.bin", 0x800000, 0x800000, 0xdd903835 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "svc_c1.rom", 0x0000000, 0x800000, 0x465d473B ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svc_c2.rom", 0x0000001, 0x800000, 0x3eb28f78 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "svc_c3.rom", 0x1000000, 0x800000, 0xf4d4ab2b ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svc_c4.rom", 0x1000001, 0x800000, 0xa69d523a ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "svc_c5.rom", 0x2000000, 0x800000, 0xba2a7892 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svc_c6.rom", 0x2000001, 0x800000, 0x37371ca1 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "svcn_c7.rom",0x3000000, 0x800000, 0x4d08e0a3 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "svcn_c8.rom",0x3000001, 0x800000, 0xd5899852 ) /* Plane 2,3 */
ROM_END

ROM_START( kof2k3t )
	ROM_REGION( 0x6800000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "2k3_p1.rom", 0x000000, 0x800000, 0xb87049f2 )

	ROM_REGION( 0x80000, REGION_GFX1, 0 )
	ROM_LOAD( "2k3_s1.rom" , 0x000000, 0x80000, 0x3b658d26 )  /* transparency layer */
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )

	ROM_REGION( 0x080000, REGION_USER4, 0 )
	/* The M1 ROM is encrypted, we load it here for reference and replace it with a decrypted version */
	ROM_LOAD( "271-m1c.bin", 0x00000, 0x080000, 0xf5515629 )
	/* Decrypted */
#ifndef MAME_DEBUG
	NEO_BIOS_SOUND_512K( "271-m1_decrypted.bin", 0x0e86af8f )
#else
	NEO_BIOS_SOUND_512K( "271-m1d.bin", 0x0e86af8f )
#endif

	ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	/* Encrypted */
	ROM_LOAD( "271-v1c.bin", 0x000000, 0x800000, 0xffa3f8c7 )
	ROM_LOAD( "271-v2c.bin", 0x800000, 0x800000, 0x5382c7d1 )

	NO_DELTAT_REGION

	ROM_REGION( 0x4000000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "2k3_c1.rom", 0x0000000, 0x800000, 0xe42fc226 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k3_c2.rom", 0x0000001, 0x800000, 0x1b5e3b58 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k3_c3.rom", 0x1000000, 0x800000, 0xd334fdd9 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k3_c4.rom", 0x1000001, 0x800000, 0x0d457699 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k3_c5.rom", 0x2000000, 0x800000, 0x8a91aae4 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k3_c6.rom", 0x2000001, 0x800000, 0x9f8674b8 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "2k3_c7.rom", 0x3000000, 0x800000, 0x9965d632 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "2k3_c8.rom", 0x3000001, 0x800000, 0x989bc5c9 ) /* Plane 2,3 */
ROM_END

ROM_START( lasthope ) // These roms were extracted from the Jap ISO game, I dont know if all of these are correct or not.
	ROM_REGION( 0x100000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "lh-p1.bin", 0x000000, 0x100000, 0xcd108282 )

	NEO_SFIX_128K( "lh-s1.bin", 0x298495d6 )

	NEO_BIOS_SOUND_512K( "lh-m1.bin", 0xbc65aee1 )

//	ROM_REGION( 0x100000, REGION_SOUND1, ROMREGION_SOUNDONLY )
//	ROM_LOAD( "lh-v1.bin", 0x000000, 0x000000, 0 )
	ROM_REGION( 0x800000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "089-v1.bin", 0x000000, 0x400000, 0xb458ded2 )
	ROM_LOAD( "089-v2.bin", 0x400000, 0x400000, 0x9d2db551 )

	NO_DELTAT_REGION

	ROM_REGION( 0x400000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "lh-c1.bin", 0x000000, 0x200000, 0xc5741cc8 )
	ROM_LOAD16_BYTE( "lh-c2.bin", 0x000001, 0x200000, 0xa93eba1f )
ROM_END

ROM_START( kof97ps )
	ROM_REGION( 0x500000, REGION_CPU1, 0 )
	ROM_LOAD16_WORD_SWAP( "ps_p1.rom", 0x000000, 0x100000, 0xFC25FEEC )
	ROM_LOAD16_WORD_SWAP( "ps_p2.rom", 0x100000, 0x400000, 0x90723643 )

	NEO_SFIX_128K( "232-s1.bin", 0x8514ecf5 )

	NEO_BIOS_SOUND_128K( "232-m1.bin", 0x45348747 )

	ROM_REGION( 0xc00000, REGION_SOUND1, ROMREGION_SOUNDONLY )
	ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, 0x22a2b5b5 )
	ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, 0x2304e744 )
	ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, 0x759eb954 )

	NO_DELTAT_REGION

	ROM_REGION( 0x2800000, REGION_GFX3, 0 )
	ROM_LOAD16_BYTE( "ps_c1.rom", 0x0000000, 0x800000, 0x748ADE86 )
	ROM_LOAD16_BYTE( "ps_c3.rom", 0x0000001, 0x800000, 0x3270FA6E )
	ROM_LOAD16_BYTE( "232-c3.bin", 0x1000000, 0x800000, 0x581d6618 ) /* Plane 0,1 */
	ROM_LOAD16_BYTE( "232-c4.bin", 0x1000001, 0x800000, 0x49bb1e68 ) /* Plane 2,3 */
	ROM_LOAD16_BYTE( "ps_c5.rom", 0x2000000, 0x400000, 0x47711A8C )
	ROM_LOAD16_BYTE( "ps_c6.rom", 0x2000001, 0x400000, 0x6703A48A )
ROM_END

ROM_START( kf2k3ps2 ) /* Un-Encrypted GFX and Program ROMs*/
     ROM_REGION( 0x800000, REGION_CPU1, 0 )
     ROM_LOAD16_WORD_SWAP( "2k3ps2-p1.bin", 0x000000, 0x800000, 0x8E66056D )

     NEO_SFIX_128K( "2k3ps2-s1.bin", 0xC2E48E98 )

     NEO_BIOS_SOUND_512K( "271-m1cd.bin", 0x4374CB5C )

     ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
     ROM_LOAD( "271-v1cd.bin", 0x000000, 0x800000, 0xdd6c6a85 )
     ROM_LOAD( "271-v2cd.bin", 0x800000, 0x800000, 0x0e84f8c1 )
     NO_DELTAT_REGION

     ROM_REGION( 0x4000000, REGION_GFX3, 0 )/* Not Encrypted */
     ROM_LOAD16_BYTE( "2k3-c1.bin", 0x0000000, 0x800000, 0xE42FC226 ) /* Plane 0,1 */
     ROM_LOAD16_BYTE( "2k3-c2.bin", 0x0000001, 0x800000, 0x1B5E3B58 ) /* Plane 2,3 */
     ROM_LOAD16_BYTE( "2k3-c3.bin", 0x1000000, 0x800000, 0xD334FDD9 ) /* Plane 0,1 */
     ROM_LOAD16_BYTE( "2k3-c4.bin", 0x1000001, 0x800000, 0x0D457699 ) /* Plane 2,3 */
     ROM_LOAD16_BYTE( "2k3-c5.bin", 0x2000000, 0x800000, 0x8A91AAE4 ) /* Plane 0,1 */
     ROM_LOAD16_BYTE( "2k3-c6.bin", 0x2000001, 0x800000, 0x9F8674B8 ) /* Plane 2,3 */
     ROM_LOAD16_BYTE( "2k3ps2-c7.bin", 0x3000000, 0x800000, 0x0FF993D7 ) /* Plane 0,1 */
     ROM_LOAD16_BYTE( "2k3ps2-c8.bin", 0x3000001, 0x800000, 0x22E36002 ) /* Plane 2,3 */
ROM_END

#endif /* EXTRA_GAMES */

/******************************************************************************/
/* dummy entry for the dummy bios driver */

ROM_START( neogeo )
	ROM_REGION16_BE( 0x020000, REGION_USER1, 0 )
	/* put them all here for reference, this isn't actually used for loading */
	ROM_LOAD16_WORD_SWAP( "sp-s2.sp1",    0x00000, 0x020000, 0x9036d879 )
	ROM_LOAD16_WORD_SWAP( "sp-s.sp1",     0x00000, 0x020000, 0xc7f2fa45 )
	ROM_LOAD16_WORD_SWAP( "usa_2slt.bin", 0x00000, 0x020000, 0xe72943de )
	ROM_LOAD16_WORD_SWAP( "sp-e.sp1",     0x00000, 0x020000, 0x2723a5b5 )
	ROM_LOAD16_WORD_SWAP( "asia-s3.rom",  0x00000, 0x020000, 0x91b64be3 )
	ROM_LOAD16_WORD_SWAP( "vs-bios.rom",  0x00000, 0x020000, 0xf0e8f27d )
	ROM_LOAD16_WORD_SWAP( "sp-j2.rom",    0x00000, 0x020000, 0xacede59c )
	ROM_LOAD16_WORD_SWAP( "sp1.jipan.1024",0x00000,0x020000, 0x9fb0abe4 )
	ROM_LOAD16_WORD_SWAP( "uni-bios.10",  0x00000, 0x020000, 0x0ce453a0 )
	ROM_LOAD16_WORD_SWAP( "uni-bios.11",  0x00000, 0x020000, 0x5dda0d84 )
	ROM_LOAD16_WORD_SWAP( "uni-bios.12",  0x00000, 0x020000, 0x4fa698e9 )
	ROM_LOAD16_WORD_SWAP( "uni-bios.13",  0x00000, 0x020000, 0xb24b44a0 )
	ROM_LOAD16_WORD_SWAP( "uni-bios.20",  0x00000, 0x020000, 0x0c12c2ad )
	ROM_LOAD16_WORD_SWAP( "uni-bios.21",  0x00000, 0x020000, 0x8dabf76b )
	ROM_LOAD16_WORD_SWAP( "uni-bios.22",  0x00000, 0x020000, 0x2d50996a )
	ROM_LOAD16_WORD_SWAP( "neodebug.rom", 0x00000, 0x020000, 0x698ebb7d )
	ROM_LOAD16_WORD_SWAP( "aes-bios.bin", 0x00000, 0x020000, 0xd27a71f1 )
	ROM_LOAD16_WORD_SWAP( "neo-po.bin",   0x00000, 0x020000, 0x16d0c132 )

	ROM_REGION( 0x50000, REGION_CPU2, 0 )
	ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, 0x97cf998b )

	ROM_REGION( 0x10000, REGION_GFX4, 0 )
	ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, 0xe09e253c )  /* Y zoom control */

	ROM_REGION( 0x20000, REGION_GFX1, 0 )
	ROM_FILL(                 0x000000, 0x20000, 0 )
	ROM_REGION( 0x20000, REGION_GFX2, 0 )
	ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, 0x354029fc )
ROM_END

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

DRIVER_INIT( gfxdec52 )
{
	neogeo_fix_bank_type = 0;
	neogeo_sfix_decrypt();

	init_neogeo();
}

DRIVER_INIT( gfxdec42 )
{
	neogeo_fix_bank_type = 1;
	neogeo_sfix_decrypt();

	init_neogeo();
}

DRIVER_INIT( gfxdec50 )
{
	neogeo_fix_bank_type = 2;
	neogeo_sfix_decrypt();

	init_neogeo();
}

DRIVER_INIT( fatfury2 )
{
	init_neogeo();
	fatfury2_install_protection();
}

DRIVER_INIT( mslugx )
{
	init_neogeo();
	mslugx_install_protection();
}

DRIVER_INIT( kof99 )
{
	kof99_decrypt_68k();
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0x00);
	init_neogeo();
	kof99_install_protection();
}

DRIVER_INIT( garou )
{
	garou_decrypt_68k();
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0x06);
	init_neogeo();
	garou_install_protection();
}

DRIVER_INIT( garouo )
{
	garouo_decrypt_68k();
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0x06);
	init_neogeo();
	garouo_install_protection();
}

DRIVER_INIT( garoubl )
{
	neogeo_bootleg_sx_decrypt(2);
	neogeo_bootleg_cx_decrypt();
	init_neogeo();
}

DRIVER_INIT( mslug3 )
{
	mslug3_decrypt_68k();
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0xad);
	init_neogeo();
	mslug3_install_protection();
}

DRIVER_INIT( kof2000 )
{
	kof2000_decrypt_68k();
	neogeo_fix_bank_type = 2;
	kof2000_neogeo_gfx_decrypt(0x00);
	init_neogeo();
	kof2000_install_protection();
}

DRIVER_INIT( kof2001 )
{
	neogeo_fix_bank_type = 0;
	kof2000_neogeo_gfx_decrypt(0x1e);
	init_neogeo();
}

DRIVER_INIT( mslug4 )
{
	neogeo_fix_bank_type = 1; /* USA violent content screen is wrong -- not a bug, confirmed on real hardware! */
	kof2000_neogeo_gfx_decrypt(0x31);
	init_neogeo();
	neo_pcm2_snk_1999(8);
}

DRIVER_INIT( ganryu )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0x07);
	init_neogeo();
}

DRIVER_INIT( s1945p )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0x05);
	init_neogeo();
}

DRIVER_INIT( preisle2 )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0x9f);
	init_neogeo();
}


DRIVER_INIT( kof99n )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0x00);
	init_neogeo();
}

DRIVER_INIT( mslug3n )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0xad);
	init_neogeo();
}

DRIVER_INIT( kof2000n )
{
	neogeo_fix_bank_type = 2;
	kof2000_neogeo_gfx_decrypt(0x00);
	init_neogeo();
}

DRIVER_INIT( bangbead )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0xf8);
	init_neogeo();
}

DRIVER_INIT( nitd )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0xff);
	init_neogeo();
}

DRIVER_INIT( zupapa )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0xbd);
	init_neogeo();
}

DRIVER_INIT( sengoku3 )
{
	neogeo_fix_bank_type = 1;
	kof99_neogeo_gfx_decrypt(0xfe);
	init_neogeo();
}

DRIVER_INIT ( kof98 )
{
	kof98_decrypt_68k();
	init_neogeo();
	install_kof98_protection();
}

/* The Mahjong games can use a Mahjong panel (although some sources indicate it may have only
   been available for the home system */
DRIVER_INIT( mjneogeo )
{
	install_mem_read16_handler(0, 0x300000, 0x300001, mjneogeo_r);
	install_mem_write16_handler(0, 0x380000, 0x380001, mjneogeo_w);
	init_neogeo();
}

static READ16_HANDLER( popbounc_sfix_16_r )
{
	if (activecpu_get_pc()==0x6b10)
		return 0;
	return neogeo_ram16[0x4fbc/2];
}

/* Pop and Bounce and use a custom Spinner for Controls */
DRIVER_INIT( popbounc )
{
	install_mem_read16_handler(0, 0x300000, 0x300001, popbounc1_16_r);
	install_mem_read16_handler(0, 0x340000, 0x340001, popbounc2_16_r);
	init_neogeo();
}

DRIVER_INIT( rotd )
{
	neo_pcm2_snk_1999(16);
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0x3f);
	init_neogeo();
}


DRIVER_INIT( kof2002 )
{
	kof2002_decrypt_68k();
	neo_pcm2_swap(0);
	neogeo_fix_bank_type = 0;
	kof2000_neogeo_gfx_decrypt(0xec);
	init_neogeo();
}

DRIVER_INIT( kf2k2pls )
{
	kof2002_decrypt_68k();
	neo_pcm2_swap(0);
	neogeo_fix_bank_type = 0;
	cmc50_neogeo_gfx_decrypt(0xec);
	init_neogeo();
}

DRIVER_INIT( kf2k2mp )
{
	kf2k2mp_decrypt();
	neo_pcm2_swap(0);
	neogeo_bootleg_sx_decrypt(2);
	neogeo_fix_bank_type = 0;
	cmc50_neogeo_gfx_decrypt(0xec);
	init_neogeo();
}

DRIVER_INIT( kof2km2 )
{
	kof2km2_px_decrypt();
	neo_pcm2_swap(0);
	neogeo_bootleg_sx_decrypt(1);
	neogeo_fix_bank_type = 0;
	cmc50_neogeo_gfx_decrypt(0xec);
	init_neogeo();
}

DRIVER_INIT( matrim )
{
	matrim_decrypt_68k();
	neo_pcm2_swap(1);
	neogeo_fix_bank_type = 2;
	kof2000_neogeo_gfx_decrypt(0x6a);
	init_neogeo();
}

DRIVER_INIT( pnyaa )
{
	neo_pcm2_snk_1999(4);
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0x2e);
	init_neogeo();
}

DRIVER_INIT( mslug5 ) /* By HalRIN */
{
	mslug5_decrypt_68k();
	neo_pcm2_swap(2);
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0x19);
	init_neogeo();
	install_pvc_protection();
}

DRIVER_INIT( ms5pcb )
{
	mslug5_decrypt_68k();
	svcpcb_gfx_decrypt();
	kof2000_neogeo_gfx_decrypt(0x19);
	neogeo_fix_bank_type = 2;
	svcpcb_s1data_decrypt();
	neo_pcm2_swap(2);
	init_neogeo();
	install_pvc_protection();
}

DRIVER_INIT( ms5plus )
{
	cmc50_neogeo_gfx_decrypt(0x19);
	neo_pcm2_swap(2);
//  decrypt_ms5plus_s1();
    neogeo_bootleg_sx_decrypt(1);
	neogeo_fix_bank_type = 1;
	init_neogeo();
	install_ms5plus_protection();
}

DRIVER_INIT( svcpcb )
{
	svcchaos_px_decrypt();
	svcpcb_gfx_decrypt();
	kof2000_neogeo_gfx_decrypt(0x57);
	svcpcb_s1data_decrypt();
	neo_pcm2_swap(3);
	neogeo_fix_bank_type = 2;
	init_neogeo();
	install_pvc_protection();
}

DRIVER_INIT( svchaosa ) /* By HalRIN */
{
	svcchaos_px_decrypt();
	neo_pcm2_swap(3);
	neogeo_fix_bank_type = 2;
	kof2000_neogeo_gfx_decrypt(0x57);
	init_neogeo();
	install_pvc_protection();
}


DRIVER_INIT( svcboot )
{
	svcboot_px_decrypt();
	svcboot_cx_decrypt();
	init_neogeo();
	install_pvc_protection();
}

DRIVER_INIT( svcplus )
{
	svcplus_px_decrypt();
	svcboot_cx_decrypt();
//  svcplus_sx_decrypt();
	neogeo_bootleg_sx_decrypt(1);
	svcplus_px_hack();
	init_neogeo();
}

DRIVER_INIT( svcplusa )
{
	svcplusa_px_decrypt();
	svcboot_cx_decrypt();
	svcplus_px_hack();
	init_neogeo();
}

DRIVER_INIT( svcsplus )
{
	svcsplus_px_decrypt();
//  svcsplus_sx_decrypt();
	neogeo_bootleg_sx_decrypt(2);
	svcboot_cx_decrypt();
	svcsplus_px_hack();
	init_neogeo();
	install_pvc_protection();
}


DRIVER_INIT( samsho5 )
{
	samsho5_decrypt_68k();
	neo_pcm2_swap(4);
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0x0f);
	init_neogeo();
}

DRIVER_INIT( samsho5b )
{
	neo_pcm2_swap(4);
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0x0f);
	samsh5bl_px_decrypt();
	init_neogeo();
}

DRIVER_INIT( kf2k3pcb ) /* Jamama, Single Board */
{
	kf2k3pcb_decrypt_68k();
	kf2k3pcb_gfx_decrypt();
	kof2000_neogeo_gfx_decrypt(0x9d);
	kf2k3pcb_decrypt_s1data();
	kof2003biosdecode();
	/* rom[i] = BITSWAP8(rom[i], 5, 6, 1, 4, 3, 0, 7, 2) -- extra encrypted m1 swap? not confirmed */
	install_pvc_protection();
	install_mem_read16_handler(0, 0xc00000, 0xc7ffff, MRA16_BANK3);  // 512k bios

	neo_pcm2_swap(5);
	neogeo_fix_bank_type = 2;
	init_neogeo();
}


DRIVER_INIT( kof2003 )
{
	kof2003_decrypt_68k();
	neo_pcm2_swap(5);
	neogeo_fix_bank_type = 2;
	kof2000_neogeo_gfx_decrypt(0x9d);
	init_neogeo();
	install_pvc_protection();
}

DRIVER_INIT( kof2003b )
{
//  kof2003b_sx_decrypt();
	neogeo_bootleg_sx_decrypt(1);
    init_neogeo();
	kof2003b_install_protection();
}

DRIVER_INIT( kof2k3pl )
{
	kof2k3pl_px_decrypt();
	//decrypt_ms5plus_s1();
    neogeo_bootleg_sx_decrypt(1);
	init_neogeo();
	kf2k3pl_install_protection();
}


DRIVER_INIT( kof2k3up )
{
	kof2003b_px_decrypt();
    kof2k3up_px_decrypt();
//  kof2k3up_sx_decrypt();
	neogeo_bootleg_sx_decrypt(2);
    init_neogeo();
	kof2k3up_install_protection();
}

DRIVER_INIT( samsh5sp )
{
	samsh5p_decrypt_68k();
	neo_pcm2_swap(6);
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0x0d);
	init_neogeo();
}


static UINT16 *brza_sram;

READ16_HANDLER( vliner_2c0000_r )
{
	return 0x0003;
}

READ16_HANDLER( vliner_coins_r )
{
	data16_t res;
	res = readinputport(4);

	return res;
}

READ16_HANDLER( vliner_timer16_r )
{
	data16_t res;
	int coinflip = pd4990a_testbit_r(0);
	int databit = pd4990a_databit_r(0);

	res = 0x3f ^ (coinflip << 6) ^ (databit << 7);

	res |= result_code << 8;
	if (pending_command) res &= 0x7fff;

	return res;
}

READ16_HANDLER( brza_sram16_2_r )
{
	return brza_sram[offset];
}

WRITE16_HANDLER( brza_sram16_2_w )
{
	COMBINE_DATA(&brza_sram[offset]);
}

DRIVER_INIT( jockeygp )
{
	brza_sram = auto_malloc(0x2000);
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0xac);
	install_mem_read16_handler(0, 0x200000, 0x201FFF, brza_sram16_2_r);
	install_mem_write16_handler(0, 0x200000, 0x201FFF, brza_sram16_2_w);
//  install_mem_read16_handler( 0, 0x320000, 0x320001, vliner_timer16_r );
//  install_mem_read16_handler( 0, 0x280000, 0x280001, vliner_coins_r );
//  install_mem_read16_handler( 0, 0x2c0000, 0x2c0001, vliner_2c0000_r );

	init_neogeo();
}

DRIVER_INIT( vliner )
{
	brza_sram = auto_malloc(0x2000);

	install_mem_read16_handler(0, 0x200000, 0x201FFF, brza_sram16_2_r);
	install_mem_write16_handler(0, 0x200000, 0x201FFF, brza_sram16_2_w);
	install_mem_read16_handler( 0, 0x320000, 0x320001, vliner_timer16_r );
	install_mem_read16_handler( 0, 0x280000, 0x280001, vliner_coins_r );
	install_mem_read16_handler( 0, 0x2c0000, 0x2c0001, vliner_2c0000_r );

	init_neogeo();
}

/* bootleg related INITs */

DRIVER_INIT( kog )
{
	kog_px_decrypt();
	neogeo_bootleg_sx_decrypt(1);
	neogeo_bootleg_cx_decrypt();
	init_neogeo();
}


DRIVER_INIT( kof10th )
{
	decrypt_kof10th();
	init_neogeo();
	install_kof10th_protection();
}

DRIVER_INIT( kf10thep )
{
	decrypt_kf10thep();
	init_neogeo();
}


DRIVER_INIT( kf2k5uni )
{
	decrypt_kf2k5uni();
	init_neogeo();
}

DRIVER_INIT( cthd2003 )
{
	decrypt_cthd2003();
 	init_neogeo();
	patch_cthd2003();
}

DRIVER_INIT ( ct2k3sp )
{
	decrypt_ct2k3sp();
	init_neogeo();
	patch_cthd2003();
}

DRIVER_INIT( kof2k4se )
{
	decrypt_kof2k4se_68k();
	init_neogeo();
}

DRIVER_INIT( lans2004 )
{
	lans2004_decrypt_68k(); /* decrypt 68k + apply protection patches */
	lans2004_vx_decrypt();
	neogeo_bootleg_sx_decrypt(1);
	neogeo_bootleg_cx_decrypt();
	init_neogeo();
}

DRIVER_INIT( mslug3b6 )
{
	neogeo_bootleg_sx_decrypt(2);
	cmc42_neogeo_gfx_decrypt(0xad);
	init_neogeo();
}

/******************************************************************************/
#ifdef EXTRA_GAMES

DRIVER_INIT( kof96ep )
{
	kof96ep_px_decrypt();
	init_neogeo();
}

DRIVER_INIT( kof99d )
{
	kof99_decrypt_68k();
	init_gfxdec42();
	kof99_install_protection();
}

DRIVER_INIT( garoud )
{
	garou_decrypt_68k();
	neogeo_fix_bank_type = 1;
	neogeo_sfix_decrypt();
	init_neogeo();
	garou_install_protection();
}

DRIVER_INIT( mslug3d )
{
	mslug3_decrypt_68k();
	init_gfxdec42();
	mslug3_install_protection();
}

DRIVER_INIT( kof2000d )
{
	kof2000_decrypt_68k();
	init_gfxdec50();
	kof2000_install_protection();
}

DRIVER_INIT( kf2k1pls )
{
	cmc50_neogeo_gfx_decrypt(0x1e);
	init_neogeo();
}

DRIVER_INIT( kf2k1pa )
{
	neogeo_fix_bank_type = 1;
	kf2k1pa_sx_decrypt();
	cmc50_neogeo_gfx_decrypt(0x1e);
	init_neogeo();
}

DRIVER_INIT( rotdd )
{
	neo_pcm2_snk_1999(16);
	neogeo_fix_bank_type = 1;
	neogeo_sfix_decrypt();
	init_neogeo();
}

DRIVER_INIT( kof2002d )
{
	kof2002_decrypt_68k();
	neogeo_fix_bank_type = 0;
	neogeo_sfix_decrypt();
	neo_pcm2_swap(0);
	init_neogeo();
}

DRIVER_INIT( kof2002b )
{
	kof2002_decrypt_68k();
	neo_pcm2_swap(0);
	kof2002b_gfx_decrypt(memory_region(REGION_GFX3),0x4000000);
	kof2002b_gfx_decrypt(memory_region(REGION_GFX1),0x20000);
	init_neogeo();
}

DRIVER_INIT( mslug4d )
{
	neo_pcm2_snk_1999(8);
	init_neogeo();
}

DRIVER_INIT( matrimd )
{
	kof2002_decrypt_68k();
	neogeo_sfix_decrypt();
	neogeo_fix_bank_type = 2;
	neo_pcm2_swap(1);
	init_neogeo();
}

DRIVER_INIT( cthd2k3a )
{
	cthd2k3a_px_decrypt();
	decrypt_cthd2003();
 	init_neogeo();
}

DRIVER_INIT( matrimbl )
{
	decrypt_matrimbl();
	init_neogeo();
}

DRIVER_INIT( kf2k2plc )
{
	kof2002_decrypt_68k();
	neogeo_fix_bank_type = 0;
	neogeo_bootleg_sx_decrypt(2);
	cmc50_neogeo_gfx_decrypt(0xec);
	neo_pcm2_swap(0);
	init_neogeo();
}


DRIVER_INIT( kf2k4pls )
{
	unsigned char *src = memory_region(REGION_CPU1);
	unsigned char *dst = (unsigned char*)malloc(0x200000);

	if (dst)
	{
		memcpy(dst,src,0x100000);
		memcpy(dst+0x100000,src+0x500000,0x100000);
		memcpy(src+0x000000,dst+0x1A0000,0x020000);
		memcpy(src+0x020000,dst+0x080000,0x020000);
		memcpy(src+0x040000,dst+0x140000,0x020000);
		memcpy(src+0x060000,dst+0x000000,0x020000);
		memcpy(src+0x080000,dst+0x180000,0x020000);
		memcpy(src+0x0A0000,dst+0x0A0000,0x020000);
		memcpy(src+0x0C0000,dst+0x100000,0x020000);
		memcpy(src+0x0E0000,dst+0x040000,0x020000);
		free(dst);
	}
	neogeo_bootleg_sx_decrypt(1);
	init_neogeo();
}

/* new decrypted */
DRIVER_INIT( kof2003d ) // decrypted C
{
	neo_pcm2_swap(5);
	init_gfxdec50();
}

DRIVER_INIT( kf2k3pcd ) // decrypted C
{
	kf2k3pcb_decrypt_68k();
	kf2k3pcb_decrypt_s1data();
//	kof2003biosdecode();
	/* rom[i] = BITSWAP8(rom[i], 5, 6, 1, 4, 3, 0, 7, 2) -- extra encrypted m1 swap? not confirmed */
	install_pvc_protection();
	install_mem_read16_handler(0, 0xc00000, 0xc7ffff, MRA16_BANK3);  // 512k bios

	neo_pcm2_swap(5);
	neogeo_fix_bank_type = 2;
	init_neogeo();
}

DRIVER_INIT( mslug5d )
{
	neo_pcm2_swap(2);
	init_gfxdec42();
}

DRIVER_INIT( kof10thd )
{
	neo_pcm2_swap(0);
	init_neogeo();
}

DRIVER_INIT( svcd )
{
	svcchaos_px_decrypt();
	neo_pcm2_swap(3);
	init_gfxdec50();
	install_pvc_protection();
}

DRIVER_INIT( kof97pla )
{
	UINT8 *mem8 = memory_region(REGION_CPU1);
	mem8[0x1394A] = 0x6C;
	mem8[0x1394B] = 0xD1;
	mem8[0x1394C] = 0x3A;
	mem8[0x1394D] = 0x1;
	mem8[0x1394E] = 0x6C;
	mem8[0x1394F] = 0x91;
	neogeo_bootleg_sx_decrypt(1);
	init_neogeo();
}

DRIVER_INIT( pnyaad ) // decrypted C
{
	neo_pcm2_snk_1999(4);

	neogeo_fix_bank_type = 1;
	neogeo_sfix_decrypt();
}

DRIVER_INIT( samsho5d )
{
	samsho5_decrypt_68k();
	neo_pcm2_swap(4);
	init_gfxdec42();
}

DRIVER_INIT( samsh5sd )
{
	samsh5p_decrypt_68k();
	neo_pcm2_swap(6);
	init_gfxdec42();
}

//============================================================
// Idol Mahjong - final romance 2 (CD to MVS Conversion)
//============================================================
static WRITE16_HANDLER( fr2ch_cx_hack_w )
{
	int i, n;
	UINT8 *src = memory_region( REGION_GFX3 );
	if (offset == 1) {
		for (i = 0; i < 0x200000; i++) {
			n = src[0x200000 + i];
			src[0x200000 + i] = src[0x400000 + i];
			src[0x400000 + i] = n;
		}
	}
}

void fr2ch_cx_hack( void )
{
	install_mem_write16_handler(0, 0x200000, 0x2fffff, fr2ch_cx_hack_w);
}

void fr2ch_patches( void )
{
	UINT16 *src = (UINT16*)memory_region( REGION_CPU1 );
	UINT8 *rom = memory_region( REGION_CPU1 );
	UINT8 *dst = memory_region( REGION_GFX1 );

	int i;
	UINT8 data[16] = {
		0x49, 0x46, 0x41, 0x4E, 0x20, 0x4C, 0x4F, 0x52,
		0x41, 0x4D, 0x43, 0x4E, 0x20, 0x45, 0x20, 0x32
	};

	// change jsr to C004DA
	src[0x01AF8 >> 1] = 0x04DA; // C00552 (Not used?)
	src[0x01BF6 >> 1] = 0x04DA; // C0056A (fixes crash)
	src[0x01ED8 >> 1] = 0x04DA; // C00570 (Not used?)
	src[0x1C384 >> 1] = 0x04DA; // C00552 (fixes crash) 

	// 0x001C06 - this routine can cause a loop/freeze
	src[0x01C06 >> 1] = 0x4E75;

	// can cause bugs
	// Move text for credit + coin info (Thanks to Kanyero)
	memcpy(dst, dst + 0x600, 0x140);

	// Patch out neogeo intro (Moving S causes garbage)
	src[0x00112 >> 1] = 0x0180;
	src[0x00114 >> 1] = 0x0180;

	// optional
	// Hack in the proper identification (see setup menu [F2])
	for (i = 0; i < 0x10; i++)
	{
		rom[0x3A6 + i] = rom[0x61E + i] = rom[0x896 + i] = data[i];
	}
	for (i = 0; i < 0x20; i += 4)
	{
		src[(0x40 + i + 2) >> 1] = 0x0426;
	}

	// Album Fix
	src[0x1C382 >> 1] = 0x0008; // C00552
	src[0x1C384 >> 1] = 0x0000;
	src[0x80000 >> 1] = 0x33FC;
	src[0x80002 >> 1] = 0x0001;
	src[0x80004 >> 1] = 0x0020;
	src[0x80006 >> 1] = 0x0002;
	src[0x80008 >> 1] = 0x4E75;
}

DRIVER_INIT( fr2ch )
{
	fr2ch_patches();
	fr2ch_cx_hack();
	init_neogeo();
}

DRIVER_INIT( jckeygpd )
{
	brza_sram = auto_malloc(0x2000);
	install_mem_read16_handler(0, 0x200000, 0x201FFF, brza_sram16_2_r);
	install_mem_write16_handler(0, 0x200000, 0x201FFF, brza_sram16_2_w);
//  install_mem_read16_handler( 0, 0x320000, 0x320001, vliner_timer16_r );
//  install_mem_read16_handler( 0, 0x280000, 0x280001, vliner_coins_r );
//  install_mem_read16_handler( 0, 0x2c0000, 0x2c0001, vliner_2c0000_r );

	init_gfxdec42();
}

DRIVER_INIT( mslug5b )
{
	neogeo_fix_bank_type = 1;
	kof2000_neogeo_gfx_decrypt(0x19);
	neo_pcm2_swap(2);
	init_neogeo();
	install_pvc_protection();
}

/* CANAME, etc */
DRIVER_INIT( garouod )
{
	garouo_decrypt_68k();
	neogeo_fix_bank_type = 1;
	neogeo_sfix_decrypt();
	init_neogeo();
	garouo_install_protection();
}

DRIVER_INIT( svct )
{
	transparency_s1();
	neo_pcm2_swap(3);
	neogeo_fix_bank_type = 2;

	init_neogeo();
}

DRIVER_INIT( kof2k3t )
{
	transparency_s1();
	neo_pcm2_swap(5);
	neogeo_fix_bank_type = 2;

	init_neogeo();
}

#endif /* EXTRA_GAMES */

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

static UINT32 cpu1_second_bankaddress;

void neogeo_set_cpu1_second_bank(UINT32 bankaddress)
{
	data8_t *RAM = memory_region(REGION_CPU1);

	cpu1_second_bankaddress = bankaddress;
	cpu_setbank(4,&RAM[bankaddress]);
}

void neogeo_init_cpu2_setbank(void)
{
	UINT8 *mem08 = memory_region(REGION_CPU2);

	cpu_setbank(5,&mem08[bank[0]]);
	cpu_setbank(6,&mem08[bank[1]]);
	cpu_setbank(7,&mem08[bank[2]]);
	cpu_setbank(8,&mem08[bank[3]]);
}

static void neogeo_init_cpu_banks(void)
{
	neogeo_set_cpu1_second_bank(cpu1_second_bankaddress);
	neogeo_init_cpu2_setbank();
}

void neogeo_register_main_savestate(void)
{
	state_save_register_UINT32("neogeo", 0, "neogeo_frame_counter",       &neogeo_frame_counter,       1);
	state_save_register_UINT32("neogeo", 0, "neogeo_frame_counter_speed", &neogeo_frame_counter_speed, 1);
	state_save_register_int   ("neogeo", 0, "current_rastercounter",      &current_rastercounter);
	state_save_register_int   ("neogeo", 0, "current_rasterline",         &current_rasterline);
	state_save_register_int   ("neogeo", 0, "scanline_read",              &scanline_read);
	state_save_register_int   ("neogeo", 0, "irq2start",                  &irq2start);
	state_save_register_int   ("neogeo", 0, "irq2control",                &irq2control);
	state_save_register_UINT32("neogeo", 0, "irq2pos_value",              &irq2pos_value,              1);
	state_save_register_int   ("neogeo", 0, "vblank_int",                 &vblank_int);
	state_save_register_int   ("neogeo", 0, "scanline_int",               &scanline_int);
	state_save_register_int   ("neogeo", 0, "fc",                         &fc);
	state_save_register_int   ("neogeo", 0, "neogeo_raster_enable",       &neogeo_raster_enable);
	state_save_register_int   ("neogeo", 0, "pending_command",            &pending_command);
	state_save_register_int   ("neogeo", 0, "result_code",                &result_code);
	state_save_register_int   ("neogeo", 0, "ts",                         &ts);
	state_save_register_UINT32("neogeo", 0, "bank",                       bank,                        4);
	state_save_register_int   ("neogeo", 0, "neogeo_rng",                 &neogeo_rng);
	state_save_register_UINT32("neogeo", 0, "cpu1_second_bankaddress",    &cpu1_second_bankaddress,    1);

	state_save_register_func_postload(neogeo_init_cpu_banks);
}

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

/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the NEOGEO_BIOS_NAME file, so that we do not have to include */
/* it in every zip file */
GAMEX( 1990, neogeo, 0, neogeo, neogeo, neogeo, ROT0, "SNK", "Neo-Geo", NOT_A_DRIVER )

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

/*	  YEAR	NAME	  PARENT	MACHINE INPUT	 INIT	   MONITOR  */

/* SNK */
GAME( 1990, nam1975,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "NAM-1975" )
GAME( 1990, bstars,   neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Baseball Stars Professional" )
GAME( 1990, tpgolf,   neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK", "Top Player's Golf" )
GAME( 1990, mahretsu, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Mahjong Kyoretsuden" )
GAME( 1990, ridhero,  neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK", "Riding Hero (set 1)" )
GAME( 1990, ridheroh, ridhero,  raster, neogeo,  neogeo,   ROT0, "SNK", "Riding Hero (set 2)" )
GAME( 1991, alpham2,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian" )
GAME( 1990, cyberlip, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Cyber-Lip" )
GAME( 1990, superspy, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "The Super Spy" )
GAME( 1992, mutnat,   neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Mutation Nation" )
GAME( 1991, kotm,     neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "King of the Monsters (set 1)" )
GAME( 1991, kotmh,    kotm,     neogeo, neogeo,  neogeo,   ROT0, "SNK", "King of the Monsters (set 2)" )
GAME( 1991, sengoku,  neogeo,   ras320, neogeo,  neogeo,   ROT0, "SNK", "Sengoku / Sengoku Denshou (set 1)" )
GAME( 1991, sengokh,  sengoku,  ras320, neogeo,  neogeo,   ROT0, "SNK", "Sengoku / Sengoku Denshou (set 2)" )
GAME( 1991, burningf, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Burning Fight (set 1)" )
GAME( 1991, burningh, burningf, neogeo, neogeo,  neogeo,   ROT0, "SNK", "Burning Fight (set 2)" )
GAME( 1990, lbowling, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "League Bowling" )
GAME( 1991, gpilots,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Ghost Pilots" )
GAME( 1990, joyjoy,   neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Puzzled / Joy Joy Kid" )
GAME( 1991, quizdais, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down" )
GAME( 1992, lresort,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Last Resort" )
GAME( 1991, eightman, neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK / Pallas", "Eight Man" )
GAME( 1991, legendos, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Legend of Success Joe / Ashitano Joe Densetsu" )
GAME( 1991, 2020bb,   neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 1)" )
GAME( 1991, 2020bba,  2020bb,   neogeo, neogeo,  neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 2)" )
GAME( 1991, 2020bbh,  2020bb,   neogeo, neogeo,  neogeo,   ROT0, "SNK / Pallas", "2020 Super Baseball (set 3)" )
GAME( 1991, socbrawl, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Soccer Brawl" )
GAME( 1991, fatfury1, neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Fatal Fury - King of Fighters / Garou Densetsu - shukumei no tatakai" )
GAME( 1991, roboarmy, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Robo Army (set 1)" )
GAME( 1991, roboarma, roboarmy, neogeo, neogeo,  neogeo,   ROT0, "SNK", "Robo Army (set 2)" )
GAME( 1992, fbfrenzy, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Football Frenzy" )
GAME( 1992, kotm2,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "King of the Monsters 2 - The Next Thing" )
GAME( 1993, sengoku2, neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK", "Sengoku 2 / Sengoku Denshou 2")
GAME( 1992, bstars2,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Baseball Stars 2" )
GAME( 1992, quizdai2, neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Quiz Meintantei Neo Geo - Quiz Daisousa Sen Part 2" )
GAME( 1993, 3countb,  neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "3 Count Bout / Fire Suplex" )
GAME( 1992, aof,      neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK", "Art of Fighting / Ryuuko no Ken" )
GAME( 1993, samsho,   neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Samurai Shodown / Samurai Spirits" )
GAME( 1994, tophuntr, neogeo,   ras320, neogeo,  neogeo,   ROT0, "SNK", "Top Hunter - Roddy & Cathy (set 1)" )
GAME( 1994, tophunta, tophuntr, ras320, neogeo,  neogeo,   ROT0, "SNK", "Top Hunter - Roddy & Cathy (set 2)" )
GAME( 1992, fatfury2, neogeo,   neo320, neogeo,  fatfury2, ROT0, "SNK", "Fatal Fury 2 / Garou Densetsu 2 - arata-naru tatakai" )
GAME( 1992, ssideki,  neogeo,   neogeo, neogeo,  fatfury2, ROT0, "SNK", "Super Sidekicks / Tokuten Ou" )
GAME( 1994, kof94,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '94" )
GAME( 1994, aof2,     neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (set 1)" )
GAME( 1994, aof2a,    aof2,     neogeo, neogeo,  neogeo,   ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (set 2)" )
GAME( 1993, fatfursp, neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 1)" )
GAME( 1993, fatfursa, fatfursp, neo320, neogeo,  neogeo,   ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 2)" )
GAME( 1995, savagere, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Savage Reign / Fu'un Mokushiroku - kakutou sousei" )
GAME( 1994, ssideki2, neogeo,   ras320, neogeo,  neogeo,   ROT0, "SNK", "Super Sidekicks 2 - The World Championship / Tokuten Ou 2 - real fight football" )
GAME( 1994, samsho2,  neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Samurai Shodown II / Shin Samurai Spirits - Haohmaru jigokuhen" )
/* Jin Saulabi Tu Hon (Samurai shodown 2) - Korean censored version - http://www.kmrb.or.kr/Game_Image/1999/%EC%A0%9C1273%ED%98%B8.jpg */
GAME( 1995, fatfury3, neogeo,   ras320, neogeo,  neogeo,   ROT0, "SNK", "Fatal Fury 3 - Road to the Final Victory / Garou Densetsu 3 - haruka-naru tatakai" )
GAME( 1995, ssideki3, neogeo,   ras320, neogeo,  neogeo,   ROT0, "SNK", "Super Sidekicks 3 - The Next Glory / Tokuten Ou 3 - eikoue no michi" )
GAME( 1995, kof95,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '95 (set 1)" )
GAME( 1995, kof95a,   kof95,    neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '95 (set 2)" )
GAME( 1995, samsho3,  neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (set 1)" )
GAME( 1995, samsho3a, samsho3,  raster, neogeo,  neogeo,   ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (set 2)" )
GAME( 1995, fswords,  samsho3,  neogeo, neogeo,  neogeo,   ROT0, "SNK", "Fighters Swords (Korean release of Samurai Shodown III)" )
GAME( 1995, rbff1,    neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu" )
GAME( 1996, aof3,     neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior / Art of Fighting - Ryuuko no Ken Gaiden" )
GAME( 1996, aof3k,    aof3,     neogeo, neogeo,  neogeo,   ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior / Art of Fighting - Ryuuko no Ken Gaiden (Korean release)" )
GAME( 1996, kof96,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '96 (set 1)" )
GAME( 1996, kof96h,   kof96,    neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '96 (set 2)" )
GAME( 1996, ssideki4, neogeo,   ras320, neogeo,  neogeo,   ROT0, "SNK", "Ultimate 11 - The SNK Football Championship / Tokuten Ou - Honoo no Libero, The" )
GAME( 1996, kizuna,   neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Kizuna Encounter - Super Tag Battle / Fu'un Super Tag Battle" )
GAME( 1996, samsho4,  neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Samurai Shodown IV - Amakusa's Revenge / Samurai Spirits - Amakusa Kourin" )
/* Pae Wang Jeon Seol / Legend of Warrior - Korean / Chinese censored version of SamSho4, see http://www.kmrb.or.kr/Game_Image/1999/%EC%A0%9C2064%ED%98%B8.jpg */
GAME( 1996, rbffspec, neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special" )
GAME( 1997, kof97,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '97 (set 1)" )
GAME( 1997, kof97a,   kof97,    neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '97 (set 2)" )
GAME( 1997, kof97pls, kof97,    neogeo, neogeo,  neogeo,   ROT0, "bootleg", "The King of Fighters '97 Plus (bootleg)" )
GAMEX(1997, kog,      kof97,    neogeo, kog,     kog,      ROT0, "bootleg", "King of Gladiator (The King of Fighters '97 bootleg)", GAME_NOT_WORKING ) // protected bootleg
GAME( 1997, lastblad, neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Last Blade / Bakumatsu Roman - Gekka no Kenshi (set 1)" )
GAME( 1997, lastblda, lastblad, neo320, neogeo,  neogeo,   ROT0, "SNK", "Last Blade / Bakumatsu Roman - Gekka no Kenshi (set 2)" )
GAME( 1997, lastsold, lastblad, neogeo, neogeo,  neogeo,   ROT0, "SNK", "The Last Soldier (Korean release of The Last Blade)" )
GAME( 1997, irrmaze,  neogeo,   neogeo, irrmaze, neogeo,   ROT0, "SNK / Saurus", "The Irritating Maze / Ultra Denryu Iraira Bou" )
GAME( 1998, rbff2,    neogeo,   neo320, neogeo,  neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (set 1)" )
GAME( 1998, rbff2a,   rbff2,    neo320, neogeo,  neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (set 2)" )
GAME( 1998, rbff2k,   rbff2,    neogeo, neogeo,  neogeo,   ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (Korean release)" )
GAME( 1998, mslug2,   neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK", "Metal Slug 2 - Super Vehicle-001/II" )
GAME( 1998, kof98,    neogeo,   neogeo, neogeo,  kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends" )
GAME( 1998, kof98k,   kof98,    neogeo, neogeo,  kof98,    ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board)" )
GAME( 1998, kof98n,   kof98,    neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (not encrypted)" )
GAME( 1998, lastbld2, neogeo,   ras320, neogeo,  neogeo,   ROT0, "SNK", "Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi, The" )
GAME( 1998, neocup98, neogeo,   raster, neogeo,  neogeo,   ROT0, "SNK", "Neo-Geo Cup '98 - The Road to the Victory" )
GAME( 1999, mslugx,   neogeo,   neogeo, neogeo,  mslugx,   ROT0, "SNK", "Metal Slug X - Super Vehicle-001" )
GAME( 1999, kof99,    neogeo,   raster, neogeo,  kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (set 1)" ) /* Encrypted Code & GFX */
GAME( 1999, kof99a,   kof99,    raster, neogeo,  kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (set 2)" ) /* Encrypted Code & GFX */
GAME( 1999, kof99e,   kof99,    raster, neogeo,  kof99,    ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (earlier)" ) /* Encrypted Code & GFX */
GAME( 1999, kof99n,   kof99,    raster, neogeo,  kof99n,   ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (not encrypted Code)" )	/* Encrypted GFX */
GAME( 1999, kof99p,   kof99,    raster, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (prototype)" )
GAME( 1999, garou,    neogeo,   ras320, neogeo,  garou,    ROT0, "SNK", "Garou - Mark of the Wolves (set 1)" ) /* Encrypted Code & GFX */
GAME( 1999, garouo,   garou,    ras320, neogeo,  garouo,   ROT0, "SNK", "Garou - Mark of the Wolves (set 2)" ) /* Encrypted Code & GFX */
GAME( 1999, garoup,   garou,    ras320, neogeo,  neogeo,   ROT0, "SNK", "Garou - Mark of the Wolves (prototype)" )
GAME( 1999, garoubl,  garou,    ras320, neogeo,  garoubl,  ROT0, "bootleg", "Garou - Mark of the Wolves (bootleg)" ) /* Bootleg of garoup */
GAME( 2000, mslug3,   neogeo,   raster, neogeo,  mslug3,   ROT0, "SNK", "Metal Slug 3" ) /* Encrypted Code & GFX */
GAME( 2000, mslug3n,  mslug3,   raster, neogeo,  mslug3n,  ROT0, "SNK", "Metal Slug 3 (not encrypted Code)" ) /* Encrypted GFX */
GAME( 2000, mslug3b6, mslug3,   neogeo, neogeo,  mslug3b6, ROT0, "bootleg", "Metal Slug 6 (Metal Slug 3 bootleg)" ) /* real Metal Slug 6 is an Atomiswave HW game, see atomswav.c ;-) */
GAME( 2000, kof2000,  neogeo,   neogeo, neogeo,  kof2000,  ROT0, "SNK", "The King of Fighters 2000" ) /* Encrypted Code & GFX */
GAME( 2000, kof2000n, kof2000,  neogeo, neogeo,  kof2000n, ROT0, "SNK", "The King of Fighters 2000 (not encrypted Code)" ) /* Encrypted GFX */
GAME( 2001, zupapa,   neogeo,   neogeo, neogeo,  zupapa,   ROT0, "SNK", "Zupapa!" )
GAME( 2001, sengoku3, neogeo,   neo320, neogeo,  sengoku3, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Denshou 2001" )	/* Encrypted GFX */
GAME( 2001, kof2001,  neogeo,   raster, neogeo,  kof2001,  ROT0, "Eolith / SNK", "The King of Fighters 2001 (set 1)" )
GAME( 2001, kof2001h, kof2001,  raster, neogeo,  kof2001,  ROT0, "Eolith / SNK", "The King of Fighters 2001 (set 2)" )
GAME( 2003, cthd2003, kof2001,  neogeo, neogeo,  cthd2003, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg)" ) /* Protected Hack / Bootleg of kof2001 */
GAME( 2003, ct2k3sp,  kof2001,  neogeo, neogeo,  ct2k3sp,  ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus (The King of Fighters 2001 bootleg)" ) /* Protected Hack / Bootleg of kof2001 */
GAME( 2002, kof2002,  neogeo,   neogeo, neogeo,  kof2002,  ROT0, "Eolith / Playmore", "The King of Fighters 2002" ) /* Encrypted GFX */
GAME( 2002, kf2k2pls, kof2002,  neogeo, neogeo,  kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (set 1, bootleg)" ) /* Encrypted GFX */
GAME( 2002, kf2k2pla, kof2002,  neogeo, neogeo,  kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (set 2, bootleg)" ) /* Encrypted GFX */
GAME( 2002, kf2k2mp,  kof2002,  neogeo, neogeo,  kf2k2mp,  ROT0, "bootleg", "The King of Fighters 2002 Magic Plus (bootleg)" ) /* Encrypted GFX */
GAME( 2002, kf2k2mp2, kof2002,  neogeo, neogeo,  kof2km2,  ROT0, "bootleg", "The King of Fighters 2002 Magic Plus II (bootleg)" ) /* Encrypted GFX */
GAME( 2002, kof10th,  kof2002,  raster, neogeo,  kof10th,  ROT0, "bootleg", "The King Of Fighters 10th Anniversary (The King of Fighters 2002 bootleg)" ) // fake SNK copyright
GAME( 2004, kf2k5uni, kof2002,  neogeo, neogeo,  kf2k5uni, ROT0, "bootleg", "The King of Fighters 10th Anniversary 2005 Unique (The King of Fighters 2002 bootleg)" ) // fake SNK copyright
GAME( 2005, kf10thep, kof2002,  neogeo, neogeo,  kf10thep, ROT0, "bootleg", "The King of Fighters 10th Anniversary Extra Plus (The King of Fighters 2002 bootleg)" ) // fake SNK copyright
GAME( 2004, kof2k4se, kof2002,  neogeo, neogeo,  kof2k4se, ROT0, "bootleg", "The King of Fighters Special Edition 2004 (The King of Fighters 2002 bootleg)" ) /* Hack / Bootleg of kof2002 */
GAME( 2003, mslug5,   neogeo,   neogeo, neogeo,  mslug5,   ROT0, "SNK Playmore", "Metal Slug 5" )
GAME( 2003, ms5pcb,   0,        neogeo, neogeo,  ms5pcb,   ROT0, "SNK Playmore", "Metal Slug 5 (JAMMA PCB)" )
GAME( 2003, ms5plus,  mslug5,   neogeo, neogeo,  ms5plus,  ROT0, "bootleg", "Metal Slug 5 Plus (bootleg)" )
GAME( 2003, svcpcb,   0,        neogeo, svcpcb,  svcpcb,   ROT0, "Playmore", "SvC Chaos - SNK vs Capcom (JAMMA PCB)" ) // not a clone of neogeo because it's NOT a neogeo cart.
GAME( 2003, svcpcba,  svcpcb,   neogeo, svcpcb,  svcpcb,   ROT0, "Playmore", "SVC Chaos - SNK vs CAPCOM (JAMMA PCB, set 2)" ) /* Encrypted Code */
GAME( 2003, svc,      neogeo,   neogeo, neogeo,  svchaosa, ROT0, "Playmore", "SvC Chaos - SNK vs Capcom (MVS)" )
GAME( 2003, svcboot,  svc,      neogeo, neogeo,  svcboot,  ROT0, "booleg", "SvC Chaos - SNK vs Capcom (MVS) (bootleg)" )
GAME( 2003, svcplus,  svc,      neogeo, neogeo,  svcplus,  ROT0, "booleg", "SvC Chaos - SNK vs Capcom Plus (set 1, bootleg)" )
GAME( 2003, svcplusa, svc,      neogeo, neogeo,  svcplusa, ROT0, "booleg", "SvC Chaos - SNK vs Capcom Plus (set 2, bootleg)" )
GAME( 2003, svcsplus, svc,      neogeo, neogeo,  svcsplus, ROT0, "booleg", "SvC Chaos - SNK vs Capcom Super Plus (bootleg)" )
GAME( 2003, samsho5,  neogeo,   raster, neogeo,  samsho5,  ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (set 1)" )
GAME( 2003, samsho5h, samsho5,  raster, neogeo,  samsho5,  ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (set 2)" )
GAME( 2003, samsho5b, samsho5,  raster, neogeo,  samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)" ) // different program scrambling
GAME( 2003, kf2k3pcb, 0,        neogeo, neogeo,  kf2k3pcb, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB)" ) // not a clone of neogeo because it's NOT a neogeo cart.
GAME( 2003, kof2003,  neogeo,   neogeo, neogeo,  kof2003,  ROT0, "SNK Playmore", "The King of Fighters 2003 (World / US, MVS)" )
GAME( 2003, kf2k3bl,  kof2003,  neogeo, neogeo,  kof2003b, ROT0, "bootleg", "The King of Fighters 2003 (bootleg, set 1)" ) // zooming is wrong because its a bootleg of the pcb version on a cart (unless it was a bootleg pcb with the new bios?)
GAME( 2003, kf2k3bla, kof2003,  neogeo, neogeo,  kof2k3pl, ROT0, "bootleg", "The King of Fighters 2003 (bootleg, set 2)" ) // zooming is wrong because its a bootleg of the pcb version on a cart
GAME( 2003, kf2k3pl,  kof2003,  neogeo, neogeo,  kof2k3pl, ROT0, "bootleg", "The King of Fighters 2004 Plus / Hero (The King of Fighters 2003 bootleg)" )  // zooming is wrong because its a bootleg of the pcb version on a cart
GAME( 2003, kf2k3upl, kof2003,  neogeo, neogeo,  kof2k3up, ROT0, "bootleg", "The King of Fighters 2004 Ultra Plus (The King of Fighters 2003 bootleg)" ) // zooming is wrong because its a bootleg of the pcb version on a cart
GAME( 2003, samsh5sp, neogeo,   raster, neogeo,  samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (set 1, uncensored)" )
GAME( 2003, samsh5sh, samsh5sp, raster, neogeo,  samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (set 2, censored)" )
GAME( 2003, samsh5sn, samsh5sp, raster, neogeo,  samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (set 3, less censored)" )

/* there are other bootlegs kof2002b etc. kof96ep, matrimbl?, kf2k1pls -- work out which should be supported */

/* Alpha Denshi Co. / ADK (changed name in 1993) */
GAME( 1990, maglord,  neogeo,   neo320, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Magician Lord (set 1)" )
GAME( 1990, maglordh, maglord,  neo320, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Magician Lord (set 2)" )
GAME( 1990, ncombat,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Ninja Combat (set 1)" )
GAME( 1990, ncombata, ncombat,  neogeo, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Ninja Combat (set 2)" )
GAME( 1990, bjourney, neogeo,   neo320, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Blue's Journey / Raguy" )
GAME( 1991, crsword,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Crossed Swords" )
GAME( 1991, trally,   neogeo,   ras320, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Thrash Rally" )
GAME( 1992, ncommand, neogeo,   raster, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "Ninja Commando" )
GAME( 1992, wh1,      neogeo,   ras320, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "World Heroes (set 1)" )
GAME( 1992, wh1h,     wh1,      ras320, neogeo,  neogeo,   ROT0, "ADK (Alpha Denshi Co.)", "World Heroes (set 2)" )
GAME( 1993, wh2,      neogeo,   raster, neogeo,  neogeo,   ROT0, "ADK",              "World Heroes 2" )
GAME( 1994, wh2j,     neogeo,   raster, neogeo,  neogeo,   ROT0, "ADK / SNK",        "World Heroes 2 Jet" )
GAME( 1994, aodk,     neogeo,   raster, neogeo,  neogeo,   ROT0, "ADK / SNK",        "Aggressors of Dark Kombat / Tsuukai GANGAN Koushinkyoku" )
GAME( 1995, whp,      neogeo,   neo320, neogeo,  neogeo,   ROT0, "ADK / SNK",        "World Heroes Perfect" )
GAME( 1995, mosyougi, neogeo,   raster_busy,  neogeo,  neogeo,   ROT0, "ADK / SNK",        "Syougi No Tatsujin - Master of Syougi" )
GAME( 1996, overtop,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "ADK",              "Over Top" )
GAME( 1996, ninjamas, neogeo,   neo320, neogeo,  neogeo,   ROT0, "ADK / SNK",        "Ninja Master's - haoh-ninpo-cho" )
GAME( 1996, twinspri, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "ADK",              "Twinkle Star Sprites" )
GAME( 1996, zintrckb, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "ADK / SNK",        "Zintrick / Oshidashi Zentrix (hack / bootleg)" )


/* Aicom */
GAME( 1994, janshin,  neogeo,   neo320, neogeo,  neogeo,   ROT0, "Aicom", "Jyanshin Densetsu - Quest of Jongmaster" )
GAME( 1995, pulstar,  neogeo,   raster, neogeo,  neogeo,   ROT0, "Aicom", "Pulstar" )

/* Data East Corporation */
GAME( 1993, spinmast, neogeo,   raster, neogeo,  neogeo,   ROT0, "Data East Corporation", "Spinmaster / Miracle Adventure" )
GAME( 1994, wjammers, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Data East Corporation", "Windjammers / Flying Power Disc" )
GAME( 1994, karnovr,  neogeo,   raster, neogeo,  neogeo,   ROT0, "Data East Corporation", "Karnov's Revenge / Fighter's History Dynamite" )
GAME( 1994, strhoop,  neogeo,   raster, neogeo,  neogeo,   ROT0, "Data East Corporation", "Street Hoop / Street Slam / Dunk Dream" )
GAME( 1996, ghostlop, neogeo,   raster, neogeo,  neogeo,   ROT0, "Data East Corporation", "Ghostlop (prototype)")
GAME( 1996, magdrop2, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Data East Corporation", "Magical Drop II" )
GAME( 1997, magdrop3, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Data East Corporation", "Magical Drop III" )

/* Eleven */
GAME( 2000, nitd,     neogeo,   neo320, neogeo,  nitd,     ROT0, "Eleven / Gavaking", "Nightmare in the Dark" ) /* Encrypted GFX */

/* Face */
GAME( 1994, gururin,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Face", "Gururin" )
GAME( 1997, miexchng, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Face", "Money Puzzle Exchanger / Money Idol Exchanger" )

/* Hudson Soft */
GAME( 1994, panicbom, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Eighting / Hudson", "Panic Bomber" )
GAME( 1995, kabukikl, neogeo,   neo320, neogeo,  neogeo,   ROT0, "Hudson", "Kabuki Klash - Far East of Eden / Tengai Makyou Shinden - Far East of Eden" )
GAME( 1997, neobombe, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Hudson", "Neo Bomberman" )

/* Monolith Corp. */
GAME( 1990, minasan,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Monolith Corp.", "Minnasanno Okagesamadesu" )
GAME( 1991, bakatono, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Monolith Corp.", "Bakatonosama Mahjong Manyuki" )

/* Nazca */
GAME( 1996, turfmast, neogeo,   raster, neogeo,  neogeo,   ROT0, "Nazca", "Neo Turf Masters / Big Tournament Golf" )
GAME( 1996, mslug,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Nazca", "Metal Slug - Super Vehicle-001" )

/* NMK */
GAME( 1994, zedblade, neogeo,   raster, neogeo,  neogeo,   ROT0, "NMK", "Zed Blade / Operation Ragnarok" )

/* Psikyo */
GAME( 1999, s1945p,   neogeo,   neo320, neogeo,  s1945p,   ROT0, "Psikyo", "Strikers 1945 Plus" )	/* Encrypted GFX */

/* Sammy */
GAME( 1992, viewpoin, neogeo,   raster, neogeo,  neogeo,   ROT0, "Sammy", "Viewpoint" )

/* Saurus */
GAME( 1995, quizkof,  neogeo,   raster, neogeo,  neogeo,   ROT0, "Saurus", "Quiz King of Fighters" )
GAME( 1995, stakwin,  neogeo,   neo320, neogeo,  neogeo,   ROT0, "Saurus", "Stakes Winner / Stakes Winner - GI kinzen seihae no michi" )
GAME( 1996, ragnagrd, neogeo,   neo320, neogeo,  neogeo,   ROT0, "Saurus", "Ragnagard / Shin-Oh-Ken" )
GAME( 1996, pgoal,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Saurus", "Pleasure Goal / Futsal - 5 on 5 Mini Soccer" )
GAME( 1996, stakwin2, neogeo,   neo320, neogeo,  neogeo,   ROT0, "Saurus", "Stakes Winner 2" )
GAME( 1997, shocktro, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Saurus", "Shock Troopers (set 1)" )
GAME( 1997, shocktra, shocktro, neogeo, neogeo,  neogeo,   ROT0, "Saurus", "Shock Troopers (set 2)" )
GAME( 1998, shocktr2, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Saurus", "Shock Troopers - 2nd Squad" )
GAME( 1998, lans2004, shocktr2, neogeo, neogeo,  lans2004, ROT0, "bootleg", "Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg)" )

/* Sunsoft */
GAME( 1995, galaxyfg, neogeo,   raster, neogeo,  neogeo,   ROT0, "Sunsoft", "Galaxy Fight - Universal Warriors" )
GAME( 1996, wakuwak7, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Sunsoft", "Waku Waku 7" )

/* Taito */
GAME( 1994, pbobblen, neogeo,   neo320, neogeo,  neogeo,   ROT0, "Taito", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (set 1)" )
GAME( 1994, pbobblna, pbobblen, neo320, neogeo,  neogeo,   ROT0, "Taito", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (set 2)" )
GAME( 1999, pbobbl2n, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Taito (SNK license)", "Puzzle Bobble 2 / Bust-A-Move Again (Neo-Geo)" )
GAME( 2003, pnyaa,    neogeo,   neogeo, neogeo,  pnyaa,    ROT0, "Aiky / Taito", "Pochi and Nyaa" )

/* Takara */
GAME( 1995, marukodq, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Takara", "Chibi Marukochan Deluxe Quiz" )

/* Technos */
GAME( 1995, doubledr, neogeo,   ras320, neogeo,  neogeo,   ROT0, "Technos", "Double Dragon (Neo-Geo)" )
GAME( 1995, gowcaizr, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Technos", "Voltage Fighter - Gowcaizer / Choujin Gakuen Gowcaizer")
GAME( 1996, sdodgeb,  neogeo,   raster, neogeo,  neogeo,   ROT0, "Technos", "Super Dodge Ball / Kunio no Nekketsu Toukyuu Densetsu" )

/* Tecmo */
GAME( 1996, tws96,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Tecmo", "Tecmo World Soccer '96" )

/* Yumekobo */
GAME( 1998, blazstar, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Yumekobo", "Blazing Star" )
GAME( 1999, preisle2, neogeo,   neogeo, neogeo,  preisle2, ROT0, "Yumekobo", "Prehistoric Isle 2" ) /* Encrypted GFX */

/* Viccom */
GAME( 1994, fightfev, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Viccom", "Fight Fever / Crystal Legacy (set 1)" )
GAME( 1994, fightfva, fightfev, neogeo, neogeo,  neogeo,   ROT0, "Viccom", "Fight Fever / Crystal Legacy (set 2)" )

/* Video System Co. */
GAME( 1994, pspikes2, neogeo,   ras320, neogeo,  neogeo,   ROT0, "Video System Co.", "Power Spikes II" )
GAME( 1994, sonicwi2, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Video System Co.", "Aero Fighters 2 / Sonic Wings 2" )
GAME( 1995, sonicwi3, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Video System Co.", "Aero Fighters 3 / Sonic Wings 3" )
GAME( 1997, popbounc, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Video System Co.", "Pop 'n Bounce / Gapporin" )

/* Visco */
GAME( 1992, androdun, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Visco", "Andro Dunos" )
GAME( 1995, puzzledp, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Taito (Visco license)", "Puzzle De Pon" )
GAME( 1996, neomrdo,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Visco", "Neo Mr. Do!" )
GAME( 1995, goalx3,   neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Visco", "Goal! Goal! Goal!" )
GAME( 1996, neodrift, neogeo,   raster, neogeo,  neogeo,   ROT0, "Visco", "Neo Drift Out - New Technology" )
GAME( 1996, breakers, neogeo,   neo320, neogeo,  neogeo,   ROT0, "Visco", "Breakers" )
GAME( 1997, puzzldpr, puzzledp, neogeo, neogeo,  neogeo,   ROT0, "Taito (Visco license)", "Puzzle De Pon R" )
GAME( 1998, breakrev, breakers, neo320, neogeo,  neogeo,   ROT0, "Visco", "Breakers Revenge")
GAME( 1998, flipshot, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Visco", "Battle Flip Shot" )
GAME( 1999, ctomaday, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Visco", "Captain Tomaday" )
GAME( 1999, ganryu,   neogeo,   neogeo, neogeo,  ganryu,   ROT0, "Visco", "Musashi Ganryuuki" )	/* Encrypted GFX */
GAME( 2000, bangbead, neogeo,   raster, neogeo,  bangbead, ROT0, "Visco", "Bang Bead" )
#if 0
GAME( 2000, bangbedp, bangbead, raster, neogeo,  neogeo,   ROT0, "Visco", "Bang Bead (prototype)" )
#endif
/* Mega Enterprise */
GAME( 2002, mslug4,   neogeo,   neogeo, neogeo,  mslug4,   ROT0, "Mega", "Metal Slug 4" )
GAME( 2002, ms4plus,  mslug4,   neogeo, neogeo,  neogeo,   ROT0, "bootleg", "Metal Slug 4 Plus (bootleg)" )

/* Evoga */
GAME( 2002, rotd,     neogeo,   neogeo, neogeo,  rotd,     ROT0, "Evoga / Playmore", "Rage of the Dragons" )

/* Atlus */
GAME( 2002, matrim,   neogeo,   ras320, neogeo,  matrim,   ROT0, "Noise Factory / Atlus", "Matrimelee" )

/* Breezasoft */
GAME( 2001, jockeygp, neogeo,   neogeo, jockeygp,jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix" )
GAME( 2001, vliner,   neogeo,   neogeo, vliner,  vliner,   ROT0, "Dyna / BreezaSoft", "V-Liner (set 1)" )
GAME( 2001, vlinero,  vliner,   neogeo, vliner,  vliner,   ROT0, "Dyna / BreezaSoft", "V-Liner (set 2)" )

/* Kyle Hodgetts */
GAME( 1994, diggerma, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Unknown", "Digger Man" )

/******************************************************************************/
#ifdef EXTRA_GAMES
/* MAME Plus! */
/* SNK */
GAME( 1996, kof96ep,  kof96,    neogeo, neogeo,  kof96ep,  ROT0, "bootleg", "The King of Fighters '96 (bootleg)" )
GAME( 1996, kof96rss, kof96,    neogeo, neogeo,   neogeo,  ROT0, "bootleg", "The King of Fighters '96 Remix Spring Special" )
GAME( 1999, kof99d,   kof99,    neogeo, neogeo,  kof99d,   ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (decrypted C)" )
GAME( 1999, garoud,   garou,    neogeo, neogeo,  garoud,   ROT0, "SNK", "Garou - Mark of the Wolves (set 1) (decrypted C)" ) /* Encrypted Code */
GAME( 2000, mslug3d,  mslug3,   neogeo, neogeo,  mslug3d,  ROT0, "SNK", "Metal Slug 3 (decrypted C)" )
GAME( 2000, kof2000d, kof2000,  neogeo, neogeo,  kof2000d, ROT0, "SNK", "The King of Fighters 2000 (decrypted C)" )
GAME( 2001, zupapad,  zupapa,   neogeo, neogeo,  neogeo,   ROT0, "SNK", "Zupapa! (custom decrypted C)" )
GAME( 2001, sengok3d, sengoku3, neogeo, neogeo,  gfxdec42, ROT0, "SNK", "Sengoku 3 (decrypted C)" )
GAME( 2001, kof2001d, kof2001,  neogeo, neogeo,  gfxdec52, ROT0, "Eolith / SNK", "The King of Fighters 2001 (decrypted C)" )
GAME( 2003, cthd2k3a, kof2001,  neogeo, neogeo,  cthd2k3a, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg, set 2)" ) /* Protected Hack / Bootleg of kof2001 */
GAME( 2002, kf2k1pls, kof2001,  neogeo, neogeo,  kf2k1pls, ROT0, "bootleg", "The King of Fighters 2001 Plus (set 1, bootleg)" )
GAME( 2002, kf2k1pa,  kof2001,  neogeo, neogeo,  kf2k1pa,  ROT0, "bootleg", "The King of Fighters 2001 Plus (set 2, bootleg)" )
GAME( 2002, kof2002d, kof2002,  neogeo, neogeo,  kof2002d, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (decrypted C)" )
GAME( 2002, kof2002b, kof2002,  neogeo, neogeo,  kof2002b, ROT0, "bootleg", "The King of Fighters 2002 (bootleg)" )
GAME( 2002, kf2k2plb, kof2002,  neogeo, neogeo,  kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (set 3, bootleg)" ) /* Encrypted GFX */
GAME( 2002, kf2k2plc, kof2002,  neogeo, neogeo,  kf2k2plc, ROT0, "bootleg", "The King of Fighters 2002 Super (set 4, bootleg)" ) /* Encrypted GFX */
GAME( 2004, kf2k4pls, kof2002,  neogeo, neogeo,  kf2k4pls, ROT0, "bootleg", "The King of Fighters Special Edition 2004 Plus (The King of Fighters 2002 bootleg)" ) /* Hack / Bootleg of kof2002 */

/* Alpha Denshi Co. / ADK (changed name in 1993) */
GAME( 1996, zintrkcd, zintrckb, neogeo, neogeo,  neogeo,   ROT0, "Razoola",          "Zintrick / Oshidashi Zentrix (CD to MVS Conversion)" )

/* Eleven */
GAME( 2000, nitdd,    nitd,     neogeo, neogeo,  gfxdec42, ROT0, "Eleven / Gavaking", "Nightmare in the Dark (decrypted C)" )

/* Psikyo */
GAME( 1999, s1945pd,  s1945p,   neogeo, neogeo,  gfxdec42, ROT0, "Psikyo", "Strikers 1945 Plus (decrypted C)" )

/* Yumekobo */
GAME( 1999, preisl2d, preisle2, neogeo, neogeo,  gfxdec42, ROT0, "Yumekobo", "Prehistoric Isle 2 (decrypted C)" )

/* Visco */
GAME( 1999, ganryud,  ganryu,   neogeo, neogeo,  gfxdec42, ROT0, "Visco", "Ganryu / Musashi Ganryuki (decrypted C)" )

/* Evoga */
GAME( 2002, rotdd,    rotd,     neogeo, neogeo,  rotdd,    ROT0, "Evoga / Playmore", "Rage of the Dragons (decrypted C)" )

/* Atlus */
GAME( 2002, matrimbl, matrim,   neogeo, neogeo,  matrimbl, ROT0, "bootleg", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg)" )

/* homebrew */
GAMEX(1989, beast,    neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Psygnosis", "Shadow of the Beast (Neo Demo)", GAME_NO_SOUND )
GAMEX(1990, columnsn, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Sega", "Columns (Neo-Geo)", GAME_NO_SOUND )
GAMEX(200?, poknight, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "JMK", "Poker Night", GAME_NO_SOUND )
GAME( 2002, neonopon, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Blastar", "Neo No Panepon (beta)" )
GAME( 2002, neopong,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Neodev", "Neo Pong (v1.1)" )
GAME( 2002, npong10,  neopong,  neogeo, neogeo,  neogeo,   ROT0, "Neodev", "Neo Pong (v1.0)" )
GAME( 200?, syscheck, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Blastar", "Neo System Check (ver 1.0b)" )
GAMEX(200?, frogfest, neogeo,   neogeo, neogeo,  neogeo,   ROT0, "neogeosoft", "Frog Feast", GAME_NO_SOUND )
/* new */
GAME( 2005, ltorb1,   neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Blastar", "Jonas Indiana and the Lost Temple of RA (20050717)" )
GAME( 2002, neodemo,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Chaos", "Neo-Demo" )
GAME( 1995, fr2ch,    neogeo,   neogeo, neogeo,  fr2ch,    ROT0, "hack",   "Idol Mahjong - final romance 2 (CD to MVS Conversion)" )
GAME( 2006, cnbe,     neogeo,   neogeo, neogeo,  neogeo,   ROT0, "homebrew",   "Codename - Blut Engel (2006-01-19)" )
GAME( 2006, ngem2k,   neogeo,   neogeo, neogeo,  neogeo,   ROT0, "homebrew",   "NGEM2K (beta 2006-01-18)" )
GAME( 2004, neo2500,  neogeo,   neogeo, neogeo,  neogeo,   ROT0, "Blastar", "Neo 2500 Demo" )
GAME( 1994, sthoopcd, strhoop,  neogeo, neogeo,  neogeo,   ROT0, "hack / bootleg", "Street Hoop / Street Slam / Dunk Dream (CD to MVS Conversion)" )
/* new Decrypted */
GAME( 2003, ct2k3ad,  kof2001,  neogeo, neogeo,  neogeo,   ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg / set 2 fully decrypted)" )
GAME( 2003, cthd2k3d, kof2001,  neogeo, neogeo,  neogeo,   ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg / set 1 fully decrypted)" )
GAME( 2004, kof10thd, kof2002,  neogeo, neogeo,  neogeo,   ROT0, "bootleg", "The King of Fighters 10th Anniversary - All Team Battle (The King of Fighters 2002 bootleg / Fully Decrypted)" ) // fake SNK copyright
GAME( 2003, kof2003d, kof2003,  neogeo, neogeo,  kof2003d, ROT0, "SNK Playmore", "The King of Fighters 2003 (Decrypted P&C)") /* Encrypted Code & Sound */
GAME( 2002, matrimd,  matrim,   neogeo, neogeo,  matrimd,  ROT0, "Noise Factory / Atlus", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (decrypted C)" )
GAME( 2002, mslug4d,  mslug4,   neogeo, neogeo,  mslug4d,  ROT0, "Mega", "Metal Slug 4 (Custom Decrypted C)" )
GAME( 2003, mslug5d,  mslug5,   neogeo, neogeo,  mslug5d,  ROT0, "SNK / Playmore", "Metal Slug 5 (fully decrypted)" )
GAME( 2003, samsho5d, samsho5,  neogeo, neogeo,  samsho5d, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (decrypted C)" ) // different program scrambling
GAME( 2003, samsh5sd, samsh5sp, neogeo, neogeo,  samsh5sd, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (decrypted C)" )
GAME( 2004, lans2k4d, shocktr2, neogeo, neogeo,  neogeo,   ROT0, "bootleg", "Lansquenet 2004 (Shock Troopers - 2nd Squad Bootleg / fully decrypted)" )
GAME( 2003, svcd,     svc,      neogeo, neogeo,  svcd,     ROT0, "bootleg", "SvC Chaos - SNK vs Capcom (MVS) (decrypted C)" )
GAME( 2001, jckeygpd, jockeygp, neogeo, jockeygp,jckeygpd, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (decrypted C)" )
GAME( 2003, kf2k3pcd, kf2k3pcb, neogeo, neogeo,  kf2k3pcd, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB / decrypted C&Bios)"  ) /* Encrypted Code & Sound */
GAME( 2005, kogd,     kof97,    neogeo, kog,     neogeo,   ROT0, "bootleg", "The King of gladiator (The King of Fighters '97 bootleg / fully decrypted)" )
GAME( 2003, pnyaad,   pnyaa,    neogeo, neogeo,  pnyaad,   ROT0, "Aiky / Taito", "Pochi and Nyaa / Pochi tto Nyaa (decrypted C)"  ) /* Encrypted Sound */
/* new Bootleg */
GAME( 2003, kof97pla, kof97,    neogeo, neogeo,  kof97pla, ROT0, "bootleg", "The King of Fighters '97 Plus 2003 (bootleg)" )
GAME( 2003, mslug5b,  mslug5,   neogeo, neogeo,  mslug5b,  ROT0, "bootleg", "Metal Slug 5 (bootleg)" )

/* CANAME, etc */
/* SNK */
GAME( 1996, kof96evo, kof96,    neogeo, neogeo,  neogeo,   ROT0, "bootleg", "The King of Fighters '96 evo (bootleg)" )
GAME( 1998, kof98cd,  kof98,    neogeo, neogeo,  neogeo,   ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Neo CD conversion ?)" )
GAME( 1999, garouod,  garou,    neogeo, neogeo,  garouod,  ROT0, "SNK", "Garou - Mark of the Wolves (set 2) (decrypted C)" ) /* Encrypted Code */
GAME( 2001, kof2k1,   kof2001,  neogeo, neogeo,  neogeo,   ROT0, "bootleg", "The King of Fighters 2001 (bootleg)" )
GAME( 2002, kof2k2,   kof2002,  neogeo, neogeo,  neogeo,   ROT0, "bootleg", "The King of Fighters 2002 (bootleg, set 2)" )
GAME( 2003, svct,     svc,      neogeo, neogeo,  svct,     ROT0, "bootleg", "SvC Chaos - SNK vs Capcom (bootleg with transparency)" )
GAME( 2003, svctru,   svc,      neogeo, neogeo,  svct,     ROT0, "bootleg", "SvC Chaos - SNK vs Capcom Remix Ultra (bootleg with transparency)" )
GAME( 2003, kof2k3t,  kof2003,  neogeo, neogeo,  kof2k3t,  ROT0, "bootleg", "The King of Fighters 2003 (bootleg with transparency)" )
GAME( 200X, lasthope, pulstar,  neogeo, neogeo,  fr2ch,    ROT0, "NG:DEV.TEAM", "Last Hope JAP NGCD (CD to MVS Conversion)" )
GAME( 1997, kof97ps,  kof97,    neogeo, neogeo,  neogeo,   ROT0, "bootleg", "The King of Fighters '97 (PS Ver.)" )
GAME( 2003, kf2k3ps2, kof2003,  neogeo, neogeo,  neogeo,   ROT0, "bootleg", "The King of Fighters 2003(PS2 Ver. Beta1)" )
#endif /* EXTRA_GAMES */
