📄 exedexes.c
字号:
256*8 /* every tile takes 256 consecutive bytes */
};
static struct GfxDecodeInfo gfxdecodeinfo[] =
{
{ 1, 0x0000, &charlayout, 0, 64 },
{ 1, 0x2000, &tilelayout, 64*4, 64 }, /* 32x32 Tiles */
{ 1, 0x6000, &spritelayout, 2*64*4, 16 }, /* 16x16 Tiles */
{ 1, 0xe000, &spritelayout, 2*64*4+16*16, 16 }, /* Sprites */
{ -1 } /* end of array */
};
static struct AY8910interface ay8910_interface =
{
2, /* 2 chips */
1500000, /* 1.5 MHz ? */
{ 255, 255 },
{ 0 },
{ 0 },
{ 0 },
{ 0 }
};
static struct SN76496interface sn76496_interface =
{
2, /* 2 chips */
3000000, /* 3 MHz????? */
{ 255, 255 }
};
static struct MachineDriver machine_driver =
{
/* basic machine hardware */
{
{
CPU_Z80,
4000000, /* 4 Mhz (?) */
0,
readmem,writemem,0,0,
c1942_interrupt,2
},
{
CPU_Z80 | CPU_AUDIO_CPU,
3000000, /* 3 Mhz ??? */
3, /* memory region #3 */
sound_readmem,sound_writemem,0,0,
interrupt,4
}
},
60, DEFAULT_60HZ_VBLANK_DURATION, /* frames per second, vblank duration */
1, /* 1 CPU slice per frame - interleaving is forced when a sound command is written */
0,
/* video hardware */
32*8, 32*8, { 2*8, 30*8-1, 0*8, 32*8-1 },
gfxdecodeinfo,
256,64*4+64*4+16*16+16*16,
exedexes_vh_convert_color_prom,
VIDEO_TYPE_RASTER,
0,
generic_vh_start,
generic_vh_stop,
exedexes_vh_screenrefresh,
/* sound hardware */
0,0,0,0,
{
{
SOUND_AY8910,
&ay8910_interface
},
{
SOUND_SN76496,
&sn76496_interface
}
}
};
ROM_START( exedexes_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "11m_ee04.bin", 0x0000, 0x4000, 0x44140dbd )
ROM_LOAD( "10m_ee03.bin", 0x4000, 0x4000, 0xbf72cfba )
ROM_LOAD( "09m_ee02.bin", 0x8000, 0x4000, 0x7ad95e2f )
ROM_REGION_DISPOSE(0x16000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "05c_ee00.bin", 0x00000, 0x2000, 0xcadb75bd ) /* Characters */
ROM_LOAD( "h01_ee08.bin", 0x02000, 0x4000, 0x96a65c1d ) /* 32x32 tiles planes 0-1 */
ROM_LOAD( "a03_ee06.bin", 0x06000, 0x4000, 0x6039bdd1 ) /* 16x16 tiles planes 0-1 */
ROM_LOAD( "a02_ee05.bin", 0x0a000, 0x4000, 0xb32d8252 ) /* 16x16 tiles planes 2-3 */
ROM_LOAD( "j11_ee10.bin", 0x0e000, 0x4000, 0xbc83e265 ) /* Sprites planes 0-1 */
ROM_LOAD( "j12_ee11.bin", 0x12000, 0x4000, 0x0e0f300d ) /* Sprites planes 2-3 */
ROM_REGION(0x0800) /* color PROMs */
ROM_LOAD( "02d_e-02.bin", 0x0000, 0x0100, 0x8d0d5935 ) /* red component */
ROM_LOAD( "03d_e-03.bin", 0x0100, 0x0100, 0xd3c17efc ) /* green component */
ROM_LOAD( "04d_e-04.bin", 0x0200, 0x0100, 0x58ba964c ) /* blue component */
ROM_LOAD( "06f_e-05.bin", 0x0300, 0x0100, 0x35a03579 ) /* char lookup table */
ROM_LOAD( "l04_e-10.bin", 0x0400, 0x0100, 0x1dfad87a ) /* 32x32 tile lookup table */
ROM_LOAD( "c04_e-07.bin", 0x0500, 0x0100, 0x850064e0 ) /* 16x16 tile lookup table */
ROM_LOAD( "l09_e-11.bin", 0x0600, 0x0100, 0x2bb68710 ) /* sprite lookup table */
ROM_LOAD( "l10_e-12.bin", 0x0700, 0x0100, 0x173184ef ) /* sprite palette bank */
ROM_REGION(0x10000) /* 64k for the audio CPU */
ROM_LOAD( "11e_ee01.bin", 0x00000, 0x4000, 0x73cdf3b2 )
ROM_REGION(0x6000) /* For Tile background */
ROM_LOAD( "c01_ee07.bin", 0x0000, 0x4000, 0x3625a68d ) /* Front Tile Map */
ROM_LOAD( "h04_ee09.bin", 0x4000, 0x2000, 0x6057c907 ) /* Back Tile map */
ROM_END
ROM_START( savgbees_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "ee04e.11m", 0x0000, 0x4000, 0xc0caf442 )
ROM_LOAD( "ee03e.10m", 0x4000, 0x4000, 0x9cd70ae1 )
ROM_LOAD( "ee02e.9m", 0x8000, 0x4000, 0xa04e6368 )
ROM_REGION_DISPOSE(0x16000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "ee00e.5c", 0x00000, 0x2000, 0x5972f95f ) /* Characters */
ROM_LOAD( "h01_ee08.bin", 0x02000, 0x4000, 0x96a65c1d ) /* 32x32 tiles planes 0-1 */
ROM_LOAD( "a03_ee06.bin", 0x06000, 0x4000, 0x6039bdd1 ) /* 16x16 tiles planes 0-1 */
ROM_LOAD( "a02_ee05.bin", 0x0a000, 0x4000, 0xb32d8252 ) /* 16x16 tiles planes 2-3 */
ROM_LOAD( "j11_ee10.bin", 0x0e000, 0x4000, 0xbc83e265 ) /* Sprites planes 0-1 */
ROM_LOAD( "j12_ee11.bin", 0x12000, 0x4000, 0x0e0f300d ) /* Sprites planes 2-3 */
ROM_REGION(0x0800) /* color PROMs */
ROM_LOAD( "02d_e-02.bin", 0x0000, 0x0100, 0x8d0d5935 ) /* red component */
ROM_LOAD( "03d_e-03.bin", 0x0100, 0x0100, 0xd3c17efc ) /* green component */
ROM_LOAD( "04d_e-04.bin", 0x0200, 0x0100, 0x58ba964c ) /* blue component */
ROM_LOAD( "06f_e-05.bin", 0x0300, 0x0100, 0x35a03579 ) /* char lookup table */
ROM_LOAD( "l04_e-10.bin", 0x0400, 0x0100, 0x1dfad87a ) /* 32x32 tile lookup table */
ROM_LOAD( "c04_e-07.bin", 0x0500, 0x0100, 0x850064e0 ) /* 16x16 tile lookup table */
ROM_LOAD( "l09_e-11.bin", 0x0600, 0x0100, 0x2bb68710 ) /* sprite lookup table */
ROM_LOAD( "l10_e-12.bin", 0x0700, 0x0100, 0x173184ef ) /* sprite palette bank */
ROM_REGION(0x10000) /* 64k for the audio CPU */
ROM_LOAD( "ee01e.11e", 0x00000, 0x4000, 0x93d3f952 )
ROM_REGION(0x6000) /* For Tile background */
ROM_LOAD( "c01_ee07.bin", 0x0000, 0x4000, 0x3625a68d ) /* Front Tile Map */
ROM_LOAD( "h04_ee09.bin", 0x4000, 0x2000, 0x6057c907 ) /* Back Tile map */
ROM_END
static int hiload(void)
{
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
/* check if the hi score table has already been initialized */
if ((memcmp(&RAM[0xE680],"\x00\x00\x00\x00\x00\x05",6) == 0) &&
(memcmp(&RAM[0xE6C0],"\x00\x00\x00\x00\x00\x01",6) == 0))
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0xE680],0x50);
/* fix the score at the top */
memcpy(&RAM[0xE600],&RAM[0xE680],8);
osd_fclose(f);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void hisave(void)
{
void *f;
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,1)) != 0)
{
osd_fwrite(f,&RAM[0xE680],0x50);
osd_fclose(f);
}
}
struct GameDriver exedexes_driver =
{
__FILE__,
0,
"exedexes",
"Exed Exes",
"1985",
"Capcom",
"Richard Davies\nPaul Leaman\nNicola Salmoria\nMirko Buffoni\nPaul Swan (color info)",
0,
&machine_driver,
0,
exedexes_rom,
0, 0,
0,
0, /* sound_prom */
input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_DEFAULT,
hiload, hisave
};
struct GameDriver savgbees_driver =
{
__FILE__,
&exedexes_driver,
"savgbees",
"Savage Bees",
"1985",
"Capcom (Memetron license)",
"Richard Davies\nPaul Leaman\nNicola Salmoria\nMirko Buffoni\nPaul Swan (color info)",
0,
&machine_driver,
0,
savgbees_rom,
0, 0,
0,
0, /* sound_prom */
input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_DEFAULT,
hiload, hisave
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -