📄 atarisy2.c
字号:
ROM_LOAD( "136042.114", 0x0b8000, 0x08000, 0x35e70a8d )
ROM_LOAD( "136042.218", 0x0c0000, 0x04000, 0x8e500be1 ) /* alpha font */
ROM_REGION(0x10000) /* 64k for 6502 code */
ROM_LOAD( "136042.419", 0x08000, 0x4000, 0xb277915a )
ROM_LOAD( "136042.420", 0x0c000, 0x4000, 0x170b2c53 )
ROM_END
ROM_START( csprint_rom )
ROM_REGION(0x90000) /* 9*64k for T11 code */
ROM_LOAD_ODD ( "045-2126.7l", 0x08000, 0x04000, 0x0ff83de8 ) /* even */
ROM_LOAD_EVEN( "045-1127.7mn", 0x08000, 0x04000, 0xe3e37258 ) /* odd */
ROM_LOAD_ODD ( "045-1125.6f", 0x10000, 0x08000, 0x650623d2 ) /* even */
ROM_LOAD_EVEN( "045-1122.6mn", 0x10000, 0x08000, 0xca1b1cbf ) /* odd */
ROM_LOAD_ODD ( "045-1124.6k", 0x50000, 0x08000, 0x47efca1f ) /* even */
ROM_LOAD_EVEN( "045-1121.6r", 0x50000, 0x08000, 0x6ca404bb ) /* odd */
ROM_LOAD_ODD ( "045-1123.6l", 0x70000, 0x08000, 0x0a4d216a ) /* even */
ROM_LOAD_EVEN( "045-1120.6s", 0x70000, 0x08000, 0x103f3fde ) /* odd */
ROM_REGION_DISPOSE(0xc4000) /* temporary space for graphics (disposed after conversion) */
ROM_LOAD( "045-1105.6a", 0x000000, 0x08000, 0x3773bfbb ) /* bank 0 (4 bpp) */
ROM_RELOAD( 0x008000, 0x08000 )
ROM_LOAD( "045-1106.6b", 0x010000, 0x08000, 0x13a24886 )
ROM_RELOAD( 0x018000, 0x08000 )
ROM_LOAD( "045-1101.7a", 0x020000, 0x10000, 0x5a55f931 )
ROM_LOAD( "045-1102.7b", 0x030000, 0x08000, 0x37548a60 )
ROM_RELOAD( 0x038000, 0x08000 )
ROM_LOAD( "045-1107.6c", 0x040000, 0x08000, 0xe35e354e )
ROM_RELOAD( 0x048000, 0x08000 )
ROM_LOAD( "045-1108.6d", 0x050000, 0x08000, 0x361db8b7 )
ROM_RELOAD( 0x058000, 0x08000 )
ROM_LOAD( "045-1104.7d", 0x060000, 0x10000, 0xd1f8fe7b )
ROM_LOAD( "045-1103.7c", 0x070000, 0x08000, 0x8f8c9692 )
ROM_RELOAD( 0x078000, 0x08000 )
ROM_LOAD( "045-1112.6t", 0x080000, 0x08000, 0xf869b0fc ) /* bank 1 (4 bpp) */
ROM_LOAD( "045-1111.6s", 0x088000, 0x08000, 0xabcbc114 )
ROM_LOAD( "045-1110.6p", 0x090000, 0x08000, 0x9e91e734 )
ROM_LOAD( "045-1109.6n", 0x098000, 0x08000, 0x3a051f36 )
ROM_LOAD( "045-1116.5t", 0x0a0000, 0x08000, 0xb15c1b90 )
ROM_LOAD( "045-1115.5s", 0x0a8000, 0x08000, 0x1dcdd5aa )
ROM_LOAD( "045-1114.5p", 0x0b0000, 0x08000, 0xfb5677d9 )
ROM_LOAD( "045-1113.5n", 0x0b8000, 0x08000, 0x35e70a8d )
ROM_LOAD( "045-1117.4t", 0x0c0000, 0x04000, 0x82da786d ) /* alpha font */
ROM_REGION(0x10000) /* 64k for 6502 code */
ROM_LOAD( "045-1118.2bc", 0x08000, 0x4000, 0xeba41b2f )
ROM_LOAD( "045-1119.2d", 0x0c000, 0x4000, 0x9e49043a )
ROM_END
/*************************************
*
* ROM decoding
*
*************************************/
void paperboy_rom_decode (void)
{
int i;
/* expand the 16k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000)
{
memcpy (&Machine->memory_region[0][i + 0x08000], &Machine->memory_region[0][i], 0x8000);
memcpy (&Machine->memory_region[0][i + 0x10000], &Machine->memory_region[0][i], 0x8000);
memcpy (&Machine->memory_region[0][i + 0x18000], &Machine->memory_region[0][i], 0x8000);
}
/* invert the bits of the sprites */
for (i = 0x20000; i < 0x60000; i++)
Machine->memory_region[1][i] ^= 0xff;
}
void apb_rom_decode (void)
{
int i;
/* invert the bits of the sprites */
for (i = 0x80000; i < 0x180000; i++)
Machine->memory_region[1][i] ^= 0xff;
}
void a720_rom_decode (void)
{
int i;
/* invert the bits of the sprites */
for (i = 0x40000; i < 0x140000; i++)
Machine->memory_region[1][i] ^= 0xff;
}
void ssprint_rom_decode (void)
{
int i;
/* expand the 32k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000)
memcpy (&Machine->memory_region[0][i + 0x10000], &Machine->memory_region[0][i], 0x10000);
/* invert the bits of the sprites */
for (i = 0x80000; i < 0xc0000; i++)
Machine->memory_region[1][i] ^= 0xff;
}
void csprint_rom_decode (void)
{
int i;
/* expand the 32k program ROMs into full 64k chunks */
for (i = 0x10000; i < 0x90000; i += 0x20000)
memcpy (&Machine->memory_region[0][i + 0x10000], &Machine->memory_region[0][i], 0x10000);
/* invert the bits of the sprites */
for (i = 0x80000; i < 0xc0000; i++)
Machine->memory_region[1][i] ^= 0xff;
}
/*************************************
*
* High score save/load
*
*************************************/
int paperboy_hiload (void)
{
void *f;
f = osd_fopen (Machine->gamedrv->name, 0, OSD_FILETYPE_HIGHSCORE, 0);
if (f)
{
osd_fread (f, atarigen_eeprom, atarigen_eeprom_size);
osd_fclose (f);
}
else
{
static const unsigned char data0042[] =
{
0x00,0x13,0x24,0x50,0x53,0x54,0x00,0x12,0xc0,0x55,0x43,0x48,0x00,0x12,0x5c,0x54,
0x4f,0x49,0x00,0x11,0xf8,0x20,0x52,0x53,0x00,0x11,0x49,0x59,0x45,0x20,0x00,0x11,
0x30,0x4f,0x20,0x54,0x00,0x10,0xcc,0x55,0x4f,0x41,0x00,0x10,0x68,0x52,0x4e,0x42,
0x00,0x10,0x04,0x20,0x54,0x4c,0x00,0x0f,0xa0,0x20,0x4f,0x45,0x00,0x26,0xac,0x50,
0x49,0x47,0x00,0x26,0x48,0x41,0x53,0x52,0x00,0x25,0xe4,0x50,0x20,0x45,0x00,0x25,
0x80,0x45,0x54,0x41,0x00,0x25,0x1c,0x52,0x48,0x54,0x00,0x24,0xb8,0x20,0x45,0x45,
0x00,0x24,0x54,0x42,0x20,0x53,0x00,0x23,0xf0,0x4f,0x20,0x54,0x00,0x23,0x8c,0x59,
0x20,0x20,0x00,0x23,0x28,0x20,0x20,0x20,0x00,0x3a,0x34,0x44,0x41,0x54,0x00,0x39,
0xd0,0x54,0x48,0x45,0x00,0x39,0x6c,0x42,0x4f,0x59,0x00,0x39,0x08,0x42,0x46,0x20,
0x00,0x38,0xa4,0x4d,0x45,0x43,0x00,0x38,0x40,0x43,0x4a,0x20,0x00,0x37,0xdc,0x4a,
0x45,0x53,0x00,0x37,0x78,0x50,0x43,0x54,0x00,0x37,0x14,0x4d,0x41,0x41,0x00,0x36,
0xb0,0x42,0x41,0x46,0x01
};
static const unsigned char data00fb[] =
{
0x41,0x7f,0x41,0x7f,0x86,0x41,0x7f,0x41,0x7f,0x85,0x41,0x7f,0x41,0x7f,0x84
};
int i;
for (i = 0x0000; i < 0x0042; i++)
atarigen_eeprom[i + 0x0000] = 0x00;
for (i = 0; i < sizeof (data0042); i++)
atarigen_eeprom[i + 0x0042] = data0042[i];
for (i = 0; i < sizeof (data00fb); i++)
atarigen_eeprom[i + 0x00fb] = data00fb[i];
}
return 1;
}
int ssprint_hiload (void)
{
void *f;
f = osd_fopen (Machine->gamedrv->name, 0, OSD_FILETYPE_HIGHSCORE, 0);
if (f)
{
osd_fread (f, atarigen_eeprom, atarigen_eeprom_size);
osd_fclose (f);
}
else
{
static const unsigned char data0000[] =
{
0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0xff,0x00,
0x40,0x00,0x40,0x10,0x00,0x10,0x50,0x00,0x10,0x00,0x00,0x00,0x40,0xff,0x00,0x60,
0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x60,0xff,0x00,0x80,0x00,
0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x00,0xa0,0x00,0xa0,
0x00,0x00,0x00,0xa0,0x00,0x00,0x00,0x00,0x00,0xa0,0xff,0x00,0xc0,0x00,0xc0,0x00,
0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0xc0
};
static const unsigned char data0186[] =
{
0x03,0xe8,0x46,0xd6,0x03,0xde,0x28,0xb3,0x03,0xd4,0x44,0x23,0x03,0xca,0x1c,0x0b,
0x03,0xc0,0x59,0xbf,0x03,0xb6,0x29,0x9f,0x03,0xac,0x4a,0xc2,0x03,0xa2,0x0e,0xdf,
0x03,0x98,0x31,0xbf,0x03,0x8e,0x0d,0x06,0x03,0x84,0x0e,0x86,0x03,0x7a,0x24,0x0c,
0x03,0x70,0x4a,0x48,0x03,0x66,0x51,0xf2,0x03,0x5c,0x3e,0x3f,0x03,0x52,0x11,0x06,
0x03,0x48,0x45,0xb1,0x03,0x3e,0x7e,0x64,0x03,0x34,0x7f,0xe0,0x03,0x2a,0x7f,0xf3,
0x03,0x20,0x7f,0xff,0x03,0x16,0x2a,0xd6,0x03,0x0c,0x25,0x76,0x03,0x02,0x4c,0x61,
0x02,0xf8,0x28,0x01,0x02,0xee,0x01,0x53,0x02,0xe4,0x09,0x32,0x02,0xda,0x2c,0x32,
0x02,0xd0,0x25,0x86,0x02,0xc6,0x1d,0x1f
};
int i;
for (i = 0; i < sizeof (data0000); i++)
atarigen_eeprom[i + 0x0000] = data0000[i];
for (i = 0x0069; i < 0x0186; i++)
atarigen_eeprom[i] = 0xff;
for (i = 0; i < sizeof (data0186); i++)
atarigen_eeprom[i + 0x0186] = data0186[i];
}
return 1;
}
/*************************************
*
* Game driver(s)
*
*************************************/
struct GameDriver paperboy_driver =
{
__FILE__,
0,
"paperboy",
"Paperboy",
"1984",
"Atari Games",
"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
0,
&paperboy_machine_driver,
0,
paperboy_rom,
paperboy_rom_decode,
0,
0,
0, /* sound_prom */
paperboy_input_ports,
0, 0, 0, /* colors, palette, colortable */
ORIENTATION_DEFAULT,
paperboy_hiload, atarigen_hisave
};
struct GameDriver apb_driver =
{
__FILE__,
0,
"apb",
"APB (set 1)",
"1987",
"Atari Games",
"Juergen Buchmueller (MAME driver)\nAaron Giles (MAME driver)\nMike Balfour (hardware info)",
GAME_NOT_WORKING,
&apb_machine_driver,
0,
apb_rom,
apb_rom_decode,
0,
0,
0, /* sound_prom */
apb_input_ports,
0, 0, 0, /* colors, palette, colortable */
ORIENTATION_ROTATE_270,
atarigen_hiload, atarigen_hisave
};
struct GameDriver apb2_driver =
{
__FILE__,
&apb_driver,
"apb2",
"APB (set 2)",
"1987",
"Atari Games",
"Juergen Buchmueller (MAME driver)\nAaron Giles (MAME driver)\nMike Balfour (hardware info)",
GAME_NOT_WORKING,
&apb_machine_driver,
0,
apb2_rom,
apb_rom_decode,
0,
0,
0, /* sound_prom */
apb_input_ports,
0, 0, 0, /* colors, palette, colortable */
ORIENTATION_ROTATE_270,
atarigen_hiload, atarigen_hisave
};
struct GameDriver a720_driver =
{
__FILE__,
0,
"720",
"720 Degrees (set 1)",
"1986",
"Atari Games",
"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
GAME_NOT_WORKING,
&a720_machine_driver,
0,
a720_rom,
a720_rom_decode,
0,
0,
0, /* sound_prom */
a720_input_ports,
0, 0, 0, /* colors, palette, colortable */
ORIENTATION_DEFAULT,
atarigen_hiload, atarigen_hisave
};
struct GameDriver a720b_driver =
{
__FILE__,
&a720_driver,
"720b",
"720 Degrees (set 2)",
"1986",
"Atari Games",
"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
GAME_NOT_WORKING,
&a720_machine_driver,
0,
a720b_rom,
a720_rom_decode,
0,
0,
0, /* sound_prom */
a720_input_ports,
0, 0, 0, /* colors, palette, colortable */
ORIENTATION_DEFAULT,
atarigen_hiload, atarigen_hisave
};
struct GameDriver ssprint_driver =
{
__FILE__,
0,
"ssprint",
"Super Sprint",
"1986",
"Atari Games",
"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
0,
&ssprint_machine_driver,
0,
ssprint_rom,
ssprint_rom_decode,
0,
0,
0, /* sound_prom */
ssprint_input_ports,
0, 0, 0, /* colors, palette, colortable */
ORIENTATION_DEFAULT,
ssprint_hiload, atarigen_hisave
};
struct GameDriver csprint_driver =
{
__FILE__,
0,
"csprint",
"Championship Sprint",
"1986",
"Atari Games",
"Aaron Giles (MAME driver)\nJuergen Buchmueller (MAME driver)\nMike Balfour (hardware info)",
0,
&csprint_machine_driver,
0,
csprint_rom,
csprint_rom_decode,
0,
0,
0, /* sound_prom */
csprint_input_ports,
0, 0, 0, /* colors, palette, colortable */
ORIENTATION_DEFAULT,
atarigen_hiload, atarigen_hisave
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -