📄 route16.c
字号:
0, \
route16_vh_start, \
route16_vh_stop, \
route16_vh_screenrefresh, \
\
/* sound hardware */ \
0,0,0,0, \
{ \
AUDIO_INTERFACES \
} \
};
#define ROUTE16_AUDIO_INTERFACE \
{ \
SOUND_AY8910, \
&ay8910_interface \
}
#define STRATVOX_AUDIO_INTERFACE \
{ \
SOUND_AY8910, \
&ay8910_interface \
}, \
{ \
SOUND_DAC, \
&dac_interface \
}, \
{ \
SOUND_SAMPLES, \
&samples_interface \
}
MACHINE_DRIVER(route16, ROUTE16_AUDIO_INTERFACE )
MACHINE_DRIVER(stratvox, STRATVOX_AUDIO_INTERFACE)
/***************************************************************************
Game driver(s)
***************************************************************************/
ROM_START( route16_rom )
ROM_REGION(0x10000)
ROM_LOAD( "rt16.0", 0x0000, 0x0800, 0xb1f0f636 )
ROM_LOAD( "rt16.1", 0x0800, 0x0800, 0x3ec52fe5 )
ROM_LOAD( "rt16.2", 0x1000, 0x0800, 0xa8e92871 )
ROM_LOAD( "rt16.3", 0x1800, 0x0800, 0xa0fc9fc5 )
ROM_LOAD( "rt16.4", 0x2000, 0x0800, 0x6dcaf8c4 )
ROM_LOAD( "rt16.5", 0x2800, 0x0800, 0x63d7b05b )
ROM_REGION_DISPOSE(0x1000)
/* empty memory region - not used by the game, but needed because the main */
/* core currently always frees region #1 after initialization. */
ROM_REGION(0x0200) /* color proms */
/* The upper 128 bytes are 0's, used by the hardware to blank the display */
ROM_LOAD( "pr09", 0x0000, 0x0100, 0x08793ef7 ) /* top bitmap */
ROM_LOAD( "pr10", 0x0100, 0x0100, 0x08793ef7 ) /* bottom bitmap */
ROM_REGION(0x10000)
ROM_LOAD( "rt16.6", 0x0000, 0x0800, 0xfef605f3 )
ROM_LOAD( "rt16.7", 0x0800, 0x0800, 0xd0d6c189 )
ROM_LOAD( "rt16.8", 0x1000, 0x0800, 0xdefc5797 )
ROM_LOAD( "rt16.9", 0x1800, 0x0800, 0x88d94a66 )
ROM_END
static const char *stratvox_sample_names[] =
{
"*stratvox",
"explode.sam",
"bonus.sam",
0 /* end of array */
};
ROM_START( stratvox_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "ls01.bin", 0x0000, 0x0800, 0xbf4d582e )
ROM_LOAD( "ls02.bin", 0x0800, 0x0800, 0x16739dd4 )
ROM_LOAD( "ls03.bin", 0x1000, 0x0800, 0x083c28de )
ROM_LOAD( "ls04.bin", 0x1800, 0x0800, 0xb0927e3b )
ROM_LOAD( "ls05.bin", 0x2000, 0x0800, 0xccd25c4e )
ROM_LOAD( "ls06.bin", 0x2800, 0x0800, 0x07a907a7 )
ROM_REGION_DISPOSE(0x1000)
/* empty memory region - not used by the game, but needed because the main */
/* core currently always frees region #1 after initialization. */
ROM_REGION(0x0200) /* color proms */
/* The upper 128 bytes are 0's, used by the hardware to blank the display */
ROM_LOAD( "pr09", 0x0000, 0x0100, 0x08793ef7 ) /* top bitmap */
ROM_LOAD( "pr10", 0x0100, 0x0100, 0x08793ef7 ) /* bottom bitmap */
ROM_REGION(0x10000) /* 64k for the second CPU */
ROM_LOAD( "ls07.bin", 0x0000, 0x0800, 0x4d333985 )
ROM_LOAD( "ls08.bin", 0x0800, 0x0800, 0x35b753fc )
ROM_END
ROM_START( speakres_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "speakres.1", 0x0000, 0x0800, 0x6026e4ea )
ROM_LOAD( "speakres.2", 0x0800, 0x0800, 0x93f0d4da )
ROM_LOAD( "speakres.3", 0x1000, 0x0800, 0xa3874304 )
ROM_LOAD( "speakres.4", 0x1800, 0x0800, 0xf484be3a )
ROM_LOAD( "speakres.5", 0x2000, 0x0800, 0x61b12a67 )
ROM_LOAD( "speakres.6", 0x2800, 0x0800, 0x220e0ab2 )
ROM_REGION_DISPOSE(0x1000)
/* empty memory region - not used by the game, but needed because the main */
/* core currently always frees region #1 after initialization. */
ROM_REGION(0x0200) /* color proms */
/* The upper 128 bytes are 0's, used by the hardware to blank the display */
ROM_LOAD( "pr09", 0x0000, 0x0100, 0x08793ef7 ) /* top bitmap */
ROM_LOAD( "pr10", 0x0100, 0x0100, 0x08793ef7 ) /* bottom bitmap */
ROM_REGION(0x10000) /* 64k for the second CPU */
ROM_LOAD( "speakres.7", 0x0000, 0x0800, 0xd417be13 )
ROM_LOAD( "speakres.8", 0x0800, 0x0800, 0x52485d60 )
ROM_END
static int route16_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[0x4028],"\x01",1) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x4032],9);
osd_fclose(f);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void route16_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[0x4032],9);
osd_fclose(f);
}
}
static int stratvox_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[0x410f],"\x0f",1) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x4010],3);
osd_fclose(f);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void stratvox_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[0x4010],3);
osd_fclose(f);
}
}
struct GameDriver route16_driver =
{
__FILE__,
0,
"route16",
"Route 16",
"1981",
"bootleg",
"Zsolt Vasvari\nMike Balfour",
0,
&route16_machine_driver,
route16_set_machine_type,
route16_rom,
0, 0,
0,
0, /* sound_prom */
route16_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
route16_hiload, route16_hisave
};
struct GameDriver stratvox_driver =
{
__FILE__,
0,
"stratvox",
"Stratovox",
"1980",
"Taito",
"Darren Olafson\nZsolt Vasvari\nMike Balfour",
0,
&stratvox_machine_driver,
stratvox_set_machine_type,
stratvox_rom,
0, 0,
stratvox_sample_names,
0, /* sound_prom */
stratvox_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
stratvox_hiload, stratvox_hisave
};
struct GameDriver speakres_driver =
{
__FILE__,
&stratvox_driver,
"speakres",
"Speak & Rescue",
"????",
"?????",
"Darren Olafson\nZsolt Vasvari\nMike Balfour",
0,
&stratvox_machine_driver,
stratvox_set_machine_type,
speakres_rom,
0, 0,
stratvox_sample_names,
0, /* sound_prom */
stratvox_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
stratvox_hiload, stratvox_hisave
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -