📄 cclimber.c
字号:
"Crazy Kong (set 1)",
"1981",
"Falcon",
"Nicola Salmoria (MAME driver)\nVille Laitinen\nDoug Jefferys (color info)\nTim Lindquist (color info)",
0,
&machine_driver,
0,
ckong_rom,
0, 0,
0,
0, /* sound_prom */
ckong_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_270,
ckong_hiload, ckong_hisave
};
struct GameDriver ckonga_driver =
{
__FILE__,
&ckong_driver,
"ckonga",
"Crazy Kong (set 2)",
"1981",
"Falcon",
"Nicola Salmoria (MAME driver)\nVille Laitinen\nDoug Jefferys (color info)\nTim Lindquist (color info)",
0,
&machine_driver,
0,
ckonga_rom,
0, 0,
0,
0, /* sound_prom */
ckong_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_270,
ckong_hiload, ckong_hisave
};
struct GameDriver ckongjeu_driver =
{
__FILE__,
&ckong_driver,
"ckongjeu",
"Crazy Kong (Jeutel bootleg)",
"1981",
"bootleg",
"Nicola Salmoria (MAME driver)\nVille Laitinen\nDoug Jefferys (color info)\nTim Lindquist (color info)",
0,
&machine_driver,
0,
ckongjeu_rom,
0, 0,
0,
0, /* sound_prom */
ckong_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_270,
ckong_hiload, ckong_hisave
};
struct GameDriver ckongalc_driver =
{
__FILE__,
&ckong_driver,
"ckongalc",
"Crazy Kong (Alca bootleg)",
"1981",
"bootleg",
"Nicola Salmoria (MAME driver)\nVille Laitinen\nDoug Jefferys (color info)\nTim Lindquist (color info)\nLee Taylor",
0,
&machine_driver,
0,
ckongalc_rom,
0, 0,
0,
0, /* sound_prom */
ckong_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_ROTATE_270,
ckong_hiload, ckong_hisave
};
struct GameDriver monkeyd_driver =
{
__FILE__,
&ckong_driver,
"monkeyd",
"Monkey Donkey",
"1981",
"bootleg",
"Nicola Salmoria (MAME driver)\nVille Laitinen\nDoug Jefferys (color info)\nTim Lindquist (color info)\nLee Taylor",
GAME_WRONG_COLORS,
&machine_driver,
0,
monkeyd_rom,
0, 0,
0,
0, /* sound_prom */
ckong_input_ports,
wrong_color_prom, 0, 0, /* wrong */
ORIENTATION_ROTATE_270,
ckong_hiload, ckong_hisave
};
struct GameDriver rpatrolb_driver =
{
__FILE__,
0,
"rpatrolb",
"River Patrol (bootleg)",
"????",
"bootleg",
"Zsolt Vasvari",
0,
&machine_driver,
0,
rpatrolb_rom,
0, 0,
0,
0, /* sound_prom */
rpatrolb_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_DEFAULT,
rpatrolb_hiload, rpatrolb_hisave
};
struct GameDriver silvland_driver =
{
__FILE__,
&rpatrolb_driver,
"silvland",
"Silver Land",
"????",
"Falcon",
"Zsolt Vasvari",
0,
&machine_driver,
0,
silvland_rom,
0, 0,
0,
0, /* sound_prom */
rpatrolb_input_ports,
PROM_MEMORY_REGION(2), 0, 0,
ORIENTATION_DEFAULT,
rpatrolb_hiload, rpatrolb_hisave
};
/***************************************************************************
Swimmer driver
***************************************************************************/
void swimmer_bgcolor_w(int offset,int data);
void swimmer_palettebank_w(int offset,int data);
void swimmer_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
void swimmer_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
void swimmer_sidepanel_enable_w(int offset,int data);
void swimmer_sh_soundlatch_w(int offset,int data)
{
soundlatch_w(offset,data);
cpu_cause_interrupt(1,0xff);
}
static struct MemoryReadAddress swimmer_readmem[] =
{
{ 0x0000, 0x7fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0x9000, 0x93ff, MRA_RAM },
{ 0x9400, 0x97ff, videoram_r }, /* mirror address (used by Swimmer) */
{ 0x9c00, 0x9fff, MRA_RAM },
{ 0xa000, 0xa000, input_port_0_r },
{ 0xa800, 0xa800, input_port_1_r },
{ 0xb000, 0xb000, input_port_2_r },
{ 0xb800, 0xb800, input_port_3_r },
{ 0xb880, 0xb880, input_port_4_r },
{ 0xc000, 0xc7ff, MRA_RAM }, /* ??? used by Guzzler */
{ 0xe000, 0xffff, MRA_ROM }, /* Guzzler only */
{ -1 } /* end of table */
};
static struct MemoryWriteAddress swimmer_writemem[] =
{
{ 0x0000, 0x7fff, MWA_ROM },
{ 0x8000, 0x87ff, MWA_RAM },
{ 0x8800, 0x88ff, cclimber_bigsprite_videoram_w, &cclimber_bsvideoram, &cclimber_bsvideoram_size },
{ 0x8900, 0x89ff, cclimber_bigsprite_videoram_w }, /* mirror for the above (Guzzler writes to both) */
{ 0x9000, 0x93ff, videoram_w, &videoram, &videoram_size },
{ 0x9400, 0x97ff, videoram_w }, /* mirror address (used by Guzzler) */
{ 0x9800, 0x981f, MWA_RAM, &cclimber_column_scroll },
{ 0x9880, 0x989f, MWA_RAM, &spriteram, &spriteram_size },
{ 0x98fc, 0x98ff, MWA_RAM, &cclimber_bigspriteram },
{ 0x9c00, 0x9fff, cclimber_colorram_w, &colorram },
{ 0xa000, 0xa000, interrupt_enable_w },
{ 0xa001, 0xa002, cclimber_flipscreen_w },
{ 0xa003, 0xa003, swimmer_sidepanel_enable_w },
{ 0xa004, 0xa004, swimmer_palettebank_w },
{ 0xa800, 0xa800, swimmer_sh_soundlatch_w },
{ 0xb800, 0xb800, swimmer_bgcolor_w }, /* river color in Swimmer */
{ 0xc000, 0xc7ff, MWA_RAM }, /* ??? used by Guzzler */
{ 0xe000, 0xffff, MWA_ROM }, /* Guzzler only */
{ -1 } /* end of table */
};
static struct MemoryReadAddress sound_readmem[] =
{
{ 0x0000, 0x0fff, MRA_ROM },
{ 0x2000, 0x23ff, MRA_RAM },
{ 0x3000, 0x3000, soundlatch_r },
{ 0x4000, 0x4001, MRA_RAM }, /* ??? */
{ -1 } /* end of table */
};
static struct MemoryWriteAddress sound_writemem[] =
{
{ 0x0000, 0x0fff, MWA_ROM },
{ 0x2000, 0x23ff, MWA_RAM },
{ 0x4000, 0x4000, MWA_RAM }, /* ??? */
{ -1 } /* end of table */
};
static struct IOWritePort sound_writeport[] =
{
{ 0x00, 0x00, AY8910_write_port_0_w },
{ 0x01, 0x01, AY8910_control_port_0_w },
{ 0x80, 0x80, AY8910_write_port_1_w },
{ 0x81, 0x81, AY8910_control_port_1_w },
{ -1 } /* end of table */
};
INPUT_PORTS_START( swimmer_input_ports )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_START /* DSW1 */
PORT_DIPNAME( 0x03, 0x00, "Lives", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x02, "5" )
PORT_BITX( 0, 0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE, 0 )
PORT_DIPNAME( 0x0c, 0x00, "Bonus Life", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "10000" )
PORT_DIPSETTING( 0x04, "20000" )
PORT_DIPSETTING( 0x08, "30000" )
PORT_DIPSETTING( 0x0c, "None" )
PORT_DIPNAME( 0x30, 0x00, "Coin A", IP_KEY_NONE )
PORT_DIPSETTING( 0x10, "2 Coins/1 Credit" )
PORT_DIPSETTING( 0x00, "1 Coin/1 Credit" )
PORT_DIPSETTING( 0x20, "1 Coin/2 Credits" )
PORT_DIPSETTING( 0x30, "1 Coin/3 Credits" )
PORT_DIPNAME( 0xc0, 0x00, "Coin B", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "1 Coin/1 Credit" )
PORT_DIPSETTING( 0x40, "1 Coin/2 Credits" )
PORT_DIPSETTING( 0x80, "1 Coin/3 Credits" )
PORT_DIPSETTING( 0xc0, "1 Coin/6 Credits" )
PORT_START /* IN3/DSW2 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
PORT_DIPNAME( 0x10, 0x10, "Cabinet", IP_KEY_NONE )
PORT_DIPSETTING( 0x10, "Upright" )
PORT_DIPSETTING( 0x00, "Cocktail" )
PORT_DIPNAME( 0x20, 0x20, "Demo Sounds", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "Off" )
PORT_DIPSETTING( 0x20, "On" )
PORT_DIPNAME( 0xc0, 0x80, "Difficulty", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "Easy" )
PORT_DIPSETTING( 0x40, "???" )
PORT_DIPSETTING( 0x80, "Normal" )
PORT_DIPSETTING( 0xc0, "Hard" )
PORT_START /* IN4 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
INPUT_PORTS_START( guzzler_input_ports )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_4WAY )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_4WAY )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_4WAY )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_4WAY )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_START /* DSW0 */
PORT_DIPNAME( 0x03, 0x00, "Lives", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x01, "4" )
PORT_DIPSETTING( 0x02, "5" )
PORT_BITX( 0, 0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "64", IP_KEY_NONE, IP_JOY_NONE, 0 )
PORT_DIPNAME( 0x0c, 0x00, "Bonus Life", IP_KEY_NONE )
PORT_DIPSETTING( 0x04, "20000 50000" )
PORT_DIPSETTING( 0x00, "30000 100000" )
PORT_DIPSETTING( 0x08, "30000" )
PORT_DIPSETTING( 0x0c, "None" )
PORT_DIPNAME( 0x30, 0x00, "Coin A", IP_KEY_NONE )
PORT_DIPSETTING( 0x10, "2 Coins/1 Credit" )
PORT_DIPSETTING( 0x00, "1 Coin/1 Credit" )
PORT_DIPSETTING( 0x20, "1 Coin/2 Credits" )
PORT_DIPSETTING( 0x30, "1 Coin/3 Credits" )
PORT_DIPNAME( 0xc0, 0x00, "Coin B", IP_KEY_NONE )
PORT_DIPSETTING( 0x00, "1 Coin/1 Credit" )
PORT_DIPSETTING( 0x40, "1 Coin/2 Credits" )
PORT_DIPSETTING( 0x80, "1 Coin/3 Credits" )
PORT_DIPSETTING( 0xc0, "1 Coin/6 Credits" )
PORT_START /* DSW1 */
PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
PORT_DIPNAME( 0x10, 0x10, "Cabinet", IP_KEY_NONE )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -