📄 rockola.c
字号:
ROM_REGION(0x0040) /* color proms */
ROM_LOAD( "g70805.ic7", 0x0000, 0x0020, 0xa5709ff3 ) /* foreground colors */
ROM_LOAD( "g70804.ic6", 0x0020, 0x0020, 0xdacd592d ) /* background colors */
ROM_REGION(0x1800) /* space for the sound ROMs */
ROM_LOAD( "g959-43.51", 0x0000, 0x0800, 0x0345f8b7 )
ROM_LOAD( "g959-44.52", 0x0800, 0x0800, 0x87d67dee )
ROM_LOAD( "g959-45.53", 0x1000, 0x0800, 0x33189917 )
ROM_END
static unsigned char wrong_color_prom[] =
{
/* this is the Zarzon one */
0x00,0xF8,0x02,0xFF,0xF8,0x27,0xC0,0xF8,0xC0,0x80,0x07,0x07,0xFF,0xF8,0x3F,0xFF,
0x00,0xF8,0x02,0xFF,0xC0,0xC0,0x80,0x26,0x38,0xA0,0xA0,0x04,0x07,0xC6,0xC5,0x27,
};
static int vanguard_hiload(void) /* V.V */
{
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[0x0025],"\x00\x10",2) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x0025],3);
osd_fread(f,&RAM[0x0220],112);
osd_fread(f,&RAM[0x02a0],16);
osd_fclose(f);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void vanguard_hisave(void) /* V.V */
{
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[0x0025],3);
osd_fwrite(f,&RAM[0x0220],112);
osd_fwrite(f,&RAM[0x02a0],16);
osd_fclose(f);
}
}
static int fantasy_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[0x0025],"\x00\x20\x00",3) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x0025],3);
osd_fclose(f);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void fantasy_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[0x0025],3);
osd_fclose(f);
}
}
static int nibbler_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[0x0290],"\x00\x50\x00\x00",4) == 0 &&
memcmp(&RAM[0x02b4],"\x00\x05\x00\x00",4) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x0290],4*10);
osd_fread(f,&RAM[0x02d0],3*10);
osd_fclose(f);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void nibbler_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[0x0290],4*10);
osd_fwrite(f,&RAM[0x02d0],3*10);
osd_fclose(f);
}
}
struct GameDriver sasuke_driver =
{
__FILE__,
0,
"sasuke",
"Sasuke vs. Commander",
"1980",
"SNK",
"Dan Boris\nTheo Philips",
GAME_WRONG_COLORS,
&sasuke_machine_driver,
0,
sasuke_rom,
0, 0,
0,
0, /* sound_prom */
sasuke_input_ports,
wrong_color_prom,0,0,
ORIENTATION_ROTATE_90,
0, 0
};
struct GameDriver satansat_driver =
{
__FILE__,
0,
"satansat",
"Satan of Saturn",
"1981",
"SNK",
"Dan Boris\nTheo Philips",
0,
&satansat_machine_driver,
0,
satansat_rom,
0, 0,
fantasy_sample_names,
0, /* sound_prom */
satansat_input_ports,
PROM_MEMORY_REGION(2),0,0,
ORIENTATION_ROTATE_90,
0, 0
};
struct GameDriver zarzon_driver =
{
__FILE__,
&satansat_driver,
"zarzon",
"Zarzon",
"1981",
"[SNK] (Taito America license)",
"Dan Boris\nTheo Philips",
0,
&satansat_machine_driver,
0,
zarzon_rom,
0, 0,
fantasy_sample_names,
0, /* sound_prom */
satansat_input_ports,
PROM_MEMORY_REGION(2),0,0,
ORIENTATION_ROTATE_90,
0, 0
};
struct GameDriver vanguard_driver =
{
__FILE__,
0,
"vanguard",
"Vanguard (SNK)",
"1981",
"SNK",
"Brian Levine (Vanguard emulator)\nBrad Oliver (MAME driver)\nMirko Buffoni (MAME driver)\nAndrew Scott",
0,
&vanguard_machine_driver,
0,
vanguard_rom,
0, 0,
vanguard_sample_names,
0, /* sound_prom */
vanguard_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
vanguard_hiload, vanguard_hisave
};
struct GameDriver vangrdce_driver =
{
__FILE__,
&vanguard_driver,
"vangrdce",
"Vanguard (Centuri)",
"1981",
"SNK (Centuri license)",
"Brian Levine (Vanguard emulator)\nBrad Oliver (MAME driver)\nMirko Buffoni (MAME driver)\nAndrew Scott",
0,
&vanguard_machine_driver,
0,
vangrdce_rom,
0, 0,
vanguard_sample_names,
0, /* sound_prom */
vanguard_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
vanguard_hiload, vanguard_hisave
};
struct GameDriver fantasy_driver =
{
__FILE__,
0,
"fantasy",
"Fantasy",
"1981",
"Rock-ola",
"Nicola Salmoria\nBrian Levine\nMirko Buffoni",
0,
&fantasy_machine_driver,
0,
fantasy_rom,
0, 0,
fantasy_sample_names,
0, /* sound_prom */
fantasy_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
fantasy_hiload, fantasy_hisave
};
struct GameDriver pballoon_driver =
{
__FILE__,
0,
"pballoon",
"Pioneer Balloon",
"1982",
"SNK",
"Nicola Salmoria\nBrian Levine\nMirko Buffoni",
0,
&pballoon_machine_driver,
0,
pballoon_rom,
0, 0,
fantasy_sample_names,
0, /* sound_prom */
pballoon_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
0, 0
};
struct GameDriver nibbler_driver =
{
__FILE__,
0,
"nibbler",
"Nibbler (set 1)",
"1982",
"Rock-ola",
"Nicola Salmoria\nBrian Levine\nMirko Buffoni\nMarco Cassili",
0,
&fantasy_machine_driver,
0,
nibbler_rom,
0, 0,
fantasy_sample_names,
0, /* sound_prom */
nibbler_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
nibbler_hiload, nibbler_hisave
};
struct GameDriver nibblera_driver =
{
__FILE__,
&nibbler_driver,
"nibblera",
"Nibbler (set 2)",
"1982",
"Rock-ola",
"Nicola Salmoria\nBrian Levine\nMirko Buffoni\nMarco Cassili",
0,
&fantasy_machine_driver,
0,
nibblera_rom,
0, 0,
fantasy_sample_names,
0, /* sound_prom */
nibbler_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_90,
nibbler_hiload, nibbler_hisave
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -