📄 galaxian.c
字号:
ROM_END
ROM_START( superg_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "superg.u", 0x0000, 0x0800, 0xe8f3aa67 )
ROM_LOAD( "superg.v", 0x0800, 0x0800, 0xf58283e3 )
ROM_LOAD( "superg.w", 0x1000, 0x0800, 0xddeabdae )
ROM_LOAD( "superg.y", 0x1800, 0x0800, 0x9463f753 )
ROM_LOAD( "superg.z", 0x2000, 0x0800, 0xe6312e35 )
ROM_REGION_DISPOSE(0x1000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "superg.1h", 0x0000, 0x0800, 0x84decf98 )
ROM_LOAD( "superg.1k", 0x0800, 0x0800, 0xc31ada9e )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "galaxian.clr", 0x0000, 0x020, 0xc3ac9467 )
ROM_END
ROM_START( galapx_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "galx.u", 0x0000, 0x0800, 0x79e4007d )
ROM_LOAD( "galx.v", 0x0800, 0x0800, 0xbc16064e )
ROM_LOAD( "galx.w", 0x1000, 0x0800, 0x72d2d3ee )
ROM_LOAD( "galx.y", 0x1800, 0x0800, 0xafe397f3 )
ROM_LOAD( "galx.z", 0x2000, 0x0800, 0x778c0d3c )
ROM_REGION_DISPOSE(0x1000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "galx.1h", 0x0000, 0x0800, 0xe8810654 )
ROM_LOAD( "galx.1k", 0x0800, 0x0800, 0xcbe84a76 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "galaxian.clr", 0x0000, 0x020, 0xc3ac9467 )
ROM_END
ROM_START( galap1_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "galx_1.rom", 0x0000, 0x2800, 0xb22ee816 )
ROM_REGION_DISPOSE(0x1000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "galx_1c1.rom", 0x0000, 0x0800, 0x84decf98 )
ROM_LOAD( "galx_1c2.rom", 0x0800, 0x0800, 0xc31ada9e )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "galaxian.clr", 0x0000, 0x020, 0xc3ac9467 )
ROM_END
ROM_START( galap4_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "galx_4.rom", 0x0000, 0x2800, 0xe88a3eea )
ROM_REGION_DISPOSE(0x1000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "galx_4c1.rom", 0x0000, 0x0800, 0xd5e88ab4 )
ROM_LOAD( "galx_4c2.rom", 0x0800, 0x0800, 0xa57b83e4 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "galaxian.clr", 0x0000, 0x020, 0xc3ac9467 )
ROM_END
ROM_START( galturbo_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "galturbo.u", 0x0000, 0x0800, 0xe8f3aa67 )
ROM_LOAD( "galturbo.v", 0x0800, 0x0800, 0xbc16064e )
ROM_LOAD( "galturbo.w", 0x1000, 0x0800, 0xddeabdae )
ROM_LOAD( "galturbo.y", 0x1800, 0x0800, 0xa44f450f )
ROM_LOAD( "galturbo.z", 0x2000, 0x0800, 0x3247f3d4 )
ROM_REGION_DISPOSE(0x1000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "galturbo.1h", 0x0000, 0x0800, 0xa713fd1a )
ROM_LOAD( "galturbo.1k", 0x0800, 0x0800, 0x28511790 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "galaxian.clr", 0x0000, 0x020, 0xc3ac9467 )
ROM_END
ROM_START( pisces_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "pisces.a1", 0x0000, 0x0800, 0x856b8e1f )
ROM_LOAD( "pisces.a2", 0x0800, 0x0800, 0x055f9762 )
ROM_LOAD( "pisces.b2", 0x1000, 0x0800, 0x5540f2e4 )
ROM_LOAD( "pisces.c1", 0x1800, 0x0800, 0x44aaf525 )
ROM_LOAD( "pisces.d1", 0x2000, 0x0800, 0xfade512b )
ROM_LOAD( "pisces.e2", 0x2800, 0x0800, 0x5ab2822f )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "pisces.1j", 0x0000, 0x1000, 0x2dba9e0e )
ROM_LOAD( "pisces.1k", 0x1000, 0x1000, 0xcdc5aa26 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "pis_l6.bin", 0x0000, 0x020, 0x24652bc4 ) /* very close to Galaxian */
ROM_END
ROM_START( japirem_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, 0xd975af10 )
ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, 0xb2ed14c3 )
ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, 0x945f4160 )
ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, 0xddc80bc5 )
ROM_LOAD( "d08p_5a.bin", 0x2000, 0x0800, 0x62354351 )
ROM_LOAD( "e08p_6a.bin", 0x2800, 0x0800, 0xd915a389 )
ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, 0xc9245346 )
ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, 0x797d45c7 )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, 0x8313c959 )
ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, 0xc26132af )
ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, 0xc9d4537e )
ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, 0xdcc2b33b )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "l06_prom.bin", 0x0000, 0x020, 0x6a0c7d87 ) /* same as Moon Cresta */
ROM_END
ROM_START( uniwars_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, 0xd975af10 )
ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, 0xb2ed14c3 )
ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, 0x945f4160 )
ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, 0xddc80bc5 )
ROM_LOAD( "u5", 0x2000, 0x0800, 0xa0847fe4 )
ROM_LOAD( "u6", 0x2800, 0x0800, 0x270a3f4d )
ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, 0xc9245346 )
ROM_LOAD( "u8", 0x3800, 0x0800, 0x5760b65c )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "u10", 0x0000, 0x0800, 0x012941e0 )
ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, 0xc26132af )
ROM_LOAD( "u9", 0x1000, 0x0800, 0xfc8b58fd )
ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, 0xdcc2b33b )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "uniwars.clr", 0x0000, 0x020, 0x25c79518 )
ROM_END
ROM_START( warofbug_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "warofbug.u", 0x0000, 0x0800, 0xb8dfb7e3 )
ROM_LOAD( "warofbug.v", 0x0800, 0x0800, 0xfd8854e0 )
ROM_LOAD( "warofbug.w", 0x1000, 0x0800, 0x4495aa14 )
ROM_LOAD( "warofbug.y", 0x1800, 0x0800, 0xc14a541f )
ROM_LOAD( "warofbug.z", 0x2000, 0x0800, 0xc167fe55 )
ROM_REGION_DISPOSE(0x1000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "warofbug.1k", 0x0000, 0x0800, 0x8100fa85 )
ROM_LOAD( "warofbug.1j", 0x0800, 0x0800, 0xd1220ae9 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "warofbug.clr", 0x0000, 0x020, 0x8688e64b )
ROM_END
ROM_START( redufo_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "ru1a", 0x0000, 0x0800, 0x5a8e4f37 )
ROM_LOAD( "ru2a", 0x0800, 0x0800, 0xc624f52d )
ROM_LOAD( "ru3a", 0x1000, 0x0800, 0xe1030d1c )
ROM_LOAD( "ru4a", 0x1800, 0x0800, 0x7692069e )
ROM_LOAD( "ru5a", 0x2000, 0x0800, 0xcb648ff3 )
ROM_LOAD( "ru6a", 0x2800, 0x0800, 0xe1a9f58e )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "ruhja", 0x0000, 0x0800, 0x8a422b0d )
ROM_LOAD( "rukla", 0x0800, 0x0800, 0x1eb84cb1 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "rucp", 0x0000, 0x0020, 0xc3ac9467 ) /* same as galaxian */
ROM_END
ROM_START( pacmanbl_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "blpac1b", 0x0000, 0x0800, 0x6718df42 )
ROM_LOAD( "blpac2b", 0x0800, 0x0800, 0x33be3648 )
ROM_LOAD( "blpac3b", 0x1000, 0x0800, 0xf98c0ceb )
ROM_LOAD( "blpac4b", 0x1800, 0x0800, 0xa9cd0082 )
ROM_LOAD( "blpac5b", 0x2000, 0x0800, 0x6d475afc )
ROM_LOAD( "blpac6b", 0x2800, 0x0800, 0xcbe863d3 )
ROM_LOAD( "blpac7b", 0x3000, 0x0800, 0x7daef758 )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "blpac12b", 0x0000, 0x0800, 0xb2ed320b )
ROM_LOAD( "blpac10b", 0x0800, 0x0800, 0x44a45b72 )
ROM_LOAD( "blpac11b", 0x1000, 0x0800, 0xab88b2c4 )
ROM_LOAD( "blpac9b", 0x1800, 0x0800, 0xfa84659f )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "blpaccp", 0x0000, 0x0020, 0x24652bc4 ) /* same as pisces */
ROM_END
ROM_START( zigzag_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "zz_d1.bin", 0x0000, 0x1000, 0x8cc08d81 )
ROM_LOAD( "zz_d2.bin", 0x1000, 0x1000, 0x326d8d45 )
ROM_LOAD( "zz_d4.bin", 0x2000, 0x1000, 0xa94ed92a )
ROM_LOAD( "zz_d3.bin", 0x3000, 0x1000, 0xce5e7a00 )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x1000, 0x780c162a )
ROM_LOAD( "zz_5.bin", 0x1000, 0x1000, 0xf3cdfec5 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "zzbp_e9.bin", 0x0000, 0x0020, 0xaa486dd0 )
ROM_END
ROM_START( zigzag2_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "z1", 0x0000, 0x1000, 0x4c28349a )
ROM_LOAD( "zz_d2.bin", 0x1000, 0x1000, 0x326d8d45 )
ROM_LOAD( "zz_d4.bin", 0x2000, 0x1000, 0xa94ed92a )
ROM_LOAD( "zz_d3.bin", 0x3000, 0x1000, 0xce5e7a00 )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "zz_6_h1.bin", 0x0000, 0x1000, 0x780c162a )
ROM_LOAD( "zz_5.bin", 0x1000, 0x1000, 0xf3cdfec5 )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "zzbp_e9.bin", 0x0000, 0x0020, 0xaa486dd0 )
ROM_END
ROM_START( mooncrgx_rom )
ROM_REGION(0x10000) /* 64k for code */
ROM_LOAD( "1", 0x0000, 0x0800, 0x84cf420b )
ROM_LOAD( "2", 0x0800, 0x0800, 0x4c2a61a1 )
ROM_LOAD( "3", 0x1000, 0x0800, 0x1962523a )
ROM_LOAD( "4", 0x1800, 0x0800, 0x75dca896 )
ROM_LOAD( "5", 0x2000, 0x0800, 0x32483039 )
ROM_LOAD( "6", 0x2800, 0x0800, 0x43f2ab89 )
ROM_LOAD( "7", 0x3000, 0x0800, 0x1e9c168c )
ROM_LOAD( "8", 0x3800, 0x0800, 0x5e09da94 )
ROM_REGION_DISPOSE(0x2000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "10.chr", 0x0000, 0x0800, 0x528da705 )
ROM_LOAD( "12.chr", 0x0800, 0x0800, 0x5a4b17ea )
ROM_LOAD( "9.chr", 0x1000, 0x0800, 0x70df525c )
ROM_LOAD( "11.chr", 0x1800, 0x0800, 0xe0edccbd )
ROM_REGION(0x20) /* color prom */
ROM_LOAD( "mooncrst.clr", 0x0000, 0x0020, 0x6a0c7d87 )
ROM_END
static int galaxian_hiload(void)
{
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
/* wait for the checkerboard pattern to be on screen */
if (memcmp(&RAM[0x5000],"\x30\x32",2) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x40a8],3);
osd_fclose(f);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void galaxian_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[0x40a8],3);
osd_fclose(f);
}
}
static int pisces_hiload(void)
{
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
static int firsttime;
/* check if the hi score table has already been initialized */
/* the high score table is intialized to all 0, so first of all */
/* we dirty it, then we wait for it to be cleared again */
if (firsttime == 0)
{
memset(&RAM[0x4021],0xff,3); /* high score */
firsttime = 1;
}
/* wait for the screen to initialize */
if (memcmp(&RAM[0x4021],"\x00\x00\x00",3) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x4021],3);
osd_fclose(f);
}
firsttime= 0;
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void pisces_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[0x4021],3);
osd_fclose(f);
}
}
static int warofbug_hiload(void)
{
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
static int firsttime;
/* check if the hi score table has already been initialized */
/* the high score table is intialized to all 0, so first of all */
/* we dirty it, then we wait for it to be cleared again */
if (firsttime == 0)
{
memset(&RAM[0x4034],0xff,3); /* high score */
firsttime = 1;
}
/* wait for memory to be set */
if (memcmp(&RAM[0x4034],"\x00\x00\x00",3) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
osd_fread(f,&RAM[0x4034],3);
osd_fclose(f);
}
firsttime = 0;
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void warofbug_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[0x4034],3);
osd_fclose(f);
}
}
static int pacmanbl_hiload(void)
{
static int firsttime;
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
/* check if the hi score table has already been initialized */
/* the high score table is intialized to all 0, so first of all */
/* we dirty it, then we wait for it to be cleared again */
if (firsttime == 0)
{
memset(&RAM[0x4288],0xff,3); /* high score */
firsttime = 1;
}
/* Check for score to be initialised, and wait for "HIGH" to be on screen */
if (memcmp(&RAM[0x4288],"\x00\x00\x00",3) == 0 &&
memcmp(&RAM[0x5180],"\x40",1) == 0 && memcmp(&RAM[0x51a0],"\x40",1) == 0 &&
memcmp(&RAM[0x51c0],"\x40",1) == 0 && memcmp(&RAM[0x51e0],"\x40",1) == 0 &&
memcmp(&RAM[0x5200],"\x40",1) == 0 && memcmp(&RAM[0x5220],"\x40",1) == 0 &&
memcmp(&RAM[0x5240],"\x48",1) == 0 && memcmp(&RAM[0x5260],"\x47",1) == 0 &&
memcmp(&RAM[0x5280],"\x49",1) == 0 && memcmp(&RAM[0x52a0],"\x48",1) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
int hi;
osd_fread(f,&RAM[0x4288],3);
osd_fclose(f);
hi = (RAM[0x4288] & 0x0f) +
(RAM[0x4288] >> 4) * 10 +
(RAM[0x4289] & 0x0f) * 100 +
(RAM[0x4289] >> 4) * 1000 +
(RAM[0x428a] & 0x0f) * 10000 +
(RAM[0x428a] >> 4) * 100000;
if (hi > 0)
RAM[0x5180] = RAM[0x4288] & 0x0F;
if (hi >= 10)
RAM[0x51A0] = RAM[0x4288] >> 4;
if (hi >= 100)
RAM[0x51C0] = RAM[0x4289] & 0x0F;
if (hi >= 1000)
RAM[0x51E0] = RAM[0x4289] >> 4;
if (hi >= 10000)
RAM[0x5200] = RAM[0x428a] & 0x0F;
if (hi >= 100000)
RAM[0x5220] = RAM[0x428a] >> 4;
}
firsttime = 0;
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void pacmanbl_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[0x4288],3);
osd_fclose(f);
}
}
static int zigzag_hiload(void)
{
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
/* wait for memory to be set */
if (memcmp(&RAM[0x5000],"\x10\x10\x10",3) == 0)
{
void *f;
if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0)
{
int hi;
osd_fread(f,&RAM[0x4280],3);
osd_fclose(f);
hi = (RAM[0x4280] & 0x0f) +
(RAM[0x4280] >> 4) * 10 +
(RAM[0x4281] & 0x0f) * 100 +
(RAM[0x4281] >> 4) * 1000 +
(RAM[0x4282] & 0x0f) * 10000 +
(RAM[0x4282] >> 4) * 100000;
if (hi > 0)
RAM[0x52d] = 0x30+(RAM[0x4280] & 0x0F);
if (hi >= 10)
RAM[0x52e] = 0x30+(RAM[0x4280] >> 4);
if (hi >= 100)
RAM[0x52f] = 0x30+(RAM[0x4281] & 0x0F);
if (hi >= 1000)
RAM[0x530] = 0x30+(RAM[0x4281] >> 4);
if (hi >= 10000)
RAM[0x531] = 0x30+(RAM[0x4282] & 0x0F);
if (hi >= 100000)
RAM[0x532] = 0x30+(RAM[0x4282] >> 4);
}
return 1;
}
else return 0; /* we can't load the hi scores yet */
}
static void zigzag_hisave(void)
{
void *f;
unsigned char *RAM = Machine->memory_region[Machine->drv->cpu[0].memory_region];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -