📄 system16.c
字号:
ROM_REGION( 0x10000 ) /* sound CPU */
ROM_LOAD( "13448", 0x0000, 0x8000, 0xb5183fb9 )
ROM_END
/***************************************************************************/
static struct MemoryReadAddress aurail_readmem[] =
{
{ 0x000000, 0x0fffff, MRA_ROM },
{ 0x3f0000, 0x3fffff, MRA_EXTRAM },
{ 0x400000, 0x40ffff, MRA_TILERAM },
{ 0x410000, 0x410fff, MRA_TEXTRAM },
{ 0x440000, 0x440fff, MRA_SPRITERAM },
{ 0x840000, 0x840fff, MRA_PALETTERAM },
{ 0xc41002, 0xc41003, io_player1_r },
{ 0xc41006, 0xc41007, io_player2_r },
{ 0xc41000, 0xc41001, io_service_r },
{ 0xc42002, 0xc42003, io_dip1_r },
{ 0xc42000, 0xc42001, io_dip2_r },
{ 0xfc0000, 0xfc0fff, MRA_EXTRAM3 },
{ 0xff0000, 0xffffff, MRA_WORKINGRAM },
{-1}
};
static struct MemoryWriteAddress aurail_writemem[] =
{
{ 0x000000, 0x0fffff, MWA_ROM },
{ 0x3f0000, 0x3fffff, MWA_EXTRAM },
{ 0x400000, 0x40ffff, MWA_TILERAM },
{ 0x410000, 0x410fff, MWA_TEXTRAM },
{ 0x440000, 0x44ffff, MWA_SPRITERAM },
{ 0x840000, 0x84ffff, MWA_PALETTERAM },
{ 0xc40000, 0xc40fff, MWA_EXTRAM2 },
{ 0xfc0000, 0xfc0fff, MWA_EXTRAM3 },
{ 0xfe0006, 0xfe0007, sound_command_w },
{ 0xff0000, 0xffffff, MWA_WORKINGRAM },
{-1}
};
/***************************************************************************/
void aurail_update_proc (void)
{
sys16_fg_scrollx = READ_WORD( &sys16_textram[0x0e98] );
sys16_bg_scrollx = READ_WORD( &sys16_textram[0x0e9a] );
sys16_fg_scrolly = READ_WORD( &sys16_textram[0x0e90] );
sys16_bg_scrolly = READ_WORD( &sys16_textram[0x0e92] );
set_fg_page( READ_WORD( &sys16_textram[0x0e80] ) );
set_bg_page( READ_WORD( &sys16_textram[0x0e82] ) );
set_tile_bank( READ_WORD( &sys16_extraram3[0x0002] ) );
set_refresh( READ_WORD( &sys16_extraram2[0] ) );
}
void aurail_init_machine( void ){
static int bank[16] = {0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0E,0x10,0x12,0x14,0x16,0x18,0x1A,0x1C,0x1E};
sys16_obj_bank = bank;
copy_rom64k( 0x8, 0x4 );
copy_rom64k( 0x9, 0x5 );
copy_rom64k( 0xA, 0x6 );
copy_rom64k( 0xB, 0x7 );
copy_rom64k( 0x4, 0x0 );
copy_rom64k( 0x5, 0x1 );
copy_rom64k( 0x6, 0x2 );
copy_rom64k( 0x7, 0x3 );
sys16_update_proc = aurail_update_proc;
}
void aurail_sprite_decode (void)
{
sys16_sprite_decode (8,0x40000);
}
/***************************************************************************/
INPUT_PORTS_START( aurail_input_ports )
SYS16_JOY1
SYS16_JOY2
SYS16_SERVICE
SYS16_COINAGE
SYS16_OPTIONS
INPUT_PORTS_END
/***************************************************************************/
MACHINE_DRIVER( aurail_machine_driver, \
aurail_readmem,aurail_writemem,aurail_init_machine, gfx4 )
struct GameDriver aurail_driver =
{
__FILE__,
0,
"aurail",
"Aurail (bootleg)",
"1990",
"bootleg",
SYS16_CREDITS,
GAME_NOT_WORKING,
&aurail_machine_driver,
0,
aurail_rom,
aurail_sprite_decode, 0,
0,
0,
aurail_input_ports,
0, 0, 0,
ORIENTATION_DEFAULT,
0, 0
};
/***************************************************************************/
ROM_START( dduxbl_rom )
ROM_REGION( 0x0c0000 ) /* 68000 code */
ROM_LOAD_ODD ( "dduxb05.bin", 0x000000, 0x20000, 0x459d1237 )
ROM_LOAD_EVEN( "dduxb03.bin", 0x000000, 0x20000, 0xe7526012 )
ROM_LOAD_ODD ( "dduxb05.bin", 0x040000, 0x20000, 0x459d1237 )
ROM_LOAD_EVEN( "dduxb03.bin", 0x040000, 0x20000, 0xe7526012 )
ROM_LOAD_ODD ( "dduxb04.bin", 0x080000, 0x20000, 0x30c6cb92 )
ROM_LOAD_EVEN( "dduxb02.bin", 0x080000, 0x20000, 0xd8ed3132 )
ROM_REGION( 0x30000 ) /* tiles */
ROM_LOAD( "dduxb14.bin", 0x00000, 0x10000, 0x664bd135 )
ROM_LOAD( "dduxb15.bin", 0x10000, 0x10000, 0xce0d2b30 )
ROM_LOAD( "dduxb16.bin", 0x20000, 0x10000, 0x6de95434 )
ROM_REGION( 0x080000*2 ) /* sprites */
ROM_LOAD( "dduxb10.bin", 0x000000, 0x010000, 0x0be3aee5 )
ROM_LOAD( "dduxb06.bin", 0x010000, 0x010000, 0xb0079e99 )
ROM_LOAD( "dduxb11.bin", 0x020000, 0x010000, 0xcfb2af18 )
ROM_LOAD( "dduxb07.bin", 0x030000, 0x010000, 0x0217369c )
ROM_LOAD( "dduxb12.bin", 0x040000, 0x010000, 0x28ce9b15 )
ROM_LOAD( "dduxb08.bin", 0x050000, 0x010000, 0x8844f336 )
ROM_LOAD( "dduxb13.bin", 0x060000, 0x010000, 0xefe57759 )
ROM_LOAD( "dduxb09.bin", 0x070000, 0x010000, 0x6b64f665 )
ROM_REGION( 0x10000 ) /* sound CPU */
ROM_LOAD( "dduxb01.bin", 0x0000, 0x8000, 0x0dbef0d7 )
ROM_END
/***************************************************************************/
static struct MemoryReadAddress dduxbl_readmem[] =
{
{ 0x000000, 0x0bffff, MRA_ROM },
{ 0x400000, 0x40ffff, MRA_TILERAM },
{ 0x410000, 0x41ffff, MRA_TEXTRAM },
{ 0x440000, 0x44ffff, MRA_SPRITERAM },
{ 0x840000, 0x84ffff, MRA_PALETTERAM },
{ 0xc41002, 0xc41003, io_player1_r },
{ 0xc41006, 0xc41007, io_player2_r },
{ 0xc41000, 0xc41001, io_service_r },
{ 0xc42002, 0xc42003, io_dip1_r },
{ 0xc42000, 0xc42001, io_dip2_r },
{ 0xff0000, 0xffffff, MRA_WORKINGRAM },
{-1}
};
static struct MemoryWriteAddress dduxbl_writemem[] =
{
{ 0x000000, 0x0bffff, MWA_ROM },
{ 0x400000, 0x40ffff, MWA_TILERAM },
{ 0x410000, 0x41ffff, MWA_TEXTRAM },
{ 0x440000, 0x44ffff, MWA_SPRITERAM },
{ 0x840000, 0x84ffff, MWA_PALETTERAM },
{ 0xc40000, 0xc4ffff, MWA_EXTRAM2 },
{ 0xfe0006, 0xfe0007, sound_command_w },
{ 0xff0000, 0xffffff, MWA_WORKINGRAM },
{-1}
};
/***************************************************************************/
void dduxbl_update_proc( void ){
sys16_fg_scrollx = READ_WORD( &sys16_extraram2[0x6018] );
sys16_bg_scrollx = READ_WORD( &sys16_extraram2[0x6008] );
sys16_fg_scrolly = READ_WORD( &sys16_extraram2[0x6010] );
sys16_bg_scrolly = READ_WORD( &sys16_extraram2[0x6000] );
set_fg_page( READ_WORD( &sys16_extraram2[0x6126] ) );
set_bg_page( READ_WORD( &sys16_extraram2[0x6122] ) );
set_refresh( READ_WORD( &sys16_extraram2[0] ) );
}
void dduxbl_init_machine( void ){
static int bank[16] = {00,00,00,00,00,00,00,0x06,00,00,00,0x04,00,0x02,00,00};
sys16_obj_bank = bank;
patch_code( 0x3932e, 0x4e );
patch_code( 0x3932f, 0x71 );
patch_code( 0x3935a, 0x4e );
patch_code( 0x3935b, 0x71 );
patch_code( 0x3934e, 0x00 );
patch_code( 0x1eb2e, 0x01 );
patch_code( 0x1eb2f, 0x01 );
patch_code( 0x1eb3c, 0x00 );
patch_code( 0x1eb3d, 0x00 );
patch_code( 0x23132, 0x01 );
patch_code( 0x23133, 0x01 );
patch_code( 0x23140, 0x00 );
patch_code( 0x23141, 0x00 );
patch_code( 0x24a9a, 0x01 );
patch_code( 0x24a9b, 0x01 );
patch_code( 0x24aa8, 0x00 );
patch_code( 0x24aa9, 0x00 );
sys16_update_proc = dduxbl_update_proc;
}
void dduxbl_sprite_decode (void)
{
int i;
/* invert the graphics bits on the tiles */
for (i = 0; i < 0x30000; i++)
Machine->memory_region[1][i] ^= 0xff;
sys16_sprite_decode( 4,0x020000 );
}
/***************************************************************************/
INPUT_PORTS_START( dduxbl_input_ports )
SYS16_JOY1
SYS16_JOY2
SYS16_SERVICE
SYS16_COINAGE
SYS16_OPTIONS
INPUT_PORTS_END
/***************************************************************************/
MACHINE_DRIVER( dduxbl_machine_driver, \
dduxbl_readmem,dduxbl_writemem,dduxbl_init_machine, gfx1 )
struct GameDriver dduxbl_driver =
{
__FILE__,
0,
"dduxbl",
"Dynamite Dux (bootleg)",
"1989",
"bootleg",
SYS16_CREDITS,
0,
&dduxbl_machine_driver,
0,
dduxbl_rom,
dduxbl_sprite_decode, 0,
0,
0,
dduxbl_input_ports,
0, 0, 0,
ORIENTATION_DEFAULT,
0, 0
};
/***************************************************************************/
ROM_START( eswatbl_rom )
ROM_REGION( 0x050000 ) /* 68000 code */
ROM_LOAD_ODD ( "eswat_f.rom", 0x000000, 0x10000, 0xf7b2d388 )
ROM_LOAD_EVEN( "eswat_c.rom", 0x000000, 0x10000, 0x1028cc81 )
ROM_LOAD_ODD ( "eswat_e.rom", 0x020000, 0x10000, 0x937ddf9a )
ROM_LOAD_EVEN( "eswat_b.rom", 0x020000, 0x10000, 0x87c6b1b5 )
ROM_LOAD_ODD ( "eswat_d.rom", 0x040000, 0x08000, 0xb4751e19 )
ROM_LOAD_EVEN( "eswat_a.rom", 0x040000, 0x08000, 0x2af4fc62 )
ROM_REGION( 0xc0000 ) /* tiles */
ROM_LOAD( "ic19.bin", 0x00000, 0x40000, 0x375a5ec4 )
ROM_LOAD( "ic20.bin", 0x40000, 0x40000, 0x3b8c757e )
ROM_LOAD( "ic21.bin", 0x80000, 0x40000, 0x3efca25c )
ROM_REGION( 0x180000*2 ) /* sprites */
ROM_LOAD( "ic9.bin", 0x000000, 0x040000, 0x0d1530bf )
ROM_LOAD( "ic12.bin", 0x040000, 0x040000, 0x18ff0799 )
ROM_LOAD( "ic10.bin", 0x080000, 0x040000, 0x32069246 )
ROM_LOAD( "ic13.bin", 0x0c0000, 0x040000, 0xa3dfe436 )
ROM_LOAD( "ic11.bin", 0x100000, 0x040000, 0xf6b096e0 )
ROM_LOAD( "ic14.bin", 0x140000, 0x040000, 0x6773fef6 )
ROM_REGION( 0x10000 ) /* sound CPU */
ROM_LOAD( "ic8.bin", 0x0000, 0x8000, 0x7efecf23 )
ROM_END
/***************************************************************************/
static struct MemoryReadAddress eswatbl_readmem[] =
{
{ 0x000000, 0x04ffff, MRA_ROM },
{ 0x3e0000, 0xe3ffff, MRA_EXTRAM },
{ 0x400000, 0x40ffff, MRA_TILERAM },
{ 0x410000, 0x41ffff, MRA_TEXTRAM },
{ 0x440000, 0x44ffff, MRA_SPRITERAM },
{ 0x840000, 0x84ffff, MRA_PALETTERAM },
{ 0xc41002, 0xc41003, io_player1_r },
{ 0xc41006, 0xc41007, io_player2_r },
{ 0xc41000, 0xc41001, io_service_r },
{ 0xc42002, 0xc42003, io_dip1_r },
{ 0xc42000, 0xc42001, io_dip2_r },
{ 0xc80000, 0xc8ffff, MRA_EXTRAM3 },
{ 0xff0000, 0xffffff, MRA_WORKINGRAM },
{-1}
};
static struct MemoryWriteAddress eswatbl_writemem[] =
{
{ 0x000000, 0x04ffff, MWA_ROM },
{ 0x3e0000, 0xe3ffff, MWA_EXTRAM },
{ 0x400000, 0x40ffff, MWA_TILERAM },
{ 0x410000, 0x41ffff, MWA_TEXTRAM },
{ 0x440000, 0x44ffff, MWA_SPRITERAM },
{ 0x840000, 0x84ffff, MWA_PALETTERAM },
{ 0xc40000, 0xc4ffff, MWA_EXTRAM2 },
{ 0xc80000, 0xc8ffff, MWA_EXTRAM3 },
{ 0xfe0006, 0xfe0007, sound_command_w },
{ 0xff0000, 0xffffff, MWA_WORKINGRAM },
{-1}
};
/***************************************************************************/
void eswatbl_update_proc( void ){
sys16_fg_scrollx = READ_WORD( &sys16_textram[0x8008] );
sys16_bg_scrollx = READ_WORD( &sys16_textram[0x8018] );
sys16_fg_scrolly = READ_WORD( &sys16_textram[0x8000] );
sys16_bg_scrolly = READ_WORD( &sys16_textram[0x8010] );
set_fg_page( READ_WORD( &sys16_textram[0x8020] ) );
set_bg_page( READ_WORD( &sys16_textram[0x8028] ) );
set_tile_bank( READ_WORD( &sys16_textram[0x8030] ) );
set_refresh( READ_WORD( &sys16_extraram2[0] ) );
}
void eswatbl_init_machine( void ){
static int bank[16] = { 0,2,8,10,16,18,24,26,4,6,12,14,20,22,28,30};
sys16_obj_bank = bank;
patch_code( 0x9ec, 0x4e );
patch_code( 0x9ed, 0x71 );
patch_code( 0x9f8, 0x4e );
patch_code( 0x9f9, 0x71 );
patch_code( 0x3897, 0x11 );
sys16_update_proc = eswatbl_update_proc;
}
void eswatbl_sprite_decode( void ){
sys16_sprite_decode( 3,0x040000 );
}
/***************************************************************************/
INPUT_PORTS_START( eswatbl_input_ports )
SYS16_JOY1
SYS16_JOY2
SYS16_SERVICE
SYS16_COINAGE
SYS16_OPTIONS
INPUT_PORTS_END
/***************************************************************************/
MACHINE_DRIVER( eswatbl_machine_driver, \
eswatbl_readmem,eswatbl_writemem,eswatbl_init_machine, gfx4 )
struct GameDriver eswatbl_driver =
{
__FILE__,
0,
"eswatbl",
"E-Swat (bootleg)",
"????",
"bootleg",
SYS16_CREDITS,
GAME_NOT_WORKING,
&eswatbl_machine_driver,
0,
eswatbl_rom,
eswatbl_sprite_decode, 0,
0,
0,
eswatbl_input_ports,
0, 0, 0,
ORIENTATION_DEFAULT,
0, 0
};
/***************************************************************************/
ROM_START( fantzone_rom )
ROM_REGION( 0x030000 ) /* 68000 code */
ROM_LOAD_ODD ( "7382.26", 0x000000, 0x8000, 0x3fda7416 )
ROM_LOAD_EVEN( "7385.43", 0x000000, 0x8000, 0x5cb64450 )
ROM_LOAD_ODD ( "7383.25", 0x010000, 0x8000, 0xa001e10a )
ROM_LOAD_EVEN( "7386.42", 0x010000, 0x8000, 0x15810ace )
ROM_LOAD_ODD ( "7384.24", 0x020000, 0x8000, 0xfd909341 )
ROM_LOAD_EVEN( "7387.41", 0x020000, 0x8000, 0x0acd335d )
ROM_REGION( 0x18000 ) /* tiles */
ROM_LOAD( "7388.95", 0x00000, 0x08000, 0x8eb02f6b )
ROM_LOAD( "7389.94", 0x08000, 0x08000, 0x2f4f71b8 )
ROM_LOAD( "7390.93", 0x10000, 0x08000, 0xd90609c6 )
ROM_REGION( 0x030000*2 ) /* sprites */
ROM_LOAD( "7392.10", 0x000000, 0x008000, 0x5bb7c8b6 )
ROM_LOAD( "7396.11", 0x008000, 0x008000, 0x74ae4b57 )
ROM_LOAD( "7393.17", 0x010000, 0x008000, 0x14fc7e82 )
ROM_LOAD( "7397.18", 0x018000, 0x008000, 0xe05a1e25 )
ROM_LOAD( "7394.23", 0x020000, 0x008000, 0x531ca13f )
ROM_LOAD( "7398.24", 0x028000, 0x008000, 0x68807b49 )
ROM_REGION( 0x10000 ) /* sound CPU */
ROM_LOAD( "epr7535.fz", 0x0000, 0x8000, 0xbc1374fa )
ROM_END
/***************************************************************************/
static struct MemoryReadAddress fantzone_readmem[] =
{
{ 0x000000, 0x02ffff, MRA_ROM },
{ 0x400000, 0x40ffff, MRA_TILERAM },
{ 0x410000, 0x41ffff, MRA_TEXTRAM },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -