亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? exctsccr.c

?? 這個是延伸mame的在wince平臺下的游戲模擬器的代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/***************************************************************************

Exciting Soccer - (c) 1983 Alpha Denshi Co.

Supported sets:
Exciting Soccer - Alpha Denshi
Exciting Soccer (bootleg) - Kazutomi


Preliminary driver by:
Ernesto Corvi
ernesto@imagina.com

Jarek Parchanski
jpdev@friko6.onet.pl


NOTES:
The game supports Coin 2, but the dip switches used for it are the same
as Coin 1. Basically, this allowed to select an alternative coin table
based on wich Coin input was connected.

KNOWN ISSUES/TODO:
- Cocktail mode is unsupported.

***************************************************************************/

#include "driver.h"
#include "vidhrdw/generic.h"

/* from vidhrdw */
extern void exctsccr_vh_screenrefresh(struct osd_bitmap *bitmap, int full_refresh);
extern void exctsccr_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
extern void exctsccr_gfx_bank_w( int offset, int data );
extern int exctsccr_vh_start( void );
extern void exctsccr_vh_stop( void );

/* from machine */
extern unsigned char *exctsccr_mcu_ram;
extern void exctsccr_mcu_w( int offs, int data );
extern void exctsccr_mcu_control_w( int offs, int data );


void exctsccr_DAC_data_w(int offset,int data)
{
	DAC_signed_data_w(offset,data << 2);
}


/***************************************************************************

	Memory definition(s)

***************************************************************************/

static struct MemoryReadAddress readmem[] =
{
	{ 0x0000, 0x5fff, MRA_ROM },
	{ 0x6000, 0x63ff, MRA_RAM }, /* Alpha mcu (protection) */
	{ 0x7c00, 0x7fff, MRA_RAM }, /* work ram */
	{ 0x8000, 0x83ff, videoram_r },
	{ 0x8400, 0x87ff, colorram_r },
	{ 0x8800, 0x8bff, MRA_RAM }, /* ??? */
	{ 0xa000, 0xa000, input_port_0_r },
	{ 0xa040, 0xa040, input_port_1_r },
	{ 0xa080, 0xa080, input_port_3_r },
	{ 0xa0c0, 0xa0c0, input_port_2_r },
	{ -1 }	/* end of table */
};

static struct MemoryWriteAddress writemem[] =
{
	{ 0x0000, 0x5fff, MWA_ROM },
	{ 0x6000, 0x63ff, exctsccr_mcu_w, &exctsccr_mcu_ram }, /* Alpha mcu (protection) */
	{ 0x7c00, 0x7fff, MWA_RAM }, /* work ram */
	{ 0x8000, 0x83ff, videoram_w, &videoram, &videoram_size },
	{ 0x8400, 0x87ff, colorram_w, &colorram },
	{ 0x8800, 0x8bff, MWA_RAM }, /* ??? */
	{ 0xa000, 0xa000, MWA_NOP }, /* ??? */
	{ 0xa001, 0xa001, MWA_NOP }, /* ??? */
	{ 0xa002, 0xa002, exctsccr_gfx_bank_w },
	{ 0xa003, 0xa003, MWA_NOP }, /* Cocktail mode ( 0xff = flip screen, 0x00 = normal ) */
	{ 0xa006, 0xa006, exctsccr_mcu_control_w }, /* MCU control */
	{ 0xa007, 0xa007, MWA_NOP }, /* This is also MCU control, but i dont need it */
	{ 0xa040, 0xa06f, MWA_RAM, &spriteram }, /* Sprite pos */
	{ 0xa080, 0xa080, soundlatch_w },
	{ 0xa0c0, 0xa0c0, watchdog_reset_w },
	{ -1 }	/* end of table */
};

static struct MemoryReadAddress sound_readmem[] =
{
	{ 0x0000, 0x8fff, MRA_ROM },
	{ 0xa000, 0xa7ff, MRA_RAM },
	{ 0xc00d, 0xc00d, soundlatch_r },
	{ -1 }	/* end of table */
};

static struct MemoryWriteAddress sound_writemem[] =
{
	{ 0x0000, 0x8fff, MWA_ROM },
	{ 0xa000, 0xa7ff, MWA_RAM },
	{ 0xc008, 0xc009, exctsccr_DAC_data_w },
	{ 0xc00c, 0xc00c, soundlatch_w }, /* used to clear the latch */
	{ 0xc00f, 0xc00f, MWA_NOP }, /* ??? */
	{ -1 }	/* end of table */
};

static struct IOWritePort sound_writeport[] =
{
    { 0x82, 0x82, AY8910_write_port_0_w },
    { 0x83, 0x83, AY8910_control_port_0_w },
    { 0x86, 0x86, AY8910_write_port_1_w },
    { 0x87, 0x87, AY8910_control_port_1_w },
    { 0x8a, 0x8a, AY8910_write_port_2_w },
    { 0x8b, 0x8b, AY8910_control_port_2_w },
    { 0x8e, 0x8e, AY8910_write_port_3_w },
    { 0x8f, 0x8f, AY8910_control_port_3_w },
	{ -1 }	/* end of table */
};

/* Bootleg */
static struct MemoryReadAddress bl_readmem[] =
{
	{ 0x0000, 0x5fff, MRA_ROM },
	{ 0x8000, 0x83ff, videoram_r },
	{ 0x8400, 0x87ff, colorram_r },
	{ 0x8800, 0x8fff, MRA_RAM }, /* ??? */
	{ 0xa000, 0xa000, input_port_0_r },
	{ 0xa040, 0xa040, input_port_1_r },
	{ 0xa080, 0xa080, input_port_3_r },
	{ 0xa0c0, 0xa0c0, input_port_2_r },
	{ -1 }	/* end of table */
};

static struct MemoryWriteAddress bl_writemem[] =
{
	{ 0x0000, 0x5fff, MWA_ROM },
	{ 0x7000, 0x7000, AY8910_write_port_0_w },
	{ 0x7001, 0x7001, AY8910_control_port_0_w },
	{ 0x8000, 0x83ff, videoram_w, &videoram, &videoram_size },
	{ 0x8400, 0x87ff, colorram_w, &colorram },
	{ 0x8800, 0x8fff, MWA_RAM }, /* ??? */
	{ 0xa000, 0xa000, MWA_NOP }, /* ??? */
	{ 0xa001, 0xa001, MWA_NOP }, /* ??? */
	{ 0xa002, 0xa002, exctsccr_gfx_bank_w }, /* ??? */
	{ 0xa003, 0xa003, MWA_NOP }, /* Cocktail mode ( 0xff = flip screen, 0x00 = normal ) */
	{ 0xa006, 0xa006, MWA_NOP }, /* no MCU, but some leftover code still writes here */
	{ 0xa007, 0xa007, MWA_NOP }, /* no MCU, but some leftover code still writes here */
	{ 0xa040, 0xa06f, MWA_RAM, &spriteram }, /* Sprite Pos */
	{ 0xa080, 0xa080, soundlatch_w },
	{ 0xa0c0, 0xa0c0, watchdog_reset_w },
	{ -1 }	/* end of table */
};

static struct MemoryReadAddress bl_sound_readmem[] =
{
	{ 0x0000, 0x5fff, MRA_ROM },
	{ 0x6000, 0x6000, soundlatch_r },
	{ 0xe000, 0xe3ff, MRA_RAM },
	{ -1 }	/* end of table */
};

static struct MemoryWriteAddress bl_sound_writemem[] =
{
	{ 0x0000, 0x5fff, MWA_ROM },
	{ 0x8000, 0x8000, MWA_NOP }, /* 0 = DAC sound off, 1 = DAC sound on */
	{ 0xa000, 0xa000, soundlatch_w }, /* used to clear the latch */
	{ 0xc000, 0xc000, exctsccr_DAC_data_w },
	{ 0xe000, 0xe3ff, MWA_RAM },
	{ -1 }	/* end of table */
};

/***************************************************************************

	Input port(s)

***************************************************************************/

INPUT_PORTS_START( input_ports )
	PORT_START      /* IN0 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )

	PORT_START      /* IN1 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   | IPF_COCKTAIL )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_COCKTAIL )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT| IPF_COCKTAIL )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_COCKTAIL )

	PORT_START      /* IN2 */
	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

	PORT_START      /* DSW0 */
	/* The next two overlap */
	PORT_DIPNAME( 0x03, 0x03, "Coinage(Coin A)", IP_KEY_NONE )
	PORT_DIPSETTING(    0x03, "1 Coin/1 Credit" )
	PORT_DIPSETTING(    0x02, "2 Coins/1 Credit" )
	PORT_DIPSETTING(    0x01, "1 Coin/2 Credits" )
	PORT_DIPSETTING(    0x00, "1 Coin/3 Credits" )
	PORT_DIPNAME( 0x03, 0x03, "Coinage(Coin B)", IP_KEY_NONE )
	PORT_DIPSETTING(    0x03, "3 Coins/1 Credit" )
	PORT_DIPSETTING(    0x02, "2 Coins/1 Credit" )
	PORT_DIPSETTING(    0x01, "1 Coin/4 Credits" )
	PORT_DIPSETTING(    0x00, "1 Coin/6 Credits" )
	PORT_DIPNAME( 0x04, 0x00, "Demo Sounds", IP_KEY_NONE )
	PORT_DIPSETTING(    0x04, "Off" )
	PORT_DIPSETTING(    0x00, "On" )
	PORT_DIPNAME( 0x08, 0x00, "Cabinet", IP_KEY_NONE )
	PORT_DIPSETTING(    0x08, "Table" )
	PORT_DIPSETTING(    0x00, "Upright" )
	PORT_DIPNAME( 0x10, 0x10, "Difficulty", IP_KEY_NONE )
	PORT_DIPSETTING(    0x10, "Easy" )
	PORT_DIPSETTING(    0x00, "Hard" )
	PORT_DIPNAME( 0x60, 0x00, "Game Time", IP_KEY_NONE )
	PORT_DIPSETTING(    0x60, "3 Min." )
	PORT_DIPSETTING(    0x40, "4 Min." )
	PORT_DIPSETTING(    0x20, "1 Min." )
	PORT_DIPSETTING(    0x00, "2 Min." )
	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Has to be 0 */
INPUT_PORTS_END

/***************************************************************************

	Graphic(s) decoding

***************************************************************************/

static struct GfxLayout charlayout1 =
{
	8,8,	/* 8*8 characters */
	256,	/* 256 characters */
	3,		/* 3 bits per pixel */
	{ 0x4000*8+4, 0, 4 },	/* plane offset */
	{ 8*8+0, 8*8+1, 8*8+2, 8*8+3, 0, 1, 2, 3 },
	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
	16*8	/* every char takes 16 consecutive bytes */
};

static struct GfxLayout charlayout2 =
{
	8,8,	/* 8*8 characters */
	256,	/* 256 characters */
	3,		/* 3 bits per pixel */
	{ 0x2000*8, 0, 4 },	/* plane offset */
	{ 8*8+0, 8*8+1, 8*8+2, 8*8+3, 0, 1, 2, 3 },
	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
	16*8	/* every char takes 16 consecutive bytes */
};

static struct GfxLayout spritelayout1 =
{
	16,16,	    /* 16*16 sprites */
	64,	        /* 64 sprites */
	3,	        /* 3 bits per pixel */
	{ 0x4000*8+4, 0, 4 },	/* plane offset */
	{ 8*8, 8*8+1, 8*8+2, 8*8+3, 16*8+0, 16*8+1, 16*8+2, 16*8+3,
			24*8+0, 24*8+1, 24*8+2, 24*8+3, 0, 1, 2, 3  },
	{ 0 * 8, 1 * 8, 2 * 8, 3 * 8, 4 * 8, 5 * 8, 6 * 8, 7 * 8,
			32 * 8, 33 * 8, 34 * 8, 35 * 8, 36 * 8, 37 * 8, 38 * 8, 39 * 8 },
	64*8	/* every sprite takes 64 bytes */
};

static struct GfxLayout spritelayout2 =
{
	16,16,	    /* 16*16 sprites */
	64,         /* 64 sprites */
	3,	        /* 3 bits per pixel */
	{ 0x2000*8, 0, 4 },	/* plane offset */
	{ 8*8, 8*8+1, 8*8+2, 8*8+3, 16*8+0, 16*8+1, 16*8+2, 16*8+3,
			24*8+0, 24*8+1, 24*8+2, 24*8+3, 0, 1, 2, 3  },
	{ 0 * 8, 1 * 8, 2 * 8, 3 * 8, 4 * 8, 5 * 8, 6 * 8, 7 * 8,
			32 * 8, 33 * 8, 34 * 8, 35 * 8, 36 * 8, 37 * 8, 38 * 8, 39 * 8 },
	64*8	/* every sprite takes 64 bytes */
};

static struct GfxLayout spritelayout =
{
	16,16,		/* 16*16 sprites */
	64,	    	/* 64 sprites */
	3,	    	/* 2 bits per pixel */
	{ 0x1000*8+4, 0, 4 },	/* plane offset */
	{ 8*8, 8*8+1, 8*8+2, 8*8+3, 16*8+0, 16*8+1, 16*8+2, 16*8+3,
			24*8+0, 24*8+1, 24*8+2, 24*8+3, 0, 1, 2, 3  },
	{ 0 * 8, 1 * 8, 2 * 8, 3 * 8, 4 * 8, 5 * 8, 6 * 8, 7 * 8,
			32 * 8, 33 * 8, 34 * 8, 35 * 8, 36 * 8, 37 * 8, 38 * 8, 39 * 8 },
	64*8	/* every sprite takes 64 bytes */
};

static struct GfxDecodeInfo gfxdecodeinfo[] =
{
	{ 1, 0x0000, &charlayout1,      0, 32 }, /* chars */
	{ 1, 0x2000, &charlayout2,      0, 32 }, /* chars */
	{ 1, 0x1000, &spritelayout1,    16*8, 32 }, /* sprites */
	{ 1, 0x3000, &spritelayout2,    16*8, 32 }, /* sprites */
	{ 1, 0x6000, &spritelayout,    	16*8, 32 }, /* sprites */
	{ -1 } /* end of array */
};

/***************************************************************************

	Sound interface(s)

***************************************************************************/

static struct AY8910interface ay8910_interface =
{
	4,	/* 4 chips */
	1500000,	/* 1.5 MHz ? */
	{ 15, 15, 15, 15 }, /* volume */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜私人影院久久久久| 久久久精品国产99久久精品芒果 | 国产色一区二区| 激情文学综合插| 精品入口麻豆88视频| 国产剧情一区二区三区| 国产视频一区在线观看| 99久久精品国产导航| 亚洲三级在线播放| 色综合久久66| 日日夜夜免费精品视频| 精品国产一二三区| 床上的激情91.| 亚洲中国最大av网站| 日韩欧美一二三区| 成人精品小蝌蚪| 一级日本不卡的影视| 日韩欧美电影在线| 成人手机电影网| 香蕉影视欧美成人| 久久久精品tv| 欧美日韩一区精品| 国产一区二区三区免费看| 国产精品不卡一区| 欧美一区二区三区在线| 国产mv日韩mv欧美| 午夜电影久久久| 国产欧美一区二区精品婷婷| 在线看国产一区二区| 韩国午夜理伦三级不卡影院| 亚洲色欲色欲www| 日韩免费性生活视频播放| youjizz国产精品| 日本女人一区二区三区| 国产精品萝li| 日韩精品一区二区三区视频在线观看| 成人av在线资源网站| 日韩精品高清不卡| 亚洲色图制服丝袜| 久久中文字幕电影| 欧美精品视频www在线观看| 成人高清免费观看| 麻豆91在线看| 亚洲一区二区视频在线观看| 久久精品一区二区三区不卡| 欧美精品电影在线播放| 丁香啪啪综合成人亚洲小说| 热久久免费视频| 亚洲免费观看高清完整版在线| wwww国产精品欧美| 91麻豆精品国产| 在线视频观看一区| 99久久综合色| 成人黄色小视频在线观看| 麻豆一区二区三| 五月天久久比比资源色| 亚洲精品久久嫩草网站秘色| 国产免费观看久久| 精品久久久久av影院| 欧美日韩精品一区二区天天拍小说 | 麻豆免费精品视频| 亚洲高清视频中文字幕| 亚洲免费电影在线| 国产精品视频免费| 欧美激情综合五月色丁香小说| 日韩一区二区精品在线观看| 欧美麻豆精品久久久久久| 91蜜桃传媒精品久久久一区二区| 国产精品456| 国产一区二区三区免费观看| 久久成人免费日本黄色| 日本美女一区二区| 日本成人中文字幕| 日韩高清电影一区| 免费人成网站在线观看欧美高清| 香蕉久久一区二区不卡无毒影院 | 国产成人综合自拍| 国产自产v一区二区三区c| 美女性感视频久久| 麻豆精品一区二区三区| 久久99精品久久久久久动态图| 日本亚洲三级在线| 美女网站色91| 极品美女销魂一区二区三区| 蜜臀久久久久久久| 久久福利视频一区二区| 国内成人精品2018免费看| 国产一区二区精品久久91| 国产伦精品一区二区三区免费 | 国产夫妻精品视频| 国产91高潮流白浆在线麻豆| 成人午夜激情在线| 97se狠狠狠综合亚洲狠狠| 日本国产一区二区| 欧美精品久久99久久在免费线 | 日韩欧美国产成人一区二区| ww亚洲ww在线观看国产| 国产精品久久久久一区| 亚洲精品乱码久久久久久黑人| 亚洲五码中文字幕| 久久精品72免费观看| 国产suv精品一区二区883| 色噜噜狠狠色综合中国| 69久久99精品久久久久婷婷| 精品国产一区二区三区久久影院| 日本一区二区免费在线观看视频 | 欧美在线制服丝袜| 日韩亚洲欧美成人一区| 国产三级三级三级精品8ⅰ区| 亚洲欧美日韩国产一区二区三区| 亚洲国产精品久久久久婷婷884 | 欧美激情中文字幕| 亚洲黄色小说网站| 精品综合久久久久久8888| 99热这里都是精品| 欧美一个色资源| 最新国产成人在线观看| 久久精品国产亚洲一区二区三区| 丁香天五香天堂综合| 欧美日韩dvd在线观看| 国产欧美一区二区精品性| 亚洲成人黄色小说| 成人激情小说网站| 日韩午夜激情av| 最新国产精品久久精品| 久久精品国产精品亚洲红杏| 色狠狠综合天天综合综合| 欧美成人官网二区| 亚洲国产精品一区二区www| 成人性色生活片免费看爆迷你毛片| 欧美日韩综合在线免费观看| 久久久www免费人成精品| 性久久久久久久久| av电影在线观看一区| 日韩精品一区二区三区蜜臀 | 亚洲国产精品成人综合色在线婷婷| 亚洲国产精品自拍| av网站一区二区三区| 精品欧美乱码久久久久久| 亚洲综合免费观看高清完整版| 国产成人亚洲综合色影视| 91精品国产综合久久香蕉麻豆| 国产精品美女久久久久久久久久久| 伦理电影国产精品| 欧美吞精做爰啪啪高潮| 亚洲天堂网中文字| 懂色av一区二区三区免费观看| 日韩美一区二区三区| 日日夜夜免费精品| 欧美视频自拍偷拍| 亚洲综合色成人| 成人高清av在线| 久久综合999| 精品在线你懂的| 日韩免费一区二区三区在线播放| 午夜国产不卡在线观看视频| 日本韩国一区二区三区视频| 亚洲精品视频免费观看| av网站免费线看精品| 国产精品乱人伦中文| 成人激情免费网站| 国产精品日产欧美久久久久| 风间由美一区二区av101| 欧美精品一区二区蜜臀亚洲| 精品一区免费av| 亚洲精品一区二区三区四区高清 | 一区二区成人在线| 色婷婷av一区二区三区之一色屋| 国产精品国产三级国产| av资源网一区| 1区2区3区国产精品| heyzo一本久久综合| 中文乱码免费一区二区| 成人app下载| 中文字幕一区av| 91麻豆视频网站| 亚洲综合无码一区二区| 欧美三级欧美一级| 全部av―极品视觉盛宴亚洲| 欧美本精品男人aⅴ天堂| 久久99精品久久只有精品| 久久看人人爽人人| 播五月开心婷婷综合| 一区二区在线观看av| 欧美日韩免费观看一区三区| 天涯成人国产亚洲精品一区av| 在线不卡免费欧美| 久久99精品国产麻豆不卡| 亚洲国产精品激情在线观看 | 国产成人精品www牛牛影视| 亚洲国产高清在线观看视频| 99国产精品久久久久| 亚洲成av人片一区二区三区| 日韩三级视频在线看| 国产高清一区日本| 亚洲精品亚洲人成人网在线播放| 欧美精品自拍偷拍| 国产一区二区成人久久免费影院| 国产精品视频观看| 欧美日韩国产123区|