📄 megasys1.c
字号:
/* The ROM area is split in two parts: 000000-03ffff & 080000-0bffff */
RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
for (i = 0 ; i < 0x40000 ; i++)
{
RAM[i+0x80000] = RAM[i+0x40000];
RAM[i+0x40000] = 0;
}
/* avspirit memory starts at 70000, not 60000 */
if (Machine->gamedrv == &avspirit_driver) spriteram = &ram[0x18000];
else spriteram = &ram[0x08000];
}
void driver_init_C(void) {hardware_type = 'C' ; spriteram = &ram[0x8000];}
#define MEGASYS1_CREDITS "Luca Elia\n"
#define MEGASYS1_GAMEDRIVER(_shortname_,_clone_driver_,_fullname_,_year_,_type_,_rom_decode_) \
struct GameDriver _shortname_##_driver =\
{\
__FILE__,\
_clone_driver_,\
#_shortname_,\
#_fullname_,\
#_year_,\
"Jaleco",\
MEGASYS1_CREDITS,\
0,\
&machine_driver_##_type_,\
&driver_init_##_type_,\
_shortname_##_rom,\
_rom_decode_, 0,\
0,\
0,\
input_ports_##_shortname_,\
0, 0, 0,\
ORIENTATION_DEFAULT,\
0,0\
};
/***************************************************************************
Game driver(s)
***************************************************************************/
/***************************************************************************
64th Street
***************************************************************************/
ROM_START( street64_rom )
ROM_REGION(0x80000) /* Region 0 - main cpu code */
ROM_LOAD_EVEN( "64th_03.rom", 0x000000, 0x040000, 0xed6c6942 )
ROM_LOAD_ODD( "64th_02.rom", 0x000000, 0x040000, 0x0621ed1d )
ROM_REGION(0x220000) /* Region 1 - temporary for gfx roms */
ROM_LOAD( "64th_01.rom", 0x000000, 0x080000, 0x06222f90 )
ROM_LOAD( "64th_06.rom", 0x080000, 0x080000, 0x2bfcdc75 )
ROM_LOAD( "64th_09.rom", 0x100000, 0x020000, 0xa4a97db4 ) /* Text */
ROM_LOAD( "64th_05.rom", 0x120000, 0x080000, 0xa89a7020 ) /* similar */
ROM_LOAD( "64th_04.rom", 0x1a0000, 0x080000, 0x98f83ef6 ) /* train/boat boss*/
ROM_REGION(0x20000) /* Region 2 - sound cpu code */
ROM_LOAD_EVEN( "64th_08.rom", 0x000000, 0x010000, 0x632be0c1 )
ROM_LOAD_ODD( "64th_07.rom", 0x000000, 0x010000, 0x13595d01 )
ROM_REGION(0x20000) /* Region 3 - ADPCM sound samples */
ROM_LOAD( "64th_11.rom", 0x000000, 0x020000, 0xb0b8a65c )
ROM_REGION(0x40000) /* Region 4 - ADPCM sound samples */
ROM_LOAD( "64th_10.rom", 0x000000, 0x040000, 0xa3390561 )
ROM_END
INPUT_PORTS_START( input_ports_street64 )
SERVICE
JOY(0)
RESERVE
JOY(IPF_PLAYER2)
COINAGE_C
PORT_START
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, "Allow Continue" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x10, "Easy" )
PORT_DIPSETTING( 0x18, "Normal" )
PORT_DIPSETTING( 0x08, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x40, "1" )
PORT_DIPSETTING( 0x60, "2" )
PORT_DIPSETTING( 0x20, "3" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Service_Mode ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
void street64_patch(void)
{
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
WRITE_WORD (&RAM[0x10EDE],0x6012); /* watchdog */
}
struct GameDriver street64_driver =\
{\
__FILE__,\
0,\
"64street",\
"64th Street",\
"1991",\
"Jaleco",\
MEGASYS1_CREDITS,\
0,\
&machine_driver_C,\
&driver_init_C,\
street64_rom,\
street64_patch, 0,\
0,\
0,\
input_ports_street64,\
0, 0, 0,\
ORIENTATION_DEFAULT,\
0,0\
};
/***************************************************************************
Astyanax
***************************************************************************/
ROM_START( astyanax_rom )
ROM_REGION(0x60000) /* Region 0 - main cpu code */
ROM_LOAD_EVEN( "astyan2.bin", 0x000000, 0x020000, 0x1b598dcc )
ROM_LOAD_ODD( "astyan1.bin", 0x000000, 0x020000, 0x1a1ad3cf )
ROM_REGION_DISPOSE(0x1a0000) /* Region 1 - temporary for gfx roms */
ROM_LOAD( "astyan11.bin", 0x000000, 0x020000, 0x5593fec9 ) /* Tiles (scroll 1) */
ROM_LOAD( "astyan12.bin", 0x020000, 0x020000, 0xe8b313ec )
ROM_LOAD( "astyan13.bin", 0x040000, 0x020000, 0x5f3496c6 )
ROM_LOAD( "astyan14.bin", 0x060000, 0x020000, 0x29a09ec2 )
ROM_LOAD( "astyan15.bin", 0x080000, 0x020000, 0x0d316615 ) /* Tiles (scroll 2) */
ROM_LOAD( "astyan16.bin", 0x0a0000, 0x020000, 0xba96e8d9 )
ROM_LOAD( "astyan17.bin", 0x0c0000, 0x020000, 0xbe60ba06 )
ROM_LOAD( "astyan18.bin", 0x0e0000, 0x020000, 0x3668da3d )
ROM_LOAD( "astyan19.bin", 0x100000, 0x020000, 0x98158623 ) /* Text (scroll 3) */
ROM_LOAD( "astyan20.bin", 0x120000, 0x020000, 0xc1ad9aa0 ) /* Sprites 16x16 */
ROM_LOAD( "astyan21.bin", 0x140000, 0x020000, 0x0bf498ee )
ROM_LOAD( "astyan22.bin", 0x160000, 0x020000, 0x5f04d9b1 )
ROM_LOAD( "astyan23.bin", 0x180000, 0x020000, 0x7bd4d1e7 )
ROM_REGION(0x20000) /* Region 2 - sound cpu code */
ROM_LOAD_EVEN( "astyan5.bin", 0x000000, 0x010000, 0x11c74045 )
ROM_LOAD_ODD( "astyan6.bin", 0x000000, 0x010000, 0xeecd4b16 )
ROM_REGION(0x40000) /* Region 3 - ADPCM sound samples */
ROM_LOAD( "astyan7.bin", 0x000000, 0x020000, 0x319418cc )
ROM_LOAD( "astyan8.bin", 0x020000, 0x020000, 0x5e5d2a22 )
ROM_REGION(0x40000) /* Region 4 - ADPCM sound samples */
ROM_LOAD( "astyan9.bin", 0x000000, 0x020000, 0xa10b3f17 )
ROM_LOAD( "astyan10.bin", 0x000000, 0x020000, 0x4f704e7a )
ROM_END
INPUT_PORTS_START( input_ports_astyanax )
SERVICE /* IN0 0x80001.b */
JOY(0) /* IN1 0x80003.b */
RESERVE /* IN2 0x80004.b */
JOY(IPF_PLAYER2) /* IN3 0x80005.b */
COINAGE_A /* IN4 0x80006.b */
UNKNOWN /* IN5 0x80007.b */
INPUT_PORTS_END
MEGASYS1_GAMEDRIVER(astyanax,0,The Astyanax,1988,A,rom_decode)
/***************************************************************************
Avenging Spirit
***************************************************************************/
ROM_START( avspirit_rom )
ROM_REGION(0xc0000) /* Region 0 - main cpu code - 00000-3ffff & 80000-bffff */
ROM_LOAD_EVEN( "spirit05.rom", 0x000000, 0x040000, 0xb26a341a )
ROM_LOAD_ODD( "spirit06.rom", 0x000000, 0x040000, 0x609f71fe )
ROM_REGION_DISPOSE(0x1a0000) /* Region 1 - temporary for gfx roms */
ROM_LOAD( "spirit12.rom", 0x000000, 0x080000, 0x728335d4 )
ROM_LOAD( "spirit11.rom", 0x080000, 0x080000, 0x7896f6b0 )
ROM_LOAD( "spirit09.rom", 0x100000, 0x020000, 0x0c37edf7 )
ROM_LOAD( "spirit10.rom", 0x120000, 0x080000, 0x2b1180b3 )
ROM_REGION(0x40000) /* Region 2 - sound cpu code */
ROM_LOAD_EVEN( "spirit01.rom", 0x000000, 0x020000, 0xd02ec045 )
ROM_LOAD_ODD( "spirit02.rom", 0x000000, 0x020000, 0x30213390 )
ROM_REGION(0x40000) /* Region 3 - ADPCM sound samples */
ROM_LOAD( "spirit14.rom", 0x000000, 0x040000, 0x13be9979 )
ROM_REGION(0x40000) /* Region 4 - ADPCM sound samples */
ROM_LOAD( "spirit13.rom", 0x000000, 0x040000, 0x05bc04d9 )
ROM_END
#define INPUT_PORTS_AVSPIRIT \
SERVICE \
JOY(0) \
RESERVE \
JOY(IPF_PLAYER2) \
COINAGE_C \
PORT_START \
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
PORT_DIPNAME( 0x04, 0x04, "Allow Continue" ) \
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x04, DEF_STR( On ) ) \
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) ) \
PORT_DIPSETTING( 0x08, "Easy" ) \
PORT_DIPSETTING( 0x18, "Normal" ) \
PORT_DIPSETTING( 0x10, "Hard" ) \
PORT_DIPSETTING( 0x00, "Hardest" ) \
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) \
PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )\
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) \
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Service_Mode ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_START( input_ports_avspirit )
INPUT_PORTS_AVSPIRIT
INPUT_PORTS_END
MEGASYS1_GAMEDRIVER(avspirit,0,Avenging Spirit,1991,B,0)
/***************************************************************************
Earth Defense Force
***************************************************************************/
ROM_START( edf_rom )
ROM_REGION(0xc0000) /* Region 0 - main cpu code - 00000-3ffff & 80000-bffff */
ROM_LOAD_EVEN( "edf_05.rom", 0x000000, 0x040000, 0x105094d1 )
ROM_LOAD_ODD( "edf_06.rom", 0x000000, 0x040000, 0x94da2f0c )
ROM_REGION_DISPOSE(0x1a0000) /* Region 1 - temporary for gfx roms */
ROM_LOAD( "edf_m04.rom", 0x000000, 0x080000, 0x6744f406 )
ROM_LOAD( "edf_m05.rom", 0x080000, 0x080000, 0x6f47e456 )
ROM_LOAD( "edf_09.rom", 0x100000, 0x020000, 0x96e38983 )
ROM_LOAD( "edf_m03.rom", 0x120000, 0x080000, 0xef469449 )
ROM_REGION(0x40000) /* Region 2 - sound cpu code */
ROM_LOAD_EVEN( "edf_01.rom", 0x000000, 0x020000, 0x2290ea19 )
ROM_LOAD_ODD( "edf_02.rom", 0x000000, 0x020000, 0xce93643e )
ROM_REGION(0x40000) /* Region 3 - ADPCM sound samples */
ROM_LOAD( "edf_m02.rom", 0x000000, 0x040000, 0xfc4281d2 )
ROM_REGION(0x40000) /* Region 4 - ADPCM sound samples */
ROM_LOAD( "edf_m01.rom", 0x000000, 0x040000, 0x9149286b )
ROM_END
INPUT_PORTS_START( input_ports_edf )
SERVICE
JOY(0)
RESERVE
JOY(IPF_PLAYER2)
COINAGE_A_2
PORT_START /* IN5 0x66007.b */
PORT_DIPNAME( 0x07, 0x07, "DSW-B bits 2-0" )
PORT_DIPSETTING( 0x00, "0" )
PORT_DIPSETTING( 0x01, "1" )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPSETTING( 0x05, "5" )
PORT_DIPSETTING( 0x06, "6" )
PORT_DIPSETTING( 0x07, "7" )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x00, "0" )
PORT_DIPSETTING( 0x30, "1" )
PORT_DIPSETTING( 0x10, "2" )
PORT_DIPSETTING( 0x20, "3" )
PORT_DIPNAME( 0x40, 0x40, "DSW-B bit 6" )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
MEGASYS1_GAMEDRIVER(edf,0,Earth Defense Force,1991,B,0)
/***************************************************************************
Hachoo
***************************************************************************/
ROM_START( hachoo_rom )
ROM_REGION(0x40000) /* Region 0 - main cpu code */
ROM_LOAD_EVEN( "hacho02.rom", 0x000000, 0x020000, 0x49489c27 )
ROM_LOAD_ODD( "hacho01.rom", 0x000000, 0x020000, 0x97fc9515 )
ROM_REGION_DISPOSE(0x1a0000) /* Region 1 - temporary for gfx roms */
ROM_LOAD( "hacho14.rom", 0x000000, 0x080000, 0x10188483 ) /* Tiles (scroll 2) */
ROM_LOAD( "hacho15.rom", 0x080000, 0x020000, 0xe559347e )
ROM_LOAD( "hacho16.rom", 0x0a0000, 0x020000, 0x105fd8b5 )
ROM_LOAD( "hacho17.rom", 0x0c0000, 0x020000, 0x77f46174 )
ROM_LOAD( "hacho19.rom", 0x100000, 0x020000, 0x33bc9de3 ) /* Text (scroll 3) */
ROM_LOAD( "hacho20.rom", 0x120000, 0x020000, 0x2ae2011e ) /* Sprites 16x16 */
ROM_LOAD( "hacho21.rom", 0x140000, 0x020000, 0x6dcfb8d5 )
ROM_LOAD( "hacho22.rom", 0x160000, 0x020000, 0xccabf0e0 )
ROM_LOAD( "hacho23.rom", 0x180000, 0x020000, 0xff5f77aa )
ROM_REGION(0x20000) /* Region 2 - sound cpu code */
ROM_LOAD_EVEN( "hacho05.rom", 0x000000, 0x010000, 0x6271f74f )
ROM_LOAD_ODD( "hacho06.rom", 0x000000, 0x010000, 0xdb9e743c )
ROM_REGION(0x40000) /* Region 3 - ADPCM sound samples */
ROM_LOAD( "hacho07.rom", 0x000000, 0x020000, 0x06e6ca7f )
ROM_LOAD( "hacho08.rom", 0x020000, 0x020000, 0x888a6df1 )
ROM_REGION(0x40000) /* Region 3 - ADPCM sound samples */
ROM_LOAD( "hacho09.rom", 0x000000, 0x020000, 0xe9f35c90 )
ROM_LOAD( "hacho10.rom", 0x020000, 0x020000, 0x1aeaa188 )
ROM_END
INPUT_PORTS_START( input_ports_hachoo )
SERVICE /* IN0 0x80001.b */
JOY(0) /* IN1 0x80003.b */
RESERVE /* IN2 0x80004.b */
JOY(IPF_PLAYER2) /* IN3 0x80005.b */
COINAGE_A /* IN4 0x80006.b */
UNKNOWN /* IN5 0x80007.b */
INPUT_PORTS_END
MEGASYS1_GAMEDRIVER(hachoo,0,Hachoo,1988,A,rom_decode)
/***************************************************************************
Legend of Makaj
***************************************************************************/
ROM_START( lomakaj_rom )
ROM_REGION(0x40000) /* Region 0 - main cpu code */
ROM_LOAD_EVEN( "lom_30.rom", 0x000000, 0x020000, 0xba6d65b8 )
ROM_LOAD_ODD( "lom_20.rom", 0x000000, 0x020000, 0x56a00dc2 )
ROM_REGION_DISPOSE(0x50000) /* Region 1 - temporary for gfx roms */
ROM_LOAD( "lom_05.rom", 0x000000, 0x020000, 0xd04fc713 )
ROM_LOAD( "lom_08.rom", 0x020000, 0x010000, 0xbdb15e67 )
ROM_LOAD( "lom_06.rom", 0x030000, 0x020000, 0xf33b6eed )
ROM_REGION(0x10000) /* Region 2 - sound cpu code */
ROM_LOAD( "lom_01.rom", 0x0000, 0x10000, 0x46e85e90 )
ROM_END
INPUT_PORTS_START( input_ports_lomakaj )
SERVICE /* IN0 0x80001.b */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -